Created
August 9, 2012 14:32
-
-
Save dbushenko/3304677 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var COMPILED = false; | |
var goog = goog || {}; | |
goog.global = this; | |
goog.DEBUG = true; | |
goog.LOCALE = "en"; | |
goog.evalWorksForGlobals_ = null; | |
goog.provide = function(name) { | |
if(!COMPILED) { | |
if(goog.getObjectByName(name) && !goog.implicitNamespaces_[name]) { | |
throw Error('Namespace "' + name + '" already declared.'); | |
} | |
var namespace = name; | |
while(namespace = namespace.substring(0, namespace.lastIndexOf("."))) { | |
goog.implicitNamespaces_[namespace] = true | |
} | |
} | |
goog.exportPath_(name) | |
}; | |
goog.setTestOnly = function(opt_message) { | |
if(COMPILED && !goog.DEBUG) { | |
opt_message = opt_message || ""; | |
throw Error("Importing test-only code into non-debug environment" + opt_message ? ": " + opt_message : "."); | |
} | |
}; | |
if(!COMPILED) { | |
goog.implicitNamespaces_ = {} | |
} | |
goog.exportPath_ = function(name, opt_object, opt_objectToExportTo) { | |
var parts = name.split("."); | |
var cur = opt_objectToExportTo || goog.global; | |
if(!(parts[0] in cur) && cur.execScript) { | |
cur.execScript("var " + parts[0]) | |
} | |
for(var part;parts.length && (part = parts.shift());) { | |
if(!parts.length && goog.isDef(opt_object)) { | |
cur[part] = opt_object | |
}else { | |
if(cur[part]) { | |
cur = cur[part] | |
}else { | |
cur = cur[part] = {} | |
} | |
} | |
} | |
}; | |
goog.getObjectByName = function(name, opt_obj) { | |
var parts = name.split("."); | |
var cur = opt_obj || goog.global; | |
for(var part;part = parts.shift();) { | |
if(goog.isDefAndNotNull(cur[part])) { | |
cur = cur[part] | |
}else { | |
return null | |
} | |
} | |
return cur | |
}; | |
goog.globalize = function(obj, opt_global) { | |
var global = opt_global || goog.global; | |
for(var x in obj) { | |
global[x] = obj[x] | |
} | |
}; | |
goog.addDependency = function(relPath, provides, requires) { | |
if(!COMPILED) { | |
var provide, require; | |
var path = relPath.replace(/\\/g, "/"); | |
var deps = goog.dependencies_; | |
for(var i = 0;provide = provides[i];i++) { | |
deps.nameToPath[provide] = path; | |
if(!(path in deps.pathToNames)) { | |
deps.pathToNames[path] = {} | |
} | |
deps.pathToNames[path][provide] = true | |
} | |
for(var j = 0;require = requires[j];j++) { | |
if(!(path in deps.requires)) { | |
deps.requires[path] = {} | |
} | |
deps.requires[path][require] = true | |
} | |
} | |
}; | |
goog.require = function(rule) { | |
if(!COMPILED) { | |
if(goog.getObjectByName(rule)) { | |
return | |
} | |
var path = goog.getPathFromDeps_(rule); | |
if(path) { | |
goog.included_[path] = true; | |
goog.writeScripts_() | |
}else { | |
var errorMessage = "goog.require could not find: " + rule; | |
if(goog.global.console) { | |
goog.global.console["error"](errorMessage) | |
} | |
throw Error(errorMessage); | |
} | |
} | |
}; | |
goog.basePath = ""; | |
goog.global.CLOSURE_BASE_PATH; | |
goog.global.CLOSURE_NO_DEPS; | |
goog.global.CLOSURE_IMPORT_SCRIPT; | |
goog.nullFunction = function() { | |
}; | |
goog.identityFunction = function(var_args) { | |
return arguments[0] | |
}; | |
goog.abstractMethod = function() { | |
throw Error("unimplemented abstract method"); | |
}; | |
goog.addSingletonGetter = function(ctor) { | |
ctor.getInstance = function() { | |
return ctor.instance_ || (ctor.instance_ = new ctor) | |
} | |
}; | |
if(!COMPILED) { | |
goog.included_ = {}; | |
goog.dependencies_ = {pathToNames:{}, nameToPath:{}, requires:{}, visited:{}, written:{}}; | |
goog.inHtmlDocument_ = function() { | |
var doc = goog.global.document; | |
return typeof doc != "undefined" && "write" in doc | |
}; | |
goog.findBasePath_ = function() { | |
if(goog.global.CLOSURE_BASE_PATH) { | |
goog.basePath = goog.global.CLOSURE_BASE_PATH; | |
return | |
}else { | |
if(!goog.inHtmlDocument_()) { | |
return | |
} | |
} | |
var doc = goog.global.document; | |
var scripts = doc.getElementsByTagName("script"); | |
for(var i = scripts.length - 1;i >= 0;--i) { | |
var src = scripts[i].src; | |
var qmark = src.lastIndexOf("?"); | |
var l = qmark == -1 ? src.length : qmark; | |
if(src.substr(l - 7, 7) == "base.js") { | |
goog.basePath = src.substr(0, l - 7); | |
return | |
} | |
} | |
}; | |
goog.importScript_ = function(src) { | |
var importScript = goog.global.CLOSURE_IMPORT_SCRIPT || goog.writeScriptTag_; | |
if(!goog.dependencies_.written[src] && importScript(src)) { | |
goog.dependencies_.written[src] = true | |
} | |
}; | |
goog.writeScriptTag_ = function(src) { | |
if(goog.inHtmlDocument_()) { | |
var doc = goog.global.document; | |
doc.write('<script type="text/javascript" src="' + src + '"></' + "script>"); | |
return true | |
}else { | |
return false | |
} | |
}; | |
goog.writeScripts_ = function() { | |
var scripts = []; | |
var seenScript = {}; | |
var deps = goog.dependencies_; | |
function visitNode(path) { | |
if(path in deps.written) { | |
return | |
} | |
if(path in deps.visited) { | |
if(!(path in seenScript)) { | |
seenScript[path] = true; | |
scripts.push(path) | |
} | |
return | |
} | |
deps.visited[path] = true; | |
if(path in deps.requires) { | |
for(var requireName in deps.requires[path]) { | |
if(requireName in deps.nameToPath) { | |
visitNode(deps.nameToPath[requireName]) | |
}else { | |
if(!goog.getObjectByName(requireName)) { | |
throw Error("Undefined nameToPath for " + requireName); | |
} | |
} | |
} | |
} | |
if(!(path in seenScript)) { | |
seenScript[path] = true; | |
scripts.push(path) | |
} | |
} | |
for(var path in goog.included_) { | |
if(!deps.written[path]) { | |
visitNode(path) | |
} | |
} | |
for(var i = 0;i < scripts.length;i++) { | |
if(scripts[i]) { | |
goog.importScript_(goog.basePath + scripts[i]) | |
}else { | |
throw Error("Undefined script input"); | |
} | |
} | |
}; | |
goog.getPathFromDeps_ = function(rule) { | |
if(rule in goog.dependencies_.nameToPath) { | |
return goog.dependencies_.nameToPath[rule] | |
}else { | |
return null | |
} | |
}; | |
goog.findBasePath_(); | |
if(!goog.global.CLOSURE_NO_DEPS) { | |
goog.importScript_(goog.basePath + "deps.js") | |
} | |
} | |
goog.typeOf = function(value) { | |
var s = typeof value; | |
if(s == "object") { | |
if(value) { | |
if(value instanceof Array) { | |
return"array" | |
}else { | |
if(value instanceof Object) { | |
return s | |
} | |
} | |
var className = Object.prototype.toString.call(value); | |
if(className == "[object Window]") { | |
return"object" | |
} | |
if(className == "[object Array]" || typeof value.length == "number" && typeof value.splice != "undefined" && typeof value.propertyIsEnumerable != "undefined" && !value.propertyIsEnumerable("splice")) { | |
return"array" | |
} | |
if(className == "[object Function]" || typeof value.call != "undefined" && typeof value.propertyIsEnumerable != "undefined" && !value.propertyIsEnumerable("call")) { | |
return"function" | |
} | |
}else { | |
return"null" | |
} | |
}else { | |
if(s == "function" && typeof value.call == "undefined") { | |
return"object" | |
} | |
} | |
return s | |
}; | |
goog.propertyIsEnumerableCustom_ = function(object, propName) { | |
if(propName in object) { | |
for(var key in object) { | |
if(key == propName && Object.prototype.hasOwnProperty.call(object, propName)) { | |
return true | |
} | |
} | |
} | |
return false | |
}; | |
goog.propertyIsEnumerable_ = function(object, propName) { | |
if(object instanceof Object) { | |
return Object.prototype.propertyIsEnumerable.call(object, propName) | |
}else { | |
return goog.propertyIsEnumerableCustom_(object, propName) | |
} | |
}; | |
goog.isDef = function(val) { | |
return val !== undefined | |
}; | |
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.isString = function(val) { | |
return typeof val == "string" | |
}; | |
goog.isBoolean = function(val) { | |
return typeof val == "boolean" | |
}; | |
goog.isNumber = function(val) { | |
return typeof val == "number" | |
}; | |
goog.isFunction = function(val) { | |
return goog.typeOf(val) == "function" | |
}; | |
goog.isObject = function(val) { | |
var type = goog.typeOf(val); | |
return type == "object" || type == "array" || type == "function" | |
}; | |
goog.getUid = function(obj) { | |
return obj[goog.UID_PROPERTY_] || (obj[goog.UID_PROPERTY_] = ++goog.uidCounter_) | |
}; | |
goog.removeUid = function(obj) { | |
if("removeAttribute" in obj) { | |
obj.removeAttribute(goog.UID_PROPERTY_) | |
} | |
try { | |
delete obj[goog.UID_PROPERTY_] | |
}catch(ex) { | |
} | |
}; | |
goog.UID_PROPERTY_ = "closure_uid_" + Math.floor(Math.random() * 2147483648).toString(36); | |
goog.uidCounter_ = 0; | |
goog.getHashCode = goog.getUid; | |
goog.removeHashCode = goog.removeUid; | |
goog.cloneObject = function(obj) { | |
var type = goog.typeOf(obj); | |
if(type == "object" || type == "array") { | |
if(obj.clone) { | |
return obj.clone() | |
} | |
var clone = type == "array" ? [] : {}; | |
for(var key in obj) { | |
clone[key] = goog.cloneObject(obj[key]) | |
} | |
return clone | |
} | |
return obj | |
}; | |
Object.prototype.clone; | |
goog.bindNative_ = function(fn, selfObj, var_args) { | |
return fn.call.apply(fn.bind, arguments) | |
}; | |
goog.bindJs_ = function(fn, selfObj, var_args) { | |
var context = selfObj || goog.global; | |
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(context, newArgs) | |
} | |
}else { | |
return function() { | |
return fn.apply(context, 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 = Array.prototype.slice.call(arguments); | |
newArgs.unshift.apply(newArgs, args); | |
return fn.apply(this, newArgs) | |
} | |
}; | |
goog.mixin = function(target, source) { | |
for(var x in source) { | |
target[x] = source[x] | |
} | |
}; | |
goog.now = Date.now || function() { | |
return+new Date | |
}; | |
goog.globalEval = function(script) { | |
if(goog.global.execScript) { | |
goog.global.execScript(script, "JavaScript") | |
}else { | |
if(goog.global.eval) { | |
if(goog.evalWorksForGlobals_ == null) { | |
goog.global.eval("var _et_ = 1;"); | |
if(typeof goog.global["_et_"] != "undefined") { | |
delete goog.global["_et_"]; | |
goog.evalWorksForGlobals_ = true | |
}else { | |
goog.evalWorksForGlobals_ = false | |
} | |
} | |
if(goog.evalWorksForGlobals_) { | |
goog.global.eval(script) | |
}else { | |
var doc = goog.global.document; | |
var scriptElt = doc.createElement("script"); | |
scriptElt.type = "text/javascript"; | |
scriptElt.defer = false; | |
scriptElt.appendChild(doc.createTextNode(script)); | |
doc.body.appendChild(scriptElt); | |
doc.body.removeChild(scriptElt) | |
} | |
}else { | |
throw Error("goog.globalEval not available"); | |
} | |
} | |
}; | |
goog.cssNameMapping_; | |
goog.cssNameMappingStyle_; | |
goog.getCssName = function(className, opt_modifier) { | |
var getMapping = function(cssName) { | |
return goog.cssNameMapping_[cssName] || cssName | |
}; | |
var renameByParts = function(cssName) { | |
var parts = cssName.split("-"); | |
var mapped = []; | |
for(var i = 0;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 | |
} | |
} | |
if(opt_modifier) { | |
return className + "-" + rename(opt_modifier) | |
}else { | |
return rename(className) | |
} | |
}; | |
goog.setCssNameMapping = function(mapping, style) { | |
goog.cssNameMapping_ = mapping; | |
goog.cssNameMappingStyle_ = style | |
}; | |
goog.getMsg = function(str, opt_values) { | |
var values = opt_values || {}; | |
for(var key in values) { | |
var value = ("" + values[key]).replace(/\$/g, "$$$$"); | |
str = str.replace(new RegExp("\\{\\$" + key + "\\}", "gi"), value) | |
} | |
return str | |
}; | |
goog.exportSymbol = function(publicPath, object, opt_objectToExportTo) { | |
goog.exportPath_(publicPath, object, opt_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 | |
}; | |
goog.base = function(me, opt_methodName, var_args) { | |
var caller = arguments.callee.caller; | |
if(caller.superClass_) { | |
return caller.superClass_.constructor.apply(me, Array.prototype.slice.call(arguments, 1)) | |
} | |
var args = Array.prototype.slice.call(arguments, 2); | |
var foundCaller = false; | |
for(var ctor = me.constructor;ctor;ctor = ctor.superClass_ && ctor.superClass_.constructor) { | |
if(ctor.prototype[opt_methodName] === caller) { | |
foundCaller = true | |
}else { | |
if(foundCaller) { | |
return ctor.prototype[opt_methodName].apply(me, args) | |
} | |
} | |
} | |
if(me[opt_methodName] === caller) { | |
return me.constructor.prototype[opt_methodName].apply(me, args) | |
}else { | |
throw Error("goog.base called from a method of one name " + "to a method of a different name"); | |
} | |
}; | |
goog.scope = function(fn) { | |
fn.call(goog.global) | |
}; | |
goog.provide("goog.string"); | |
goog.provide("goog.string.Unicode"); | |
goog.string.Unicode = {NBSP:"\u00a0"}; | |
goog.string.startsWith = function(str, prefix) { | |
return str.lastIndexOf(prefix, 0) == 0 | |
}; | |
goog.string.endsWith = function(str, suffix) { | |
var l = str.length - suffix.length; | |
return l >= 0 && str.indexOf(suffix, l) == l | |
}; | |
goog.string.caseInsensitiveStartsWith = function(str, prefix) { | |
return goog.string.caseInsensitiveCompare(prefix, str.substr(0, prefix.length)) == 0 | |
}; | |
goog.string.caseInsensitiveEndsWith = function(str, suffix) { | |
return goog.string.caseInsensitiveCompare(suffix, str.substr(str.length - suffix.length, suffix.length)) == 0 | |
}; | |
goog.string.subs = function(str, var_args) { | |
for(var i = 1;i < arguments.length;i++) { | |
var replacement = String(arguments[i]).replace(/\$/g, "$$$$"); | |
str = str.replace(/\%s/, replacement) | |
} | |
return str | |
}; | |
goog.string.collapseWhitespace = function(str) { | |
return str.replace(/[\s\xa0]+/g, " ").replace(/^\s+|\s+$/g, "") | |
}; | |
goog.string.isEmpty = function(str) { | |
return/^[\s\xa0]*$/.test(str) | |
}; | |
goog.string.isEmptySafe = function(str) { | |
return goog.string.isEmpty(goog.string.makeSafe(str)) | |
}; | |
goog.string.isBreakingWhitespace = function(str) { | |
return!/[^\t\n\r ]/.test(str) | |
}; | |
goog.string.isAlpha = function(str) { | |
return!/[^a-zA-Z]/.test(str) | |
}; | |
goog.string.isNumeric = function(str) { | |
return!/[^0-9]/.test(str) | |
}; | |
goog.string.isAlphaNumeric = function(str) { | |
return!/[^a-zA-Z0-9]/.test(str) | |
}; | |
goog.string.isSpace = function(ch) { | |
return ch == " " | |
}; | |
goog.string.isUnicodeChar = function(ch) { | |
return ch.length == 1 && ch >= " " && ch <= "~" || ch >= "\u0080" && ch <= "\ufffd" | |
}; | |
goog.string.stripNewlines = function(str) { | |
return str.replace(/(\r\n|\r|\n)+/g, " ") | |
}; | |
goog.string.canonicalizeNewlines = function(str) { | |
return str.replace(/(\r\n|\r|\n)/g, "\n") | |
}; | |
goog.string.normalizeWhitespace = function(str) { | |
return str.replace(/\xa0|\s/g, " ") | |
}; | |
goog.string.normalizeSpaces = function(str) { | |
return str.replace(/\xa0|[ \t]+/g, " ") | |
}; | |
goog.string.trim = function(str) { | |
return str.replace(/^[\s\xa0]+|[\s\xa0]+$/g, "") | |
}; | |
goog.string.trimLeft = function(str) { | |
return str.replace(/^[\s\xa0]+/, "") | |
}; | |
goog.string.trimRight = function(str) { | |
return str.replace(/[\s\xa0]+$/, "") | |
}; | |
goog.string.caseInsensitiveCompare = function(str1, str2) { | |
var test1 = String(str1).toLowerCase(); | |
var test2 = String(str2).toLowerCase(); | |
if(test1 < test2) { | |
return-1 | |
}else { | |
if(test1 == test2) { | |
return 0 | |
}else { | |
return 1 | |
} | |
} | |
}; | |
goog.string.numerateCompareRegExp_ = /(\.\d+)|(\d+)|(\D+)/g; | |
goog.string.numerateCompare = function(str1, str2) { | |
if(str1 == str2) { | |
return 0 | |
} | |
if(!str1) { | |
return-1 | |
} | |
if(!str2) { | |
return 1 | |
} | |
var tokens1 = str1.toLowerCase().match(goog.string.numerateCompareRegExp_); | |
var tokens2 = str2.toLowerCase().match(goog.string.numerateCompareRegExp_); | |
var count = Math.min(tokens1.length, tokens2.length); | |
for(var i = 0;i < count;i++) { | |
var a = tokens1[i]; | |
var b = tokens2[i]; | |
if(a != b) { | |
var num1 = parseInt(a, 10); | |
if(!isNaN(num1)) { | |
var num2 = parseInt(b, 10); | |
if(!isNaN(num2) && num1 - num2) { | |
return num1 - num2 | |
} | |
} | |
return a < b ? -1 : 1 | |
} | |
} | |
if(tokens1.length != tokens2.length) { | |
return tokens1.length - tokens2.length | |
} | |
return str1 < str2 ? -1 : 1 | |
}; | |
goog.string.encodeUriRegExp_ = /^[a-zA-Z0-9\-_.!~*'()]*$/; | |
goog.string.urlEncode = function(str) { | |
str = String(str); | |
if(!goog.string.encodeUriRegExp_.test(str)) { | |
return encodeURIComponent(str) | |
} | |
return str | |
}; | |
goog.string.urlDecode = function(str) { | |
return decodeURIComponent(str.replace(/\+/g, " ")) | |
}; | |
goog.string.newLineToBr = function(str, opt_xml) { | |
return str.replace(/(\r\n|\r|\n)/g, opt_xml ? "<br />" : "<br>") | |
}; | |
goog.string.htmlEscape = function(str, opt_isLikelyToContainHtmlChars) { | |
if(opt_isLikelyToContainHtmlChars) { | |
return str.replace(goog.string.amperRe_, "&").replace(goog.string.ltRe_, "<").replace(goog.string.gtRe_, ">").replace(goog.string.quotRe_, """) | |
}else { | |
if(!goog.string.allRe_.test(str)) { | |
return str | |
} | |
if(str.indexOf("&") != -1) { | |
str = str.replace(goog.string.amperRe_, "&") | |
} | |
if(str.indexOf("<") != -1) { | |
str = str.replace(goog.string.ltRe_, "<") | |
} | |
if(str.indexOf(">") != -1) { | |
str = str.replace(goog.string.gtRe_, ">") | |
} | |
if(str.indexOf('"') != -1) { | |
str = str.replace(goog.string.quotRe_, """) | |
} | |
return str | |
} | |
}; | |
goog.string.amperRe_ = /&/g; | |
goog.string.ltRe_ = /</g; | |
goog.string.gtRe_ = />/g; | |
goog.string.quotRe_ = /\"/g; | |
goog.string.allRe_ = /[&<>\"]/; | |
goog.string.unescapeEntities = function(str) { | |
if(goog.string.contains(str, "&")) { | |
if("document" in goog.global && !goog.string.contains(str, "<")) { | |
return goog.string.unescapeEntitiesUsingDom_(str) | |
}else { | |
return goog.string.unescapePureXmlEntities_(str) | |
} | |
} | |
return str | |
}; | |
goog.string.unescapeEntitiesUsingDom_ = function(str) { | |
var el = goog.global["document"]["createElement"]("div"); | |
el["innerHTML"] = "<pre>x" + str + "</pre>"; | |
if(el["firstChild"][goog.string.NORMALIZE_FN_]) { | |
el["firstChild"][goog.string.NORMALIZE_FN_]() | |
} | |
str = el["firstChild"]["firstChild"]["nodeValue"].slice(1); | |
el["innerHTML"] = ""; | |
return goog.string.canonicalizeNewlines(str) | |
}; | |
goog.string.unescapePureXmlEntities_ = function(str) { | |
return str.replace(/&([^;]+);/g, function(s, entity) { | |
switch(entity) { | |
case "amp": | |
return"&"; | |
case "lt": | |
return"<"; | |
case "gt": | |
return">"; | |
case "quot": | |
return'"'; | |
default: | |
if(entity.charAt(0) == "#") { | |
var n = Number("0" + entity.substr(1)); | |
if(!isNaN(n)) { | |
return String.fromCharCode(n) | |
} | |
} | |
return s | |
} | |
}) | |
}; | |
goog.string.NORMALIZE_FN_ = "normalize"; | |
goog.string.whitespaceEscape = function(str, opt_xml) { | |
return goog.string.newLineToBr(str.replace(/ /g, "  "), opt_xml) | |
}; | |
goog.string.stripQuotes = function(str, quoteChars) { | |
var length = quoteChars.length; | |
for(var i = 0;i < length;i++) { | |
var quoteChar = length == 1 ? quoteChars : quoteChars.charAt(i); | |
if(str.charAt(0) == quoteChar && str.charAt(str.length - 1) == quoteChar) { | |
return str.substring(1, str.length - 1) | |
} | |
} | |
return str | |
}; | |
goog.string.truncate = function(str, chars, opt_protectEscapedCharacters) { | |
if(opt_protectEscapedCharacters) { | |
str = goog.string.unescapeEntities(str) | |
} | |
if(str.length > chars) { | |
str = str.substring(0, chars - 3) + "..." | |
} | |
if(opt_protectEscapedCharacters) { | |
str = goog.string.htmlEscape(str) | |
} | |
return str | |
}; | |
goog.string.truncateMiddle = function(str, chars, opt_protectEscapedCharacters, opt_trailingChars) { | |
if(opt_protectEscapedCharacters) { | |
str = goog.string.unescapeEntities(str) | |
} | |
if(opt_trailingChars) { | |
if(opt_trailingChars > chars) { | |
opt_trailingChars = chars | |
} | |
var endPoint = str.length - opt_trailingChars; | |
var startPoint = chars - opt_trailingChars; | |
str = str.substring(0, startPoint) + "..." + str.substring(endPoint) | |
}else { | |
if(str.length > chars) { | |
var half = Math.floor(chars / 2); | |
var endPos = str.length - half; | |
half += chars % 2; | |
str = str.substring(0, half) + "..." + str.substring(endPos) | |
} | |
} | |
if(opt_protectEscapedCharacters) { | |
str = goog.string.htmlEscape(str) | |
} | |
return str | |
}; | |
goog.string.specialEscapeChars_ = {"\x00":"\\0", "\u0008":"\\b", "\u000c":"\\f", "\n":"\\n", "\r":"\\r", "\t":"\\t", "\x0B":"\\x0B", '"':'\\"', "\\":"\\\\"}; | |
goog.string.jsEscapeCache_ = {"'":"\\'"}; | |
goog.string.quote = function(s) { | |
s = String(s); | |
if(s.quote) { | |
return s.quote() | |
}else { | |
var sb = ['"']; | |
for(var i = 0;i < s.length;i++) { | |
var ch = s.charAt(i); | |
var cc = ch.charCodeAt(0); | |
sb[i + 1] = goog.string.specialEscapeChars_[ch] || (cc > 31 && cc < 127 ? ch : goog.string.escapeChar(ch)) | |
} | |
sb.push('"'); | |
return sb.join("") | |
} | |
}; | |
goog.string.escapeString = function(str) { | |
var sb = []; | |
for(var i = 0;i < str.length;i++) { | |
sb[i] = goog.string.escapeChar(str.charAt(i)) | |
} | |
return sb.join("") | |
}; | |
goog.string.escapeChar = function(c) { | |
if(c in goog.string.jsEscapeCache_) { | |
return goog.string.jsEscapeCache_[c] | |
} | |
if(c in goog.string.specialEscapeChars_) { | |
return goog.string.jsEscapeCache_[c] = goog.string.specialEscapeChars_[c] | |
} | |
var rv = c; | |
var cc = c.charCodeAt(0); | |
if(cc > 31 && cc < 127) { | |
rv = c | |
}else { | |
if(cc < 256) { | |
rv = "\\x"; | |
if(cc < 16 || cc > 256) { | |
rv += "0" | |
} | |
}else { | |
rv = "\\u"; | |
if(cc < 4096) { | |
rv += "0" | |
} | |
} | |
rv += cc.toString(16).toUpperCase() | |
} | |
return goog.string.jsEscapeCache_[c] = rv | |
}; | |
goog.string.toMap = function(s) { | |
var rv = {}; | |
for(var i = 0;i < s.length;i++) { | |
rv[s.charAt(i)] = true | |
} | |
return rv | |
}; | |
goog.string.contains = function(s, ss) { | |
return s.indexOf(ss) != -1 | |
}; | |
goog.string.removeAt = function(s, index, stringLength) { | |
var resultStr = s; | |
if(index >= 0 && index < s.length && stringLength > 0) { | |
resultStr = s.substr(0, index) + s.substr(index + stringLength, s.length - index - stringLength) | |
} | |
return resultStr | |
}; | |
goog.string.remove = function(s, ss) { | |
var re = new RegExp(goog.string.regExpEscape(ss), ""); | |
return s.replace(re, "") | |
}; | |
goog.string.removeAll = function(s, ss) { | |
var re = new RegExp(goog.string.regExpEscape(ss), "g"); | |
return s.replace(re, "") | |
}; | |
goog.string.regExpEscape = function(s) { | |
return String(s).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g, "\\$1").replace(/\x08/g, "\\x08") | |
}; | |
goog.string.repeat = function(string, length) { | |
return(new Array(length + 1)).join(string) | |
}; | |
goog.string.padNumber = function(num, length, opt_precision) { | |
var s = goog.isDef(opt_precision) ? num.toFixed(opt_precision) : String(num); | |
var index = s.indexOf("."); | |
if(index == -1) { | |
index = s.length | |
} | |
return goog.string.repeat("0", Math.max(0, length - index)) + s | |
}; | |
goog.string.makeSafe = function(obj) { | |
return obj == null ? "" : String(obj) | |
}; | |
goog.string.buildString = function(var_args) { | |
return Array.prototype.join.call(arguments, "") | |
}; | |
goog.string.getRandomString = function() { | |
var x = 2147483648; | |
return Math.floor(Math.random() * x).toString(36) + Math.abs(Math.floor(Math.random() * x) ^ goog.now()).toString(36) | |
}; | |
goog.string.compareVersions = function(version1, version2) { | |
var order = 0; | |
var v1Subs = goog.string.trim(String(version1)).split("."); | |
var v2Subs = goog.string.trim(String(version2)).split("."); | |
var subCount = Math.max(v1Subs.length, v2Subs.length); | |
for(var subIdx = 0;order == 0 && subIdx < subCount;subIdx++) { | |
var v1Sub = v1Subs[subIdx] || ""; | |
var v2Sub = v2Subs[subIdx] || ""; | |
var v1CompParser = new RegExp("(\\d*)(\\D*)", "g"); | |
var v2CompParser = new RegExp("(\\d*)(\\D*)", "g"); | |
do { | |
var v1Comp = v1CompParser.exec(v1Sub) || ["", "", ""]; | |
var v2Comp = v2CompParser.exec(v2Sub) || ["", "", ""]; | |
if(v1Comp[0].length == 0 && v2Comp[0].length == 0) { | |
break | |
} | |
var v1CompNum = v1Comp[1].length == 0 ? 0 : parseInt(v1Comp[1], 10); | |
var v2CompNum = v2Comp[1].length == 0 ? 0 : parseInt(v2Comp[1], 10); | |
order = goog.string.compareElements_(v1CompNum, v2CompNum) || goog.string.compareElements_(v1Comp[2].length == 0, v2Comp[2].length == 0) || goog.string.compareElements_(v1Comp[2], v2Comp[2]) | |
}while(order == 0) | |
} | |
return order | |
}; | |
goog.string.compareElements_ = function(left, right) { | |
if(left < right) { | |
return-1 | |
}else { | |
if(left > right) { | |
return 1 | |
} | |
} | |
return 0 | |
}; | |
goog.string.HASHCODE_MAX_ = 4294967296; | |
goog.string.hashCode = function(str) { | |
var result = 0; | |
for(var i = 0;i < str.length;++i) { | |
result = 31 * result + str.charCodeAt(i); | |
result %= goog.string.HASHCODE_MAX_ | |
} | |
return result | |
}; | |
goog.string.uniqueStringCounter_ = Math.random() * 2147483648 | 0; | |
goog.string.createUniqueString = function() { | |
return"goog_" + goog.string.uniqueStringCounter_++ | |
}; | |
goog.string.toNumber = function(str) { | |
var num = Number(str); | |
if(num == 0 && goog.string.isEmpty(str)) { | |
return NaN | |
} | |
return num | |
}; | |
goog.string.toCamelCaseCache_ = {}; | |
goog.string.toCamelCase = function(str) { | |
return goog.string.toCamelCaseCache_[str] || (goog.string.toCamelCaseCache_[str] = String(str).replace(/\-([a-z])/g, function(all, match) { | |
return match.toUpperCase() | |
})) | |
}; | |
goog.string.toSelectorCaseCache_ = {}; | |
goog.string.toSelectorCase = function(str) { | |
return goog.string.toSelectorCaseCache_[str] || (goog.string.toSelectorCaseCache_[str] = String(str).replace(/([A-Z])/g, "-$1").toLowerCase()) | |
}; | |
goog.provide("goog.debug.Error"); | |
goog.debug.Error = function(opt_msg) { | |
this.stack = (new Error).stack || ""; | |
if(opt_msg) { | |
this.message = String(opt_msg) | |
} | |
}; | |
goog.inherits(goog.debug.Error, Error); | |
goog.debug.Error.prototype.name = "CustomError"; | |
goog.provide("goog.asserts"); | |
goog.provide("goog.asserts.AssertionError"); | |
goog.require("goog.debug.Error"); | |
goog.require("goog.string"); | |
goog.asserts.ENABLE_ASSERTS = goog.DEBUG; | |
goog.asserts.AssertionError = function(messagePattern, messageArgs) { | |
messageArgs.unshift(messagePattern); | |
goog.debug.Error.call(this, goog.string.subs.apply(null, messageArgs)); | |
messageArgs.shift(); | |
this.messagePattern = messagePattern | |
}; | |
goog.inherits(goog.asserts.AssertionError, goog.debug.Error); | |
goog.asserts.AssertionError.prototype.name = "AssertionError"; | |
goog.asserts.doAssertFailure_ = function(defaultMessage, defaultArgs, givenMessage, givenArgs) { | |
var message = "Assertion failed"; | |
if(givenMessage) { | |
message += ": " + givenMessage; | |
var args = givenArgs | |
}else { | |
if(defaultMessage) { | |
message += ": " + defaultMessage; | |
args = defaultArgs | |
} | |
} | |
throw new goog.asserts.AssertionError("" + message, args || []); | |
}; | |
goog.asserts.assert = function(condition, opt_message, var_args) { | |
if(goog.asserts.ENABLE_ASSERTS && !condition) { | |
goog.asserts.doAssertFailure_("", null, opt_message, Array.prototype.slice.call(arguments, 2)) | |
} | |
return condition | |
}; | |
goog.asserts.fail = function(opt_message, var_args) { | |
if(goog.asserts.ENABLE_ASSERTS) { | |
throw new goog.asserts.AssertionError("Failure" + (opt_message ? ": " + opt_message : ""), Array.prototype.slice.call(arguments, 1)); | |
} | |
}; | |
goog.asserts.assertNumber = function(value, opt_message, var_args) { | |
if(goog.asserts.ENABLE_ASSERTS && !goog.isNumber(value)) { | |
goog.asserts.doAssertFailure_("Expected number but got %s: %s.", [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2)) | |
} | |
return value | |
}; | |
goog.asserts.assertString = function(value, opt_message, var_args) { | |
if(goog.asserts.ENABLE_ASSERTS && !goog.isString(value)) { | |
goog.asserts.doAssertFailure_("Expected string but got %s: %s.", [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2)) | |
} | |
return value | |
}; | |
goog.asserts.assertFunction = function(value, opt_message, var_args) { | |
if(goog.asserts.ENABLE_ASSERTS && !goog.isFunction(value)) { | |
goog.asserts.doAssertFailure_("Expected function but got %s: %s.", [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2)) | |
} | |
return value | |
}; | |
goog.asserts.assertObject = function(value, opt_message, var_args) { | |
if(goog.asserts.ENABLE_ASSERTS && !goog.isObject(value)) { | |
goog.asserts.doAssertFailure_("Expected object but got %s: %s.", [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2)) | |
} | |
return value | |
}; | |
goog.asserts.assertArray = function(value, opt_message, var_args) { | |
if(goog.asserts.ENABLE_ASSERTS && !goog.isArray(value)) { | |
goog.asserts.doAssertFailure_("Expected array but got %s: %s.", [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2)) | |
} | |
return value | |
}; | |
goog.asserts.assertBoolean = function(value, opt_message, var_args) { | |
if(goog.asserts.ENABLE_ASSERTS && !goog.isBoolean(value)) { | |
goog.asserts.doAssertFailure_("Expected boolean but got %s: %s.", [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2)) | |
} | |
return value | |
}; | |
goog.asserts.assertInstanceof = function(value, type, opt_message, var_args) { | |
if(goog.asserts.ENABLE_ASSERTS && !(value instanceof type)) { | |
goog.asserts.doAssertFailure_("instanceof check failed.", null, opt_message, Array.prototype.slice.call(arguments, 3)) | |
} | |
}; | |
goog.provide("goog.array"); | |
goog.provide("goog.array.ArrayLike"); | |
goog.require("goog.asserts"); | |
goog.NATIVE_ARRAY_PROTOTYPES = true; | |
goog.array.ArrayLike; | |
goog.array.peek = function(array) { | |
return array[array.length - 1] | |
}; | |
goog.array.ARRAY_PROTOTYPE_ = Array.prototype; | |
goog.array.indexOf = goog.NATIVE_ARRAY_PROTOTYPES && goog.array.ARRAY_PROTOTYPE_.indexOf ? function(arr, obj, opt_fromIndex) { | |
goog.asserts.assert(arr.length != null); | |
return goog.array.ARRAY_PROTOTYPE_.indexOf.call(arr, obj, opt_fromIndex) | |
} : function(arr, obj, opt_fromIndex) { | |
var fromIndex = opt_fromIndex == null ? 0 : opt_fromIndex < 0 ? Math.max(0, arr.length + opt_fromIndex) : opt_fromIndex; | |
if(goog.isString(arr)) { | |
if(!goog.isString(obj) || obj.length != 1) { | |
return-1 | |
} | |
return arr.indexOf(obj, fromIndex) | |
} | |
for(var i = fromIndex;i < arr.length;i++) { | |
if(i in arr && arr[i] === obj) { | |
return i | |
} | |
} | |
return-1 | |
}; | |
goog.array.lastIndexOf = goog.NATIVE_ARRAY_PROTOTYPES && goog.array.ARRAY_PROTOTYPE_.lastIndexOf ? function(arr, obj, opt_fromIndex) { | |
goog.asserts.assert(arr.length != null); | |
var fromIndex = opt_fromIndex == null ? arr.length - 1 : opt_fromIndex; | |
return goog.array.ARRAY_PROTOTYPE_.lastIndexOf.call(arr, obj, fromIndex) | |
} : function(arr, obj, opt_fromIndex) { | |
var fromIndex = opt_fromIndex == null ? arr.length - 1 : opt_fromIndex; | |
if(fromIndex < 0) { | |
fromIndex = Math.max(0, arr.length + fromIndex) | |
} | |
if(goog.isString(arr)) { | |
if(!goog.isString(obj) || obj.length != 1) { | |
return-1 | |
} | |
return arr.lastIndexOf(obj, fromIndex) | |
} | |
for(var i = fromIndex;i >= 0;i--) { | |
if(i in arr && arr[i] === obj) { | |
return i | |
} | |
} | |
return-1 | |
}; | |
goog.array.forEach = goog.NATIVE_ARRAY_PROTOTYPES && goog.array.ARRAY_PROTOTYPE_.forEach ? function(arr, f, opt_obj) { | |
goog.asserts.assert(arr.length != null); | |
goog.array.ARRAY_PROTOTYPE_.forEach.call(arr, f, opt_obj) | |
} : function(arr, f, opt_obj) { | |
var l = arr.length; | |
var arr2 = goog.isString(arr) ? arr.split("") : arr; | |
for(var i = 0;i < l;i++) { | |
if(i in arr2) { | |
f.call(opt_obj, arr2[i], i, arr) | |
} | |
} | |
}; | |
goog.array.forEachRight = function(arr, f, opt_obj) { | |
var l = arr.length; | |
var arr2 = goog.isString(arr) ? arr.split("") : arr; | |
for(var i = l - 1;i >= 0;--i) { | |
if(i in arr2) { | |
f.call(opt_obj, arr2[i], i, arr) | |
} | |
} | |
}; | |
goog.array.filter = goog.NATIVE_ARRAY_PROTOTYPES && goog.array.ARRAY_PROTOTYPE_.filter ? function(arr, f, opt_obj) { | |
goog.asserts.assert(arr.length != null); | |
return goog.array.ARRAY_PROTOTYPE_.filter.call(arr, f, opt_obj) | |
} : function(arr, f, opt_obj) { | |
var l = arr.length; | |
var res = []; | |
var resLength = 0; | |
var arr2 = goog.isString(arr) ? arr.split("") : arr; | |
for(var i = 0;i < l;i++) { | |
if(i in arr2) { | |
var val = arr2[i]; | |
if(f.call(opt_obj, val, i, arr)) { | |
res[resLength++] = val | |
} | |
} | |
} | |
return res | |
}; | |
goog.array.map = goog.NATIVE_ARRAY_PROTOTYPES && goog.array.ARRAY_PROTOTYPE_.map ? function(arr, f, opt_obj) { | |
goog.asserts.assert(arr.length != null); | |
return goog.array.ARRAY_PROTOTYPE_.map.call(arr, f, opt_obj) | |
} : function(arr, f, opt_obj) { | |
var l = arr.length; | |
var res = new Array(l); | |
var arr2 = goog.isString(arr) ? arr.split("") : arr; | |
for(var i = 0;i < l;i++) { | |
if(i in arr2) { | |
res[i] = f.call(opt_obj, arr2[i], i, arr) | |
} | |
} | |
return res | |
}; | |
goog.array.reduce = function(arr, f, val, opt_obj) { | |
if(arr.reduce) { | |
if(opt_obj) { | |
return arr.reduce(goog.bind(f, opt_obj), val) | |
}else { | |
return arr.reduce(f, val) | |
} | |
} | |
var rval = val; | |
goog.array.forEach(arr, function(val, index) { | |
rval = f.call(opt_obj, rval, val, index, arr) | |
}); | |
return rval | |
}; | |
goog.array.reduceRight = function(arr, f, val, opt_obj) { | |
if(arr.reduceRight) { | |
if(opt_obj) { | |
return arr.reduceRight(goog.bind(f, opt_obj), val) | |
}else { | |
return arr.reduceRight(f, val) | |
} | |
} | |
var rval = val; | |
goog.array.forEachRight(arr, function(val, index) { | |
rval = f.call(opt_obj, rval, val, index, arr) | |
}); | |
return rval | |
}; | |
goog.array.some = goog.NATIVE_ARRAY_PROTOTYPES && goog.array.ARRAY_PROTOTYPE_.some ? function(arr, f, opt_obj) { | |
goog.asserts.assert(arr.length != null); | |
return goog.array.ARRAY_PROTOTYPE_.some.call(arr, f, opt_obj) | |
} : function(arr, f, opt_obj) { | |
var l = arr.length; | |
var arr2 = goog.isString(arr) ? arr.split("") : arr; | |
for(var i = 0;i < l;i++) { | |
if(i in arr2 && f.call(opt_obj, arr2[i], i, arr)) { | |
return true | |
} | |
} | |
return false | |
}; | |
goog.array.every = goog.NATIVE_ARRAY_PROTOTYPES && goog.array.ARRAY_PROTOTYPE_.every ? function(arr, f, opt_obj) { | |
goog.asserts.assert(arr.length != null); | |
return goog.array.ARRAY_PROTOTYPE_.every.call(arr, f, opt_obj) | |
} : function(arr, f, opt_obj) { | |
var l = arr.length; | |
var arr2 = goog.isString(arr) ? arr.split("") : arr; | |
for(var i = 0;i < l;i++) { | |
if(i in arr2 && !f.call(opt_obj, arr2[i], i, arr)) { | |
return false | |
} | |
} | |
return true | |
}; | |
goog.array.find = function(arr, f, opt_obj) { | |
var i = goog.array.findIndex(arr, f, opt_obj); | |
return i < 0 ? null : goog.isString(arr) ? arr.charAt(i) : arr[i] | |
}; | |
goog.array.findIndex = function(arr, f, opt_obj) { | |
var l = arr.length; | |
var arr2 = goog.isString(arr) ? arr.split("") : arr; | |
for(var i = 0;i < l;i++) { | |
if(i in arr2 && f.call(opt_obj, arr2[i], i, arr)) { | |
return i | |
} | |
} | |
return-1 | |
}; | |
goog.array.findRight = function(arr, f, opt_obj) { | |
var i = goog.array.findIndexRight(arr, f, opt_obj); | |
return i < 0 ? null : goog.isString(arr) ? arr.charAt(i) : arr[i] | |
}; | |
goog.array.findIndexRight = function(arr, f, opt_obj) { | |
var l = arr.length; | |
var arr2 = goog.isString(arr) ? arr.split("") : arr; | |
for(var i = l - 1;i >= 0;i--) { | |
if(i in arr2 && f.call(opt_obj, arr2[i], i, arr)) { | |
return i | |
} | |
} | |
return-1 | |
}; | |
goog.array.contains = function(arr, obj) { | |
return goog.array.indexOf(arr, obj) >= 0 | |
}; | |
goog.array.isEmpty = function(arr) { | |
return arr.length == 0 | |
}; | |
goog.array.clear = function(arr) { | |
if(!goog.isArray(arr)) { | |
for(var i = arr.length - 1;i >= 0;i--) { | |
delete arr[i] | |
} | |
} | |
arr.length = 0 | |
}; | |
goog.array.insert = function(arr, obj) { | |
if(!goog.array.contains(arr, obj)) { | |
arr.push(obj) | |
} | |
}; | |
goog.array.insertAt = function(arr, obj, opt_i) { | |
goog.array.splice(arr, opt_i, 0, obj) | |
}; | |
goog.array.insertArrayAt = function(arr, elementsToAdd, opt_i) { | |
goog.partial(goog.array.splice, arr, opt_i, 0).apply(null, elementsToAdd) | |
}; | |
goog.array.insertBefore = function(arr, obj, opt_obj2) { | |
var i; | |
if(arguments.length == 2 || (i = goog.array.indexOf(arr, opt_obj2)) < 0) { | |
arr.push(obj) | |
}else { | |
goog.array.insertAt(arr, obj, i) | |
} | |
}; | |
goog.array.remove = function(arr, obj) { | |
var i = goog.array.indexOf(arr, obj); | |
var rv; | |
if(rv = i >= 0) { | |
goog.array.removeAt(arr, i) | |
} | |
return rv | |
}; | |
goog.array.removeAt = function(arr, i) { | |
goog.asserts.assert(arr.length != null); | |
return goog.array.ARRAY_PROTOTYPE_.splice.call(arr, i, 1).length == 1 | |
}; | |
goog.array.removeIf = function(arr, f, opt_obj) { | |
var i = goog.array.findIndex(arr, f, opt_obj); | |
if(i >= 0) { | |
goog.array.removeAt(arr, i); | |
return true | |
} | |
return false | |
}; | |
goog.array.concat = function(var_args) { | |
return goog.array.ARRAY_PROTOTYPE_.concat.apply(goog.array.ARRAY_PROTOTYPE_, arguments) | |
}; | |
goog.array.clone = function(arr) { | |
if(goog.isArray(arr)) { | |
return goog.array.concat(arr) | |
}else { | |
var rv = []; | |
for(var i = 0, len = arr.length;i < len;i++) { | |
rv[i] = arr[i] | |
} | |
return rv | |
} | |
}; | |
goog.array.toArray = function(object) { | |
if(goog.isArray(object)) { | |
return goog.array.concat(object) | |
} | |
return goog.array.clone(object) | |
}; | |
goog.array.extend = function(arr1, var_args) { | |
for(var i = 1;i < arguments.length;i++) { | |
var arr2 = arguments[i]; | |
var isArrayLike; | |
if(goog.isArray(arr2) || (isArrayLike = goog.isArrayLike(arr2)) && arr2.hasOwnProperty("callee")) { | |
arr1.push.apply(arr1, arr2) | |
}else { | |
if(isArrayLike) { | |
var len1 = arr1.length; | |
var len2 = arr2.length; | |
for(var j = 0;j < len2;j++) { | |
arr1[len1 + j] = arr2[j] | |
} | |
}else { | |
arr1.push(arr2) | |
} | |
} | |
} | |
}; | |
goog.array.splice = function(arr, index, howMany, var_args) { | |
goog.asserts.assert(arr.length != null); | |
return goog.array.ARRAY_PROTOTYPE_.splice.apply(arr, goog.array.slice(arguments, 1)) | |
}; | |
goog.array.slice = function(arr, start, opt_end) { | |
goog.asserts.assert(arr.length != null); | |
if(arguments.length <= 2) { | |
return goog.array.ARRAY_PROTOTYPE_.slice.call(arr, start) | |
}else { | |
return goog.array.ARRAY_PROTOTYPE_.slice.call(arr, start, opt_end) | |
} | |
}; | |
goog.array.removeDuplicates = function(arr, opt_rv) { | |
var returnArray = opt_rv || arr; | |
var seen = {}, cursorInsert = 0, cursorRead = 0; | |
while(cursorRead < arr.length) { | |
var current = arr[cursorRead++]; | |
var key = goog.isObject(current) ? "o" + goog.getUid(current) : (typeof current).charAt(0) + current; | |
if(!Object.prototype.hasOwnProperty.call(seen, key)) { | |
seen[key] = true; | |
returnArray[cursorInsert++] = current | |
} | |
} | |
returnArray.length = cursorInsert | |
}; | |
goog.array.binarySearch = function(arr, target, opt_compareFn) { | |
return goog.array.binarySearch_(arr, opt_compareFn || goog.array.defaultCompare, false, target) | |
}; | |
goog.array.binarySelect = function(arr, evaluator, opt_obj) { | |
return goog.array.binarySearch_(arr, evaluator, true, undefined, opt_obj) | |
}; | |
goog.array.binarySearch_ = function(arr, compareFn, isEvaluator, opt_target, opt_selfObj) { | |
var left = 0; | |
var right = arr.length; | |
var found; | |
while(left < right) { | |
var middle = left + right >> 1; | |
var compareResult; | |
if(isEvaluator) { | |
compareResult = compareFn.call(opt_selfObj, arr[middle], middle, arr) | |
}else { | |
compareResult = compareFn(opt_target, arr[middle]) | |
} | |
if(compareResult > 0) { | |
left = middle + 1 | |
}else { | |
right = middle; | |
found = !compareResult | |
} | |
} | |
return found ? left : ~left | |
}; | |
goog.array.sort = function(arr, opt_compareFn) { | |
goog.asserts.assert(arr.length != null); | |
goog.array.ARRAY_PROTOTYPE_.sort.call(arr, opt_compareFn || goog.array.defaultCompare) | |
}; | |
goog.array.stableSort = function(arr, opt_compareFn) { | |
for(var i = 0;i < arr.length;i++) { | |
arr[i] = {index:i, value:arr[i]} | |
} | |
var valueCompareFn = opt_compareFn || goog.array.defaultCompare; | |
function stableCompareFn(obj1, obj2) { | |
return valueCompareFn(obj1.value, obj2.value) || obj1.index - obj2.index | |
} | |
goog.array.sort(arr, stableCompareFn); | |
for(var i = 0;i < arr.length;i++) { | |
arr[i] = arr[i].value | |
} | |
}; | |
goog.array.sortObjectsByKey = function(arr, key, opt_compareFn) { | |
var compare = opt_compareFn || goog.array.defaultCompare; | |
goog.array.sort(arr, function(a, b) { | |
return compare(a[key], b[key]) | |
}) | |
}; | |
goog.array.isSorted = function(arr, opt_compareFn, opt_strict) { | |
var compare = opt_compareFn || goog.array.defaultCompare; | |
for(var i = 1;i < arr.length;i++) { | |
var compareResult = compare(arr[i - 1], arr[i]); | |
if(compareResult > 0 || compareResult == 0 && opt_strict) { | |
return false | |
} | |
} | |
return true | |
}; | |
goog.array.equals = function(arr1, arr2, opt_equalsFn) { | |
if(!goog.isArrayLike(arr1) || !goog.isArrayLike(arr2) || arr1.length != arr2.length) { | |
return false | |
} | |
var l = arr1.length; | |
var equalsFn = opt_equalsFn || goog.array.defaultCompareEquality; | |
for(var i = 0;i < l;i++) { | |
if(!equalsFn(arr1[i], arr2[i])) { | |
return false | |
} | |
} | |
return true | |
}; | |
goog.array.compare = function(arr1, arr2, opt_equalsFn) { | |
return goog.array.equals(arr1, arr2, opt_equalsFn) | |
}; | |
goog.array.defaultCompare = function(a, b) { | |
return a > b ? 1 : a < b ? -1 : 0 | |
}; | |
goog.array.defaultCompareEquality = function(a, b) { | |
return a === b | |
}; | |
goog.array.binaryInsert = function(array, value, opt_compareFn) { | |
var index = goog.array.binarySearch(array, value, opt_compareFn); | |
if(index < 0) { | |
goog.array.insertAt(array, value, -(index + 1)); | |
return true | |
} | |
return false | |
}; | |
goog.array.binaryRemove = function(array, value, opt_compareFn) { | |
var index = goog.array.binarySearch(array, value, opt_compareFn); | |
return index >= 0 ? goog.array.removeAt(array, index) : false | |
}; | |
goog.array.bucket = function(array, sorter) { | |
var buckets = {}; | |
for(var i = 0;i < array.length;i++) { | |
var value = array[i]; | |
var key = sorter(value, i, array); | |
if(goog.isDef(key)) { | |
var bucket = buckets[key] || (buckets[key] = []); | |
bucket.push(value) | |
} | |
} | |
return buckets | |
}; | |
goog.array.repeat = function(value, n) { | |
var array = []; | |
for(var i = 0;i < n;i++) { | |
array[i] = value | |
} | |
return array | |
}; | |
goog.array.flatten = function(var_args) { | |
var result = []; | |
for(var i = 0;i < arguments.length;i++) { | |
var element = arguments[i]; | |
if(goog.isArray(element)) { | |
result.push.apply(result, goog.array.flatten.apply(null, element)) | |
}else { | |
result.push(element) | |
} | |
} | |
return result | |
}; | |
goog.array.rotate = function(array, n) { | |
goog.asserts.assert(array.length != null); | |
if(array.length) { | |
n %= array.length; | |
if(n > 0) { | |
goog.array.ARRAY_PROTOTYPE_.unshift.apply(array, array.splice(-n, n)) | |
}else { | |
if(n < 0) { | |
goog.array.ARRAY_PROTOTYPE_.push.apply(array, array.splice(0, -n)) | |
} | |
} | |
} | |
return array | |
}; | |
goog.array.zip = function(var_args) { | |
if(!arguments.length) { | |
return[] | |
} | |
var result = []; | |
for(var i = 0;true;i++) { | |
var value = []; | |
for(var j = 0;j < arguments.length;j++) { | |
var arr = arguments[j]; | |
if(i >= arr.length) { | |
return result | |
} | |
value.push(arr[i]) | |
} | |
result.push(value) | |
} | |
}; | |
goog.array.shuffle = function(arr, opt_randFn) { | |
var randFn = opt_randFn || Math.random; | |
for(var i = arr.length - 1;i > 0;i--) { | |
var j = Math.floor(randFn() * (i + 1)); | |
var tmp = arr[i]; | |
arr[i] = arr[j]; | |
arr[j] = tmp | |
} | |
}; | |
goog.provide("goog.object"); | |
goog.object.forEach = function(obj, f, opt_obj) { | |
for(var key in obj) { | |
f.call(opt_obj, obj[key], key, obj) | |
} | |
}; | |
goog.object.filter = function(obj, f, opt_obj) { | |
var res = {}; | |
for(var key in obj) { | |
if(f.call(opt_obj, obj[key], key, obj)) { | |
res[key] = obj[key] | |
} | |
} | |
return res | |
}; | |
goog.object.map = function(obj, f, opt_obj) { | |
var res = {}; | |
for(var key in obj) { | |
res[key] = f.call(opt_obj, obj[key], key, obj) | |
} | |
return res | |
}; | |
goog.object.some = function(obj, f, opt_obj) { | |
for(var key in obj) { | |
if(f.call(opt_obj, obj[key], key, obj)) { | |
return true | |
} | |
} | |
return false | |
}; | |
goog.object.every = function(obj, f, opt_obj) { | |
for(var key in obj) { | |
if(!f.call(opt_obj, obj[key], key, obj)) { | |
return false | |
} | |
} | |
return true | |
}; | |
goog.object.getCount = function(obj) { | |
var rv = 0; | |
for(var key in obj) { | |
rv++ | |
} | |
return rv | |
}; | |
goog.object.getAnyKey = function(obj) { | |
for(var key in obj) { | |
return key | |
} | |
}; | |
goog.object.getAnyValue = function(obj) { | |
for(var key in obj) { | |
return obj[key] | |
} | |
}; | |
goog.object.contains = function(obj, val) { | |
return goog.object.containsValue(obj, val) | |
}; | |
goog.object.getValues = function(obj) { | |
var res = []; | |
var i = 0; | |
for(var key in obj) { | |
res[i++] = obj[key] | |
} | |
return res | |
}; | |
goog.object.getKeys = function(obj) { | |
var res = []; | |
var i = 0; | |
for(var key in obj) { | |
res[i++] = key | |
} | |
return res | |
}; | |
goog.object.getValueByKeys = function(obj, var_args) { | |
var isArrayLike = goog.isArrayLike(var_args); | |
var keys = isArrayLike ? var_args : arguments; | |
for(var i = isArrayLike ? 0 : 1;i < keys.length;i++) { | |
obj = obj[keys[i]]; | |
if(!goog.isDef(obj)) { | |
break | |
} | |
} | |
return obj | |
}; | |
goog.object.containsKey = function(obj, key) { | |
return key in obj | |
}; | |
goog.object.containsValue = function(obj, val) { | |
for(var key in obj) { | |
if(obj[key] == val) { | |
return true | |
} | |
} | |
return false | |
}; | |
goog.object.findKey = function(obj, f, opt_this) { | |
for(var key in obj) { | |
if(f.call(opt_this, obj[key], key, obj)) { | |
return key | |
} | |
} | |
return undefined | |
}; | |
goog.object.findValue = function(obj, f, opt_this) { | |
var key = goog.object.findKey(obj, f, opt_this); | |
return key && obj[key] | |
}; | |
goog.object.isEmpty = function(obj) { | |
for(var key in obj) { | |
return false | |
} | |
return true | |
}; | |
goog.object.clear = function(obj) { | |
for(var i in obj) { | |
delete obj[i] | |
} | |
}; | |
goog.object.remove = function(obj, key) { | |
var rv; | |
if(rv = key in obj) { | |
delete obj[key] | |
} | |
return rv | |
}; | |
goog.object.add = function(obj, key, val) { | |
if(key in obj) { | |
throw Error('The object already contains the key "' + key + '"'); | |
} | |
goog.object.set(obj, key, val) | |
}; | |
goog.object.get = function(obj, key, opt_val) { | |
if(key in obj) { | |
return obj[key] | |
} | |
return opt_val | |
}; | |
goog.object.set = function(obj, key, value) { | |
obj[key] = value | |
}; | |
goog.object.setIfUndefined = function(obj, key, value) { | |
return key in obj ? obj[key] : obj[key] = value | |
}; | |
goog.object.clone = function(obj) { | |
var res = {}; | |
for(var key in obj) { | |
res[key] = obj[key] | |
} | |
return res | |
}; | |
goog.object.unsafeClone = function(obj) { | |
var type = goog.typeOf(obj); | |
if(type == "object" || type == "array") { | |
if(obj.clone) { | |
return obj.clone() | |
} | |
var clone = type == "array" ? [] : {}; | |
for(var key in obj) { | |
clone[key] = goog.object.unsafeClone(obj[key]) | |
} | |
return clone | |
} | |
return obj | |
}; | |
goog.object.transpose = function(obj) { | |
var transposed = {}; | |
for(var key in obj) { | |
transposed[obj[key]] = key | |
} | |
return transposed | |
}; | |
goog.object.PROTOTYPE_FIELDS_ = ["constructor", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "toLocaleString", "toString", "valueOf"]; | |
goog.object.extend = function(target, var_args) { | |
var key, source; | |
for(var i = 1;i < arguments.length;i++) { | |
source = arguments[i]; | |
for(key in source) { | |
target[key] = source[key] | |
} | |
for(var j = 0;j < goog.object.PROTOTYPE_FIELDS_.length;j++) { | |
key = goog.object.PROTOTYPE_FIELDS_[j]; | |
if(Object.prototype.hasOwnProperty.call(source, key)) { | |
target[key] = source[key] | |
} | |
} | |
} | |
}; | |
goog.object.create = function(var_args) { | |
var argLength = arguments.length; | |
if(argLength == 1 && goog.isArray(arguments[0])) { | |
return goog.object.create.apply(null, arguments[0]) | |
} | |
if(argLength % 2) { | |
throw Error("Uneven number of arguments"); | |
} | |
var rv = {}; | |
for(var i = 0;i < argLength;i += 2) { | |
rv[arguments[i]] = arguments[i + 1] | |
} | |
return rv | |
}; | |
goog.object.createSet = function(var_args) { | |
var argLength = arguments.length; | |
if(argLength == 1 && goog.isArray(arguments[0])) { | |
return goog.object.createSet.apply(null, arguments[0]) | |
} | |
var rv = {}; | |
for(var i = 0;i < argLength;i++) { | |
rv[arguments[i]] = true | |
} | |
return rv | |
}; | |
goog.provide("goog.string.format"); | |
goog.require("goog.string"); | |
goog.string.format = function(formatString, var_args) { | |
var args = Array.prototype.slice.call(arguments); | |
var template = args.shift(); | |
if(typeof template == "undefined") { | |
throw Error("[goog.string.format] Template required"); | |
} | |
var formatRe = /%([0\-\ \+]*)(\d+)?(\.(\d+))?([%sfdiu])/g; | |
function replacerDemuxer(match, flags, width, dotp, precision, type, offset, wholeString) { | |
if(type == "%") { | |
return"%" | |
} | |
var value = args.shift(); | |
if(typeof value == "undefined") { | |
throw Error("[goog.string.format] Not enough arguments"); | |
} | |
arguments[0] = value; | |
return goog.string.format.demuxes_[type].apply(null, arguments) | |
} | |
return template.replace(formatRe, replacerDemuxer) | |
}; | |
goog.string.format.demuxes_ = {}; | |
goog.string.format.demuxes_["s"] = function(value, flags, width, dotp, precision, type, offset, wholeString) { | |
var replacement = value; | |
if(isNaN(width) || replacement.length >= width) { | |
return replacement | |
} | |
if(flags.indexOf("-", 0) > -1) { | |
replacement = replacement + goog.string.repeat(" ", width - replacement.length) | |
}else { | |
replacement = goog.string.repeat(" ", width - replacement.length) + replacement | |
} | |
return replacement | |
}; | |
goog.string.format.demuxes_["f"] = function(value, flags, width, dotp, precision, type, offset, wholeString) { | |
var replacement = value.toString(); | |
if(!(isNaN(precision) || precision == "")) { | |
replacement = value.toFixed(precision) | |
} | |
var sign; | |
if(value < 0) { | |
sign = "-" | |
}else { | |
if(flags.indexOf("+") >= 0) { | |
sign = "+" | |
}else { | |
if(flags.indexOf(" ") >= 0) { | |
sign = " " | |
}else { | |
sign = "" | |
} | |
} | |
} | |
if(value >= 0) { | |
replacement = sign + replacement | |
} | |
if(isNaN(width) || replacement.length >= width) { | |
return replacement | |
} | |
replacement = isNaN(precision) ? Math.abs(value).toString() : Math.abs(value).toFixed(precision); | |
var padCount = width - replacement.length - sign.length; | |
if(flags.indexOf("-", 0) >= 0) { | |
replacement = sign + replacement + goog.string.repeat(" ", padCount) | |
}else { | |
var paddingChar = flags.indexOf("0", 0) >= 0 ? "0" : " "; | |
replacement = sign + goog.string.repeat(paddingChar, padCount) + replacement | |
} | |
return replacement | |
}; | |
goog.string.format.demuxes_["d"] = function(value, flags, width, dotp, precision, type, offset, wholeString) { | |
value = parseInt(value, 10); | |
precision = 0; | |
return goog.string.format.demuxes_["f"](value, flags, width, dotp, precision, type, offset, wholeString) | |
}; | |
goog.string.format.demuxes_["i"] = goog.string.format.demuxes_["d"]; | |
goog.string.format.demuxes_["u"] = goog.string.format.demuxes_["d"]; | |
goog.provide("goog.userAgent.jscript"); | |
goog.require("goog.string"); | |
goog.userAgent.jscript.ASSUME_NO_JSCRIPT = false; | |
goog.userAgent.jscript.init_ = function() { | |
var hasScriptEngine = "ScriptEngine" in goog.global; | |
goog.userAgent.jscript.DETECTED_HAS_JSCRIPT_ = hasScriptEngine && goog.global["ScriptEngine"]() == "JScript"; | |
goog.userAgent.jscript.DETECTED_VERSION_ = goog.userAgent.jscript.DETECTED_HAS_JSCRIPT_ ? goog.global["ScriptEngineMajorVersion"]() + "." + goog.global["ScriptEngineMinorVersion"]() + "." + goog.global["ScriptEngineBuildVersion"]() : "0" | |
}; | |
if(!goog.userAgent.jscript.ASSUME_NO_JSCRIPT) { | |
goog.userAgent.jscript.init_() | |
} | |
goog.userAgent.jscript.HAS_JSCRIPT = goog.userAgent.jscript.ASSUME_NO_JSCRIPT ? false : goog.userAgent.jscript.DETECTED_HAS_JSCRIPT_; | |
goog.userAgent.jscript.VERSION = goog.userAgent.jscript.ASSUME_NO_JSCRIPT ? "0" : goog.userAgent.jscript.DETECTED_VERSION_; | |
goog.userAgent.jscript.isVersion = function(version) { | |
return goog.string.compareVersions(goog.userAgent.jscript.VERSION, version) >= 0 | |
}; | |
goog.provide("goog.string.StringBuffer"); | |
goog.require("goog.userAgent.jscript"); | |
goog.string.StringBuffer = function(opt_a1, var_args) { | |
this.buffer_ = goog.userAgent.jscript.HAS_JSCRIPT ? [] : ""; | |
if(opt_a1 != null) { | |
this.append.apply(this, arguments) | |
} | |
}; | |
goog.string.StringBuffer.prototype.set = function(s) { | |
this.clear(); | |
this.append(s) | |
}; | |
if(goog.userAgent.jscript.HAS_JSCRIPT) { | |
goog.string.StringBuffer.prototype.bufferLength_ = 0; | |
goog.string.StringBuffer.prototype.append = function(a1, opt_a2, var_args) { | |
if(opt_a2 == null) { | |
this.buffer_[this.bufferLength_++] = a1 | |
}else { | |
this.buffer_.push.apply(this.buffer_, arguments); | |
this.bufferLength_ = this.buffer_.length | |
} | |
return this | |
} | |
}else { | |
goog.string.StringBuffer.prototype.append = function(a1, opt_a2, var_args) { | |
this.buffer_ += a1; | |
if(opt_a2 != null) { | |
for(var i = 1;i < arguments.length;i++) { | |
this.buffer_ += arguments[i] | |
} | |
} | |
return this | |
} | |
} | |
goog.string.StringBuffer.prototype.clear = function() { | |
if(goog.userAgent.jscript.HAS_JSCRIPT) { | |
this.buffer_.length = 0; | |
this.bufferLength_ = 0 | |
}else { | |
this.buffer_ = "" | |
} | |
}; | |
goog.string.StringBuffer.prototype.getLength = function() { | |
return this.toString().length | |
}; | |
goog.string.StringBuffer.prototype.toString = function() { | |
if(goog.userAgent.jscript.HAS_JSCRIPT) { | |
var str = this.buffer_.join(""); | |
this.clear(); | |
if(str) { | |
this.append(str) | |
} | |
return str | |
}else { | |
return this.buffer_ | |
} | |
}; | |
goog.provide("cljs.core"); | |
goog.require("goog.array"); | |
goog.require("goog.object"); | |
goog.require("goog.string.format"); | |
goog.require("goog.string.StringBuffer"); | |
goog.require("goog.string"); | |
cljs.core._STAR_unchecked_if_STAR_ = false; | |
cljs.core._STAR_print_fn_STAR_ = function _STAR_print_fn_STAR_(_) { | |
throw new Error("No *print-fn* fn set for evaluation environment"); | |
}; | |
cljs.core.truth_ = function truth_(x) { | |
return x != null && x !== false | |
}; | |
cljs.core.type_satisfies_ = function type_satisfies_(p, x) { | |
var x__7699 = x == null ? null : x; | |
if(p[goog.typeOf(x__7699)]) { | |
return true | |
}else { | |
if(p["_"]) { | |
return true | |
}else { | |
if("\ufdd0'else") { | |
return false | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
cljs.core.is_proto_ = function is_proto_(x) { | |
return x.constructor.prototype === x | |
}; | |
cljs.core._STAR_main_cli_fn_STAR_ = null; | |
cljs.core.missing_protocol = function missing_protocol(proto, obj) { | |
return Error(["No protocol method ", proto, " defined for type ", goog.typeOf(obj), ": ", obj].join("")) | |
}; | |
cljs.core.aclone = function aclone(array_like) { | |
return array_like.slice() | |
}; | |
cljs.core.array = function array(var_args) { | |
return Array.prototype.slice.call(arguments) | |
}; | |
cljs.core.make_array = function() { | |
var make_array = null; | |
var make_array__1 = function(size) { | |
return new Array(size) | |
}; | |
var make_array__2 = function(type, size) { | |
return make_array.call(null, size) | |
}; | |
make_array = function(type, size) { | |
switch(arguments.length) { | |
case 1: | |
return make_array__1.call(this, type); | |
case 2: | |
return make_array__2.call(this, type, size) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
make_array.cljs$lang$arity$1 = make_array__1; | |
make_array.cljs$lang$arity$2 = make_array__2; | |
return make_array | |
}(); | |
cljs.core.aget = function() { | |
var aget = null; | |
var aget__2 = function(array, i) { | |
return array[i] | |
}; | |
var aget__3 = function() { | |
var G__7700__delegate = function(array, i, idxs) { | |
return cljs.core.apply.call(null, aget, aget.call(null, array, i), idxs) | |
}; | |
var G__7700 = function(array, i, var_args) { | |
var idxs = null; | |
if(goog.isDef(var_args)) { | |
idxs = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2), 0) | |
} | |
return G__7700__delegate.call(this, array, i, idxs) | |
}; | |
G__7700.cljs$lang$maxFixedArity = 2; | |
G__7700.cljs$lang$applyTo = function(arglist__7701) { | |
var array = cljs.core.first(arglist__7701); | |
var i = cljs.core.first(cljs.core.next(arglist__7701)); | |
var idxs = cljs.core.rest(cljs.core.next(arglist__7701)); | |
return G__7700__delegate(array, i, idxs) | |
}; | |
G__7700.cljs$lang$arity$variadic = G__7700__delegate; | |
return G__7700 | |
}(); | |
aget = function(array, i, var_args) { | |
var idxs = var_args; | |
switch(arguments.length) { | |
case 2: | |
return aget__2.call(this, array, i); | |
default: | |
return aget__3.cljs$lang$arity$variadic(array, i, cljs.core.array_seq(arguments, 2)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
aget.cljs$lang$maxFixedArity = 2; | |
aget.cljs$lang$applyTo = aget__3.cljs$lang$applyTo; | |
aget.cljs$lang$arity$2 = aget__2; | |
aget.cljs$lang$arity$variadic = aget__3.cljs$lang$arity$variadic; | |
return aget | |
}(); | |
cljs.core.aset = function aset(array, i, val) { | |
return array[i] = val | |
}; | |
cljs.core.alength = function alength(array) { | |
return array.length | |
}; | |
cljs.core.into_array = function() { | |
var into_array = null; | |
var into_array__1 = function(aseq) { | |
return into_array.call(null, null, aseq) | |
}; | |
var into_array__2 = function(type, aseq) { | |
return cljs.core.reduce.call(null, function(a, x) { | |
a.push(x); | |
return a | |
}, [], aseq) | |
}; | |
into_array = function(type, aseq) { | |
switch(arguments.length) { | |
case 1: | |
return into_array__1.call(this, type); | |
case 2: | |
return into_array__2.call(this, type, aseq) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
into_array.cljs$lang$arity$1 = into_array__1; | |
into_array.cljs$lang$arity$2 = into_array__2; | |
return into_array | |
}(); | |
cljs.core.IFn = {}; | |
cljs.core._invoke = function() { | |
var _invoke = null; | |
var _invoke__1 = function(this$) { | |
if(function() { | |
var and__3822__auto____7786 = this$; | |
if(and__3822__auto____7786) { | |
return this$.cljs$core$IFn$_invoke$arity$1 | |
}else { | |
return and__3822__auto____7786 | |
} | |
}()) { | |
return this$.cljs$core$IFn$_invoke$arity$1(this$) | |
}else { | |
var x__2387__auto____7787 = this$ == null ? null : this$; | |
return function() { | |
var or__3824__auto____7788 = cljs.core._invoke[goog.typeOf(x__2387__auto____7787)]; | |
if(or__3824__auto____7788) { | |
return or__3824__auto____7788 | |
}else { | |
var or__3824__auto____7789 = cljs.core._invoke["_"]; | |
if(or__3824__auto____7789) { | |
return or__3824__auto____7789 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IFn.-invoke", this$); | |
} | |
} | |
}().call(null, this$) | |
} | |
}; | |
var _invoke__2 = function(this$, a) { | |
if(function() { | |
var and__3822__auto____7790 = this$; | |
if(and__3822__auto____7790) { | |
return this$.cljs$core$IFn$_invoke$arity$2 | |
}else { | |
return and__3822__auto____7790 | |
} | |
}()) { | |
return this$.cljs$core$IFn$_invoke$arity$2(this$, a) | |
}else { | |
var x__2387__auto____7791 = this$ == null ? null : this$; | |
return function() { | |
var or__3824__auto____7792 = cljs.core._invoke[goog.typeOf(x__2387__auto____7791)]; | |
if(or__3824__auto____7792) { | |
return or__3824__auto____7792 | |
}else { | |
var or__3824__auto____7793 = cljs.core._invoke["_"]; | |
if(or__3824__auto____7793) { | |
return or__3824__auto____7793 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IFn.-invoke", this$); | |
} | |
} | |
}().call(null, this$, a) | |
} | |
}; | |
var _invoke__3 = function(this$, a, b) { | |
if(function() { | |
var and__3822__auto____7794 = this$; | |
if(and__3822__auto____7794) { | |
return this$.cljs$core$IFn$_invoke$arity$3 | |
}else { | |
return and__3822__auto____7794 | |
} | |
}()) { | |
return this$.cljs$core$IFn$_invoke$arity$3(this$, a, b) | |
}else { | |
var x__2387__auto____7795 = this$ == null ? null : this$; | |
return function() { | |
var or__3824__auto____7796 = cljs.core._invoke[goog.typeOf(x__2387__auto____7795)]; | |
if(or__3824__auto____7796) { | |
return or__3824__auto____7796 | |
}else { | |
var or__3824__auto____7797 = cljs.core._invoke["_"]; | |
if(or__3824__auto____7797) { | |
return or__3824__auto____7797 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IFn.-invoke", this$); | |
} | |
} | |
}().call(null, this$, a, b) | |
} | |
}; | |
var _invoke__4 = function(this$, a, b, c) { | |
if(function() { | |
var and__3822__auto____7798 = this$; | |
if(and__3822__auto____7798) { | |
return this$.cljs$core$IFn$_invoke$arity$4 | |
}else { | |
return and__3822__auto____7798 | |
} | |
}()) { | |
return this$.cljs$core$IFn$_invoke$arity$4(this$, a, b, c) | |
}else { | |
var x__2387__auto____7799 = this$ == null ? null : this$; | |
return function() { | |
var or__3824__auto____7800 = cljs.core._invoke[goog.typeOf(x__2387__auto____7799)]; | |
if(or__3824__auto____7800) { | |
return or__3824__auto____7800 | |
}else { | |
var or__3824__auto____7801 = cljs.core._invoke["_"]; | |
if(or__3824__auto____7801) { | |
return or__3824__auto____7801 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IFn.-invoke", this$); | |
} | |
} | |
}().call(null, this$, a, b, c) | |
} | |
}; | |
var _invoke__5 = function(this$, a, b, c, d) { | |
if(function() { | |
var and__3822__auto____7802 = this$; | |
if(and__3822__auto____7802) { | |
return this$.cljs$core$IFn$_invoke$arity$5 | |
}else { | |
return and__3822__auto____7802 | |
} | |
}()) { | |
return this$.cljs$core$IFn$_invoke$arity$5(this$, a, b, c, d) | |
}else { | |
var x__2387__auto____7803 = this$ == null ? null : this$; | |
return function() { | |
var or__3824__auto____7804 = cljs.core._invoke[goog.typeOf(x__2387__auto____7803)]; | |
if(or__3824__auto____7804) { | |
return or__3824__auto____7804 | |
}else { | |
var or__3824__auto____7805 = cljs.core._invoke["_"]; | |
if(or__3824__auto____7805) { | |
return or__3824__auto____7805 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IFn.-invoke", this$); | |
} | |
} | |
}().call(null, this$, a, b, c, d) | |
} | |
}; | |
var _invoke__6 = function(this$, a, b, c, d, e) { | |
if(function() { | |
var and__3822__auto____7806 = this$; | |
if(and__3822__auto____7806) { | |
return this$.cljs$core$IFn$_invoke$arity$6 | |
}else { | |
return and__3822__auto____7806 | |
} | |
}()) { | |
return this$.cljs$core$IFn$_invoke$arity$6(this$, a, b, c, d, e) | |
}else { | |
var x__2387__auto____7807 = this$ == null ? null : this$; | |
return function() { | |
var or__3824__auto____7808 = cljs.core._invoke[goog.typeOf(x__2387__auto____7807)]; | |
if(or__3824__auto____7808) { | |
return or__3824__auto____7808 | |
}else { | |
var or__3824__auto____7809 = cljs.core._invoke["_"]; | |
if(or__3824__auto____7809) { | |
return or__3824__auto____7809 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IFn.-invoke", this$); | |
} | |
} | |
}().call(null, this$, a, b, c, d, e) | |
} | |
}; | |
var _invoke__7 = function(this$, a, b, c, d, e, f) { | |
if(function() { | |
var and__3822__auto____7810 = this$; | |
if(and__3822__auto____7810) { | |
return this$.cljs$core$IFn$_invoke$arity$7 | |
}else { | |
return and__3822__auto____7810 | |
} | |
}()) { | |
return this$.cljs$core$IFn$_invoke$arity$7(this$, a, b, c, d, e, f) | |
}else { | |
var x__2387__auto____7811 = this$ == null ? null : this$; | |
return function() { | |
var or__3824__auto____7812 = cljs.core._invoke[goog.typeOf(x__2387__auto____7811)]; | |
if(or__3824__auto____7812) { | |
return or__3824__auto____7812 | |
}else { | |
var or__3824__auto____7813 = cljs.core._invoke["_"]; | |
if(or__3824__auto____7813) { | |
return or__3824__auto____7813 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IFn.-invoke", this$); | |
} | |
} | |
}().call(null, this$, a, b, c, d, e, f) | |
} | |
}; | |
var _invoke__8 = function(this$, a, b, c, d, e, f, g) { | |
if(function() { | |
var and__3822__auto____7814 = this$; | |
if(and__3822__auto____7814) { | |
return this$.cljs$core$IFn$_invoke$arity$8 | |
}else { | |
return and__3822__auto____7814 | |
} | |
}()) { | |
return this$.cljs$core$IFn$_invoke$arity$8(this$, a, b, c, d, e, f, g) | |
}else { | |
var x__2387__auto____7815 = this$ == null ? null : this$; | |
return function() { | |
var or__3824__auto____7816 = cljs.core._invoke[goog.typeOf(x__2387__auto____7815)]; | |
if(or__3824__auto____7816) { | |
return or__3824__auto____7816 | |
}else { | |
var or__3824__auto____7817 = cljs.core._invoke["_"]; | |
if(or__3824__auto____7817) { | |
return or__3824__auto____7817 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IFn.-invoke", this$); | |
} | |
} | |
}().call(null, this$, a, b, c, d, e, f, g) | |
} | |
}; | |
var _invoke__9 = function(this$, a, b, c, d, e, f, g, h) { | |
if(function() { | |
var and__3822__auto____7818 = this$; | |
if(and__3822__auto____7818) { | |
return this$.cljs$core$IFn$_invoke$arity$9 | |
}else { | |
return and__3822__auto____7818 | |
} | |
}()) { | |
return this$.cljs$core$IFn$_invoke$arity$9(this$, a, b, c, d, e, f, g, h) | |
}else { | |
var x__2387__auto____7819 = this$ == null ? null : this$; | |
return function() { | |
var or__3824__auto____7820 = cljs.core._invoke[goog.typeOf(x__2387__auto____7819)]; | |
if(or__3824__auto____7820) { | |
return or__3824__auto____7820 | |
}else { | |
var or__3824__auto____7821 = cljs.core._invoke["_"]; | |
if(or__3824__auto____7821) { | |
return or__3824__auto____7821 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IFn.-invoke", this$); | |
} | |
} | |
}().call(null, this$, a, b, c, d, e, f, g, h) | |
} | |
}; | |
var _invoke__10 = function(this$, a, b, c, d, e, f, g, h, i) { | |
if(function() { | |
var and__3822__auto____7822 = this$; | |
if(and__3822__auto____7822) { | |
return this$.cljs$core$IFn$_invoke$arity$10 | |
}else { | |
return and__3822__auto____7822 | |
} | |
}()) { | |
return this$.cljs$core$IFn$_invoke$arity$10(this$, a, b, c, d, e, f, g, h, i) | |
}else { | |
var x__2387__auto____7823 = this$ == null ? null : this$; | |
return function() { | |
var or__3824__auto____7824 = cljs.core._invoke[goog.typeOf(x__2387__auto____7823)]; | |
if(or__3824__auto____7824) { | |
return or__3824__auto____7824 | |
}else { | |
var or__3824__auto____7825 = cljs.core._invoke["_"]; | |
if(or__3824__auto____7825) { | |
return or__3824__auto____7825 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IFn.-invoke", this$); | |
} | |
} | |
}().call(null, this$, a, b, c, d, e, f, g, h, i) | |
} | |
}; | |
var _invoke__11 = function(this$, a, b, c, d, e, f, g, h, i, j) { | |
if(function() { | |
var and__3822__auto____7826 = this$; | |
if(and__3822__auto____7826) { | |
return this$.cljs$core$IFn$_invoke$arity$11 | |
}else { | |
return and__3822__auto____7826 | |
} | |
}()) { | |
return this$.cljs$core$IFn$_invoke$arity$11(this$, a, b, c, d, e, f, g, h, i, j) | |
}else { | |
var x__2387__auto____7827 = this$ == null ? null : this$; | |
return function() { | |
var or__3824__auto____7828 = cljs.core._invoke[goog.typeOf(x__2387__auto____7827)]; | |
if(or__3824__auto____7828) { | |
return or__3824__auto____7828 | |
}else { | |
var or__3824__auto____7829 = cljs.core._invoke["_"]; | |
if(or__3824__auto____7829) { | |
return or__3824__auto____7829 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IFn.-invoke", this$); | |
} | |
} | |
}().call(null, this$, a, b, c, d, e, f, g, h, i, j) | |
} | |
}; | |
var _invoke__12 = function(this$, a, b, c, d, e, f, g, h, i, j, k) { | |
if(function() { | |
var and__3822__auto____7830 = this$; | |
if(and__3822__auto____7830) { | |
return this$.cljs$core$IFn$_invoke$arity$12 | |
}else { | |
return and__3822__auto____7830 | |
} | |
}()) { | |
return this$.cljs$core$IFn$_invoke$arity$12(this$, a, b, c, d, e, f, g, h, i, j, k) | |
}else { | |
var x__2387__auto____7831 = this$ == null ? null : this$; | |
return function() { | |
var or__3824__auto____7832 = cljs.core._invoke[goog.typeOf(x__2387__auto____7831)]; | |
if(or__3824__auto____7832) { | |
return or__3824__auto____7832 | |
}else { | |
var or__3824__auto____7833 = cljs.core._invoke["_"]; | |
if(or__3824__auto____7833) { | |
return or__3824__auto____7833 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IFn.-invoke", this$); | |
} | |
} | |
}().call(null, this$, a, b, c, d, e, f, g, h, i, j, k) | |
} | |
}; | |
var _invoke__13 = function(this$, a, b, c, d, e, f, g, h, i, j, k, l) { | |
if(function() { | |
var and__3822__auto____7834 = this$; | |
if(and__3822__auto____7834) { | |
return this$.cljs$core$IFn$_invoke$arity$13 | |
}else { | |
return and__3822__auto____7834 | |
} | |
}()) { | |
return this$.cljs$core$IFn$_invoke$arity$13(this$, a, b, c, d, e, f, g, h, i, j, k, l) | |
}else { | |
var x__2387__auto____7835 = this$ == null ? null : this$; | |
return function() { | |
var or__3824__auto____7836 = cljs.core._invoke[goog.typeOf(x__2387__auto____7835)]; | |
if(or__3824__auto____7836) { | |
return or__3824__auto____7836 | |
}else { | |
var or__3824__auto____7837 = cljs.core._invoke["_"]; | |
if(or__3824__auto____7837) { | |
return or__3824__auto____7837 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IFn.-invoke", this$); | |
} | |
} | |
}().call(null, this$, a, b, c, d, e, f, g, h, i, j, k, l) | |
} | |
}; | |
var _invoke__14 = function(this$, a, b, c, d, e, f, g, h, i, j, k, l, m) { | |
if(function() { | |
var and__3822__auto____7838 = this$; | |
if(and__3822__auto____7838) { | |
return this$.cljs$core$IFn$_invoke$arity$14 | |
}else { | |
return and__3822__auto____7838 | |
} | |
}()) { | |
return this$.cljs$core$IFn$_invoke$arity$14(this$, a, b, c, d, e, f, g, h, i, j, k, l, m) | |
}else { | |
var x__2387__auto____7839 = this$ == null ? null : this$; | |
return function() { | |
var or__3824__auto____7840 = cljs.core._invoke[goog.typeOf(x__2387__auto____7839)]; | |
if(or__3824__auto____7840) { | |
return or__3824__auto____7840 | |
}else { | |
var or__3824__auto____7841 = cljs.core._invoke["_"]; | |
if(or__3824__auto____7841) { | |
return or__3824__auto____7841 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IFn.-invoke", this$); | |
} | |
} | |
}().call(null, this$, a, b, c, d, e, f, g, h, i, j, k, l, m) | |
} | |
}; | |
var _invoke__15 = function(this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n) { | |
if(function() { | |
var and__3822__auto____7842 = this$; | |
if(and__3822__auto____7842) { | |
return this$.cljs$core$IFn$_invoke$arity$15 | |
}else { | |
return and__3822__auto____7842 | |
} | |
}()) { | |
return this$.cljs$core$IFn$_invoke$arity$15(this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n) | |
}else { | |
var x__2387__auto____7843 = this$ == null ? null : this$; | |
return function() { | |
var or__3824__auto____7844 = cljs.core._invoke[goog.typeOf(x__2387__auto____7843)]; | |
if(or__3824__auto____7844) { | |
return or__3824__auto____7844 | |
}else { | |
var or__3824__auto____7845 = cljs.core._invoke["_"]; | |
if(or__3824__auto____7845) { | |
return or__3824__auto____7845 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IFn.-invoke", this$); | |
} | |
} | |
}().call(null, this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n) | |
} | |
}; | |
var _invoke__16 = function(this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) { | |
if(function() { | |
var and__3822__auto____7846 = this$; | |
if(and__3822__auto____7846) { | |
return this$.cljs$core$IFn$_invoke$arity$16 | |
}else { | |
return and__3822__auto____7846 | |
} | |
}()) { | |
return this$.cljs$core$IFn$_invoke$arity$16(this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) | |
}else { | |
var x__2387__auto____7847 = this$ == null ? null : this$; | |
return function() { | |
var or__3824__auto____7848 = cljs.core._invoke[goog.typeOf(x__2387__auto____7847)]; | |
if(or__3824__auto____7848) { | |
return or__3824__auto____7848 | |
}else { | |
var or__3824__auto____7849 = cljs.core._invoke["_"]; | |
if(or__3824__auto____7849) { | |
return or__3824__auto____7849 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IFn.-invoke", this$); | |
} | |
} | |
}().call(null, this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) | |
} | |
}; | |
var _invoke__17 = function(this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) { | |
if(function() { | |
var and__3822__auto____7850 = this$; | |
if(and__3822__auto____7850) { | |
return this$.cljs$core$IFn$_invoke$arity$17 | |
}else { | |
return and__3822__auto____7850 | |
} | |
}()) { | |
return this$.cljs$core$IFn$_invoke$arity$17(this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) | |
}else { | |
var x__2387__auto____7851 = this$ == null ? null : this$; | |
return function() { | |
var or__3824__auto____7852 = cljs.core._invoke[goog.typeOf(x__2387__auto____7851)]; | |
if(or__3824__auto____7852) { | |
return or__3824__auto____7852 | |
}else { | |
var or__3824__auto____7853 = cljs.core._invoke["_"]; | |
if(or__3824__auto____7853) { | |
return or__3824__auto____7853 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IFn.-invoke", this$); | |
} | |
} | |
}().call(null, this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) | |
} | |
}; | |
var _invoke__18 = function(this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) { | |
if(function() { | |
var and__3822__auto____7854 = this$; | |
if(and__3822__auto____7854) { | |
return this$.cljs$core$IFn$_invoke$arity$18 | |
}else { | |
return and__3822__auto____7854 | |
} | |
}()) { | |
return this$.cljs$core$IFn$_invoke$arity$18(this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) | |
}else { | |
var x__2387__auto____7855 = this$ == null ? null : this$; | |
return function() { | |
var or__3824__auto____7856 = cljs.core._invoke[goog.typeOf(x__2387__auto____7855)]; | |
if(or__3824__auto____7856) { | |
return or__3824__auto____7856 | |
}else { | |
var or__3824__auto____7857 = cljs.core._invoke["_"]; | |
if(or__3824__auto____7857) { | |
return or__3824__auto____7857 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IFn.-invoke", this$); | |
} | |
} | |
}().call(null, this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) | |
} | |
}; | |
var _invoke__19 = function(this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, s) { | |
if(function() { | |
var and__3822__auto____7858 = this$; | |
if(and__3822__auto____7858) { | |
return this$.cljs$core$IFn$_invoke$arity$19 | |
}else { | |
return and__3822__auto____7858 | |
} | |
}()) { | |
return this$.cljs$core$IFn$_invoke$arity$19(this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, s) | |
}else { | |
var x__2387__auto____7859 = this$ == null ? null : this$; | |
return function() { | |
var or__3824__auto____7860 = cljs.core._invoke[goog.typeOf(x__2387__auto____7859)]; | |
if(or__3824__auto____7860) { | |
return or__3824__auto____7860 | |
}else { | |
var or__3824__auto____7861 = cljs.core._invoke["_"]; | |
if(or__3824__auto____7861) { | |
return or__3824__auto____7861 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IFn.-invoke", this$); | |
} | |
} | |
}().call(null, this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, s) | |
} | |
}; | |
var _invoke__20 = function(this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, s, t) { | |
if(function() { | |
var and__3822__auto____7862 = this$; | |
if(and__3822__auto____7862) { | |
return this$.cljs$core$IFn$_invoke$arity$20 | |
}else { | |
return and__3822__auto____7862 | |
} | |
}()) { | |
return this$.cljs$core$IFn$_invoke$arity$20(this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, s, t) | |
}else { | |
var x__2387__auto____7863 = this$ == null ? null : this$; | |
return function() { | |
var or__3824__auto____7864 = cljs.core._invoke[goog.typeOf(x__2387__auto____7863)]; | |
if(or__3824__auto____7864) { | |
return or__3824__auto____7864 | |
}else { | |
var or__3824__auto____7865 = cljs.core._invoke["_"]; | |
if(or__3824__auto____7865) { | |
return or__3824__auto____7865 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IFn.-invoke", this$); | |
} | |
} | |
}().call(null, this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, s, t) | |
} | |
}; | |
var _invoke__21 = function(this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, s, t, rest) { | |
if(function() { | |
var and__3822__auto____7866 = this$; | |
if(and__3822__auto____7866) { | |
return this$.cljs$core$IFn$_invoke$arity$21 | |
}else { | |
return and__3822__auto____7866 | |
} | |
}()) { | |
return this$.cljs$core$IFn$_invoke$arity$21(this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, s, t, rest) | |
}else { | |
var x__2387__auto____7867 = this$ == null ? null : this$; | |
return function() { | |
var or__3824__auto____7868 = cljs.core._invoke[goog.typeOf(x__2387__auto____7867)]; | |
if(or__3824__auto____7868) { | |
return or__3824__auto____7868 | |
}else { | |
var or__3824__auto____7869 = cljs.core._invoke["_"]; | |
if(or__3824__auto____7869) { | |
return or__3824__auto____7869 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IFn.-invoke", this$); | |
} | |
} | |
}().call(null, this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, s, t, rest) | |
} | |
}; | |
_invoke = function(this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, s, t, rest) { | |
switch(arguments.length) { | |
case 1: | |
return _invoke__1.call(this, this$); | |
case 2: | |
return _invoke__2.call(this, this$, a); | |
case 3: | |
return _invoke__3.call(this, this$, a, b); | |
case 4: | |
return _invoke__4.call(this, this$, a, b, c); | |
case 5: | |
return _invoke__5.call(this, this$, a, b, c, d); | |
case 6: | |
return _invoke__6.call(this, this$, a, b, c, d, e); | |
case 7: | |
return _invoke__7.call(this, this$, a, b, c, d, e, f); | |
case 8: | |
return _invoke__8.call(this, this$, a, b, c, d, e, f, g); | |
case 9: | |
return _invoke__9.call(this, this$, a, b, c, d, e, f, g, h); | |
case 10: | |
return _invoke__10.call(this, this$, a, b, c, d, e, f, g, h, i); | |
case 11: | |
return _invoke__11.call(this, this$, a, b, c, d, e, f, g, h, i, j); | |
case 12: | |
return _invoke__12.call(this, this$, a, b, c, d, e, f, g, h, i, j, k); | |
case 13: | |
return _invoke__13.call(this, this$, a, b, c, d, e, f, g, h, i, j, k, l); | |
case 14: | |
return _invoke__14.call(this, this$, a, b, c, d, e, f, g, h, i, j, k, l, m); | |
case 15: | |
return _invoke__15.call(this, this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n); | |
case 16: | |
return _invoke__16.call(this, this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o); | |
case 17: | |
return _invoke__17.call(this, this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p); | |
case 18: | |
return _invoke__18.call(this, this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q); | |
case 19: | |
return _invoke__19.call(this, this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, s); | |
case 20: | |
return _invoke__20.call(this, this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, s, t); | |
case 21: | |
return _invoke__21.call(this, this$, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, s, t, rest) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
_invoke.cljs$lang$arity$1 = _invoke__1; | |
_invoke.cljs$lang$arity$2 = _invoke__2; | |
_invoke.cljs$lang$arity$3 = _invoke__3; | |
_invoke.cljs$lang$arity$4 = _invoke__4; | |
_invoke.cljs$lang$arity$5 = _invoke__5; | |
_invoke.cljs$lang$arity$6 = _invoke__6; | |
_invoke.cljs$lang$arity$7 = _invoke__7; | |
_invoke.cljs$lang$arity$8 = _invoke__8; | |
_invoke.cljs$lang$arity$9 = _invoke__9; | |
_invoke.cljs$lang$arity$10 = _invoke__10; | |
_invoke.cljs$lang$arity$11 = _invoke__11; | |
_invoke.cljs$lang$arity$12 = _invoke__12; | |
_invoke.cljs$lang$arity$13 = _invoke__13; | |
_invoke.cljs$lang$arity$14 = _invoke__14; | |
_invoke.cljs$lang$arity$15 = _invoke__15; | |
_invoke.cljs$lang$arity$16 = _invoke__16; | |
_invoke.cljs$lang$arity$17 = _invoke__17; | |
_invoke.cljs$lang$arity$18 = _invoke__18; | |
_invoke.cljs$lang$arity$19 = _invoke__19; | |
_invoke.cljs$lang$arity$20 = _invoke__20; | |
_invoke.cljs$lang$arity$21 = _invoke__21; | |
return _invoke | |
}(); | |
cljs.core.ICounted = {}; | |
cljs.core._count = function _count(coll) { | |
if(function() { | |
var and__3822__auto____7874 = coll; | |
if(and__3822__auto____7874) { | |
return coll.cljs$core$ICounted$_count$arity$1 | |
}else { | |
return and__3822__auto____7874 | |
} | |
}()) { | |
return coll.cljs$core$ICounted$_count$arity$1(coll) | |
}else { | |
var x__2387__auto____7875 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____7876 = cljs.core._count[goog.typeOf(x__2387__auto____7875)]; | |
if(or__3824__auto____7876) { | |
return or__3824__auto____7876 | |
}else { | |
var or__3824__auto____7877 = cljs.core._count["_"]; | |
if(or__3824__auto____7877) { | |
return or__3824__auto____7877 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "ICounted.-count", coll); | |
} | |
} | |
}().call(null, coll) | |
} | |
}; | |
cljs.core.IEmptyableCollection = {}; | |
cljs.core._empty = function _empty(coll) { | |
if(function() { | |
var and__3822__auto____7882 = coll; | |
if(and__3822__auto____7882) { | |
return coll.cljs$core$IEmptyableCollection$_empty$arity$1 | |
}else { | |
return and__3822__auto____7882 | |
} | |
}()) { | |
return coll.cljs$core$IEmptyableCollection$_empty$arity$1(coll) | |
}else { | |
var x__2387__auto____7883 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____7884 = cljs.core._empty[goog.typeOf(x__2387__auto____7883)]; | |
if(or__3824__auto____7884) { | |
return or__3824__auto____7884 | |
}else { | |
var or__3824__auto____7885 = cljs.core._empty["_"]; | |
if(or__3824__auto____7885) { | |
return or__3824__auto____7885 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IEmptyableCollection.-empty", coll); | |
} | |
} | |
}().call(null, coll) | |
} | |
}; | |
cljs.core.ICollection = {}; | |
cljs.core._conj = function _conj(coll, o) { | |
if(function() { | |
var and__3822__auto____7890 = coll; | |
if(and__3822__auto____7890) { | |
return coll.cljs$core$ICollection$_conj$arity$2 | |
}else { | |
return and__3822__auto____7890 | |
} | |
}()) { | |
return coll.cljs$core$ICollection$_conj$arity$2(coll, o) | |
}else { | |
var x__2387__auto____7891 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____7892 = cljs.core._conj[goog.typeOf(x__2387__auto____7891)]; | |
if(or__3824__auto____7892) { | |
return or__3824__auto____7892 | |
}else { | |
var or__3824__auto____7893 = cljs.core._conj["_"]; | |
if(or__3824__auto____7893) { | |
return or__3824__auto____7893 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "ICollection.-conj", coll); | |
} | |
} | |
}().call(null, coll, o) | |
} | |
}; | |
cljs.core.IIndexed = {}; | |
cljs.core._nth = function() { | |
var _nth = null; | |
var _nth__2 = function(coll, n) { | |
if(function() { | |
var and__3822__auto____7902 = coll; | |
if(and__3822__auto____7902) { | |
return coll.cljs$core$IIndexed$_nth$arity$2 | |
}else { | |
return and__3822__auto____7902 | |
} | |
}()) { | |
return coll.cljs$core$IIndexed$_nth$arity$2(coll, n) | |
}else { | |
var x__2387__auto____7903 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____7904 = cljs.core._nth[goog.typeOf(x__2387__auto____7903)]; | |
if(or__3824__auto____7904) { | |
return or__3824__auto____7904 | |
}else { | |
var or__3824__auto____7905 = cljs.core._nth["_"]; | |
if(or__3824__auto____7905) { | |
return or__3824__auto____7905 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IIndexed.-nth", coll); | |
} | |
} | |
}().call(null, coll, n) | |
} | |
}; | |
var _nth__3 = function(coll, n, not_found) { | |
if(function() { | |
var and__3822__auto____7906 = coll; | |
if(and__3822__auto____7906) { | |
return coll.cljs$core$IIndexed$_nth$arity$3 | |
}else { | |
return and__3822__auto____7906 | |
} | |
}()) { | |
return coll.cljs$core$IIndexed$_nth$arity$3(coll, n, not_found) | |
}else { | |
var x__2387__auto____7907 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____7908 = cljs.core._nth[goog.typeOf(x__2387__auto____7907)]; | |
if(or__3824__auto____7908) { | |
return or__3824__auto____7908 | |
}else { | |
var or__3824__auto____7909 = cljs.core._nth["_"]; | |
if(or__3824__auto____7909) { | |
return or__3824__auto____7909 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IIndexed.-nth", coll); | |
} | |
} | |
}().call(null, coll, n, not_found) | |
} | |
}; | |
_nth = function(coll, n, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return _nth__2.call(this, coll, n); | |
case 3: | |
return _nth__3.call(this, coll, n, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
_nth.cljs$lang$arity$2 = _nth__2; | |
_nth.cljs$lang$arity$3 = _nth__3; | |
return _nth | |
}(); | |
cljs.core.ASeq = {}; | |
cljs.core.ISeq = {}; | |
cljs.core._first = function _first(coll) { | |
if(function() { | |
var and__3822__auto____7914 = coll; | |
if(and__3822__auto____7914) { | |
return coll.cljs$core$ISeq$_first$arity$1 | |
}else { | |
return and__3822__auto____7914 | |
} | |
}()) { | |
return coll.cljs$core$ISeq$_first$arity$1(coll) | |
}else { | |
var x__2387__auto____7915 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____7916 = cljs.core._first[goog.typeOf(x__2387__auto____7915)]; | |
if(or__3824__auto____7916) { | |
return or__3824__auto____7916 | |
}else { | |
var or__3824__auto____7917 = cljs.core._first["_"]; | |
if(or__3824__auto____7917) { | |
return or__3824__auto____7917 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "ISeq.-first", coll); | |
} | |
} | |
}().call(null, coll) | |
} | |
}; | |
cljs.core._rest = function _rest(coll) { | |
if(function() { | |
var and__3822__auto____7922 = coll; | |
if(and__3822__auto____7922) { | |
return coll.cljs$core$ISeq$_rest$arity$1 | |
}else { | |
return and__3822__auto____7922 | |
} | |
}()) { | |
return coll.cljs$core$ISeq$_rest$arity$1(coll) | |
}else { | |
var x__2387__auto____7923 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____7924 = cljs.core._rest[goog.typeOf(x__2387__auto____7923)]; | |
if(or__3824__auto____7924) { | |
return or__3824__auto____7924 | |
}else { | |
var or__3824__auto____7925 = cljs.core._rest["_"]; | |
if(or__3824__auto____7925) { | |
return or__3824__auto____7925 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "ISeq.-rest", coll); | |
} | |
} | |
}().call(null, coll) | |
} | |
}; | |
cljs.core.INext = {}; | |
cljs.core._next = function _next(coll) { | |
if(function() { | |
var and__3822__auto____7930 = coll; | |
if(and__3822__auto____7930) { | |
return coll.cljs$core$INext$_next$arity$1 | |
}else { | |
return and__3822__auto____7930 | |
} | |
}()) { | |
return coll.cljs$core$INext$_next$arity$1(coll) | |
}else { | |
var x__2387__auto____7931 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____7932 = cljs.core._next[goog.typeOf(x__2387__auto____7931)]; | |
if(or__3824__auto____7932) { | |
return or__3824__auto____7932 | |
}else { | |
var or__3824__auto____7933 = cljs.core._next["_"]; | |
if(or__3824__auto____7933) { | |
return or__3824__auto____7933 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "INext.-next", coll); | |
} | |
} | |
}().call(null, coll) | |
} | |
}; | |
cljs.core.ILookup = {}; | |
cljs.core._lookup = function() { | |
var _lookup = null; | |
var _lookup__2 = function(o, k) { | |
if(function() { | |
var and__3822__auto____7942 = o; | |
if(and__3822__auto____7942) { | |
return o.cljs$core$ILookup$_lookup$arity$2 | |
}else { | |
return and__3822__auto____7942 | |
} | |
}()) { | |
return o.cljs$core$ILookup$_lookup$arity$2(o, k) | |
}else { | |
var x__2387__auto____7943 = o == null ? null : o; | |
return function() { | |
var or__3824__auto____7944 = cljs.core._lookup[goog.typeOf(x__2387__auto____7943)]; | |
if(or__3824__auto____7944) { | |
return or__3824__auto____7944 | |
}else { | |
var or__3824__auto____7945 = cljs.core._lookup["_"]; | |
if(or__3824__auto____7945) { | |
return or__3824__auto____7945 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "ILookup.-lookup", o); | |
} | |
} | |
}().call(null, o, k) | |
} | |
}; | |
var _lookup__3 = function(o, k, not_found) { | |
if(function() { | |
var and__3822__auto____7946 = o; | |
if(and__3822__auto____7946) { | |
return o.cljs$core$ILookup$_lookup$arity$3 | |
}else { | |
return and__3822__auto____7946 | |
} | |
}()) { | |
return o.cljs$core$ILookup$_lookup$arity$3(o, k, not_found) | |
}else { | |
var x__2387__auto____7947 = o == null ? null : o; | |
return function() { | |
var or__3824__auto____7948 = cljs.core._lookup[goog.typeOf(x__2387__auto____7947)]; | |
if(or__3824__auto____7948) { | |
return or__3824__auto____7948 | |
}else { | |
var or__3824__auto____7949 = cljs.core._lookup["_"]; | |
if(or__3824__auto____7949) { | |
return or__3824__auto____7949 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "ILookup.-lookup", o); | |
} | |
} | |
}().call(null, o, k, not_found) | |
} | |
}; | |
_lookup = function(o, k, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return _lookup__2.call(this, o, k); | |
case 3: | |
return _lookup__3.call(this, o, k, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
_lookup.cljs$lang$arity$2 = _lookup__2; | |
_lookup.cljs$lang$arity$3 = _lookup__3; | |
return _lookup | |
}(); | |
cljs.core.IAssociative = {}; | |
cljs.core._contains_key_QMARK_ = function _contains_key_QMARK_(coll, k) { | |
if(function() { | |
var and__3822__auto____7954 = coll; | |
if(and__3822__auto____7954) { | |
return coll.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 | |
}else { | |
return and__3822__auto____7954 | |
} | |
}()) { | |
return coll.cljs$core$IAssociative$_contains_key_QMARK_$arity$2(coll, k) | |
}else { | |
var x__2387__auto____7955 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____7956 = cljs.core._contains_key_QMARK_[goog.typeOf(x__2387__auto____7955)]; | |
if(or__3824__auto____7956) { | |
return or__3824__auto____7956 | |
}else { | |
var or__3824__auto____7957 = cljs.core._contains_key_QMARK_["_"]; | |
if(or__3824__auto____7957) { | |
return or__3824__auto____7957 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IAssociative.-contains-key?", coll); | |
} | |
} | |
}().call(null, coll, k) | |
} | |
}; | |
cljs.core._assoc = function _assoc(coll, k, v) { | |
if(function() { | |
var and__3822__auto____7962 = coll; | |
if(and__3822__auto____7962) { | |
return coll.cljs$core$IAssociative$_assoc$arity$3 | |
}else { | |
return and__3822__auto____7962 | |
} | |
}()) { | |
return coll.cljs$core$IAssociative$_assoc$arity$3(coll, k, v) | |
}else { | |
var x__2387__auto____7963 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____7964 = cljs.core._assoc[goog.typeOf(x__2387__auto____7963)]; | |
if(or__3824__auto____7964) { | |
return or__3824__auto____7964 | |
}else { | |
var or__3824__auto____7965 = cljs.core._assoc["_"]; | |
if(or__3824__auto____7965) { | |
return or__3824__auto____7965 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IAssociative.-assoc", coll); | |
} | |
} | |
}().call(null, coll, k, v) | |
} | |
}; | |
cljs.core.IMap = {}; | |
cljs.core._dissoc = function _dissoc(coll, k) { | |
if(function() { | |
var and__3822__auto____7970 = coll; | |
if(and__3822__auto____7970) { | |
return coll.cljs$core$IMap$_dissoc$arity$2 | |
}else { | |
return and__3822__auto____7970 | |
} | |
}()) { | |
return coll.cljs$core$IMap$_dissoc$arity$2(coll, k) | |
}else { | |
var x__2387__auto____7971 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____7972 = cljs.core._dissoc[goog.typeOf(x__2387__auto____7971)]; | |
if(or__3824__auto____7972) { | |
return or__3824__auto____7972 | |
}else { | |
var or__3824__auto____7973 = cljs.core._dissoc["_"]; | |
if(or__3824__auto____7973) { | |
return or__3824__auto____7973 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IMap.-dissoc", coll); | |
} | |
} | |
}().call(null, coll, k) | |
} | |
}; | |
cljs.core.IMapEntry = {}; | |
cljs.core._key = function _key(coll) { | |
if(function() { | |
var and__3822__auto____7978 = coll; | |
if(and__3822__auto____7978) { | |
return coll.cljs$core$IMapEntry$_key$arity$1 | |
}else { | |
return and__3822__auto____7978 | |
} | |
}()) { | |
return coll.cljs$core$IMapEntry$_key$arity$1(coll) | |
}else { | |
var x__2387__auto____7979 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____7980 = cljs.core._key[goog.typeOf(x__2387__auto____7979)]; | |
if(or__3824__auto____7980) { | |
return or__3824__auto____7980 | |
}else { | |
var or__3824__auto____7981 = cljs.core._key["_"]; | |
if(or__3824__auto____7981) { | |
return or__3824__auto____7981 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IMapEntry.-key", coll); | |
} | |
} | |
}().call(null, coll) | |
} | |
}; | |
cljs.core._val = function _val(coll) { | |
if(function() { | |
var and__3822__auto____7986 = coll; | |
if(and__3822__auto____7986) { | |
return coll.cljs$core$IMapEntry$_val$arity$1 | |
}else { | |
return and__3822__auto____7986 | |
} | |
}()) { | |
return coll.cljs$core$IMapEntry$_val$arity$1(coll) | |
}else { | |
var x__2387__auto____7987 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____7988 = cljs.core._val[goog.typeOf(x__2387__auto____7987)]; | |
if(or__3824__auto____7988) { | |
return or__3824__auto____7988 | |
}else { | |
var or__3824__auto____7989 = cljs.core._val["_"]; | |
if(or__3824__auto____7989) { | |
return or__3824__auto____7989 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IMapEntry.-val", coll); | |
} | |
} | |
}().call(null, coll) | |
} | |
}; | |
cljs.core.ISet = {}; | |
cljs.core._disjoin = function _disjoin(coll, v) { | |
if(function() { | |
var and__3822__auto____7994 = coll; | |
if(and__3822__auto____7994) { | |
return coll.cljs$core$ISet$_disjoin$arity$2 | |
}else { | |
return and__3822__auto____7994 | |
} | |
}()) { | |
return coll.cljs$core$ISet$_disjoin$arity$2(coll, v) | |
}else { | |
var x__2387__auto____7995 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____7996 = cljs.core._disjoin[goog.typeOf(x__2387__auto____7995)]; | |
if(or__3824__auto____7996) { | |
return or__3824__auto____7996 | |
}else { | |
var or__3824__auto____7997 = cljs.core._disjoin["_"]; | |
if(or__3824__auto____7997) { | |
return or__3824__auto____7997 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "ISet.-disjoin", coll); | |
} | |
} | |
}().call(null, coll, v) | |
} | |
}; | |
cljs.core.IStack = {}; | |
cljs.core._peek = function _peek(coll) { | |
if(function() { | |
var and__3822__auto____8002 = coll; | |
if(and__3822__auto____8002) { | |
return coll.cljs$core$IStack$_peek$arity$1 | |
}else { | |
return and__3822__auto____8002 | |
} | |
}()) { | |
return coll.cljs$core$IStack$_peek$arity$1(coll) | |
}else { | |
var x__2387__auto____8003 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____8004 = cljs.core._peek[goog.typeOf(x__2387__auto____8003)]; | |
if(or__3824__auto____8004) { | |
return or__3824__auto____8004 | |
}else { | |
var or__3824__auto____8005 = cljs.core._peek["_"]; | |
if(or__3824__auto____8005) { | |
return or__3824__auto____8005 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IStack.-peek", coll); | |
} | |
} | |
}().call(null, coll) | |
} | |
}; | |
cljs.core._pop = function _pop(coll) { | |
if(function() { | |
var and__3822__auto____8010 = coll; | |
if(and__3822__auto____8010) { | |
return coll.cljs$core$IStack$_pop$arity$1 | |
}else { | |
return and__3822__auto____8010 | |
} | |
}()) { | |
return coll.cljs$core$IStack$_pop$arity$1(coll) | |
}else { | |
var x__2387__auto____8011 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____8012 = cljs.core._pop[goog.typeOf(x__2387__auto____8011)]; | |
if(or__3824__auto____8012) { | |
return or__3824__auto____8012 | |
}else { | |
var or__3824__auto____8013 = cljs.core._pop["_"]; | |
if(or__3824__auto____8013) { | |
return or__3824__auto____8013 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IStack.-pop", coll); | |
} | |
} | |
}().call(null, coll) | |
} | |
}; | |
cljs.core.IVector = {}; | |
cljs.core._assoc_n = function _assoc_n(coll, n, val) { | |
if(function() { | |
var and__3822__auto____8018 = coll; | |
if(and__3822__auto____8018) { | |
return coll.cljs$core$IVector$_assoc_n$arity$3 | |
}else { | |
return and__3822__auto____8018 | |
} | |
}()) { | |
return coll.cljs$core$IVector$_assoc_n$arity$3(coll, n, val) | |
}else { | |
var x__2387__auto____8019 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____8020 = cljs.core._assoc_n[goog.typeOf(x__2387__auto____8019)]; | |
if(or__3824__auto____8020) { | |
return or__3824__auto____8020 | |
}else { | |
var or__3824__auto____8021 = cljs.core._assoc_n["_"]; | |
if(or__3824__auto____8021) { | |
return or__3824__auto____8021 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IVector.-assoc-n", coll); | |
} | |
} | |
}().call(null, coll, n, val) | |
} | |
}; | |
cljs.core.IDeref = {}; | |
cljs.core._deref = function _deref(o) { | |
if(function() { | |
var and__3822__auto____8026 = o; | |
if(and__3822__auto____8026) { | |
return o.cljs$core$IDeref$_deref$arity$1 | |
}else { | |
return and__3822__auto____8026 | |
} | |
}()) { | |
return o.cljs$core$IDeref$_deref$arity$1(o) | |
}else { | |
var x__2387__auto____8027 = o == null ? null : o; | |
return function() { | |
var or__3824__auto____8028 = cljs.core._deref[goog.typeOf(x__2387__auto____8027)]; | |
if(or__3824__auto____8028) { | |
return or__3824__auto____8028 | |
}else { | |
var or__3824__auto____8029 = cljs.core._deref["_"]; | |
if(or__3824__auto____8029) { | |
return or__3824__auto____8029 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IDeref.-deref", o); | |
} | |
} | |
}().call(null, o) | |
} | |
}; | |
cljs.core.IDerefWithTimeout = {}; | |
cljs.core._deref_with_timeout = function _deref_with_timeout(o, msec, timeout_val) { | |
if(function() { | |
var and__3822__auto____8034 = o; | |
if(and__3822__auto____8034) { | |
return o.cljs$core$IDerefWithTimeout$_deref_with_timeout$arity$3 | |
}else { | |
return and__3822__auto____8034 | |
} | |
}()) { | |
return o.cljs$core$IDerefWithTimeout$_deref_with_timeout$arity$3(o, msec, timeout_val) | |
}else { | |
var x__2387__auto____8035 = o == null ? null : o; | |
return function() { | |
var or__3824__auto____8036 = cljs.core._deref_with_timeout[goog.typeOf(x__2387__auto____8035)]; | |
if(or__3824__auto____8036) { | |
return or__3824__auto____8036 | |
}else { | |
var or__3824__auto____8037 = cljs.core._deref_with_timeout["_"]; | |
if(or__3824__auto____8037) { | |
return or__3824__auto____8037 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IDerefWithTimeout.-deref-with-timeout", o); | |
} | |
} | |
}().call(null, o, msec, timeout_val) | |
} | |
}; | |
cljs.core.IMeta = {}; | |
cljs.core._meta = function _meta(o) { | |
if(function() { | |
var and__3822__auto____8042 = o; | |
if(and__3822__auto____8042) { | |
return o.cljs$core$IMeta$_meta$arity$1 | |
}else { | |
return and__3822__auto____8042 | |
} | |
}()) { | |
return o.cljs$core$IMeta$_meta$arity$1(o) | |
}else { | |
var x__2387__auto____8043 = o == null ? null : o; | |
return function() { | |
var or__3824__auto____8044 = cljs.core._meta[goog.typeOf(x__2387__auto____8043)]; | |
if(or__3824__auto____8044) { | |
return or__3824__auto____8044 | |
}else { | |
var or__3824__auto____8045 = cljs.core._meta["_"]; | |
if(or__3824__auto____8045) { | |
return or__3824__auto____8045 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IMeta.-meta", o); | |
} | |
} | |
}().call(null, o) | |
} | |
}; | |
cljs.core.IWithMeta = {}; | |
cljs.core._with_meta = function _with_meta(o, meta) { | |
if(function() { | |
var and__3822__auto____8050 = o; | |
if(and__3822__auto____8050) { | |
return o.cljs$core$IWithMeta$_with_meta$arity$2 | |
}else { | |
return and__3822__auto____8050 | |
} | |
}()) { | |
return o.cljs$core$IWithMeta$_with_meta$arity$2(o, meta) | |
}else { | |
var x__2387__auto____8051 = o == null ? null : o; | |
return function() { | |
var or__3824__auto____8052 = cljs.core._with_meta[goog.typeOf(x__2387__auto____8051)]; | |
if(or__3824__auto____8052) { | |
return or__3824__auto____8052 | |
}else { | |
var or__3824__auto____8053 = cljs.core._with_meta["_"]; | |
if(or__3824__auto____8053) { | |
return or__3824__auto____8053 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IWithMeta.-with-meta", o); | |
} | |
} | |
}().call(null, o, meta) | |
} | |
}; | |
cljs.core.IReduce = {}; | |
cljs.core._reduce = function() { | |
var _reduce = null; | |
var _reduce__2 = function(coll, f) { | |
if(function() { | |
var and__3822__auto____8062 = coll; | |
if(and__3822__auto____8062) { | |
return coll.cljs$core$IReduce$_reduce$arity$2 | |
}else { | |
return and__3822__auto____8062 | |
} | |
}()) { | |
return coll.cljs$core$IReduce$_reduce$arity$2(coll, f) | |
}else { | |
var x__2387__auto____8063 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____8064 = cljs.core._reduce[goog.typeOf(x__2387__auto____8063)]; | |
if(or__3824__auto____8064) { | |
return or__3824__auto____8064 | |
}else { | |
var or__3824__auto____8065 = cljs.core._reduce["_"]; | |
if(or__3824__auto____8065) { | |
return or__3824__auto____8065 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IReduce.-reduce", coll); | |
} | |
} | |
}().call(null, coll, f) | |
} | |
}; | |
var _reduce__3 = function(coll, f, start) { | |
if(function() { | |
var and__3822__auto____8066 = coll; | |
if(and__3822__auto____8066) { | |
return coll.cljs$core$IReduce$_reduce$arity$3 | |
}else { | |
return and__3822__auto____8066 | |
} | |
}()) { | |
return coll.cljs$core$IReduce$_reduce$arity$3(coll, f, start) | |
}else { | |
var x__2387__auto____8067 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____8068 = cljs.core._reduce[goog.typeOf(x__2387__auto____8067)]; | |
if(or__3824__auto____8068) { | |
return or__3824__auto____8068 | |
}else { | |
var or__3824__auto____8069 = cljs.core._reduce["_"]; | |
if(or__3824__auto____8069) { | |
return or__3824__auto____8069 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IReduce.-reduce", coll); | |
} | |
} | |
}().call(null, coll, f, start) | |
} | |
}; | |
_reduce = function(coll, f, start) { | |
switch(arguments.length) { | |
case 2: | |
return _reduce__2.call(this, coll, f); | |
case 3: | |
return _reduce__3.call(this, coll, f, start) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
_reduce.cljs$lang$arity$2 = _reduce__2; | |
_reduce.cljs$lang$arity$3 = _reduce__3; | |
return _reduce | |
}(); | |
cljs.core.IKVReduce = {}; | |
cljs.core._kv_reduce = function _kv_reduce(coll, f, init) { | |
if(function() { | |
var and__3822__auto____8074 = coll; | |
if(and__3822__auto____8074) { | |
return coll.cljs$core$IKVReduce$_kv_reduce$arity$3 | |
}else { | |
return and__3822__auto____8074 | |
} | |
}()) { | |
return coll.cljs$core$IKVReduce$_kv_reduce$arity$3(coll, f, init) | |
}else { | |
var x__2387__auto____8075 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____8076 = cljs.core._kv_reduce[goog.typeOf(x__2387__auto____8075)]; | |
if(or__3824__auto____8076) { | |
return or__3824__auto____8076 | |
}else { | |
var or__3824__auto____8077 = cljs.core._kv_reduce["_"]; | |
if(or__3824__auto____8077) { | |
return or__3824__auto____8077 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IKVReduce.-kv-reduce", coll); | |
} | |
} | |
}().call(null, coll, f, init) | |
} | |
}; | |
cljs.core.IEquiv = {}; | |
cljs.core._equiv = function _equiv(o, other) { | |
if(function() { | |
var and__3822__auto____8082 = o; | |
if(and__3822__auto____8082) { | |
return o.cljs$core$IEquiv$_equiv$arity$2 | |
}else { | |
return and__3822__auto____8082 | |
} | |
}()) { | |
return o.cljs$core$IEquiv$_equiv$arity$2(o, other) | |
}else { | |
var x__2387__auto____8083 = o == null ? null : o; | |
return function() { | |
var or__3824__auto____8084 = cljs.core._equiv[goog.typeOf(x__2387__auto____8083)]; | |
if(or__3824__auto____8084) { | |
return or__3824__auto____8084 | |
}else { | |
var or__3824__auto____8085 = cljs.core._equiv["_"]; | |
if(or__3824__auto____8085) { | |
return or__3824__auto____8085 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IEquiv.-equiv", o); | |
} | |
} | |
}().call(null, o, other) | |
} | |
}; | |
cljs.core.IHash = {}; | |
cljs.core._hash = function _hash(o) { | |
if(function() { | |
var and__3822__auto____8090 = o; | |
if(and__3822__auto____8090) { | |
return o.cljs$core$IHash$_hash$arity$1 | |
}else { | |
return and__3822__auto____8090 | |
} | |
}()) { | |
return o.cljs$core$IHash$_hash$arity$1(o) | |
}else { | |
var x__2387__auto____8091 = o == null ? null : o; | |
return function() { | |
var or__3824__auto____8092 = cljs.core._hash[goog.typeOf(x__2387__auto____8091)]; | |
if(or__3824__auto____8092) { | |
return or__3824__auto____8092 | |
}else { | |
var or__3824__auto____8093 = cljs.core._hash["_"]; | |
if(or__3824__auto____8093) { | |
return or__3824__auto____8093 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IHash.-hash", o); | |
} | |
} | |
}().call(null, o) | |
} | |
}; | |
cljs.core.ISeqable = {}; | |
cljs.core._seq = function _seq(o) { | |
if(function() { | |
var and__3822__auto____8098 = o; | |
if(and__3822__auto____8098) { | |
return o.cljs$core$ISeqable$_seq$arity$1 | |
}else { | |
return and__3822__auto____8098 | |
} | |
}()) { | |
return o.cljs$core$ISeqable$_seq$arity$1(o) | |
}else { | |
var x__2387__auto____8099 = o == null ? null : o; | |
return function() { | |
var or__3824__auto____8100 = cljs.core._seq[goog.typeOf(x__2387__auto____8099)]; | |
if(or__3824__auto____8100) { | |
return or__3824__auto____8100 | |
}else { | |
var or__3824__auto____8101 = cljs.core._seq["_"]; | |
if(or__3824__auto____8101) { | |
return or__3824__auto____8101 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "ISeqable.-seq", o); | |
} | |
} | |
}().call(null, o) | |
} | |
}; | |
cljs.core.ISequential = {}; | |
cljs.core.IList = {}; | |
cljs.core.IRecord = {}; | |
cljs.core.IReversible = {}; | |
cljs.core._rseq = function _rseq(coll) { | |
if(function() { | |
var and__3822__auto____8106 = coll; | |
if(and__3822__auto____8106) { | |
return coll.cljs$core$IReversible$_rseq$arity$1 | |
}else { | |
return and__3822__auto____8106 | |
} | |
}()) { | |
return coll.cljs$core$IReversible$_rseq$arity$1(coll) | |
}else { | |
var x__2387__auto____8107 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____8108 = cljs.core._rseq[goog.typeOf(x__2387__auto____8107)]; | |
if(or__3824__auto____8108) { | |
return or__3824__auto____8108 | |
}else { | |
var or__3824__auto____8109 = cljs.core._rseq["_"]; | |
if(or__3824__auto____8109) { | |
return or__3824__auto____8109 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IReversible.-rseq", coll); | |
} | |
} | |
}().call(null, coll) | |
} | |
}; | |
cljs.core.ISorted = {}; | |
cljs.core._sorted_seq = function _sorted_seq(coll, ascending_QMARK_) { | |
if(function() { | |
var and__3822__auto____8114 = coll; | |
if(and__3822__auto____8114) { | |
return coll.cljs$core$ISorted$_sorted_seq$arity$2 | |
}else { | |
return and__3822__auto____8114 | |
} | |
}()) { | |
return coll.cljs$core$ISorted$_sorted_seq$arity$2(coll, ascending_QMARK_) | |
}else { | |
var x__2387__auto____8115 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____8116 = cljs.core._sorted_seq[goog.typeOf(x__2387__auto____8115)]; | |
if(or__3824__auto____8116) { | |
return or__3824__auto____8116 | |
}else { | |
var or__3824__auto____8117 = cljs.core._sorted_seq["_"]; | |
if(or__3824__auto____8117) { | |
return or__3824__auto____8117 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "ISorted.-sorted-seq", coll); | |
} | |
} | |
}().call(null, coll, ascending_QMARK_) | |
} | |
}; | |
cljs.core._sorted_seq_from = function _sorted_seq_from(coll, k, ascending_QMARK_) { | |
if(function() { | |
var and__3822__auto____8122 = coll; | |
if(and__3822__auto____8122) { | |
return coll.cljs$core$ISorted$_sorted_seq_from$arity$3 | |
}else { | |
return and__3822__auto____8122 | |
} | |
}()) { | |
return coll.cljs$core$ISorted$_sorted_seq_from$arity$3(coll, k, ascending_QMARK_) | |
}else { | |
var x__2387__auto____8123 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____8124 = cljs.core._sorted_seq_from[goog.typeOf(x__2387__auto____8123)]; | |
if(or__3824__auto____8124) { | |
return or__3824__auto____8124 | |
}else { | |
var or__3824__auto____8125 = cljs.core._sorted_seq_from["_"]; | |
if(or__3824__auto____8125) { | |
return or__3824__auto____8125 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "ISorted.-sorted-seq-from", coll); | |
} | |
} | |
}().call(null, coll, k, ascending_QMARK_) | |
} | |
}; | |
cljs.core._entry_key = function _entry_key(coll, entry) { | |
if(function() { | |
var and__3822__auto____8130 = coll; | |
if(and__3822__auto____8130) { | |
return coll.cljs$core$ISorted$_entry_key$arity$2 | |
}else { | |
return and__3822__auto____8130 | |
} | |
}()) { | |
return coll.cljs$core$ISorted$_entry_key$arity$2(coll, entry) | |
}else { | |
var x__2387__auto____8131 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____8132 = cljs.core._entry_key[goog.typeOf(x__2387__auto____8131)]; | |
if(or__3824__auto____8132) { | |
return or__3824__auto____8132 | |
}else { | |
var or__3824__auto____8133 = cljs.core._entry_key["_"]; | |
if(or__3824__auto____8133) { | |
return or__3824__auto____8133 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "ISorted.-entry-key", coll); | |
} | |
} | |
}().call(null, coll, entry) | |
} | |
}; | |
cljs.core._comparator = function _comparator(coll) { | |
if(function() { | |
var and__3822__auto____8138 = coll; | |
if(and__3822__auto____8138) { | |
return coll.cljs$core$ISorted$_comparator$arity$1 | |
}else { | |
return and__3822__auto____8138 | |
} | |
}()) { | |
return coll.cljs$core$ISorted$_comparator$arity$1(coll) | |
}else { | |
var x__2387__auto____8139 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____8140 = cljs.core._comparator[goog.typeOf(x__2387__auto____8139)]; | |
if(or__3824__auto____8140) { | |
return or__3824__auto____8140 | |
}else { | |
var or__3824__auto____8141 = cljs.core._comparator["_"]; | |
if(or__3824__auto____8141) { | |
return or__3824__auto____8141 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "ISorted.-comparator", coll); | |
} | |
} | |
}().call(null, coll) | |
} | |
}; | |
cljs.core.IPrintable = {}; | |
cljs.core._pr_seq = function _pr_seq(o, opts) { | |
if(function() { | |
var and__3822__auto____8146 = o; | |
if(and__3822__auto____8146) { | |
return o.cljs$core$IPrintable$_pr_seq$arity$2 | |
}else { | |
return and__3822__auto____8146 | |
} | |
}()) { | |
return o.cljs$core$IPrintable$_pr_seq$arity$2(o, opts) | |
}else { | |
var x__2387__auto____8147 = o == null ? null : o; | |
return function() { | |
var or__3824__auto____8148 = cljs.core._pr_seq[goog.typeOf(x__2387__auto____8147)]; | |
if(or__3824__auto____8148) { | |
return or__3824__auto____8148 | |
}else { | |
var or__3824__auto____8149 = cljs.core._pr_seq["_"]; | |
if(or__3824__auto____8149) { | |
return or__3824__auto____8149 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IPrintable.-pr-seq", o); | |
} | |
} | |
}().call(null, o, opts) | |
} | |
}; | |
cljs.core.IPending = {}; | |
cljs.core._realized_QMARK_ = function _realized_QMARK_(d) { | |
if(function() { | |
var and__3822__auto____8154 = d; | |
if(and__3822__auto____8154) { | |
return d.cljs$core$IPending$_realized_QMARK_$arity$1 | |
}else { | |
return and__3822__auto____8154 | |
} | |
}()) { | |
return d.cljs$core$IPending$_realized_QMARK_$arity$1(d) | |
}else { | |
var x__2387__auto____8155 = d == null ? null : d; | |
return function() { | |
var or__3824__auto____8156 = cljs.core._realized_QMARK_[goog.typeOf(x__2387__auto____8155)]; | |
if(or__3824__auto____8156) { | |
return or__3824__auto____8156 | |
}else { | |
var or__3824__auto____8157 = cljs.core._realized_QMARK_["_"]; | |
if(or__3824__auto____8157) { | |
return or__3824__auto____8157 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IPending.-realized?", d); | |
} | |
} | |
}().call(null, d) | |
} | |
}; | |
cljs.core.IWatchable = {}; | |
cljs.core._notify_watches = function _notify_watches(this$, oldval, newval) { | |
if(function() { | |
var and__3822__auto____8162 = this$; | |
if(and__3822__auto____8162) { | |
return this$.cljs$core$IWatchable$_notify_watches$arity$3 | |
}else { | |
return and__3822__auto____8162 | |
} | |
}()) { | |
return this$.cljs$core$IWatchable$_notify_watches$arity$3(this$, oldval, newval) | |
}else { | |
var x__2387__auto____8163 = this$ == null ? null : this$; | |
return function() { | |
var or__3824__auto____8164 = cljs.core._notify_watches[goog.typeOf(x__2387__auto____8163)]; | |
if(or__3824__auto____8164) { | |
return or__3824__auto____8164 | |
}else { | |
var or__3824__auto____8165 = cljs.core._notify_watches["_"]; | |
if(or__3824__auto____8165) { | |
return or__3824__auto____8165 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IWatchable.-notify-watches", this$); | |
} | |
} | |
}().call(null, this$, oldval, newval) | |
} | |
}; | |
cljs.core._add_watch = function _add_watch(this$, key, f) { | |
if(function() { | |
var and__3822__auto____8170 = this$; | |
if(and__3822__auto____8170) { | |
return this$.cljs$core$IWatchable$_add_watch$arity$3 | |
}else { | |
return and__3822__auto____8170 | |
} | |
}()) { | |
return this$.cljs$core$IWatchable$_add_watch$arity$3(this$, key, f) | |
}else { | |
var x__2387__auto____8171 = this$ == null ? null : this$; | |
return function() { | |
var or__3824__auto____8172 = cljs.core._add_watch[goog.typeOf(x__2387__auto____8171)]; | |
if(or__3824__auto____8172) { | |
return or__3824__auto____8172 | |
}else { | |
var or__3824__auto____8173 = cljs.core._add_watch["_"]; | |
if(or__3824__auto____8173) { | |
return or__3824__auto____8173 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IWatchable.-add-watch", this$); | |
} | |
} | |
}().call(null, this$, key, f) | |
} | |
}; | |
cljs.core._remove_watch = function _remove_watch(this$, key) { | |
if(function() { | |
var and__3822__auto____8178 = this$; | |
if(and__3822__auto____8178) { | |
return this$.cljs$core$IWatchable$_remove_watch$arity$2 | |
}else { | |
return and__3822__auto____8178 | |
} | |
}()) { | |
return this$.cljs$core$IWatchable$_remove_watch$arity$2(this$, key) | |
}else { | |
var x__2387__auto____8179 = this$ == null ? null : this$; | |
return function() { | |
var or__3824__auto____8180 = cljs.core._remove_watch[goog.typeOf(x__2387__auto____8179)]; | |
if(or__3824__auto____8180) { | |
return or__3824__auto____8180 | |
}else { | |
var or__3824__auto____8181 = cljs.core._remove_watch["_"]; | |
if(or__3824__auto____8181) { | |
return or__3824__auto____8181 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IWatchable.-remove-watch", this$); | |
} | |
} | |
}().call(null, this$, key) | |
} | |
}; | |
cljs.core.IEditableCollection = {}; | |
cljs.core._as_transient = function _as_transient(coll) { | |
if(function() { | |
var and__3822__auto____8186 = coll; | |
if(and__3822__auto____8186) { | |
return coll.cljs$core$IEditableCollection$_as_transient$arity$1 | |
}else { | |
return and__3822__auto____8186 | |
} | |
}()) { | |
return coll.cljs$core$IEditableCollection$_as_transient$arity$1(coll) | |
}else { | |
var x__2387__auto____8187 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____8188 = cljs.core._as_transient[goog.typeOf(x__2387__auto____8187)]; | |
if(or__3824__auto____8188) { | |
return or__3824__auto____8188 | |
}else { | |
var or__3824__auto____8189 = cljs.core._as_transient["_"]; | |
if(or__3824__auto____8189) { | |
return or__3824__auto____8189 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IEditableCollection.-as-transient", coll); | |
} | |
} | |
}().call(null, coll) | |
} | |
}; | |
cljs.core.ITransientCollection = {}; | |
cljs.core._conj_BANG_ = function _conj_BANG_(tcoll, val) { | |
if(function() { | |
var and__3822__auto____8194 = tcoll; | |
if(and__3822__auto____8194) { | |
return tcoll.cljs$core$ITransientCollection$_conj_BANG_$arity$2 | |
}else { | |
return and__3822__auto____8194 | |
} | |
}()) { | |
return tcoll.cljs$core$ITransientCollection$_conj_BANG_$arity$2(tcoll, val) | |
}else { | |
var x__2387__auto____8195 = tcoll == null ? null : tcoll; | |
return function() { | |
var or__3824__auto____8196 = cljs.core._conj_BANG_[goog.typeOf(x__2387__auto____8195)]; | |
if(or__3824__auto____8196) { | |
return or__3824__auto____8196 | |
}else { | |
var or__3824__auto____8197 = cljs.core._conj_BANG_["_"]; | |
if(or__3824__auto____8197) { | |
return or__3824__auto____8197 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "ITransientCollection.-conj!", tcoll); | |
} | |
} | |
}().call(null, tcoll, val) | |
} | |
}; | |
cljs.core._persistent_BANG_ = function _persistent_BANG_(tcoll) { | |
if(function() { | |
var and__3822__auto____8202 = tcoll; | |
if(and__3822__auto____8202) { | |
return tcoll.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 | |
}else { | |
return and__3822__auto____8202 | |
} | |
}()) { | |
return tcoll.cljs$core$ITransientCollection$_persistent_BANG_$arity$1(tcoll) | |
}else { | |
var x__2387__auto____8203 = tcoll == null ? null : tcoll; | |
return function() { | |
var or__3824__auto____8204 = cljs.core._persistent_BANG_[goog.typeOf(x__2387__auto____8203)]; | |
if(or__3824__auto____8204) { | |
return or__3824__auto____8204 | |
}else { | |
var or__3824__auto____8205 = cljs.core._persistent_BANG_["_"]; | |
if(or__3824__auto____8205) { | |
return or__3824__auto____8205 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "ITransientCollection.-persistent!", tcoll); | |
} | |
} | |
}().call(null, tcoll) | |
} | |
}; | |
cljs.core.ITransientAssociative = {}; | |
cljs.core._assoc_BANG_ = function _assoc_BANG_(tcoll, key, val) { | |
if(function() { | |
var and__3822__auto____8210 = tcoll; | |
if(and__3822__auto____8210) { | |
return tcoll.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 | |
}else { | |
return and__3822__auto____8210 | |
} | |
}()) { | |
return tcoll.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(tcoll, key, val) | |
}else { | |
var x__2387__auto____8211 = tcoll == null ? null : tcoll; | |
return function() { | |
var or__3824__auto____8212 = cljs.core._assoc_BANG_[goog.typeOf(x__2387__auto____8211)]; | |
if(or__3824__auto____8212) { | |
return or__3824__auto____8212 | |
}else { | |
var or__3824__auto____8213 = cljs.core._assoc_BANG_["_"]; | |
if(or__3824__auto____8213) { | |
return or__3824__auto____8213 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "ITransientAssociative.-assoc!", tcoll); | |
} | |
} | |
}().call(null, tcoll, key, val) | |
} | |
}; | |
cljs.core.ITransientMap = {}; | |
cljs.core._dissoc_BANG_ = function _dissoc_BANG_(tcoll, key) { | |
if(function() { | |
var and__3822__auto____8218 = tcoll; | |
if(and__3822__auto____8218) { | |
return tcoll.cljs$core$ITransientMap$_dissoc_BANG_$arity$2 | |
}else { | |
return and__3822__auto____8218 | |
} | |
}()) { | |
return tcoll.cljs$core$ITransientMap$_dissoc_BANG_$arity$2(tcoll, key) | |
}else { | |
var x__2387__auto____8219 = tcoll == null ? null : tcoll; | |
return function() { | |
var or__3824__auto____8220 = cljs.core._dissoc_BANG_[goog.typeOf(x__2387__auto____8219)]; | |
if(or__3824__auto____8220) { | |
return or__3824__auto____8220 | |
}else { | |
var or__3824__auto____8221 = cljs.core._dissoc_BANG_["_"]; | |
if(or__3824__auto____8221) { | |
return or__3824__auto____8221 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "ITransientMap.-dissoc!", tcoll); | |
} | |
} | |
}().call(null, tcoll, key) | |
} | |
}; | |
cljs.core.ITransientVector = {}; | |
cljs.core._assoc_n_BANG_ = function _assoc_n_BANG_(tcoll, n, val) { | |
if(function() { | |
var and__3822__auto____8226 = tcoll; | |
if(and__3822__auto____8226) { | |
return tcoll.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3 | |
}else { | |
return and__3822__auto____8226 | |
} | |
}()) { | |
return tcoll.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3(tcoll, n, val) | |
}else { | |
var x__2387__auto____8227 = tcoll == null ? null : tcoll; | |
return function() { | |
var or__3824__auto____8228 = cljs.core._assoc_n_BANG_[goog.typeOf(x__2387__auto____8227)]; | |
if(or__3824__auto____8228) { | |
return or__3824__auto____8228 | |
}else { | |
var or__3824__auto____8229 = cljs.core._assoc_n_BANG_["_"]; | |
if(or__3824__auto____8229) { | |
return or__3824__auto____8229 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "ITransientVector.-assoc-n!", tcoll); | |
} | |
} | |
}().call(null, tcoll, n, val) | |
} | |
}; | |
cljs.core._pop_BANG_ = function _pop_BANG_(tcoll) { | |
if(function() { | |
var and__3822__auto____8234 = tcoll; | |
if(and__3822__auto____8234) { | |
return tcoll.cljs$core$ITransientVector$_pop_BANG_$arity$1 | |
}else { | |
return and__3822__auto____8234 | |
} | |
}()) { | |
return tcoll.cljs$core$ITransientVector$_pop_BANG_$arity$1(tcoll) | |
}else { | |
var x__2387__auto____8235 = tcoll == null ? null : tcoll; | |
return function() { | |
var or__3824__auto____8236 = cljs.core._pop_BANG_[goog.typeOf(x__2387__auto____8235)]; | |
if(or__3824__auto____8236) { | |
return or__3824__auto____8236 | |
}else { | |
var or__3824__auto____8237 = cljs.core._pop_BANG_["_"]; | |
if(or__3824__auto____8237) { | |
return or__3824__auto____8237 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "ITransientVector.-pop!", tcoll); | |
} | |
} | |
}().call(null, tcoll) | |
} | |
}; | |
cljs.core.ITransientSet = {}; | |
cljs.core._disjoin_BANG_ = function _disjoin_BANG_(tcoll, v) { | |
if(function() { | |
var and__3822__auto____8242 = tcoll; | |
if(and__3822__auto____8242) { | |
return tcoll.cljs$core$ITransientSet$_disjoin_BANG_$arity$2 | |
}else { | |
return and__3822__auto____8242 | |
} | |
}()) { | |
return tcoll.cljs$core$ITransientSet$_disjoin_BANG_$arity$2(tcoll, v) | |
}else { | |
var x__2387__auto____8243 = tcoll == null ? null : tcoll; | |
return function() { | |
var or__3824__auto____8244 = cljs.core._disjoin_BANG_[goog.typeOf(x__2387__auto____8243)]; | |
if(or__3824__auto____8244) { | |
return or__3824__auto____8244 | |
}else { | |
var or__3824__auto____8245 = cljs.core._disjoin_BANG_["_"]; | |
if(or__3824__auto____8245) { | |
return or__3824__auto____8245 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "ITransientSet.-disjoin!", tcoll); | |
} | |
} | |
}().call(null, tcoll, v) | |
} | |
}; | |
cljs.core.IComparable = {}; | |
cljs.core._compare = function _compare(x, y) { | |
if(function() { | |
var and__3822__auto____8250 = x; | |
if(and__3822__auto____8250) { | |
return x.cljs$core$IComparable$_compare$arity$2 | |
}else { | |
return and__3822__auto____8250 | |
} | |
}()) { | |
return x.cljs$core$IComparable$_compare$arity$2(x, y) | |
}else { | |
var x__2387__auto____8251 = x == null ? null : x; | |
return function() { | |
var or__3824__auto____8252 = cljs.core._compare[goog.typeOf(x__2387__auto____8251)]; | |
if(or__3824__auto____8252) { | |
return or__3824__auto____8252 | |
}else { | |
var or__3824__auto____8253 = cljs.core._compare["_"]; | |
if(or__3824__auto____8253) { | |
return or__3824__auto____8253 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IComparable.-compare", x); | |
} | |
} | |
}().call(null, x, y) | |
} | |
}; | |
cljs.core.IChunk = {}; | |
cljs.core._drop_first = function _drop_first(coll) { | |
if(function() { | |
var and__3822__auto____8258 = coll; | |
if(and__3822__auto____8258) { | |
return coll.cljs$core$IChunk$_drop_first$arity$1 | |
}else { | |
return and__3822__auto____8258 | |
} | |
}()) { | |
return coll.cljs$core$IChunk$_drop_first$arity$1(coll) | |
}else { | |
var x__2387__auto____8259 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____8260 = cljs.core._drop_first[goog.typeOf(x__2387__auto____8259)]; | |
if(or__3824__auto____8260) { | |
return or__3824__auto____8260 | |
}else { | |
var or__3824__auto____8261 = cljs.core._drop_first["_"]; | |
if(or__3824__auto____8261) { | |
return or__3824__auto____8261 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IChunk.-drop-first", coll); | |
} | |
} | |
}().call(null, coll) | |
} | |
}; | |
cljs.core.IChunkedSeq = {}; | |
cljs.core._chunked_first = function _chunked_first(coll) { | |
if(function() { | |
var and__3822__auto____8266 = coll; | |
if(and__3822__auto____8266) { | |
return coll.cljs$core$IChunkedSeq$_chunked_first$arity$1 | |
}else { | |
return and__3822__auto____8266 | |
} | |
}()) { | |
return coll.cljs$core$IChunkedSeq$_chunked_first$arity$1(coll) | |
}else { | |
var x__2387__auto____8267 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____8268 = cljs.core._chunked_first[goog.typeOf(x__2387__auto____8267)]; | |
if(or__3824__auto____8268) { | |
return or__3824__auto____8268 | |
}else { | |
var or__3824__auto____8269 = cljs.core._chunked_first["_"]; | |
if(or__3824__auto____8269) { | |
return or__3824__auto____8269 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IChunkedSeq.-chunked-first", coll); | |
} | |
} | |
}().call(null, coll) | |
} | |
}; | |
cljs.core._chunked_rest = function _chunked_rest(coll) { | |
if(function() { | |
var and__3822__auto____8274 = coll; | |
if(and__3822__auto____8274) { | |
return coll.cljs$core$IChunkedSeq$_chunked_rest$arity$1 | |
}else { | |
return and__3822__auto____8274 | |
} | |
}()) { | |
return coll.cljs$core$IChunkedSeq$_chunked_rest$arity$1(coll) | |
}else { | |
var x__2387__auto____8275 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____8276 = cljs.core._chunked_rest[goog.typeOf(x__2387__auto____8275)]; | |
if(or__3824__auto____8276) { | |
return or__3824__auto____8276 | |
}else { | |
var or__3824__auto____8277 = cljs.core._chunked_rest["_"]; | |
if(or__3824__auto____8277) { | |
return or__3824__auto____8277 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IChunkedSeq.-chunked-rest", coll); | |
} | |
} | |
}().call(null, coll) | |
} | |
}; | |
cljs.core.IChunkedNext = {}; | |
cljs.core._chunked_next = function _chunked_next(coll) { | |
if(function() { | |
var and__3822__auto____8282 = coll; | |
if(and__3822__auto____8282) { | |
return coll.cljs$core$IChunkedNext$_chunked_next$arity$1 | |
}else { | |
return and__3822__auto____8282 | |
} | |
}()) { | |
return coll.cljs$core$IChunkedNext$_chunked_next$arity$1(coll) | |
}else { | |
var x__2387__auto____8283 = coll == null ? null : coll; | |
return function() { | |
var or__3824__auto____8284 = cljs.core._chunked_next[goog.typeOf(x__2387__auto____8283)]; | |
if(or__3824__auto____8284) { | |
return or__3824__auto____8284 | |
}else { | |
var or__3824__auto____8285 = cljs.core._chunked_next["_"]; | |
if(or__3824__auto____8285) { | |
return or__3824__auto____8285 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IChunkedNext.-chunked-next", coll); | |
} | |
} | |
}().call(null, coll) | |
} | |
}; | |
cljs.core.identical_QMARK_ = function identical_QMARK_(x, y) { | |
return x === y | |
}; | |
cljs.core._EQ_ = function() { | |
var _EQ_ = null; | |
var _EQ___1 = function(x) { | |
return true | |
}; | |
var _EQ___2 = function(x, y) { | |
var or__3824__auto____8287 = x === y; | |
if(or__3824__auto____8287) { | |
return or__3824__auto____8287 | |
}else { | |
return cljs.core._equiv.call(null, x, y) | |
} | |
}; | |
var _EQ___3 = function() { | |
var G__8288__delegate = function(x, y, more) { | |
while(true) { | |
if(cljs.core.truth_(_EQ_.call(null, x, y))) { | |
if(cljs.core.next.call(null, more)) { | |
var G__8289 = y; | |
var G__8290 = cljs.core.first.call(null, more); | |
var G__8291 = cljs.core.next.call(null, more); | |
x = G__8289; | |
y = G__8290; | |
more = G__8291; | |
continue | |
}else { | |
return _EQ_.call(null, y, cljs.core.first.call(null, more)) | |
} | |
}else { | |
return false | |
} | |
break | |
} | |
}; | |
var G__8288 = function(x, y, var_args) { | |
var more = null; | |
if(goog.isDef(var_args)) { | |
more = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2), 0) | |
} | |
return G__8288__delegate.call(this, x, y, more) | |
}; | |
G__8288.cljs$lang$maxFixedArity = 2; | |
G__8288.cljs$lang$applyTo = function(arglist__8292) { | |
var x = cljs.core.first(arglist__8292); | |
var y = cljs.core.first(cljs.core.next(arglist__8292)); | |
var more = cljs.core.rest(cljs.core.next(arglist__8292)); | |
return G__8288__delegate(x, y, more) | |
}; | |
G__8288.cljs$lang$arity$variadic = G__8288__delegate; | |
return G__8288 | |
}(); | |
_EQ_ = function(x, y, var_args) { | |
var more = var_args; | |
switch(arguments.length) { | |
case 1: | |
return _EQ___1.call(this, x); | |
case 2: | |
return _EQ___2.call(this, x, y); | |
default: | |
return _EQ___3.cljs$lang$arity$variadic(x, y, cljs.core.array_seq(arguments, 2)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
_EQ_.cljs$lang$maxFixedArity = 2; | |
_EQ_.cljs$lang$applyTo = _EQ___3.cljs$lang$applyTo; | |
_EQ_.cljs$lang$arity$1 = _EQ___1; | |
_EQ_.cljs$lang$arity$2 = _EQ___2; | |
_EQ_.cljs$lang$arity$variadic = _EQ___3.cljs$lang$arity$variadic; | |
return _EQ_ | |
}(); | |
cljs.core.nil_QMARK_ = function nil_QMARK_(x) { | |
return x == null | |
}; | |
cljs.core.type = function type(x) { | |
if(x == null) { | |
return null | |
}else { | |
return x.constructor | |
} | |
}; | |
cljs.core.instance_QMARK_ = function instance_QMARK_(t, o) { | |
return o instanceof t | |
}; | |
cljs.core.IHash["null"] = true; | |
cljs.core._hash["null"] = function(o) { | |
return 0 | |
}; | |
cljs.core.ILookup["null"] = true; | |
cljs.core._lookup["null"] = function() { | |
var G__8293 = null; | |
var G__8293__2 = function(o, k) { | |
return null | |
}; | |
var G__8293__3 = function(o, k, not_found) { | |
return not_found | |
}; | |
G__8293 = function(o, k, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return G__8293__2.call(this, o, k); | |
case 3: | |
return G__8293__3.call(this, o, k, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__8293 | |
}(); | |
cljs.core.IAssociative["null"] = true; | |
cljs.core._assoc["null"] = function(_, k, v) { | |
return cljs.core.hash_map.call(null, k, v) | |
}; | |
cljs.core.INext["null"] = true; | |
cljs.core._next["null"] = function(_) { | |
return null | |
}; | |
cljs.core.ICollection["null"] = true; | |
cljs.core._conj["null"] = function(_, o) { | |
return cljs.core.list.call(null, o) | |
}; | |
cljs.core.IReduce["null"] = true; | |
cljs.core._reduce["null"] = function() { | |
var G__8294 = null; | |
var G__8294__2 = function(_, f) { | |
return f.call(null) | |
}; | |
var G__8294__3 = function(_, f, start) { | |
return start | |
}; | |
G__8294 = function(_, f, start) { | |
switch(arguments.length) { | |
case 2: | |
return G__8294__2.call(this, _, f); | |
case 3: | |
return G__8294__3.call(this, _, f, start) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__8294 | |
}(); | |
cljs.core.IPrintable["null"] = true; | |
cljs.core._pr_seq["null"] = function(o) { | |
return cljs.core.list.call(null, "nil") | |
}; | |
cljs.core.ISet["null"] = true; | |
cljs.core._disjoin["null"] = function(_, v) { | |
return null | |
}; | |
cljs.core.ICounted["null"] = true; | |
cljs.core._count["null"] = function(_) { | |
return 0 | |
}; | |
cljs.core.IStack["null"] = true; | |
cljs.core._peek["null"] = function(_) { | |
return null | |
}; | |
cljs.core._pop["null"] = function(_) { | |
return null | |
}; | |
cljs.core.ISeq["null"] = true; | |
cljs.core._first["null"] = function(_) { | |
return null | |
}; | |
cljs.core._rest["null"] = function(_) { | |
return cljs.core.list.call(null) | |
}; | |
cljs.core.IEquiv["null"] = true; | |
cljs.core._equiv["null"] = function(_, o) { | |
return o == null | |
}; | |
cljs.core.IWithMeta["null"] = true; | |
cljs.core._with_meta["null"] = function(_, meta) { | |
return null | |
}; | |
cljs.core.IMeta["null"] = true; | |
cljs.core._meta["null"] = function(_) { | |
return null | |
}; | |
cljs.core.IIndexed["null"] = true; | |
cljs.core._nth["null"] = function() { | |
var G__8295 = null; | |
var G__8295__2 = function(_, n) { | |
return null | |
}; | |
var G__8295__3 = function(_, n, not_found) { | |
return not_found | |
}; | |
G__8295 = function(_, n, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return G__8295__2.call(this, _, n); | |
case 3: | |
return G__8295__3.call(this, _, n, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__8295 | |
}(); | |
cljs.core.IEmptyableCollection["null"] = true; | |
cljs.core._empty["null"] = function(_) { | |
return null | |
}; | |
cljs.core.IMap["null"] = true; | |
cljs.core._dissoc["null"] = function(_, k) { | |
return null | |
}; | |
Date.prototype.cljs$core$IEquiv$ = true; | |
Date.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(o, other) { | |
var and__3822__auto____8296 = cljs.core.instance_QMARK_.call(null, Date, other); | |
if(and__3822__auto____8296) { | |
return o.toString() === other.toString() | |
}else { | |
return and__3822__auto____8296 | |
} | |
}; | |
cljs.core.IHash["number"] = true; | |
cljs.core._hash["number"] = function(o) { | |
return o | |
}; | |
cljs.core.IEquiv["number"] = true; | |
cljs.core._equiv["number"] = function(x, o) { | |
return x === o | |
}; | |
cljs.core.IHash["boolean"] = true; | |
cljs.core._hash["boolean"] = function(o) { | |
if(o === true) { | |
return 1 | |
}else { | |
return 0 | |
} | |
}; | |
cljs.core.IHash["_"] = true; | |
cljs.core._hash["_"] = function(o) { | |
return goog.getUid(o) | |
}; | |
cljs.core.inc = function inc(x) { | |
return x + 1 | |
}; | |
cljs.core.ci_reduce = function() { | |
var ci_reduce = null; | |
var ci_reduce__2 = function(cicoll, f) { | |
var cnt__8309 = cljs.core._count.call(null, cicoll); | |
if(cnt__8309 === 0) { | |
return f.call(null) | |
}else { | |
var val__8310 = cljs.core._nth.call(null, cicoll, 0); | |
var n__8311 = 1; | |
while(true) { | |
if(n__8311 < cnt__8309) { | |
var nval__8312 = f.call(null, val__8310, cljs.core._nth.call(null, cicoll, n__8311)); | |
if(cljs.core.reduced_QMARK_.call(null, nval__8312)) { | |
return cljs.core.deref.call(null, nval__8312) | |
}else { | |
var G__8321 = nval__8312; | |
var G__8322 = n__8311 + 1; | |
val__8310 = G__8321; | |
n__8311 = G__8322; | |
continue | |
} | |
}else { | |
return val__8310 | |
} | |
break | |
} | |
} | |
}; | |
var ci_reduce__3 = function(cicoll, f, val) { | |
var cnt__8313 = cljs.core._count.call(null, cicoll); | |
var val__8314 = val; | |
var n__8315 = 0; | |
while(true) { | |
if(n__8315 < cnt__8313) { | |
var nval__8316 = f.call(null, val__8314, cljs.core._nth.call(null, cicoll, n__8315)); | |
if(cljs.core.reduced_QMARK_.call(null, nval__8316)) { | |
return cljs.core.deref.call(null, nval__8316) | |
}else { | |
var G__8323 = nval__8316; | |
var G__8324 = n__8315 + 1; | |
val__8314 = G__8323; | |
n__8315 = G__8324; | |
continue | |
} | |
}else { | |
return val__8314 | |
} | |
break | |
} | |
}; | |
var ci_reduce__4 = function(cicoll, f, val, idx) { | |
var cnt__8317 = cljs.core._count.call(null, cicoll); | |
var val__8318 = val; | |
var n__8319 = idx; | |
while(true) { | |
if(n__8319 < cnt__8317) { | |
var nval__8320 = f.call(null, val__8318, cljs.core._nth.call(null, cicoll, n__8319)); | |
if(cljs.core.reduced_QMARK_.call(null, nval__8320)) { | |
return cljs.core.deref.call(null, nval__8320) | |
}else { | |
var G__8325 = nval__8320; | |
var G__8326 = n__8319 + 1; | |
val__8318 = G__8325; | |
n__8319 = G__8326; | |
continue | |
} | |
}else { | |
return val__8318 | |
} | |
break | |
} | |
}; | |
ci_reduce = function(cicoll, f, val, idx) { | |
switch(arguments.length) { | |
case 2: | |
return ci_reduce__2.call(this, cicoll, f); | |
case 3: | |
return ci_reduce__3.call(this, cicoll, f, val); | |
case 4: | |
return ci_reduce__4.call(this, cicoll, f, val, idx) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
ci_reduce.cljs$lang$arity$2 = ci_reduce__2; | |
ci_reduce.cljs$lang$arity$3 = ci_reduce__3; | |
ci_reduce.cljs$lang$arity$4 = ci_reduce__4; | |
return ci_reduce | |
}(); | |
cljs.core.array_reduce = function() { | |
var array_reduce = null; | |
var array_reduce__2 = function(arr, f) { | |
var cnt__8339 = arr.length; | |
if(arr.length === 0) { | |
return f.call(null) | |
}else { | |
var val__8340 = arr[0]; | |
var n__8341 = 1; | |
while(true) { | |
if(n__8341 < cnt__8339) { | |
var nval__8342 = f.call(null, val__8340, arr[n__8341]); | |
if(cljs.core.reduced_QMARK_.call(null, nval__8342)) { | |
return cljs.core.deref.call(null, nval__8342) | |
}else { | |
var G__8351 = nval__8342; | |
var G__8352 = n__8341 + 1; | |
val__8340 = G__8351; | |
n__8341 = G__8352; | |
continue | |
} | |
}else { | |
return val__8340 | |
} | |
break | |
} | |
} | |
}; | |
var array_reduce__3 = function(arr, f, val) { | |
var cnt__8343 = arr.length; | |
var val__8344 = val; | |
var n__8345 = 0; | |
while(true) { | |
if(n__8345 < cnt__8343) { | |
var nval__8346 = f.call(null, val__8344, arr[n__8345]); | |
if(cljs.core.reduced_QMARK_.call(null, nval__8346)) { | |
return cljs.core.deref.call(null, nval__8346) | |
}else { | |
var G__8353 = nval__8346; | |
var G__8354 = n__8345 + 1; | |
val__8344 = G__8353; | |
n__8345 = G__8354; | |
continue | |
} | |
}else { | |
return val__8344 | |
} | |
break | |
} | |
}; | |
var array_reduce__4 = function(arr, f, val, idx) { | |
var cnt__8347 = arr.length; | |
var val__8348 = val; | |
var n__8349 = idx; | |
while(true) { | |
if(n__8349 < cnt__8347) { | |
var nval__8350 = f.call(null, val__8348, arr[n__8349]); | |
if(cljs.core.reduced_QMARK_.call(null, nval__8350)) { | |
return cljs.core.deref.call(null, nval__8350) | |
}else { | |
var G__8355 = nval__8350; | |
var G__8356 = n__8349 + 1; | |
val__8348 = G__8355; | |
n__8349 = G__8356; | |
continue | |
} | |
}else { | |
return val__8348 | |
} | |
break | |
} | |
}; | |
array_reduce = function(arr, f, val, idx) { | |
switch(arguments.length) { | |
case 2: | |
return array_reduce__2.call(this, arr, f); | |
case 3: | |
return array_reduce__3.call(this, arr, f, val); | |
case 4: | |
return array_reduce__4.call(this, arr, f, val, idx) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
array_reduce.cljs$lang$arity$2 = array_reduce__2; | |
array_reduce.cljs$lang$arity$3 = array_reduce__3; | |
array_reduce.cljs$lang$arity$4 = array_reduce__4; | |
return array_reduce | |
}(); | |
cljs.core.IndexedSeq = function(a, i) { | |
this.a = a; | |
this.i = i; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 166199546 | |
}; | |
cljs.core.IndexedSeq.cljs$lang$type = true; | |
cljs.core.IndexedSeq.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/IndexedSeq") | |
}; | |
cljs.core.IndexedSeq.prototype.cljs$core$IHash$_hash$arity$1 = function(coll) { | |
var this__8357 = this; | |
return cljs.core.hash_coll.call(null, coll) | |
}; | |
cljs.core.IndexedSeq.prototype.cljs$core$INext$_next$arity$1 = function(_) { | |
var this__8358 = this; | |
if(this__8358.i + 1 < this__8358.a.length) { | |
return new cljs.core.IndexedSeq(this__8358.a, this__8358.i + 1) | |
}else { | |
return null | |
} | |
}; | |
cljs.core.IndexedSeq.prototype.cljs$core$ICollection$_conj$arity$2 = function(coll, o) { | |
var this__8359 = this; | |
return cljs.core.cons.call(null, o, coll) | |
}; | |
cljs.core.IndexedSeq.prototype.cljs$core$IReversible$_rseq$arity$1 = function(coll) { | |
var this__8360 = this; | |
var c__8361 = coll.cljs$core$ICounted$_count$arity$1(coll); | |
if(c__8361 > 0) { | |
return new cljs.core.RSeq(coll, c__8361 - 1, null) | |
}else { | |
return cljs.core.List.EMPTY | |
} | |
}; | |
cljs.core.IndexedSeq.prototype.toString = function() { | |
var this__8362 = this; | |
var this__8363 = this; | |
return cljs.core.pr_str.call(null, this__8363) | |
}; | |
cljs.core.IndexedSeq.prototype.cljs$core$IReduce$_reduce$arity$2 = function(coll, f) { | |
var this__8364 = this; | |
if(cljs.core.counted_QMARK_.call(null, this__8364.a)) { | |
return cljs.core.ci_reduce.call(null, this__8364.a, f, this__8364.a[this__8364.i], this__8364.i + 1) | |
}else { | |
return cljs.core.ci_reduce.call(null, coll, f, this__8364.a[this__8364.i], 0) | |
} | |
}; | |
cljs.core.IndexedSeq.prototype.cljs$core$IReduce$_reduce$arity$3 = function(coll, f, start) { | |
var this__8365 = this; | |
if(cljs.core.counted_QMARK_.call(null, this__8365.a)) { | |
return cljs.core.ci_reduce.call(null, this__8365.a, f, start, this__8365.i) | |
}else { | |
return cljs.core.ci_reduce.call(null, coll, f, start, 0) | |
} | |
}; | |
cljs.core.IndexedSeq.prototype.cljs$core$ISeqable$_seq$arity$1 = function(this$) { | |
var this__8366 = this; | |
return this$ | |
}; | |
cljs.core.IndexedSeq.prototype.cljs$core$ICounted$_count$arity$1 = function(_) { | |
var this__8367 = this; | |
return this__8367.a.length - this__8367.i | |
}; | |
cljs.core.IndexedSeq.prototype.cljs$core$ISeq$_first$arity$1 = function(_) { | |
var this__8368 = this; | |
return this__8368.a[this__8368.i] | |
}; | |
cljs.core.IndexedSeq.prototype.cljs$core$ISeq$_rest$arity$1 = function(_) { | |
var this__8369 = this; | |
if(this__8369.i + 1 < this__8369.a.length) { | |
return new cljs.core.IndexedSeq(this__8369.a, this__8369.i + 1) | |
}else { | |
return cljs.core.list.call(null) | |
} | |
}; | |
cljs.core.IndexedSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__8370 = this; | |
return cljs.core.equiv_sequential.call(null, coll, other) | |
}; | |
cljs.core.IndexedSeq.prototype.cljs$core$IIndexed$_nth$arity$2 = function(coll, n) { | |
var this__8371 = this; | |
var i__8372 = n + this__8371.i; | |
if(i__8372 < this__8371.a.length) { | |
return this__8371.a[i__8372] | |
}else { | |
return null | |
} | |
}; | |
cljs.core.IndexedSeq.prototype.cljs$core$IIndexed$_nth$arity$3 = function(coll, n, not_found) { | |
var this__8373 = this; | |
var i__8374 = n + this__8373.i; | |
if(i__8374 < this__8373.a.length) { | |
return this__8373.a[i__8374] | |
}else { | |
return not_found | |
} | |
}; | |
cljs.core.IndexedSeq; | |
cljs.core.prim_seq = function() { | |
var prim_seq = null; | |
var prim_seq__1 = function(prim) { | |
return prim_seq.call(null, prim, 0) | |
}; | |
var prim_seq__2 = function(prim, i) { | |
if(prim.length === 0) { | |
return null | |
}else { | |
return new cljs.core.IndexedSeq(prim, i) | |
} | |
}; | |
prim_seq = function(prim, i) { | |
switch(arguments.length) { | |
case 1: | |
return prim_seq__1.call(this, prim); | |
case 2: | |
return prim_seq__2.call(this, prim, i) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
prim_seq.cljs$lang$arity$1 = prim_seq__1; | |
prim_seq.cljs$lang$arity$2 = prim_seq__2; | |
return prim_seq | |
}(); | |
cljs.core.array_seq = function() { | |
var array_seq = null; | |
var array_seq__1 = function(array) { | |
return cljs.core.prim_seq.call(null, array, 0) | |
}; | |
var array_seq__2 = function(array, i) { | |
return cljs.core.prim_seq.call(null, array, i) | |
}; | |
array_seq = function(array, i) { | |
switch(arguments.length) { | |
case 1: | |
return array_seq__1.call(this, array); | |
case 2: | |
return array_seq__2.call(this, array, i) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
array_seq.cljs$lang$arity$1 = array_seq__1; | |
array_seq.cljs$lang$arity$2 = array_seq__2; | |
return array_seq | |
}(); | |
cljs.core.IReduce["array"] = true; | |
cljs.core._reduce["array"] = function() { | |
var G__8375 = null; | |
var G__8375__2 = function(array, f) { | |
return cljs.core.ci_reduce.call(null, array, f) | |
}; | |
var G__8375__3 = function(array, f, start) { | |
return cljs.core.ci_reduce.call(null, array, f, start) | |
}; | |
G__8375 = function(array, f, start) { | |
switch(arguments.length) { | |
case 2: | |
return G__8375__2.call(this, array, f); | |
case 3: | |
return G__8375__3.call(this, array, f, start) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__8375 | |
}(); | |
cljs.core.ILookup["array"] = true; | |
cljs.core._lookup["array"] = function() { | |
var G__8376 = null; | |
var G__8376__2 = function(array, k) { | |
return array[k] | |
}; | |
var G__8376__3 = function(array, k, not_found) { | |
return cljs.core._nth.call(null, array, k, not_found) | |
}; | |
G__8376 = function(array, k, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return G__8376__2.call(this, array, k); | |
case 3: | |
return G__8376__3.call(this, array, k, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__8376 | |
}(); | |
cljs.core.IIndexed["array"] = true; | |
cljs.core._nth["array"] = function() { | |
var G__8377 = null; | |
var G__8377__2 = function(array, n) { | |
if(n < array.length) { | |
return array[n] | |
}else { | |
return null | |
} | |
}; | |
var G__8377__3 = function(array, n, not_found) { | |
if(n < array.length) { | |
return array[n] | |
}else { | |
return not_found | |
} | |
}; | |
G__8377 = function(array, n, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return G__8377__2.call(this, array, n); | |
case 3: | |
return G__8377__3.call(this, array, n, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__8377 | |
}(); | |
cljs.core.ICounted["array"] = true; | |
cljs.core._count["array"] = function(a) { | |
return a.length | |
}; | |
cljs.core.ISeqable["array"] = true; | |
cljs.core._seq["array"] = function(array) { | |
return cljs.core.array_seq.call(null, array, 0) | |
}; | |
cljs.core.RSeq = function(ci, i, meta) { | |
this.ci = ci; | |
this.i = i; | |
this.meta = meta; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 31850570 | |
}; | |
cljs.core.RSeq.cljs$lang$type = true; | |
cljs.core.RSeq.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/RSeq") | |
}; | |
cljs.core.RSeq.prototype.cljs$core$IHash$_hash$arity$1 = function(coll) { | |
var this__8378 = this; | |
return cljs.core.hash_coll.call(null, coll) | |
}; | |
cljs.core.RSeq.prototype.cljs$core$ICollection$_conj$arity$2 = function(coll, o) { | |
var this__8379 = this; | |
return cljs.core.cons.call(null, o, coll) | |
}; | |
cljs.core.RSeq.prototype.toString = function() { | |
var this__8380 = this; | |
var this__8381 = this; | |
return cljs.core.pr_str.call(null, this__8381) | |
}; | |
cljs.core.RSeq.prototype.cljs$core$ISeqable$_seq$arity$1 = function(coll) { | |
var this__8382 = this; | |
return coll | |
}; | |
cljs.core.RSeq.prototype.cljs$core$ICounted$_count$arity$1 = function(coll) { | |
var this__8383 = this; | |
return this__8383.i + 1 | |
}; | |
cljs.core.RSeq.prototype.cljs$core$ISeq$_first$arity$1 = function(coll) { | |
var this__8384 = this; | |
return cljs.core._nth.call(null, this__8384.ci, this__8384.i) | |
}; | |
cljs.core.RSeq.prototype.cljs$core$ISeq$_rest$arity$1 = function(coll) { | |
var this__8385 = this; | |
if(this__8385.i > 0) { | |
return new cljs.core.RSeq(this__8385.ci, this__8385.i - 1, null) | |
}else { | |
return cljs.core.List.EMPTY | |
} | |
}; | |
cljs.core.RSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__8386 = this; | |
return cljs.core.equiv_sequential.call(null, coll, other) | |
}; | |
cljs.core.RSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(coll, new_meta) { | |
var this__8387 = this; | |
return new cljs.core.RSeq(this__8387.ci, this__8387.i, new_meta) | |
}; | |
cljs.core.RSeq.prototype.cljs$core$IMeta$_meta$arity$1 = function(coll) { | |
var this__8388 = this; | |
return this__8388.meta | |
}; | |
cljs.core.RSeq; | |
cljs.core.seq = function seq(coll) { | |
if(coll == null) { | |
return null | |
}else { | |
if(function() { | |
var G__8392__8393 = coll; | |
if(G__8392__8393) { | |
if(function() { | |
var or__3824__auto____8394 = G__8392__8393.cljs$lang$protocol_mask$partition0$ & 32; | |
if(or__3824__auto____8394) { | |
return or__3824__auto____8394 | |
}else { | |
return G__8392__8393.cljs$core$ASeq$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__8392__8393.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.ASeq, G__8392__8393) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.ASeq, G__8392__8393) | |
} | |
}()) { | |
return coll | |
}else { | |
return cljs.core._seq.call(null, coll) | |
} | |
} | |
}; | |
cljs.core.first = function first(coll) { | |
if(coll == null) { | |
return null | |
}else { | |
if(function() { | |
var G__8399__8400 = coll; | |
if(G__8399__8400) { | |
if(function() { | |
var or__3824__auto____8401 = G__8399__8400.cljs$lang$protocol_mask$partition0$ & 64; | |
if(or__3824__auto____8401) { | |
return or__3824__auto____8401 | |
}else { | |
return G__8399__8400.cljs$core$ISeq$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__8399__8400.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.ISeq, G__8399__8400) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.ISeq, G__8399__8400) | |
} | |
}()) { | |
return cljs.core._first.call(null, coll) | |
}else { | |
var s__8402 = cljs.core.seq.call(null, coll); | |
if(s__8402 == null) { | |
return null | |
}else { | |
return cljs.core._first.call(null, s__8402) | |
} | |
} | |
} | |
}; | |
cljs.core.rest = function rest(coll) { | |
if(!(coll == null)) { | |
if(function() { | |
var G__8407__8408 = coll; | |
if(G__8407__8408) { | |
if(function() { | |
var or__3824__auto____8409 = G__8407__8408.cljs$lang$protocol_mask$partition0$ & 64; | |
if(or__3824__auto____8409) { | |
return or__3824__auto____8409 | |
}else { | |
return G__8407__8408.cljs$core$ISeq$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__8407__8408.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.ISeq, G__8407__8408) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.ISeq, G__8407__8408) | |
} | |
}()) { | |
return cljs.core._rest.call(null, coll) | |
}else { | |
var s__8410 = cljs.core.seq.call(null, coll); | |
if(!(s__8410 == null)) { | |
return cljs.core._rest.call(null, s__8410) | |
}else { | |
return cljs.core.List.EMPTY | |
} | |
} | |
}else { | |
return cljs.core.List.EMPTY | |
} | |
}; | |
cljs.core.next = function next(coll) { | |
if(coll == null) { | |
return null | |
}else { | |
if(function() { | |
var G__8414__8415 = coll; | |
if(G__8414__8415) { | |
if(function() { | |
var or__3824__auto____8416 = G__8414__8415.cljs$lang$protocol_mask$partition0$ & 128; | |
if(or__3824__auto____8416) { | |
return or__3824__auto____8416 | |
}else { | |
return G__8414__8415.cljs$core$INext$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__8414__8415.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.INext, G__8414__8415) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.INext, G__8414__8415) | |
} | |
}()) { | |
return cljs.core._next.call(null, coll) | |
}else { | |
return cljs.core.seq.call(null, cljs.core.rest.call(null, coll)) | |
} | |
} | |
}; | |
cljs.core.second = function second(coll) { | |
return cljs.core.first.call(null, cljs.core.next.call(null, coll)) | |
}; | |
cljs.core.ffirst = function ffirst(coll) { | |
return cljs.core.first.call(null, cljs.core.first.call(null, coll)) | |
}; | |
cljs.core.nfirst = function nfirst(coll) { | |
return cljs.core.next.call(null, cljs.core.first.call(null, coll)) | |
}; | |
cljs.core.fnext = function fnext(coll) { | |
return cljs.core.first.call(null, cljs.core.next.call(null, coll)) | |
}; | |
cljs.core.nnext = function nnext(coll) { | |
return cljs.core.next.call(null, cljs.core.next.call(null, coll)) | |
}; | |
cljs.core.last = function last(s) { | |
while(true) { | |
var sn__8418 = cljs.core.next.call(null, s); | |
if(!(sn__8418 == null)) { | |
var G__8419 = sn__8418; | |
s = G__8419; | |
continue | |
}else { | |
return cljs.core.first.call(null, s) | |
} | |
break | |
} | |
}; | |
cljs.core.IEquiv["_"] = true; | |
cljs.core._equiv["_"] = function(x, o) { | |
return x === o | |
}; | |
cljs.core.not = function not(x) { | |
if(cljs.core.truth_(x)) { | |
return false | |
}else { | |
return true | |
} | |
}; | |
cljs.core.conj = function() { | |
var conj = null; | |
var conj__2 = function(coll, x) { | |
return cljs.core._conj.call(null, coll, x) | |
}; | |
var conj__3 = function() { | |
var G__8420__delegate = function(coll, x, xs) { | |
while(true) { | |
if(cljs.core.truth_(xs)) { | |
var G__8421 = conj.call(null, coll, x); | |
var G__8422 = cljs.core.first.call(null, xs); | |
var G__8423 = cljs.core.next.call(null, xs); | |
coll = G__8421; | |
x = G__8422; | |
xs = G__8423; | |
continue | |
}else { | |
return conj.call(null, coll, x) | |
} | |
break | |
} | |
}; | |
var G__8420 = function(coll, x, var_args) { | |
var xs = null; | |
if(goog.isDef(var_args)) { | |
xs = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2), 0) | |
} | |
return G__8420__delegate.call(this, coll, x, xs) | |
}; | |
G__8420.cljs$lang$maxFixedArity = 2; | |
G__8420.cljs$lang$applyTo = function(arglist__8424) { | |
var coll = cljs.core.first(arglist__8424); | |
var x = cljs.core.first(cljs.core.next(arglist__8424)); | |
var xs = cljs.core.rest(cljs.core.next(arglist__8424)); | |
return G__8420__delegate(coll, x, xs) | |
}; | |
G__8420.cljs$lang$arity$variadic = G__8420__delegate; | |
return G__8420 | |
}(); | |
conj = function(coll, x, var_args) { | |
var xs = var_args; | |
switch(arguments.length) { | |
case 2: | |
return conj__2.call(this, coll, x); | |
default: | |
return conj__3.cljs$lang$arity$variadic(coll, x, cljs.core.array_seq(arguments, 2)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
conj.cljs$lang$maxFixedArity = 2; | |
conj.cljs$lang$applyTo = conj__3.cljs$lang$applyTo; | |
conj.cljs$lang$arity$2 = conj__2; | |
conj.cljs$lang$arity$variadic = conj__3.cljs$lang$arity$variadic; | |
return conj | |
}(); | |
cljs.core.empty = function empty(coll) { | |
return cljs.core._empty.call(null, coll) | |
}; | |
cljs.core.accumulating_seq_count = function accumulating_seq_count(coll) { | |
var s__8427 = cljs.core.seq.call(null, coll); | |
var acc__8428 = 0; | |
while(true) { | |
if(cljs.core.counted_QMARK_.call(null, s__8427)) { | |
return acc__8428 + cljs.core._count.call(null, s__8427) | |
}else { | |
var G__8429 = cljs.core.next.call(null, s__8427); | |
var G__8430 = acc__8428 + 1; | |
s__8427 = G__8429; | |
acc__8428 = G__8430; | |
continue | |
} | |
break | |
} | |
}; | |
cljs.core.count = function count(coll) { | |
if(cljs.core.counted_QMARK_.call(null, coll)) { | |
return cljs.core._count.call(null, coll) | |
}else { | |
return cljs.core.accumulating_seq_count.call(null, coll) | |
} | |
}; | |
cljs.core.linear_traversal_nth = function() { | |
var linear_traversal_nth = null; | |
var linear_traversal_nth__2 = function(coll, n) { | |
if(coll == null) { | |
throw new Error("Index out of bounds"); | |
}else { | |
if(n === 0) { | |
if(cljs.core.seq.call(null, coll)) { | |
return cljs.core.first.call(null, coll) | |
}else { | |
throw new Error("Index out of bounds"); | |
} | |
}else { | |
if(cljs.core.indexed_QMARK_.call(null, coll)) { | |
return cljs.core._nth.call(null, coll, n) | |
}else { | |
if(cljs.core.seq.call(null, coll)) { | |
return linear_traversal_nth.call(null, cljs.core.next.call(null, coll), n - 1) | |
}else { | |
if("\ufdd0'else") { | |
throw new Error("Index out of bounds"); | |
}else { | |
return null | |
} | |
} | |
} | |
} | |
} | |
}; | |
var linear_traversal_nth__3 = function(coll, n, not_found) { | |
if(coll == null) { | |
return not_found | |
}else { | |
if(n === 0) { | |
if(cljs.core.seq.call(null, coll)) { | |
return cljs.core.first.call(null, coll) | |
}else { | |
return not_found | |
} | |
}else { | |
if(cljs.core.indexed_QMARK_.call(null, coll)) { | |
return cljs.core._nth.call(null, coll, n, not_found) | |
}else { | |
if(cljs.core.seq.call(null, coll)) { | |
return linear_traversal_nth.call(null, cljs.core.next.call(null, coll), n - 1, not_found) | |
}else { | |
if("\ufdd0'else") { | |
return not_found | |
}else { | |
return null | |
} | |
} | |
} | |
} | |
} | |
}; | |
linear_traversal_nth = function(coll, n, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return linear_traversal_nth__2.call(this, coll, n); | |
case 3: | |
return linear_traversal_nth__3.call(this, coll, n, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
linear_traversal_nth.cljs$lang$arity$2 = linear_traversal_nth__2; | |
linear_traversal_nth.cljs$lang$arity$3 = linear_traversal_nth__3; | |
return linear_traversal_nth | |
}(); | |
cljs.core.nth = function() { | |
var nth = null; | |
var nth__2 = function(coll, n) { | |
if(coll == null) { | |
return null | |
}else { | |
if(function() { | |
var G__8437__8438 = coll; | |
if(G__8437__8438) { | |
if(function() { | |
var or__3824__auto____8439 = G__8437__8438.cljs$lang$protocol_mask$partition0$ & 16; | |
if(or__3824__auto____8439) { | |
return or__3824__auto____8439 | |
}else { | |
return G__8437__8438.cljs$core$IIndexed$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__8437__8438.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IIndexed, G__8437__8438) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IIndexed, G__8437__8438) | |
} | |
}()) { | |
return cljs.core._nth.call(null, coll, Math.floor(n)) | |
}else { | |
return cljs.core.linear_traversal_nth.call(null, coll, Math.floor(n)) | |
} | |
} | |
}; | |
var nth__3 = function(coll, n, not_found) { | |
if(!(coll == null)) { | |
if(function() { | |
var G__8440__8441 = coll; | |
if(G__8440__8441) { | |
if(function() { | |
var or__3824__auto____8442 = G__8440__8441.cljs$lang$protocol_mask$partition0$ & 16; | |
if(or__3824__auto____8442) { | |
return or__3824__auto____8442 | |
}else { | |
return G__8440__8441.cljs$core$IIndexed$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__8440__8441.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IIndexed, G__8440__8441) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IIndexed, G__8440__8441) | |
} | |
}()) { | |
return cljs.core._nth.call(null, coll, Math.floor(n), not_found) | |
}else { | |
return cljs.core.linear_traversal_nth.call(null, coll, Math.floor(n), not_found) | |
} | |
}else { | |
return not_found | |
} | |
}; | |
nth = function(coll, n, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return nth__2.call(this, coll, n); | |
case 3: | |
return nth__3.call(this, coll, n, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
nth.cljs$lang$arity$2 = nth__2; | |
nth.cljs$lang$arity$3 = nth__3; | |
return nth | |
}(); | |
cljs.core.get = function() { | |
var get = null; | |
var get__2 = function(o, k) { | |
return cljs.core._lookup.call(null, o, k) | |
}; | |
var get__3 = function(o, k, not_found) { | |
return cljs.core._lookup.call(null, o, k, not_found) | |
}; | |
get = function(o, k, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return get__2.call(this, o, k); | |
case 3: | |
return get__3.call(this, o, k, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
get.cljs$lang$arity$2 = get__2; | |
get.cljs$lang$arity$3 = get__3; | |
return get | |
}(); | |
cljs.core.assoc = function() { | |
var assoc = null; | |
var assoc__3 = function(coll, k, v) { | |
return cljs.core._assoc.call(null, coll, k, v) | |
}; | |
var assoc__4 = function() { | |
var G__8445__delegate = function(coll, k, v, kvs) { | |
while(true) { | |
var ret__8444 = assoc.call(null, coll, k, v); | |
if(cljs.core.truth_(kvs)) { | |
var G__8446 = ret__8444; | |
var G__8447 = cljs.core.first.call(null, kvs); | |
var G__8448 = cljs.core.second.call(null, kvs); | |
var G__8449 = cljs.core.nnext.call(null, kvs); | |
coll = G__8446; | |
k = G__8447; | |
v = G__8448; | |
kvs = G__8449; | |
continue | |
}else { | |
return ret__8444 | |
} | |
break | |
} | |
}; | |
var G__8445 = function(coll, k, v, var_args) { | |
var kvs = null; | |
if(goog.isDef(var_args)) { | |
kvs = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__8445__delegate.call(this, coll, k, v, kvs) | |
}; | |
G__8445.cljs$lang$maxFixedArity = 3; | |
G__8445.cljs$lang$applyTo = function(arglist__8450) { | |
var coll = cljs.core.first(arglist__8450); | |
var k = cljs.core.first(cljs.core.next(arglist__8450)); | |
var v = cljs.core.first(cljs.core.next(cljs.core.next(arglist__8450))); | |
var kvs = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__8450))); | |
return G__8445__delegate(coll, k, v, kvs) | |
}; | |
G__8445.cljs$lang$arity$variadic = G__8445__delegate; | |
return G__8445 | |
}(); | |
assoc = function(coll, k, v, var_args) { | |
var kvs = var_args; | |
switch(arguments.length) { | |
case 3: | |
return assoc__3.call(this, coll, k, v); | |
default: | |
return assoc__4.cljs$lang$arity$variadic(coll, k, v, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
assoc.cljs$lang$maxFixedArity = 3; | |
assoc.cljs$lang$applyTo = assoc__4.cljs$lang$applyTo; | |
assoc.cljs$lang$arity$3 = assoc__3; | |
assoc.cljs$lang$arity$variadic = assoc__4.cljs$lang$arity$variadic; | |
return assoc | |
}(); | |
cljs.core.dissoc = function() { | |
var dissoc = null; | |
var dissoc__1 = function(coll) { | |
return coll | |
}; | |
var dissoc__2 = function(coll, k) { | |
return cljs.core._dissoc.call(null, coll, k) | |
}; | |
var dissoc__3 = function() { | |
var G__8453__delegate = function(coll, k, ks) { | |
while(true) { | |
var ret__8452 = dissoc.call(null, coll, k); | |
if(cljs.core.truth_(ks)) { | |
var G__8454 = ret__8452; | |
var G__8455 = cljs.core.first.call(null, ks); | |
var G__8456 = cljs.core.next.call(null, ks); | |
coll = G__8454; | |
k = G__8455; | |
ks = G__8456; | |
continue | |
}else { | |
return ret__8452 | |
} | |
break | |
} | |
}; | |
var G__8453 = function(coll, k, var_args) { | |
var ks = null; | |
if(goog.isDef(var_args)) { | |
ks = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2), 0) | |
} | |
return G__8453__delegate.call(this, coll, k, ks) | |
}; | |
G__8453.cljs$lang$maxFixedArity = 2; | |
G__8453.cljs$lang$applyTo = function(arglist__8457) { | |
var coll = cljs.core.first(arglist__8457); | |
var k = cljs.core.first(cljs.core.next(arglist__8457)); | |
var ks = cljs.core.rest(cljs.core.next(arglist__8457)); | |
return G__8453__delegate(coll, k, ks) | |
}; | |
G__8453.cljs$lang$arity$variadic = G__8453__delegate; | |
return G__8453 | |
}(); | |
dissoc = function(coll, k, var_args) { | |
var ks = var_args; | |
switch(arguments.length) { | |
case 1: | |
return dissoc__1.call(this, coll); | |
case 2: | |
return dissoc__2.call(this, coll, k); | |
default: | |
return dissoc__3.cljs$lang$arity$variadic(coll, k, cljs.core.array_seq(arguments, 2)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
dissoc.cljs$lang$maxFixedArity = 2; | |
dissoc.cljs$lang$applyTo = dissoc__3.cljs$lang$applyTo; | |
dissoc.cljs$lang$arity$1 = dissoc__1; | |
dissoc.cljs$lang$arity$2 = dissoc__2; | |
dissoc.cljs$lang$arity$variadic = dissoc__3.cljs$lang$arity$variadic; | |
return dissoc | |
}(); | |
cljs.core.with_meta = function with_meta(o, meta) { | |
return cljs.core._with_meta.call(null, o, meta) | |
}; | |
cljs.core.meta = function meta(o) { | |
if(function() { | |
var G__8461__8462 = o; | |
if(G__8461__8462) { | |
if(function() { | |
var or__3824__auto____8463 = G__8461__8462.cljs$lang$protocol_mask$partition0$ & 131072; | |
if(or__3824__auto____8463) { | |
return or__3824__auto____8463 | |
}else { | |
return G__8461__8462.cljs$core$IMeta$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__8461__8462.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IMeta, G__8461__8462) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IMeta, G__8461__8462) | |
} | |
}()) { | |
return cljs.core._meta.call(null, o) | |
}else { | |
return null | |
} | |
}; | |
cljs.core.peek = function peek(coll) { | |
return cljs.core._peek.call(null, coll) | |
}; | |
cljs.core.pop = function pop(coll) { | |
return cljs.core._pop.call(null, coll) | |
}; | |
cljs.core.disj = function() { | |
var disj = null; | |
var disj__1 = function(coll) { | |
return coll | |
}; | |
var disj__2 = function(coll, k) { | |
return cljs.core._disjoin.call(null, coll, k) | |
}; | |
var disj__3 = function() { | |
var G__8466__delegate = function(coll, k, ks) { | |
while(true) { | |
var ret__8465 = disj.call(null, coll, k); | |
if(cljs.core.truth_(ks)) { | |
var G__8467 = ret__8465; | |
var G__8468 = cljs.core.first.call(null, ks); | |
var G__8469 = cljs.core.next.call(null, ks); | |
coll = G__8467; | |
k = G__8468; | |
ks = G__8469; | |
continue | |
}else { | |
return ret__8465 | |
} | |
break | |
} | |
}; | |
var G__8466 = function(coll, k, var_args) { | |
var ks = null; | |
if(goog.isDef(var_args)) { | |
ks = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2), 0) | |
} | |
return G__8466__delegate.call(this, coll, k, ks) | |
}; | |
G__8466.cljs$lang$maxFixedArity = 2; | |
G__8466.cljs$lang$applyTo = function(arglist__8470) { | |
var coll = cljs.core.first(arglist__8470); | |
var k = cljs.core.first(cljs.core.next(arglist__8470)); | |
var ks = cljs.core.rest(cljs.core.next(arglist__8470)); | |
return G__8466__delegate(coll, k, ks) | |
}; | |
G__8466.cljs$lang$arity$variadic = G__8466__delegate; | |
return G__8466 | |
}(); | |
disj = function(coll, k, var_args) { | |
var ks = var_args; | |
switch(arguments.length) { | |
case 1: | |
return disj__1.call(this, coll); | |
case 2: | |
return disj__2.call(this, coll, k); | |
default: | |
return disj__3.cljs$lang$arity$variadic(coll, k, cljs.core.array_seq(arguments, 2)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
disj.cljs$lang$maxFixedArity = 2; | |
disj.cljs$lang$applyTo = disj__3.cljs$lang$applyTo; | |
disj.cljs$lang$arity$1 = disj__1; | |
disj.cljs$lang$arity$2 = disj__2; | |
disj.cljs$lang$arity$variadic = disj__3.cljs$lang$arity$variadic; | |
return disj | |
}(); | |
cljs.core.string_hash_cache = {}; | |
cljs.core.string_hash_cache_count = 0; | |
cljs.core.add_to_string_hash_cache = function add_to_string_hash_cache(k) { | |
var h__8472 = goog.string.hashCode(k); | |
cljs.core.string_hash_cache[k] = h__8472; | |
cljs.core.string_hash_cache_count = cljs.core.string_hash_cache_count + 1; | |
return h__8472 | |
}; | |
cljs.core.check_string_hash_cache = function check_string_hash_cache(k) { | |
if(cljs.core.string_hash_cache_count > 255) { | |
cljs.core.string_hash_cache = {}; | |
cljs.core.string_hash_cache_count = 0 | |
}else { | |
} | |
var h__8474 = cljs.core.string_hash_cache[k]; | |
if(!(h__8474 == null)) { | |
return h__8474 | |
}else { | |
return cljs.core.add_to_string_hash_cache.call(null, k) | |
} | |
}; | |
cljs.core.hash = function() { | |
var hash = null; | |
var hash__1 = function(o) { | |
return hash.call(null, o, true) | |
}; | |
var hash__2 = function(o, check_cache) { | |
if(function() { | |
var and__3822__auto____8476 = goog.isString(o); | |
if(and__3822__auto____8476) { | |
return check_cache | |
}else { | |
return and__3822__auto____8476 | |
} | |
}()) { | |
return cljs.core.check_string_hash_cache.call(null, o) | |
}else { | |
return cljs.core._hash.call(null, o) | |
} | |
}; | |
hash = function(o, check_cache) { | |
switch(arguments.length) { | |
case 1: | |
return hash__1.call(this, o); | |
case 2: | |
return hash__2.call(this, o, check_cache) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
hash.cljs$lang$arity$1 = hash__1; | |
hash.cljs$lang$arity$2 = hash__2; | |
return hash | |
}(); | |
cljs.core.empty_QMARK_ = function empty_QMARK_(coll) { | |
return cljs.core.not.call(null, cljs.core.seq.call(null, coll)) | |
}; | |
cljs.core.coll_QMARK_ = function coll_QMARK_(x) { | |
if(x == null) { | |
return false | |
}else { | |
var G__8480__8481 = x; | |
if(G__8480__8481) { | |
if(function() { | |
var or__3824__auto____8482 = G__8480__8481.cljs$lang$protocol_mask$partition0$ & 8; | |
if(or__3824__auto____8482) { | |
return or__3824__auto____8482 | |
}else { | |
return G__8480__8481.cljs$core$ICollection$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__8480__8481.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.ICollection, G__8480__8481) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.ICollection, G__8480__8481) | |
} | |
} | |
}; | |
cljs.core.set_QMARK_ = function set_QMARK_(x) { | |
if(x == null) { | |
return false | |
}else { | |
var G__8486__8487 = x; | |
if(G__8486__8487) { | |
if(function() { | |
var or__3824__auto____8488 = G__8486__8487.cljs$lang$protocol_mask$partition0$ & 4096; | |
if(or__3824__auto____8488) { | |
return or__3824__auto____8488 | |
}else { | |
return G__8486__8487.cljs$core$ISet$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__8486__8487.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.ISet, G__8486__8487) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.ISet, G__8486__8487) | |
} | |
} | |
}; | |
cljs.core.associative_QMARK_ = function associative_QMARK_(x) { | |
var G__8492__8493 = x; | |
if(G__8492__8493) { | |
if(function() { | |
var or__3824__auto____8494 = G__8492__8493.cljs$lang$protocol_mask$partition0$ & 512; | |
if(or__3824__auto____8494) { | |
return or__3824__auto____8494 | |
}else { | |
return G__8492__8493.cljs$core$IAssociative$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__8492__8493.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IAssociative, G__8492__8493) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IAssociative, G__8492__8493) | |
} | |
}; | |
cljs.core.sequential_QMARK_ = function sequential_QMARK_(x) { | |
var G__8498__8499 = x; | |
if(G__8498__8499) { | |
if(function() { | |
var or__3824__auto____8500 = G__8498__8499.cljs$lang$protocol_mask$partition0$ & 16777216; | |
if(or__3824__auto____8500) { | |
return or__3824__auto____8500 | |
}else { | |
return G__8498__8499.cljs$core$ISequential$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__8498__8499.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.ISequential, G__8498__8499) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.ISequential, G__8498__8499) | |
} | |
}; | |
cljs.core.counted_QMARK_ = function counted_QMARK_(x) { | |
var G__8504__8505 = x; | |
if(G__8504__8505) { | |
if(function() { | |
var or__3824__auto____8506 = G__8504__8505.cljs$lang$protocol_mask$partition0$ & 2; | |
if(or__3824__auto____8506) { | |
return or__3824__auto____8506 | |
}else { | |
return G__8504__8505.cljs$core$ICounted$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__8504__8505.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.ICounted, G__8504__8505) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.ICounted, G__8504__8505) | |
} | |
}; | |
cljs.core.indexed_QMARK_ = function indexed_QMARK_(x) { | |
var G__8510__8511 = x; | |
if(G__8510__8511) { | |
if(function() { | |
var or__3824__auto____8512 = G__8510__8511.cljs$lang$protocol_mask$partition0$ & 16; | |
if(or__3824__auto____8512) { | |
return or__3824__auto____8512 | |
}else { | |
return G__8510__8511.cljs$core$IIndexed$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__8510__8511.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IIndexed, G__8510__8511) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IIndexed, G__8510__8511) | |
} | |
}; | |
cljs.core.reduceable_QMARK_ = function reduceable_QMARK_(x) { | |
var G__8516__8517 = x; | |
if(G__8516__8517) { | |
if(function() { | |
var or__3824__auto____8518 = G__8516__8517.cljs$lang$protocol_mask$partition0$ & 524288; | |
if(or__3824__auto____8518) { | |
return or__3824__auto____8518 | |
}else { | |
return G__8516__8517.cljs$core$IReduce$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__8516__8517.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IReduce, G__8516__8517) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IReduce, G__8516__8517) | |
} | |
}; | |
cljs.core.map_QMARK_ = function map_QMARK_(x) { | |
if(x == null) { | |
return false | |
}else { | |
var G__8522__8523 = x; | |
if(G__8522__8523) { | |
if(function() { | |
var or__3824__auto____8524 = G__8522__8523.cljs$lang$protocol_mask$partition0$ & 1024; | |
if(or__3824__auto____8524) { | |
return or__3824__auto____8524 | |
}else { | |
return G__8522__8523.cljs$core$IMap$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__8522__8523.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IMap, G__8522__8523) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IMap, G__8522__8523) | |
} | |
} | |
}; | |
cljs.core.vector_QMARK_ = function vector_QMARK_(x) { | |
var G__8528__8529 = x; | |
if(G__8528__8529) { | |
if(function() { | |
var or__3824__auto____8530 = G__8528__8529.cljs$lang$protocol_mask$partition0$ & 16384; | |
if(or__3824__auto____8530) { | |
return or__3824__auto____8530 | |
}else { | |
return G__8528__8529.cljs$core$IVector$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__8528__8529.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IVector, G__8528__8529) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IVector, G__8528__8529) | |
} | |
}; | |
cljs.core.chunked_seq_QMARK_ = function chunked_seq_QMARK_(x) { | |
var G__8534__8535 = x; | |
if(G__8534__8535) { | |
if(cljs.core.truth_(function() { | |
var or__3824__auto____8536 = null; | |
if(cljs.core.truth_(or__3824__auto____8536)) { | |
return or__3824__auto____8536 | |
}else { | |
return G__8534__8535.cljs$core$IChunkedSeq$ | |
} | |
}())) { | |
return true | |
}else { | |
if(!G__8534__8535.cljs$lang$protocol_mask$partition$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IChunkedSeq, G__8534__8535) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IChunkedSeq, G__8534__8535) | |
} | |
}; | |
cljs.core.js_obj = function() { | |
var js_obj = null; | |
var js_obj__0 = function() { | |
return{} | |
}; | |
var js_obj__1 = function() { | |
var G__8537__delegate = function(keyvals) { | |
return cljs.core.apply.call(null, goog.object.create, keyvals) | |
}; | |
var G__8537 = function(var_args) { | |
var keyvals = null; | |
if(goog.isDef(var_args)) { | |
keyvals = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return G__8537__delegate.call(this, keyvals) | |
}; | |
G__8537.cljs$lang$maxFixedArity = 0; | |
G__8537.cljs$lang$applyTo = function(arglist__8538) { | |
var keyvals = cljs.core.seq(arglist__8538); | |
return G__8537__delegate(keyvals) | |
}; | |
G__8537.cljs$lang$arity$variadic = G__8537__delegate; | |
return G__8537 | |
}(); | |
js_obj = function(var_args) { | |
var keyvals = var_args; | |
switch(arguments.length) { | |
case 0: | |
return js_obj__0.call(this); | |
default: | |
return js_obj__1.cljs$lang$arity$variadic(cljs.core.array_seq(arguments, 0)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
js_obj.cljs$lang$maxFixedArity = 0; | |
js_obj.cljs$lang$applyTo = js_obj__1.cljs$lang$applyTo; | |
js_obj.cljs$lang$arity$0 = js_obj__0; | |
js_obj.cljs$lang$arity$variadic = js_obj__1.cljs$lang$arity$variadic; | |
return js_obj | |
}(); | |
cljs.core.js_keys = function js_keys(obj) { | |
var keys__8540 = []; | |
goog.object.forEach(obj, function(val, key, obj) { | |
return keys__8540.push(key) | |
}); | |
return keys__8540 | |
}; | |
cljs.core.js_delete = function js_delete(obj, key) { | |
return delete obj[key] | |
}; | |
cljs.core.array_copy = function array_copy(from, i, to, j, len) { | |
var i__8544 = i; | |
var j__8545 = j; | |
var len__8546 = len; | |
while(true) { | |
if(len__8546 === 0) { | |
return to | |
}else { | |
to[j__8545] = from[i__8544]; | |
var G__8547 = i__8544 + 1; | |
var G__8548 = j__8545 + 1; | |
var G__8549 = len__8546 - 1; | |
i__8544 = G__8547; | |
j__8545 = G__8548; | |
len__8546 = G__8549; | |
continue | |
} | |
break | |
} | |
}; | |
cljs.core.array_copy_downward = function array_copy_downward(from, i, to, j, len) { | |
var i__8553 = i + (len - 1); | |
var j__8554 = j + (len - 1); | |
var len__8555 = len; | |
while(true) { | |
if(len__8555 === 0) { | |
return to | |
}else { | |
to[j__8554] = from[i__8553]; | |
var G__8556 = i__8553 - 1; | |
var G__8557 = j__8554 - 1; | |
var G__8558 = len__8555 - 1; | |
i__8553 = G__8556; | |
j__8554 = G__8557; | |
len__8555 = G__8558; | |
continue | |
} | |
break | |
} | |
}; | |
cljs.core.lookup_sentinel = {}; | |
cljs.core.false_QMARK_ = function false_QMARK_(x) { | |
return x === false | |
}; | |
cljs.core.true_QMARK_ = function true_QMARK_(x) { | |
return x === true | |
}; | |
cljs.core.undefined_QMARK_ = function undefined_QMARK_(x) { | |
return void 0 === x | |
}; | |
cljs.core.seq_QMARK_ = function seq_QMARK_(s) { | |
if(s == null) { | |
return false | |
}else { | |
var G__8562__8563 = s; | |
if(G__8562__8563) { | |
if(function() { | |
var or__3824__auto____8564 = G__8562__8563.cljs$lang$protocol_mask$partition0$ & 64; | |
if(or__3824__auto____8564) { | |
return or__3824__auto____8564 | |
}else { | |
return G__8562__8563.cljs$core$ISeq$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__8562__8563.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.ISeq, G__8562__8563) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.ISeq, G__8562__8563) | |
} | |
} | |
}; | |
cljs.core.seqable_QMARK_ = function seqable_QMARK_(s) { | |
var G__8568__8569 = s; | |
if(G__8568__8569) { | |
if(function() { | |
var or__3824__auto____8570 = G__8568__8569.cljs$lang$protocol_mask$partition0$ & 8388608; | |
if(or__3824__auto____8570) { | |
return or__3824__auto____8570 | |
}else { | |
return G__8568__8569.cljs$core$ISeqable$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__8568__8569.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.ISeqable, G__8568__8569) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.ISeqable, G__8568__8569) | |
} | |
}; | |
cljs.core.boolean$ = function boolean$(x) { | |
if(cljs.core.truth_(x)) { | |
return true | |
}else { | |
return false | |
} | |
}; | |
cljs.core.string_QMARK_ = function string_QMARK_(x) { | |
var and__3822__auto____8573 = goog.isString(x); | |
if(and__3822__auto____8573) { | |
return!function() { | |
var or__3824__auto____8574 = x.charAt(0) === "\ufdd0"; | |
if(or__3824__auto____8574) { | |
return or__3824__auto____8574 | |
}else { | |
return x.charAt(0) === "\ufdd1" | |
} | |
}() | |
}else { | |
return and__3822__auto____8573 | |
} | |
}; | |
cljs.core.keyword_QMARK_ = function keyword_QMARK_(x) { | |
var and__3822__auto____8576 = goog.isString(x); | |
if(and__3822__auto____8576) { | |
return x.charAt(0) === "\ufdd0" | |
}else { | |
return and__3822__auto____8576 | |
} | |
}; | |
cljs.core.symbol_QMARK_ = function symbol_QMARK_(x) { | |
var and__3822__auto____8578 = goog.isString(x); | |
if(and__3822__auto____8578) { | |
return x.charAt(0) === "\ufdd1" | |
}else { | |
return and__3822__auto____8578 | |
} | |
}; | |
cljs.core.number_QMARK_ = function number_QMARK_(n) { | |
return goog.isNumber(n) | |
}; | |
cljs.core.fn_QMARK_ = function fn_QMARK_(f) { | |
return goog.isFunction(f) | |
}; | |
cljs.core.ifn_QMARK_ = function ifn_QMARK_(f) { | |
var or__3824__auto____8583 = cljs.core.fn_QMARK_.call(null, f); | |
if(or__3824__auto____8583) { | |
return or__3824__auto____8583 | |
}else { | |
var G__8584__8585 = f; | |
if(G__8584__8585) { | |
if(function() { | |
var or__3824__auto____8586 = G__8584__8585.cljs$lang$protocol_mask$partition0$ & 1; | |
if(or__3824__auto____8586) { | |
return or__3824__auto____8586 | |
}else { | |
return G__8584__8585.cljs$core$IFn$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__8584__8585.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IFn, G__8584__8585) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IFn, G__8584__8585) | |
} | |
} | |
}; | |
cljs.core.integer_QMARK_ = function integer_QMARK_(n) { | |
var and__3822__auto____8588 = cljs.core.number_QMARK_.call(null, n); | |
if(and__3822__auto____8588) { | |
return n == n.toFixed() | |
}else { | |
return and__3822__auto____8588 | |
} | |
}; | |
cljs.core.contains_QMARK_ = function contains_QMARK_(coll, v) { | |
if(cljs.core._lookup.call(null, coll, v, cljs.core.lookup_sentinel) === cljs.core.lookup_sentinel) { | |
return false | |
}else { | |
return true | |
} | |
}; | |
cljs.core.find = function find(coll, k) { | |
if(cljs.core.truth_(function() { | |
var and__3822__auto____8591 = coll; | |
if(cljs.core.truth_(and__3822__auto____8591)) { | |
var and__3822__auto____8592 = cljs.core.associative_QMARK_.call(null, coll); | |
if(and__3822__auto____8592) { | |
return cljs.core.contains_QMARK_.call(null, coll, k) | |
}else { | |
return and__3822__auto____8592 | |
} | |
}else { | |
return and__3822__auto____8591 | |
} | |
}())) { | |
return cljs.core.PersistentVector.fromArray([k, cljs.core._lookup.call(null, coll, k)], true) | |
}else { | |
return null | |
} | |
}; | |
cljs.core.distinct_QMARK_ = function() { | |
var distinct_QMARK_ = null; | |
var distinct_QMARK___1 = function(x) { | |
return true | |
}; | |
var distinct_QMARK___2 = function(x, y) { | |
return!cljs.core._EQ_.call(null, x, y) | |
}; | |
var distinct_QMARK___3 = function() { | |
var G__8601__delegate = function(x, y, more) { | |
if(!cljs.core._EQ_.call(null, x, y)) { | |
var s__8597 = cljs.core.PersistentHashSet.fromArray([y, x]); | |
var xs__8598 = more; | |
while(true) { | |
var x__8599 = cljs.core.first.call(null, xs__8598); | |
var etc__8600 = cljs.core.next.call(null, xs__8598); | |
if(cljs.core.truth_(xs__8598)) { | |
if(cljs.core.contains_QMARK_.call(null, s__8597, x__8599)) { | |
return false | |
}else { | |
var G__8602 = cljs.core.conj.call(null, s__8597, x__8599); | |
var G__8603 = etc__8600; | |
s__8597 = G__8602; | |
xs__8598 = G__8603; | |
continue | |
} | |
}else { | |
return true | |
} | |
break | |
} | |
}else { | |
return false | |
} | |
}; | |
var G__8601 = function(x, y, var_args) { | |
var more = null; | |
if(goog.isDef(var_args)) { | |
more = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2), 0) | |
} | |
return G__8601__delegate.call(this, x, y, more) | |
}; | |
G__8601.cljs$lang$maxFixedArity = 2; | |
G__8601.cljs$lang$applyTo = function(arglist__8604) { | |
var x = cljs.core.first(arglist__8604); | |
var y = cljs.core.first(cljs.core.next(arglist__8604)); | |
var more = cljs.core.rest(cljs.core.next(arglist__8604)); | |
return G__8601__delegate(x, y, more) | |
}; | |
G__8601.cljs$lang$arity$variadic = G__8601__delegate; | |
return G__8601 | |
}(); | |
distinct_QMARK_ = function(x, y, var_args) { | |
var more = var_args; | |
switch(arguments.length) { | |
case 1: | |
return distinct_QMARK___1.call(this, x); | |
case 2: | |
return distinct_QMARK___2.call(this, x, y); | |
default: | |
return distinct_QMARK___3.cljs$lang$arity$variadic(x, y, cljs.core.array_seq(arguments, 2)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
distinct_QMARK_.cljs$lang$maxFixedArity = 2; | |
distinct_QMARK_.cljs$lang$applyTo = distinct_QMARK___3.cljs$lang$applyTo; | |
distinct_QMARK_.cljs$lang$arity$1 = distinct_QMARK___1; | |
distinct_QMARK_.cljs$lang$arity$2 = distinct_QMARK___2; | |
distinct_QMARK_.cljs$lang$arity$variadic = distinct_QMARK___3.cljs$lang$arity$variadic; | |
return distinct_QMARK_ | |
}(); | |
cljs.core.compare = function compare(x, y) { | |
if(x === y) { | |
return 0 | |
}else { | |
if(x == null) { | |
return-1 | |
}else { | |
if(y == null) { | |
return 1 | |
}else { | |
if(cljs.core.type.call(null, x) === cljs.core.type.call(null, y)) { | |
if(function() { | |
var G__8608__8609 = x; | |
if(G__8608__8609) { | |
if(cljs.core.truth_(function() { | |
var or__3824__auto____8610 = null; | |
if(cljs.core.truth_(or__3824__auto____8610)) { | |
return or__3824__auto____8610 | |
}else { | |
return G__8608__8609.cljs$core$IComparable$ | |
} | |
}())) { | |
return true | |
}else { | |
if(!G__8608__8609.cljs$lang$protocol_mask$partition$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IComparable, G__8608__8609) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IComparable, G__8608__8609) | |
} | |
}()) { | |
return cljs.core._compare.call(null, x, y) | |
}else { | |
return goog.array.defaultCompare(x, y) | |
} | |
}else { | |
if("\ufdd0'else") { | |
throw new Error("compare on non-nil objects of different types"); | |
}else { | |
return null | |
} | |
} | |
} | |
} | |
} | |
}; | |
cljs.core.compare_indexed = function() { | |
var compare_indexed = null; | |
var compare_indexed__2 = function(xs, ys) { | |
var xl__8615 = cljs.core.count.call(null, xs); | |
var yl__8616 = cljs.core.count.call(null, ys); | |
if(xl__8615 < yl__8616) { | |
return-1 | |
}else { | |
if(xl__8615 > yl__8616) { | |
return 1 | |
}else { | |
if("\ufdd0'else") { | |
return compare_indexed.call(null, xs, ys, xl__8615, 0) | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
var compare_indexed__4 = function(xs, ys, len, n) { | |
while(true) { | |
var d__8617 = cljs.core.compare.call(null, cljs.core.nth.call(null, xs, n), cljs.core.nth.call(null, ys, n)); | |
if(function() { | |
var and__3822__auto____8618 = d__8617 === 0; | |
if(and__3822__auto____8618) { | |
return n + 1 < len | |
}else { | |
return and__3822__auto____8618 | |
} | |
}()) { | |
var G__8619 = xs; | |
var G__8620 = ys; | |
var G__8621 = len; | |
var G__8622 = n + 1; | |
xs = G__8619; | |
ys = G__8620; | |
len = G__8621; | |
n = G__8622; | |
continue | |
}else { | |
return d__8617 | |
} | |
break | |
} | |
}; | |
compare_indexed = function(xs, ys, len, n) { | |
switch(arguments.length) { | |
case 2: | |
return compare_indexed__2.call(this, xs, ys); | |
case 4: | |
return compare_indexed__4.call(this, xs, ys, len, n) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
compare_indexed.cljs$lang$arity$2 = compare_indexed__2; | |
compare_indexed.cljs$lang$arity$4 = compare_indexed__4; | |
return compare_indexed | |
}(); | |
cljs.core.fn__GT_comparator = function fn__GT_comparator(f) { | |
if(cljs.core._EQ_.call(null, f, cljs.core.compare)) { | |
return cljs.core.compare | |
}else { | |
return function(x, y) { | |
var r__8624 = f.call(null, x, y); | |
if(cljs.core.number_QMARK_.call(null, r__8624)) { | |
return r__8624 | |
}else { | |
if(cljs.core.truth_(r__8624)) { | |
return-1 | |
}else { | |
if(cljs.core.truth_(f.call(null, y, x))) { | |
return 1 | |
}else { | |
return 0 | |
} | |
} | |
} | |
} | |
} | |
}; | |
cljs.core.sort = function() { | |
var sort = null; | |
var sort__1 = function(coll) { | |
return sort.call(null, cljs.core.compare, coll) | |
}; | |
var sort__2 = function(comp, coll) { | |
if(cljs.core.seq.call(null, coll)) { | |
var a__8626 = cljs.core.to_array.call(null, coll); | |
goog.array.stableSort(a__8626, cljs.core.fn__GT_comparator.call(null, comp)); | |
return cljs.core.seq.call(null, a__8626) | |
}else { | |
return cljs.core.List.EMPTY | |
} | |
}; | |
sort = function(comp, coll) { | |
switch(arguments.length) { | |
case 1: | |
return sort__1.call(this, comp); | |
case 2: | |
return sort__2.call(this, comp, coll) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
sort.cljs$lang$arity$1 = sort__1; | |
sort.cljs$lang$arity$2 = sort__2; | |
return sort | |
}(); | |
cljs.core.sort_by = function() { | |
var sort_by = null; | |
var sort_by__2 = function(keyfn, coll) { | |
return sort_by.call(null, keyfn, cljs.core.compare, coll) | |
}; | |
var sort_by__3 = function(keyfn, comp, coll) { | |
return cljs.core.sort.call(null, function(x, y) { | |
return cljs.core.fn__GT_comparator.call(null, comp).call(null, keyfn.call(null, x), keyfn.call(null, y)) | |
}, coll) | |
}; | |
sort_by = function(keyfn, comp, coll) { | |
switch(arguments.length) { | |
case 2: | |
return sort_by__2.call(this, keyfn, comp); | |
case 3: | |
return sort_by__3.call(this, keyfn, comp, coll) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
sort_by.cljs$lang$arity$2 = sort_by__2; | |
sort_by.cljs$lang$arity$3 = sort_by__3; | |
return sort_by | |
}(); | |
cljs.core.seq_reduce = function() { | |
var seq_reduce = null; | |
var seq_reduce__2 = function(f, coll) { | |
var temp__3971__auto____8632 = cljs.core.seq.call(null, coll); | |
if(temp__3971__auto____8632) { | |
var s__8633 = temp__3971__auto____8632; | |
return cljs.core.reduce.call(null, f, cljs.core.first.call(null, s__8633), cljs.core.next.call(null, s__8633)) | |
}else { | |
return f.call(null) | |
} | |
}; | |
var seq_reduce__3 = function(f, val, coll) { | |
var val__8634 = val; | |
var coll__8635 = cljs.core.seq.call(null, coll); | |
while(true) { | |
if(coll__8635) { | |
var nval__8636 = f.call(null, val__8634, cljs.core.first.call(null, coll__8635)); | |
if(cljs.core.reduced_QMARK_.call(null, nval__8636)) { | |
return cljs.core.deref.call(null, nval__8636) | |
}else { | |
var G__8637 = nval__8636; | |
var G__8638 = cljs.core.next.call(null, coll__8635); | |
val__8634 = G__8637; | |
coll__8635 = G__8638; | |
continue | |
} | |
}else { | |
return val__8634 | |
} | |
break | |
} | |
}; | |
seq_reduce = function(f, val, coll) { | |
switch(arguments.length) { | |
case 2: | |
return seq_reduce__2.call(this, f, val); | |
case 3: | |
return seq_reduce__3.call(this, f, val, coll) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
seq_reduce.cljs$lang$arity$2 = seq_reduce__2; | |
seq_reduce.cljs$lang$arity$3 = seq_reduce__3; | |
return seq_reduce | |
}(); | |
cljs.core.shuffle = function shuffle(coll) { | |
var a__8640 = cljs.core.to_array.call(null, coll); | |
goog.array.shuffle(a__8640); | |
return cljs.core.vec.call(null, a__8640) | |
}; | |
cljs.core.reduce = function() { | |
var reduce = null; | |
var reduce__2 = function(f, coll) { | |
if(function() { | |
var G__8647__8648 = coll; | |
if(G__8647__8648) { | |
if(function() { | |
var or__3824__auto____8649 = G__8647__8648.cljs$lang$protocol_mask$partition0$ & 524288; | |
if(or__3824__auto____8649) { | |
return or__3824__auto____8649 | |
}else { | |
return G__8647__8648.cljs$core$IReduce$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__8647__8648.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IReduce, G__8647__8648) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IReduce, G__8647__8648) | |
} | |
}()) { | |
return cljs.core._reduce.call(null, coll, f) | |
}else { | |
return cljs.core.seq_reduce.call(null, f, coll) | |
} | |
}; | |
var reduce__3 = function(f, val, coll) { | |
if(function() { | |
var G__8650__8651 = coll; | |
if(G__8650__8651) { | |
if(function() { | |
var or__3824__auto____8652 = G__8650__8651.cljs$lang$protocol_mask$partition0$ & 524288; | |
if(or__3824__auto____8652) { | |
return or__3824__auto____8652 | |
}else { | |
return G__8650__8651.cljs$core$IReduce$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__8650__8651.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IReduce, G__8650__8651) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IReduce, G__8650__8651) | |
} | |
}()) { | |
return cljs.core._reduce.call(null, coll, f, val) | |
}else { | |
return cljs.core.seq_reduce.call(null, f, val, coll) | |
} | |
}; | |
reduce = function(f, val, coll) { | |
switch(arguments.length) { | |
case 2: | |
return reduce__2.call(this, f, val); | |
case 3: | |
return reduce__3.call(this, f, val, coll) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
reduce.cljs$lang$arity$2 = reduce__2; | |
reduce.cljs$lang$arity$3 = reduce__3; | |
return reduce | |
}(); | |
cljs.core.reduce_kv = function reduce_kv(f, init, coll) { | |
return cljs.core._kv_reduce.call(null, coll, f, init) | |
}; | |
cljs.core.Reduced = function(val) { | |
this.val = val; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 32768 | |
}; | |
cljs.core.Reduced.cljs$lang$type = true; | |
cljs.core.Reduced.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/Reduced") | |
}; | |
cljs.core.Reduced.prototype.cljs$core$IDeref$_deref$arity$1 = function(o) { | |
var this__8653 = this; | |
return this__8653.val | |
}; | |
cljs.core.Reduced; | |
cljs.core.reduced_QMARK_ = function reduced_QMARK_(r) { | |
return cljs.core.instance_QMARK_.call(null, cljs.core.Reduced, r) | |
}; | |
cljs.core.reduced = function reduced(x) { | |
return new cljs.core.Reduced(x) | |
}; | |
cljs.core._PLUS_ = function() { | |
var _PLUS_ = null; | |
var _PLUS___0 = function() { | |
return 0 | |
}; | |
var _PLUS___1 = function(x) { | |
return x | |
}; | |
var _PLUS___2 = function(x, y) { | |
return x + y | |
}; | |
var _PLUS___3 = function() { | |
var G__8654__delegate = function(x, y, more) { | |
return cljs.core.reduce.call(null, _PLUS_, x + y, more) | |
}; | |
var G__8654 = function(x, y, var_args) { | |
var more = null; | |
if(goog.isDef(var_args)) { | |
more = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2), 0) | |
} | |
return G__8654__delegate.call(this, x, y, more) | |
}; | |
G__8654.cljs$lang$maxFixedArity = 2; | |
G__8654.cljs$lang$applyTo = function(arglist__8655) { | |
var x = cljs.core.first(arglist__8655); | |
var y = cljs.core.first(cljs.core.next(arglist__8655)); | |
var more = cljs.core.rest(cljs.core.next(arglist__8655)); | |
return G__8654__delegate(x, y, more) | |
}; | |
G__8654.cljs$lang$arity$variadic = G__8654__delegate; | |
return G__8654 | |
}(); | |
_PLUS_ = function(x, y, var_args) { | |
var more = var_args; | |
switch(arguments.length) { | |
case 0: | |
return _PLUS___0.call(this); | |
case 1: | |
return _PLUS___1.call(this, x); | |
case 2: | |
return _PLUS___2.call(this, x, y); | |
default: | |
return _PLUS___3.cljs$lang$arity$variadic(x, y, cljs.core.array_seq(arguments, 2)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
_PLUS_.cljs$lang$maxFixedArity = 2; | |
_PLUS_.cljs$lang$applyTo = _PLUS___3.cljs$lang$applyTo; | |
_PLUS_.cljs$lang$arity$0 = _PLUS___0; | |
_PLUS_.cljs$lang$arity$1 = _PLUS___1; | |
_PLUS_.cljs$lang$arity$2 = _PLUS___2; | |
_PLUS_.cljs$lang$arity$variadic = _PLUS___3.cljs$lang$arity$variadic; | |
return _PLUS_ | |
}(); | |
cljs.core._ = function() { | |
var _ = null; | |
var ___1 = function(x) { | |
return-x | |
}; | |
var ___2 = function(x, y) { | |
return x - y | |
}; | |
var ___3 = function() { | |
var G__8656__delegate = function(x, y, more) { | |
return cljs.core.reduce.call(null, _, x - y, more) | |
}; | |
var G__8656 = function(x, y, var_args) { | |
var more = null; | |
if(goog.isDef(var_args)) { | |
more = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2), 0) | |
} | |
return G__8656__delegate.call(this, x, y, more) | |
}; | |
G__8656.cljs$lang$maxFixedArity = 2; | |
G__8656.cljs$lang$applyTo = function(arglist__8657) { | |
var x = cljs.core.first(arglist__8657); | |
var y = cljs.core.first(cljs.core.next(arglist__8657)); | |
var more = cljs.core.rest(cljs.core.next(arglist__8657)); | |
return G__8656__delegate(x, y, more) | |
}; | |
G__8656.cljs$lang$arity$variadic = G__8656__delegate; | |
return G__8656 | |
}(); | |
_ = function(x, y, var_args) { | |
var more = var_args; | |
switch(arguments.length) { | |
case 1: | |
return ___1.call(this, x); | |
case 2: | |
return ___2.call(this, x, y); | |
default: | |
return ___3.cljs$lang$arity$variadic(x, y, cljs.core.array_seq(arguments, 2)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
_.cljs$lang$maxFixedArity = 2; | |
_.cljs$lang$applyTo = ___3.cljs$lang$applyTo; | |
_.cljs$lang$arity$1 = ___1; | |
_.cljs$lang$arity$2 = ___2; | |
_.cljs$lang$arity$variadic = ___3.cljs$lang$arity$variadic; | |
return _ | |
}(); | |
cljs.core._STAR_ = function() { | |
var _STAR_ = null; | |
var _STAR___0 = function() { | |
return 1 | |
}; | |
var _STAR___1 = function(x) { | |
return x | |
}; | |
var _STAR___2 = function(x, y) { | |
return x * y | |
}; | |
var _STAR___3 = function() { | |
var G__8658__delegate = function(x, y, more) { | |
return cljs.core.reduce.call(null, _STAR_, x * y, more) | |
}; | |
var G__8658 = function(x, y, var_args) { | |
var more = null; | |
if(goog.isDef(var_args)) { | |
more = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2), 0) | |
} | |
return G__8658__delegate.call(this, x, y, more) | |
}; | |
G__8658.cljs$lang$maxFixedArity = 2; | |
G__8658.cljs$lang$applyTo = function(arglist__8659) { | |
var x = cljs.core.first(arglist__8659); | |
var y = cljs.core.first(cljs.core.next(arglist__8659)); | |
var more = cljs.core.rest(cljs.core.next(arglist__8659)); | |
return G__8658__delegate(x, y, more) | |
}; | |
G__8658.cljs$lang$arity$variadic = G__8658__delegate; | |
return G__8658 | |
}(); | |
_STAR_ = function(x, y, var_args) { | |
var more = var_args; | |
switch(arguments.length) { | |
case 0: | |
return _STAR___0.call(this); | |
case 1: | |
return _STAR___1.call(this, x); | |
case 2: | |
return _STAR___2.call(this, x, y); | |
default: | |
return _STAR___3.cljs$lang$arity$variadic(x, y, cljs.core.array_seq(arguments, 2)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
_STAR_.cljs$lang$maxFixedArity = 2; | |
_STAR_.cljs$lang$applyTo = _STAR___3.cljs$lang$applyTo; | |
_STAR_.cljs$lang$arity$0 = _STAR___0; | |
_STAR_.cljs$lang$arity$1 = _STAR___1; | |
_STAR_.cljs$lang$arity$2 = _STAR___2; | |
_STAR_.cljs$lang$arity$variadic = _STAR___3.cljs$lang$arity$variadic; | |
return _STAR_ | |
}(); | |
cljs.core._SLASH_ = function() { | |
var _SLASH_ = null; | |
var _SLASH___1 = function(x) { | |
return _SLASH_.call(null, 1, x) | |
}; | |
var _SLASH___2 = function(x, y) { | |
return x / y | |
}; | |
var _SLASH___3 = function() { | |
var G__8660__delegate = function(x, y, more) { | |
return cljs.core.reduce.call(null, _SLASH_, _SLASH_.call(null, x, y), more) | |
}; | |
var G__8660 = function(x, y, var_args) { | |
var more = null; | |
if(goog.isDef(var_args)) { | |
more = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2), 0) | |
} | |
return G__8660__delegate.call(this, x, y, more) | |
}; | |
G__8660.cljs$lang$maxFixedArity = 2; | |
G__8660.cljs$lang$applyTo = function(arglist__8661) { | |
var x = cljs.core.first(arglist__8661); | |
var y = cljs.core.first(cljs.core.next(arglist__8661)); | |
var more = cljs.core.rest(cljs.core.next(arglist__8661)); | |
return G__8660__delegate(x, y, more) | |
}; | |
G__8660.cljs$lang$arity$variadic = G__8660__delegate; | |
return G__8660 | |
}(); | |
_SLASH_ = function(x, y, var_args) { | |
var more = var_args; | |
switch(arguments.length) { | |
case 1: | |
return _SLASH___1.call(this, x); | |
case 2: | |
return _SLASH___2.call(this, x, y); | |
default: | |
return _SLASH___3.cljs$lang$arity$variadic(x, y, cljs.core.array_seq(arguments, 2)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
_SLASH_.cljs$lang$maxFixedArity = 2; | |
_SLASH_.cljs$lang$applyTo = _SLASH___3.cljs$lang$applyTo; | |
_SLASH_.cljs$lang$arity$1 = _SLASH___1; | |
_SLASH_.cljs$lang$arity$2 = _SLASH___2; | |
_SLASH_.cljs$lang$arity$variadic = _SLASH___3.cljs$lang$arity$variadic; | |
return _SLASH_ | |
}(); | |
cljs.core._LT_ = function() { | |
var _LT_ = null; | |
var _LT___1 = function(x) { | |
return true | |
}; | |
var _LT___2 = function(x, y) { | |
return x < y | |
}; | |
var _LT___3 = function() { | |
var G__8662__delegate = function(x, y, more) { | |
while(true) { | |
if(x < y) { | |
if(cljs.core.next.call(null, more)) { | |
var G__8663 = y; | |
var G__8664 = cljs.core.first.call(null, more); | |
var G__8665 = cljs.core.next.call(null, more); | |
x = G__8663; | |
y = G__8664; | |
more = G__8665; | |
continue | |
}else { | |
return y < cljs.core.first.call(null, more) | |
} | |
}else { | |
return false | |
} | |
break | |
} | |
}; | |
var G__8662 = function(x, y, var_args) { | |
var more = null; | |
if(goog.isDef(var_args)) { | |
more = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2), 0) | |
} | |
return G__8662__delegate.call(this, x, y, more) | |
}; | |
G__8662.cljs$lang$maxFixedArity = 2; | |
G__8662.cljs$lang$applyTo = function(arglist__8666) { | |
var x = cljs.core.first(arglist__8666); | |
var y = cljs.core.first(cljs.core.next(arglist__8666)); | |
var more = cljs.core.rest(cljs.core.next(arglist__8666)); | |
return G__8662__delegate(x, y, more) | |
}; | |
G__8662.cljs$lang$arity$variadic = G__8662__delegate; | |
return G__8662 | |
}(); | |
_LT_ = function(x, y, var_args) { | |
var more = var_args; | |
switch(arguments.length) { | |
case 1: | |
return _LT___1.call(this, x); | |
case 2: | |
return _LT___2.call(this, x, y); | |
default: | |
return _LT___3.cljs$lang$arity$variadic(x, y, cljs.core.array_seq(arguments, 2)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
_LT_.cljs$lang$maxFixedArity = 2; | |
_LT_.cljs$lang$applyTo = _LT___3.cljs$lang$applyTo; | |
_LT_.cljs$lang$arity$1 = _LT___1; | |
_LT_.cljs$lang$arity$2 = _LT___2; | |
_LT_.cljs$lang$arity$variadic = _LT___3.cljs$lang$arity$variadic; | |
return _LT_ | |
}(); | |
cljs.core._LT__EQ_ = function() { | |
var _LT__EQ_ = null; | |
var _LT__EQ___1 = function(x) { | |
return true | |
}; | |
var _LT__EQ___2 = function(x, y) { | |
return x <= y | |
}; | |
var _LT__EQ___3 = function() { | |
var G__8667__delegate = function(x, y, more) { | |
while(true) { | |
if(x <= y) { | |
if(cljs.core.next.call(null, more)) { | |
var G__8668 = y; | |
var G__8669 = cljs.core.first.call(null, more); | |
var G__8670 = cljs.core.next.call(null, more); | |
x = G__8668; | |
y = G__8669; | |
more = G__8670; | |
continue | |
}else { | |
return y <= cljs.core.first.call(null, more) | |
} | |
}else { | |
return false | |
} | |
break | |
} | |
}; | |
var G__8667 = function(x, y, var_args) { | |
var more = null; | |
if(goog.isDef(var_args)) { | |
more = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2), 0) | |
} | |
return G__8667__delegate.call(this, x, y, more) | |
}; | |
G__8667.cljs$lang$maxFixedArity = 2; | |
G__8667.cljs$lang$applyTo = function(arglist__8671) { | |
var x = cljs.core.first(arglist__8671); | |
var y = cljs.core.first(cljs.core.next(arglist__8671)); | |
var more = cljs.core.rest(cljs.core.next(arglist__8671)); | |
return G__8667__delegate(x, y, more) | |
}; | |
G__8667.cljs$lang$arity$variadic = G__8667__delegate; | |
return G__8667 | |
}(); | |
_LT__EQ_ = function(x, y, var_args) { | |
var more = var_args; | |
switch(arguments.length) { | |
case 1: | |
return _LT__EQ___1.call(this, x); | |
case 2: | |
return _LT__EQ___2.call(this, x, y); | |
default: | |
return _LT__EQ___3.cljs$lang$arity$variadic(x, y, cljs.core.array_seq(arguments, 2)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
_LT__EQ_.cljs$lang$maxFixedArity = 2; | |
_LT__EQ_.cljs$lang$applyTo = _LT__EQ___3.cljs$lang$applyTo; | |
_LT__EQ_.cljs$lang$arity$1 = _LT__EQ___1; | |
_LT__EQ_.cljs$lang$arity$2 = _LT__EQ___2; | |
_LT__EQ_.cljs$lang$arity$variadic = _LT__EQ___3.cljs$lang$arity$variadic; | |
return _LT__EQ_ | |
}(); | |
cljs.core._GT_ = function() { | |
var _GT_ = null; | |
var _GT___1 = function(x) { | |
return true | |
}; | |
var _GT___2 = function(x, y) { | |
return x > y | |
}; | |
var _GT___3 = function() { | |
var G__8672__delegate = function(x, y, more) { | |
while(true) { | |
if(x > y) { | |
if(cljs.core.next.call(null, more)) { | |
var G__8673 = y; | |
var G__8674 = cljs.core.first.call(null, more); | |
var G__8675 = cljs.core.next.call(null, more); | |
x = G__8673; | |
y = G__8674; | |
more = G__8675; | |
continue | |
}else { | |
return y > cljs.core.first.call(null, more) | |
} | |
}else { | |
return false | |
} | |
break | |
} | |
}; | |
var G__8672 = function(x, y, var_args) { | |
var more = null; | |
if(goog.isDef(var_args)) { | |
more = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2), 0) | |
} | |
return G__8672__delegate.call(this, x, y, more) | |
}; | |
G__8672.cljs$lang$maxFixedArity = 2; | |
G__8672.cljs$lang$applyTo = function(arglist__8676) { | |
var x = cljs.core.first(arglist__8676); | |
var y = cljs.core.first(cljs.core.next(arglist__8676)); | |
var more = cljs.core.rest(cljs.core.next(arglist__8676)); | |
return G__8672__delegate(x, y, more) | |
}; | |
G__8672.cljs$lang$arity$variadic = G__8672__delegate; | |
return G__8672 | |
}(); | |
_GT_ = function(x, y, var_args) { | |
var more = var_args; | |
switch(arguments.length) { | |
case 1: | |
return _GT___1.call(this, x); | |
case 2: | |
return _GT___2.call(this, x, y); | |
default: | |
return _GT___3.cljs$lang$arity$variadic(x, y, cljs.core.array_seq(arguments, 2)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
_GT_.cljs$lang$maxFixedArity = 2; | |
_GT_.cljs$lang$applyTo = _GT___3.cljs$lang$applyTo; | |
_GT_.cljs$lang$arity$1 = _GT___1; | |
_GT_.cljs$lang$arity$2 = _GT___2; | |
_GT_.cljs$lang$arity$variadic = _GT___3.cljs$lang$arity$variadic; | |
return _GT_ | |
}(); | |
cljs.core._GT__EQ_ = function() { | |
var _GT__EQ_ = null; | |
var _GT__EQ___1 = function(x) { | |
return true | |
}; | |
var _GT__EQ___2 = function(x, y) { | |
return x >= y | |
}; | |
var _GT__EQ___3 = function() { | |
var G__8677__delegate = function(x, y, more) { | |
while(true) { | |
if(x >= y) { | |
if(cljs.core.next.call(null, more)) { | |
var G__8678 = y; | |
var G__8679 = cljs.core.first.call(null, more); | |
var G__8680 = cljs.core.next.call(null, more); | |
x = G__8678; | |
y = G__8679; | |
more = G__8680; | |
continue | |
}else { | |
return y >= cljs.core.first.call(null, more) | |
} | |
}else { | |
return false | |
} | |
break | |
} | |
}; | |
var G__8677 = function(x, y, var_args) { | |
var more = null; | |
if(goog.isDef(var_args)) { | |
more = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2), 0) | |
} | |
return G__8677__delegate.call(this, x, y, more) | |
}; | |
G__8677.cljs$lang$maxFixedArity = 2; | |
G__8677.cljs$lang$applyTo = function(arglist__8681) { | |
var x = cljs.core.first(arglist__8681); | |
var y = cljs.core.first(cljs.core.next(arglist__8681)); | |
var more = cljs.core.rest(cljs.core.next(arglist__8681)); | |
return G__8677__delegate(x, y, more) | |
}; | |
G__8677.cljs$lang$arity$variadic = G__8677__delegate; | |
return G__8677 | |
}(); | |
_GT__EQ_ = function(x, y, var_args) { | |
var more = var_args; | |
switch(arguments.length) { | |
case 1: | |
return _GT__EQ___1.call(this, x); | |
case 2: | |
return _GT__EQ___2.call(this, x, y); | |
default: | |
return _GT__EQ___3.cljs$lang$arity$variadic(x, y, cljs.core.array_seq(arguments, 2)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
_GT__EQ_.cljs$lang$maxFixedArity = 2; | |
_GT__EQ_.cljs$lang$applyTo = _GT__EQ___3.cljs$lang$applyTo; | |
_GT__EQ_.cljs$lang$arity$1 = _GT__EQ___1; | |
_GT__EQ_.cljs$lang$arity$2 = _GT__EQ___2; | |
_GT__EQ_.cljs$lang$arity$variadic = _GT__EQ___3.cljs$lang$arity$variadic; | |
return _GT__EQ_ | |
}(); | |
cljs.core.dec = function dec(x) { | |
return x - 1 | |
}; | |
cljs.core.max = function() { | |
var max = null; | |
var max__1 = function(x) { | |
return x | |
}; | |
var max__2 = function(x, y) { | |
return x > y ? x : y | |
}; | |
var max__3 = function() { | |
var G__8682__delegate = function(x, y, more) { | |
return cljs.core.reduce.call(null, max, x > y ? x : y, more) | |
}; | |
var G__8682 = function(x, y, var_args) { | |
var more = null; | |
if(goog.isDef(var_args)) { | |
more = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2), 0) | |
} | |
return G__8682__delegate.call(this, x, y, more) | |
}; | |
G__8682.cljs$lang$maxFixedArity = 2; | |
G__8682.cljs$lang$applyTo = function(arglist__8683) { | |
var x = cljs.core.first(arglist__8683); | |
var y = cljs.core.first(cljs.core.next(arglist__8683)); | |
var more = cljs.core.rest(cljs.core.next(arglist__8683)); | |
return G__8682__delegate(x, y, more) | |
}; | |
G__8682.cljs$lang$arity$variadic = G__8682__delegate; | |
return G__8682 | |
}(); | |
max = function(x, y, var_args) { | |
var more = var_args; | |
switch(arguments.length) { | |
case 1: | |
return max__1.call(this, x); | |
case 2: | |
return max__2.call(this, x, y); | |
default: | |
return max__3.cljs$lang$arity$variadic(x, y, cljs.core.array_seq(arguments, 2)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
max.cljs$lang$maxFixedArity = 2; | |
max.cljs$lang$applyTo = max__3.cljs$lang$applyTo; | |
max.cljs$lang$arity$1 = max__1; | |
max.cljs$lang$arity$2 = max__2; | |
max.cljs$lang$arity$variadic = max__3.cljs$lang$arity$variadic; | |
return max | |
}(); | |
cljs.core.min = function() { | |
var min = null; | |
var min__1 = function(x) { | |
return x | |
}; | |
var min__2 = function(x, y) { | |
return x < y ? x : y | |
}; | |
var min__3 = function() { | |
var G__8684__delegate = function(x, y, more) { | |
return cljs.core.reduce.call(null, min, x < y ? x : y, more) | |
}; | |
var G__8684 = function(x, y, var_args) { | |
var more = null; | |
if(goog.isDef(var_args)) { | |
more = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2), 0) | |
} | |
return G__8684__delegate.call(this, x, y, more) | |
}; | |
G__8684.cljs$lang$maxFixedArity = 2; | |
G__8684.cljs$lang$applyTo = function(arglist__8685) { | |
var x = cljs.core.first(arglist__8685); | |
var y = cljs.core.first(cljs.core.next(arglist__8685)); | |
var more = cljs.core.rest(cljs.core.next(arglist__8685)); | |
return G__8684__delegate(x, y, more) | |
}; | |
G__8684.cljs$lang$arity$variadic = G__8684__delegate; | |
return G__8684 | |
}(); | |
min = function(x, y, var_args) { | |
var more = var_args; | |
switch(arguments.length) { | |
case 1: | |
return min__1.call(this, x); | |
case 2: | |
return min__2.call(this, x, y); | |
default: | |
return min__3.cljs$lang$arity$variadic(x, y, cljs.core.array_seq(arguments, 2)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
min.cljs$lang$maxFixedArity = 2; | |
min.cljs$lang$applyTo = min__3.cljs$lang$applyTo; | |
min.cljs$lang$arity$1 = min__1; | |
min.cljs$lang$arity$2 = min__2; | |
min.cljs$lang$arity$variadic = min__3.cljs$lang$arity$variadic; | |
return min | |
}(); | |
cljs.core.fix = function fix(q) { | |
if(q >= 0) { | |
return Math.floor.call(null, q) | |
}else { | |
return Math.ceil.call(null, q) | |
} | |
}; | |
cljs.core.int$ = function int$(x) { | |
return cljs.core.fix.call(null, x) | |
}; | |
cljs.core.long$ = function long$(x) { | |
return cljs.core.fix.call(null, x) | |
}; | |
cljs.core.mod = function mod(n, d) { | |
return n % d | |
}; | |
cljs.core.quot = function quot(n, d) { | |
var rem__8687 = n % d; | |
return cljs.core.fix.call(null, (n - rem__8687) / d) | |
}; | |
cljs.core.rem = function rem(n, d) { | |
var q__8689 = cljs.core.quot.call(null, n, d); | |
return n - d * q__8689 | |
}; | |
cljs.core.rand = function() { | |
var rand = null; | |
var rand__0 = function() { | |
return Math.random.call(null) | |
}; | |
var rand__1 = function(n) { | |
return n * rand.call(null) | |
}; | |
rand = function(n) { | |
switch(arguments.length) { | |
case 0: | |
return rand__0.call(this); | |
case 1: | |
return rand__1.call(this, n) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
rand.cljs$lang$arity$0 = rand__0; | |
rand.cljs$lang$arity$1 = rand__1; | |
return rand | |
}(); | |
cljs.core.rand_int = function rand_int(n) { | |
return cljs.core.fix.call(null, cljs.core.rand.call(null, n)) | |
}; | |
cljs.core.bit_xor = function bit_xor(x, y) { | |
return x ^ y | |
}; | |
cljs.core.bit_and = function bit_and(x, y) { | |
return x & y | |
}; | |
cljs.core.bit_or = function bit_or(x, y) { | |
return x | y | |
}; | |
cljs.core.bit_and_not = function bit_and_not(x, y) { | |
return x & ~y | |
}; | |
cljs.core.bit_clear = function bit_clear(x, n) { | |
return x & ~(1 << n) | |
}; | |
cljs.core.bit_flip = function bit_flip(x, n) { | |
return x ^ 1 << n | |
}; | |
cljs.core.bit_not = function bit_not(x) { | |
return~x | |
}; | |
cljs.core.bit_set = function bit_set(x, n) { | |
return x | 1 << n | |
}; | |
cljs.core.bit_test = function bit_test(x, n) { | |
return(x & 1 << n) != 0 | |
}; | |
cljs.core.bit_shift_left = function bit_shift_left(x, n) { | |
return x << n | |
}; | |
cljs.core.bit_shift_right = function bit_shift_right(x, n) { | |
return x >> n | |
}; | |
cljs.core.bit_shift_right_zero_fill = function bit_shift_right_zero_fill(x, n) { | |
return x >>> n | |
}; | |
cljs.core.bit_count = function bit_count(v) { | |
var v__8692 = v - (v >> 1 & 1431655765); | |
var v__8693 = (v__8692 & 858993459) + (v__8692 >> 2 & 858993459); | |
return(v__8693 + (v__8693 >> 4) & 252645135) * 16843009 >> 24 | |
}; | |
cljs.core._EQ__EQ_ = function() { | |
var _EQ__EQ_ = null; | |
var _EQ__EQ___1 = function(x) { | |
return true | |
}; | |
var _EQ__EQ___2 = function(x, y) { | |
return cljs.core._equiv.call(null, x, y) | |
}; | |
var _EQ__EQ___3 = function() { | |
var G__8694__delegate = function(x, y, more) { | |
while(true) { | |
if(cljs.core.truth_(_EQ__EQ_.call(null, x, y))) { | |
if(cljs.core.next.call(null, more)) { | |
var G__8695 = y; | |
var G__8696 = cljs.core.first.call(null, more); | |
var G__8697 = cljs.core.next.call(null, more); | |
x = G__8695; | |
y = G__8696; | |
more = G__8697; | |
continue | |
}else { | |
return _EQ__EQ_.call(null, y, cljs.core.first.call(null, more)) | |
} | |
}else { | |
return false | |
} | |
break | |
} | |
}; | |
var G__8694 = function(x, y, var_args) { | |
var more = null; | |
if(goog.isDef(var_args)) { | |
more = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2), 0) | |
} | |
return G__8694__delegate.call(this, x, y, more) | |
}; | |
G__8694.cljs$lang$maxFixedArity = 2; | |
G__8694.cljs$lang$applyTo = function(arglist__8698) { | |
var x = cljs.core.first(arglist__8698); | |
var y = cljs.core.first(cljs.core.next(arglist__8698)); | |
var more = cljs.core.rest(cljs.core.next(arglist__8698)); | |
return G__8694__delegate(x, y, more) | |
}; | |
G__8694.cljs$lang$arity$variadic = G__8694__delegate; | |
return G__8694 | |
}(); | |
_EQ__EQ_ = function(x, y, var_args) { | |
var more = var_args; | |
switch(arguments.length) { | |
case 1: | |
return _EQ__EQ___1.call(this, x); | |
case 2: | |
return _EQ__EQ___2.call(this, x, y); | |
default: | |
return _EQ__EQ___3.cljs$lang$arity$variadic(x, y, cljs.core.array_seq(arguments, 2)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
_EQ__EQ_.cljs$lang$maxFixedArity = 2; | |
_EQ__EQ_.cljs$lang$applyTo = _EQ__EQ___3.cljs$lang$applyTo; | |
_EQ__EQ_.cljs$lang$arity$1 = _EQ__EQ___1; | |
_EQ__EQ_.cljs$lang$arity$2 = _EQ__EQ___2; | |
_EQ__EQ_.cljs$lang$arity$variadic = _EQ__EQ___3.cljs$lang$arity$variadic; | |
return _EQ__EQ_ | |
}(); | |
cljs.core.pos_QMARK_ = function pos_QMARK_(n) { | |
return n > 0 | |
}; | |
cljs.core.zero_QMARK_ = function zero_QMARK_(n) { | |
return n === 0 | |
}; | |
cljs.core.neg_QMARK_ = function neg_QMARK_(x) { | |
return x < 0 | |
}; | |
cljs.core.nthnext = function nthnext(coll, n) { | |
var n__8702 = n; | |
var xs__8703 = cljs.core.seq.call(null, coll); | |
while(true) { | |
if(cljs.core.truth_(function() { | |
var and__3822__auto____8704 = xs__8703; | |
if(and__3822__auto____8704) { | |
return n__8702 > 0 | |
}else { | |
return and__3822__auto____8704 | |
} | |
}())) { | |
var G__8705 = n__8702 - 1; | |
var G__8706 = cljs.core.next.call(null, xs__8703); | |
n__8702 = G__8705; | |
xs__8703 = G__8706; | |
continue | |
}else { | |
return xs__8703 | |
} | |
break | |
} | |
}; | |
cljs.core.str_STAR_ = function() { | |
var str_STAR_ = null; | |
var str_STAR___0 = function() { | |
return"" | |
}; | |
var str_STAR___1 = function(x) { | |
if(x == null) { | |
return"" | |
}else { | |
if("\ufdd0'else") { | |
return x.toString() | |
}else { | |
return null | |
} | |
} | |
}; | |
var str_STAR___2 = function() { | |
var G__8707__delegate = function(x, ys) { | |
return function(sb, more) { | |
while(true) { | |
if(cljs.core.truth_(more)) { | |
var G__8708 = sb.append(str_STAR_.call(null, cljs.core.first.call(null, more))); | |
var G__8709 = cljs.core.next.call(null, more); | |
sb = G__8708; | |
more = G__8709; | |
continue | |
}else { | |
return str_STAR_.call(null, sb) | |
} | |
break | |
} | |
}.call(null, new goog.string.StringBuffer(str_STAR_.call(null, x)), ys) | |
}; | |
var G__8707 = function(x, var_args) { | |
var ys = null; | |
if(goog.isDef(var_args)) { | |
ys = cljs.core.array_seq(Array.prototype.slice.call(arguments, 1), 0) | |
} | |
return G__8707__delegate.call(this, x, ys) | |
}; | |
G__8707.cljs$lang$maxFixedArity = 1; | |
G__8707.cljs$lang$applyTo = function(arglist__8710) { | |
var x = cljs.core.first(arglist__8710); | |
var ys = cljs.core.rest(arglist__8710); | |
return G__8707__delegate(x, ys) | |
}; | |
G__8707.cljs$lang$arity$variadic = G__8707__delegate; | |
return G__8707 | |
}(); | |
str_STAR_ = function(x, var_args) { | |
var ys = var_args; | |
switch(arguments.length) { | |
case 0: | |
return str_STAR___0.call(this); | |
case 1: | |
return str_STAR___1.call(this, x); | |
default: | |
return str_STAR___2.cljs$lang$arity$variadic(x, cljs.core.array_seq(arguments, 1)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
str_STAR_.cljs$lang$maxFixedArity = 1; | |
str_STAR_.cljs$lang$applyTo = str_STAR___2.cljs$lang$applyTo; | |
str_STAR_.cljs$lang$arity$0 = str_STAR___0; | |
str_STAR_.cljs$lang$arity$1 = str_STAR___1; | |
str_STAR_.cljs$lang$arity$variadic = str_STAR___2.cljs$lang$arity$variadic; | |
return str_STAR_ | |
}(); | |
cljs.core.str = function() { | |
var str = null; | |
var str__0 = function() { | |
return"" | |
}; | |
var str__1 = function(x) { | |
if(cljs.core.symbol_QMARK_.call(null, x)) { | |
return x.substring(2, x.length) | |
}else { | |
if(cljs.core.keyword_QMARK_.call(null, x)) { | |
return cljs.core.str_STAR_.call(null, ":", x.substring(2, x.length)) | |
}else { | |
if(x == null) { | |
return"" | |
}else { | |
if("\ufdd0'else") { | |
return x.toString() | |
}else { | |
return null | |
} | |
} | |
} | |
} | |
}; | |
var str__2 = function() { | |
var G__8711__delegate = function(x, ys) { | |
return function(sb, more) { | |
while(true) { | |
if(cljs.core.truth_(more)) { | |
var G__8712 = sb.append(str.call(null, cljs.core.first.call(null, more))); | |
var G__8713 = cljs.core.next.call(null, more); | |
sb = G__8712; | |
more = G__8713; | |
continue | |
}else { | |
return cljs.core.str_STAR_.call(null, sb) | |
} | |
break | |
} | |
}.call(null, new goog.string.StringBuffer(str.call(null, x)), ys) | |
}; | |
var G__8711 = function(x, var_args) { | |
var ys = null; | |
if(goog.isDef(var_args)) { | |
ys = cljs.core.array_seq(Array.prototype.slice.call(arguments, 1), 0) | |
} | |
return G__8711__delegate.call(this, x, ys) | |
}; | |
G__8711.cljs$lang$maxFixedArity = 1; | |
G__8711.cljs$lang$applyTo = function(arglist__8714) { | |
var x = cljs.core.first(arglist__8714); | |
var ys = cljs.core.rest(arglist__8714); | |
return G__8711__delegate(x, ys) | |
}; | |
G__8711.cljs$lang$arity$variadic = G__8711__delegate; | |
return G__8711 | |
}(); | |
str = function(x, var_args) { | |
var ys = var_args; | |
switch(arguments.length) { | |
case 0: | |
return str__0.call(this); | |
case 1: | |
return str__1.call(this, x); | |
default: | |
return str__2.cljs$lang$arity$variadic(x, cljs.core.array_seq(arguments, 1)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
str.cljs$lang$maxFixedArity = 1; | |
str.cljs$lang$applyTo = str__2.cljs$lang$applyTo; | |
str.cljs$lang$arity$0 = str__0; | |
str.cljs$lang$arity$1 = str__1; | |
str.cljs$lang$arity$variadic = str__2.cljs$lang$arity$variadic; | |
return str | |
}(); | |
cljs.core.subs = function() { | |
var subs = null; | |
var subs__2 = function(s, start) { | |
return s.substring(start) | |
}; | |
var subs__3 = function(s, start, end) { | |
return s.substring(start, end) | |
}; | |
subs = function(s, start, end) { | |
switch(arguments.length) { | |
case 2: | |
return subs__2.call(this, s, start); | |
case 3: | |
return subs__3.call(this, s, start, end) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
subs.cljs$lang$arity$2 = subs__2; | |
subs.cljs$lang$arity$3 = subs__3; | |
return subs | |
}(); | |
cljs.core.format = function() { | |
var format__delegate = function(fmt, args) { | |
return cljs.core.apply.call(null, goog.string.format, fmt, args) | |
}; | |
var format = function(fmt, var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 1), 0) | |
} | |
return format__delegate.call(this, fmt, args) | |
}; | |
format.cljs$lang$maxFixedArity = 1; | |
format.cljs$lang$applyTo = function(arglist__8715) { | |
var fmt = cljs.core.first(arglist__8715); | |
var args = cljs.core.rest(arglist__8715); | |
return format__delegate(fmt, args) | |
}; | |
format.cljs$lang$arity$variadic = format__delegate; | |
return format | |
}(); | |
cljs.core.symbol = function() { | |
var symbol = null; | |
var symbol__1 = function(name) { | |
if(cljs.core.symbol_QMARK_.call(null, name)) { | |
name | |
}else { | |
if(cljs.core.keyword_QMARK_.call(null, name)) { | |
cljs.core.str_STAR_.call(null, "\ufdd1", "'", cljs.core.subs.call(null, name, 2)) | |
}else { | |
} | |
} | |
return cljs.core.str_STAR_.call(null, "\ufdd1", "'", name) | |
}; | |
var symbol__2 = function(ns, name) { | |
return symbol.call(null, cljs.core.str_STAR_.call(null, ns, "/", name)) | |
}; | |
symbol = function(ns, name) { | |
switch(arguments.length) { | |
case 1: | |
return symbol__1.call(this, ns); | |
case 2: | |
return symbol__2.call(this, ns, name) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
symbol.cljs$lang$arity$1 = symbol__1; | |
symbol.cljs$lang$arity$2 = symbol__2; | |
return symbol | |
}(); | |
cljs.core.keyword = function() { | |
var keyword = null; | |
var keyword__1 = function(name) { | |
if(cljs.core.keyword_QMARK_.call(null, name)) { | |
return name | |
}else { | |
if(cljs.core.symbol_QMARK_.call(null, name)) { | |
return cljs.core.str_STAR_.call(null, "\ufdd0", "'", cljs.core.subs.call(null, name, 2)) | |
}else { | |
if("\ufdd0'else") { | |
return cljs.core.str_STAR_.call(null, "\ufdd0", "'", name) | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
var keyword__2 = function(ns, name) { | |
return keyword.call(null, cljs.core.str_STAR_.call(null, ns, "/", name)) | |
}; | |
keyword = function(ns, name) { | |
switch(arguments.length) { | |
case 1: | |
return keyword__1.call(this, ns); | |
case 2: | |
return keyword__2.call(this, ns, name) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
keyword.cljs$lang$arity$1 = keyword__1; | |
keyword.cljs$lang$arity$2 = keyword__2; | |
return keyword | |
}(); | |
cljs.core.equiv_sequential = function equiv_sequential(x, y) { | |
return cljs.core.boolean$.call(null, cljs.core.sequential_QMARK_.call(null, y) ? function() { | |
var xs__8718 = cljs.core.seq.call(null, x); | |
var ys__8719 = cljs.core.seq.call(null, y); | |
while(true) { | |
if(xs__8718 == null) { | |
return ys__8719 == null | |
}else { | |
if(ys__8719 == null) { | |
return false | |
}else { | |
if(cljs.core._EQ_.call(null, cljs.core.first.call(null, xs__8718), cljs.core.first.call(null, ys__8719))) { | |
var G__8720 = cljs.core.next.call(null, xs__8718); | |
var G__8721 = cljs.core.next.call(null, ys__8719); | |
xs__8718 = G__8720; | |
ys__8719 = G__8721; | |
continue | |
}else { | |
if("\ufdd0'else") { | |
return false | |
}else { | |
return null | |
} | |
} | |
} | |
} | |
break | |
} | |
}() : null) | |
}; | |
cljs.core.hash_combine = function hash_combine(seed, hash) { | |
return seed ^ hash + 2654435769 + (seed << 6) + (seed >> 2) | |
}; | |
cljs.core.hash_coll = function hash_coll(coll) { | |
return cljs.core.reduce.call(null, function(p1__8722_SHARP_, p2__8723_SHARP_) { | |
return cljs.core.hash_combine.call(null, p1__8722_SHARP_, cljs.core.hash.call(null, p2__8723_SHARP_, false)) | |
}, cljs.core.hash.call(null, cljs.core.first.call(null, coll), false), cljs.core.next.call(null, coll)) | |
}; | |
cljs.core.hash_imap = function hash_imap(m) { | |
var h__8727 = 0; | |
var s__8728 = cljs.core.seq.call(null, m); | |
while(true) { | |
if(s__8728) { | |
var e__8729 = cljs.core.first.call(null, s__8728); | |
var G__8730 = (h__8727 + (cljs.core.hash.call(null, cljs.core.key.call(null, e__8729)) ^ cljs.core.hash.call(null, cljs.core.val.call(null, e__8729)))) % 4503599627370496; | |
var G__8731 = cljs.core.next.call(null, s__8728); | |
h__8727 = G__8730; | |
s__8728 = G__8731; | |
continue | |
}else { | |
return h__8727 | |
} | |
break | |
} | |
}; | |
cljs.core.hash_iset = function hash_iset(s) { | |
var h__8735 = 0; | |
var s__8736 = cljs.core.seq.call(null, s); | |
while(true) { | |
if(s__8736) { | |
var e__8737 = cljs.core.first.call(null, s__8736); | |
var G__8738 = (h__8735 + cljs.core.hash.call(null, e__8737)) % 4503599627370496; | |
var G__8739 = cljs.core.next.call(null, s__8736); | |
h__8735 = G__8738; | |
s__8736 = G__8739; | |
continue | |
}else { | |
return h__8735 | |
} | |
break | |
} | |
}; | |
cljs.core.extend_object_BANG_ = function extend_object_BANG_(obj, fn_map) { | |
var G__8760__8761 = cljs.core.seq.call(null, fn_map); | |
if(G__8760__8761) { | |
var G__8763__8765 = cljs.core.first.call(null, G__8760__8761); | |
var vec__8764__8766 = G__8763__8765; | |
var key_name__8767 = cljs.core.nth.call(null, vec__8764__8766, 0, null); | |
var f__8768 = cljs.core.nth.call(null, vec__8764__8766, 1, null); | |
var G__8760__8769 = G__8760__8761; | |
var G__8763__8770 = G__8763__8765; | |
var G__8760__8771 = G__8760__8769; | |
while(true) { | |
var vec__8772__8773 = G__8763__8770; | |
var key_name__8774 = cljs.core.nth.call(null, vec__8772__8773, 0, null); | |
var f__8775 = cljs.core.nth.call(null, vec__8772__8773, 1, null); | |
var G__8760__8776 = G__8760__8771; | |
var str_name__8777 = cljs.core.name.call(null, key_name__8774); | |
obj[str_name__8777] = f__8775; | |
var temp__3974__auto____8778 = cljs.core.next.call(null, G__8760__8776); | |
if(temp__3974__auto____8778) { | |
var G__8760__8779 = temp__3974__auto____8778; | |
var G__8780 = cljs.core.first.call(null, G__8760__8779); | |
var G__8781 = G__8760__8779; | |
G__8763__8770 = G__8780; | |
G__8760__8771 = G__8781; | |
continue | |
}else { | |
} | |
break | |
} | |
}else { | |
} | |
return obj | |
}; | |
cljs.core.List = function(meta, first, rest, count, __hash) { | |
this.meta = meta; | |
this.first = first; | |
this.rest = rest; | |
this.count = count; | |
this.__hash = __hash; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 65413358 | |
}; | |
cljs.core.List.cljs$lang$type = true; | |
cljs.core.List.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/List") | |
}; | |
cljs.core.List.prototype.cljs$core$IHash$_hash$arity$1 = function(coll) { | |
var this__8782 = this; | |
var h__2216__auto____8783 = this__8782.__hash; | |
if(!(h__2216__auto____8783 == null)) { | |
return h__2216__auto____8783 | |
}else { | |
var h__2216__auto____8784 = cljs.core.hash_coll.call(null, coll); | |
this__8782.__hash = h__2216__auto____8784; | |
return h__2216__auto____8784 | |
} | |
}; | |
cljs.core.List.prototype.cljs$core$INext$_next$arity$1 = function(coll) { | |
var this__8785 = this; | |
if(this__8785.count === 1) { | |
return null | |
}else { | |
return this__8785.rest | |
} | |
}; | |
cljs.core.List.prototype.cljs$core$ICollection$_conj$arity$2 = function(coll, o) { | |
var this__8786 = this; | |
return new cljs.core.List(this__8786.meta, o, coll, this__8786.count + 1, null) | |
}; | |
cljs.core.List.prototype.toString = function() { | |
var this__8787 = this; | |
var this__8788 = this; | |
return cljs.core.pr_str.call(null, this__8788) | |
}; | |
cljs.core.List.prototype.cljs$core$ISeqable$_seq$arity$1 = function(coll) { | |
var this__8789 = this; | |
return coll | |
}; | |
cljs.core.List.prototype.cljs$core$ICounted$_count$arity$1 = function(coll) { | |
var this__8790 = this; | |
return this__8790.count | |
}; | |
cljs.core.List.prototype.cljs$core$IStack$_peek$arity$1 = function(coll) { | |
var this__8791 = this; | |
return this__8791.first | |
}; | |
cljs.core.List.prototype.cljs$core$IStack$_pop$arity$1 = function(coll) { | |
var this__8792 = this; | |
return coll.cljs$core$ISeq$_rest$arity$1(coll) | |
}; | |
cljs.core.List.prototype.cljs$core$ISeq$_first$arity$1 = function(coll) { | |
var this__8793 = this; | |
return this__8793.first | |
}; | |
cljs.core.List.prototype.cljs$core$ISeq$_rest$arity$1 = function(coll) { | |
var this__8794 = this; | |
if(this__8794.count === 1) { | |
return cljs.core.List.EMPTY | |
}else { | |
return this__8794.rest | |
} | |
}; | |
cljs.core.List.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__8795 = this; | |
return cljs.core.equiv_sequential.call(null, coll, other) | |
}; | |
cljs.core.List.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(coll, meta) { | |
var this__8796 = this; | |
return new cljs.core.List(meta, this__8796.first, this__8796.rest, this__8796.count, this__8796.__hash) | |
}; | |
cljs.core.List.prototype.cljs$core$IMeta$_meta$arity$1 = function(coll) { | |
var this__8797 = this; | |
return this__8797.meta | |
}; | |
cljs.core.List.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = function(coll) { | |
var this__8798 = this; | |
return cljs.core.List.EMPTY | |
}; | |
cljs.core.List; | |
cljs.core.EmptyList = function(meta) { | |
this.meta = meta; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 65413326 | |
}; | |
cljs.core.EmptyList.cljs$lang$type = true; | |
cljs.core.EmptyList.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/EmptyList") | |
}; | |
cljs.core.EmptyList.prototype.cljs$core$IHash$_hash$arity$1 = function(coll) { | |
var this__8799 = this; | |
return 0 | |
}; | |
cljs.core.EmptyList.prototype.cljs$core$INext$_next$arity$1 = function(coll) { | |
var this__8800 = this; | |
return null | |
}; | |
cljs.core.EmptyList.prototype.cljs$core$ICollection$_conj$arity$2 = function(coll, o) { | |
var this__8801 = this; | |
return new cljs.core.List(this__8801.meta, o, null, 1, null) | |
}; | |
cljs.core.EmptyList.prototype.toString = function() { | |
var this__8802 = this; | |
var this__8803 = this; | |
return cljs.core.pr_str.call(null, this__8803) | |
}; | |
cljs.core.EmptyList.prototype.cljs$core$ISeqable$_seq$arity$1 = function(coll) { | |
var this__8804 = this; | |
return null | |
}; | |
cljs.core.EmptyList.prototype.cljs$core$ICounted$_count$arity$1 = function(coll) { | |
var this__8805 = this; | |
return 0 | |
}; | |
cljs.core.EmptyList.prototype.cljs$core$IStack$_peek$arity$1 = function(coll) { | |
var this__8806 = this; | |
return null | |
}; | |
cljs.core.EmptyList.prototype.cljs$core$IStack$_pop$arity$1 = function(coll) { | |
var this__8807 = this; | |
throw new Error("Can't pop empty list"); | |
}; | |
cljs.core.EmptyList.prototype.cljs$core$ISeq$_first$arity$1 = function(coll) { | |
var this__8808 = this; | |
return null | |
}; | |
cljs.core.EmptyList.prototype.cljs$core$ISeq$_rest$arity$1 = function(coll) { | |
var this__8809 = this; | |
return cljs.core.List.EMPTY | |
}; | |
cljs.core.EmptyList.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__8810 = this; | |
return cljs.core.equiv_sequential.call(null, coll, other) | |
}; | |
cljs.core.EmptyList.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(coll, meta) { | |
var this__8811 = this; | |
return new cljs.core.EmptyList(meta) | |
}; | |
cljs.core.EmptyList.prototype.cljs$core$IMeta$_meta$arity$1 = function(coll) { | |
var this__8812 = this; | |
return this__8812.meta | |
}; | |
cljs.core.EmptyList.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = function(coll) { | |
var this__8813 = this; | |
return coll | |
}; | |
cljs.core.EmptyList; | |
cljs.core.List.EMPTY = new cljs.core.EmptyList(null); | |
cljs.core.reversible_QMARK_ = function reversible_QMARK_(coll) { | |
var G__8817__8818 = coll; | |
if(G__8817__8818) { | |
if(function() { | |
var or__3824__auto____8819 = G__8817__8818.cljs$lang$protocol_mask$partition0$ & 134217728; | |
if(or__3824__auto____8819) { | |
return or__3824__auto____8819 | |
}else { | |
return G__8817__8818.cljs$core$IReversible$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__8817__8818.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IReversible, G__8817__8818) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IReversible, G__8817__8818) | |
} | |
}; | |
cljs.core.rseq = function rseq(coll) { | |
return cljs.core._rseq.call(null, coll) | |
}; | |
cljs.core.reverse = function reverse(coll) { | |
if(cljs.core.reversible_QMARK_.call(null, coll)) { | |
return cljs.core.rseq.call(null, coll) | |
}else { | |
return cljs.core.reduce.call(null, cljs.core.conj, cljs.core.List.EMPTY, coll) | |
} | |
}; | |
cljs.core.list = function() { | |
var list = null; | |
var list__0 = function() { | |
return cljs.core.List.EMPTY | |
}; | |
var list__1 = function(x) { | |
return cljs.core.conj.call(null, cljs.core.List.EMPTY, x) | |
}; | |
var list__2 = function(x, y) { | |
return cljs.core.conj.call(null, list.call(null, y), x) | |
}; | |
var list__3 = function(x, y, z) { | |
return cljs.core.conj.call(null, list.call(null, y, z), x) | |
}; | |
var list__4 = function() { | |
var G__8820__delegate = function(x, y, z, items) { | |
return cljs.core.conj.call(null, cljs.core.conj.call(null, cljs.core.conj.call(null, cljs.core.reduce.call(null, cljs.core.conj, cljs.core.List.EMPTY, cljs.core.reverse.call(null, items)), z), y), x) | |
}; | |
var G__8820 = function(x, y, z, var_args) { | |
var items = null; | |
if(goog.isDef(var_args)) { | |
items = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__8820__delegate.call(this, x, y, z, items) | |
}; | |
G__8820.cljs$lang$maxFixedArity = 3; | |
G__8820.cljs$lang$applyTo = function(arglist__8821) { | |
var x = cljs.core.first(arglist__8821); | |
var y = cljs.core.first(cljs.core.next(arglist__8821)); | |
var z = cljs.core.first(cljs.core.next(cljs.core.next(arglist__8821))); | |
var items = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__8821))); | |
return G__8820__delegate(x, y, z, items) | |
}; | |
G__8820.cljs$lang$arity$variadic = G__8820__delegate; | |
return G__8820 | |
}(); | |
list = function(x, y, z, var_args) { | |
var items = var_args; | |
switch(arguments.length) { | |
case 0: | |
return list__0.call(this); | |
case 1: | |
return list__1.call(this, x); | |
case 2: | |
return list__2.call(this, x, y); | |
case 3: | |
return list__3.call(this, x, y, z); | |
default: | |
return list__4.cljs$lang$arity$variadic(x, y, z, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
list.cljs$lang$maxFixedArity = 3; | |
list.cljs$lang$applyTo = list__4.cljs$lang$applyTo; | |
list.cljs$lang$arity$0 = list__0; | |
list.cljs$lang$arity$1 = list__1; | |
list.cljs$lang$arity$2 = list__2; | |
list.cljs$lang$arity$3 = list__3; | |
list.cljs$lang$arity$variadic = list__4.cljs$lang$arity$variadic; | |
return list | |
}(); | |
cljs.core.Cons = function(meta, first, rest, __hash) { | |
this.meta = meta; | |
this.first = first; | |
this.rest = rest; | |
this.__hash = __hash; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 65405164 | |
}; | |
cljs.core.Cons.cljs$lang$type = true; | |
cljs.core.Cons.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/Cons") | |
}; | |
cljs.core.Cons.prototype.cljs$core$IHash$_hash$arity$1 = function(coll) { | |
var this__8822 = this; | |
var h__2216__auto____8823 = this__8822.__hash; | |
if(!(h__2216__auto____8823 == null)) { | |
return h__2216__auto____8823 | |
}else { | |
var h__2216__auto____8824 = cljs.core.hash_coll.call(null, coll); | |
this__8822.__hash = h__2216__auto____8824; | |
return h__2216__auto____8824 | |
} | |
}; | |
cljs.core.Cons.prototype.cljs$core$INext$_next$arity$1 = function(coll) { | |
var this__8825 = this; | |
if(this__8825.rest == null) { | |
return null | |
}else { | |
return cljs.core._seq.call(null, this__8825.rest) | |
} | |
}; | |
cljs.core.Cons.prototype.cljs$core$ICollection$_conj$arity$2 = function(coll, o) { | |
var this__8826 = this; | |
return new cljs.core.Cons(null, o, coll, this__8826.__hash) | |
}; | |
cljs.core.Cons.prototype.toString = function() { | |
var this__8827 = this; | |
var this__8828 = this; | |
return cljs.core.pr_str.call(null, this__8828) | |
}; | |
cljs.core.Cons.prototype.cljs$core$ISeqable$_seq$arity$1 = function(coll) { | |
var this__8829 = this; | |
return coll | |
}; | |
cljs.core.Cons.prototype.cljs$core$ISeq$_first$arity$1 = function(coll) { | |
var this__8830 = this; | |
return this__8830.first | |
}; | |
cljs.core.Cons.prototype.cljs$core$ISeq$_rest$arity$1 = function(coll) { | |
var this__8831 = this; | |
if(this__8831.rest == null) { | |
return cljs.core.List.EMPTY | |
}else { | |
return this__8831.rest | |
} | |
}; | |
cljs.core.Cons.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__8832 = this; | |
return cljs.core.equiv_sequential.call(null, coll, other) | |
}; | |
cljs.core.Cons.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(coll, meta) { | |
var this__8833 = this; | |
return new cljs.core.Cons(meta, this__8833.first, this__8833.rest, this__8833.__hash) | |
}; | |
cljs.core.Cons.prototype.cljs$core$IMeta$_meta$arity$1 = function(coll) { | |
var this__8834 = this; | |
return this__8834.meta | |
}; | |
cljs.core.Cons.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = function(coll) { | |
var this__8835 = this; | |
return cljs.core.with_meta.call(null, cljs.core.List.EMPTY, this__8835.meta) | |
}; | |
cljs.core.Cons; | |
cljs.core.cons = function cons(x, coll) { | |
if(function() { | |
var or__3824__auto____8840 = coll == null; | |
if(or__3824__auto____8840) { | |
return or__3824__auto____8840 | |
}else { | |
var G__8841__8842 = coll; | |
if(G__8841__8842) { | |
if(function() { | |
var or__3824__auto____8843 = G__8841__8842.cljs$lang$protocol_mask$partition0$ & 64; | |
if(or__3824__auto____8843) { | |
return or__3824__auto____8843 | |
}else { | |
return G__8841__8842.cljs$core$ISeq$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__8841__8842.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.ISeq, G__8841__8842) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.ISeq, G__8841__8842) | |
} | |
} | |
}()) { | |
return new cljs.core.Cons(null, x, coll, null) | |
}else { | |
return new cljs.core.Cons(null, x, cljs.core.seq.call(null, coll), null) | |
} | |
}; | |
cljs.core.list_QMARK_ = function list_QMARK_(x) { | |
var G__8847__8848 = x; | |
if(G__8847__8848) { | |
if(function() { | |
var or__3824__auto____8849 = G__8847__8848.cljs$lang$protocol_mask$partition0$ & 33554432; | |
if(or__3824__auto____8849) { | |
return or__3824__auto____8849 | |
}else { | |
return G__8847__8848.cljs$core$IList$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__8847__8848.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IList, G__8847__8848) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IList, G__8847__8848) | |
} | |
}; | |
cljs.core.IReduce["string"] = true; | |
cljs.core._reduce["string"] = function() { | |
var G__8850 = null; | |
var G__8850__2 = function(string, f) { | |
return cljs.core.ci_reduce.call(null, string, f) | |
}; | |
var G__8850__3 = function(string, f, start) { | |
return cljs.core.ci_reduce.call(null, string, f, start) | |
}; | |
G__8850 = function(string, f, start) { | |
switch(arguments.length) { | |
case 2: | |
return G__8850__2.call(this, string, f); | |
case 3: | |
return G__8850__3.call(this, string, f, start) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__8850 | |
}(); | |
cljs.core.ILookup["string"] = true; | |
cljs.core._lookup["string"] = function() { | |
var G__8851 = null; | |
var G__8851__2 = function(string, k) { | |
return cljs.core._nth.call(null, string, k) | |
}; | |
var G__8851__3 = function(string, k, not_found) { | |
return cljs.core._nth.call(null, string, k, not_found) | |
}; | |
G__8851 = function(string, k, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return G__8851__2.call(this, string, k); | |
case 3: | |
return G__8851__3.call(this, string, k, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__8851 | |
}(); | |
cljs.core.IIndexed["string"] = true; | |
cljs.core._nth["string"] = function() { | |
var G__8852 = null; | |
var G__8852__2 = function(string, n) { | |
if(n < cljs.core._count.call(null, string)) { | |
return string.charAt(n) | |
}else { | |
return null | |
} | |
}; | |
var G__8852__3 = function(string, n, not_found) { | |
if(n < cljs.core._count.call(null, string)) { | |
return string.charAt(n) | |
}else { | |
return not_found | |
} | |
}; | |
G__8852 = function(string, n, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return G__8852__2.call(this, string, n); | |
case 3: | |
return G__8852__3.call(this, string, n, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__8852 | |
}(); | |
cljs.core.ICounted["string"] = true; | |
cljs.core._count["string"] = function(s) { | |
return s.length | |
}; | |
cljs.core.ISeqable["string"] = true; | |
cljs.core._seq["string"] = function(string) { | |
return cljs.core.prim_seq.call(null, string, 0) | |
}; | |
cljs.core.IHash["string"] = true; | |
cljs.core._hash["string"] = function(o) { | |
return goog.string.hashCode(o) | |
}; | |
cljs.core.Keyword = function(k) { | |
this.k = k; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 1 | |
}; | |
cljs.core.Keyword.cljs$lang$type = true; | |
cljs.core.Keyword.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/Keyword") | |
}; | |
cljs.core.Keyword.prototype.call = function() { | |
var G__8864 = null; | |
var G__8864__2 = function(this_sym8855, coll) { | |
var this__8857 = this; | |
var this_sym8855__8858 = this; | |
var ___8859 = this_sym8855__8858; | |
if(coll == null) { | |
return null | |
}else { | |
var strobj__8860 = coll.strobj; | |
if(strobj__8860 == null) { | |
return cljs.core._lookup.call(null, coll, this__8857.k, null) | |
}else { | |
return strobj__8860[this__8857.k] | |
} | |
} | |
}; | |
var G__8864__3 = function(this_sym8856, coll, not_found) { | |
var this__8857 = this; | |
var this_sym8856__8861 = this; | |
var ___8862 = this_sym8856__8861; | |
if(coll == null) { | |
return not_found | |
}else { | |
return cljs.core._lookup.call(null, coll, this__8857.k, not_found) | |
} | |
}; | |
G__8864 = function(this_sym8856, coll, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return G__8864__2.call(this, this_sym8856, coll); | |
case 3: | |
return G__8864__3.call(this, this_sym8856, coll, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__8864 | |
}(); | |
cljs.core.Keyword.prototype.apply = function(this_sym8853, args8854) { | |
var this__8863 = this; | |
return this_sym8853.call.apply(this_sym8853, [this_sym8853].concat(args8854.slice())) | |
}; | |
cljs.core.Keyword; | |
String.prototype.cljs$core$IFn$ = true; | |
String.prototype.call = function() { | |
var G__8873 = null; | |
var G__8873__2 = function(this_sym8867, coll) { | |
var this_sym8867__8869 = this; | |
var this__8870 = this_sym8867__8869; | |
return cljs.core._lookup.call(null, coll, this__8870.toString(), null) | |
}; | |
var G__8873__3 = function(this_sym8868, coll, not_found) { | |
var this_sym8868__8871 = this; | |
var this__8872 = this_sym8868__8871; | |
return cljs.core._lookup.call(null, coll, this__8872.toString(), not_found) | |
}; | |
G__8873 = function(this_sym8868, coll, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return G__8873__2.call(this, this_sym8868, coll); | |
case 3: | |
return G__8873__3.call(this, this_sym8868, coll, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__8873 | |
}(); | |
String.prototype.apply = function(this_sym8865, args8866) { | |
return this_sym8865.call.apply(this_sym8865, [this_sym8865].concat(args8866.slice())) | |
}; | |
String.prototype.apply = function(s, args) { | |
if(cljs.core.count.call(null, args) < 2) { | |
return cljs.core._lookup.call(null, args[0], s, null) | |
}else { | |
return cljs.core._lookup.call(null, args[0], s, args[1]) | |
} | |
}; | |
cljs.core.lazy_seq_value = function lazy_seq_value(lazy_seq) { | |
var x__8875 = lazy_seq.x; | |
if(lazy_seq.realized) { | |
return x__8875 | |
}else { | |
lazy_seq.x = x__8875.call(null); | |
lazy_seq.realized = true; | |
return lazy_seq.x | |
} | |
}; | |
cljs.core.LazySeq = function(meta, realized, x, __hash) { | |
this.meta = meta; | |
this.realized = realized; | |
this.x = x; | |
this.__hash = __hash; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 31850700 | |
}; | |
cljs.core.LazySeq.cljs$lang$type = true; | |
cljs.core.LazySeq.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/LazySeq") | |
}; | |
cljs.core.LazySeq.prototype.cljs$core$IHash$_hash$arity$1 = function(coll) { | |
var this__8876 = this; | |
var h__2216__auto____8877 = this__8876.__hash; | |
if(!(h__2216__auto____8877 == null)) { | |
return h__2216__auto____8877 | |
}else { | |
var h__2216__auto____8878 = cljs.core.hash_coll.call(null, coll); | |
this__8876.__hash = h__2216__auto____8878; | |
return h__2216__auto____8878 | |
} | |
}; | |
cljs.core.LazySeq.prototype.cljs$core$INext$_next$arity$1 = function(coll) { | |
var this__8879 = this; | |
return cljs.core._seq.call(null, coll.cljs$core$ISeq$_rest$arity$1(coll)) | |
}; | |
cljs.core.LazySeq.prototype.cljs$core$ICollection$_conj$arity$2 = function(coll, o) { | |
var this__8880 = this; | |
return cljs.core.cons.call(null, o, coll) | |
}; | |
cljs.core.LazySeq.prototype.toString = function() { | |
var this__8881 = this; | |
var this__8882 = this; | |
return cljs.core.pr_str.call(null, this__8882) | |
}; | |
cljs.core.LazySeq.prototype.cljs$core$ISeqable$_seq$arity$1 = function(coll) { | |
var this__8883 = this; | |
return cljs.core.seq.call(null, cljs.core.lazy_seq_value.call(null, coll)) | |
}; | |
cljs.core.LazySeq.prototype.cljs$core$ISeq$_first$arity$1 = function(coll) { | |
var this__8884 = this; | |
return cljs.core.first.call(null, cljs.core.lazy_seq_value.call(null, coll)) | |
}; | |
cljs.core.LazySeq.prototype.cljs$core$ISeq$_rest$arity$1 = function(coll) { | |
var this__8885 = this; | |
return cljs.core.rest.call(null, cljs.core.lazy_seq_value.call(null, coll)) | |
}; | |
cljs.core.LazySeq.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__8886 = this; | |
return cljs.core.equiv_sequential.call(null, coll, other) | |
}; | |
cljs.core.LazySeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(coll, meta) { | |
var this__8887 = this; | |
return new cljs.core.LazySeq(meta, this__8887.realized, this__8887.x, this__8887.__hash) | |
}; | |
cljs.core.LazySeq.prototype.cljs$core$IMeta$_meta$arity$1 = function(coll) { | |
var this__8888 = this; | |
return this__8888.meta | |
}; | |
cljs.core.LazySeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = function(coll) { | |
var this__8889 = this; | |
return cljs.core.with_meta.call(null, cljs.core.List.EMPTY, this__8889.meta) | |
}; | |
cljs.core.LazySeq; | |
cljs.core.ChunkBuffer = function(buf, end) { | |
this.buf = buf; | |
this.end = end; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 2 | |
}; | |
cljs.core.ChunkBuffer.cljs$lang$type = true; | |
cljs.core.ChunkBuffer.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/ChunkBuffer") | |
}; | |
cljs.core.ChunkBuffer.prototype.cljs$core$ICounted$_count$arity$1 = function(_) { | |
var this__8890 = this; | |
return this__8890.end | |
}; | |
cljs.core.ChunkBuffer.prototype.add = function(o) { | |
var this__8891 = this; | |
var ___8892 = this; | |
this__8891.buf[this__8891.end] = o; | |
return this__8891.end = this__8891.end + 1 | |
}; | |
cljs.core.ChunkBuffer.prototype.chunk = function(o) { | |
var this__8893 = this; | |
var ___8894 = this; | |
var ret__8895 = new cljs.core.ArrayChunk(this__8893.buf, 0, this__8893.end); | |
this__8893.buf = null; | |
return ret__8895 | |
}; | |
cljs.core.ChunkBuffer; | |
cljs.core.chunk_buffer = function chunk_buffer(capacity) { | |
return new cljs.core.ChunkBuffer(cljs.core.make_array.call(null, capacity), 0) | |
}; | |
cljs.core.ArrayChunk = function(arr, off, end) { | |
this.arr = arr; | |
this.off = off; | |
this.end = end; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 524306 | |
}; | |
cljs.core.ArrayChunk.cljs$lang$type = true; | |
cljs.core.ArrayChunk.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/ArrayChunk") | |
}; | |
cljs.core.ArrayChunk.prototype.cljs$core$IReduce$_reduce$arity$2 = function(coll, f) { | |
var this__8896 = this; | |
return cljs.core.ci_reduce.call(null, coll, f, this__8896.arr[this__8896.off], this__8896.off + 1) | |
}; | |
cljs.core.ArrayChunk.prototype.cljs$core$IReduce$_reduce$arity$3 = function(coll, f, start) { | |
var this__8897 = this; | |
return cljs.core.ci_reduce.call(null, coll, f, start, this__8897.off) | |
}; | |
cljs.core.ArrayChunk.prototype.cljs$core$IChunk$ = true; | |
cljs.core.ArrayChunk.prototype.cljs$core$IChunk$_drop_first$arity$1 = function(coll) { | |
var this__8898 = this; | |
if(this__8898.off === this__8898.end) { | |
throw new Error("-drop-first of empty chunk"); | |
}else { | |
return new cljs.core.ArrayChunk(this__8898.arr, this__8898.off + 1, this__8898.end) | |
} | |
}; | |
cljs.core.ArrayChunk.prototype.cljs$core$IIndexed$_nth$arity$2 = function(coll, i) { | |
var this__8899 = this; | |
return this__8899.arr[this__8899.off + i] | |
}; | |
cljs.core.ArrayChunk.prototype.cljs$core$IIndexed$_nth$arity$3 = function(coll, i, not_found) { | |
var this__8900 = this; | |
if(function() { | |
var and__3822__auto____8901 = i >= 0; | |
if(and__3822__auto____8901) { | |
return i < this__8900.end - this__8900.off | |
}else { | |
return and__3822__auto____8901 | |
} | |
}()) { | |
return this__8900.arr[this__8900.off + i] | |
}else { | |
return not_found | |
} | |
}; | |
cljs.core.ArrayChunk.prototype.cljs$core$ICounted$_count$arity$1 = function(_) { | |
var this__8902 = this; | |
return this__8902.end - this__8902.off | |
}; | |
cljs.core.ArrayChunk; | |
cljs.core.array_chunk = function() { | |
var array_chunk = null; | |
var array_chunk__1 = function(arr) { | |
return array_chunk.call(null, arr, 0, arr.length) | |
}; | |
var array_chunk__2 = function(arr, off) { | |
return array_chunk.call(null, arr, off, arr.length) | |
}; | |
var array_chunk__3 = function(arr, off, end) { | |
return new cljs.core.ArrayChunk(arr, off, end) | |
}; | |
array_chunk = function(arr, off, end) { | |
switch(arguments.length) { | |
case 1: | |
return array_chunk__1.call(this, arr); | |
case 2: | |
return array_chunk__2.call(this, arr, off); | |
case 3: | |
return array_chunk__3.call(this, arr, off, end) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
array_chunk.cljs$lang$arity$1 = array_chunk__1; | |
array_chunk.cljs$lang$arity$2 = array_chunk__2; | |
array_chunk.cljs$lang$arity$3 = array_chunk__3; | |
return array_chunk | |
}(); | |
cljs.core.ChunkedCons = function(chunk, more, meta) { | |
this.chunk = chunk; | |
this.more = more; | |
this.meta = meta; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 27656296 | |
}; | |
cljs.core.ChunkedCons.cljs$lang$type = true; | |
cljs.core.ChunkedCons.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/ChunkedCons") | |
}; | |
cljs.core.ChunkedCons.prototype.cljs$core$ICollection$_conj$arity$2 = function(this$, o) { | |
var this__8903 = this; | |
return cljs.core.cons.call(null, o, this$) | |
}; | |
cljs.core.ChunkedCons.prototype.cljs$core$ISeqable$_seq$arity$1 = function(coll) { | |
var this__8904 = this; | |
return coll | |
}; | |
cljs.core.ChunkedCons.prototype.cljs$core$ISeq$_first$arity$1 = function(coll) { | |
var this__8905 = this; | |
return cljs.core._nth.call(null, this__8905.chunk, 0) | |
}; | |
cljs.core.ChunkedCons.prototype.cljs$core$ISeq$_rest$arity$1 = function(coll) { | |
var this__8906 = this; | |
if(cljs.core._count.call(null, this__8906.chunk) > 1) { | |
return new cljs.core.ChunkedCons(cljs.core._drop_first.call(null, this__8906.chunk), this__8906.more, this__8906.meta) | |
}else { | |
if(this__8906.more == null) { | |
return cljs.core.List.EMPTY | |
}else { | |
return this__8906.more | |
} | |
} | |
}; | |
cljs.core.ChunkedCons.prototype.cljs$core$IChunkedNext$ = true; | |
cljs.core.ChunkedCons.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1 = function(coll) { | |
var this__8907 = this; | |
if(this__8907.more == null) { | |
return null | |
}else { | |
return this__8907.more | |
} | |
}; | |
cljs.core.ChunkedCons.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__8908 = this; | |
return cljs.core.equiv_sequential.call(null, coll, other) | |
}; | |
cljs.core.ChunkedCons.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(coll, m) { | |
var this__8909 = this; | |
return new cljs.core.ChunkedCons(this__8909.chunk, this__8909.more, m) | |
}; | |
cljs.core.ChunkedCons.prototype.cljs$core$IMeta$_meta$arity$1 = function(coll) { | |
var this__8910 = this; | |
return this__8910.meta | |
}; | |
cljs.core.ChunkedCons.prototype.cljs$core$IChunkedSeq$ = true; | |
cljs.core.ChunkedCons.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1 = function(coll) { | |
var this__8911 = this; | |
return this__8911.chunk | |
}; | |
cljs.core.ChunkedCons.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1 = function(coll) { | |
var this__8912 = this; | |
if(this__8912.more == null) { | |
return cljs.core.List.EMPTY | |
}else { | |
return this__8912.more | |
} | |
}; | |
cljs.core.ChunkedCons; | |
cljs.core.chunk_cons = function chunk_cons(chunk, rest) { | |
if(cljs.core._count.call(null, chunk) === 0) { | |
return rest | |
}else { | |
return new cljs.core.ChunkedCons(chunk, rest, null) | |
} | |
}; | |
cljs.core.chunk_append = function chunk_append(b, x) { | |
return b.add(x) | |
}; | |
cljs.core.chunk = function chunk(b) { | |
return b.chunk() | |
}; | |
cljs.core.chunk_first = function chunk_first(s) { | |
return cljs.core._chunked_first.call(null, s) | |
}; | |
cljs.core.chunk_rest = function chunk_rest(s) { | |
return cljs.core._chunked_rest.call(null, s) | |
}; | |
cljs.core.chunk_next = function chunk_next(s) { | |
if(function() { | |
var G__8916__8917 = s; | |
if(G__8916__8917) { | |
if(cljs.core.truth_(function() { | |
var or__3824__auto____8918 = null; | |
if(cljs.core.truth_(or__3824__auto____8918)) { | |
return or__3824__auto____8918 | |
}else { | |
return G__8916__8917.cljs$core$IChunkedNext$ | |
} | |
}())) { | |
return true | |
}else { | |
if(!G__8916__8917.cljs$lang$protocol_mask$partition$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IChunkedNext, G__8916__8917) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IChunkedNext, G__8916__8917) | |
} | |
}()) { | |
return cljs.core._chunked_next.call(null, s) | |
}else { | |
return cljs.core.seq.call(null, cljs.core._chunked_rest.call(null, s)) | |
} | |
}; | |
cljs.core.to_array = function to_array(s) { | |
var ary__8921 = []; | |
var s__8922 = s; | |
while(true) { | |
if(cljs.core.seq.call(null, s__8922)) { | |
ary__8921.push(cljs.core.first.call(null, s__8922)); | |
var G__8923 = cljs.core.next.call(null, s__8922); | |
s__8922 = G__8923; | |
continue | |
}else { | |
return ary__8921 | |
} | |
break | |
} | |
}; | |
cljs.core.to_array_2d = function to_array_2d(coll) { | |
var ret__8927 = cljs.core.make_array.call(null, cljs.core.count.call(null, coll)); | |
var i__8928 = 0; | |
var xs__8929 = cljs.core.seq.call(null, coll); | |
while(true) { | |
if(xs__8929) { | |
ret__8927[i__8928] = cljs.core.to_array.call(null, cljs.core.first.call(null, xs__8929)); | |
var G__8930 = i__8928 + 1; | |
var G__8931 = cljs.core.next.call(null, xs__8929); | |
i__8928 = G__8930; | |
xs__8929 = G__8931; | |
continue | |
}else { | |
} | |
break | |
} | |
return ret__8927 | |
}; | |
cljs.core.long_array = function() { | |
var long_array = null; | |
var long_array__1 = function(size_or_seq) { | |
if(cljs.core.number_QMARK_.call(null, size_or_seq)) { | |
return long_array.call(null, size_or_seq, null) | |
}else { | |
if(cljs.core.seq_QMARK_.call(null, size_or_seq)) { | |
return cljs.core.into_array.call(null, size_or_seq) | |
}else { | |
if("\ufdd0'else") { | |
throw new Error("long-array called with something other than size or ISeq"); | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
var long_array__2 = function(size, init_val_or_seq) { | |
var a__8939 = cljs.core.make_array.call(null, size); | |
if(cljs.core.seq_QMARK_.call(null, init_val_or_seq)) { | |
var s__8940 = cljs.core.seq.call(null, init_val_or_seq); | |
var i__8941 = 0; | |
var s__8942 = s__8940; | |
while(true) { | |
if(cljs.core.truth_(function() { | |
var and__3822__auto____8943 = s__8942; | |
if(and__3822__auto____8943) { | |
return i__8941 < size | |
}else { | |
return and__3822__auto____8943 | |
} | |
}())) { | |
a__8939[i__8941] = cljs.core.first.call(null, s__8942); | |
var G__8946 = i__8941 + 1; | |
var G__8947 = cljs.core.next.call(null, s__8942); | |
i__8941 = G__8946; | |
s__8942 = G__8947; | |
continue | |
}else { | |
return a__8939 | |
} | |
break | |
} | |
}else { | |
var n__2551__auto____8944 = size; | |
var i__8945 = 0; | |
while(true) { | |
if(i__8945 < n__2551__auto____8944) { | |
a__8939[i__8945] = init_val_or_seq; | |
var G__8948 = i__8945 + 1; | |
i__8945 = G__8948; | |
continue | |
}else { | |
} | |
break | |
} | |
return a__8939 | |
} | |
}; | |
long_array = function(size, init_val_or_seq) { | |
switch(arguments.length) { | |
case 1: | |
return long_array__1.call(this, size); | |
case 2: | |
return long_array__2.call(this, size, init_val_or_seq) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
long_array.cljs$lang$arity$1 = long_array__1; | |
long_array.cljs$lang$arity$2 = long_array__2; | |
return long_array | |
}(); | |
cljs.core.double_array = function() { | |
var double_array = null; | |
var double_array__1 = function(size_or_seq) { | |
if(cljs.core.number_QMARK_.call(null, size_or_seq)) { | |
return double_array.call(null, size_or_seq, null) | |
}else { | |
if(cljs.core.seq_QMARK_.call(null, size_or_seq)) { | |
return cljs.core.into_array.call(null, size_or_seq) | |
}else { | |
if("\ufdd0'else") { | |
throw new Error("double-array called with something other than size or ISeq"); | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
var double_array__2 = function(size, init_val_or_seq) { | |
var a__8956 = cljs.core.make_array.call(null, size); | |
if(cljs.core.seq_QMARK_.call(null, init_val_or_seq)) { | |
var s__8957 = cljs.core.seq.call(null, init_val_or_seq); | |
var i__8958 = 0; | |
var s__8959 = s__8957; | |
while(true) { | |
if(cljs.core.truth_(function() { | |
var and__3822__auto____8960 = s__8959; | |
if(and__3822__auto____8960) { | |
return i__8958 < size | |
}else { | |
return and__3822__auto____8960 | |
} | |
}())) { | |
a__8956[i__8958] = cljs.core.first.call(null, s__8959); | |
var G__8963 = i__8958 + 1; | |
var G__8964 = cljs.core.next.call(null, s__8959); | |
i__8958 = G__8963; | |
s__8959 = G__8964; | |
continue | |
}else { | |
return a__8956 | |
} | |
break | |
} | |
}else { | |
var n__2551__auto____8961 = size; | |
var i__8962 = 0; | |
while(true) { | |
if(i__8962 < n__2551__auto____8961) { | |
a__8956[i__8962] = init_val_or_seq; | |
var G__8965 = i__8962 + 1; | |
i__8962 = G__8965; | |
continue | |
}else { | |
} | |
break | |
} | |
return a__8956 | |
} | |
}; | |
double_array = function(size, init_val_or_seq) { | |
switch(arguments.length) { | |
case 1: | |
return double_array__1.call(this, size); | |
case 2: | |
return double_array__2.call(this, size, init_val_or_seq) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
double_array.cljs$lang$arity$1 = double_array__1; | |
double_array.cljs$lang$arity$2 = double_array__2; | |
return double_array | |
}(); | |
cljs.core.object_array = function() { | |
var object_array = null; | |
var object_array__1 = function(size_or_seq) { | |
if(cljs.core.number_QMARK_.call(null, size_or_seq)) { | |
return object_array.call(null, size_or_seq, null) | |
}else { | |
if(cljs.core.seq_QMARK_.call(null, size_or_seq)) { | |
return cljs.core.into_array.call(null, size_or_seq) | |
}else { | |
if("\ufdd0'else") { | |
throw new Error("object-array called with something other than size or ISeq"); | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
var object_array__2 = function(size, init_val_or_seq) { | |
var a__8973 = cljs.core.make_array.call(null, size); | |
if(cljs.core.seq_QMARK_.call(null, init_val_or_seq)) { | |
var s__8974 = cljs.core.seq.call(null, init_val_or_seq); | |
var i__8975 = 0; | |
var s__8976 = s__8974; | |
while(true) { | |
if(cljs.core.truth_(function() { | |
var and__3822__auto____8977 = s__8976; | |
if(and__3822__auto____8977) { | |
return i__8975 < size | |
}else { | |
return and__3822__auto____8977 | |
} | |
}())) { | |
a__8973[i__8975] = cljs.core.first.call(null, s__8976); | |
var G__8980 = i__8975 + 1; | |
var G__8981 = cljs.core.next.call(null, s__8976); | |
i__8975 = G__8980; | |
s__8976 = G__8981; | |
continue | |
}else { | |
return a__8973 | |
} | |
break | |
} | |
}else { | |
var n__2551__auto____8978 = size; | |
var i__8979 = 0; | |
while(true) { | |
if(i__8979 < n__2551__auto____8978) { | |
a__8973[i__8979] = init_val_or_seq; | |
var G__8982 = i__8979 + 1; | |
i__8979 = G__8982; | |
continue | |
}else { | |
} | |
break | |
} | |
return a__8973 | |
} | |
}; | |
object_array = function(size, init_val_or_seq) { | |
switch(arguments.length) { | |
case 1: | |
return object_array__1.call(this, size); | |
case 2: | |
return object_array__2.call(this, size, init_val_or_seq) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
object_array.cljs$lang$arity$1 = object_array__1; | |
object_array.cljs$lang$arity$2 = object_array__2; | |
return object_array | |
}(); | |
cljs.core.bounded_count = function bounded_count(s, n) { | |
if(cljs.core.counted_QMARK_.call(null, s)) { | |
return cljs.core.count.call(null, s) | |
}else { | |
var s__8987 = s; | |
var i__8988 = n; | |
var sum__8989 = 0; | |
while(true) { | |
if(cljs.core.truth_(function() { | |
var and__3822__auto____8990 = i__8988 > 0; | |
if(and__3822__auto____8990) { | |
return cljs.core.seq.call(null, s__8987) | |
}else { | |
return and__3822__auto____8990 | |
} | |
}())) { | |
var G__8991 = cljs.core.next.call(null, s__8987); | |
var G__8992 = i__8988 - 1; | |
var G__8993 = sum__8989 + 1; | |
s__8987 = G__8991; | |
i__8988 = G__8992; | |
sum__8989 = G__8993; | |
continue | |
}else { | |
return sum__8989 | |
} | |
break | |
} | |
} | |
}; | |
cljs.core.spread = function spread(arglist) { | |
if(arglist == null) { | |
return null | |
}else { | |
if(cljs.core.next.call(null, arglist) == null) { | |
return cljs.core.seq.call(null, cljs.core.first.call(null, arglist)) | |
}else { | |
if("\ufdd0'else") { | |
return cljs.core.cons.call(null, cljs.core.first.call(null, arglist), spread.call(null, cljs.core.next.call(null, arglist))) | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
cljs.core.concat = function() { | |
var concat = null; | |
var concat__0 = function() { | |
return new cljs.core.LazySeq(null, false, function() { | |
return null | |
}, null) | |
}; | |
var concat__1 = function(x) { | |
return new cljs.core.LazySeq(null, false, function() { | |
return x | |
}, null) | |
}; | |
var concat__2 = function(x, y) { | |
return new cljs.core.LazySeq(null, false, function() { | |
var s__8998 = cljs.core.seq.call(null, x); | |
if(s__8998) { | |
if(cljs.core.chunked_seq_QMARK_.call(null, s__8998)) { | |
return cljs.core.chunk_cons.call(null, cljs.core.chunk_first.call(null, s__8998), concat.call(null, cljs.core.chunk_rest.call(null, s__8998), y)) | |
}else { | |
return cljs.core.cons.call(null, cljs.core.first.call(null, s__8998), concat.call(null, cljs.core.rest.call(null, s__8998), y)) | |
} | |
}else { | |
return y | |
} | |
}, null) | |
}; | |
var concat__3 = function() { | |
var G__9002__delegate = function(x, y, zs) { | |
var cat__9001 = function cat(xys, zs) { | |
return new cljs.core.LazySeq(null, false, function() { | |
var xys__9000 = cljs.core.seq.call(null, xys); | |
if(xys__9000) { | |
if(cljs.core.chunked_seq_QMARK_.call(null, xys__9000)) { | |
return cljs.core.chunk_cons.call(null, cljs.core.chunk_first.call(null, xys__9000), cat.call(null, cljs.core.chunk_rest.call(null, xys__9000), zs)) | |
}else { | |
return cljs.core.cons.call(null, cljs.core.first.call(null, xys__9000), cat.call(null, cljs.core.rest.call(null, xys__9000), zs)) | |
} | |
}else { | |
if(cljs.core.truth_(zs)) { | |
return cat.call(null, cljs.core.first.call(null, zs), cljs.core.next.call(null, zs)) | |
}else { | |
return null | |
} | |
} | |
}, null) | |
}; | |
return cat__9001.call(null, concat.call(null, x, y), zs) | |
}; | |
var G__9002 = function(x, y, var_args) { | |
var zs = null; | |
if(goog.isDef(var_args)) { | |
zs = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2), 0) | |
} | |
return G__9002__delegate.call(this, x, y, zs) | |
}; | |
G__9002.cljs$lang$maxFixedArity = 2; | |
G__9002.cljs$lang$applyTo = function(arglist__9003) { | |
var x = cljs.core.first(arglist__9003); | |
var y = cljs.core.first(cljs.core.next(arglist__9003)); | |
var zs = cljs.core.rest(cljs.core.next(arglist__9003)); | |
return G__9002__delegate(x, y, zs) | |
}; | |
G__9002.cljs$lang$arity$variadic = G__9002__delegate; | |
return G__9002 | |
}(); | |
concat = function(x, y, var_args) { | |
var zs = var_args; | |
switch(arguments.length) { | |
case 0: | |
return concat__0.call(this); | |
case 1: | |
return concat__1.call(this, x); | |
case 2: | |
return concat__2.call(this, x, y); | |
default: | |
return concat__3.cljs$lang$arity$variadic(x, y, cljs.core.array_seq(arguments, 2)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
concat.cljs$lang$maxFixedArity = 2; | |
concat.cljs$lang$applyTo = concat__3.cljs$lang$applyTo; | |
concat.cljs$lang$arity$0 = concat__0; | |
concat.cljs$lang$arity$1 = concat__1; | |
concat.cljs$lang$arity$2 = concat__2; | |
concat.cljs$lang$arity$variadic = concat__3.cljs$lang$arity$variadic; | |
return concat | |
}(); | |
cljs.core.list_STAR_ = function() { | |
var list_STAR_ = null; | |
var list_STAR___1 = function(args) { | |
return cljs.core.seq.call(null, args) | |
}; | |
var list_STAR___2 = function(a, args) { | |
return cljs.core.cons.call(null, a, args) | |
}; | |
var list_STAR___3 = function(a, b, args) { | |
return cljs.core.cons.call(null, a, cljs.core.cons.call(null, b, args)) | |
}; | |
var list_STAR___4 = function(a, b, c, args) { | |
return cljs.core.cons.call(null, a, cljs.core.cons.call(null, b, cljs.core.cons.call(null, c, args))) | |
}; | |
var list_STAR___5 = function() { | |
var G__9004__delegate = function(a, b, c, d, more) { | |
return cljs.core.cons.call(null, a, cljs.core.cons.call(null, b, cljs.core.cons.call(null, c, cljs.core.cons.call(null, d, cljs.core.spread.call(null, more))))) | |
}; | |
var G__9004 = function(a, b, c, d, var_args) { | |
var more = null; | |
if(goog.isDef(var_args)) { | |
more = cljs.core.array_seq(Array.prototype.slice.call(arguments, 4), 0) | |
} | |
return G__9004__delegate.call(this, a, b, c, d, more) | |
}; | |
G__9004.cljs$lang$maxFixedArity = 4; | |
G__9004.cljs$lang$applyTo = function(arglist__9005) { | |
var a = cljs.core.first(arglist__9005); | |
var b = cljs.core.first(cljs.core.next(arglist__9005)); | |
var c = cljs.core.first(cljs.core.next(cljs.core.next(arglist__9005))); | |
var d = cljs.core.first(cljs.core.next(cljs.core.next(cljs.core.next(arglist__9005)))); | |
var more = cljs.core.rest(cljs.core.next(cljs.core.next(cljs.core.next(arglist__9005)))); | |
return G__9004__delegate(a, b, c, d, more) | |
}; | |
G__9004.cljs$lang$arity$variadic = G__9004__delegate; | |
return G__9004 | |
}(); | |
list_STAR_ = function(a, b, c, d, var_args) { | |
var more = var_args; | |
switch(arguments.length) { | |
case 1: | |
return list_STAR___1.call(this, a); | |
case 2: | |
return list_STAR___2.call(this, a, b); | |
case 3: | |
return list_STAR___3.call(this, a, b, c); | |
case 4: | |
return list_STAR___4.call(this, a, b, c, d); | |
default: | |
return list_STAR___5.cljs$lang$arity$variadic(a, b, c, d, cljs.core.array_seq(arguments, 4)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
list_STAR_.cljs$lang$maxFixedArity = 4; | |
list_STAR_.cljs$lang$applyTo = list_STAR___5.cljs$lang$applyTo; | |
list_STAR_.cljs$lang$arity$1 = list_STAR___1; | |
list_STAR_.cljs$lang$arity$2 = list_STAR___2; | |
list_STAR_.cljs$lang$arity$3 = list_STAR___3; | |
list_STAR_.cljs$lang$arity$4 = list_STAR___4; | |
list_STAR_.cljs$lang$arity$variadic = list_STAR___5.cljs$lang$arity$variadic; | |
return list_STAR_ | |
}(); | |
cljs.core.transient$ = function transient$(coll) { | |
return cljs.core._as_transient.call(null, coll) | |
}; | |
cljs.core.persistent_BANG_ = function persistent_BANG_(tcoll) { | |
return cljs.core._persistent_BANG_.call(null, tcoll) | |
}; | |
cljs.core.conj_BANG_ = function conj_BANG_(tcoll, val) { | |
return cljs.core._conj_BANG_.call(null, tcoll, val) | |
}; | |
cljs.core.assoc_BANG_ = function assoc_BANG_(tcoll, key, val) { | |
return cljs.core._assoc_BANG_.call(null, tcoll, key, val) | |
}; | |
cljs.core.dissoc_BANG_ = function dissoc_BANG_(tcoll, key) { | |
return cljs.core._dissoc_BANG_.call(null, tcoll, key) | |
}; | |
cljs.core.pop_BANG_ = function pop_BANG_(tcoll) { | |
return cljs.core._pop_BANG_.call(null, tcoll) | |
}; | |
cljs.core.disj_BANG_ = function disj_BANG_(tcoll, val) { | |
return cljs.core._disjoin_BANG_.call(null, tcoll, val) | |
}; | |
cljs.core.apply_to = function apply_to(f, argc, args) { | |
var args__9047 = cljs.core.seq.call(null, args); | |
if(argc === 0) { | |
return f.call(null) | |
}else { | |
var a__9048 = cljs.core._first.call(null, args__9047); | |
var args__9049 = cljs.core._rest.call(null, args__9047); | |
if(argc === 1) { | |
if(f.cljs$lang$arity$1) { | |
return f.cljs$lang$arity$1(a__9048) | |
}else { | |
return f.call(null, a__9048) | |
} | |
}else { | |
var b__9050 = cljs.core._first.call(null, args__9049); | |
var args__9051 = cljs.core._rest.call(null, args__9049); | |
if(argc === 2) { | |
if(f.cljs$lang$arity$2) { | |
return f.cljs$lang$arity$2(a__9048, b__9050) | |
}else { | |
return f.call(null, a__9048, b__9050) | |
} | |
}else { | |
var c__9052 = cljs.core._first.call(null, args__9051); | |
var args__9053 = cljs.core._rest.call(null, args__9051); | |
if(argc === 3) { | |
if(f.cljs$lang$arity$3) { | |
return f.cljs$lang$arity$3(a__9048, b__9050, c__9052) | |
}else { | |
return f.call(null, a__9048, b__9050, c__9052) | |
} | |
}else { | |
var d__9054 = cljs.core._first.call(null, args__9053); | |
var args__9055 = cljs.core._rest.call(null, args__9053); | |
if(argc === 4) { | |
if(f.cljs$lang$arity$4) { | |
return f.cljs$lang$arity$4(a__9048, b__9050, c__9052, d__9054) | |
}else { | |
return f.call(null, a__9048, b__9050, c__9052, d__9054) | |
} | |
}else { | |
var e__9056 = cljs.core._first.call(null, args__9055); | |
var args__9057 = cljs.core._rest.call(null, args__9055); | |
if(argc === 5) { | |
if(f.cljs$lang$arity$5) { | |
return f.cljs$lang$arity$5(a__9048, b__9050, c__9052, d__9054, e__9056) | |
}else { | |
return f.call(null, a__9048, b__9050, c__9052, d__9054, e__9056) | |
} | |
}else { | |
var f__9058 = cljs.core._first.call(null, args__9057); | |
var args__9059 = cljs.core._rest.call(null, args__9057); | |
if(argc === 6) { | |
if(f__9058.cljs$lang$arity$6) { | |
return f__9058.cljs$lang$arity$6(a__9048, b__9050, c__9052, d__9054, e__9056, f__9058) | |
}else { | |
return f__9058.call(null, a__9048, b__9050, c__9052, d__9054, e__9056, f__9058) | |
} | |
}else { | |
var g__9060 = cljs.core._first.call(null, args__9059); | |
var args__9061 = cljs.core._rest.call(null, args__9059); | |
if(argc === 7) { | |
if(f__9058.cljs$lang$arity$7) { | |
return f__9058.cljs$lang$arity$7(a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060) | |
}else { | |
return f__9058.call(null, a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060) | |
} | |
}else { | |
var h__9062 = cljs.core._first.call(null, args__9061); | |
var args__9063 = cljs.core._rest.call(null, args__9061); | |
if(argc === 8) { | |
if(f__9058.cljs$lang$arity$8) { | |
return f__9058.cljs$lang$arity$8(a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062) | |
}else { | |
return f__9058.call(null, a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062) | |
} | |
}else { | |
var i__9064 = cljs.core._first.call(null, args__9063); | |
var args__9065 = cljs.core._rest.call(null, args__9063); | |
if(argc === 9) { | |
if(f__9058.cljs$lang$arity$9) { | |
return f__9058.cljs$lang$arity$9(a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062, i__9064) | |
}else { | |
return f__9058.call(null, a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062, i__9064) | |
} | |
}else { | |
var j__9066 = cljs.core._first.call(null, args__9065); | |
var args__9067 = cljs.core._rest.call(null, args__9065); | |
if(argc === 10) { | |
if(f__9058.cljs$lang$arity$10) { | |
return f__9058.cljs$lang$arity$10(a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062, i__9064, j__9066) | |
}else { | |
return f__9058.call(null, a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062, i__9064, j__9066) | |
} | |
}else { | |
var k__9068 = cljs.core._first.call(null, args__9067); | |
var args__9069 = cljs.core._rest.call(null, args__9067); | |
if(argc === 11) { | |
if(f__9058.cljs$lang$arity$11) { | |
return f__9058.cljs$lang$arity$11(a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062, i__9064, j__9066, k__9068) | |
}else { | |
return f__9058.call(null, a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062, i__9064, j__9066, k__9068) | |
} | |
}else { | |
var l__9070 = cljs.core._first.call(null, args__9069); | |
var args__9071 = cljs.core._rest.call(null, args__9069); | |
if(argc === 12) { | |
if(f__9058.cljs$lang$arity$12) { | |
return f__9058.cljs$lang$arity$12(a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062, i__9064, j__9066, k__9068, l__9070) | |
}else { | |
return f__9058.call(null, a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062, i__9064, j__9066, k__9068, l__9070) | |
} | |
}else { | |
var m__9072 = cljs.core._first.call(null, args__9071); | |
var args__9073 = cljs.core._rest.call(null, args__9071); | |
if(argc === 13) { | |
if(f__9058.cljs$lang$arity$13) { | |
return f__9058.cljs$lang$arity$13(a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062, i__9064, j__9066, k__9068, l__9070, m__9072) | |
}else { | |
return f__9058.call(null, a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062, i__9064, j__9066, k__9068, l__9070, m__9072) | |
} | |
}else { | |
var n__9074 = cljs.core._first.call(null, args__9073); | |
var args__9075 = cljs.core._rest.call(null, args__9073); | |
if(argc === 14) { | |
if(f__9058.cljs$lang$arity$14) { | |
return f__9058.cljs$lang$arity$14(a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062, i__9064, j__9066, k__9068, l__9070, m__9072, n__9074) | |
}else { | |
return f__9058.call(null, a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062, i__9064, j__9066, k__9068, l__9070, m__9072, n__9074) | |
} | |
}else { | |
var o__9076 = cljs.core._first.call(null, args__9075); | |
var args__9077 = cljs.core._rest.call(null, args__9075); | |
if(argc === 15) { | |
if(f__9058.cljs$lang$arity$15) { | |
return f__9058.cljs$lang$arity$15(a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062, i__9064, j__9066, k__9068, l__9070, m__9072, n__9074, o__9076) | |
}else { | |
return f__9058.call(null, a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062, i__9064, j__9066, k__9068, l__9070, m__9072, n__9074, o__9076) | |
} | |
}else { | |
var p__9078 = cljs.core._first.call(null, args__9077); | |
var args__9079 = cljs.core._rest.call(null, args__9077); | |
if(argc === 16) { | |
if(f__9058.cljs$lang$arity$16) { | |
return f__9058.cljs$lang$arity$16(a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062, i__9064, j__9066, k__9068, l__9070, m__9072, n__9074, o__9076, p__9078) | |
}else { | |
return f__9058.call(null, a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062, i__9064, j__9066, k__9068, l__9070, m__9072, n__9074, o__9076, p__9078) | |
} | |
}else { | |
var q__9080 = cljs.core._first.call(null, args__9079); | |
var args__9081 = cljs.core._rest.call(null, args__9079); | |
if(argc === 17) { | |
if(f__9058.cljs$lang$arity$17) { | |
return f__9058.cljs$lang$arity$17(a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062, i__9064, j__9066, k__9068, l__9070, m__9072, n__9074, o__9076, p__9078, q__9080) | |
}else { | |
return f__9058.call(null, a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062, i__9064, j__9066, k__9068, l__9070, m__9072, n__9074, o__9076, p__9078, q__9080) | |
} | |
}else { | |
var r__9082 = cljs.core._first.call(null, args__9081); | |
var args__9083 = cljs.core._rest.call(null, args__9081); | |
if(argc === 18) { | |
if(f__9058.cljs$lang$arity$18) { | |
return f__9058.cljs$lang$arity$18(a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062, i__9064, j__9066, k__9068, l__9070, m__9072, n__9074, o__9076, p__9078, q__9080, r__9082) | |
}else { | |
return f__9058.call(null, a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062, i__9064, j__9066, k__9068, l__9070, m__9072, n__9074, o__9076, p__9078, q__9080, r__9082) | |
} | |
}else { | |
var s__9084 = cljs.core._first.call(null, args__9083); | |
var args__9085 = cljs.core._rest.call(null, args__9083); | |
if(argc === 19) { | |
if(f__9058.cljs$lang$arity$19) { | |
return f__9058.cljs$lang$arity$19(a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062, i__9064, j__9066, k__9068, l__9070, m__9072, n__9074, o__9076, p__9078, q__9080, r__9082, s__9084) | |
}else { | |
return f__9058.call(null, a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062, i__9064, j__9066, k__9068, l__9070, m__9072, n__9074, o__9076, p__9078, q__9080, r__9082, s__9084) | |
} | |
}else { | |
var t__9086 = cljs.core._first.call(null, args__9085); | |
var args__9087 = cljs.core._rest.call(null, args__9085); | |
if(argc === 20) { | |
if(f__9058.cljs$lang$arity$20) { | |
return f__9058.cljs$lang$arity$20(a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062, i__9064, j__9066, k__9068, l__9070, m__9072, n__9074, o__9076, p__9078, q__9080, r__9082, s__9084, t__9086) | |
}else { | |
return f__9058.call(null, a__9048, b__9050, c__9052, d__9054, e__9056, f__9058, g__9060, h__9062, i__9064, j__9066, k__9068, l__9070, m__9072, n__9074, o__9076, p__9078, q__9080, r__9082, s__9084, t__9086) | |
} | |
}else { | |
throw new Error("Only up to 20 arguments supported on functions"); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}; | |
cljs.core.apply = function() { | |
var apply = null; | |
var apply__2 = function(f, args) { | |
var fixed_arity__9102 = f.cljs$lang$maxFixedArity; | |
if(cljs.core.truth_(f.cljs$lang$applyTo)) { | |
var bc__9103 = cljs.core.bounded_count.call(null, args, fixed_arity__9102 + 1); | |
if(bc__9103 <= fixed_arity__9102) { | |
return cljs.core.apply_to.call(null, f, bc__9103, args) | |
}else { | |
return f.cljs$lang$applyTo(args) | |
} | |
}else { | |
return f.apply(f, cljs.core.to_array.call(null, args)) | |
} | |
}; | |
var apply__3 = function(f, x, args) { | |
var arglist__9104 = cljs.core.list_STAR_.call(null, x, args); | |
var fixed_arity__9105 = f.cljs$lang$maxFixedArity; | |
if(cljs.core.truth_(f.cljs$lang$applyTo)) { | |
var bc__9106 = cljs.core.bounded_count.call(null, arglist__9104, fixed_arity__9105 + 1); | |
if(bc__9106 <= fixed_arity__9105) { | |
return cljs.core.apply_to.call(null, f, bc__9106, arglist__9104) | |
}else { | |
return f.cljs$lang$applyTo(arglist__9104) | |
} | |
}else { | |
return f.apply(f, cljs.core.to_array.call(null, arglist__9104)) | |
} | |
}; | |
var apply__4 = function(f, x, y, args) { | |
var arglist__9107 = cljs.core.list_STAR_.call(null, x, y, args); | |
var fixed_arity__9108 = f.cljs$lang$maxFixedArity; | |
if(cljs.core.truth_(f.cljs$lang$applyTo)) { | |
var bc__9109 = cljs.core.bounded_count.call(null, arglist__9107, fixed_arity__9108 + 1); | |
if(bc__9109 <= fixed_arity__9108) { | |
return cljs.core.apply_to.call(null, f, bc__9109, arglist__9107) | |
}else { | |
return f.cljs$lang$applyTo(arglist__9107) | |
} | |
}else { | |
return f.apply(f, cljs.core.to_array.call(null, arglist__9107)) | |
} | |
}; | |
var apply__5 = function(f, x, y, z, args) { | |
var arglist__9110 = cljs.core.list_STAR_.call(null, x, y, z, args); | |
var fixed_arity__9111 = f.cljs$lang$maxFixedArity; | |
if(cljs.core.truth_(f.cljs$lang$applyTo)) { | |
var bc__9112 = cljs.core.bounded_count.call(null, arglist__9110, fixed_arity__9111 + 1); | |
if(bc__9112 <= fixed_arity__9111) { | |
return cljs.core.apply_to.call(null, f, bc__9112, arglist__9110) | |
}else { | |
return f.cljs$lang$applyTo(arglist__9110) | |
} | |
}else { | |
return f.apply(f, cljs.core.to_array.call(null, arglist__9110)) | |
} | |
}; | |
var apply__6 = function() { | |
var G__9116__delegate = function(f, a, b, c, d, args) { | |
var arglist__9113 = cljs.core.cons.call(null, a, cljs.core.cons.call(null, b, cljs.core.cons.call(null, c, cljs.core.cons.call(null, d, cljs.core.spread.call(null, args))))); | |
var fixed_arity__9114 = f.cljs$lang$maxFixedArity; | |
if(cljs.core.truth_(f.cljs$lang$applyTo)) { | |
var bc__9115 = cljs.core.bounded_count.call(null, arglist__9113, fixed_arity__9114 + 1); | |
if(bc__9115 <= fixed_arity__9114) { | |
return cljs.core.apply_to.call(null, f, bc__9115, arglist__9113) | |
}else { | |
return f.cljs$lang$applyTo(arglist__9113) | |
} | |
}else { | |
return f.apply(f, cljs.core.to_array.call(null, arglist__9113)) | |
} | |
}; | |
var G__9116 = function(f, a, b, c, d, var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 5), 0) | |
} | |
return G__9116__delegate.call(this, f, a, b, c, d, args) | |
}; | |
G__9116.cljs$lang$maxFixedArity = 5; | |
G__9116.cljs$lang$applyTo = function(arglist__9117) { | |
var f = cljs.core.first(arglist__9117); | |
var a = cljs.core.first(cljs.core.next(arglist__9117)); | |
var b = cljs.core.first(cljs.core.next(cljs.core.next(arglist__9117))); | |
var c = cljs.core.first(cljs.core.next(cljs.core.next(cljs.core.next(arglist__9117)))); | |
var d = cljs.core.first(cljs.core.next(cljs.core.next(cljs.core.next(cljs.core.next(arglist__9117))))); | |
var args = cljs.core.rest(cljs.core.next(cljs.core.next(cljs.core.next(cljs.core.next(arglist__9117))))); | |
return G__9116__delegate(f, a, b, c, d, args) | |
}; | |
G__9116.cljs$lang$arity$variadic = G__9116__delegate; | |
return G__9116 | |
}(); | |
apply = function(f, a, b, c, d, var_args) { | |
var args = var_args; | |
switch(arguments.length) { | |
case 2: | |
return apply__2.call(this, f, a); | |
case 3: | |
return apply__3.call(this, f, a, b); | |
case 4: | |
return apply__4.call(this, f, a, b, c); | |
case 5: | |
return apply__5.call(this, f, a, b, c, d); | |
default: | |
return apply__6.cljs$lang$arity$variadic(f, a, b, c, d, cljs.core.array_seq(arguments, 5)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
apply.cljs$lang$maxFixedArity = 5; | |
apply.cljs$lang$applyTo = apply__6.cljs$lang$applyTo; | |
apply.cljs$lang$arity$2 = apply__2; | |
apply.cljs$lang$arity$3 = apply__3; | |
apply.cljs$lang$arity$4 = apply__4; | |
apply.cljs$lang$arity$5 = apply__5; | |
apply.cljs$lang$arity$variadic = apply__6.cljs$lang$arity$variadic; | |
return apply | |
}(); | |
cljs.core.vary_meta = function() { | |
var vary_meta__delegate = function(obj, f, args) { | |
return cljs.core.with_meta.call(null, obj, cljs.core.apply.call(null, f, cljs.core.meta.call(null, obj), args)) | |
}; | |
var vary_meta = function(obj, f, var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2), 0) | |
} | |
return vary_meta__delegate.call(this, obj, f, args) | |
}; | |
vary_meta.cljs$lang$maxFixedArity = 2; | |
vary_meta.cljs$lang$applyTo = function(arglist__9118) { | |
var obj = cljs.core.first(arglist__9118); | |
var f = cljs.core.first(cljs.core.next(arglist__9118)); | |
var args = cljs.core.rest(cljs.core.next(arglist__9118)); | |
return vary_meta__delegate(obj, f, args) | |
}; | |
vary_meta.cljs$lang$arity$variadic = vary_meta__delegate; | |
return vary_meta | |
}(); | |
cljs.core.not_EQ_ = function() { | |
var not_EQ_ = null; | |
var not_EQ___1 = function(x) { | |
return false | |
}; | |
var not_EQ___2 = function(x, y) { | |
return!cljs.core._EQ_.call(null, x, y) | |
}; | |
var not_EQ___3 = function() { | |
var G__9119__delegate = function(x, y, more) { | |
return cljs.core.not.call(null, cljs.core.apply.call(null, cljs.core._EQ_, x, y, more)) | |
}; | |
var G__9119 = function(x, y, var_args) { | |
var more = null; | |
if(goog.isDef(var_args)) { | |
more = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2), 0) | |
} | |
return G__9119__delegate.call(this, x, y, more) | |
}; | |
G__9119.cljs$lang$maxFixedArity = 2; | |
G__9119.cljs$lang$applyTo = function(arglist__9120) { | |
var x = cljs.core.first(arglist__9120); | |
var y = cljs.core.first(cljs.core.next(arglist__9120)); | |
var more = cljs.core.rest(cljs.core.next(arglist__9120)); | |
return G__9119__delegate(x, y, more) | |
}; | |
G__9119.cljs$lang$arity$variadic = G__9119__delegate; | |
return G__9119 | |
}(); | |
not_EQ_ = function(x, y, var_args) { | |
var more = var_args; | |
switch(arguments.length) { | |
case 1: | |
return not_EQ___1.call(this, x); | |
case 2: | |
return not_EQ___2.call(this, x, y); | |
default: | |
return not_EQ___3.cljs$lang$arity$variadic(x, y, cljs.core.array_seq(arguments, 2)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
not_EQ_.cljs$lang$maxFixedArity = 2; | |
not_EQ_.cljs$lang$applyTo = not_EQ___3.cljs$lang$applyTo; | |
not_EQ_.cljs$lang$arity$1 = not_EQ___1; | |
not_EQ_.cljs$lang$arity$2 = not_EQ___2; | |
not_EQ_.cljs$lang$arity$variadic = not_EQ___3.cljs$lang$arity$variadic; | |
return not_EQ_ | |
}(); | |
cljs.core.not_empty = function not_empty(coll) { | |
if(cljs.core.seq.call(null, coll)) { | |
return coll | |
}else { | |
return null | |
} | |
}; | |
cljs.core.every_QMARK_ = function every_QMARK_(pred, coll) { | |
while(true) { | |
if(cljs.core.seq.call(null, coll) == null) { | |
return true | |
}else { | |
if(cljs.core.truth_(pred.call(null, cljs.core.first.call(null, coll)))) { | |
var G__9121 = pred; | |
var G__9122 = cljs.core.next.call(null, coll); | |
pred = G__9121; | |
coll = G__9122; | |
continue | |
}else { | |
if("\ufdd0'else") { | |
return false | |
}else { | |
return null | |
} | |
} | |
} | |
break | |
} | |
}; | |
cljs.core.not_every_QMARK_ = function not_every_QMARK_(pred, coll) { | |
return!cljs.core.every_QMARK_.call(null, pred, coll) | |
}; | |
cljs.core.some = function some(pred, coll) { | |
while(true) { | |
if(cljs.core.seq.call(null, coll)) { | |
var or__3824__auto____9124 = pred.call(null, cljs.core.first.call(null, coll)); | |
if(cljs.core.truth_(or__3824__auto____9124)) { | |
return or__3824__auto____9124 | |
}else { | |
var G__9125 = pred; | |
var G__9126 = cljs.core.next.call(null, coll); | |
pred = G__9125; | |
coll = G__9126; | |
continue | |
} | |
}else { | |
return null | |
} | |
break | |
} | |
}; | |
cljs.core.not_any_QMARK_ = function not_any_QMARK_(pred, coll) { | |
return cljs.core.not.call(null, cljs.core.some.call(null, pred, coll)) | |
}; | |
cljs.core.even_QMARK_ = function even_QMARK_(n) { | |
if(cljs.core.integer_QMARK_.call(null, n)) { | |
return(n & 1) === 0 | |
}else { | |
throw new Error([cljs.core.str("Argument must be an integer: "), cljs.core.str(n)].join("")); | |
} | |
}; | |
cljs.core.odd_QMARK_ = function odd_QMARK_(n) { | |
return!cljs.core.even_QMARK_.call(null, n) | |
}; | |
cljs.core.identity = function identity(x) { | |
return x | |
}; | |
cljs.core.complement = function complement(f) { | |
return function() { | |
var G__9127 = null; | |
var G__9127__0 = function() { | |
return cljs.core.not.call(null, f.call(null)) | |
}; | |
var G__9127__1 = function(x) { | |
return cljs.core.not.call(null, f.call(null, x)) | |
}; | |
var G__9127__2 = function(x, y) { | |
return cljs.core.not.call(null, f.call(null, x, y)) | |
}; | |
var G__9127__3 = function() { | |
var G__9128__delegate = function(x, y, zs) { | |
return cljs.core.not.call(null, cljs.core.apply.call(null, f, x, y, zs)) | |
}; | |
var G__9128 = function(x, y, var_args) { | |
var zs = null; | |
if(goog.isDef(var_args)) { | |
zs = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2), 0) | |
} | |
return G__9128__delegate.call(this, x, y, zs) | |
}; | |
G__9128.cljs$lang$maxFixedArity = 2; | |
G__9128.cljs$lang$applyTo = function(arglist__9129) { | |
var x = cljs.core.first(arglist__9129); | |
var y = cljs.core.first(cljs.core.next(arglist__9129)); | |
var zs = cljs.core.rest(cljs.core.next(arglist__9129)); | |
return G__9128__delegate(x, y, zs) | |
}; | |
G__9128.cljs$lang$arity$variadic = G__9128__delegate; | |
return G__9128 | |
}(); | |
G__9127 = function(x, y, var_args) { | |
var zs = var_args; | |
switch(arguments.length) { | |
case 0: | |
return G__9127__0.call(this); | |
case 1: | |
return G__9127__1.call(this, x); | |
case 2: | |
return G__9127__2.call(this, x, y); | |
default: | |
return G__9127__3.cljs$lang$arity$variadic(x, y, cljs.core.array_seq(arguments, 2)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
G__9127.cljs$lang$maxFixedArity = 2; | |
G__9127.cljs$lang$applyTo = G__9127__3.cljs$lang$applyTo; | |
return G__9127 | |
}() | |
}; | |
cljs.core.constantly = function constantly(x) { | |
return function() { | |
var G__9130__delegate = function(args) { | |
return x | |
}; | |
var G__9130 = function(var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return G__9130__delegate.call(this, args) | |
}; | |
G__9130.cljs$lang$maxFixedArity = 0; | |
G__9130.cljs$lang$applyTo = function(arglist__9131) { | |
var args = cljs.core.seq(arglist__9131); | |
return G__9130__delegate(args) | |
}; | |
G__9130.cljs$lang$arity$variadic = G__9130__delegate; | |
return G__9130 | |
}() | |
}; | |
cljs.core.comp = function() { | |
var comp = null; | |
var comp__0 = function() { | |
return cljs.core.identity | |
}; | |
var comp__1 = function(f) { | |
return f | |
}; | |
var comp__2 = function(f, g) { | |
return function() { | |
var G__9138 = null; | |
var G__9138__0 = function() { | |
return f.call(null, g.call(null)) | |
}; | |
var G__9138__1 = function(x) { | |
return f.call(null, g.call(null, x)) | |
}; | |
var G__9138__2 = function(x, y) { | |
return f.call(null, g.call(null, x, y)) | |
}; | |
var G__9138__3 = function(x, y, z) { | |
return f.call(null, g.call(null, x, y, z)) | |
}; | |
var G__9138__4 = function() { | |
var G__9139__delegate = function(x, y, z, args) { | |
return f.call(null, cljs.core.apply.call(null, g, x, y, z, args)) | |
}; | |
var G__9139 = function(x, y, z, var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__9139__delegate.call(this, x, y, z, args) | |
}; | |
G__9139.cljs$lang$maxFixedArity = 3; | |
G__9139.cljs$lang$applyTo = function(arglist__9140) { | |
var x = cljs.core.first(arglist__9140); | |
var y = cljs.core.first(cljs.core.next(arglist__9140)); | |
var z = cljs.core.first(cljs.core.next(cljs.core.next(arglist__9140))); | |
var args = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__9140))); | |
return G__9139__delegate(x, y, z, args) | |
}; | |
G__9139.cljs$lang$arity$variadic = G__9139__delegate; | |
return G__9139 | |
}(); | |
G__9138 = function(x, y, z, var_args) { | |
var args = var_args; | |
switch(arguments.length) { | |
case 0: | |
return G__9138__0.call(this); | |
case 1: | |
return G__9138__1.call(this, x); | |
case 2: | |
return G__9138__2.call(this, x, y); | |
case 3: | |
return G__9138__3.call(this, x, y, z); | |
default: | |
return G__9138__4.cljs$lang$arity$variadic(x, y, z, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
G__9138.cljs$lang$maxFixedArity = 3; | |
G__9138.cljs$lang$applyTo = G__9138__4.cljs$lang$applyTo; | |
return G__9138 | |
}() | |
}; | |
var comp__3 = function(f, g, h) { | |
return function() { | |
var G__9141 = null; | |
var G__9141__0 = function() { | |
return f.call(null, g.call(null, h.call(null))) | |
}; | |
var G__9141__1 = function(x) { | |
return f.call(null, g.call(null, h.call(null, x))) | |
}; | |
var G__9141__2 = function(x, y) { | |
return f.call(null, g.call(null, h.call(null, x, y))) | |
}; | |
var G__9141__3 = function(x, y, z) { | |
return f.call(null, g.call(null, h.call(null, x, y, z))) | |
}; | |
var G__9141__4 = function() { | |
var G__9142__delegate = function(x, y, z, args) { | |
return f.call(null, g.call(null, cljs.core.apply.call(null, h, x, y, z, args))) | |
}; | |
var G__9142 = function(x, y, z, var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__9142__delegate.call(this, x, y, z, args) | |
}; | |
G__9142.cljs$lang$maxFixedArity = 3; | |
G__9142.cljs$lang$applyTo = function(arglist__9143) { | |
var x = cljs.core.first(arglist__9143); | |
var y = cljs.core.first(cljs.core.next(arglist__9143)); | |
var z = cljs.core.first(cljs.core.next(cljs.core.next(arglist__9143))); | |
var args = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__9143))); | |
return G__9142__delegate(x, y, z, args) | |
}; | |
G__9142.cljs$lang$arity$variadic = G__9142__delegate; | |
return G__9142 | |
}(); | |
G__9141 = function(x, y, z, var_args) { | |
var args = var_args; | |
switch(arguments.length) { | |
case 0: | |
return G__9141__0.call(this); | |
case 1: | |
return G__9141__1.call(this, x); | |
case 2: | |
return G__9141__2.call(this, x, y); | |
case 3: | |
return G__9141__3.call(this, x, y, z); | |
default: | |
return G__9141__4.cljs$lang$arity$variadic(x, y, z, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
G__9141.cljs$lang$maxFixedArity = 3; | |
G__9141.cljs$lang$applyTo = G__9141__4.cljs$lang$applyTo; | |
return G__9141 | |
}() | |
}; | |
var comp__4 = function() { | |
var G__9144__delegate = function(f1, f2, f3, fs) { | |
var fs__9135 = cljs.core.reverse.call(null, cljs.core.list_STAR_.call(null, f1, f2, f3, fs)); | |
return function() { | |
var G__9145__delegate = function(args) { | |
var ret__9136 = cljs.core.apply.call(null, cljs.core.first.call(null, fs__9135), args); | |
var fs__9137 = cljs.core.next.call(null, fs__9135); | |
while(true) { | |
if(fs__9137) { | |
var G__9146 = cljs.core.first.call(null, fs__9137).call(null, ret__9136); | |
var G__9147 = cljs.core.next.call(null, fs__9137); | |
ret__9136 = G__9146; | |
fs__9137 = G__9147; | |
continue | |
}else { | |
return ret__9136 | |
} | |
break | |
} | |
}; | |
var G__9145 = function(var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return G__9145__delegate.call(this, args) | |
}; | |
G__9145.cljs$lang$maxFixedArity = 0; | |
G__9145.cljs$lang$applyTo = function(arglist__9148) { | |
var args = cljs.core.seq(arglist__9148); | |
return G__9145__delegate(args) | |
}; | |
G__9145.cljs$lang$arity$variadic = G__9145__delegate; | |
return G__9145 | |
}() | |
}; | |
var G__9144 = function(f1, f2, f3, var_args) { | |
var fs = null; | |
if(goog.isDef(var_args)) { | |
fs = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__9144__delegate.call(this, f1, f2, f3, fs) | |
}; | |
G__9144.cljs$lang$maxFixedArity = 3; | |
G__9144.cljs$lang$applyTo = function(arglist__9149) { | |
var f1 = cljs.core.first(arglist__9149); | |
var f2 = cljs.core.first(cljs.core.next(arglist__9149)); | |
var f3 = cljs.core.first(cljs.core.next(cljs.core.next(arglist__9149))); | |
var fs = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__9149))); | |
return G__9144__delegate(f1, f2, f3, fs) | |
}; | |
G__9144.cljs$lang$arity$variadic = G__9144__delegate; | |
return G__9144 | |
}(); | |
comp = function(f1, f2, f3, var_args) { | |
var fs = var_args; | |
switch(arguments.length) { | |
case 0: | |
return comp__0.call(this); | |
case 1: | |
return comp__1.call(this, f1); | |
case 2: | |
return comp__2.call(this, f1, f2); | |
case 3: | |
return comp__3.call(this, f1, f2, f3); | |
default: | |
return comp__4.cljs$lang$arity$variadic(f1, f2, f3, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
comp.cljs$lang$maxFixedArity = 3; | |
comp.cljs$lang$applyTo = comp__4.cljs$lang$applyTo; | |
comp.cljs$lang$arity$0 = comp__0; | |
comp.cljs$lang$arity$1 = comp__1; | |
comp.cljs$lang$arity$2 = comp__2; | |
comp.cljs$lang$arity$3 = comp__3; | |
comp.cljs$lang$arity$variadic = comp__4.cljs$lang$arity$variadic; | |
return comp | |
}(); | |
cljs.core.partial = function() { | |
var partial = null; | |
var partial__2 = function(f, arg1) { | |
return function() { | |
var G__9150__delegate = function(args) { | |
return cljs.core.apply.call(null, f, arg1, args) | |
}; | |
var G__9150 = function(var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return G__9150__delegate.call(this, args) | |
}; | |
G__9150.cljs$lang$maxFixedArity = 0; | |
G__9150.cljs$lang$applyTo = function(arglist__9151) { | |
var args = cljs.core.seq(arglist__9151); | |
return G__9150__delegate(args) | |
}; | |
G__9150.cljs$lang$arity$variadic = G__9150__delegate; | |
return G__9150 | |
}() | |
}; | |
var partial__3 = function(f, arg1, arg2) { | |
return function() { | |
var G__9152__delegate = function(args) { | |
return cljs.core.apply.call(null, f, arg1, arg2, args) | |
}; | |
var G__9152 = function(var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return G__9152__delegate.call(this, args) | |
}; | |
G__9152.cljs$lang$maxFixedArity = 0; | |
G__9152.cljs$lang$applyTo = function(arglist__9153) { | |
var args = cljs.core.seq(arglist__9153); | |
return G__9152__delegate(args) | |
}; | |
G__9152.cljs$lang$arity$variadic = G__9152__delegate; | |
return G__9152 | |
}() | |
}; | |
var partial__4 = function(f, arg1, arg2, arg3) { | |
return function() { | |
var G__9154__delegate = function(args) { | |
return cljs.core.apply.call(null, f, arg1, arg2, arg3, args) | |
}; | |
var G__9154 = function(var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return G__9154__delegate.call(this, args) | |
}; | |
G__9154.cljs$lang$maxFixedArity = 0; | |
G__9154.cljs$lang$applyTo = function(arglist__9155) { | |
var args = cljs.core.seq(arglist__9155); | |
return G__9154__delegate(args) | |
}; | |
G__9154.cljs$lang$arity$variadic = G__9154__delegate; | |
return G__9154 | |
}() | |
}; | |
var partial__5 = function() { | |
var G__9156__delegate = function(f, arg1, arg2, arg3, more) { | |
return function() { | |
var G__9157__delegate = function(args) { | |
return cljs.core.apply.call(null, f, arg1, arg2, arg3, cljs.core.concat.call(null, more, args)) | |
}; | |
var G__9157 = function(var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return G__9157__delegate.call(this, args) | |
}; | |
G__9157.cljs$lang$maxFixedArity = 0; | |
G__9157.cljs$lang$applyTo = function(arglist__9158) { | |
var args = cljs.core.seq(arglist__9158); | |
return G__9157__delegate(args) | |
}; | |
G__9157.cljs$lang$arity$variadic = G__9157__delegate; | |
return G__9157 | |
}() | |
}; | |
var G__9156 = function(f, arg1, arg2, arg3, var_args) { | |
var more = null; | |
if(goog.isDef(var_args)) { | |
more = cljs.core.array_seq(Array.prototype.slice.call(arguments, 4), 0) | |
} | |
return G__9156__delegate.call(this, f, arg1, arg2, arg3, more) | |
}; | |
G__9156.cljs$lang$maxFixedArity = 4; | |
G__9156.cljs$lang$applyTo = function(arglist__9159) { | |
var f = cljs.core.first(arglist__9159); | |
var arg1 = cljs.core.first(cljs.core.next(arglist__9159)); | |
var arg2 = cljs.core.first(cljs.core.next(cljs.core.next(arglist__9159))); | |
var arg3 = cljs.core.first(cljs.core.next(cljs.core.next(cljs.core.next(arglist__9159)))); | |
var more = cljs.core.rest(cljs.core.next(cljs.core.next(cljs.core.next(arglist__9159)))); | |
return G__9156__delegate(f, arg1, arg2, arg3, more) | |
}; | |
G__9156.cljs$lang$arity$variadic = G__9156__delegate; | |
return G__9156 | |
}(); | |
partial = function(f, arg1, arg2, arg3, var_args) { | |
var more = var_args; | |
switch(arguments.length) { | |
case 2: | |
return partial__2.call(this, f, arg1); | |
case 3: | |
return partial__3.call(this, f, arg1, arg2); | |
case 4: | |
return partial__4.call(this, f, arg1, arg2, arg3); | |
default: | |
return partial__5.cljs$lang$arity$variadic(f, arg1, arg2, arg3, cljs.core.array_seq(arguments, 4)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
partial.cljs$lang$maxFixedArity = 4; | |
partial.cljs$lang$applyTo = partial__5.cljs$lang$applyTo; | |
partial.cljs$lang$arity$2 = partial__2; | |
partial.cljs$lang$arity$3 = partial__3; | |
partial.cljs$lang$arity$4 = partial__4; | |
partial.cljs$lang$arity$variadic = partial__5.cljs$lang$arity$variadic; | |
return partial | |
}(); | |
cljs.core.fnil = function() { | |
var fnil = null; | |
var fnil__2 = function(f, x) { | |
return function() { | |
var G__9160 = null; | |
var G__9160__1 = function(a) { | |
return f.call(null, a == null ? x : a) | |
}; | |
var G__9160__2 = function(a, b) { | |
return f.call(null, a == null ? x : a, b) | |
}; | |
var G__9160__3 = function(a, b, c) { | |
return f.call(null, a == null ? x : a, b, c) | |
}; | |
var G__9160__4 = function() { | |
var G__9161__delegate = function(a, b, c, ds) { | |
return cljs.core.apply.call(null, f, a == null ? x : a, b, c, ds) | |
}; | |
var G__9161 = function(a, b, c, var_args) { | |
var ds = null; | |
if(goog.isDef(var_args)) { | |
ds = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__9161__delegate.call(this, a, b, c, ds) | |
}; | |
G__9161.cljs$lang$maxFixedArity = 3; | |
G__9161.cljs$lang$applyTo = function(arglist__9162) { | |
var a = cljs.core.first(arglist__9162); | |
var b = cljs.core.first(cljs.core.next(arglist__9162)); | |
var c = cljs.core.first(cljs.core.next(cljs.core.next(arglist__9162))); | |
var ds = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__9162))); | |
return G__9161__delegate(a, b, c, ds) | |
}; | |
G__9161.cljs$lang$arity$variadic = G__9161__delegate; | |
return G__9161 | |
}(); | |
G__9160 = function(a, b, c, var_args) { | |
var ds = var_args; | |
switch(arguments.length) { | |
case 1: | |
return G__9160__1.call(this, a); | |
case 2: | |
return G__9160__2.call(this, a, b); | |
case 3: | |
return G__9160__3.call(this, a, b, c); | |
default: | |
return G__9160__4.cljs$lang$arity$variadic(a, b, c, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
G__9160.cljs$lang$maxFixedArity = 3; | |
G__9160.cljs$lang$applyTo = G__9160__4.cljs$lang$applyTo; | |
return G__9160 | |
}() | |
}; | |
var fnil__3 = function(f, x, y) { | |
return function() { | |
var G__9163 = null; | |
var G__9163__2 = function(a, b) { | |
return f.call(null, a == null ? x : a, b == null ? y : b) | |
}; | |
var G__9163__3 = function(a, b, c) { | |
return f.call(null, a == null ? x : a, b == null ? y : b, c) | |
}; | |
var G__9163__4 = function() { | |
var G__9164__delegate = function(a, b, c, ds) { | |
return cljs.core.apply.call(null, f, a == null ? x : a, b == null ? y : b, c, ds) | |
}; | |
var G__9164 = function(a, b, c, var_args) { | |
var ds = null; | |
if(goog.isDef(var_args)) { | |
ds = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__9164__delegate.call(this, a, b, c, ds) | |
}; | |
G__9164.cljs$lang$maxFixedArity = 3; | |
G__9164.cljs$lang$applyTo = function(arglist__9165) { | |
var a = cljs.core.first(arglist__9165); | |
var b = cljs.core.first(cljs.core.next(arglist__9165)); | |
var c = cljs.core.first(cljs.core.next(cljs.core.next(arglist__9165))); | |
var ds = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__9165))); | |
return G__9164__delegate(a, b, c, ds) | |
}; | |
G__9164.cljs$lang$arity$variadic = G__9164__delegate; | |
return G__9164 | |
}(); | |
G__9163 = function(a, b, c, var_args) { | |
var ds = var_args; | |
switch(arguments.length) { | |
case 2: | |
return G__9163__2.call(this, a, b); | |
case 3: | |
return G__9163__3.call(this, a, b, c); | |
default: | |
return G__9163__4.cljs$lang$arity$variadic(a, b, c, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
G__9163.cljs$lang$maxFixedArity = 3; | |
G__9163.cljs$lang$applyTo = G__9163__4.cljs$lang$applyTo; | |
return G__9163 | |
}() | |
}; | |
var fnil__4 = function(f, x, y, z) { | |
return function() { | |
var G__9166 = null; | |
var G__9166__2 = function(a, b) { | |
return f.call(null, a == null ? x : a, b == null ? y : b) | |
}; | |
var G__9166__3 = function(a, b, c) { | |
return f.call(null, a == null ? x : a, b == null ? y : b, c == null ? z : c) | |
}; | |
var G__9166__4 = function() { | |
var G__9167__delegate = function(a, b, c, ds) { | |
return cljs.core.apply.call(null, f, a == null ? x : a, b == null ? y : b, c == null ? z : c, ds) | |
}; | |
var G__9167 = function(a, b, c, var_args) { | |
var ds = null; | |
if(goog.isDef(var_args)) { | |
ds = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__9167__delegate.call(this, a, b, c, ds) | |
}; | |
G__9167.cljs$lang$maxFixedArity = 3; | |
G__9167.cljs$lang$applyTo = function(arglist__9168) { | |
var a = cljs.core.first(arglist__9168); | |
var b = cljs.core.first(cljs.core.next(arglist__9168)); | |
var c = cljs.core.first(cljs.core.next(cljs.core.next(arglist__9168))); | |
var ds = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__9168))); | |
return G__9167__delegate(a, b, c, ds) | |
}; | |
G__9167.cljs$lang$arity$variadic = G__9167__delegate; | |
return G__9167 | |
}(); | |
G__9166 = function(a, b, c, var_args) { | |
var ds = var_args; | |
switch(arguments.length) { | |
case 2: | |
return G__9166__2.call(this, a, b); | |
case 3: | |
return G__9166__3.call(this, a, b, c); | |
default: | |
return G__9166__4.cljs$lang$arity$variadic(a, b, c, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
G__9166.cljs$lang$maxFixedArity = 3; | |
G__9166.cljs$lang$applyTo = G__9166__4.cljs$lang$applyTo; | |
return G__9166 | |
}() | |
}; | |
fnil = function(f, x, y, z) { | |
switch(arguments.length) { | |
case 2: | |
return fnil__2.call(this, f, x); | |
case 3: | |
return fnil__3.call(this, f, x, y); | |
case 4: | |
return fnil__4.call(this, f, x, y, z) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
fnil.cljs$lang$arity$2 = fnil__2; | |
fnil.cljs$lang$arity$3 = fnil__3; | |
fnil.cljs$lang$arity$4 = fnil__4; | |
return fnil | |
}(); | |
cljs.core.map_indexed = function map_indexed(f, coll) { | |
var mapi__9184 = function mapi(idx, coll) { | |
return new cljs.core.LazySeq(null, false, function() { | |
var temp__3974__auto____9192 = cljs.core.seq.call(null, coll); | |
if(temp__3974__auto____9192) { | |
var s__9193 = temp__3974__auto____9192; | |
if(cljs.core.chunked_seq_QMARK_.call(null, s__9193)) { | |
var c__9194 = cljs.core.chunk_first.call(null, s__9193); | |
var size__9195 = cljs.core.count.call(null, c__9194); | |
var b__9196 = cljs.core.chunk_buffer.call(null, size__9195); | |
var n__2551__auto____9197 = size__9195; | |
var i__9198 = 0; | |
while(true) { | |
if(i__9198 < n__2551__auto____9197) { | |
cljs.core.chunk_append.call(null, b__9196, f.call(null, idx + i__9198, cljs.core._nth.call(null, c__9194, i__9198))); | |
var G__9199 = i__9198 + 1; | |
i__9198 = G__9199; | |
continue | |
}else { | |
} | |
break | |
} | |
return cljs.core.chunk_cons.call(null, cljs.core.chunk.call(null, b__9196), mapi.call(null, idx + size__9195, cljs.core.chunk_rest.call(null, s__9193))) | |
}else { | |
return cljs.core.cons.call(null, f.call(null, idx, cljs.core.first.call(null, s__9193)), mapi.call(null, idx + 1, cljs.core.rest.call(null, s__9193))) | |
} | |
}else { | |
return null | |
} | |
}, null) | |
}; | |
return mapi__9184.call(null, 0, coll) | |
}; | |
cljs.core.keep = function keep(f, coll) { | |
return new cljs.core.LazySeq(null, false, function() { | |
var temp__3974__auto____9209 = cljs.core.seq.call(null, coll); | |
if(temp__3974__auto____9209) { | |
var s__9210 = temp__3974__auto____9209; | |
if(cljs.core.chunked_seq_QMARK_.call(null, s__9210)) { | |
var c__9211 = cljs.core.chunk_first.call(null, s__9210); | |
var size__9212 = cljs.core.count.call(null, c__9211); | |
var b__9213 = cljs.core.chunk_buffer.call(null, size__9212); | |
var n__2551__auto____9214 = size__9212; | |
var i__9215 = 0; | |
while(true) { | |
if(i__9215 < n__2551__auto____9214) { | |
var x__9216 = f.call(null, cljs.core._nth.call(null, c__9211, i__9215)); | |
if(x__9216 == null) { | |
}else { | |
cljs.core.chunk_append.call(null, b__9213, x__9216) | |
} | |
var G__9218 = i__9215 + 1; | |
i__9215 = G__9218; | |
continue | |
}else { | |
} | |
break | |
} | |
return cljs.core.chunk_cons.call(null, cljs.core.chunk.call(null, b__9213), keep.call(null, f, cljs.core.chunk_rest.call(null, s__9210))) | |
}else { | |
var x__9217 = f.call(null, cljs.core.first.call(null, s__9210)); | |
if(x__9217 == null) { | |
return keep.call(null, f, cljs.core.rest.call(null, s__9210)) | |
}else { | |
return cljs.core.cons.call(null, x__9217, keep.call(null, f, cljs.core.rest.call(null, s__9210))) | |
} | |
} | |
}else { | |
return null | |
} | |
}, null) | |
}; | |
cljs.core.keep_indexed = function keep_indexed(f, coll) { | |
var keepi__9244 = function keepi(idx, coll) { | |
return new cljs.core.LazySeq(null, false, function() { | |
var temp__3974__auto____9254 = cljs.core.seq.call(null, coll); | |
if(temp__3974__auto____9254) { | |
var s__9255 = temp__3974__auto____9254; | |
if(cljs.core.chunked_seq_QMARK_.call(null, s__9255)) { | |
var c__9256 = cljs.core.chunk_first.call(null, s__9255); | |
var size__9257 = cljs.core.count.call(null, c__9256); | |
var b__9258 = cljs.core.chunk_buffer.call(null, size__9257); | |
var n__2551__auto____9259 = size__9257; | |
var i__9260 = 0; | |
while(true) { | |
if(i__9260 < n__2551__auto____9259) { | |
var x__9261 = f.call(null, idx + i__9260, cljs.core._nth.call(null, c__9256, i__9260)); | |
if(x__9261 == null) { | |
}else { | |
cljs.core.chunk_append.call(null, b__9258, x__9261) | |
} | |
var G__9263 = i__9260 + 1; | |
i__9260 = G__9263; | |
continue | |
}else { | |
} | |
break | |
} | |
return cljs.core.chunk_cons.call(null, cljs.core.chunk.call(null, b__9258), keepi.call(null, idx + size__9257, cljs.core.chunk_rest.call(null, s__9255))) | |
}else { | |
var x__9262 = f.call(null, idx, cljs.core.first.call(null, s__9255)); | |
if(x__9262 == null) { | |
return keepi.call(null, idx + 1, cljs.core.rest.call(null, s__9255)) | |
}else { | |
return cljs.core.cons.call(null, x__9262, keepi.call(null, idx + 1, cljs.core.rest.call(null, s__9255))) | |
} | |
} | |
}else { | |
return null | |
} | |
}, null) | |
}; | |
return keepi__9244.call(null, 0, coll) | |
}; | |
cljs.core.every_pred = function() { | |
var every_pred = null; | |
var every_pred__1 = function(p) { | |
return function() { | |
var ep1 = null; | |
var ep1__0 = function() { | |
return true | |
}; | |
var ep1__1 = function(x) { | |
return cljs.core.boolean$.call(null, p.call(null, x)) | |
}; | |
var ep1__2 = function(x, y) { | |
return cljs.core.boolean$.call(null, function() { | |
var and__3822__auto____9349 = p.call(null, x); | |
if(cljs.core.truth_(and__3822__auto____9349)) { | |
return p.call(null, y) | |
}else { | |
return and__3822__auto____9349 | |
} | |
}()) | |
}; | |
var ep1__3 = function(x, y, z) { | |
return cljs.core.boolean$.call(null, function() { | |
var and__3822__auto____9350 = p.call(null, x); | |
if(cljs.core.truth_(and__3822__auto____9350)) { | |
var and__3822__auto____9351 = p.call(null, y); | |
if(cljs.core.truth_(and__3822__auto____9351)) { | |
return p.call(null, z) | |
}else { | |
return and__3822__auto____9351 | |
} | |
}else { | |
return and__3822__auto____9350 | |
} | |
}()) | |
}; | |
var ep1__4 = function() { | |
var G__9420__delegate = function(x, y, z, args) { | |
return cljs.core.boolean$.call(null, function() { | |
var and__3822__auto____9352 = ep1.call(null, x, y, z); | |
if(cljs.core.truth_(and__3822__auto____9352)) { | |
return cljs.core.every_QMARK_.call(null, p, args) | |
}else { | |
return and__3822__auto____9352 | |
} | |
}()) | |
}; | |
var G__9420 = function(x, y, z, var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__9420__delegate.call(this, x, y, z, args) | |
}; | |
G__9420.cljs$lang$maxFixedArity = 3; | |
G__9420.cljs$lang$applyTo = function(arglist__9421) { | |
var x = cljs.core.first(arglist__9421); | |
var y = cljs.core.first(cljs.core.next(arglist__9421)); | |
var z = cljs.core.first(cljs.core.next(cljs.core.next(arglist__9421))); | |
var args = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__9421))); | |
return G__9420__delegate(x, y, z, args) | |
}; | |
G__9420.cljs$lang$arity$variadic = G__9420__delegate; | |
return G__9420 | |
}(); | |
ep1 = function(x, y, z, var_args) { | |
var args = var_args; | |
switch(arguments.length) { | |
case 0: | |
return ep1__0.call(this); | |
case 1: | |
return ep1__1.call(this, x); | |
case 2: | |
return ep1__2.call(this, x, y); | |
case 3: | |
return ep1__3.call(this, x, y, z); | |
default: | |
return ep1__4.cljs$lang$arity$variadic(x, y, z, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
ep1.cljs$lang$maxFixedArity = 3; | |
ep1.cljs$lang$applyTo = ep1__4.cljs$lang$applyTo; | |
ep1.cljs$lang$arity$0 = ep1__0; | |
ep1.cljs$lang$arity$1 = ep1__1; | |
ep1.cljs$lang$arity$2 = ep1__2; | |
ep1.cljs$lang$arity$3 = ep1__3; | |
ep1.cljs$lang$arity$variadic = ep1__4.cljs$lang$arity$variadic; | |
return ep1 | |
}() | |
}; | |
var every_pred__2 = function(p1, p2) { | |
return function() { | |
var ep2 = null; | |
var ep2__0 = function() { | |
return true | |
}; | |
var ep2__1 = function(x) { | |
return cljs.core.boolean$.call(null, function() { | |
var and__3822__auto____9364 = p1.call(null, x); | |
if(cljs.core.truth_(and__3822__auto____9364)) { | |
return p2.call(null, x) | |
}else { | |
return and__3822__auto____9364 | |
} | |
}()) | |
}; | |
var ep2__2 = function(x, y) { | |
return cljs.core.boolean$.call(null, function() { | |
var and__3822__auto____9365 = p1.call(null, x); | |
if(cljs.core.truth_(and__3822__auto____9365)) { | |
var and__3822__auto____9366 = p1.call(null, y); | |
if(cljs.core.truth_(and__3822__auto____9366)) { | |
var and__3822__auto____9367 = p2.call(null, x); | |
if(cljs.core.truth_(and__3822__auto____9367)) { | |
return p2.call(null, y) | |
}else { | |
return and__3822__auto____9367 | |
} | |
}else { | |
return and__3822__auto____9366 | |
} | |
}else { | |
return and__3822__auto____9365 | |
} | |
}()) | |
}; | |
var ep2__3 = function(x, y, z) { | |
return cljs.core.boolean$.call(null, function() { | |
var and__3822__auto____9368 = p1.call(null, x); | |
if(cljs.core.truth_(and__3822__auto____9368)) { | |
var and__3822__auto____9369 = p1.call(null, y); | |
if(cljs.core.truth_(and__3822__auto____9369)) { | |
var and__3822__auto____9370 = p1.call(null, z); | |
if(cljs.core.truth_(and__3822__auto____9370)) { | |
var and__3822__auto____9371 = p2.call(null, x); | |
if(cljs.core.truth_(and__3822__auto____9371)) { | |
var and__3822__auto____9372 = p2.call(null, y); | |
if(cljs.core.truth_(and__3822__auto____9372)) { | |
return p2.call(null, z) | |
}else { | |
return and__3822__auto____9372 | |
} | |
}else { | |
return and__3822__auto____9371 | |
} | |
}else { | |
return and__3822__auto____9370 | |
} | |
}else { | |
return and__3822__auto____9369 | |
} | |
}else { | |
return and__3822__auto____9368 | |
} | |
}()) | |
}; | |
var ep2__4 = function() { | |
var G__9422__delegate = function(x, y, z, args) { | |
return cljs.core.boolean$.call(null, function() { | |
var and__3822__auto____9373 = ep2.call(null, x, y, z); | |
if(cljs.core.truth_(and__3822__auto____9373)) { | |
return cljs.core.every_QMARK_.call(null, function(p1__9219_SHARP_) { | |
var and__3822__auto____9374 = p1.call(null, p1__9219_SHARP_); | |
if(cljs.core.truth_(and__3822__auto____9374)) { | |
return p2.call(null, p1__9219_SHARP_) | |
}else { | |
return and__3822__auto____9374 | |
} | |
}, args) | |
}else { | |
return and__3822__auto____9373 | |
} | |
}()) | |
}; | |
var G__9422 = function(x, y, z, var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__9422__delegate.call(this, x, y, z, args) | |
}; | |
G__9422.cljs$lang$maxFixedArity = 3; | |
G__9422.cljs$lang$applyTo = function(arglist__9423) { | |
var x = cljs.core.first(arglist__9423); | |
var y = cljs.core.first(cljs.core.next(arglist__9423)); | |
var z = cljs.core.first(cljs.core.next(cljs.core.next(arglist__9423))); | |
var args = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__9423))); | |
return G__9422__delegate(x, y, z, args) | |
}; | |
G__9422.cljs$lang$arity$variadic = G__9422__delegate; | |
return G__9422 | |
}(); | |
ep2 = function(x, y, z, var_args) { | |
var args = var_args; | |
switch(arguments.length) { | |
case 0: | |
return ep2__0.call(this); | |
case 1: | |
return ep2__1.call(this, x); | |
case 2: | |
return ep2__2.call(this, x, y); | |
case 3: | |
return ep2__3.call(this, x, y, z); | |
default: | |
return ep2__4.cljs$lang$arity$variadic(x, y, z, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
ep2.cljs$lang$maxFixedArity = 3; | |
ep2.cljs$lang$applyTo = ep2__4.cljs$lang$applyTo; | |
ep2.cljs$lang$arity$0 = ep2__0; | |
ep2.cljs$lang$arity$1 = ep2__1; | |
ep2.cljs$lang$arity$2 = ep2__2; | |
ep2.cljs$lang$arity$3 = ep2__3; | |
ep2.cljs$lang$arity$variadic = ep2__4.cljs$lang$arity$variadic; | |
return ep2 | |
}() | |
}; | |
var every_pred__3 = function(p1, p2, p3) { | |
return function() { | |
var ep3 = null; | |
var ep3__0 = function() { | |
return true | |
}; | |
var ep3__1 = function(x) { | |
return cljs.core.boolean$.call(null, function() { | |
var and__3822__auto____9393 = p1.call(null, x); | |
if(cljs.core.truth_(and__3822__auto____9393)) { | |
var and__3822__auto____9394 = p2.call(null, x); | |
if(cljs.core.truth_(and__3822__auto____9394)) { | |
return p3.call(null, x) | |
}else { | |
return and__3822__auto____9394 | |
} | |
}else { | |
return and__3822__auto____9393 | |
} | |
}()) | |
}; | |
var ep3__2 = function(x, y) { | |
return cljs.core.boolean$.call(null, function() { | |
var and__3822__auto____9395 = p1.call(null, x); | |
if(cljs.core.truth_(and__3822__auto____9395)) { | |
var and__3822__auto____9396 = p2.call(null, x); | |
if(cljs.core.truth_(and__3822__auto____9396)) { | |
var and__3822__auto____9397 = p3.call(null, x); | |
if(cljs.core.truth_(and__3822__auto____9397)) { | |
var and__3822__auto____9398 = p1.call(null, y); | |
if(cljs.core.truth_(and__3822__auto____9398)) { | |
var and__3822__auto____9399 = p2.call(null, y); | |
if(cljs.core.truth_(and__3822__auto____9399)) { | |
return p3.call(null, y) | |
}else { | |
return and__3822__auto____9399 | |
} | |
}else { | |
return and__3822__auto____9398 | |
} | |
}else { | |
return and__3822__auto____9397 | |
} | |
}else { | |
return and__3822__auto____9396 | |
} | |
}else { | |
return and__3822__auto____9395 | |
} | |
}()) | |
}; | |
var ep3__3 = function(x, y, z) { | |
return cljs.core.boolean$.call(null, function() { | |
var and__3822__auto____9400 = p1.call(null, x); | |
if(cljs.core.truth_(and__3822__auto____9400)) { | |
var and__3822__auto____9401 = p2.call(null, x); | |
if(cljs.core.truth_(and__3822__auto____9401)) { | |
var and__3822__auto____9402 = p3.call(null, x); | |
if(cljs.core.truth_(and__3822__auto____9402)) { | |
var and__3822__auto____9403 = p1.call(null, y); | |
if(cljs.core.truth_(and__3822__auto____9403)) { | |
var and__3822__auto____9404 = p2.call(null, y); | |
if(cljs.core.truth_(and__3822__auto____9404)) { | |
var and__3822__auto____9405 = p3.call(null, y); | |
if(cljs.core.truth_(and__3822__auto____9405)) { | |
var and__3822__auto____9406 = p1.call(null, z); | |
if(cljs.core.truth_(and__3822__auto____9406)) { | |
var and__3822__auto____9407 = p2.call(null, z); | |
if(cljs.core.truth_(and__3822__auto____9407)) { | |
return p3.call(null, z) | |
}else { | |
return and__3822__auto____9407 | |
} | |
}else { | |
return and__3822__auto____9406 | |
} | |
}else { | |
return and__3822__auto____9405 | |
} | |
}else { | |
return and__3822__auto____9404 | |
} | |
}else { | |
return and__3822__auto____9403 | |
} | |
}else { | |
return and__3822__auto____9402 | |
} | |
}else { | |
return and__3822__auto____9401 | |
} | |
}else { | |
return and__3822__auto____9400 | |
} | |
}()) | |
}; | |
var ep3__4 = function() { | |
var G__9424__delegate = function(x, y, z, args) { | |
return cljs.core.boolean$.call(null, function() { | |
var and__3822__auto____9408 = ep3.call(null, x, y, z); | |
if(cljs.core.truth_(and__3822__auto____9408)) { | |
return cljs.core.every_QMARK_.call(null, function(p1__9220_SHARP_) { | |
var and__3822__auto____9409 = p1.call(null, p1__9220_SHARP_); | |
if(cljs.core.truth_(and__3822__auto____9409)) { | |
var and__3822__auto____9410 = p2.call(null, p1__9220_SHARP_); | |
if(cljs.core.truth_(and__3822__auto____9410)) { | |
return p3.call(null, p1__9220_SHARP_) | |
}else { | |
return and__3822__auto____9410 | |
} | |
}else { | |
return and__3822__auto____9409 | |
} | |
}, args) | |
}else { | |
return and__3822__auto____9408 | |
} | |
}()) | |
}; | |
var G__9424 = function(x, y, z, var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__9424__delegate.call(this, x, y, z, args) | |
}; | |
G__9424.cljs$lang$maxFixedArity = 3; | |
G__9424.cljs$lang$applyTo = function(arglist__9425) { | |
var x = cljs.core.first(arglist__9425); | |
var y = cljs.core.first(cljs.core.next(arglist__9425)); | |
var z = cljs.core.first(cljs.core.next(cljs.core.next(arglist__9425))); | |
var args = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__9425))); | |
return G__9424__delegate(x, y, z, args) | |
}; | |
G__9424.cljs$lang$arity$variadic = G__9424__delegate; | |
return G__9424 | |
}(); | |
ep3 = function(x, y, z, var_args) { | |
var args = var_args; | |
switch(arguments.length) { | |
case 0: | |
return ep3__0.call(this); | |
case 1: | |
return ep3__1.call(this, x); | |
case 2: | |
return ep3__2.call(this, x, y); | |
case 3: | |
return ep3__3.call(this, x, y, z); | |
default: | |
return ep3__4.cljs$lang$arity$variadic(x, y, z, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
ep3.cljs$lang$maxFixedArity = 3; | |
ep3.cljs$lang$applyTo = ep3__4.cljs$lang$applyTo; | |
ep3.cljs$lang$arity$0 = ep3__0; | |
ep3.cljs$lang$arity$1 = ep3__1; | |
ep3.cljs$lang$arity$2 = ep3__2; | |
ep3.cljs$lang$arity$3 = ep3__3; | |
ep3.cljs$lang$arity$variadic = ep3__4.cljs$lang$arity$variadic; | |
return ep3 | |
}() | |
}; | |
var every_pred__4 = function() { | |
var G__9426__delegate = function(p1, p2, p3, ps) { | |
var ps__9411 = cljs.core.list_STAR_.call(null, p1, p2, p3, ps); | |
return function() { | |
var epn = null; | |
var epn__0 = function() { | |
return true | |
}; | |
var epn__1 = function(x) { | |
return cljs.core.every_QMARK_.call(null, function(p1__9221_SHARP_) { | |
return p1__9221_SHARP_.call(null, x) | |
}, ps__9411) | |
}; | |
var epn__2 = function(x, y) { | |
return cljs.core.every_QMARK_.call(null, function(p1__9222_SHARP_) { | |
var and__3822__auto____9416 = p1__9222_SHARP_.call(null, x); | |
if(cljs.core.truth_(and__3822__auto____9416)) { | |
return p1__9222_SHARP_.call(null, y) | |
}else { | |
return and__3822__auto____9416 | |
} | |
}, ps__9411) | |
}; | |
var epn__3 = function(x, y, z) { | |
return cljs.core.every_QMARK_.call(null, function(p1__9223_SHARP_) { | |
var and__3822__auto____9417 = p1__9223_SHARP_.call(null, x); | |
if(cljs.core.truth_(and__3822__auto____9417)) { | |
var and__3822__auto____9418 = p1__9223_SHARP_.call(null, y); | |
if(cljs.core.truth_(and__3822__auto____9418)) { | |
return p1__9223_SHARP_.call(null, z) | |
}else { | |
return and__3822__auto____9418 | |
} | |
}else { | |
return and__3822__auto____9417 | |
} | |
}, ps__9411) | |
}; | |
var epn__4 = function() { | |
var G__9427__delegate = function(x, y, z, args) { | |
return cljs.core.boolean$.call(null, function() { | |
var and__3822__auto____9419 = epn.call(null, x, y, z); | |
if(cljs.core.truth_(and__3822__auto____9419)) { | |
return cljs.core.every_QMARK_.call(null, function(p1__9224_SHARP_) { | |
return cljs.core.every_QMARK_.call(null, p1__9224_SHARP_, args) | |
}, ps__9411) | |
}else { | |
return and__3822__auto____9419 | |
} | |
}()) | |
}; | |
var G__9427 = function(x, y, z, var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__9427__delegate.call(this, x, y, z, args) | |
}; | |
G__9427.cljs$lang$maxFixedArity = 3; | |
G__9427.cljs$lang$applyTo = function(arglist__9428) { | |
var x = cljs.core.first(arglist__9428); | |
var y = cljs.core.first(cljs.core.next(arglist__9428)); | |
var z = cljs.core.first(cljs.core.next(cljs.core.next(arglist__9428))); | |
var args = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__9428))); | |
return G__9427__delegate(x, y, z, args) | |
}; | |
G__9427.cljs$lang$arity$variadic = G__9427__delegate; | |
return G__9427 | |
}(); | |
epn = function(x, y, z, var_args) { | |
var args = var_args; | |
switch(arguments.length) { | |
case 0: | |
return epn__0.call(this); | |
case 1: | |
return epn__1.call(this, x); | |
case 2: | |
return epn__2.call(this, x, y); | |
case 3: | |
return epn__3.call(this, x, y, z); | |
default: | |
return epn__4.cljs$lang$arity$variadic(x, y, z, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
epn.cljs$lang$maxFixedArity = 3; | |
epn.cljs$lang$applyTo = epn__4.cljs$lang$applyTo; | |
epn.cljs$lang$arity$0 = epn__0; | |
epn.cljs$lang$arity$1 = epn__1; | |
epn.cljs$lang$arity$2 = epn__2; | |
epn.cljs$lang$arity$3 = epn__3; | |
epn.cljs$lang$arity$variadic = epn__4.cljs$lang$arity$variadic; | |
return epn | |
}() | |
}; | |
var G__9426 = function(p1, p2, p3, var_args) { | |
var ps = null; | |
if(goog.isDef(var_args)) { | |
ps = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__9426__delegate.call(this, p1, p2, p3, ps) | |
}; | |
G__9426.cljs$lang$maxFixedArity = 3; | |
G__9426.cljs$lang$applyTo = function(arglist__9429) { | |
var p1 = cljs.core.first(arglist__9429); | |
var p2 = cljs.core.first(cljs.core.next(arglist__9429)); | |
var p3 = cljs.core.first(cljs.core.next(cljs.core.next(arglist__9429))); | |
var ps = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__9429))); | |
return G__9426__delegate(p1, p2, p3, ps) | |
}; | |
G__9426.cljs$lang$arity$variadic = G__9426__delegate; | |
return G__9426 | |
}(); | |
every_pred = function(p1, p2, p3, var_args) { | |
var ps = var_args; | |
switch(arguments.length) { | |
case 1: | |
return every_pred__1.call(this, p1); | |
case 2: | |
return every_pred__2.call(this, p1, p2); | |
case 3: | |
return every_pred__3.call(this, p1, p2, p3); | |
default: | |
return every_pred__4.cljs$lang$arity$variadic(p1, p2, p3, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
every_pred.cljs$lang$maxFixedArity = 3; | |
every_pred.cljs$lang$applyTo = every_pred__4.cljs$lang$applyTo; | |
every_pred.cljs$lang$arity$1 = every_pred__1; | |
every_pred.cljs$lang$arity$2 = every_pred__2; | |
every_pred.cljs$lang$arity$3 = every_pred__3; | |
every_pred.cljs$lang$arity$variadic = every_pred__4.cljs$lang$arity$variadic; | |
return every_pred | |
}(); | |
cljs.core.some_fn = function() { | |
var some_fn = null; | |
var some_fn__1 = function(p) { | |
return function() { | |
var sp1 = null; | |
var sp1__0 = function() { | |
return null | |
}; | |
var sp1__1 = function(x) { | |
return p.call(null, x) | |
}; | |
var sp1__2 = function(x, y) { | |
var or__3824__auto____9510 = p.call(null, x); | |
if(cljs.core.truth_(or__3824__auto____9510)) { | |
return or__3824__auto____9510 | |
}else { | |
return p.call(null, y) | |
} | |
}; | |
var sp1__3 = function(x, y, z) { | |
var or__3824__auto____9511 = p.call(null, x); | |
if(cljs.core.truth_(or__3824__auto____9511)) { | |
return or__3824__auto____9511 | |
}else { | |
var or__3824__auto____9512 = p.call(null, y); | |
if(cljs.core.truth_(or__3824__auto____9512)) { | |
return or__3824__auto____9512 | |
}else { | |
return p.call(null, z) | |
} | |
} | |
}; | |
var sp1__4 = function() { | |
var G__9581__delegate = function(x, y, z, args) { | |
var or__3824__auto____9513 = sp1.call(null, x, y, z); | |
if(cljs.core.truth_(or__3824__auto____9513)) { | |
return or__3824__auto____9513 | |
}else { | |
return cljs.core.some.call(null, p, args) | |
} | |
}; | |
var G__9581 = function(x, y, z, var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__9581__delegate.call(this, x, y, z, args) | |
}; | |
G__9581.cljs$lang$maxFixedArity = 3; | |
G__9581.cljs$lang$applyTo = function(arglist__9582) { | |
var x = cljs.core.first(arglist__9582); | |
var y = cljs.core.first(cljs.core.next(arglist__9582)); | |
var z = cljs.core.first(cljs.core.next(cljs.core.next(arglist__9582))); | |
var args = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__9582))); | |
return G__9581__delegate(x, y, z, args) | |
}; | |
G__9581.cljs$lang$arity$variadic = G__9581__delegate; | |
return G__9581 | |
}(); | |
sp1 = function(x, y, z, var_args) { | |
var args = var_args; | |
switch(arguments.length) { | |
case 0: | |
return sp1__0.call(this); | |
case 1: | |
return sp1__1.call(this, x); | |
case 2: | |
return sp1__2.call(this, x, y); | |
case 3: | |
return sp1__3.call(this, x, y, z); | |
default: | |
return sp1__4.cljs$lang$arity$variadic(x, y, z, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
sp1.cljs$lang$maxFixedArity = 3; | |
sp1.cljs$lang$applyTo = sp1__4.cljs$lang$applyTo; | |
sp1.cljs$lang$arity$0 = sp1__0; | |
sp1.cljs$lang$arity$1 = sp1__1; | |
sp1.cljs$lang$arity$2 = sp1__2; | |
sp1.cljs$lang$arity$3 = sp1__3; | |
sp1.cljs$lang$arity$variadic = sp1__4.cljs$lang$arity$variadic; | |
return sp1 | |
}() | |
}; | |
var some_fn__2 = function(p1, p2) { | |
return function() { | |
var sp2 = null; | |
var sp2__0 = function() { | |
return null | |
}; | |
var sp2__1 = function(x) { | |
var or__3824__auto____9525 = p1.call(null, x); | |
if(cljs.core.truth_(or__3824__auto____9525)) { | |
return or__3824__auto____9525 | |
}else { | |
return p2.call(null, x) | |
} | |
}; | |
var sp2__2 = function(x, y) { | |
var or__3824__auto____9526 = p1.call(null, x); | |
if(cljs.core.truth_(or__3824__auto____9526)) { | |
return or__3824__auto____9526 | |
}else { | |
var or__3824__auto____9527 = p1.call(null, y); | |
if(cljs.core.truth_(or__3824__auto____9527)) { | |
return or__3824__auto____9527 | |
}else { | |
var or__3824__auto____9528 = p2.call(null, x); | |
if(cljs.core.truth_(or__3824__auto____9528)) { | |
return or__3824__auto____9528 | |
}else { | |
return p2.call(null, y) | |
} | |
} | |
} | |
}; | |
var sp2__3 = function(x, y, z) { | |
var or__3824__auto____9529 = p1.call(null, x); | |
if(cljs.core.truth_(or__3824__auto____9529)) { | |
return or__3824__auto____9529 | |
}else { | |
var or__3824__auto____9530 = p1.call(null, y); | |
if(cljs.core.truth_(or__3824__auto____9530)) { | |
return or__3824__auto____9530 | |
}else { | |
var or__3824__auto____9531 = p1.call(null, z); | |
if(cljs.core.truth_(or__3824__auto____9531)) { | |
return or__3824__auto____9531 | |
}else { | |
var or__3824__auto____9532 = p2.call(null, x); | |
if(cljs.core.truth_(or__3824__auto____9532)) { | |
return or__3824__auto____9532 | |
}else { | |
var or__3824__auto____9533 = p2.call(null, y); | |
if(cljs.core.truth_(or__3824__auto____9533)) { | |
return or__3824__auto____9533 | |
}else { | |
return p2.call(null, z) | |
} | |
} | |
} | |
} | |
} | |
}; | |
var sp2__4 = function() { | |
var G__9583__delegate = function(x, y, z, args) { | |
var or__3824__auto____9534 = sp2.call(null, x, y, z); | |
if(cljs.core.truth_(or__3824__auto____9534)) { | |
return or__3824__auto____9534 | |
}else { | |
return cljs.core.some.call(null, function(p1__9264_SHARP_) { | |
var or__3824__auto____9535 = p1.call(null, p1__9264_SHARP_); | |
if(cljs.core.truth_(or__3824__auto____9535)) { | |
return or__3824__auto____9535 | |
}else { | |
return p2.call(null, p1__9264_SHARP_) | |
} | |
}, args) | |
} | |
}; | |
var G__9583 = function(x, y, z, var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__9583__delegate.call(this, x, y, z, args) | |
}; | |
G__9583.cljs$lang$maxFixedArity = 3; | |
G__9583.cljs$lang$applyTo = function(arglist__9584) { | |
var x = cljs.core.first(arglist__9584); | |
var y = cljs.core.first(cljs.core.next(arglist__9584)); | |
var z = cljs.core.first(cljs.core.next(cljs.core.next(arglist__9584))); | |
var args = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__9584))); | |
return G__9583__delegate(x, y, z, args) | |
}; | |
G__9583.cljs$lang$arity$variadic = G__9583__delegate; | |
return G__9583 | |
}(); | |
sp2 = function(x, y, z, var_args) { | |
var args = var_args; | |
switch(arguments.length) { | |
case 0: | |
return sp2__0.call(this); | |
case 1: | |
return sp2__1.call(this, x); | |
case 2: | |
return sp2__2.call(this, x, y); | |
case 3: | |
return sp2__3.call(this, x, y, z); | |
default: | |
return sp2__4.cljs$lang$arity$variadic(x, y, z, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
sp2.cljs$lang$maxFixedArity = 3; | |
sp2.cljs$lang$applyTo = sp2__4.cljs$lang$applyTo; | |
sp2.cljs$lang$arity$0 = sp2__0; | |
sp2.cljs$lang$arity$1 = sp2__1; | |
sp2.cljs$lang$arity$2 = sp2__2; | |
sp2.cljs$lang$arity$3 = sp2__3; | |
sp2.cljs$lang$arity$variadic = sp2__4.cljs$lang$arity$variadic; | |
return sp2 | |
}() | |
}; | |
var some_fn__3 = function(p1, p2, p3) { | |
return function() { | |
var sp3 = null; | |
var sp3__0 = function() { | |
return null | |
}; | |
var sp3__1 = function(x) { | |
var or__3824__auto____9554 = p1.call(null, x); | |
if(cljs.core.truth_(or__3824__auto____9554)) { | |
return or__3824__auto____9554 | |
}else { | |
var or__3824__auto____9555 = p2.call(null, x); | |
if(cljs.core.truth_(or__3824__auto____9555)) { | |
return or__3824__auto____9555 | |
}else { | |
return p3.call(null, x) | |
} | |
} | |
}; | |
var sp3__2 = function(x, y) { | |
var or__3824__auto____9556 = p1.call(null, x); | |
if(cljs.core.truth_(or__3824__auto____9556)) { | |
return or__3824__auto____9556 | |
}else { | |
var or__3824__auto____9557 = p2.call(null, x); | |
if(cljs.core.truth_(or__3824__auto____9557)) { | |
return or__3824__auto____9557 | |
}else { | |
var or__3824__auto____9558 = p3.call(null, x); | |
if(cljs.core.truth_(or__3824__auto____9558)) { | |
return or__3824__auto____9558 | |
}else { | |
var or__3824__auto____9559 = p1.call(null, y); | |
if(cljs.core.truth_(or__3824__auto____9559)) { | |
return or__3824__auto____9559 | |
}else { | |
var or__3824__auto____9560 = p2.call(null, y); | |
if(cljs.core.truth_(or__3824__auto____9560)) { | |
return or__3824__auto____9560 | |
}else { | |
return p3.call(null, y) | |
} | |
} | |
} | |
} | |
} | |
}; | |
var sp3__3 = function(x, y, z) { | |
var or__3824__auto____9561 = p1.call(null, x); | |
if(cljs.core.truth_(or__3824__auto____9561)) { | |
return or__3824__auto____9561 | |
}else { | |
var or__3824__auto____9562 = p2.call(null, x); | |
if(cljs.core.truth_(or__3824__auto____9562)) { | |
return or__3824__auto____9562 | |
}else { | |
var or__3824__auto____9563 = p3.call(null, x); | |
if(cljs.core.truth_(or__3824__auto____9563)) { | |
return or__3824__auto____9563 | |
}else { | |
var or__3824__auto____9564 = p1.call(null, y); | |
if(cljs.core.truth_(or__3824__auto____9564)) { | |
return or__3824__auto____9564 | |
}else { | |
var or__3824__auto____9565 = p2.call(null, y); | |
if(cljs.core.truth_(or__3824__auto____9565)) { | |
return or__3824__auto____9565 | |
}else { | |
var or__3824__auto____9566 = p3.call(null, y); | |
if(cljs.core.truth_(or__3824__auto____9566)) { | |
return or__3824__auto____9566 | |
}else { | |
var or__3824__auto____9567 = p1.call(null, z); | |
if(cljs.core.truth_(or__3824__auto____9567)) { | |
return or__3824__auto____9567 | |
}else { | |
var or__3824__auto____9568 = p2.call(null, z); | |
if(cljs.core.truth_(or__3824__auto____9568)) { | |
return or__3824__auto____9568 | |
}else { | |
return p3.call(null, z) | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}; | |
var sp3__4 = function() { | |
var G__9585__delegate = function(x, y, z, args) { | |
var or__3824__auto____9569 = sp3.call(null, x, y, z); | |
if(cljs.core.truth_(or__3824__auto____9569)) { | |
return or__3824__auto____9569 | |
}else { | |
return cljs.core.some.call(null, function(p1__9265_SHARP_) { | |
var or__3824__auto____9570 = p1.call(null, p1__9265_SHARP_); | |
if(cljs.core.truth_(or__3824__auto____9570)) { | |
return or__3824__auto____9570 | |
}else { | |
var or__3824__auto____9571 = p2.call(null, p1__9265_SHARP_); | |
if(cljs.core.truth_(or__3824__auto____9571)) { | |
return or__3824__auto____9571 | |
}else { | |
return p3.call(null, p1__9265_SHARP_) | |
} | |
} | |
}, args) | |
} | |
}; | |
var G__9585 = function(x, y, z, var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__9585__delegate.call(this, x, y, z, args) | |
}; | |
G__9585.cljs$lang$maxFixedArity = 3; | |
G__9585.cljs$lang$applyTo = function(arglist__9586) { | |
var x = cljs.core.first(arglist__9586); | |
var y = cljs.core.first(cljs.core.next(arglist__9586)); | |
var z = cljs.core.first(cljs.core.next(cljs.core.next(arglist__9586))); | |
var args = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__9586))); | |
return G__9585__delegate(x, y, z, args) | |
}; | |
G__9585.cljs$lang$arity$variadic = G__9585__delegate; | |
return G__9585 | |
}(); | |
sp3 = function(x, y, z, var_args) { | |
var args = var_args; | |
switch(arguments.length) { | |
case 0: | |
return sp3__0.call(this); | |
case 1: | |
return sp3__1.call(this, x); | |
case 2: | |
return sp3__2.call(this, x, y); | |
case 3: | |
return sp3__3.call(this, x, y, z); | |
default: | |
return sp3__4.cljs$lang$arity$variadic(x, y, z, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
sp3.cljs$lang$maxFixedArity = 3; | |
sp3.cljs$lang$applyTo = sp3__4.cljs$lang$applyTo; | |
sp3.cljs$lang$arity$0 = sp3__0; | |
sp3.cljs$lang$arity$1 = sp3__1; | |
sp3.cljs$lang$arity$2 = sp3__2; | |
sp3.cljs$lang$arity$3 = sp3__3; | |
sp3.cljs$lang$arity$variadic = sp3__4.cljs$lang$arity$variadic; | |
return sp3 | |
}() | |
}; | |
var some_fn__4 = function() { | |
var G__9587__delegate = function(p1, p2, p3, ps) { | |
var ps__9572 = cljs.core.list_STAR_.call(null, p1, p2, p3, ps); | |
return function() { | |
var spn = null; | |
var spn__0 = function() { | |
return null | |
}; | |
var spn__1 = function(x) { | |
return cljs.core.some.call(null, function(p1__9266_SHARP_) { | |
return p1__9266_SHARP_.call(null, x) | |
}, ps__9572) | |
}; | |
var spn__2 = function(x, y) { | |
return cljs.core.some.call(null, function(p1__9267_SHARP_) { | |
var or__3824__auto____9577 = p1__9267_SHARP_.call(null, x); | |
if(cljs.core.truth_(or__3824__auto____9577)) { | |
return or__3824__auto____9577 | |
}else { | |
return p1__9267_SHARP_.call(null, y) | |
} | |
}, ps__9572) | |
}; | |
var spn__3 = function(x, y, z) { | |
return cljs.core.some.call(null, function(p1__9268_SHARP_) { | |
var or__3824__auto____9578 = p1__9268_SHARP_.call(null, x); | |
if(cljs.core.truth_(or__3824__auto____9578)) { | |
return or__3824__auto____9578 | |
}else { | |
var or__3824__auto____9579 = p1__9268_SHARP_.call(null, y); | |
if(cljs.core.truth_(or__3824__auto____9579)) { | |
return or__3824__auto____9579 | |
}else { | |
return p1__9268_SHARP_.call(null, z) | |
} | |
} | |
}, ps__9572) | |
}; | |
var spn__4 = function() { | |
var G__9588__delegate = function(x, y, z, args) { | |
var or__3824__auto____9580 = spn.call(null, x, y, z); | |
if(cljs.core.truth_(or__3824__auto____9580)) { | |
return or__3824__auto____9580 | |
}else { | |
return cljs.core.some.call(null, function(p1__9269_SHARP_) { | |
return cljs.core.some.call(null, p1__9269_SHARP_, args) | |
}, ps__9572) | |
} | |
}; | |
var G__9588 = function(x, y, z, var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__9588__delegate.call(this, x, y, z, args) | |
}; | |
G__9588.cljs$lang$maxFixedArity = 3; | |
G__9588.cljs$lang$applyTo = function(arglist__9589) { | |
var x = cljs.core.first(arglist__9589); | |
var y = cljs.core.first(cljs.core.next(arglist__9589)); | |
var z = cljs.core.first(cljs.core.next(cljs.core.next(arglist__9589))); | |
var args = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__9589))); | |
return G__9588__delegate(x, y, z, args) | |
}; | |
G__9588.cljs$lang$arity$variadic = G__9588__delegate; | |
return G__9588 | |
}(); | |
spn = function(x, y, z, var_args) { | |
var args = var_args; | |
switch(arguments.length) { | |
case 0: | |
return spn__0.call(this); | |
case 1: | |
return spn__1.call(this, x); | |
case 2: | |
return spn__2.call(this, x, y); | |
case 3: | |
return spn__3.call(this, x, y, z); | |
default: | |
return spn__4.cljs$lang$arity$variadic(x, y, z, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
spn.cljs$lang$maxFixedArity = 3; | |
spn.cljs$lang$applyTo = spn__4.cljs$lang$applyTo; | |
spn.cljs$lang$arity$0 = spn__0; | |
spn.cljs$lang$arity$1 = spn__1; | |
spn.cljs$lang$arity$2 = spn__2; | |
spn.cljs$lang$arity$3 = spn__3; | |
spn.cljs$lang$arity$variadic = spn__4.cljs$lang$arity$variadic; | |
return spn | |
}() | |
}; | |
var G__9587 = function(p1, p2, p3, var_args) { | |
var ps = null; | |
if(goog.isDef(var_args)) { | |
ps = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__9587__delegate.call(this, p1, p2, p3, ps) | |
}; | |
G__9587.cljs$lang$maxFixedArity = 3; | |
G__9587.cljs$lang$applyTo = function(arglist__9590) { | |
var p1 = cljs.core.first(arglist__9590); | |
var p2 = cljs.core.first(cljs.core.next(arglist__9590)); | |
var p3 = cljs.core.first(cljs.core.next(cljs.core.next(arglist__9590))); | |
var ps = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__9590))); | |
return G__9587__delegate(p1, p2, p3, ps) | |
}; | |
G__9587.cljs$lang$arity$variadic = G__9587__delegate; | |
return G__9587 | |
}(); | |
some_fn = function(p1, p2, p3, var_args) { | |
var ps = var_args; | |
switch(arguments.length) { | |
case 1: | |
return some_fn__1.call(this, p1); | |
case 2: | |
return some_fn__2.call(this, p1, p2); | |
case 3: | |
return some_fn__3.call(this, p1, p2, p3); | |
default: | |
return some_fn__4.cljs$lang$arity$variadic(p1, p2, p3, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
some_fn.cljs$lang$maxFixedArity = 3; | |
some_fn.cljs$lang$applyTo = some_fn__4.cljs$lang$applyTo; | |
some_fn.cljs$lang$arity$1 = some_fn__1; | |
some_fn.cljs$lang$arity$2 = some_fn__2; | |
some_fn.cljs$lang$arity$3 = some_fn__3; | |
some_fn.cljs$lang$arity$variadic = some_fn__4.cljs$lang$arity$variadic; | |
return some_fn | |
}(); | |
cljs.core.map = function() { | |
var map = null; | |
var map__2 = function(f, coll) { | |
return new cljs.core.LazySeq(null, false, function() { | |
var temp__3974__auto____9609 = cljs.core.seq.call(null, coll); | |
if(temp__3974__auto____9609) { | |
var s__9610 = temp__3974__auto____9609; | |
if(cljs.core.chunked_seq_QMARK_.call(null, s__9610)) { | |
var c__9611 = cljs.core.chunk_first.call(null, s__9610); | |
var size__9612 = cljs.core.count.call(null, c__9611); | |
var b__9613 = cljs.core.chunk_buffer.call(null, size__9612); | |
var n__2551__auto____9614 = size__9612; | |
var i__9615 = 0; | |
while(true) { | |
if(i__9615 < n__2551__auto____9614) { | |
cljs.core.chunk_append.call(null, b__9613, f.call(null, cljs.core._nth.call(null, c__9611, i__9615))); | |
var G__9627 = i__9615 + 1; | |
i__9615 = G__9627; | |
continue | |
}else { | |
} | |
break | |
} | |
return cljs.core.chunk_cons.call(null, cljs.core.chunk.call(null, b__9613), map.call(null, f, cljs.core.chunk_rest.call(null, s__9610))) | |
}else { | |
return cljs.core.cons.call(null, f.call(null, cljs.core.first.call(null, s__9610)), map.call(null, f, cljs.core.rest.call(null, s__9610))) | |
} | |
}else { | |
return null | |
} | |
}, null) | |
}; | |
var map__3 = function(f, c1, c2) { | |
return new cljs.core.LazySeq(null, false, function() { | |
var s1__9616 = cljs.core.seq.call(null, c1); | |
var s2__9617 = cljs.core.seq.call(null, c2); | |
if(function() { | |
var and__3822__auto____9618 = s1__9616; | |
if(and__3822__auto____9618) { | |
return s2__9617 | |
}else { | |
return and__3822__auto____9618 | |
} | |
}()) { | |
return cljs.core.cons.call(null, f.call(null, cljs.core.first.call(null, s1__9616), cljs.core.first.call(null, s2__9617)), map.call(null, f, cljs.core.rest.call(null, s1__9616), cljs.core.rest.call(null, s2__9617))) | |
}else { | |
return null | |
} | |
}, null) | |
}; | |
var map__4 = function(f, c1, c2, c3) { | |
return new cljs.core.LazySeq(null, false, function() { | |
var s1__9619 = cljs.core.seq.call(null, c1); | |
var s2__9620 = cljs.core.seq.call(null, c2); | |
var s3__9621 = cljs.core.seq.call(null, c3); | |
if(function() { | |
var and__3822__auto____9622 = s1__9619; | |
if(and__3822__auto____9622) { | |
var and__3822__auto____9623 = s2__9620; | |
if(and__3822__auto____9623) { | |
return s3__9621 | |
}else { | |
return and__3822__auto____9623 | |
} | |
}else { | |
return and__3822__auto____9622 | |
} | |
}()) { | |
return cljs.core.cons.call(null, f.call(null, cljs.core.first.call(null, s1__9619), cljs.core.first.call(null, s2__9620), cljs.core.first.call(null, s3__9621)), map.call(null, f, cljs.core.rest.call(null, s1__9619), cljs.core.rest.call(null, s2__9620), cljs.core.rest.call(null, s3__9621))) | |
}else { | |
return null | |
} | |
}, null) | |
}; | |
var map__5 = function() { | |
var G__9628__delegate = function(f, c1, c2, c3, colls) { | |
var step__9626 = function step(cs) { | |
return new cljs.core.LazySeq(null, false, function() { | |
var ss__9625 = map.call(null, cljs.core.seq, cs); | |
if(cljs.core.every_QMARK_.call(null, cljs.core.identity, ss__9625)) { | |
return cljs.core.cons.call(null, map.call(null, cljs.core.first, ss__9625), step.call(null, map.call(null, cljs.core.rest, ss__9625))) | |
}else { | |
return null | |
} | |
}, null) | |
}; | |
return map.call(null, function(p1__9430_SHARP_) { | |
return cljs.core.apply.call(null, f, p1__9430_SHARP_) | |
}, step__9626.call(null, cljs.core.conj.call(null, colls, c3, c2, c1))) | |
}; | |
var G__9628 = function(f, c1, c2, c3, var_args) { | |
var colls = null; | |
if(goog.isDef(var_args)) { | |
colls = cljs.core.array_seq(Array.prototype.slice.call(arguments, 4), 0) | |
} | |
return G__9628__delegate.call(this, f, c1, c2, c3, colls) | |
}; | |
G__9628.cljs$lang$maxFixedArity = 4; | |
G__9628.cljs$lang$applyTo = function(arglist__9629) { | |
var f = cljs.core.first(arglist__9629); | |
var c1 = cljs.core.first(cljs.core.next(arglist__9629)); | |
var c2 = cljs.core.first(cljs.core.next(cljs.core.next(arglist__9629))); | |
var c3 = cljs.core.first(cljs.core.next(cljs.core.next(cljs.core.next(arglist__9629)))); | |
var colls = cljs.core.rest(cljs.core.next(cljs.core.next(cljs.core.next(arglist__9629)))); | |
return G__9628__delegate(f, c1, c2, c3, colls) | |
}; | |
G__9628.cljs$lang$arity$variadic = G__9628__delegate; | |
return G__9628 | |
}(); | |
map = function(f, c1, c2, c3, var_args) { | |
var colls = var_args; | |
switch(arguments.length) { | |
case 2: | |
return map__2.call(this, f, c1); | |
case 3: | |
return map__3.call(this, f, c1, c2); | |
case 4: | |
return map__4.call(this, f, c1, c2, c3); | |
default: | |
return map__5.cljs$lang$arity$variadic(f, c1, c2, c3, cljs.core.array_seq(arguments, 4)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
map.cljs$lang$maxFixedArity = 4; | |
map.cljs$lang$applyTo = map__5.cljs$lang$applyTo; | |
map.cljs$lang$arity$2 = map__2; | |
map.cljs$lang$arity$3 = map__3; | |
map.cljs$lang$arity$4 = map__4; | |
map.cljs$lang$arity$variadic = map__5.cljs$lang$arity$variadic; | |
return map | |
}(); | |
cljs.core.take = function take(n, coll) { | |
return new cljs.core.LazySeq(null, false, function() { | |
if(n > 0) { | |
var temp__3974__auto____9632 = cljs.core.seq.call(null, coll); | |
if(temp__3974__auto____9632) { | |
var s__9633 = temp__3974__auto____9632; | |
return cljs.core.cons.call(null, cljs.core.first.call(null, s__9633), take.call(null, n - 1, cljs.core.rest.call(null, s__9633))) | |
}else { | |
return null | |
} | |
}else { | |
return null | |
} | |
}, null) | |
}; | |
cljs.core.drop = function drop(n, coll) { | |
var step__9639 = function(n, coll) { | |
while(true) { | |
var s__9637 = cljs.core.seq.call(null, coll); | |
if(cljs.core.truth_(function() { | |
var and__3822__auto____9638 = n > 0; | |
if(and__3822__auto____9638) { | |
return s__9637 | |
}else { | |
return and__3822__auto____9638 | |
} | |
}())) { | |
var G__9640 = n - 1; | |
var G__9641 = cljs.core.rest.call(null, s__9637); | |
n = G__9640; | |
coll = G__9641; | |
continue | |
}else { | |
return s__9637 | |
} | |
break | |
} | |
}; | |
return new cljs.core.LazySeq(null, false, function() { | |
return step__9639.call(null, n, coll) | |
}, null) | |
}; | |
cljs.core.drop_last = function() { | |
var drop_last = null; | |
var drop_last__1 = function(s) { | |
return drop_last.call(null, 1, s) | |
}; | |
var drop_last__2 = function(n, s) { | |
return cljs.core.map.call(null, function(x, _) { | |
return x | |
}, s, cljs.core.drop.call(null, n, s)) | |
}; | |
drop_last = function(n, s) { | |
switch(arguments.length) { | |
case 1: | |
return drop_last__1.call(this, n); | |
case 2: | |
return drop_last__2.call(this, n, s) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
drop_last.cljs$lang$arity$1 = drop_last__1; | |
drop_last.cljs$lang$arity$2 = drop_last__2; | |
return drop_last | |
}(); | |
cljs.core.take_last = function take_last(n, coll) { | |
var s__9644 = cljs.core.seq.call(null, coll); | |
var lead__9645 = cljs.core.seq.call(null, cljs.core.drop.call(null, n, coll)); | |
while(true) { | |
if(lead__9645) { | |
var G__9646 = cljs.core.next.call(null, s__9644); | |
var G__9647 = cljs.core.next.call(null, lead__9645); | |
s__9644 = G__9646; | |
lead__9645 = G__9647; | |
continue | |
}else { | |
return s__9644 | |
} | |
break | |
} | |
}; | |
cljs.core.drop_while = function drop_while(pred, coll) { | |
var step__9653 = function(pred, coll) { | |
while(true) { | |
var s__9651 = cljs.core.seq.call(null, coll); | |
if(cljs.core.truth_(function() { | |
var and__3822__auto____9652 = s__9651; | |
if(and__3822__auto____9652) { | |
return pred.call(null, cljs.core.first.call(null, s__9651)) | |
}else { | |
return and__3822__auto____9652 | |
} | |
}())) { | |
var G__9654 = pred; | |
var G__9655 = cljs.core.rest.call(null, s__9651); | |
pred = G__9654; | |
coll = G__9655; | |
continue | |
}else { | |
return s__9651 | |
} | |
break | |
} | |
}; | |
return new cljs.core.LazySeq(null, false, function() { | |
return step__9653.call(null, pred, coll) | |
}, null) | |
}; | |
cljs.core.cycle = function cycle(coll) { | |
return new cljs.core.LazySeq(null, false, function() { | |
var temp__3974__auto____9658 = cljs.core.seq.call(null, coll); | |
if(temp__3974__auto____9658) { | |
var s__9659 = temp__3974__auto____9658; | |
return cljs.core.concat.call(null, s__9659, cycle.call(null, s__9659)) | |
}else { | |
return null | |
} | |
}, null) | |
}; | |
cljs.core.split_at = function split_at(n, coll) { | |
return cljs.core.PersistentVector.fromArray([cljs.core.take.call(null, n, coll), cljs.core.drop.call(null, n, coll)], true) | |
}; | |
cljs.core.repeat = function() { | |
var repeat = null; | |
var repeat__1 = function(x) { | |
return new cljs.core.LazySeq(null, false, function() { | |
return cljs.core.cons.call(null, x, repeat.call(null, x)) | |
}, null) | |
}; | |
var repeat__2 = function(n, x) { | |
return cljs.core.take.call(null, n, repeat.call(null, x)) | |
}; | |
repeat = function(n, x) { | |
switch(arguments.length) { | |
case 1: | |
return repeat__1.call(this, n); | |
case 2: | |
return repeat__2.call(this, n, x) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
repeat.cljs$lang$arity$1 = repeat__1; | |
repeat.cljs$lang$arity$2 = repeat__2; | |
return repeat | |
}(); | |
cljs.core.replicate = function replicate(n, x) { | |
return cljs.core.take.call(null, n, cljs.core.repeat.call(null, x)) | |
}; | |
cljs.core.repeatedly = function() { | |
var repeatedly = null; | |
var repeatedly__1 = function(f) { | |
return new cljs.core.LazySeq(null, false, function() { | |
return cljs.core.cons.call(null, f.call(null), repeatedly.call(null, f)) | |
}, null) | |
}; | |
var repeatedly__2 = function(n, f) { | |
return cljs.core.take.call(null, n, repeatedly.call(null, f)) | |
}; | |
repeatedly = function(n, f) { | |
switch(arguments.length) { | |
case 1: | |
return repeatedly__1.call(this, n); | |
case 2: | |
return repeatedly__2.call(this, n, f) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
repeatedly.cljs$lang$arity$1 = repeatedly__1; | |
repeatedly.cljs$lang$arity$2 = repeatedly__2; | |
return repeatedly | |
}(); | |
cljs.core.iterate = function iterate(f, x) { | |
return cljs.core.cons.call(null, x, new cljs.core.LazySeq(null, false, function() { | |
return iterate.call(null, f, f.call(null, x)) | |
}, null)) | |
}; | |
cljs.core.interleave = function() { | |
var interleave = null; | |
var interleave__2 = function(c1, c2) { | |
return new cljs.core.LazySeq(null, false, function() { | |
var s1__9664 = cljs.core.seq.call(null, c1); | |
var s2__9665 = cljs.core.seq.call(null, c2); | |
if(function() { | |
var and__3822__auto____9666 = s1__9664; | |
if(and__3822__auto____9666) { | |
return s2__9665 | |
}else { | |
return and__3822__auto____9666 | |
} | |
}()) { | |
return cljs.core.cons.call(null, cljs.core.first.call(null, s1__9664), cljs.core.cons.call(null, cljs.core.first.call(null, s2__9665), interleave.call(null, cljs.core.rest.call(null, s1__9664), cljs.core.rest.call(null, s2__9665)))) | |
}else { | |
return null | |
} | |
}, null) | |
}; | |
var interleave__3 = function() { | |
var G__9668__delegate = function(c1, c2, colls) { | |
return new cljs.core.LazySeq(null, false, function() { | |
var ss__9667 = cljs.core.map.call(null, cljs.core.seq, cljs.core.conj.call(null, colls, c2, c1)); | |
if(cljs.core.every_QMARK_.call(null, cljs.core.identity, ss__9667)) { | |
return cljs.core.concat.call(null, cljs.core.map.call(null, cljs.core.first, ss__9667), cljs.core.apply.call(null, interleave, cljs.core.map.call(null, cljs.core.rest, ss__9667))) | |
}else { | |
return null | |
} | |
}, null) | |
}; | |
var G__9668 = function(c1, c2, var_args) { | |
var colls = null; | |
if(goog.isDef(var_args)) { | |
colls = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2), 0) | |
} | |
return G__9668__delegate.call(this, c1, c2, colls) | |
}; | |
G__9668.cljs$lang$maxFixedArity = 2; | |
G__9668.cljs$lang$applyTo = function(arglist__9669) { | |
var c1 = cljs.core.first(arglist__9669); | |
var c2 = cljs.core.first(cljs.core.next(arglist__9669)); | |
var colls = cljs.core.rest(cljs.core.next(arglist__9669)); | |
return G__9668__delegate(c1, c2, colls) | |
}; | |
G__9668.cljs$lang$arity$variadic = G__9668__delegate; | |
return G__9668 | |
}(); | |
interleave = function(c1, c2, var_args) { | |
var colls = var_args; | |
switch(arguments.length) { | |
case 2: | |
return interleave__2.call(this, c1, c2); | |
default: | |
return interleave__3.cljs$lang$arity$variadic(c1, c2, cljs.core.array_seq(arguments, 2)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
interleave.cljs$lang$maxFixedArity = 2; | |
interleave.cljs$lang$applyTo = interleave__3.cljs$lang$applyTo; | |
interleave.cljs$lang$arity$2 = interleave__2; | |
interleave.cljs$lang$arity$variadic = interleave__3.cljs$lang$arity$variadic; | |
return interleave | |
}(); | |
cljs.core.interpose = function interpose(sep, coll) { | |
return cljs.core.drop.call(null, 1, cljs.core.interleave.call(null, cljs.core.repeat.call(null, sep), coll)) | |
}; | |
cljs.core.flatten1 = function flatten1(colls) { | |
var cat__9679 = function cat(coll, colls) { | |
return new cljs.core.LazySeq(null, false, function() { | |
var temp__3971__auto____9677 = cljs.core.seq.call(null, coll); | |
if(temp__3971__auto____9677) { | |
var coll__9678 = temp__3971__auto____9677; | |
return cljs.core.cons.call(null, cljs.core.first.call(null, coll__9678), cat.call(null, cljs.core.rest.call(null, coll__9678), colls)) | |
}else { | |
if(cljs.core.seq.call(null, colls)) { | |
return cat.call(null, cljs.core.first.call(null, colls), cljs.core.rest.call(null, colls)) | |
}else { | |
return null | |
} | |
} | |
}, null) | |
}; | |
return cat__9679.call(null, null, colls) | |
}; | |
cljs.core.mapcat = function() { | |
var mapcat = null; | |
var mapcat__2 = function(f, coll) { | |
return cljs.core.flatten1.call(null, cljs.core.map.call(null, f, coll)) | |
}; | |
var mapcat__3 = function() { | |
var G__9680__delegate = function(f, coll, colls) { | |
return cljs.core.flatten1.call(null, cljs.core.apply.call(null, cljs.core.map, f, coll, colls)) | |
}; | |
var G__9680 = function(f, coll, var_args) { | |
var colls = null; | |
if(goog.isDef(var_args)) { | |
colls = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2), 0) | |
} | |
return G__9680__delegate.call(this, f, coll, colls) | |
}; | |
G__9680.cljs$lang$maxFixedArity = 2; | |
G__9680.cljs$lang$applyTo = function(arglist__9681) { | |
var f = cljs.core.first(arglist__9681); | |
var coll = cljs.core.first(cljs.core.next(arglist__9681)); | |
var colls = cljs.core.rest(cljs.core.next(arglist__9681)); | |
return G__9680__delegate(f, coll, colls) | |
}; | |
G__9680.cljs$lang$arity$variadic = G__9680__delegate; | |
return G__9680 | |
}(); | |
mapcat = function(f, coll, var_args) { | |
var colls = var_args; | |
switch(arguments.length) { | |
case 2: | |
return mapcat__2.call(this, f, coll); | |
default: | |
return mapcat__3.cljs$lang$arity$variadic(f, coll, cljs.core.array_seq(arguments, 2)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
mapcat.cljs$lang$maxFixedArity = 2; | |
mapcat.cljs$lang$applyTo = mapcat__3.cljs$lang$applyTo; | |
mapcat.cljs$lang$arity$2 = mapcat__2; | |
mapcat.cljs$lang$arity$variadic = mapcat__3.cljs$lang$arity$variadic; | |
return mapcat | |
}(); | |
cljs.core.filter = function filter(pred, coll) { | |
return new cljs.core.LazySeq(null, false, function() { | |
var temp__3974__auto____9691 = cljs.core.seq.call(null, coll); | |
if(temp__3974__auto____9691) { | |
var s__9692 = temp__3974__auto____9691; | |
if(cljs.core.chunked_seq_QMARK_.call(null, s__9692)) { | |
var c__9693 = cljs.core.chunk_first.call(null, s__9692); | |
var size__9694 = cljs.core.count.call(null, c__9693); | |
var b__9695 = cljs.core.chunk_buffer.call(null, size__9694); | |
var n__2551__auto____9696 = size__9694; | |
var i__9697 = 0; | |
while(true) { | |
if(i__9697 < n__2551__auto____9696) { | |
if(cljs.core.truth_(pred.call(null, cljs.core._nth.call(null, c__9693, i__9697)))) { | |
cljs.core.chunk_append.call(null, b__9695, cljs.core._nth.call(null, c__9693, i__9697)) | |
}else { | |
} | |
var G__9700 = i__9697 + 1; | |
i__9697 = G__9700; | |
continue | |
}else { | |
} | |
break | |
} | |
return cljs.core.chunk_cons.call(null, cljs.core.chunk.call(null, b__9695), filter.call(null, pred, cljs.core.chunk_rest.call(null, s__9692))) | |
}else { | |
var f__9698 = cljs.core.first.call(null, s__9692); | |
var r__9699 = cljs.core.rest.call(null, s__9692); | |
if(cljs.core.truth_(pred.call(null, f__9698))) { | |
return cljs.core.cons.call(null, f__9698, filter.call(null, pred, r__9699)) | |
}else { | |
return filter.call(null, pred, r__9699) | |
} | |
} | |
}else { | |
return null | |
} | |
}, null) | |
}; | |
cljs.core.remove = function remove(pred, coll) { | |
return cljs.core.filter.call(null, cljs.core.complement.call(null, pred), coll) | |
}; | |
cljs.core.tree_seq = function tree_seq(branch_QMARK_, children, root) { | |
var walk__9703 = function walk(node) { | |
return new cljs.core.LazySeq(null, false, function() { | |
return cljs.core.cons.call(null, node, cljs.core.truth_(branch_QMARK_.call(null, node)) ? cljs.core.mapcat.call(null, walk, children.call(null, node)) : null) | |
}, null) | |
}; | |
return walk__9703.call(null, root) | |
}; | |
cljs.core.flatten = function flatten(x) { | |
return cljs.core.filter.call(null, function(p1__9701_SHARP_) { | |
return!cljs.core.sequential_QMARK_.call(null, p1__9701_SHARP_) | |
}, cljs.core.rest.call(null, cljs.core.tree_seq.call(null, cljs.core.sequential_QMARK_, cljs.core.seq, x))) | |
}; | |
cljs.core.into = function into(to, from) { | |
if(function() { | |
var G__9707__9708 = to; | |
if(G__9707__9708) { | |
if(function() { | |
var or__3824__auto____9709 = G__9707__9708.cljs$lang$protocol_mask$partition1$ & 1; | |
if(or__3824__auto____9709) { | |
return or__3824__auto____9709 | |
}else { | |
return G__9707__9708.cljs$core$IEditableCollection$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__9707__9708.cljs$lang$protocol_mask$partition1$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IEditableCollection, G__9707__9708) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IEditableCollection, G__9707__9708) | |
} | |
}()) { | |
return cljs.core.persistent_BANG_.call(null, cljs.core.reduce.call(null, cljs.core._conj_BANG_, cljs.core.transient$.call(null, to), from)) | |
}else { | |
return cljs.core.reduce.call(null, cljs.core._conj, to, from) | |
} | |
}; | |
cljs.core.mapv = function() { | |
var mapv = null; | |
var mapv__2 = function(f, coll) { | |
return cljs.core.persistent_BANG_.call(null, cljs.core.reduce.call(null, function(v, o) { | |
return cljs.core.conj_BANG_.call(null, v, f.call(null, o)) | |
}, cljs.core.transient$.call(null, cljs.core.PersistentVector.EMPTY), coll)) | |
}; | |
var mapv__3 = function(f, c1, c2) { | |
return cljs.core.into.call(null, cljs.core.PersistentVector.EMPTY, cljs.core.map.call(null, f, c1, c2)) | |
}; | |
var mapv__4 = function(f, c1, c2, c3) { | |
return cljs.core.into.call(null, cljs.core.PersistentVector.EMPTY, cljs.core.map.call(null, f, c1, c2, c3)) | |
}; | |
var mapv__5 = function() { | |
var G__9710__delegate = function(f, c1, c2, c3, colls) { | |
return cljs.core.into.call(null, cljs.core.PersistentVector.EMPTY, cljs.core.apply.call(null, cljs.core.map, f, c1, c2, c3, colls)) | |
}; | |
var G__9710 = function(f, c1, c2, c3, var_args) { | |
var colls = null; | |
if(goog.isDef(var_args)) { | |
colls = cljs.core.array_seq(Array.prototype.slice.call(arguments, 4), 0) | |
} | |
return G__9710__delegate.call(this, f, c1, c2, c3, colls) | |
}; | |
G__9710.cljs$lang$maxFixedArity = 4; | |
G__9710.cljs$lang$applyTo = function(arglist__9711) { | |
var f = cljs.core.first(arglist__9711); | |
var c1 = cljs.core.first(cljs.core.next(arglist__9711)); | |
var c2 = cljs.core.first(cljs.core.next(cljs.core.next(arglist__9711))); | |
var c3 = cljs.core.first(cljs.core.next(cljs.core.next(cljs.core.next(arglist__9711)))); | |
var colls = cljs.core.rest(cljs.core.next(cljs.core.next(cljs.core.next(arglist__9711)))); | |
return G__9710__delegate(f, c1, c2, c3, colls) | |
}; | |
G__9710.cljs$lang$arity$variadic = G__9710__delegate; | |
return G__9710 | |
}(); | |
mapv = function(f, c1, c2, c3, var_args) { | |
var colls = var_args; | |
switch(arguments.length) { | |
case 2: | |
return mapv__2.call(this, f, c1); | |
case 3: | |
return mapv__3.call(this, f, c1, c2); | |
case 4: | |
return mapv__4.call(this, f, c1, c2, c3); | |
default: | |
return mapv__5.cljs$lang$arity$variadic(f, c1, c2, c3, cljs.core.array_seq(arguments, 4)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
mapv.cljs$lang$maxFixedArity = 4; | |
mapv.cljs$lang$applyTo = mapv__5.cljs$lang$applyTo; | |
mapv.cljs$lang$arity$2 = mapv__2; | |
mapv.cljs$lang$arity$3 = mapv__3; | |
mapv.cljs$lang$arity$4 = mapv__4; | |
mapv.cljs$lang$arity$variadic = mapv__5.cljs$lang$arity$variadic; | |
return mapv | |
}(); | |
cljs.core.filterv = function filterv(pred, coll) { | |
return cljs.core.persistent_BANG_.call(null, cljs.core.reduce.call(null, function(v, o) { | |
if(cljs.core.truth_(pred.call(null, o))) { | |
return cljs.core.conj_BANG_.call(null, v, o) | |
}else { | |
return v | |
} | |
}, cljs.core.transient$.call(null, cljs.core.PersistentVector.EMPTY), coll)) | |
}; | |
cljs.core.partition = function() { | |
var partition = null; | |
var partition__2 = function(n, coll) { | |
return partition.call(null, n, n, coll) | |
}; | |
var partition__3 = function(n, step, coll) { | |
return new cljs.core.LazySeq(null, false, function() { | |
var temp__3974__auto____9718 = cljs.core.seq.call(null, coll); | |
if(temp__3974__auto____9718) { | |
var s__9719 = temp__3974__auto____9718; | |
var p__9720 = cljs.core.take.call(null, n, s__9719); | |
if(n === cljs.core.count.call(null, p__9720)) { | |
return cljs.core.cons.call(null, p__9720, partition.call(null, n, step, cljs.core.drop.call(null, step, s__9719))) | |
}else { | |
return null | |
} | |
}else { | |
return null | |
} | |
}, null) | |
}; | |
var partition__4 = function(n, step, pad, coll) { | |
return new cljs.core.LazySeq(null, false, function() { | |
var temp__3974__auto____9721 = cljs.core.seq.call(null, coll); | |
if(temp__3974__auto____9721) { | |
var s__9722 = temp__3974__auto____9721; | |
var p__9723 = cljs.core.take.call(null, n, s__9722); | |
if(n === cljs.core.count.call(null, p__9723)) { | |
return cljs.core.cons.call(null, p__9723, partition.call(null, n, step, pad, cljs.core.drop.call(null, step, s__9722))) | |
}else { | |
return cljs.core.list.call(null, cljs.core.take.call(null, n, cljs.core.concat.call(null, p__9723, pad))) | |
} | |
}else { | |
return null | |
} | |
}, null) | |
}; | |
partition = function(n, step, pad, coll) { | |
switch(arguments.length) { | |
case 2: | |
return partition__2.call(this, n, step); | |
case 3: | |
return partition__3.call(this, n, step, pad); | |
case 4: | |
return partition__4.call(this, n, step, pad, coll) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
partition.cljs$lang$arity$2 = partition__2; | |
partition.cljs$lang$arity$3 = partition__3; | |
partition.cljs$lang$arity$4 = partition__4; | |
return partition | |
}(); | |
cljs.core.get_in = function() { | |
var get_in = null; | |
var get_in__2 = function(m, ks) { | |
return cljs.core.reduce.call(null, cljs.core.get, m, ks) | |
}; | |
var get_in__3 = function(m, ks, not_found) { | |
var sentinel__9728 = cljs.core.lookup_sentinel; | |
var m__9729 = m; | |
var ks__9730 = cljs.core.seq.call(null, ks); | |
while(true) { | |
if(ks__9730) { | |
var m__9731 = cljs.core._lookup.call(null, m__9729, cljs.core.first.call(null, ks__9730), sentinel__9728); | |
if(sentinel__9728 === m__9731) { | |
return not_found | |
}else { | |
var G__9732 = sentinel__9728; | |
var G__9733 = m__9731; | |
var G__9734 = cljs.core.next.call(null, ks__9730); | |
sentinel__9728 = G__9732; | |
m__9729 = G__9733; | |
ks__9730 = G__9734; | |
continue | |
} | |
}else { | |
return m__9729 | |
} | |
break | |
} | |
}; | |
get_in = function(m, ks, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return get_in__2.call(this, m, ks); | |
case 3: | |
return get_in__3.call(this, m, ks, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
get_in.cljs$lang$arity$2 = get_in__2; | |
get_in.cljs$lang$arity$3 = get_in__3; | |
return get_in | |
}(); | |
cljs.core.assoc_in = function assoc_in(m, p__9735, v) { | |
var vec__9740__9741 = p__9735; | |
var k__9742 = cljs.core.nth.call(null, vec__9740__9741, 0, null); | |
var ks__9743 = cljs.core.nthnext.call(null, vec__9740__9741, 1); | |
if(cljs.core.truth_(ks__9743)) { | |
return cljs.core.assoc.call(null, m, k__9742, assoc_in.call(null, cljs.core._lookup.call(null, m, k__9742, null), ks__9743, v)) | |
}else { | |
return cljs.core.assoc.call(null, m, k__9742, v) | |
} | |
}; | |
cljs.core.update_in = function() { | |
var update_in__delegate = function(m, p__9744, f, args) { | |
var vec__9749__9750 = p__9744; | |
var k__9751 = cljs.core.nth.call(null, vec__9749__9750, 0, null); | |
var ks__9752 = cljs.core.nthnext.call(null, vec__9749__9750, 1); | |
if(cljs.core.truth_(ks__9752)) { | |
return cljs.core.assoc.call(null, m, k__9751, cljs.core.apply.call(null, update_in, cljs.core._lookup.call(null, m, k__9751, null), ks__9752, f, args)) | |
}else { | |
return cljs.core.assoc.call(null, m, k__9751, cljs.core.apply.call(null, f, cljs.core._lookup.call(null, m, k__9751, null), args)) | |
} | |
}; | |
var update_in = function(m, p__9744, f, var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return update_in__delegate.call(this, m, p__9744, f, args) | |
}; | |
update_in.cljs$lang$maxFixedArity = 3; | |
update_in.cljs$lang$applyTo = function(arglist__9753) { | |
var m = cljs.core.first(arglist__9753); | |
var p__9744 = cljs.core.first(cljs.core.next(arglist__9753)); | |
var f = cljs.core.first(cljs.core.next(cljs.core.next(arglist__9753))); | |
var args = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__9753))); | |
return update_in__delegate(m, p__9744, f, args) | |
}; | |
update_in.cljs$lang$arity$variadic = update_in__delegate; | |
return update_in | |
}(); | |
cljs.core.Vector = function(meta, array, __hash) { | |
this.meta = meta; | |
this.array = array; | |
this.__hash = __hash; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 32400159 | |
}; | |
cljs.core.Vector.cljs$lang$type = true; | |
cljs.core.Vector.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/Vector") | |
}; | |
cljs.core.Vector.prototype.cljs$core$IHash$_hash$arity$1 = function(coll) { | |
var this__9756 = this; | |
var h__2216__auto____9757 = this__9756.__hash; | |
if(!(h__2216__auto____9757 == null)) { | |
return h__2216__auto____9757 | |
}else { | |
var h__2216__auto____9758 = cljs.core.hash_coll.call(null, coll); | |
this__9756.__hash = h__2216__auto____9758; | |
return h__2216__auto____9758 | |
} | |
}; | |
cljs.core.Vector.prototype.cljs$core$ILookup$_lookup$arity$2 = function(coll, k) { | |
var this__9759 = this; | |
return coll.cljs$core$IIndexed$_nth$arity$3(coll, k, null) | |
}; | |
cljs.core.Vector.prototype.cljs$core$ILookup$_lookup$arity$3 = function(coll, k, not_found) { | |
var this__9760 = this; | |
return coll.cljs$core$IIndexed$_nth$arity$3(coll, k, not_found) | |
}; | |
cljs.core.Vector.prototype.cljs$core$IAssociative$_assoc$arity$3 = function(coll, k, v) { | |
var this__9761 = this; | |
var new_array__9762 = this__9761.array.slice(); | |
new_array__9762[k] = v; | |
return new cljs.core.Vector(this__9761.meta, new_array__9762, null) | |
}; | |
cljs.core.Vector.prototype.call = function() { | |
var G__9793 = null; | |
var G__9793__2 = function(this_sym9763, k) { | |
var this__9765 = this; | |
var this_sym9763__9766 = this; | |
var coll__9767 = this_sym9763__9766; | |
return coll__9767.cljs$core$ILookup$_lookup$arity$2(coll__9767, k) | |
}; | |
var G__9793__3 = function(this_sym9764, k, not_found) { | |
var this__9765 = this; | |
var this_sym9764__9768 = this; | |
var coll__9769 = this_sym9764__9768; | |
return coll__9769.cljs$core$ILookup$_lookup$arity$3(coll__9769, k, not_found) | |
}; | |
G__9793 = function(this_sym9764, k, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return G__9793__2.call(this, this_sym9764, k); | |
case 3: | |
return G__9793__3.call(this, this_sym9764, k, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__9793 | |
}(); | |
cljs.core.Vector.prototype.apply = function(this_sym9754, args9755) { | |
var this__9770 = this; | |
return this_sym9754.call.apply(this_sym9754, [this_sym9754].concat(args9755.slice())) | |
}; | |
cljs.core.Vector.prototype.cljs$core$ICollection$_conj$arity$2 = function(coll, o) { | |
var this__9771 = this; | |
var new_array__9772 = this__9771.array.slice(); | |
new_array__9772.push(o); | |
return new cljs.core.Vector(this__9771.meta, new_array__9772, null) | |
}; | |
cljs.core.Vector.prototype.toString = function() { | |
var this__9773 = this; | |
var this__9774 = this; | |
return cljs.core.pr_str.call(null, this__9774) | |
}; | |
cljs.core.Vector.prototype.cljs$core$IReduce$_reduce$arity$2 = function(v, f) { | |
var this__9775 = this; | |
return cljs.core.ci_reduce.call(null, this__9775.array, f) | |
}; | |
cljs.core.Vector.prototype.cljs$core$IReduce$_reduce$arity$3 = function(v, f, start) { | |
var this__9776 = this; | |
return cljs.core.ci_reduce.call(null, this__9776.array, f, start) | |
}; | |
cljs.core.Vector.prototype.cljs$core$ISeqable$_seq$arity$1 = function(coll) { | |
var this__9777 = this; | |
if(this__9777.array.length > 0) { | |
var vector_seq__9778 = function vector_seq(i) { | |
return new cljs.core.LazySeq(null, false, function() { | |
if(i < this__9777.array.length) { | |
return cljs.core.cons.call(null, this__9777.array[i], vector_seq.call(null, i + 1)) | |
}else { | |
return null | |
} | |
}, null) | |
}; | |
return vector_seq__9778.call(null, 0) | |
}else { | |
return null | |
} | |
}; | |
cljs.core.Vector.prototype.cljs$core$ICounted$_count$arity$1 = function(coll) { | |
var this__9779 = this; | |
return this__9779.array.length | |
}; | |
cljs.core.Vector.prototype.cljs$core$IStack$_peek$arity$1 = function(coll) { | |
var this__9780 = this; | |
var count__9781 = this__9780.array.length; | |
if(count__9781 > 0) { | |
return this__9780.array[count__9781 - 1] | |
}else { | |
return null | |
} | |
}; | |
cljs.core.Vector.prototype.cljs$core$IStack$_pop$arity$1 = function(coll) { | |
var this__9782 = this; | |
if(this__9782.array.length > 0) { | |
var new_array__9783 = this__9782.array.slice(); | |
new_array__9783.pop(); | |
return new cljs.core.Vector(this__9782.meta, new_array__9783, null) | |
}else { | |
throw new Error("Can't pop empty vector"); | |
} | |
}; | |
cljs.core.Vector.prototype.cljs$core$IVector$_assoc_n$arity$3 = function(coll, n, val) { | |
var this__9784 = this; | |
return coll.cljs$core$IAssociative$_assoc$arity$3(coll, n, val) | |
}; | |
cljs.core.Vector.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__9785 = this; | |
return cljs.core.equiv_sequential.call(null, coll, other) | |
}; | |
cljs.core.Vector.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(coll, meta) { | |
var this__9786 = this; | |
return new cljs.core.Vector(meta, this__9786.array, this__9786.__hash) | |
}; | |
cljs.core.Vector.prototype.cljs$core$IMeta$_meta$arity$1 = function(coll) { | |
var this__9787 = this; | |
return this__9787.meta | |
}; | |
cljs.core.Vector.prototype.cljs$core$IIndexed$_nth$arity$2 = function(coll, n) { | |
var this__9788 = this; | |
if(function() { | |
var and__3822__auto____9789 = 0 <= n; | |
if(and__3822__auto____9789) { | |
return n < this__9788.array.length | |
}else { | |
return and__3822__auto____9789 | |
} | |
}()) { | |
return this__9788.array[n] | |
}else { | |
return null | |
} | |
}; | |
cljs.core.Vector.prototype.cljs$core$IIndexed$_nth$arity$3 = function(coll, n, not_found) { | |
var this__9790 = this; | |
if(function() { | |
var and__3822__auto____9791 = 0 <= n; | |
if(and__3822__auto____9791) { | |
return n < this__9790.array.length | |
}else { | |
return and__3822__auto____9791 | |
} | |
}()) { | |
return this__9790.array[n] | |
}else { | |
return not_found | |
} | |
}; | |
cljs.core.Vector.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = function(coll) { | |
var this__9792 = this; | |
return cljs.core.with_meta.call(null, cljs.core.Vector.EMPTY, this__9792.meta) | |
}; | |
cljs.core.Vector; | |
cljs.core.Vector.EMPTY = new cljs.core.Vector(null, [], 0); | |
cljs.core.Vector.fromArray = function(xs) { | |
return new cljs.core.Vector(null, xs, null) | |
}; | |
cljs.core.VectorNode = function(edit, arr) { | |
this.edit = edit; | |
this.arr = arr | |
}; | |
cljs.core.VectorNode.cljs$lang$type = true; | |
cljs.core.VectorNode.cljs$lang$ctorPrSeq = function(this__2334__auto__) { | |
return cljs.core.list.call(null, "cljs.core/VectorNode") | |
}; | |
cljs.core.VectorNode; | |
cljs.core.pv_fresh_node = function pv_fresh_node(edit) { | |
return new cljs.core.VectorNode(edit, cljs.core.make_array.call(null, 32)) | |
}; | |
cljs.core.pv_aget = function pv_aget(node, idx) { | |
return node.arr[idx] | |
}; | |
cljs.core.pv_aset = function pv_aset(node, idx, val) { | |
return node.arr[idx] = val | |
}; | |
cljs.core.pv_clone_node = function pv_clone_node(node) { | |
return new cljs.core.VectorNode(node.edit, node.arr.slice()) | |
}; | |
cljs.core.tail_off = function tail_off(pv) { | |
var cnt__9795 = pv.cnt; | |
if(cnt__9795 < 32) { | |
return 0 | |
}else { | |
return cnt__9795 - 1 >>> 5 << 5 | |
} | |
}; | |
cljs.core.new_path = function new_path(edit, level, node) { | |
var ll__9801 = level; | |
var ret__9802 = node; | |
while(true) { | |
if(ll__9801 === 0) { | |
return ret__9802 | |
}else { | |
var embed__9803 = ret__9802; | |
var r__9804 = cljs.core.pv_fresh_node.call(null, edit); | |
var ___9805 = cljs.core.pv_aset.call(null, r__9804, 0, embed__9803); | |
var G__9806 = ll__9801 - 5; | |
var G__9807 = r__9804; | |
ll__9801 = G__9806; | |
ret__9802 = G__9807; | |
continue | |
} | |
break | |
} | |
}; | |
cljs.core.push_tail = function push_tail(pv, level, parent, tailnode) { | |
var ret__9813 = cljs.core.pv_clone_node.call(null, parent); | |
var subidx__9814 = pv.cnt - 1 >>> level & 31; | |
if(5 === level) { | |
cljs.core.pv_aset.call(null, ret__9813, subidx__9814, tailnode); | |
return ret__9813 | |
}else { | |
var child__9815 = cljs.core.pv_aget.call(null, parent, subidx__9814); | |
if(!(child__9815 == null)) { | |
var node_to_insert__9816 = push_tail.call(null, pv, level - 5, child__9815, tailnode); | |
cljs.core.pv_aset.call(null, ret__9813, subidx__9814, node_to_insert__9816); | |
return ret__9813 | |
}else { | |
var node_to_insert__9817 = cljs.core.new_path.call(null, null, level - 5, tailnode); | |
cljs.core.pv_aset.call(null, ret__9813, subidx__9814, node_to_insert__9817); | |
return ret__9813 | |
} | |
} | |
}; | |
cljs.core.array_for = function array_for(pv, i) { | |
if(function() { | |
var and__3822__auto____9821 = 0 <= i; | |
if(and__3822__auto____9821) { | |
return i < pv.cnt | |
}else { | |
return and__3822__auto____9821 | |
} | |
}()) { | |
if(i >= cljs.core.tail_off.call(null, pv)) { | |
return pv.tail | |
}else { | |
var node__9822 = pv.root; | |
var level__9823 = pv.shift; | |
while(true) { | |
if(level__9823 > 0) { | |
var G__9824 = cljs.core.pv_aget.call(null, node__9822, i >>> level__9823 & 31); | |
var G__9825 = level__9823 - 5; | |
node__9822 = G__9824; | |
level__9823 = G__9825; | |
continue | |
}else { | |
return node__9822.arr | |
} | |
break | |
} | |
} | |
}else { | |
throw new Error([cljs.core.str("No item "), cljs.core.str(i), cljs.core.str(" in vector of length "), cljs.core.str(pv.cnt)].join("")); | |
} | |
}; | |
cljs.core.do_assoc = function do_assoc(pv, level, node, i, val) { | |
var ret__9828 = cljs.core.pv_clone_node.call(null, node); | |
if(level === 0) { | |
cljs.core.pv_aset.call(null, ret__9828, i & 31, val); | |
return ret__9828 | |
}else { | |
var subidx__9829 = i >>> level & 31; | |
cljs.core.pv_aset.call(null, ret__9828, subidx__9829, do_assoc.call(null, pv, level - 5, cljs.core.pv_aget.call(null, node, subidx__9829), i, val)); | |
return ret__9828 | |
} | |
}; | |
cljs.core.pop_tail = function pop_tail(pv, level, node) { | |
var subidx__9835 = pv.cnt - 2 >>> level & 31; | |
if(level > 5) { | |
var new_child__9836 = pop_tail.call(null, pv, level - 5, cljs.core.pv_aget.call(null, node, subidx__9835)); | |
if(function() { | |
var and__3822__auto____9837 = new_child__9836 == null; | |
if(and__3822__auto____9837) { | |
return subidx__9835 === 0 | |
}else { | |
return and__3822__auto____9837 | |
} | |
}()) { | |
return null | |
}else { | |
var ret__9838 = cljs.core.pv_clone_node.call(null, node); | |
cljs.core.pv_aset.call(null, ret__9838, subidx__9835, new_child__9836); | |
return ret__9838 | |
} | |
}else { | |
if(subidx__9835 === 0) { | |
return null | |
}else { | |
if("\ufdd0'else") { | |
var ret__9839 = cljs.core.pv_clone_node.call(null, node); | |
cljs.core.pv_aset.call(null, ret__9839, subidx__9835, null); | |
return ret__9839 | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
cljs.core.PersistentVector = function(meta, cnt, shift, root, tail, __hash) { | |
this.meta = meta; | |
this.cnt = cnt; | |
this.shift = shift; | |
this.root = root; | |
this.tail = tail; | |
this.__hash = __hash; | |
this.cljs$lang$protocol_mask$partition1$ = 1; | |
this.cljs$lang$protocol_mask$partition0$ = 167668511 | |
}; | |
cljs.core.PersistentVector.cljs$lang$type = true; | |
cljs.core.PersistentVector.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/PersistentVector") | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 = function(coll) { | |
var this__9842 = this; | |
return new cljs.core.TransientVector(this__9842.cnt, this__9842.shift, cljs.core.tv_editable_root.call(null, this__9842.root), cljs.core.tv_editable_tail.call(null, this__9842.tail)) | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$IHash$_hash$arity$1 = function(coll) { | |
var this__9843 = this; | |
var h__2216__auto____9844 = this__9843.__hash; | |
if(!(h__2216__auto____9844 == null)) { | |
return h__2216__auto____9844 | |
}else { | |
var h__2216__auto____9845 = cljs.core.hash_coll.call(null, coll); | |
this__9843.__hash = h__2216__auto____9845; | |
return h__2216__auto____9845 | |
} | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$ILookup$_lookup$arity$2 = function(coll, k) { | |
var this__9846 = this; | |
return coll.cljs$core$IIndexed$_nth$arity$3(coll, k, null) | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$ILookup$_lookup$arity$3 = function(coll, k, not_found) { | |
var this__9847 = this; | |
return coll.cljs$core$IIndexed$_nth$arity$3(coll, k, not_found) | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$IAssociative$_assoc$arity$3 = function(coll, k, v) { | |
var this__9848 = this; | |
if(function() { | |
var and__3822__auto____9849 = 0 <= k; | |
if(and__3822__auto____9849) { | |
return k < this__9848.cnt | |
}else { | |
return and__3822__auto____9849 | |
} | |
}()) { | |
if(cljs.core.tail_off.call(null, coll) <= k) { | |
var new_tail__9850 = this__9848.tail.slice(); | |
new_tail__9850[k & 31] = v; | |
return new cljs.core.PersistentVector(this__9848.meta, this__9848.cnt, this__9848.shift, this__9848.root, new_tail__9850, null) | |
}else { | |
return new cljs.core.PersistentVector(this__9848.meta, this__9848.cnt, this__9848.shift, cljs.core.do_assoc.call(null, coll, this__9848.shift, this__9848.root, k, v), this__9848.tail, null) | |
} | |
}else { | |
if(k === this__9848.cnt) { | |
return coll.cljs$core$ICollection$_conj$arity$2(coll, v) | |
}else { | |
if("\ufdd0'else") { | |
throw new Error([cljs.core.str("Index "), cljs.core.str(k), cljs.core.str(" out of bounds [0,"), cljs.core.str(this__9848.cnt), cljs.core.str("]")].join("")); | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
cljs.core.PersistentVector.prototype.call = function() { | |
var G__9898 = null; | |
var G__9898__2 = function(this_sym9851, k) { | |
var this__9853 = this; | |
var this_sym9851__9854 = this; | |
var coll__9855 = this_sym9851__9854; | |
return coll__9855.cljs$core$ILookup$_lookup$arity$2(coll__9855, k) | |
}; | |
var G__9898__3 = function(this_sym9852, k, not_found) { | |
var this__9853 = this; | |
var this_sym9852__9856 = this; | |
var coll__9857 = this_sym9852__9856; | |
return coll__9857.cljs$core$ILookup$_lookup$arity$3(coll__9857, k, not_found) | |
}; | |
G__9898 = function(this_sym9852, k, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return G__9898__2.call(this, this_sym9852, k); | |
case 3: | |
return G__9898__3.call(this, this_sym9852, k, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__9898 | |
}(); | |
cljs.core.PersistentVector.prototype.apply = function(this_sym9840, args9841) { | |
var this__9858 = this; | |
return this_sym9840.call.apply(this_sym9840, [this_sym9840].concat(args9841.slice())) | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 = function(v, f, init) { | |
var this__9859 = this; | |
var step_init__9860 = [0, init]; | |
var i__9861 = 0; | |
while(true) { | |
if(i__9861 < this__9859.cnt) { | |
var arr__9862 = cljs.core.array_for.call(null, v, i__9861); | |
var len__9863 = arr__9862.length; | |
var init__9867 = function() { | |
var j__9864 = 0; | |
var init__9865 = step_init__9860[1]; | |
while(true) { | |
if(j__9864 < len__9863) { | |
var init__9866 = f.call(null, init__9865, j__9864 + i__9861, arr__9862[j__9864]); | |
if(cljs.core.reduced_QMARK_.call(null, init__9866)) { | |
return init__9866 | |
}else { | |
var G__9899 = j__9864 + 1; | |
var G__9900 = init__9866; | |
j__9864 = G__9899; | |
init__9865 = G__9900; | |
continue | |
} | |
}else { | |
step_init__9860[0] = len__9863; | |
step_init__9860[1] = init__9865; | |
return init__9865 | |
} | |
break | |
} | |
}(); | |
if(cljs.core.reduced_QMARK_.call(null, init__9867)) { | |
return cljs.core.deref.call(null, init__9867) | |
}else { | |
var G__9901 = i__9861 + step_init__9860[0]; | |
i__9861 = G__9901; | |
continue | |
} | |
}else { | |
return step_init__9860[1] | |
} | |
break | |
} | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$ICollection$_conj$arity$2 = function(coll, o) { | |
var this__9868 = this; | |
if(this__9868.cnt - cljs.core.tail_off.call(null, coll) < 32) { | |
var new_tail__9869 = this__9868.tail.slice(); | |
new_tail__9869.push(o); | |
return new cljs.core.PersistentVector(this__9868.meta, this__9868.cnt + 1, this__9868.shift, this__9868.root, new_tail__9869, null) | |
}else { | |
var root_overflow_QMARK___9870 = this__9868.cnt >>> 5 > 1 << this__9868.shift; | |
var new_shift__9871 = root_overflow_QMARK___9870 ? this__9868.shift + 5 : this__9868.shift; | |
var new_root__9873 = root_overflow_QMARK___9870 ? function() { | |
var n_r__9872 = cljs.core.pv_fresh_node.call(null, null); | |
cljs.core.pv_aset.call(null, n_r__9872, 0, this__9868.root); | |
cljs.core.pv_aset.call(null, n_r__9872, 1, cljs.core.new_path.call(null, null, this__9868.shift, new cljs.core.VectorNode(null, this__9868.tail))); | |
return n_r__9872 | |
}() : cljs.core.push_tail.call(null, coll, this__9868.shift, this__9868.root, new cljs.core.VectorNode(null, this__9868.tail)); | |
return new cljs.core.PersistentVector(this__9868.meta, this__9868.cnt + 1, new_shift__9871, new_root__9873, [o], null) | |
} | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$IReversible$_rseq$arity$1 = function(coll) { | |
var this__9874 = this; | |
if(this__9874.cnt > 0) { | |
return new cljs.core.RSeq(coll, this__9874.cnt - 1, null) | |
}else { | |
return cljs.core.List.EMPTY | |
} | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$IMapEntry$_key$arity$1 = function(coll) { | |
var this__9875 = this; | |
return coll.cljs$core$IIndexed$_nth$arity$2(coll, 0) | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$IMapEntry$_val$arity$1 = function(coll) { | |
var this__9876 = this; | |
return coll.cljs$core$IIndexed$_nth$arity$2(coll, 1) | |
}; | |
cljs.core.PersistentVector.prototype.toString = function() { | |
var this__9877 = this; | |
var this__9878 = this; | |
return cljs.core.pr_str.call(null, this__9878) | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$IReduce$_reduce$arity$2 = function(v, f) { | |
var this__9879 = this; | |
return cljs.core.ci_reduce.call(null, v, f) | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$IReduce$_reduce$arity$3 = function(v, f, start) { | |
var this__9880 = this; | |
return cljs.core.ci_reduce.call(null, v, f, start) | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$ISeqable$_seq$arity$1 = function(coll) { | |
var this__9881 = this; | |
if(this__9881.cnt === 0) { | |
return null | |
}else { | |
return cljs.core.chunked_seq.call(null, coll, 0, 0) | |
} | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$ICounted$_count$arity$1 = function(coll) { | |
var this__9882 = this; | |
return this__9882.cnt | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$IStack$_peek$arity$1 = function(coll) { | |
var this__9883 = this; | |
if(this__9883.cnt > 0) { | |
return coll.cljs$core$IIndexed$_nth$arity$2(coll, this__9883.cnt - 1) | |
}else { | |
return null | |
} | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$IStack$_pop$arity$1 = function(coll) { | |
var this__9884 = this; | |
if(this__9884.cnt === 0) { | |
throw new Error("Can't pop empty vector"); | |
}else { | |
if(1 === this__9884.cnt) { | |
return cljs.core._with_meta.call(null, cljs.core.PersistentVector.EMPTY, this__9884.meta) | |
}else { | |
if(1 < this__9884.cnt - cljs.core.tail_off.call(null, coll)) { | |
return new cljs.core.PersistentVector(this__9884.meta, this__9884.cnt - 1, this__9884.shift, this__9884.root, this__9884.tail.slice(0, -1), null) | |
}else { | |
if("\ufdd0'else") { | |
var new_tail__9885 = cljs.core.array_for.call(null, coll, this__9884.cnt - 2); | |
var nr__9886 = cljs.core.pop_tail.call(null, coll, this__9884.shift, this__9884.root); | |
var new_root__9887 = nr__9886 == null ? cljs.core.PersistentVector.EMPTY_NODE : nr__9886; | |
var cnt_1__9888 = this__9884.cnt - 1; | |
if(function() { | |
var and__3822__auto____9889 = 5 < this__9884.shift; | |
if(and__3822__auto____9889) { | |
return cljs.core.pv_aget.call(null, new_root__9887, 1) == null | |
}else { | |
return and__3822__auto____9889 | |
} | |
}()) { | |
return new cljs.core.PersistentVector(this__9884.meta, cnt_1__9888, this__9884.shift - 5, cljs.core.pv_aget.call(null, new_root__9887, 0), new_tail__9885, null) | |
}else { | |
return new cljs.core.PersistentVector(this__9884.meta, cnt_1__9888, this__9884.shift, new_root__9887, new_tail__9885, null) | |
} | |
}else { | |
return null | |
} | |
} | |
} | |
} | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$IVector$_assoc_n$arity$3 = function(coll, n, val) { | |
var this__9890 = this; | |
return coll.cljs$core$IAssociative$_assoc$arity$3(coll, n, val) | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__9891 = this; | |
return cljs.core.equiv_sequential.call(null, coll, other) | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(coll, meta) { | |
var this__9892 = this; | |
return new cljs.core.PersistentVector(meta, this__9892.cnt, this__9892.shift, this__9892.root, this__9892.tail, this__9892.__hash) | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$IMeta$_meta$arity$1 = function(coll) { | |
var this__9893 = this; | |
return this__9893.meta | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$IIndexed$_nth$arity$2 = function(coll, n) { | |
var this__9894 = this; | |
return cljs.core.array_for.call(null, coll, n)[n & 31] | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$IIndexed$_nth$arity$3 = function(coll, n, not_found) { | |
var this__9895 = this; | |
if(function() { | |
var and__3822__auto____9896 = 0 <= n; | |
if(and__3822__auto____9896) { | |
return n < this__9895.cnt | |
}else { | |
return and__3822__auto____9896 | |
} | |
}()) { | |
return coll.cljs$core$IIndexed$_nth$arity$2(coll, n) | |
}else { | |
return not_found | |
} | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = function(coll) { | |
var this__9897 = this; | |
return cljs.core.with_meta.call(null, cljs.core.PersistentVector.EMPTY, this__9897.meta) | |
}; | |
cljs.core.PersistentVector; | |
cljs.core.PersistentVector.EMPTY_NODE = cljs.core.pv_fresh_node.call(null, null); | |
cljs.core.PersistentVector.EMPTY = new cljs.core.PersistentVector(null, 0, 5, cljs.core.PersistentVector.EMPTY_NODE, [], 0); | |
cljs.core.PersistentVector.fromArray = function(xs, no_clone) { | |
var l__9902 = xs.length; | |
var xs__9903 = no_clone === true ? xs : xs.slice(); | |
if(l__9902 < 32) { | |
return new cljs.core.PersistentVector(null, l__9902, 5, cljs.core.PersistentVector.EMPTY_NODE, xs__9903, null) | |
}else { | |
var node__9904 = xs__9903.slice(0, 32); | |
var v__9905 = new cljs.core.PersistentVector(null, 32, 5, cljs.core.PersistentVector.EMPTY_NODE, node__9904, null); | |
var i__9906 = 32; | |
var out__9907 = cljs.core._as_transient.call(null, v__9905); | |
while(true) { | |
if(i__9906 < l__9902) { | |
var G__9908 = i__9906 + 1; | |
var G__9909 = cljs.core.conj_BANG_.call(null, out__9907, xs__9903[i__9906]); | |
i__9906 = G__9908; | |
out__9907 = G__9909; | |
continue | |
}else { | |
return cljs.core.persistent_BANG_.call(null, out__9907) | |
} | |
break | |
} | |
} | |
}; | |
cljs.core.vec = function vec(coll) { | |
return cljs.core._persistent_BANG_.call(null, cljs.core.reduce.call(null, cljs.core._conj_BANG_, cljs.core._as_transient.call(null, cljs.core.PersistentVector.EMPTY), coll)) | |
}; | |
cljs.core.vector = function() { | |
var vector__delegate = function(args) { | |
return cljs.core.vec.call(null, args) | |
}; | |
var vector = function(var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return vector__delegate.call(this, args) | |
}; | |
vector.cljs$lang$maxFixedArity = 0; | |
vector.cljs$lang$applyTo = function(arglist__9910) { | |
var args = cljs.core.seq(arglist__9910); | |
return vector__delegate(args) | |
}; | |
vector.cljs$lang$arity$variadic = vector__delegate; | |
return vector | |
}(); | |
cljs.core.ChunkedSeq = function(vec, node, i, off, meta) { | |
this.vec = vec; | |
this.node = node; | |
this.i = i; | |
this.off = off; | |
this.meta = meta; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 27525356 | |
}; | |
cljs.core.ChunkedSeq.cljs$lang$type = true; | |
cljs.core.ChunkedSeq.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/ChunkedSeq") | |
}; | |
cljs.core.ChunkedSeq.prototype.cljs$core$INext$_next$arity$1 = function(coll) { | |
var this__9911 = this; | |
if(this__9911.off + 1 < this__9911.node.length) { | |
var s__9912 = cljs.core.chunked_seq.call(null, this__9911.vec, this__9911.node, this__9911.i, this__9911.off + 1); | |
if(s__9912 == null) { | |
return null | |
}else { | |
return s__9912 | |
} | |
}else { | |
return coll.cljs$core$IChunkedNext$_chunked_next$arity$1(coll) | |
} | |
}; | |
cljs.core.ChunkedSeq.prototype.cljs$core$ICollection$_conj$arity$2 = function(coll, o) { | |
var this__9913 = this; | |
return cljs.core.cons.call(null, o, coll) | |
}; | |
cljs.core.ChunkedSeq.prototype.cljs$core$ISeqable$_seq$arity$1 = function(coll) { | |
var this__9914 = this; | |
return coll | |
}; | |
cljs.core.ChunkedSeq.prototype.cljs$core$ISeq$_first$arity$1 = function(coll) { | |
var this__9915 = this; | |
return this__9915.node[this__9915.off] | |
}; | |
cljs.core.ChunkedSeq.prototype.cljs$core$ISeq$_rest$arity$1 = function(coll) { | |
var this__9916 = this; | |
if(this__9916.off + 1 < this__9916.node.length) { | |
var s__9917 = cljs.core.chunked_seq.call(null, this__9916.vec, this__9916.node, this__9916.i, this__9916.off + 1); | |
if(s__9917 == null) { | |
return cljs.core.List.EMPTY | |
}else { | |
return s__9917 | |
} | |
}else { | |
return coll.cljs$core$IChunkedSeq$_chunked_rest$arity$1(coll) | |
} | |
}; | |
cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedNext$ = true; | |
cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1 = function(coll) { | |
var this__9918 = this; | |
var l__9919 = this__9918.node.length; | |
var s__9920 = this__9918.i + l__9919 < cljs.core._count.call(null, this__9918.vec) ? cljs.core.chunked_seq.call(null, this__9918.vec, this__9918.i + l__9919, 0) : null; | |
if(s__9920 == null) { | |
return null | |
}else { | |
return s__9920 | |
} | |
}; | |
cljs.core.ChunkedSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__9921 = this; | |
return cljs.core.equiv_sequential.call(null, coll, other) | |
}; | |
cljs.core.ChunkedSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(coll, m) { | |
var this__9922 = this; | |
return cljs.core.chunked_seq.call(null, this__9922.vec, this__9922.node, this__9922.i, this__9922.off, m) | |
}; | |
cljs.core.ChunkedSeq.prototype.cljs$core$IWithMeta$_meta$arity$1 = function(coll) { | |
var this__9923 = this; | |
return this__9923.meta | |
}; | |
cljs.core.ChunkedSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = function(coll) { | |
var this__9924 = this; | |
return cljs.core.with_meta.call(null, cljs.core.PersistentVector.EMPTY, this__9924.meta) | |
}; | |
cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedSeq$ = true; | |
cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1 = function(coll) { | |
var this__9925 = this; | |
return cljs.core.array_chunk.call(null, this__9925.node, this__9925.off) | |
}; | |
cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1 = function(coll) { | |
var this__9926 = this; | |
var l__9927 = this__9926.node.length; | |
var s__9928 = this__9926.i + l__9927 < cljs.core._count.call(null, this__9926.vec) ? cljs.core.chunked_seq.call(null, this__9926.vec, this__9926.i + l__9927, 0) : null; | |
if(s__9928 == null) { | |
return cljs.core.List.EMPTY | |
}else { | |
return s__9928 | |
} | |
}; | |
cljs.core.ChunkedSeq; | |
cljs.core.chunked_seq = function() { | |
var chunked_seq = null; | |
var chunked_seq__3 = function(vec, i, off) { | |
return chunked_seq.call(null, vec, cljs.core.array_for.call(null, vec, i), i, off, null) | |
}; | |
var chunked_seq__4 = function(vec, node, i, off) { | |
return chunked_seq.call(null, vec, node, i, off, null) | |
}; | |
var chunked_seq__5 = function(vec, node, i, off, meta) { | |
return new cljs.core.ChunkedSeq(vec, node, i, off, meta) | |
}; | |
chunked_seq = function(vec, node, i, off, meta) { | |
switch(arguments.length) { | |
case 3: | |
return chunked_seq__3.call(this, vec, node, i); | |
case 4: | |
return chunked_seq__4.call(this, vec, node, i, off); | |
case 5: | |
return chunked_seq__5.call(this, vec, node, i, off, meta) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
chunked_seq.cljs$lang$arity$3 = chunked_seq__3; | |
chunked_seq.cljs$lang$arity$4 = chunked_seq__4; | |
chunked_seq.cljs$lang$arity$5 = chunked_seq__5; | |
return chunked_seq | |
}(); | |
cljs.core.Subvec = function(meta, v, start, end, __hash) { | |
this.meta = meta; | |
this.v = v; | |
this.start = start; | |
this.end = end; | |
this.__hash = __hash; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 32400159 | |
}; | |
cljs.core.Subvec.cljs$lang$type = true; | |
cljs.core.Subvec.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/Subvec") | |
}; | |
cljs.core.Subvec.prototype.cljs$core$IHash$_hash$arity$1 = function(coll) { | |
var this__9931 = this; | |
var h__2216__auto____9932 = this__9931.__hash; | |
if(!(h__2216__auto____9932 == null)) { | |
return h__2216__auto____9932 | |
}else { | |
var h__2216__auto____9933 = cljs.core.hash_coll.call(null, coll); | |
this__9931.__hash = h__2216__auto____9933; | |
return h__2216__auto____9933 | |
} | |
}; | |
cljs.core.Subvec.prototype.cljs$core$ILookup$_lookup$arity$2 = function(coll, k) { | |
var this__9934 = this; | |
return coll.cljs$core$IIndexed$_nth$arity$3(coll, k, null) | |
}; | |
cljs.core.Subvec.prototype.cljs$core$ILookup$_lookup$arity$3 = function(coll, k, not_found) { | |
var this__9935 = this; | |
return coll.cljs$core$IIndexed$_nth$arity$3(coll, k, not_found) | |
}; | |
cljs.core.Subvec.prototype.cljs$core$IAssociative$_assoc$arity$3 = function(coll, key, val) { | |
var this__9936 = this; | |
var v_pos__9937 = this__9936.start + key; | |
return new cljs.core.Subvec(this__9936.meta, cljs.core._assoc.call(null, this__9936.v, v_pos__9937, val), this__9936.start, this__9936.end > v_pos__9937 + 1 ? this__9936.end : v_pos__9937 + 1, null) | |
}; | |
cljs.core.Subvec.prototype.call = function() { | |
var G__9963 = null; | |
var G__9963__2 = function(this_sym9938, k) { | |
var this__9940 = this; | |
var this_sym9938__9941 = this; | |
var coll__9942 = this_sym9938__9941; | |
return coll__9942.cljs$core$ILookup$_lookup$arity$2(coll__9942, k) | |
}; | |
var G__9963__3 = function(this_sym9939, k, not_found) { | |
var this__9940 = this; | |
var this_sym9939__9943 = this; | |
var coll__9944 = this_sym9939__9943; | |
return coll__9944.cljs$core$ILookup$_lookup$arity$3(coll__9944, k, not_found) | |
}; | |
G__9963 = function(this_sym9939, k, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return G__9963__2.call(this, this_sym9939, k); | |
case 3: | |
return G__9963__3.call(this, this_sym9939, k, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__9963 | |
}(); | |
cljs.core.Subvec.prototype.apply = function(this_sym9929, args9930) { | |
var this__9945 = this; | |
return this_sym9929.call.apply(this_sym9929, [this_sym9929].concat(args9930.slice())) | |
}; | |
cljs.core.Subvec.prototype.cljs$core$ICollection$_conj$arity$2 = function(coll, o) { | |
var this__9946 = this; | |
return new cljs.core.Subvec(this__9946.meta, cljs.core._assoc_n.call(null, this__9946.v, this__9946.end, o), this__9946.start, this__9946.end + 1, null) | |
}; | |
cljs.core.Subvec.prototype.toString = function() { | |
var this__9947 = this; | |
var this__9948 = this; | |
return cljs.core.pr_str.call(null, this__9948) | |
}; | |
cljs.core.Subvec.prototype.cljs$core$IReduce$_reduce$arity$2 = function(coll, f) { | |
var this__9949 = this; | |
return cljs.core.ci_reduce.call(null, coll, f) | |
}; | |
cljs.core.Subvec.prototype.cljs$core$IReduce$_reduce$arity$3 = function(coll, f, start) { | |
var this__9950 = this; | |
return cljs.core.ci_reduce.call(null, coll, f, start) | |
}; | |
cljs.core.Subvec.prototype.cljs$core$ISeqable$_seq$arity$1 = function(coll) { | |
var this__9951 = this; | |
var subvec_seq__9952 = function subvec_seq(i) { | |
if(i === this__9951.end) { | |
return null | |
}else { | |
return cljs.core.cons.call(null, cljs.core._nth.call(null, this__9951.v, i), new cljs.core.LazySeq(null, false, function() { | |
return subvec_seq.call(null, i + 1) | |
}, null)) | |
} | |
}; | |
return subvec_seq__9952.call(null, this__9951.start) | |
}; | |
cljs.core.Subvec.prototype.cljs$core$ICounted$_count$arity$1 = function(coll) { | |
var this__9953 = this; | |
return this__9953.end - this__9953.start | |
}; | |
cljs.core.Subvec.prototype.cljs$core$IStack$_peek$arity$1 = function(coll) { | |
var this__9954 = this; | |
return cljs.core._nth.call(null, this__9954.v, this__9954.end - 1) | |
}; | |
cljs.core.Subvec.prototype.cljs$core$IStack$_pop$arity$1 = function(coll) { | |
var this__9955 = this; | |
if(this__9955.start === this__9955.end) { | |
throw new Error("Can't pop empty vector"); | |
}else { | |
return new cljs.core.Subvec(this__9955.meta, this__9955.v, this__9955.start, this__9955.end - 1, null) | |
} | |
}; | |
cljs.core.Subvec.prototype.cljs$core$IVector$_assoc_n$arity$3 = function(coll, n, val) { | |
var this__9956 = this; | |
return coll.cljs$core$IAssociative$_assoc$arity$3(coll, n, val) | |
}; | |
cljs.core.Subvec.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__9957 = this; | |
return cljs.core.equiv_sequential.call(null, coll, other) | |
}; | |
cljs.core.Subvec.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(coll, meta) { | |
var this__9958 = this; | |
return new cljs.core.Subvec(meta, this__9958.v, this__9958.start, this__9958.end, this__9958.__hash) | |
}; | |
cljs.core.Subvec.prototype.cljs$core$IMeta$_meta$arity$1 = function(coll) { | |
var this__9959 = this; | |
return this__9959.meta | |
}; | |
cljs.core.Subvec.prototype.cljs$core$IIndexed$_nth$arity$2 = function(coll, n) { | |
var this__9960 = this; | |
return cljs.core._nth.call(null, this__9960.v, this__9960.start + n) | |
}; | |
cljs.core.Subvec.prototype.cljs$core$IIndexed$_nth$arity$3 = function(coll, n, not_found) { | |
var this__9961 = this; | |
return cljs.core._nth.call(null, this__9961.v, this__9961.start + n, not_found) | |
}; | |
cljs.core.Subvec.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = function(coll) { | |
var this__9962 = this; | |
return cljs.core.with_meta.call(null, cljs.core.Vector.EMPTY, this__9962.meta) | |
}; | |
cljs.core.Subvec; | |
cljs.core.subvec = function() { | |
var subvec = null; | |
var subvec__2 = function(v, start) { | |
return subvec.call(null, v, start, cljs.core.count.call(null, v)) | |
}; | |
var subvec__3 = function(v, start, end) { | |
return new cljs.core.Subvec(null, v, start, end, null) | |
}; | |
subvec = function(v, start, end) { | |
switch(arguments.length) { | |
case 2: | |
return subvec__2.call(this, v, start); | |
case 3: | |
return subvec__3.call(this, v, start, end) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
subvec.cljs$lang$arity$2 = subvec__2; | |
subvec.cljs$lang$arity$3 = subvec__3; | |
return subvec | |
}(); | |
cljs.core.tv_ensure_editable = function tv_ensure_editable(edit, node) { | |
if(edit === node.edit) { | |
return node | |
}else { | |
return new cljs.core.VectorNode(edit, node.arr.slice()) | |
} | |
}; | |
cljs.core.tv_editable_root = function tv_editable_root(node) { | |
return new cljs.core.VectorNode({}, node.arr.slice()) | |
}; | |
cljs.core.tv_editable_tail = function tv_editable_tail(tl) { | |
var ret__9965 = cljs.core.make_array.call(null, 32); | |
cljs.core.array_copy.call(null, tl, 0, ret__9965, 0, tl.length); | |
return ret__9965 | |
}; | |
cljs.core.tv_push_tail = function tv_push_tail(tv, level, parent, tail_node) { | |
var ret__9969 = cljs.core.tv_ensure_editable.call(null, tv.root.edit, parent); | |
var subidx__9970 = tv.cnt - 1 >>> level & 31; | |
cljs.core.pv_aset.call(null, ret__9969, subidx__9970, level === 5 ? tail_node : function() { | |
var child__9971 = cljs.core.pv_aget.call(null, ret__9969, subidx__9970); | |
if(!(child__9971 == null)) { | |
return tv_push_tail.call(null, tv, level - 5, child__9971, tail_node) | |
}else { | |
return cljs.core.new_path.call(null, tv.root.edit, level - 5, tail_node) | |
} | |
}()); | |
return ret__9969 | |
}; | |
cljs.core.tv_pop_tail = function tv_pop_tail(tv, level, node) { | |
var node__9976 = cljs.core.tv_ensure_editable.call(null, tv.root.edit, node); | |
var subidx__9977 = tv.cnt - 2 >>> level & 31; | |
if(level > 5) { | |
var new_child__9978 = tv_pop_tail.call(null, tv, level - 5, cljs.core.pv_aget.call(null, node__9976, subidx__9977)); | |
if(function() { | |
var and__3822__auto____9979 = new_child__9978 == null; | |
if(and__3822__auto____9979) { | |
return subidx__9977 === 0 | |
}else { | |
return and__3822__auto____9979 | |
} | |
}()) { | |
return null | |
}else { | |
cljs.core.pv_aset.call(null, node__9976, subidx__9977, new_child__9978); | |
return node__9976 | |
} | |
}else { | |
if(subidx__9977 === 0) { | |
return null | |
}else { | |
if("\ufdd0'else") { | |
cljs.core.pv_aset.call(null, node__9976, subidx__9977, null); | |
return node__9976 | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
cljs.core.editable_array_for = function editable_array_for(tv, i) { | |
if(function() { | |
var and__3822__auto____9984 = 0 <= i; | |
if(and__3822__auto____9984) { | |
return i < tv.cnt | |
}else { | |
return and__3822__auto____9984 | |
} | |
}()) { | |
if(i >= cljs.core.tail_off.call(null, tv)) { | |
return tv.tail | |
}else { | |
var root__9985 = tv.root; | |
var node__9986 = root__9985; | |
var level__9987 = tv.shift; | |
while(true) { | |
if(level__9987 > 0) { | |
var G__9988 = cljs.core.tv_ensure_editable.call(null, root__9985.edit, cljs.core.pv_aget.call(null, node__9986, i >>> level__9987 & 31)); | |
var G__9989 = level__9987 - 5; | |
node__9986 = G__9988; | |
level__9987 = G__9989; | |
continue | |
}else { | |
return node__9986.arr | |
} | |
break | |
} | |
} | |
}else { | |
throw new Error([cljs.core.str("No item "), cljs.core.str(i), cljs.core.str(" in transient vector of length "), cljs.core.str(tv.cnt)].join("")); | |
} | |
}; | |
cljs.core.TransientVector = function(cnt, shift, root, tail) { | |
this.cnt = cnt; | |
this.shift = shift; | |
this.root = root; | |
this.tail = tail; | |
this.cljs$lang$protocol_mask$partition0$ = 275; | |
this.cljs$lang$protocol_mask$partition1$ = 22 | |
}; | |
cljs.core.TransientVector.cljs$lang$type = true; | |
cljs.core.TransientVector.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/TransientVector") | |
}; | |
cljs.core.TransientVector.prototype.call = function() { | |
var G__10029 = null; | |
var G__10029__2 = function(this_sym9992, k) { | |
var this__9994 = this; | |
var this_sym9992__9995 = this; | |
var coll__9996 = this_sym9992__9995; | |
return coll__9996.cljs$core$ILookup$_lookup$arity$2(coll__9996, k) | |
}; | |
var G__10029__3 = function(this_sym9993, k, not_found) { | |
var this__9994 = this; | |
var this_sym9993__9997 = this; | |
var coll__9998 = this_sym9993__9997; | |
return coll__9998.cljs$core$ILookup$_lookup$arity$3(coll__9998, k, not_found) | |
}; | |
G__10029 = function(this_sym9993, k, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return G__10029__2.call(this, this_sym9993, k); | |
case 3: | |
return G__10029__3.call(this, this_sym9993, k, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__10029 | |
}(); | |
cljs.core.TransientVector.prototype.apply = function(this_sym9990, args9991) { | |
var this__9999 = this; | |
return this_sym9990.call.apply(this_sym9990, [this_sym9990].concat(args9991.slice())) | |
}; | |
cljs.core.TransientVector.prototype.cljs$core$ILookup$_lookup$arity$2 = function(coll, k) { | |
var this__10000 = this; | |
return coll.cljs$core$IIndexed$_nth$arity$3(coll, k, null) | |
}; | |
cljs.core.TransientVector.prototype.cljs$core$ILookup$_lookup$arity$3 = function(coll, k, not_found) { | |
var this__10001 = this; | |
return coll.cljs$core$IIndexed$_nth$arity$3(coll, k, not_found) | |
}; | |
cljs.core.TransientVector.prototype.cljs$core$IIndexed$_nth$arity$2 = function(coll, n) { | |
var this__10002 = this; | |
if(this__10002.root.edit) { | |
return cljs.core.array_for.call(null, coll, n)[n & 31] | |
}else { | |
throw new Error("nth after persistent!"); | |
} | |
}; | |
cljs.core.TransientVector.prototype.cljs$core$IIndexed$_nth$arity$3 = function(coll, n, not_found) { | |
var this__10003 = this; | |
if(function() { | |
var and__3822__auto____10004 = 0 <= n; | |
if(and__3822__auto____10004) { | |
return n < this__10003.cnt | |
}else { | |
return and__3822__auto____10004 | |
} | |
}()) { | |
return coll.cljs$core$IIndexed$_nth$arity$2(coll, n) | |
}else { | |
return not_found | |
} | |
}; | |
cljs.core.TransientVector.prototype.cljs$core$ICounted$_count$arity$1 = function(coll) { | |
var this__10005 = this; | |
if(this__10005.root.edit) { | |
return this__10005.cnt | |
}else { | |
throw new Error("count after persistent!"); | |
} | |
}; | |
cljs.core.TransientVector.prototype.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3 = function(tcoll, n, val) { | |
var this__10006 = this; | |
if(this__10006.root.edit) { | |
if(function() { | |
var and__3822__auto____10007 = 0 <= n; | |
if(and__3822__auto____10007) { | |
return n < this__10006.cnt | |
}else { | |
return and__3822__auto____10007 | |
} | |
}()) { | |
if(cljs.core.tail_off.call(null, tcoll) <= n) { | |
this__10006.tail[n & 31] = val; | |
return tcoll | |
}else { | |
var new_root__10012 = function go(level, node) { | |
var node__10010 = cljs.core.tv_ensure_editable.call(null, this__10006.root.edit, node); | |
if(level === 0) { | |
cljs.core.pv_aset.call(null, node__10010, n & 31, val); | |
return node__10010 | |
}else { | |
var subidx__10011 = n >>> level & 31; | |
cljs.core.pv_aset.call(null, node__10010, subidx__10011, go.call(null, level - 5, cljs.core.pv_aget.call(null, node__10010, subidx__10011))); | |
return node__10010 | |
} | |
}.call(null, this__10006.shift, this__10006.root); | |
this__10006.root = new_root__10012; | |
return tcoll | |
} | |
}else { | |
if(n === this__10006.cnt) { | |
return tcoll.cljs$core$ITransientCollection$_conj_BANG_$arity$2(tcoll, val) | |
}else { | |
if("\ufdd0'else") { | |
throw new Error([cljs.core.str("Index "), cljs.core.str(n), cljs.core.str(" out of bounds for TransientVector of length"), cljs.core.str(this__10006.cnt)].join("")); | |
}else { | |
return null | |
} | |
} | |
} | |
}else { | |
throw new Error("assoc! after persistent!"); | |
} | |
}; | |
cljs.core.TransientVector.prototype.cljs$core$ITransientVector$_pop_BANG_$arity$1 = function(tcoll) { | |
var this__10013 = this; | |
if(this__10013.root.edit) { | |
if(this__10013.cnt === 0) { | |
throw new Error("Can't pop empty vector"); | |
}else { | |
if(1 === this__10013.cnt) { | |
this__10013.cnt = 0; | |
return tcoll | |
}else { | |
if((this__10013.cnt - 1 & 31) > 0) { | |
this__10013.cnt = this__10013.cnt - 1; | |
return tcoll | |
}else { | |
if("\ufdd0'else") { | |
var new_tail__10014 = cljs.core.editable_array_for.call(null, tcoll, this__10013.cnt - 2); | |
var new_root__10016 = function() { | |
var nr__10015 = cljs.core.tv_pop_tail.call(null, tcoll, this__10013.shift, this__10013.root); | |
if(!(nr__10015 == null)) { | |
return nr__10015 | |
}else { | |
return new cljs.core.VectorNode(this__10013.root.edit, cljs.core.make_array.call(null, 32)) | |
} | |
}(); | |
if(function() { | |
var and__3822__auto____10017 = 5 < this__10013.shift; | |
if(and__3822__auto____10017) { | |
return cljs.core.pv_aget.call(null, new_root__10016, 1) == null | |
}else { | |
return and__3822__auto____10017 | |
} | |
}()) { | |
var new_root__10018 = cljs.core.tv_ensure_editable.call(null, this__10013.root.edit, cljs.core.pv_aget.call(null, new_root__10016, 0)); | |
this__10013.root = new_root__10018; | |
this__10013.shift = this__10013.shift - 5; | |
this__10013.cnt = this__10013.cnt - 1; | |
this__10013.tail = new_tail__10014; | |
return tcoll | |
}else { | |
this__10013.root = new_root__10016; | |
this__10013.cnt = this__10013.cnt - 1; | |
this__10013.tail = new_tail__10014; | |
return tcoll | |
} | |
}else { | |
return null | |
} | |
} | |
} | |
} | |
}else { | |
throw new Error("pop! after persistent!"); | |
} | |
}; | |
cljs.core.TransientVector.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 = function(tcoll, key, val) { | |
var this__10019 = this; | |
return tcoll.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3(tcoll, key, val) | |
}; | |
cljs.core.TransientVector.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 = function(tcoll, o) { | |
var this__10020 = this; | |
if(this__10020.root.edit) { | |
if(this__10020.cnt - cljs.core.tail_off.call(null, tcoll) < 32) { | |
this__10020.tail[this__10020.cnt & 31] = o; | |
this__10020.cnt = this__10020.cnt + 1; | |
return tcoll | |
}else { | |
var tail_node__10021 = new cljs.core.VectorNode(this__10020.root.edit, this__10020.tail); | |
var new_tail__10022 = cljs.core.make_array.call(null, 32); | |
new_tail__10022[0] = o; | |
this__10020.tail = new_tail__10022; | |
if(this__10020.cnt >>> 5 > 1 << this__10020.shift) { | |
var new_root_array__10023 = cljs.core.make_array.call(null, 32); | |
var new_shift__10024 = this__10020.shift + 5; | |
new_root_array__10023[0] = this__10020.root; | |
new_root_array__10023[1] = cljs.core.new_path.call(null, this__10020.root.edit, this__10020.shift, tail_node__10021); | |
this__10020.root = new cljs.core.VectorNode(this__10020.root.edit, new_root_array__10023); | |
this__10020.shift = new_shift__10024; | |
this__10020.cnt = this__10020.cnt + 1; | |
return tcoll | |
}else { | |
var new_root__10025 = cljs.core.tv_push_tail.call(null, tcoll, this__10020.shift, this__10020.root, tail_node__10021); | |
this__10020.root = new_root__10025; | |
this__10020.cnt = this__10020.cnt + 1; | |
return tcoll | |
} | |
} | |
}else { | |
throw new Error("conj! after persistent!"); | |
} | |
}; | |
cljs.core.TransientVector.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 = function(tcoll) { | |
var this__10026 = this; | |
if(this__10026.root.edit) { | |
this__10026.root.edit = null; | |
var len__10027 = this__10026.cnt - cljs.core.tail_off.call(null, tcoll); | |
var trimmed_tail__10028 = cljs.core.make_array.call(null, len__10027); | |
cljs.core.array_copy.call(null, this__10026.tail, 0, trimmed_tail__10028, 0, len__10027); | |
return new cljs.core.PersistentVector(null, this__10026.cnt, this__10026.shift, this__10026.root, trimmed_tail__10028, null) | |
}else { | |
throw new Error("persistent! called twice"); | |
} | |
}; | |
cljs.core.TransientVector; | |
cljs.core.PersistentQueueSeq = function(meta, front, rear, __hash) { | |
this.meta = meta; | |
this.front = front; | |
this.rear = rear; | |
this.__hash = __hash; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 31850572 | |
}; | |
cljs.core.PersistentQueueSeq.cljs$lang$type = true; | |
cljs.core.PersistentQueueSeq.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/PersistentQueueSeq") | |
}; | |
cljs.core.PersistentQueueSeq.prototype.cljs$core$IHash$_hash$arity$1 = function(coll) { | |
var this__10030 = this; | |
var h__2216__auto____10031 = this__10030.__hash; | |
if(!(h__2216__auto____10031 == null)) { | |
return h__2216__auto____10031 | |
}else { | |
var h__2216__auto____10032 = cljs.core.hash_coll.call(null, coll); | |
this__10030.__hash = h__2216__auto____10032; | |
return h__2216__auto____10032 | |
} | |
}; | |
cljs.core.PersistentQueueSeq.prototype.cljs$core$ICollection$_conj$arity$2 = function(coll, o) { | |
var this__10033 = this; | |
return cljs.core.cons.call(null, o, coll) | |
}; | |
cljs.core.PersistentQueueSeq.prototype.toString = function() { | |
var this__10034 = this; | |
var this__10035 = this; | |
return cljs.core.pr_str.call(null, this__10035) | |
}; | |
cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeqable$_seq$arity$1 = function(coll) { | |
var this__10036 = this; | |
return coll | |
}; | |
cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeq$_first$arity$1 = function(coll) { | |
var this__10037 = this; | |
return cljs.core._first.call(null, this__10037.front) | |
}; | |
cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeq$_rest$arity$1 = function(coll) { | |
var this__10038 = this; | |
var temp__3971__auto____10039 = cljs.core.next.call(null, this__10038.front); | |
if(temp__3971__auto____10039) { | |
var f1__10040 = temp__3971__auto____10039; | |
return new cljs.core.PersistentQueueSeq(this__10038.meta, f1__10040, this__10038.rear, null) | |
}else { | |
if(this__10038.rear == null) { | |
return coll.cljs$core$IEmptyableCollection$_empty$arity$1(coll) | |
}else { | |
return new cljs.core.PersistentQueueSeq(this__10038.meta, this__10038.rear, null, null) | |
} | |
} | |
}; | |
cljs.core.PersistentQueueSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__10041 = this; | |
return cljs.core.equiv_sequential.call(null, coll, other) | |
}; | |
cljs.core.PersistentQueueSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(coll, meta) { | |
var this__10042 = this; | |
return new cljs.core.PersistentQueueSeq(meta, this__10042.front, this__10042.rear, this__10042.__hash) | |
}; | |
cljs.core.PersistentQueueSeq.prototype.cljs$core$IMeta$_meta$arity$1 = function(coll) { | |
var this__10043 = this; | |
return this__10043.meta | |
}; | |
cljs.core.PersistentQueueSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = function(coll) { | |
var this__10044 = this; | |
return cljs.core.with_meta.call(null, cljs.core.List.EMPTY, this__10044.meta) | |
}; | |
cljs.core.PersistentQueueSeq; | |
cljs.core.PersistentQueue = function(meta, count, front, rear, __hash) { | |
this.meta = meta; | |
this.count = count; | |
this.front = front; | |
this.rear = rear; | |
this.__hash = __hash; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 31858766 | |
}; | |
cljs.core.PersistentQueue.cljs$lang$type = true; | |
cljs.core.PersistentQueue.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/PersistentQueue") | |
}; | |
cljs.core.PersistentQueue.prototype.cljs$core$IHash$_hash$arity$1 = function(coll) { | |
var this__10045 = this; | |
var h__2216__auto____10046 = this__10045.__hash; | |
if(!(h__2216__auto____10046 == null)) { | |
return h__2216__auto____10046 | |
}else { | |
var h__2216__auto____10047 = cljs.core.hash_coll.call(null, coll); | |
this__10045.__hash = h__2216__auto____10047; | |
return h__2216__auto____10047 | |
} | |
}; | |
cljs.core.PersistentQueue.prototype.cljs$core$ICollection$_conj$arity$2 = function(coll, o) { | |
var this__10048 = this; | |
if(cljs.core.truth_(this__10048.front)) { | |
return new cljs.core.PersistentQueue(this__10048.meta, this__10048.count + 1, this__10048.front, cljs.core.conj.call(null, function() { | |
var or__3824__auto____10049 = this__10048.rear; | |
if(cljs.core.truth_(or__3824__auto____10049)) { | |
return or__3824__auto____10049 | |
}else { | |
return cljs.core.PersistentVector.EMPTY | |
} | |
}(), o), null) | |
}else { | |
return new cljs.core.PersistentQueue(this__10048.meta, this__10048.count + 1, cljs.core.conj.call(null, this__10048.front, o), cljs.core.PersistentVector.EMPTY, null) | |
} | |
}; | |
cljs.core.PersistentQueue.prototype.toString = function() { | |
var this__10050 = this; | |
var this__10051 = this; | |
return cljs.core.pr_str.call(null, this__10051) | |
}; | |
cljs.core.PersistentQueue.prototype.cljs$core$ISeqable$_seq$arity$1 = function(coll) { | |
var this__10052 = this; | |
var rear__10053 = cljs.core.seq.call(null, this__10052.rear); | |
if(cljs.core.truth_(function() { | |
var or__3824__auto____10054 = this__10052.front; | |
if(cljs.core.truth_(or__3824__auto____10054)) { | |
return or__3824__auto____10054 | |
}else { | |
return rear__10053 | |
} | |
}())) { | |
return new cljs.core.PersistentQueueSeq(null, this__10052.front, cljs.core.seq.call(null, rear__10053), null) | |
}else { | |
return null | |
} | |
}; | |
cljs.core.PersistentQueue.prototype.cljs$core$ICounted$_count$arity$1 = function(coll) { | |
var this__10055 = this; | |
return this__10055.count | |
}; | |
cljs.core.PersistentQueue.prototype.cljs$core$IStack$_peek$arity$1 = function(coll) { | |
var this__10056 = this; | |
return cljs.core._first.call(null, this__10056.front) | |
}; | |
cljs.core.PersistentQueue.prototype.cljs$core$IStack$_pop$arity$1 = function(coll) { | |
var this__10057 = this; | |
if(cljs.core.truth_(this__10057.front)) { | |
var temp__3971__auto____10058 = cljs.core.next.call(null, this__10057.front); | |
if(temp__3971__auto____10058) { | |
var f1__10059 = temp__3971__auto____10058; | |
return new cljs.core.PersistentQueue(this__10057.meta, this__10057.count - 1, f1__10059, this__10057.rear, null) | |
}else { | |
return new cljs.core.PersistentQueue(this__10057.meta, this__10057.count - 1, cljs.core.seq.call(null, this__10057.rear), cljs.core.PersistentVector.EMPTY, null) | |
} | |
}else { | |
return coll | |
} | |
}; | |
cljs.core.PersistentQueue.prototype.cljs$core$ISeq$_first$arity$1 = function(coll) { | |
var this__10060 = this; | |
return cljs.core.first.call(null, this__10060.front) | |
}; | |
cljs.core.PersistentQueue.prototype.cljs$core$ISeq$_rest$arity$1 = function(coll) { | |
var this__10061 = this; | |
return cljs.core.rest.call(null, cljs.core.seq.call(null, coll)) | |
}; | |
cljs.core.PersistentQueue.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__10062 = this; | |
return cljs.core.equiv_sequential.call(null, coll, other) | |
}; | |
cljs.core.PersistentQueue.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(coll, meta) { | |
var this__10063 = this; | |
return new cljs.core.PersistentQueue(meta, this__10063.count, this__10063.front, this__10063.rear, this__10063.__hash) | |
}; | |
cljs.core.PersistentQueue.prototype.cljs$core$IMeta$_meta$arity$1 = function(coll) { | |
var this__10064 = this; | |
return this__10064.meta | |
}; | |
cljs.core.PersistentQueue.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = function(coll) { | |
var this__10065 = this; | |
return cljs.core.PersistentQueue.EMPTY | |
}; | |
cljs.core.PersistentQueue; | |
cljs.core.PersistentQueue.EMPTY = new cljs.core.PersistentQueue(null, 0, null, cljs.core.PersistentVector.EMPTY, 0); | |
cljs.core.NeverEquiv = function() { | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 2097152 | |
}; | |
cljs.core.NeverEquiv.cljs$lang$type = true; | |
cljs.core.NeverEquiv.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/NeverEquiv") | |
}; | |
cljs.core.NeverEquiv.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(o, other) { | |
var this__10066 = this; | |
return false | |
}; | |
cljs.core.NeverEquiv; | |
cljs.core.never_equiv = new cljs.core.NeverEquiv; | |
cljs.core.equiv_map = function equiv_map(x, y) { | |
return cljs.core.boolean$.call(null, cljs.core.map_QMARK_.call(null, y) ? cljs.core.count.call(null, x) === cljs.core.count.call(null, y) ? cljs.core.every_QMARK_.call(null, cljs.core.identity, cljs.core.map.call(null, function(xkv) { | |
return cljs.core._EQ_.call(null, cljs.core._lookup.call(null, y, cljs.core.first.call(null, xkv), cljs.core.never_equiv), cljs.core.second.call(null, xkv)) | |
}, x)) : null : null) | |
}; | |
cljs.core.scan_array = function scan_array(incr, k, array) { | |
var len__10069 = array.length; | |
var i__10070 = 0; | |
while(true) { | |
if(i__10070 < len__10069) { | |
if(k === array[i__10070]) { | |
return i__10070 | |
}else { | |
var G__10071 = i__10070 + incr; | |
i__10070 = G__10071; | |
continue | |
} | |
}else { | |
return null | |
} | |
break | |
} | |
}; | |
cljs.core.obj_map_compare_keys = function obj_map_compare_keys(a, b) { | |
var a__10074 = cljs.core.hash.call(null, a); | |
var b__10075 = cljs.core.hash.call(null, b); | |
if(a__10074 < b__10075) { | |
return-1 | |
}else { | |
if(a__10074 > b__10075) { | |
return 1 | |
}else { | |
if("\ufdd0'else") { | |
return 0 | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
cljs.core.obj_map__GT_hash_map = function obj_map__GT_hash_map(m, k, v) { | |
var ks__10083 = m.keys; | |
var len__10084 = ks__10083.length; | |
var so__10085 = m.strobj; | |
var out__10086 = cljs.core.with_meta.call(null, cljs.core.PersistentHashMap.EMPTY, cljs.core.meta.call(null, m)); | |
var i__10087 = 0; | |
var out__10088 = cljs.core.transient$.call(null, out__10086); | |
while(true) { | |
if(i__10087 < len__10084) { | |
var k__10089 = ks__10083[i__10087]; | |
var G__10090 = i__10087 + 1; | |
var G__10091 = cljs.core.assoc_BANG_.call(null, out__10088, k__10089, so__10085[k__10089]); | |
i__10087 = G__10090; | |
out__10088 = G__10091; | |
continue | |
}else { | |
return cljs.core.persistent_BANG_.call(null, cljs.core.assoc_BANG_.call(null, out__10088, k, v)) | |
} | |
break | |
} | |
}; | |
cljs.core.obj_clone = function obj_clone(obj, ks) { | |
var new_obj__10097 = {}; | |
var l__10098 = ks.length; | |
var i__10099 = 0; | |
while(true) { | |
if(i__10099 < l__10098) { | |
var k__10100 = ks[i__10099]; | |
new_obj__10097[k__10100] = obj[k__10100]; | |
var G__10101 = i__10099 + 1; | |
i__10099 = G__10101; | |
continue | |
}else { | |
} | |
break | |
} | |
return new_obj__10097 | |
}; | |
cljs.core.ObjMap = function(meta, keys, strobj, update_count, __hash) { | |
this.meta = meta; | |
this.keys = keys; | |
this.strobj = strobj; | |
this.update_count = update_count; | |
this.__hash = __hash; | |
this.cljs$lang$protocol_mask$partition1$ = 1; | |
this.cljs$lang$protocol_mask$partition0$ = 15075087 | |
}; | |
cljs.core.ObjMap.cljs$lang$type = true; | |
cljs.core.ObjMap.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/ObjMap") | |
}; | |
cljs.core.ObjMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 = function(coll) { | |
var this__10104 = this; | |
return cljs.core.transient$.call(null, cljs.core.into.call(null, cljs.core.hash_map.call(null), coll)) | |
}; | |
cljs.core.ObjMap.prototype.cljs$core$IHash$_hash$arity$1 = function(coll) { | |
var this__10105 = this; | |
var h__2216__auto____10106 = this__10105.__hash; | |
if(!(h__2216__auto____10106 == null)) { | |
return h__2216__auto____10106 | |
}else { | |
var h__2216__auto____10107 = cljs.core.hash_imap.call(null, coll); | |
this__10105.__hash = h__2216__auto____10107; | |
return h__2216__auto____10107 | |
} | |
}; | |
cljs.core.ObjMap.prototype.cljs$core$ILookup$_lookup$arity$2 = function(coll, k) { | |
var this__10108 = this; | |
return coll.cljs$core$ILookup$_lookup$arity$3(coll, k, null) | |
}; | |
cljs.core.ObjMap.prototype.cljs$core$ILookup$_lookup$arity$3 = function(coll, k, not_found) { | |
var this__10109 = this; | |
if(function() { | |
var and__3822__auto____10110 = goog.isString(k); | |
if(and__3822__auto____10110) { | |
return!(cljs.core.scan_array.call(null, 1, k, this__10109.keys) == null) | |
}else { | |
return and__3822__auto____10110 | |
} | |
}()) { | |
return this__10109.strobj[k] | |
}else { | |
return not_found | |
} | |
}; | |
cljs.core.ObjMap.prototype.cljs$core$IAssociative$_assoc$arity$3 = function(coll, k, v) { | |
var this__10111 = this; | |
if(goog.isString(k)) { | |
if(function() { | |
var or__3824__auto____10112 = this__10111.update_count > cljs.core.ObjMap.HASHMAP_THRESHOLD; | |
if(or__3824__auto____10112) { | |
return or__3824__auto____10112 | |
}else { | |
return this__10111.keys.length >= cljs.core.ObjMap.HASHMAP_THRESHOLD | |
} | |
}()) { | |
return cljs.core.obj_map__GT_hash_map.call(null, coll, k, v) | |
}else { | |
if(!(cljs.core.scan_array.call(null, 1, k, this__10111.keys) == null)) { | |
var new_strobj__10113 = cljs.core.obj_clone.call(null, this__10111.strobj, this__10111.keys); | |
new_strobj__10113[k] = v; | |
return new cljs.core.ObjMap(this__10111.meta, this__10111.keys, new_strobj__10113, this__10111.update_count + 1, null) | |
}else { | |
var new_strobj__10114 = cljs.core.obj_clone.call(null, this__10111.strobj, this__10111.keys); | |
var new_keys__10115 = this__10111.keys.slice(); | |
new_strobj__10114[k] = v; | |
new_keys__10115.push(k); | |
return new cljs.core.ObjMap(this__10111.meta, new_keys__10115, new_strobj__10114, this__10111.update_count + 1, null) | |
} | |
} | |
}else { | |
return cljs.core.obj_map__GT_hash_map.call(null, coll, k, v) | |
} | |
}; | |
cljs.core.ObjMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 = function(coll, k) { | |
var this__10116 = this; | |
if(function() { | |
var and__3822__auto____10117 = goog.isString(k); | |
if(and__3822__auto____10117) { | |
return!(cljs.core.scan_array.call(null, 1, k, this__10116.keys) == null) | |
}else { | |
return and__3822__auto____10117 | |
} | |
}()) { | |
return true | |
}else { | |
return false | |
} | |
}; | |
cljs.core.ObjMap.prototype.call = function() { | |
var G__10139 = null; | |
var G__10139__2 = function(this_sym10118, k) { | |
var this__10120 = this; | |
var this_sym10118__10121 = this; | |
var coll__10122 = this_sym10118__10121; | |
return coll__10122.cljs$core$ILookup$_lookup$arity$2(coll__10122, k) | |
}; | |
var G__10139__3 = function(this_sym10119, k, not_found) { | |
var this__10120 = this; | |
var this_sym10119__10123 = this; | |
var coll__10124 = this_sym10119__10123; | |
return coll__10124.cljs$core$ILookup$_lookup$arity$3(coll__10124, k, not_found) | |
}; | |
G__10139 = function(this_sym10119, k, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return G__10139__2.call(this, this_sym10119, k); | |
case 3: | |
return G__10139__3.call(this, this_sym10119, k, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__10139 | |
}(); | |
cljs.core.ObjMap.prototype.apply = function(this_sym10102, args10103) { | |
var this__10125 = this; | |
return this_sym10102.call.apply(this_sym10102, [this_sym10102].concat(args10103.slice())) | |
}; | |
cljs.core.ObjMap.prototype.cljs$core$ICollection$_conj$arity$2 = function(coll, entry) { | |
var this__10126 = this; | |
if(cljs.core.vector_QMARK_.call(null, entry)) { | |
return coll.cljs$core$IAssociative$_assoc$arity$3(coll, cljs.core._nth.call(null, entry, 0), cljs.core._nth.call(null, entry, 1)) | |
}else { | |
return cljs.core.reduce.call(null, cljs.core._conj, coll, entry) | |
} | |
}; | |
cljs.core.ObjMap.prototype.toString = function() { | |
var this__10127 = this; | |
var this__10128 = this; | |
return cljs.core.pr_str.call(null, this__10128) | |
}; | |
cljs.core.ObjMap.prototype.cljs$core$ISeqable$_seq$arity$1 = function(coll) { | |
var this__10129 = this; | |
if(this__10129.keys.length > 0) { | |
return cljs.core.map.call(null, function(p1__10092_SHARP_) { | |
return cljs.core.vector.call(null, p1__10092_SHARP_, this__10129.strobj[p1__10092_SHARP_]) | |
}, this__10129.keys.sort(cljs.core.obj_map_compare_keys)) | |
}else { | |
return null | |
} | |
}; | |
cljs.core.ObjMap.prototype.cljs$core$ICounted$_count$arity$1 = function(coll) { | |
var this__10130 = this; | |
return this__10130.keys.length | |
}; | |
cljs.core.ObjMap.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__10131 = this; | |
return cljs.core.equiv_map.call(null, coll, other) | |
}; | |
cljs.core.ObjMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(coll, meta) { | |
var this__10132 = this; | |
return new cljs.core.ObjMap(meta, this__10132.keys, this__10132.strobj, this__10132.update_count, this__10132.__hash) | |
}; | |
cljs.core.ObjMap.prototype.cljs$core$IMeta$_meta$arity$1 = function(coll) { | |
var this__10133 = this; | |
return this__10133.meta | |
}; | |
cljs.core.ObjMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = function(coll) { | |
var this__10134 = this; | |
return cljs.core.with_meta.call(null, cljs.core.ObjMap.EMPTY, this__10134.meta) | |
}; | |
cljs.core.ObjMap.prototype.cljs$core$IMap$_dissoc$arity$2 = function(coll, k) { | |
var this__10135 = this; | |
if(function() { | |
var and__3822__auto____10136 = goog.isString(k); | |
if(and__3822__auto____10136) { | |
return!(cljs.core.scan_array.call(null, 1, k, this__10135.keys) == null) | |
}else { | |
return and__3822__auto____10136 | |
} | |
}()) { | |
var new_keys__10137 = this__10135.keys.slice(); | |
var new_strobj__10138 = cljs.core.obj_clone.call(null, this__10135.strobj, this__10135.keys); | |
new_keys__10137.splice(cljs.core.scan_array.call(null, 1, k, new_keys__10137), 1); | |
cljs.core.js_delete.call(null, new_strobj__10138, k); | |
return new cljs.core.ObjMap(this__10135.meta, new_keys__10137, new_strobj__10138, this__10135.update_count + 1, null) | |
}else { | |
return coll | |
} | |
}; | |
cljs.core.ObjMap; | |
cljs.core.ObjMap.EMPTY = new cljs.core.ObjMap(null, [], {}, 0, 0); | |
cljs.core.ObjMap.HASHMAP_THRESHOLD = 32; | |
cljs.core.ObjMap.fromObject = function(ks, obj) { | |
return new cljs.core.ObjMap(null, ks, obj, 0, null) | |
}; | |
cljs.core.HashMap = function(meta, count, hashobj, __hash) { | |
this.meta = meta; | |
this.count = count; | |
this.hashobj = hashobj; | |
this.__hash = __hash; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 15075087 | |
}; | |
cljs.core.HashMap.cljs$lang$type = true; | |
cljs.core.HashMap.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/HashMap") | |
}; | |
cljs.core.HashMap.prototype.cljs$core$IHash$_hash$arity$1 = function(coll) { | |
var this__10143 = this; | |
var h__2216__auto____10144 = this__10143.__hash; | |
if(!(h__2216__auto____10144 == null)) { | |
return h__2216__auto____10144 | |
}else { | |
var h__2216__auto____10145 = cljs.core.hash_imap.call(null, coll); | |
this__10143.__hash = h__2216__auto____10145; | |
return h__2216__auto____10145 | |
} | |
}; | |
cljs.core.HashMap.prototype.cljs$core$ILookup$_lookup$arity$2 = function(coll, k) { | |
var this__10146 = this; | |
return coll.cljs$core$ILookup$_lookup$arity$3(coll, k, null) | |
}; | |
cljs.core.HashMap.prototype.cljs$core$ILookup$_lookup$arity$3 = function(coll, k, not_found) { | |
var this__10147 = this; | |
var bucket__10148 = this__10147.hashobj[cljs.core.hash.call(null, k)]; | |
var i__10149 = cljs.core.truth_(bucket__10148) ? cljs.core.scan_array.call(null, 2, k, bucket__10148) : null; | |
if(cljs.core.truth_(i__10149)) { | |
return bucket__10148[i__10149 + 1] | |
}else { | |
return not_found | |
} | |
}; | |
cljs.core.HashMap.prototype.cljs$core$IAssociative$_assoc$arity$3 = function(coll, k, v) { | |
var this__10150 = this; | |
var h__10151 = cljs.core.hash.call(null, k); | |
var bucket__10152 = this__10150.hashobj[h__10151]; | |
if(cljs.core.truth_(bucket__10152)) { | |
var new_bucket__10153 = bucket__10152.slice(); | |
var new_hashobj__10154 = goog.object.clone(this__10150.hashobj); | |
new_hashobj__10154[h__10151] = new_bucket__10153; | |
var temp__3971__auto____10155 = cljs.core.scan_array.call(null, 2, k, new_bucket__10153); | |
if(cljs.core.truth_(temp__3971__auto____10155)) { | |
var i__10156 = temp__3971__auto____10155; | |
new_bucket__10153[i__10156 + 1] = v; | |
return new cljs.core.HashMap(this__10150.meta, this__10150.count, new_hashobj__10154, null) | |
}else { | |
new_bucket__10153.push(k, v); | |
return new cljs.core.HashMap(this__10150.meta, this__10150.count + 1, new_hashobj__10154, null) | |
} | |
}else { | |
var new_hashobj__10157 = goog.object.clone(this__10150.hashobj); | |
new_hashobj__10157[h__10151] = [k, v]; | |
return new cljs.core.HashMap(this__10150.meta, this__10150.count + 1, new_hashobj__10157, null) | |
} | |
}; | |
cljs.core.HashMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 = function(coll, k) { | |
var this__10158 = this; | |
var bucket__10159 = this__10158.hashobj[cljs.core.hash.call(null, k)]; | |
var i__10160 = cljs.core.truth_(bucket__10159) ? cljs.core.scan_array.call(null, 2, k, bucket__10159) : null; | |
if(cljs.core.truth_(i__10160)) { | |
return true | |
}else { | |
return false | |
} | |
}; | |
cljs.core.HashMap.prototype.call = function() { | |
var G__10185 = null; | |
var G__10185__2 = function(this_sym10161, k) { | |
var this__10163 = this; | |
var this_sym10161__10164 = this; | |
var coll__10165 = this_sym10161__10164; | |
return coll__10165.cljs$core$ILookup$_lookup$arity$2(coll__10165, k) | |
}; | |
var G__10185__3 = function(this_sym10162, k, not_found) { | |
var this__10163 = this; | |
var this_sym10162__10166 = this; | |
var coll__10167 = this_sym10162__10166; | |
return coll__10167.cljs$core$ILookup$_lookup$arity$3(coll__10167, k, not_found) | |
}; | |
G__10185 = function(this_sym10162, k, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return G__10185__2.call(this, this_sym10162, k); | |
case 3: | |
return G__10185__3.call(this, this_sym10162, k, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__10185 | |
}(); | |
cljs.core.HashMap.prototype.apply = function(this_sym10141, args10142) { | |
var this__10168 = this; | |
return this_sym10141.call.apply(this_sym10141, [this_sym10141].concat(args10142.slice())) | |
}; | |
cljs.core.HashMap.prototype.cljs$core$ICollection$_conj$arity$2 = function(coll, entry) { | |
var this__10169 = this; | |
if(cljs.core.vector_QMARK_.call(null, entry)) { | |
return coll.cljs$core$IAssociative$_assoc$arity$3(coll, cljs.core._nth.call(null, entry, 0), cljs.core._nth.call(null, entry, 1)) | |
}else { | |
return cljs.core.reduce.call(null, cljs.core._conj, coll, entry) | |
} | |
}; | |
cljs.core.HashMap.prototype.toString = function() { | |
var this__10170 = this; | |
var this__10171 = this; | |
return cljs.core.pr_str.call(null, this__10171) | |
}; | |
cljs.core.HashMap.prototype.cljs$core$ISeqable$_seq$arity$1 = function(coll) { | |
var this__10172 = this; | |
if(this__10172.count > 0) { | |
var hashes__10173 = cljs.core.js_keys.call(null, this__10172.hashobj).sort(); | |
return cljs.core.mapcat.call(null, function(p1__10140_SHARP_) { | |
return cljs.core.map.call(null, cljs.core.vec, cljs.core.partition.call(null, 2, this__10172.hashobj[p1__10140_SHARP_])) | |
}, hashes__10173) | |
}else { | |
return null | |
} | |
}; | |
cljs.core.HashMap.prototype.cljs$core$ICounted$_count$arity$1 = function(coll) { | |
var this__10174 = this; | |
return this__10174.count | |
}; | |
cljs.core.HashMap.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__10175 = this; | |
return cljs.core.equiv_map.call(null, coll, other) | |
}; | |
cljs.core.HashMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(coll, meta) { | |
var this__10176 = this; | |
return new cljs.core.HashMap(meta, this__10176.count, this__10176.hashobj, this__10176.__hash) | |
}; | |
cljs.core.HashMap.prototype.cljs$core$IMeta$_meta$arity$1 = function(coll) { | |
var this__10177 = this; | |
return this__10177.meta | |
}; | |
cljs.core.HashMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = function(coll) { | |
var this__10178 = this; | |
return cljs.core.with_meta.call(null, cljs.core.HashMap.EMPTY, this__10178.meta) | |
}; | |
cljs.core.HashMap.prototype.cljs$core$IMap$_dissoc$arity$2 = function(coll, k) { | |
var this__10179 = this; | |
var h__10180 = cljs.core.hash.call(null, k); | |
var bucket__10181 = this__10179.hashobj[h__10180]; | |
var i__10182 = cljs.core.truth_(bucket__10181) ? cljs.core.scan_array.call(null, 2, k, bucket__10181) : null; | |
if(cljs.core.not.call(null, i__10182)) { | |
return coll | |
}else { | |
var new_hashobj__10183 = goog.object.clone(this__10179.hashobj); | |
if(3 > bucket__10181.length) { | |
cljs.core.js_delete.call(null, new_hashobj__10183, h__10180) | |
}else { | |
var new_bucket__10184 = bucket__10181.slice(); | |
new_bucket__10184.splice(i__10182, 2); | |
new_hashobj__10183[h__10180] = new_bucket__10184 | |
} | |
return new cljs.core.HashMap(this__10179.meta, this__10179.count - 1, new_hashobj__10183, null) | |
} | |
}; | |
cljs.core.HashMap; | |
cljs.core.HashMap.EMPTY = new cljs.core.HashMap(null, 0, {}, 0); | |
cljs.core.HashMap.fromArrays = function(ks, vs) { | |
var len__10186 = ks.length; | |
var i__10187 = 0; | |
var out__10188 = cljs.core.HashMap.EMPTY; | |
while(true) { | |
if(i__10187 < len__10186) { | |
var G__10189 = i__10187 + 1; | |
var G__10190 = cljs.core.assoc.call(null, out__10188, ks[i__10187], vs[i__10187]); | |
i__10187 = G__10189; | |
out__10188 = G__10190; | |
continue | |
}else { | |
return out__10188 | |
} | |
break | |
} | |
}; | |
cljs.core.array_map_index_of = function array_map_index_of(m, k) { | |
var arr__10194 = m.arr; | |
var len__10195 = arr__10194.length; | |
var i__10196 = 0; | |
while(true) { | |
if(len__10195 <= i__10196) { | |
return-1 | |
}else { | |
if(cljs.core._EQ_.call(null, arr__10194[i__10196], k)) { | |
return i__10196 | |
}else { | |
if("\ufdd0'else") { | |
var G__10197 = i__10196 + 2; | |
i__10196 = G__10197; | |
continue | |
}else { | |
return null | |
} | |
} | |
} | |
break | |
} | |
}; | |
cljs.core.PersistentArrayMap = function(meta, cnt, arr, __hash) { | |
this.meta = meta; | |
this.cnt = cnt; | |
this.arr = arr; | |
this.__hash = __hash; | |
this.cljs$lang$protocol_mask$partition1$ = 1; | |
this.cljs$lang$protocol_mask$partition0$ = 16123663 | |
}; | |
cljs.core.PersistentArrayMap.cljs$lang$type = true; | |
cljs.core.PersistentArrayMap.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/PersistentArrayMap") | |
}; | |
cljs.core.PersistentArrayMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 = function(coll) { | |
var this__10200 = this; | |
return new cljs.core.TransientArrayMap({}, this__10200.arr.length, this__10200.arr.slice()) | |
}; | |
cljs.core.PersistentArrayMap.prototype.cljs$core$IHash$_hash$arity$1 = function(coll) { | |
var this__10201 = this; | |
var h__2216__auto____10202 = this__10201.__hash; | |
if(!(h__2216__auto____10202 == null)) { | |
return h__2216__auto____10202 | |
}else { | |
var h__2216__auto____10203 = cljs.core.hash_imap.call(null, coll); | |
this__10201.__hash = h__2216__auto____10203; | |
return h__2216__auto____10203 | |
} | |
}; | |
cljs.core.PersistentArrayMap.prototype.cljs$core$ILookup$_lookup$arity$2 = function(coll, k) { | |
var this__10204 = this; | |
return coll.cljs$core$ILookup$_lookup$arity$3(coll, k, null) | |
}; | |
cljs.core.PersistentArrayMap.prototype.cljs$core$ILookup$_lookup$arity$3 = function(coll, k, not_found) { | |
var this__10205 = this; | |
var idx__10206 = cljs.core.array_map_index_of.call(null, coll, k); | |
if(idx__10206 === -1) { | |
return not_found | |
}else { | |
return this__10205.arr[idx__10206 + 1] | |
} | |
}; | |
cljs.core.PersistentArrayMap.prototype.cljs$core$IAssociative$_assoc$arity$3 = function(coll, k, v) { | |
var this__10207 = this; | |
var idx__10208 = cljs.core.array_map_index_of.call(null, coll, k); | |
if(idx__10208 === -1) { | |
if(this__10207.cnt < cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD) { | |
return new cljs.core.PersistentArrayMap(this__10207.meta, this__10207.cnt + 1, function() { | |
var G__10209__10210 = this__10207.arr.slice(); | |
G__10209__10210.push(k); | |
G__10209__10210.push(v); | |
return G__10209__10210 | |
}(), null) | |
}else { | |
return cljs.core.persistent_BANG_.call(null, cljs.core.assoc_BANG_.call(null, cljs.core.transient$.call(null, cljs.core.into.call(null, cljs.core.PersistentHashMap.EMPTY, coll)), k, v)) | |
} | |
}else { | |
if(v === this__10207.arr[idx__10208 + 1]) { | |
return coll | |
}else { | |
if("\ufdd0'else") { | |
return new cljs.core.PersistentArrayMap(this__10207.meta, this__10207.cnt, function() { | |
var G__10211__10212 = this__10207.arr.slice(); | |
G__10211__10212[idx__10208 + 1] = v; | |
return G__10211__10212 | |
}(), null) | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
cljs.core.PersistentArrayMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 = function(coll, k) { | |
var this__10213 = this; | |
return!(cljs.core.array_map_index_of.call(null, coll, k) === -1) | |
}; | |
cljs.core.PersistentArrayMap.prototype.call = function() { | |
var G__10245 = null; | |
var G__10245__2 = function(this_sym10214, k) { | |
var this__10216 = this; | |
var this_sym10214__10217 = this; | |
var coll__10218 = this_sym10214__10217; | |
return coll__10218.cljs$core$ILookup$_lookup$arity$2(coll__10218, k) | |
}; | |
var G__10245__3 = function(this_sym10215, k, not_found) { | |
var this__10216 = this; | |
var this_sym10215__10219 = this; | |
var coll__10220 = this_sym10215__10219; | |
return coll__10220.cljs$core$ILookup$_lookup$arity$3(coll__10220, k, not_found) | |
}; | |
G__10245 = function(this_sym10215, k, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return G__10245__2.call(this, this_sym10215, k); | |
case 3: | |
return G__10245__3.call(this, this_sym10215, k, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__10245 | |
}(); | |
cljs.core.PersistentArrayMap.prototype.apply = function(this_sym10198, args10199) { | |
var this__10221 = this; | |
return this_sym10198.call.apply(this_sym10198, [this_sym10198].concat(args10199.slice())) | |
}; | |
cljs.core.PersistentArrayMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 = function(coll, f, init) { | |
var this__10222 = this; | |
var len__10223 = this__10222.arr.length; | |
var i__10224 = 0; | |
var init__10225 = init; | |
while(true) { | |
if(i__10224 < len__10223) { | |
var init__10226 = f.call(null, init__10225, this__10222.arr[i__10224], this__10222.arr[i__10224 + 1]); | |
if(cljs.core.reduced_QMARK_.call(null, init__10226)) { | |
return cljs.core.deref.call(null, init__10226) | |
}else { | |
var G__10246 = i__10224 + 2; | |
var G__10247 = init__10226; | |
i__10224 = G__10246; | |
init__10225 = G__10247; | |
continue | |
} | |
}else { | |
return null | |
} | |
break | |
} | |
}; | |
cljs.core.PersistentArrayMap.prototype.cljs$core$ICollection$_conj$arity$2 = function(coll, entry) { | |
var this__10227 = this; | |
if(cljs.core.vector_QMARK_.call(null, entry)) { | |
return coll.cljs$core$IAssociative$_assoc$arity$3(coll, cljs.core._nth.call(null, entry, 0), cljs.core._nth.call(null, entry, 1)) | |
}else { | |
return cljs.core.reduce.call(null, cljs.core._conj, coll, entry) | |
} | |
}; | |
cljs.core.PersistentArrayMap.prototype.toString = function() { | |
var this__10228 = this; | |
var this__10229 = this; | |
return cljs.core.pr_str.call(null, this__10229) | |
}; | |
cljs.core.PersistentArrayMap.prototype.cljs$core$ISeqable$_seq$arity$1 = function(coll) { | |
var this__10230 = this; | |
if(this__10230.cnt > 0) { | |
var len__10231 = this__10230.arr.length; | |
var array_map_seq__10232 = function array_map_seq(i) { | |
return new cljs.core.LazySeq(null, false, function() { | |
if(i < len__10231) { | |
return cljs.core.cons.call(null, cljs.core.PersistentVector.fromArray([this__10230.arr[i], this__10230.arr[i + 1]], true), array_map_seq.call(null, i + 2)) | |
}else { | |
return null | |
} | |
}, null) | |
}; | |
return array_map_seq__10232.call(null, 0) | |
}else { | |
return null | |
} | |
}; | |
cljs.core.PersistentArrayMap.prototype.cljs$core$ICounted$_count$arity$1 = function(coll) { | |
var this__10233 = this; | |
return this__10233.cnt | |
}; | |
cljs.core.PersistentArrayMap.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__10234 = this; | |
return cljs.core.equiv_map.call(null, coll, other) | |
}; | |
cljs.core.PersistentArrayMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(coll, meta) { | |
var this__10235 = this; | |
return new cljs.core.PersistentArrayMap(meta, this__10235.cnt, this__10235.arr, this__10235.__hash) | |
}; | |
cljs.core.PersistentArrayMap.prototype.cljs$core$IMeta$_meta$arity$1 = function(coll) { | |
var this__10236 = this; | |
return this__10236.meta | |
}; | |
cljs.core.PersistentArrayMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = function(coll) { | |
var this__10237 = this; | |
return cljs.core._with_meta.call(null, cljs.core.PersistentArrayMap.EMPTY, this__10237.meta) | |
}; | |
cljs.core.PersistentArrayMap.prototype.cljs$core$IMap$_dissoc$arity$2 = function(coll, k) { | |
var this__10238 = this; | |
var idx__10239 = cljs.core.array_map_index_of.call(null, coll, k); | |
if(idx__10239 >= 0) { | |
var len__10240 = this__10238.arr.length; | |
var new_len__10241 = len__10240 - 2; | |
if(new_len__10241 === 0) { | |
return coll.cljs$core$IEmptyableCollection$_empty$arity$1(coll) | |
}else { | |
var new_arr__10242 = cljs.core.make_array.call(null, new_len__10241); | |
var s__10243 = 0; | |
var d__10244 = 0; | |
while(true) { | |
if(s__10243 >= len__10240) { | |
return new cljs.core.PersistentArrayMap(this__10238.meta, this__10238.cnt - 1, new_arr__10242, null) | |
}else { | |
if(cljs.core._EQ_.call(null, k, this__10238.arr[s__10243])) { | |
var G__10248 = s__10243 + 2; | |
var G__10249 = d__10244; | |
s__10243 = G__10248; | |
d__10244 = G__10249; | |
continue | |
}else { | |
if("\ufdd0'else") { | |
new_arr__10242[d__10244] = this__10238.arr[s__10243]; | |
new_arr__10242[d__10244 + 1] = this__10238.arr[s__10243 + 1]; | |
var G__10250 = s__10243 + 2; | |
var G__10251 = d__10244 + 2; | |
s__10243 = G__10250; | |
d__10244 = G__10251; | |
continue | |
}else { | |
return null | |
} | |
} | |
} | |
break | |
} | |
} | |
}else { | |
return coll | |
} | |
}; | |
cljs.core.PersistentArrayMap; | |
cljs.core.PersistentArrayMap.EMPTY = new cljs.core.PersistentArrayMap(null, 0, [], null); | |
cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD = 16; | |
cljs.core.PersistentArrayMap.fromArrays = function(ks, vs) { | |
var len__10252 = cljs.core.count.call(null, ks); | |
var i__10253 = 0; | |
var out__10254 = cljs.core.transient$.call(null, cljs.core.PersistentArrayMap.EMPTY); | |
while(true) { | |
if(i__10253 < len__10252) { | |
var G__10255 = i__10253 + 1; | |
var G__10256 = cljs.core.assoc_BANG_.call(null, out__10254, ks[i__10253], vs[i__10253]); | |
i__10253 = G__10255; | |
out__10254 = G__10256; | |
continue | |
}else { | |
return cljs.core.persistent_BANG_.call(null, out__10254) | |
} | |
break | |
} | |
}; | |
cljs.core.TransientArrayMap = function(editable_QMARK_, len, arr) { | |
this.editable_QMARK_ = editable_QMARK_; | |
this.len = len; | |
this.arr = arr; | |
this.cljs$lang$protocol_mask$partition1$ = 14; | |
this.cljs$lang$protocol_mask$partition0$ = 258 | |
}; | |
cljs.core.TransientArrayMap.cljs$lang$type = true; | |
cljs.core.TransientArrayMap.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/TransientArrayMap") | |
}; | |
cljs.core.TransientArrayMap.prototype.cljs$core$ITransientMap$_dissoc_BANG_$arity$2 = function(tcoll, key) { | |
var this__10257 = this; | |
if(cljs.core.truth_(this__10257.editable_QMARK_)) { | |
var idx__10258 = cljs.core.array_map_index_of.call(null, tcoll, key); | |
if(idx__10258 >= 0) { | |
this__10257.arr[idx__10258] = this__10257.arr[this__10257.len - 2]; | |
this__10257.arr[idx__10258 + 1] = this__10257.arr[this__10257.len - 1]; | |
var G__10259__10260 = this__10257.arr; | |
G__10259__10260.pop(); | |
G__10259__10260.pop(); | |
G__10259__10260; | |
this__10257.len = this__10257.len - 2 | |
}else { | |
} | |
return tcoll | |
}else { | |
throw new Error("dissoc! after persistent!"); | |
} | |
}; | |
cljs.core.TransientArrayMap.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 = function(tcoll, key, val) { | |
var this__10261 = this; | |
if(cljs.core.truth_(this__10261.editable_QMARK_)) { | |
var idx__10262 = cljs.core.array_map_index_of.call(null, tcoll, key); | |
if(idx__10262 === -1) { | |
if(this__10261.len + 2 <= 2 * cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD) { | |
this__10261.len = this__10261.len + 2; | |
this__10261.arr.push(key); | |
this__10261.arr.push(val); | |
return tcoll | |
}else { | |
return cljs.core.assoc_BANG_.call(null, cljs.core.array__GT_transient_hash_map.call(null, this__10261.len, this__10261.arr), key, val) | |
} | |
}else { | |
if(val === this__10261.arr[idx__10262 + 1]) { | |
return tcoll | |
}else { | |
this__10261.arr[idx__10262 + 1] = val; | |
return tcoll | |
} | |
} | |
}else { | |
throw new Error("assoc! after persistent!"); | |
} | |
}; | |
cljs.core.TransientArrayMap.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 = function(tcoll, o) { | |
var this__10263 = this; | |
if(cljs.core.truth_(this__10263.editable_QMARK_)) { | |
if(function() { | |
var G__10264__10265 = o; | |
if(G__10264__10265) { | |
if(function() { | |
var or__3824__auto____10266 = G__10264__10265.cljs$lang$protocol_mask$partition0$ & 2048; | |
if(or__3824__auto____10266) { | |
return or__3824__auto____10266 | |
}else { | |
return G__10264__10265.cljs$core$IMapEntry$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__10264__10265.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IMapEntry, G__10264__10265) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IMapEntry, G__10264__10265) | |
} | |
}()) { | |
return tcoll.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(tcoll, cljs.core.key.call(null, o), cljs.core.val.call(null, o)) | |
}else { | |
var es__10267 = cljs.core.seq.call(null, o); | |
var tcoll__10268 = tcoll; | |
while(true) { | |
var temp__3971__auto____10269 = cljs.core.first.call(null, es__10267); | |
if(cljs.core.truth_(temp__3971__auto____10269)) { | |
var e__10270 = temp__3971__auto____10269; | |
var G__10276 = cljs.core.next.call(null, es__10267); | |
var G__10277 = tcoll__10268.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(tcoll__10268, cljs.core.key.call(null, e__10270), cljs.core.val.call(null, e__10270)); | |
es__10267 = G__10276; | |
tcoll__10268 = G__10277; | |
continue | |
}else { | |
return tcoll__10268 | |
} | |
break | |
} | |
} | |
}else { | |
throw new Error("conj! after persistent!"); | |
} | |
}; | |
cljs.core.TransientArrayMap.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 = function(tcoll) { | |
var this__10271 = this; | |
if(cljs.core.truth_(this__10271.editable_QMARK_)) { | |
this__10271.editable_QMARK_ = false; | |
return new cljs.core.PersistentArrayMap(null, cljs.core.quot.call(null, this__10271.len, 2), this__10271.arr, null) | |
}else { | |
throw new Error("persistent! called twice"); | |
} | |
}; | |
cljs.core.TransientArrayMap.prototype.cljs$core$ILookup$_lookup$arity$2 = function(tcoll, k) { | |
var this__10272 = this; | |
return tcoll.cljs$core$ILookup$_lookup$arity$3(tcoll, k, null) | |
}; | |
cljs.core.TransientArrayMap.prototype.cljs$core$ILookup$_lookup$arity$3 = function(tcoll, k, not_found) { | |
var this__10273 = this; | |
if(cljs.core.truth_(this__10273.editable_QMARK_)) { | |
var idx__10274 = cljs.core.array_map_index_of.call(null, tcoll, k); | |
if(idx__10274 === -1) { | |
return not_found | |
}else { | |
return this__10273.arr[idx__10274 + 1] | |
} | |
}else { | |
throw new Error("lookup after persistent!"); | |
} | |
}; | |
cljs.core.TransientArrayMap.prototype.cljs$core$ICounted$_count$arity$1 = function(tcoll) { | |
var this__10275 = this; | |
if(cljs.core.truth_(this__10275.editable_QMARK_)) { | |
return cljs.core.quot.call(null, this__10275.len, 2) | |
}else { | |
throw new Error("count after persistent!"); | |
} | |
}; | |
cljs.core.TransientArrayMap; | |
cljs.core.array__GT_transient_hash_map = function array__GT_transient_hash_map(len, arr) { | |
var out__10280 = cljs.core.transient$.call(null, cljs.core.ObjMap.EMPTY); | |
var i__10281 = 0; | |
while(true) { | |
if(i__10281 < len) { | |
var G__10282 = cljs.core.assoc_BANG_.call(null, out__10280, arr[i__10281], arr[i__10281 + 1]); | |
var G__10283 = i__10281 + 2; | |
out__10280 = G__10282; | |
i__10281 = G__10283; | |
continue | |
}else { | |
return out__10280 | |
} | |
break | |
} | |
}; | |
cljs.core.Box = function(val) { | |
this.val = val | |
}; | |
cljs.core.Box.cljs$lang$type = true; | |
cljs.core.Box.cljs$lang$ctorPrSeq = function(this__2334__auto__) { | |
return cljs.core.list.call(null, "cljs.core/Box") | |
}; | |
cljs.core.Box; | |
cljs.core.key_test = function key_test(key, other) { | |
if(goog.isString(key)) { | |
return key === other | |
}else { | |
return cljs.core._EQ_.call(null, key, other) | |
} | |
}; | |
cljs.core.mask = function mask(hash, shift) { | |
return hash >>> shift & 31 | |
}; | |
cljs.core.clone_and_set = function() { | |
var clone_and_set = null; | |
var clone_and_set__3 = function(arr, i, a) { | |
var G__10288__10289 = arr.slice(); | |
G__10288__10289[i] = a; | |
return G__10288__10289 | |
}; | |
var clone_and_set__5 = function(arr, i, a, j, b) { | |
var G__10290__10291 = arr.slice(); | |
G__10290__10291[i] = a; | |
G__10290__10291[j] = b; | |
return G__10290__10291 | |
}; | |
clone_and_set = function(arr, i, a, j, b) { | |
switch(arguments.length) { | |
case 3: | |
return clone_and_set__3.call(this, arr, i, a); | |
case 5: | |
return clone_and_set__5.call(this, arr, i, a, j, b) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
clone_and_set.cljs$lang$arity$3 = clone_and_set__3; | |
clone_and_set.cljs$lang$arity$5 = clone_and_set__5; | |
return clone_and_set | |
}(); | |
cljs.core.remove_pair = function remove_pair(arr, i) { | |
var new_arr__10293 = cljs.core.make_array.call(null, arr.length - 2); | |
cljs.core.array_copy.call(null, arr, 0, new_arr__10293, 0, 2 * i); | |
cljs.core.array_copy.call(null, arr, 2 * (i + 1), new_arr__10293, 2 * i, new_arr__10293.length - 2 * i); | |
return new_arr__10293 | |
}; | |
cljs.core.bitmap_indexed_node_index = function bitmap_indexed_node_index(bitmap, bit) { | |
return cljs.core.bit_count.call(null, bitmap & bit - 1) | |
}; | |
cljs.core.bitpos = function bitpos(hash, shift) { | |
return 1 << (hash >>> shift & 31) | |
}; | |
cljs.core.edit_and_set = function() { | |
var edit_and_set = null; | |
var edit_and_set__4 = function(inode, edit, i, a) { | |
var editable__10296 = inode.ensure_editable(edit); | |
editable__10296.arr[i] = a; | |
return editable__10296 | |
}; | |
var edit_and_set__6 = function(inode, edit, i, a, j, b) { | |
var editable__10297 = inode.ensure_editable(edit); | |
editable__10297.arr[i] = a; | |
editable__10297.arr[j] = b; | |
return editable__10297 | |
}; | |
edit_and_set = function(inode, edit, i, a, j, b) { | |
switch(arguments.length) { | |
case 4: | |
return edit_and_set__4.call(this, inode, edit, i, a); | |
case 6: | |
return edit_and_set__6.call(this, inode, edit, i, a, j, b) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
edit_and_set.cljs$lang$arity$4 = edit_and_set__4; | |
edit_and_set.cljs$lang$arity$6 = edit_and_set__6; | |
return edit_and_set | |
}(); | |
cljs.core.inode_kv_reduce = function inode_kv_reduce(arr, f, init) { | |
var len__10304 = arr.length; | |
var i__10305 = 0; | |
var init__10306 = init; | |
while(true) { | |
if(i__10305 < len__10304) { | |
var init__10309 = function() { | |
var k__10307 = arr[i__10305]; | |
if(!(k__10307 == null)) { | |
return f.call(null, init__10306, k__10307, arr[i__10305 + 1]) | |
}else { | |
var node__10308 = arr[i__10305 + 1]; | |
if(!(node__10308 == null)) { | |
return node__10308.kv_reduce(f, init__10306) | |
}else { | |
return init__10306 | |
} | |
} | |
}(); | |
if(cljs.core.reduced_QMARK_.call(null, init__10309)) { | |
return cljs.core.deref.call(null, init__10309) | |
}else { | |
var G__10310 = i__10305 + 2; | |
var G__10311 = init__10309; | |
i__10305 = G__10310; | |
init__10306 = G__10311; | |
continue | |
} | |
}else { | |
return init__10306 | |
} | |
break | |
} | |
}; | |
cljs.core.BitmapIndexedNode = function(edit, bitmap, arr) { | |
this.edit = edit; | |
this.bitmap = bitmap; | |
this.arr = arr | |
}; | |
cljs.core.BitmapIndexedNode.cljs$lang$type = true; | |
cljs.core.BitmapIndexedNode.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/BitmapIndexedNode") | |
}; | |
cljs.core.BitmapIndexedNode.prototype.edit_and_remove_pair = function(e, bit, i) { | |
var this__10312 = this; | |
var inode__10313 = this; | |
if(this__10312.bitmap === bit) { | |
return null | |
}else { | |
var editable__10314 = inode__10313.ensure_editable(e); | |
var earr__10315 = editable__10314.arr; | |
var len__10316 = earr__10315.length; | |
editable__10314.bitmap = bit ^ editable__10314.bitmap; | |
cljs.core.array_copy.call(null, earr__10315, 2 * (i + 1), earr__10315, 2 * i, len__10316 - 2 * (i + 1)); | |
earr__10315[len__10316 - 2] = null; | |
earr__10315[len__10316 - 1] = null; | |
return editable__10314 | |
} | |
}; | |
cljs.core.BitmapIndexedNode.prototype.inode_assoc_BANG_ = function(edit, shift, hash, key, val, added_leaf_QMARK_) { | |
var this__10317 = this; | |
var inode__10318 = this; | |
var bit__10319 = 1 << (hash >>> shift & 31); | |
var idx__10320 = cljs.core.bitmap_indexed_node_index.call(null, this__10317.bitmap, bit__10319); | |
if((this__10317.bitmap & bit__10319) === 0) { | |
var n__10321 = cljs.core.bit_count.call(null, this__10317.bitmap); | |
if(2 * n__10321 < this__10317.arr.length) { | |
var editable__10322 = inode__10318.ensure_editable(edit); | |
var earr__10323 = editable__10322.arr; | |
added_leaf_QMARK_.val = true; | |
cljs.core.array_copy_downward.call(null, earr__10323, 2 * idx__10320, earr__10323, 2 * (idx__10320 + 1), 2 * (n__10321 - idx__10320)); | |
earr__10323[2 * idx__10320] = key; | |
earr__10323[2 * idx__10320 + 1] = val; | |
editable__10322.bitmap = editable__10322.bitmap | bit__10319; | |
return editable__10322 | |
}else { | |
if(n__10321 >= 16) { | |
var nodes__10324 = cljs.core.make_array.call(null, 32); | |
var jdx__10325 = hash >>> shift & 31; | |
nodes__10324[jdx__10325] = cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit, shift + 5, hash, key, val, added_leaf_QMARK_); | |
var i__10326 = 0; | |
var j__10327 = 0; | |
while(true) { | |
if(i__10326 < 32) { | |
if((this__10317.bitmap >>> i__10326 & 1) === 0) { | |
var G__10380 = i__10326 + 1; | |
var G__10381 = j__10327; | |
i__10326 = G__10380; | |
j__10327 = G__10381; | |
continue | |
}else { | |
nodes__10324[i__10326] = !(this__10317.arr[j__10327] == null) ? cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit, shift + 5, cljs.core.hash.call(null, this__10317.arr[j__10327]), this__10317.arr[j__10327], this__10317.arr[j__10327 + 1], added_leaf_QMARK_) : this__10317.arr[j__10327 + 1]; | |
var G__10382 = i__10326 + 1; | |
var G__10383 = j__10327 + 2; | |
i__10326 = G__10382; | |
j__10327 = G__10383; | |
continue | |
} | |
}else { | |
} | |
break | |
} | |
return new cljs.core.ArrayNode(edit, n__10321 + 1, nodes__10324) | |
}else { | |
if("\ufdd0'else") { | |
var new_arr__10328 = cljs.core.make_array.call(null, 2 * (n__10321 + 4)); | |
cljs.core.array_copy.call(null, this__10317.arr, 0, new_arr__10328, 0, 2 * idx__10320); | |
new_arr__10328[2 * idx__10320] = key; | |
new_arr__10328[2 * idx__10320 + 1] = val; | |
cljs.core.array_copy.call(null, this__10317.arr, 2 * idx__10320, new_arr__10328, 2 * (idx__10320 + 1), 2 * (n__10321 - idx__10320)); | |
added_leaf_QMARK_.val = true; | |
var editable__10329 = inode__10318.ensure_editable(edit); | |
editable__10329.arr = new_arr__10328; | |
editable__10329.bitmap = editable__10329.bitmap | bit__10319; | |
return editable__10329 | |
}else { | |
return null | |
} | |
} | |
} | |
}else { | |
var key_or_nil__10330 = this__10317.arr[2 * idx__10320]; | |
var val_or_node__10331 = this__10317.arr[2 * idx__10320 + 1]; | |
if(key_or_nil__10330 == null) { | |
var n__10332 = val_or_node__10331.inode_assoc_BANG_(edit, shift + 5, hash, key, val, added_leaf_QMARK_); | |
if(n__10332 === val_or_node__10331) { | |
return inode__10318 | |
}else { | |
return cljs.core.edit_and_set.call(null, inode__10318, edit, 2 * idx__10320 + 1, n__10332) | |
} | |
}else { | |
if(cljs.core.key_test.call(null, key, key_or_nil__10330)) { | |
if(val === val_or_node__10331) { | |
return inode__10318 | |
}else { | |
return cljs.core.edit_and_set.call(null, inode__10318, edit, 2 * idx__10320 + 1, val) | |
} | |
}else { | |
if("\ufdd0'else") { | |
added_leaf_QMARK_.val = true; | |
return cljs.core.edit_and_set.call(null, inode__10318, edit, 2 * idx__10320, null, 2 * idx__10320 + 1, cljs.core.create_node.call(null, edit, shift + 5, key_or_nil__10330, val_or_node__10331, hash, key, val)) | |
}else { | |
return null | |
} | |
} | |
} | |
} | |
}; | |
cljs.core.BitmapIndexedNode.prototype.inode_seq = function() { | |
var this__10333 = this; | |
var inode__10334 = this; | |
return cljs.core.create_inode_seq.call(null, this__10333.arr) | |
}; | |
cljs.core.BitmapIndexedNode.prototype.inode_without_BANG_ = function(edit, shift, hash, key, removed_leaf_QMARK_) { | |
var this__10335 = this; | |
var inode__10336 = this; | |
var bit__10337 = 1 << (hash >>> shift & 31); | |
if((this__10335.bitmap & bit__10337) === 0) { | |
return inode__10336 | |
}else { | |
var idx__10338 = cljs.core.bitmap_indexed_node_index.call(null, this__10335.bitmap, bit__10337); | |
var key_or_nil__10339 = this__10335.arr[2 * idx__10338]; | |
var val_or_node__10340 = this__10335.arr[2 * idx__10338 + 1]; | |
if(key_or_nil__10339 == null) { | |
var n__10341 = val_or_node__10340.inode_without_BANG_(edit, shift + 5, hash, key, removed_leaf_QMARK_); | |
if(n__10341 === val_or_node__10340) { | |
return inode__10336 | |
}else { | |
if(!(n__10341 == null)) { | |
return cljs.core.edit_and_set.call(null, inode__10336, edit, 2 * idx__10338 + 1, n__10341) | |
}else { | |
if(this__10335.bitmap === bit__10337) { | |
return null | |
}else { | |
if("\ufdd0'else") { | |
return inode__10336.edit_and_remove_pair(edit, bit__10337, idx__10338) | |
}else { | |
return null | |
} | |
} | |
} | |
} | |
}else { | |
if(cljs.core.key_test.call(null, key, key_or_nil__10339)) { | |
removed_leaf_QMARK_[0] = true; | |
return inode__10336.edit_and_remove_pair(edit, bit__10337, idx__10338) | |
}else { | |
if("\ufdd0'else") { | |
return inode__10336 | |
}else { | |
return null | |
} | |
} | |
} | |
} | |
}; | |
cljs.core.BitmapIndexedNode.prototype.ensure_editable = function(e) { | |
var this__10342 = this; | |
var inode__10343 = this; | |
if(e === this__10342.edit) { | |
return inode__10343 | |
}else { | |
var n__10344 = cljs.core.bit_count.call(null, this__10342.bitmap); | |
var new_arr__10345 = cljs.core.make_array.call(null, n__10344 < 0 ? 4 : 2 * (n__10344 + 1)); | |
cljs.core.array_copy.call(null, this__10342.arr, 0, new_arr__10345, 0, 2 * n__10344); | |
return new cljs.core.BitmapIndexedNode(e, this__10342.bitmap, new_arr__10345) | |
} | |
}; | |
cljs.core.BitmapIndexedNode.prototype.kv_reduce = function(f, init) { | |
var this__10346 = this; | |
var inode__10347 = this; | |
return cljs.core.inode_kv_reduce.call(null, this__10346.arr, f, init) | |
}; | |
cljs.core.BitmapIndexedNode.prototype.inode_find = function(shift, hash, key, not_found) { | |
var this__10348 = this; | |
var inode__10349 = this; | |
var bit__10350 = 1 << (hash >>> shift & 31); | |
if((this__10348.bitmap & bit__10350) === 0) { | |
return not_found | |
}else { | |
var idx__10351 = cljs.core.bitmap_indexed_node_index.call(null, this__10348.bitmap, bit__10350); | |
var key_or_nil__10352 = this__10348.arr[2 * idx__10351]; | |
var val_or_node__10353 = this__10348.arr[2 * idx__10351 + 1]; | |
if(key_or_nil__10352 == null) { | |
return val_or_node__10353.inode_find(shift + 5, hash, key, not_found) | |
}else { | |
if(cljs.core.key_test.call(null, key, key_or_nil__10352)) { | |
return cljs.core.PersistentVector.fromArray([key_or_nil__10352, val_or_node__10353], true) | |
}else { | |
if("\ufdd0'else") { | |
return not_found | |
}else { | |
return null | |
} | |
} | |
} | |
} | |
}; | |
cljs.core.BitmapIndexedNode.prototype.inode_without = function(shift, hash, key) { | |
var this__10354 = this; | |
var inode__10355 = this; | |
var bit__10356 = 1 << (hash >>> shift & 31); | |
if((this__10354.bitmap & bit__10356) === 0) { | |
return inode__10355 | |
}else { | |
var idx__10357 = cljs.core.bitmap_indexed_node_index.call(null, this__10354.bitmap, bit__10356); | |
var key_or_nil__10358 = this__10354.arr[2 * idx__10357]; | |
var val_or_node__10359 = this__10354.arr[2 * idx__10357 + 1]; | |
if(key_or_nil__10358 == null) { | |
var n__10360 = val_or_node__10359.inode_without(shift + 5, hash, key); | |
if(n__10360 === val_or_node__10359) { | |
return inode__10355 | |
}else { | |
if(!(n__10360 == null)) { | |
return new cljs.core.BitmapIndexedNode(null, this__10354.bitmap, cljs.core.clone_and_set.call(null, this__10354.arr, 2 * idx__10357 + 1, n__10360)) | |
}else { | |
if(this__10354.bitmap === bit__10356) { | |
return null | |
}else { | |
if("\ufdd0'else") { | |
return new cljs.core.BitmapIndexedNode(null, this__10354.bitmap ^ bit__10356, cljs.core.remove_pair.call(null, this__10354.arr, idx__10357)) | |
}else { | |
return null | |
} | |
} | |
} | |
} | |
}else { | |
if(cljs.core.key_test.call(null, key, key_or_nil__10358)) { | |
return new cljs.core.BitmapIndexedNode(null, this__10354.bitmap ^ bit__10356, cljs.core.remove_pair.call(null, this__10354.arr, idx__10357)) | |
}else { | |
if("\ufdd0'else") { | |
return inode__10355 | |
}else { | |
return null | |
} | |
} | |
} | |
} | |
}; | |
cljs.core.BitmapIndexedNode.prototype.inode_assoc = function(shift, hash, key, val, added_leaf_QMARK_) { | |
var this__10361 = this; | |
var inode__10362 = this; | |
var bit__10363 = 1 << (hash >>> shift & 31); | |
var idx__10364 = cljs.core.bitmap_indexed_node_index.call(null, this__10361.bitmap, bit__10363); | |
if((this__10361.bitmap & bit__10363) === 0) { | |
var n__10365 = cljs.core.bit_count.call(null, this__10361.bitmap); | |
if(n__10365 >= 16) { | |
var nodes__10366 = cljs.core.make_array.call(null, 32); | |
var jdx__10367 = hash >>> shift & 31; | |
nodes__10366[jdx__10367] = cljs.core.BitmapIndexedNode.EMPTY.inode_assoc(shift + 5, hash, key, val, added_leaf_QMARK_); | |
var i__10368 = 0; | |
var j__10369 = 0; | |
while(true) { | |
if(i__10368 < 32) { | |
if((this__10361.bitmap >>> i__10368 & 1) === 0) { | |
var G__10384 = i__10368 + 1; | |
var G__10385 = j__10369; | |
i__10368 = G__10384; | |
j__10369 = G__10385; | |
continue | |
}else { | |
nodes__10366[i__10368] = !(this__10361.arr[j__10369] == null) ? cljs.core.BitmapIndexedNode.EMPTY.inode_assoc(shift + 5, cljs.core.hash.call(null, this__10361.arr[j__10369]), this__10361.arr[j__10369], this__10361.arr[j__10369 + 1], added_leaf_QMARK_) : this__10361.arr[j__10369 + 1]; | |
var G__10386 = i__10368 + 1; | |
var G__10387 = j__10369 + 2; | |
i__10368 = G__10386; | |
j__10369 = G__10387; | |
continue | |
} | |
}else { | |
} | |
break | |
} | |
return new cljs.core.ArrayNode(null, n__10365 + 1, nodes__10366) | |
}else { | |
var new_arr__10370 = cljs.core.make_array.call(null, 2 * (n__10365 + 1)); | |
cljs.core.array_copy.call(null, this__10361.arr, 0, new_arr__10370, 0, 2 * idx__10364); | |
new_arr__10370[2 * idx__10364] = key; | |
new_arr__10370[2 * idx__10364 + 1] = val; | |
cljs.core.array_copy.call(null, this__10361.arr, 2 * idx__10364, new_arr__10370, 2 * (idx__10364 + 1), 2 * (n__10365 - idx__10364)); | |
added_leaf_QMARK_.val = true; | |
return new cljs.core.BitmapIndexedNode(null, this__10361.bitmap | bit__10363, new_arr__10370) | |
} | |
}else { | |
var key_or_nil__10371 = this__10361.arr[2 * idx__10364]; | |
var val_or_node__10372 = this__10361.arr[2 * idx__10364 + 1]; | |
if(key_or_nil__10371 == null) { | |
var n__10373 = val_or_node__10372.inode_assoc(shift + 5, hash, key, val, added_leaf_QMARK_); | |
if(n__10373 === val_or_node__10372) { | |
return inode__10362 | |
}else { | |
return new cljs.core.BitmapIndexedNode(null, this__10361.bitmap, cljs.core.clone_and_set.call(null, this__10361.arr, 2 * idx__10364 + 1, n__10373)) | |
} | |
}else { | |
if(cljs.core.key_test.call(null, key, key_or_nil__10371)) { | |
if(val === val_or_node__10372) { | |
return inode__10362 | |
}else { | |
return new cljs.core.BitmapIndexedNode(null, this__10361.bitmap, cljs.core.clone_and_set.call(null, this__10361.arr, 2 * idx__10364 + 1, val)) | |
} | |
}else { | |
if("\ufdd0'else") { | |
added_leaf_QMARK_.val = true; | |
return new cljs.core.BitmapIndexedNode(null, this__10361.bitmap, cljs.core.clone_and_set.call(null, this__10361.arr, 2 * idx__10364, null, 2 * idx__10364 + 1, cljs.core.create_node.call(null, shift + 5, key_or_nil__10371, val_or_node__10372, hash, key, val))) | |
}else { | |
return null | |
} | |
} | |
} | |
} | |
}; | |
cljs.core.BitmapIndexedNode.prototype.inode_lookup = function(shift, hash, key, not_found) { | |
var this__10374 = this; | |
var inode__10375 = this; | |
var bit__10376 = 1 << (hash >>> shift & 31); | |
if((this__10374.bitmap & bit__10376) === 0) { | |
return not_found | |
}else { | |
var idx__10377 = cljs.core.bitmap_indexed_node_index.call(null, this__10374.bitmap, bit__10376); | |
var key_or_nil__10378 = this__10374.arr[2 * idx__10377]; | |
var val_or_node__10379 = this__10374.arr[2 * idx__10377 + 1]; | |
if(key_or_nil__10378 == null) { | |
return val_or_node__10379.inode_lookup(shift + 5, hash, key, not_found) | |
}else { | |
if(cljs.core.key_test.call(null, key, key_or_nil__10378)) { | |
return val_or_node__10379 | |
}else { | |
if("\ufdd0'else") { | |
return not_found | |
}else { | |
return null | |
} | |
} | |
} | |
} | |
}; | |
cljs.core.BitmapIndexedNode; | |
cljs.core.BitmapIndexedNode.EMPTY = new cljs.core.BitmapIndexedNode(null, 0, cljs.core.make_array.call(null, 0)); | |
cljs.core.pack_array_node = function pack_array_node(array_node, edit, idx) { | |
var arr__10395 = array_node.arr; | |
var len__10396 = 2 * (array_node.cnt - 1); | |
var new_arr__10397 = cljs.core.make_array.call(null, len__10396); | |
var i__10398 = 0; | |
var j__10399 = 1; | |
var bitmap__10400 = 0; | |
while(true) { | |
if(i__10398 < len__10396) { | |
if(function() { | |
var and__3822__auto____10401 = !(i__10398 === idx); | |
if(and__3822__auto____10401) { | |
return!(arr__10395[i__10398] == null) | |
}else { | |
return and__3822__auto____10401 | |
} | |
}()) { | |
new_arr__10397[j__10399] = arr__10395[i__10398]; | |
var G__10402 = i__10398 + 1; | |
var G__10403 = j__10399 + 2; | |
var G__10404 = bitmap__10400 | 1 << i__10398; | |
i__10398 = G__10402; | |
j__10399 = G__10403; | |
bitmap__10400 = G__10404; | |
continue | |
}else { | |
var G__10405 = i__10398 + 1; | |
var G__10406 = j__10399; | |
var G__10407 = bitmap__10400; | |
i__10398 = G__10405; | |
j__10399 = G__10406; | |
bitmap__10400 = G__10407; | |
continue | |
} | |
}else { | |
return new cljs.core.BitmapIndexedNode(edit, bitmap__10400, new_arr__10397) | |
} | |
break | |
} | |
}; | |
cljs.core.ArrayNode = function(edit, cnt, arr) { | |
this.edit = edit; | |
this.cnt = cnt; | |
this.arr = arr | |
}; | |
cljs.core.ArrayNode.cljs$lang$type = true; | |
cljs.core.ArrayNode.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/ArrayNode") | |
}; | |
cljs.core.ArrayNode.prototype.inode_assoc_BANG_ = function(edit, shift, hash, key, val, added_leaf_QMARK_) { | |
var this__10408 = this; | |
var inode__10409 = this; | |
var idx__10410 = hash >>> shift & 31; | |
var node__10411 = this__10408.arr[idx__10410]; | |
if(node__10411 == null) { | |
var editable__10412 = cljs.core.edit_and_set.call(null, inode__10409, edit, idx__10410, cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit, shift + 5, hash, key, val, added_leaf_QMARK_)); | |
editable__10412.cnt = editable__10412.cnt + 1; | |
return editable__10412 | |
}else { | |
var n__10413 = node__10411.inode_assoc_BANG_(edit, shift + 5, hash, key, val, added_leaf_QMARK_); | |
if(n__10413 === node__10411) { | |
return inode__10409 | |
}else { | |
return cljs.core.edit_and_set.call(null, inode__10409, edit, idx__10410, n__10413) | |
} | |
} | |
}; | |
cljs.core.ArrayNode.prototype.inode_seq = function() { | |
var this__10414 = this; | |
var inode__10415 = this; | |
return cljs.core.create_array_node_seq.call(null, this__10414.arr) | |
}; | |
cljs.core.ArrayNode.prototype.inode_without_BANG_ = function(edit, shift, hash, key, removed_leaf_QMARK_) { | |
var this__10416 = this; | |
var inode__10417 = this; | |
var idx__10418 = hash >>> shift & 31; | |
var node__10419 = this__10416.arr[idx__10418]; | |
if(node__10419 == null) { | |
return inode__10417 | |
}else { | |
var n__10420 = node__10419.inode_without_BANG_(edit, shift + 5, hash, key, removed_leaf_QMARK_); | |
if(n__10420 === node__10419) { | |
return inode__10417 | |
}else { | |
if(n__10420 == null) { | |
if(this__10416.cnt <= 8) { | |
return cljs.core.pack_array_node.call(null, inode__10417, edit, idx__10418) | |
}else { | |
var editable__10421 = cljs.core.edit_and_set.call(null, inode__10417, edit, idx__10418, n__10420); | |
editable__10421.cnt = editable__10421.cnt - 1; | |
return editable__10421 | |
} | |
}else { | |
if("\ufdd0'else") { | |
return cljs.core.edit_and_set.call(null, inode__10417, edit, idx__10418, n__10420) | |
}else { | |
return null | |
} | |
} | |
} | |
} | |
}; | |
cljs.core.ArrayNode.prototype.ensure_editable = function(e) { | |
var this__10422 = this; | |
var inode__10423 = this; | |
if(e === this__10422.edit) { | |
return inode__10423 | |
}else { | |
return new cljs.core.ArrayNode(e, this__10422.cnt, this__10422.arr.slice()) | |
} | |
}; | |
cljs.core.ArrayNode.prototype.kv_reduce = function(f, init) { | |
var this__10424 = this; | |
var inode__10425 = this; | |
var len__10426 = this__10424.arr.length; | |
var i__10427 = 0; | |
var init__10428 = init; | |
while(true) { | |
if(i__10427 < len__10426) { | |
var node__10429 = this__10424.arr[i__10427]; | |
if(!(node__10429 == null)) { | |
var init__10430 = node__10429.kv_reduce(f, init__10428); | |
if(cljs.core.reduced_QMARK_.call(null, init__10430)) { | |
return cljs.core.deref.call(null, init__10430) | |
}else { | |
var G__10449 = i__10427 + 1; | |
var G__10450 = init__10430; | |
i__10427 = G__10449; | |
init__10428 = G__10450; | |
continue | |
} | |
}else { | |
return null | |
} | |
}else { | |
return init__10428 | |
} | |
break | |
} | |
}; | |
cljs.core.ArrayNode.prototype.inode_find = function(shift, hash, key, not_found) { | |
var this__10431 = this; | |
var inode__10432 = this; | |
var idx__10433 = hash >>> shift & 31; | |
var node__10434 = this__10431.arr[idx__10433]; | |
if(!(node__10434 == null)) { | |
return node__10434.inode_find(shift + 5, hash, key, not_found) | |
}else { | |
return not_found | |
} | |
}; | |
cljs.core.ArrayNode.prototype.inode_without = function(shift, hash, key) { | |
var this__10435 = this; | |
var inode__10436 = this; | |
var idx__10437 = hash >>> shift & 31; | |
var node__10438 = this__10435.arr[idx__10437]; | |
if(!(node__10438 == null)) { | |
var n__10439 = node__10438.inode_without(shift + 5, hash, key); | |
if(n__10439 === node__10438) { | |
return inode__10436 | |
}else { | |
if(n__10439 == null) { | |
if(this__10435.cnt <= 8) { | |
return cljs.core.pack_array_node.call(null, inode__10436, null, idx__10437) | |
}else { | |
return new cljs.core.ArrayNode(null, this__10435.cnt - 1, cljs.core.clone_and_set.call(null, this__10435.arr, idx__10437, n__10439)) | |
} | |
}else { | |
if("\ufdd0'else") { | |
return new cljs.core.ArrayNode(null, this__10435.cnt, cljs.core.clone_and_set.call(null, this__10435.arr, idx__10437, n__10439)) | |
}else { | |
return null | |
} | |
} | |
} | |
}else { | |
return inode__10436 | |
} | |
}; | |
cljs.core.ArrayNode.prototype.inode_assoc = function(shift, hash, key, val, added_leaf_QMARK_) { | |
var this__10440 = this; | |
var inode__10441 = this; | |
var idx__10442 = hash >>> shift & 31; | |
var node__10443 = this__10440.arr[idx__10442]; | |
if(node__10443 == null) { | |
return new cljs.core.ArrayNode(null, this__10440.cnt + 1, cljs.core.clone_and_set.call(null, this__10440.arr, idx__10442, cljs.core.BitmapIndexedNode.EMPTY.inode_assoc(shift + 5, hash, key, val, added_leaf_QMARK_))) | |
}else { | |
var n__10444 = node__10443.inode_assoc(shift + 5, hash, key, val, added_leaf_QMARK_); | |
if(n__10444 === node__10443) { | |
return inode__10441 | |
}else { | |
return new cljs.core.ArrayNode(null, this__10440.cnt, cljs.core.clone_and_set.call(null, this__10440.arr, idx__10442, n__10444)) | |
} | |
} | |
}; | |
cljs.core.ArrayNode.prototype.inode_lookup = function(shift, hash, key, not_found) { | |
var this__10445 = this; | |
var inode__10446 = this; | |
var idx__10447 = hash >>> shift & 31; | |
var node__10448 = this__10445.arr[idx__10447]; | |
if(!(node__10448 == null)) { | |
return node__10448.inode_lookup(shift + 5, hash, key, not_found) | |
}else { | |
return not_found | |
} | |
}; | |
cljs.core.ArrayNode; | |
cljs.core.hash_collision_node_find_index = function hash_collision_node_find_index(arr, cnt, key) { | |
var lim__10453 = 2 * cnt; | |
var i__10454 = 0; | |
while(true) { | |
if(i__10454 < lim__10453) { | |
if(cljs.core.key_test.call(null, key, arr[i__10454])) { | |
return i__10454 | |
}else { | |
var G__10455 = i__10454 + 2; | |
i__10454 = G__10455; | |
continue | |
} | |
}else { | |
return-1 | |
} | |
break | |
} | |
}; | |
cljs.core.HashCollisionNode = function(edit, collision_hash, cnt, arr) { | |
this.edit = edit; | |
this.collision_hash = collision_hash; | |
this.cnt = cnt; | |
this.arr = arr | |
}; | |
cljs.core.HashCollisionNode.cljs$lang$type = true; | |
cljs.core.HashCollisionNode.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/HashCollisionNode") | |
}; | |
cljs.core.HashCollisionNode.prototype.inode_assoc_BANG_ = function(edit, shift, hash, key, val, added_leaf_QMARK_) { | |
var this__10456 = this; | |
var inode__10457 = this; | |
if(hash === this__10456.collision_hash) { | |
var idx__10458 = cljs.core.hash_collision_node_find_index.call(null, this__10456.arr, this__10456.cnt, key); | |
if(idx__10458 === -1) { | |
if(this__10456.arr.length > 2 * this__10456.cnt) { | |
var editable__10459 = cljs.core.edit_and_set.call(null, inode__10457, edit, 2 * this__10456.cnt, key, 2 * this__10456.cnt + 1, val); | |
added_leaf_QMARK_.val = true; | |
editable__10459.cnt = editable__10459.cnt + 1; | |
return editable__10459 | |
}else { | |
var len__10460 = this__10456.arr.length; | |
var new_arr__10461 = cljs.core.make_array.call(null, len__10460 + 2); | |
cljs.core.array_copy.call(null, this__10456.arr, 0, new_arr__10461, 0, len__10460); | |
new_arr__10461[len__10460] = key; | |
new_arr__10461[len__10460 + 1] = val; | |
added_leaf_QMARK_.val = true; | |
return inode__10457.ensure_editable_array(edit, this__10456.cnt + 1, new_arr__10461) | |
} | |
}else { | |
if(this__10456.arr[idx__10458 + 1] === val) { | |
return inode__10457 | |
}else { | |
return cljs.core.edit_and_set.call(null, inode__10457, edit, idx__10458 + 1, val) | |
} | |
} | |
}else { | |
return(new cljs.core.BitmapIndexedNode(edit, 1 << (this__10456.collision_hash >>> shift & 31), [null, inode__10457, null, null])).inode_assoc_BANG_(edit, shift, hash, key, val, added_leaf_QMARK_) | |
} | |
}; | |
cljs.core.HashCollisionNode.prototype.inode_seq = function() { | |
var this__10462 = this; | |
var inode__10463 = this; | |
return cljs.core.create_inode_seq.call(null, this__10462.arr) | |
}; | |
cljs.core.HashCollisionNode.prototype.inode_without_BANG_ = function(edit, shift, hash, key, removed_leaf_QMARK_) { | |
var this__10464 = this; | |
var inode__10465 = this; | |
var idx__10466 = cljs.core.hash_collision_node_find_index.call(null, this__10464.arr, this__10464.cnt, key); | |
if(idx__10466 === -1) { | |
return inode__10465 | |
}else { | |
removed_leaf_QMARK_[0] = true; | |
if(this__10464.cnt === 1) { | |
return null | |
}else { | |
var editable__10467 = inode__10465.ensure_editable(edit); | |
var earr__10468 = editable__10467.arr; | |
earr__10468[idx__10466] = earr__10468[2 * this__10464.cnt - 2]; | |
earr__10468[idx__10466 + 1] = earr__10468[2 * this__10464.cnt - 1]; | |
earr__10468[2 * this__10464.cnt - 1] = null; | |
earr__10468[2 * this__10464.cnt - 2] = null; | |
editable__10467.cnt = editable__10467.cnt - 1; | |
return editable__10467 | |
} | |
} | |
}; | |
cljs.core.HashCollisionNode.prototype.ensure_editable = function(e) { | |
var this__10469 = this; | |
var inode__10470 = this; | |
if(e === this__10469.edit) { | |
return inode__10470 | |
}else { | |
var new_arr__10471 = cljs.core.make_array.call(null, 2 * (this__10469.cnt + 1)); | |
cljs.core.array_copy.call(null, this__10469.arr, 0, new_arr__10471, 0, 2 * this__10469.cnt); | |
return new cljs.core.HashCollisionNode(e, this__10469.collision_hash, this__10469.cnt, new_arr__10471) | |
} | |
}; | |
cljs.core.HashCollisionNode.prototype.kv_reduce = function(f, init) { | |
var this__10472 = this; | |
var inode__10473 = this; | |
return cljs.core.inode_kv_reduce.call(null, this__10472.arr, f, init) | |
}; | |
cljs.core.HashCollisionNode.prototype.inode_find = function(shift, hash, key, not_found) { | |
var this__10474 = this; | |
var inode__10475 = this; | |
var idx__10476 = cljs.core.hash_collision_node_find_index.call(null, this__10474.arr, this__10474.cnt, key); | |
if(idx__10476 < 0) { | |
return not_found | |
}else { | |
if(cljs.core.key_test.call(null, key, this__10474.arr[idx__10476])) { | |
return cljs.core.PersistentVector.fromArray([this__10474.arr[idx__10476], this__10474.arr[idx__10476 + 1]], true) | |
}else { | |
if("\ufdd0'else") { | |
return not_found | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
cljs.core.HashCollisionNode.prototype.inode_without = function(shift, hash, key) { | |
var this__10477 = this; | |
var inode__10478 = this; | |
var idx__10479 = cljs.core.hash_collision_node_find_index.call(null, this__10477.arr, this__10477.cnt, key); | |
if(idx__10479 === -1) { | |
return inode__10478 | |
}else { | |
if(this__10477.cnt === 1) { | |
return null | |
}else { | |
if("\ufdd0'else") { | |
return new cljs.core.HashCollisionNode(null, this__10477.collision_hash, this__10477.cnt - 1, cljs.core.remove_pair.call(null, this__10477.arr, cljs.core.quot.call(null, idx__10479, 2))) | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
cljs.core.HashCollisionNode.prototype.inode_assoc = function(shift, hash, key, val, added_leaf_QMARK_) { | |
var this__10480 = this; | |
var inode__10481 = this; | |
if(hash === this__10480.collision_hash) { | |
var idx__10482 = cljs.core.hash_collision_node_find_index.call(null, this__10480.arr, this__10480.cnt, key); | |
if(idx__10482 === -1) { | |
var len__10483 = this__10480.arr.length; | |
var new_arr__10484 = cljs.core.make_array.call(null, len__10483 + 2); | |
cljs.core.array_copy.call(null, this__10480.arr, 0, new_arr__10484, 0, len__10483); | |
new_arr__10484[len__10483] = key; | |
new_arr__10484[len__10483 + 1] = val; | |
added_leaf_QMARK_.val = true; | |
return new cljs.core.HashCollisionNode(null, this__10480.collision_hash, this__10480.cnt + 1, new_arr__10484) | |
}else { | |
if(cljs.core._EQ_.call(null, this__10480.arr[idx__10482], val)) { | |
return inode__10481 | |
}else { | |
return new cljs.core.HashCollisionNode(null, this__10480.collision_hash, this__10480.cnt, cljs.core.clone_and_set.call(null, this__10480.arr, idx__10482 + 1, val)) | |
} | |
} | |
}else { | |
return(new cljs.core.BitmapIndexedNode(null, 1 << (this__10480.collision_hash >>> shift & 31), [null, inode__10481])).inode_assoc(shift, hash, key, val, added_leaf_QMARK_) | |
} | |
}; | |
cljs.core.HashCollisionNode.prototype.inode_lookup = function(shift, hash, key, not_found) { | |
var this__10485 = this; | |
var inode__10486 = this; | |
var idx__10487 = cljs.core.hash_collision_node_find_index.call(null, this__10485.arr, this__10485.cnt, key); | |
if(idx__10487 < 0) { | |
return not_found | |
}else { | |
if(cljs.core.key_test.call(null, key, this__10485.arr[idx__10487])) { | |
return this__10485.arr[idx__10487 + 1] | |
}else { | |
if("\ufdd0'else") { | |
return not_found | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
cljs.core.HashCollisionNode.prototype.ensure_editable_array = function(e, count, array) { | |
var this__10488 = this; | |
var inode__10489 = this; | |
if(e === this__10488.edit) { | |
this__10488.arr = array; | |
this__10488.cnt = count; | |
return inode__10489 | |
}else { | |
return new cljs.core.HashCollisionNode(this__10488.edit, this__10488.collision_hash, count, array) | |
} | |
}; | |
cljs.core.HashCollisionNode; | |
cljs.core.create_node = function() { | |
var create_node = null; | |
var create_node__6 = function(shift, key1, val1, key2hash, key2, val2) { | |
var key1hash__10494 = cljs.core.hash.call(null, key1); | |
if(key1hash__10494 === key2hash) { | |
return new cljs.core.HashCollisionNode(null, key1hash__10494, 2, [key1, val1, key2, val2]) | |
}else { | |
var added_leaf_QMARK___10495 = new cljs.core.Box(false); | |
return cljs.core.BitmapIndexedNode.EMPTY.inode_assoc(shift, key1hash__10494, key1, val1, added_leaf_QMARK___10495).inode_assoc(shift, key2hash, key2, val2, added_leaf_QMARK___10495) | |
} | |
}; | |
var create_node__7 = function(edit, shift, key1, val1, key2hash, key2, val2) { | |
var key1hash__10496 = cljs.core.hash.call(null, key1); | |
if(key1hash__10496 === key2hash) { | |
return new cljs.core.HashCollisionNode(null, key1hash__10496, 2, [key1, val1, key2, val2]) | |
}else { | |
var added_leaf_QMARK___10497 = new cljs.core.Box(false); | |
return cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit, shift, key1hash__10496, key1, val1, added_leaf_QMARK___10497).inode_assoc_BANG_(edit, shift, key2hash, key2, val2, added_leaf_QMARK___10497) | |
} | |
}; | |
create_node = function(edit, shift, key1, val1, key2hash, key2, val2) { | |
switch(arguments.length) { | |
case 6: | |
return create_node__6.call(this, edit, shift, key1, val1, key2hash, key2); | |
case 7: | |
return create_node__7.call(this, edit, shift, key1, val1, key2hash, key2, val2) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
create_node.cljs$lang$arity$6 = create_node__6; | |
create_node.cljs$lang$arity$7 = create_node__7; | |
return create_node | |
}(); | |
cljs.core.NodeSeq = function(meta, nodes, i, s, __hash) { | |
this.meta = meta; | |
this.nodes = nodes; | |
this.i = i; | |
this.s = s; | |
this.__hash = __hash; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 31850572 | |
}; | |
cljs.core.NodeSeq.cljs$lang$type = true; | |
cljs.core.NodeSeq.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/NodeSeq") | |
}; | |
cljs.core.NodeSeq.prototype.cljs$core$IHash$_hash$arity$1 = function(coll) { | |
var this__10498 = this; | |
var h__2216__auto____10499 = this__10498.__hash; | |
if(!(h__2216__auto____10499 == null)) { | |
return h__2216__auto____10499 | |
}else { | |
var h__2216__auto____10500 = cljs.core.hash_coll.call(null, coll); | |
this__10498.__hash = h__2216__auto____10500; | |
return h__2216__auto____10500 | |
} | |
}; | |
cljs.core.NodeSeq.prototype.cljs$core$ICollection$_conj$arity$2 = function(coll, o) { | |
var this__10501 = this; | |
return cljs.core.cons.call(null, o, coll) | |
}; | |
cljs.core.NodeSeq.prototype.toString = function() { | |
var this__10502 = this; | |
var this__10503 = this; | |
return cljs.core.pr_str.call(null, this__10503) | |
}; | |
cljs.core.NodeSeq.prototype.cljs$core$ISeqable$_seq$arity$1 = function(this$) { | |
var this__10504 = this; | |
return this$ | |
}; | |
cljs.core.NodeSeq.prototype.cljs$core$ISeq$_first$arity$1 = function(coll) { | |
var this__10505 = this; | |
if(this__10505.s == null) { | |
return cljs.core.PersistentVector.fromArray([this__10505.nodes[this__10505.i], this__10505.nodes[this__10505.i + 1]], true) | |
}else { | |
return cljs.core.first.call(null, this__10505.s) | |
} | |
}; | |
cljs.core.NodeSeq.prototype.cljs$core$ISeq$_rest$arity$1 = function(coll) { | |
var this__10506 = this; | |
if(this__10506.s == null) { | |
return cljs.core.create_inode_seq.call(null, this__10506.nodes, this__10506.i + 2, null) | |
}else { | |
return cljs.core.create_inode_seq.call(null, this__10506.nodes, this__10506.i, cljs.core.next.call(null, this__10506.s)) | |
} | |
}; | |
cljs.core.NodeSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__10507 = this; | |
return cljs.core.equiv_sequential.call(null, coll, other) | |
}; | |
cljs.core.NodeSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(coll, meta) { | |
var this__10508 = this; | |
return new cljs.core.NodeSeq(meta, this__10508.nodes, this__10508.i, this__10508.s, this__10508.__hash) | |
}; | |
cljs.core.NodeSeq.prototype.cljs$core$IMeta$_meta$arity$1 = function(coll) { | |
var this__10509 = this; | |
return this__10509.meta | |
}; | |
cljs.core.NodeSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = function(coll) { | |
var this__10510 = this; | |
return cljs.core.with_meta.call(null, cljs.core.List.EMPTY, this__10510.meta) | |
}; | |
cljs.core.NodeSeq; | |
cljs.core.create_inode_seq = function() { | |
var create_inode_seq = null; | |
var create_inode_seq__1 = function(nodes) { | |
return create_inode_seq.call(null, nodes, 0, null) | |
}; | |
var create_inode_seq__3 = function(nodes, i, s) { | |
if(s == null) { | |
var len__10517 = nodes.length; | |
var j__10518 = i; | |
while(true) { | |
if(j__10518 < len__10517) { | |
if(!(nodes[j__10518] == null)) { | |
return new cljs.core.NodeSeq(null, nodes, j__10518, null, null) | |
}else { | |
var temp__3971__auto____10519 = nodes[j__10518 + 1]; | |
if(cljs.core.truth_(temp__3971__auto____10519)) { | |
var node__10520 = temp__3971__auto____10519; | |
var temp__3971__auto____10521 = node__10520.inode_seq(); | |
if(cljs.core.truth_(temp__3971__auto____10521)) { | |
var node_seq__10522 = temp__3971__auto____10521; | |
return new cljs.core.NodeSeq(null, nodes, j__10518 + 2, node_seq__10522, null) | |
}else { | |
var G__10523 = j__10518 + 2; | |
j__10518 = G__10523; | |
continue | |
} | |
}else { | |
var G__10524 = j__10518 + 2; | |
j__10518 = G__10524; | |
continue | |
} | |
} | |
}else { | |
return null | |
} | |
break | |
} | |
}else { | |
return new cljs.core.NodeSeq(null, nodes, i, s, null) | |
} | |
}; | |
create_inode_seq = function(nodes, i, s) { | |
switch(arguments.length) { | |
case 1: | |
return create_inode_seq__1.call(this, nodes); | |
case 3: | |
return create_inode_seq__3.call(this, nodes, i, s) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
create_inode_seq.cljs$lang$arity$1 = create_inode_seq__1; | |
create_inode_seq.cljs$lang$arity$3 = create_inode_seq__3; | |
return create_inode_seq | |
}(); | |
cljs.core.ArrayNodeSeq = function(meta, nodes, i, s, __hash) { | |
this.meta = meta; | |
this.nodes = nodes; | |
this.i = i; | |
this.s = s; | |
this.__hash = __hash; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 31850572 | |
}; | |
cljs.core.ArrayNodeSeq.cljs$lang$type = true; | |
cljs.core.ArrayNodeSeq.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/ArrayNodeSeq") | |
}; | |
cljs.core.ArrayNodeSeq.prototype.cljs$core$IHash$_hash$arity$1 = function(coll) { | |
var this__10525 = this; | |
var h__2216__auto____10526 = this__10525.__hash; | |
if(!(h__2216__auto____10526 == null)) { | |
return h__2216__auto____10526 | |
}else { | |
var h__2216__auto____10527 = cljs.core.hash_coll.call(null, coll); | |
this__10525.__hash = h__2216__auto____10527; | |
return h__2216__auto____10527 | |
} | |
}; | |
cljs.core.ArrayNodeSeq.prototype.cljs$core$ICollection$_conj$arity$2 = function(coll, o) { | |
var this__10528 = this; | |
return cljs.core.cons.call(null, o, coll) | |
}; | |
cljs.core.ArrayNodeSeq.prototype.toString = function() { | |
var this__10529 = this; | |
var this__10530 = this; | |
return cljs.core.pr_str.call(null, this__10530) | |
}; | |
cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeqable$_seq$arity$1 = function(this$) { | |
var this__10531 = this; | |
return this$ | |
}; | |
cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeq$_first$arity$1 = function(coll) { | |
var this__10532 = this; | |
return cljs.core.first.call(null, this__10532.s) | |
}; | |
cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeq$_rest$arity$1 = function(coll) { | |
var this__10533 = this; | |
return cljs.core.create_array_node_seq.call(null, null, this__10533.nodes, this__10533.i, cljs.core.next.call(null, this__10533.s)) | |
}; | |
cljs.core.ArrayNodeSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__10534 = this; | |
return cljs.core.equiv_sequential.call(null, coll, other) | |
}; | |
cljs.core.ArrayNodeSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(coll, meta) { | |
var this__10535 = this; | |
return new cljs.core.ArrayNodeSeq(meta, this__10535.nodes, this__10535.i, this__10535.s, this__10535.__hash) | |
}; | |
cljs.core.ArrayNodeSeq.prototype.cljs$core$IMeta$_meta$arity$1 = function(coll) { | |
var this__10536 = this; | |
return this__10536.meta | |
}; | |
cljs.core.ArrayNodeSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = function(coll) { | |
var this__10537 = this; | |
return cljs.core.with_meta.call(null, cljs.core.List.EMPTY, this__10537.meta) | |
}; | |
cljs.core.ArrayNodeSeq; | |
cljs.core.create_array_node_seq = function() { | |
var create_array_node_seq = null; | |
var create_array_node_seq__1 = function(nodes) { | |
return create_array_node_seq.call(null, null, nodes, 0, null) | |
}; | |
var create_array_node_seq__4 = function(meta, nodes, i, s) { | |
if(s == null) { | |
var len__10544 = nodes.length; | |
var j__10545 = i; | |
while(true) { | |
if(j__10545 < len__10544) { | |
var temp__3971__auto____10546 = nodes[j__10545]; | |
if(cljs.core.truth_(temp__3971__auto____10546)) { | |
var nj__10547 = temp__3971__auto____10546; | |
var temp__3971__auto____10548 = nj__10547.inode_seq(); | |
if(cljs.core.truth_(temp__3971__auto____10548)) { | |
var ns__10549 = temp__3971__auto____10548; | |
return new cljs.core.ArrayNodeSeq(meta, nodes, j__10545 + 1, ns__10549, null) | |
}else { | |
var G__10550 = j__10545 + 1; | |
j__10545 = G__10550; | |
continue | |
} | |
}else { | |
var G__10551 = j__10545 + 1; | |
j__10545 = G__10551; | |
continue | |
} | |
}else { | |
return null | |
} | |
break | |
} | |
}else { | |
return new cljs.core.ArrayNodeSeq(meta, nodes, i, s, null) | |
} | |
}; | |
create_array_node_seq = function(meta, nodes, i, s) { | |
switch(arguments.length) { | |
case 1: | |
return create_array_node_seq__1.call(this, meta); | |
case 4: | |
return create_array_node_seq__4.call(this, meta, nodes, i, s) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
create_array_node_seq.cljs$lang$arity$1 = create_array_node_seq__1; | |
create_array_node_seq.cljs$lang$arity$4 = create_array_node_seq__4; | |
return create_array_node_seq | |
}(); | |
cljs.core.PersistentHashMap = function(meta, cnt, root, has_nil_QMARK_, nil_val, __hash) { | |
this.meta = meta; | |
this.cnt = cnt; | |
this.root = root; | |
this.has_nil_QMARK_ = has_nil_QMARK_; | |
this.nil_val = nil_val; | |
this.__hash = __hash; | |
this.cljs$lang$protocol_mask$partition1$ = 1; | |
this.cljs$lang$protocol_mask$partition0$ = 16123663 | |
}; | |
cljs.core.PersistentHashMap.cljs$lang$type = true; | |
cljs.core.PersistentHashMap.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/PersistentHashMap") | |
}; | |
cljs.core.PersistentHashMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 = function(coll) { | |
var this__10554 = this; | |
return new cljs.core.TransientHashMap({}, this__10554.root, this__10554.cnt, this__10554.has_nil_QMARK_, this__10554.nil_val) | |
}; | |
cljs.core.PersistentHashMap.prototype.cljs$core$IHash$_hash$arity$1 = function(coll) { | |
var this__10555 = this; | |
var h__2216__auto____10556 = this__10555.__hash; | |
if(!(h__2216__auto____10556 == null)) { | |
return h__2216__auto____10556 | |
}else { | |
var h__2216__auto____10557 = cljs.core.hash_imap.call(null, coll); | |
this__10555.__hash = h__2216__auto____10557; | |
return h__2216__auto____10557 | |
} | |
}; | |
cljs.core.PersistentHashMap.prototype.cljs$core$ILookup$_lookup$arity$2 = function(coll, k) { | |
var this__10558 = this; | |
return coll.cljs$core$ILookup$_lookup$arity$3(coll, k, null) | |
}; | |
cljs.core.PersistentHashMap.prototype.cljs$core$ILookup$_lookup$arity$3 = function(coll, k, not_found) { | |
var this__10559 = this; | |
if(k == null) { | |
if(this__10559.has_nil_QMARK_) { | |
return this__10559.nil_val | |
}else { | |
return not_found | |
} | |
}else { | |
if(this__10559.root == null) { | |
return not_found | |
}else { | |
if("\ufdd0'else") { | |
return this__10559.root.inode_lookup(0, cljs.core.hash.call(null, k), k, not_found) | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
cljs.core.PersistentHashMap.prototype.cljs$core$IAssociative$_assoc$arity$3 = function(coll, k, v) { | |
var this__10560 = this; | |
if(k == null) { | |
if(function() { | |
var and__3822__auto____10561 = this__10560.has_nil_QMARK_; | |
if(and__3822__auto____10561) { | |
return v === this__10560.nil_val | |
}else { | |
return and__3822__auto____10561 | |
} | |
}()) { | |
return coll | |
}else { | |
return new cljs.core.PersistentHashMap(this__10560.meta, this__10560.has_nil_QMARK_ ? this__10560.cnt : this__10560.cnt + 1, this__10560.root, true, v, null) | |
} | |
}else { | |
var added_leaf_QMARK___10562 = new cljs.core.Box(false); | |
var new_root__10563 = (this__10560.root == null ? cljs.core.BitmapIndexedNode.EMPTY : this__10560.root).inode_assoc(0, cljs.core.hash.call(null, k), k, v, added_leaf_QMARK___10562); | |
if(new_root__10563 === this__10560.root) { | |
return coll | |
}else { | |
return new cljs.core.PersistentHashMap(this__10560.meta, added_leaf_QMARK___10562.val ? this__10560.cnt + 1 : this__10560.cnt, new_root__10563, this__10560.has_nil_QMARK_, this__10560.nil_val, null) | |
} | |
} | |
}; | |
cljs.core.PersistentHashMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 = function(coll, k) { | |
var this__10564 = this; | |
if(k == null) { | |
return this__10564.has_nil_QMARK_ | |
}else { | |
if(this__10564.root == null) { | |
return false | |
}else { | |
if("\ufdd0'else") { | |
return!(this__10564.root.inode_lookup(0, cljs.core.hash.call(null, k), k, cljs.core.lookup_sentinel) === cljs.core.lookup_sentinel) | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
cljs.core.PersistentHashMap.prototype.call = function() { | |
var G__10587 = null; | |
var G__10587__2 = function(this_sym10565, k) { | |
var this__10567 = this; | |
var this_sym10565__10568 = this; | |
var coll__10569 = this_sym10565__10568; | |
return coll__10569.cljs$core$ILookup$_lookup$arity$2(coll__10569, k) | |
}; | |
var G__10587__3 = function(this_sym10566, k, not_found) { | |
var this__10567 = this; | |
var this_sym10566__10570 = this; | |
var coll__10571 = this_sym10566__10570; | |
return coll__10571.cljs$core$ILookup$_lookup$arity$3(coll__10571, k, not_found) | |
}; | |
G__10587 = function(this_sym10566, k, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return G__10587__2.call(this, this_sym10566, k); | |
case 3: | |
return G__10587__3.call(this, this_sym10566, k, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__10587 | |
}(); | |
cljs.core.PersistentHashMap.prototype.apply = function(this_sym10552, args10553) { | |
var this__10572 = this; | |
return this_sym10552.call.apply(this_sym10552, [this_sym10552].concat(args10553.slice())) | |
}; | |
cljs.core.PersistentHashMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 = function(coll, f, init) { | |
var this__10573 = this; | |
var init__10574 = this__10573.has_nil_QMARK_ ? f.call(null, init, null, this__10573.nil_val) : init; | |
if(cljs.core.reduced_QMARK_.call(null, init__10574)) { | |
return cljs.core.deref.call(null, init__10574) | |
}else { | |
if(!(this__10573.root == null)) { | |
return this__10573.root.kv_reduce(f, init__10574) | |
}else { | |
if("\ufdd0'else") { | |
return init__10574 | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
cljs.core.PersistentHashMap.prototype.cljs$core$ICollection$_conj$arity$2 = function(coll, entry) { | |
var this__10575 = this; | |
if(cljs.core.vector_QMARK_.call(null, entry)) { | |
return coll.cljs$core$IAssociative$_assoc$arity$3(coll, cljs.core._nth.call(null, entry, 0), cljs.core._nth.call(null, entry, 1)) | |
}else { | |
return cljs.core.reduce.call(null, cljs.core._conj, coll, entry) | |
} | |
}; | |
cljs.core.PersistentHashMap.prototype.toString = function() { | |
var this__10576 = this; | |
var this__10577 = this; | |
return cljs.core.pr_str.call(null, this__10577) | |
}; | |
cljs.core.PersistentHashMap.prototype.cljs$core$ISeqable$_seq$arity$1 = function(coll) { | |
var this__10578 = this; | |
if(this__10578.cnt > 0) { | |
var s__10579 = !(this__10578.root == null) ? this__10578.root.inode_seq() : null; | |
if(this__10578.has_nil_QMARK_) { | |
return cljs.core.cons.call(null, cljs.core.PersistentVector.fromArray([null, this__10578.nil_val], true), s__10579) | |
}else { | |
return s__10579 | |
} | |
}else { | |
return null | |
} | |
}; | |
cljs.core.PersistentHashMap.prototype.cljs$core$ICounted$_count$arity$1 = function(coll) { | |
var this__10580 = this; | |
return this__10580.cnt | |
}; | |
cljs.core.PersistentHashMap.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__10581 = this; | |
return cljs.core.equiv_map.call(null, coll, other) | |
}; | |
cljs.core.PersistentHashMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(coll, meta) { | |
var this__10582 = this; | |
return new cljs.core.PersistentHashMap(meta, this__10582.cnt, this__10582.root, this__10582.has_nil_QMARK_, this__10582.nil_val, this__10582.__hash) | |
}; | |
cljs.core.PersistentHashMap.prototype.cljs$core$IMeta$_meta$arity$1 = function(coll) { | |
var this__10583 = this; | |
return this__10583.meta | |
}; | |
cljs.core.PersistentHashMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = function(coll) { | |
var this__10584 = this; | |
return cljs.core._with_meta.call(null, cljs.core.PersistentHashMap.EMPTY, this__10584.meta) | |
}; | |
cljs.core.PersistentHashMap.prototype.cljs$core$IMap$_dissoc$arity$2 = function(coll, k) { | |
var this__10585 = this; | |
if(k == null) { | |
if(this__10585.has_nil_QMARK_) { | |
return new cljs.core.PersistentHashMap(this__10585.meta, this__10585.cnt - 1, this__10585.root, false, null, null) | |
}else { | |
return coll | |
} | |
}else { | |
if(this__10585.root == null) { | |
return coll | |
}else { | |
if("\ufdd0'else") { | |
var new_root__10586 = this__10585.root.inode_without(0, cljs.core.hash.call(null, k), k); | |
if(new_root__10586 === this__10585.root) { | |
return coll | |
}else { | |
return new cljs.core.PersistentHashMap(this__10585.meta, this__10585.cnt - 1, new_root__10586, this__10585.has_nil_QMARK_, this__10585.nil_val, null) | |
} | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
cljs.core.PersistentHashMap; | |
cljs.core.PersistentHashMap.EMPTY = new cljs.core.PersistentHashMap(null, 0, null, false, null, 0); | |
cljs.core.PersistentHashMap.fromArrays = function(ks, vs) { | |
var len__10588 = ks.length; | |
var i__10589 = 0; | |
var out__10590 = cljs.core.transient$.call(null, cljs.core.PersistentHashMap.EMPTY); | |
while(true) { | |
if(i__10589 < len__10588) { | |
var G__10591 = i__10589 + 1; | |
var G__10592 = cljs.core.assoc_BANG_.call(null, out__10590, ks[i__10589], vs[i__10589]); | |
i__10589 = G__10591; | |
out__10590 = G__10592; | |
continue | |
}else { | |
return cljs.core.persistent_BANG_.call(null, out__10590) | |
} | |
break | |
} | |
}; | |
cljs.core.TransientHashMap = function(edit, root, count, has_nil_QMARK_, nil_val) { | |
this.edit = edit; | |
this.root = root; | |
this.count = count; | |
this.has_nil_QMARK_ = has_nil_QMARK_; | |
this.nil_val = nil_val; | |
this.cljs$lang$protocol_mask$partition1$ = 14; | |
this.cljs$lang$protocol_mask$partition0$ = 258 | |
}; | |
cljs.core.TransientHashMap.cljs$lang$type = true; | |
cljs.core.TransientHashMap.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/TransientHashMap") | |
}; | |
cljs.core.TransientHashMap.prototype.cljs$core$ITransientMap$_dissoc_BANG_$arity$2 = function(tcoll, key) { | |
var this__10593 = this; | |
return tcoll.without_BANG_(key) | |
}; | |
cljs.core.TransientHashMap.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 = function(tcoll, key, val) { | |
var this__10594 = this; | |
return tcoll.assoc_BANG_(key, val) | |
}; | |
cljs.core.TransientHashMap.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 = function(tcoll, val) { | |
var this__10595 = this; | |
return tcoll.conj_BANG_(val) | |
}; | |
cljs.core.TransientHashMap.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 = function(tcoll) { | |
var this__10596 = this; | |
return tcoll.persistent_BANG_() | |
}; | |
cljs.core.TransientHashMap.prototype.cljs$core$ILookup$_lookup$arity$2 = function(tcoll, k) { | |
var this__10597 = this; | |
if(k == null) { | |
if(this__10597.has_nil_QMARK_) { | |
return this__10597.nil_val | |
}else { | |
return null | |
} | |
}else { | |
if(this__10597.root == null) { | |
return null | |
}else { | |
return this__10597.root.inode_lookup(0, cljs.core.hash.call(null, k), k) | |
} | |
} | |
}; | |
cljs.core.TransientHashMap.prototype.cljs$core$ILookup$_lookup$arity$3 = function(tcoll, k, not_found) { | |
var this__10598 = this; | |
if(k == null) { | |
if(this__10598.has_nil_QMARK_) { | |
return this__10598.nil_val | |
}else { | |
return not_found | |
} | |
}else { | |
if(this__10598.root == null) { | |
return not_found | |
}else { | |
return this__10598.root.inode_lookup(0, cljs.core.hash.call(null, k), k, not_found) | |
} | |
} | |
}; | |
cljs.core.TransientHashMap.prototype.cljs$core$ICounted$_count$arity$1 = function(coll) { | |
var this__10599 = this; | |
if(this__10599.edit) { | |
return this__10599.count | |
}else { | |
throw new Error("count after persistent!"); | |
} | |
}; | |
cljs.core.TransientHashMap.prototype.conj_BANG_ = function(o) { | |
var this__10600 = this; | |
var tcoll__10601 = this; | |
if(this__10600.edit) { | |
if(function() { | |
var G__10602__10603 = o; | |
if(G__10602__10603) { | |
if(function() { | |
var or__3824__auto____10604 = G__10602__10603.cljs$lang$protocol_mask$partition0$ & 2048; | |
if(or__3824__auto____10604) { | |
return or__3824__auto____10604 | |
}else { | |
return G__10602__10603.cljs$core$IMapEntry$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__10602__10603.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IMapEntry, G__10602__10603) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IMapEntry, G__10602__10603) | |
} | |
}()) { | |
return tcoll__10601.assoc_BANG_(cljs.core.key.call(null, o), cljs.core.val.call(null, o)) | |
}else { | |
var es__10605 = cljs.core.seq.call(null, o); | |
var tcoll__10606 = tcoll__10601; | |
while(true) { | |
var temp__3971__auto____10607 = cljs.core.first.call(null, es__10605); | |
if(cljs.core.truth_(temp__3971__auto____10607)) { | |
var e__10608 = temp__3971__auto____10607; | |
var G__10619 = cljs.core.next.call(null, es__10605); | |
var G__10620 = tcoll__10606.assoc_BANG_(cljs.core.key.call(null, e__10608), cljs.core.val.call(null, e__10608)); | |
es__10605 = G__10619; | |
tcoll__10606 = G__10620; | |
continue | |
}else { | |
return tcoll__10606 | |
} | |
break | |
} | |
} | |
}else { | |
throw new Error("conj! after persistent"); | |
} | |
}; | |
cljs.core.TransientHashMap.prototype.assoc_BANG_ = function(k, v) { | |
var this__10609 = this; | |
var tcoll__10610 = this; | |
if(this__10609.edit) { | |
if(k == null) { | |
if(this__10609.nil_val === v) { | |
}else { | |
this__10609.nil_val = v | |
} | |
if(this__10609.has_nil_QMARK_) { | |
}else { | |
this__10609.count = this__10609.count + 1; | |
this__10609.has_nil_QMARK_ = true | |
} | |
return tcoll__10610 | |
}else { | |
var added_leaf_QMARK___10611 = new cljs.core.Box(false); | |
var node__10612 = (this__10609.root == null ? cljs.core.BitmapIndexedNode.EMPTY : this__10609.root).inode_assoc_BANG_(this__10609.edit, 0, cljs.core.hash.call(null, k), k, v, added_leaf_QMARK___10611); | |
if(node__10612 === this__10609.root) { | |
}else { | |
this__10609.root = node__10612 | |
} | |
if(added_leaf_QMARK___10611.val) { | |
this__10609.count = this__10609.count + 1 | |
}else { | |
} | |
return tcoll__10610 | |
} | |
}else { | |
throw new Error("assoc! after persistent!"); | |
} | |
}; | |
cljs.core.TransientHashMap.prototype.without_BANG_ = function(k) { | |
var this__10613 = this; | |
var tcoll__10614 = this; | |
if(this__10613.edit) { | |
if(k == null) { | |
if(this__10613.has_nil_QMARK_) { | |
this__10613.has_nil_QMARK_ = false; | |
this__10613.nil_val = null; | |
this__10613.count = this__10613.count - 1; | |
return tcoll__10614 | |
}else { | |
return tcoll__10614 | |
} | |
}else { | |
if(this__10613.root == null) { | |
return tcoll__10614 | |
}else { | |
var removed_leaf_QMARK___10615 = new cljs.core.Box(false); | |
var node__10616 = this__10613.root.inode_without_BANG_(this__10613.edit, 0, cljs.core.hash.call(null, k), k, removed_leaf_QMARK___10615); | |
if(node__10616 === this__10613.root) { | |
}else { | |
this__10613.root = node__10616 | |
} | |
if(cljs.core.truth_(removed_leaf_QMARK___10615[0])) { | |
this__10613.count = this__10613.count - 1 | |
}else { | |
} | |
return tcoll__10614 | |
} | |
} | |
}else { | |
throw new Error("dissoc! after persistent!"); | |
} | |
}; | |
cljs.core.TransientHashMap.prototype.persistent_BANG_ = function() { | |
var this__10617 = this; | |
var tcoll__10618 = this; | |
if(this__10617.edit) { | |
this__10617.edit = null; | |
return new cljs.core.PersistentHashMap(null, this__10617.count, this__10617.root, this__10617.has_nil_QMARK_, this__10617.nil_val, null) | |
}else { | |
throw new Error("persistent! called twice"); | |
} | |
}; | |
cljs.core.TransientHashMap; | |
cljs.core.tree_map_seq_push = function tree_map_seq_push(node, stack, ascending_QMARK_) { | |
var t__10623 = node; | |
var stack__10624 = stack; | |
while(true) { | |
if(!(t__10623 == null)) { | |
var G__10625 = ascending_QMARK_ ? t__10623.left : t__10623.right; | |
var G__10626 = cljs.core.conj.call(null, stack__10624, t__10623); | |
t__10623 = G__10625; | |
stack__10624 = G__10626; | |
continue | |
}else { | |
return stack__10624 | |
} | |
break | |
} | |
}; | |
cljs.core.PersistentTreeMapSeq = function(meta, stack, ascending_QMARK_, cnt, __hash) { | |
this.meta = meta; | |
this.stack = stack; | |
this.ascending_QMARK_ = ascending_QMARK_; | |
this.cnt = cnt; | |
this.__hash = __hash; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 31850570 | |
}; | |
cljs.core.PersistentTreeMapSeq.cljs$lang$type = true; | |
cljs.core.PersistentTreeMapSeq.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/PersistentTreeMapSeq") | |
}; | |
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IHash$_hash$arity$1 = function(coll) { | |
var this__10627 = this; | |
var h__2216__auto____10628 = this__10627.__hash; | |
if(!(h__2216__auto____10628 == null)) { | |
return h__2216__auto____10628 | |
}else { | |
var h__2216__auto____10629 = cljs.core.hash_coll.call(null, coll); | |
this__10627.__hash = h__2216__auto____10629; | |
return h__2216__auto____10629 | |
} | |
}; | |
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ICollection$_conj$arity$2 = function(coll, o) { | |
var this__10630 = this; | |
return cljs.core.cons.call(null, o, coll) | |
}; | |
cljs.core.PersistentTreeMapSeq.prototype.toString = function() { | |
var this__10631 = this; | |
var this__10632 = this; | |
return cljs.core.pr_str.call(null, this__10632) | |
}; | |
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeqable$_seq$arity$1 = function(this$) { | |
var this__10633 = this; | |
return this$ | |
}; | |
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ICounted$_count$arity$1 = function(coll) { | |
var this__10634 = this; | |
if(this__10634.cnt < 0) { | |
return cljs.core.count.call(null, cljs.core.next.call(null, coll)) + 1 | |
}else { | |
return this__10634.cnt | |
} | |
}; | |
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeq$_first$arity$1 = function(this$) { | |
var this__10635 = this; | |
return cljs.core.peek.call(null, this__10635.stack) | |
}; | |
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeq$_rest$arity$1 = function(this$) { | |
var this__10636 = this; | |
var t__10637 = cljs.core.first.call(null, this__10636.stack); | |
var next_stack__10638 = cljs.core.tree_map_seq_push.call(null, this__10636.ascending_QMARK_ ? t__10637.right : t__10637.left, cljs.core.next.call(null, this__10636.stack), this__10636.ascending_QMARK_); | |
if(!(next_stack__10638 == null)) { | |
return new cljs.core.PersistentTreeMapSeq(null, next_stack__10638, this__10636.ascending_QMARK_, this__10636.cnt - 1, null) | |
}else { | |
return cljs.core.List.EMPTY | |
} | |
}; | |
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__10639 = this; | |
return cljs.core.equiv_sequential.call(null, coll, other) | |
}; | |
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(coll, meta) { | |
var this__10640 = this; | |
return new cljs.core.PersistentTreeMapSeq(meta, this__10640.stack, this__10640.ascending_QMARK_, this__10640.cnt, this__10640.__hash) | |
}; | |
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IMeta$_meta$arity$1 = function(coll) { | |
var this__10641 = this; | |
return this__10641.meta | |
}; | |
cljs.core.PersistentTreeMapSeq; | |
cljs.core.create_tree_map_seq = function create_tree_map_seq(tree, ascending_QMARK_, cnt) { | |
return new cljs.core.PersistentTreeMapSeq(null, cljs.core.tree_map_seq_push.call(null, tree, null, ascending_QMARK_), ascending_QMARK_, cnt, null) | |
}; | |
cljs.core.balance_left = function balance_left(key, val, ins, right) { | |
if(cljs.core.instance_QMARK_.call(null, cljs.core.RedNode, ins)) { | |
if(cljs.core.instance_QMARK_.call(null, cljs.core.RedNode, ins.left)) { | |
return new cljs.core.RedNode(ins.key, ins.val, ins.left.blacken(), new cljs.core.BlackNode(key, val, ins.right, right, null), null) | |
}else { | |
if(cljs.core.instance_QMARK_.call(null, cljs.core.RedNode, ins.right)) { | |
return new cljs.core.RedNode(ins.right.key, ins.right.val, new cljs.core.BlackNode(ins.key, ins.val, ins.left, ins.right.left, null), new cljs.core.BlackNode(key, val, ins.right.right, right, null), null) | |
}else { | |
if("\ufdd0'else") { | |
return new cljs.core.BlackNode(key, val, ins, right, null) | |
}else { | |
return null | |
} | |
} | |
} | |
}else { | |
return new cljs.core.BlackNode(key, val, ins, right, null) | |
} | |
}; | |
cljs.core.balance_right = function balance_right(key, val, left, ins) { | |
if(cljs.core.instance_QMARK_.call(null, cljs.core.RedNode, ins)) { | |
if(cljs.core.instance_QMARK_.call(null, cljs.core.RedNode, ins.right)) { | |
return new cljs.core.RedNode(ins.key, ins.val, new cljs.core.BlackNode(key, val, left, ins.left, null), ins.right.blacken(), null) | |
}else { | |
if(cljs.core.instance_QMARK_.call(null, cljs.core.RedNode, ins.left)) { | |
return new cljs.core.RedNode(ins.left.key, ins.left.val, new cljs.core.BlackNode(key, val, left, ins.left.left, null), new cljs.core.BlackNode(ins.key, ins.val, ins.left.right, ins.right, null), null) | |
}else { | |
if("\ufdd0'else") { | |
return new cljs.core.BlackNode(key, val, left, ins, null) | |
}else { | |
return null | |
} | |
} | |
} | |
}else { | |
return new cljs.core.BlackNode(key, val, left, ins, null) | |
} | |
}; | |
cljs.core.balance_left_del = function balance_left_del(key, val, del, right) { | |
if(cljs.core.instance_QMARK_.call(null, cljs.core.RedNode, del)) { | |
return new cljs.core.RedNode(key, val, del.blacken(), right, null) | |
}else { | |
if(cljs.core.instance_QMARK_.call(null, cljs.core.BlackNode, right)) { | |
return cljs.core.balance_right.call(null, key, val, del, right.redden()) | |
}else { | |
if(function() { | |
var and__3822__auto____10643 = cljs.core.instance_QMARK_.call(null, cljs.core.RedNode, right); | |
if(and__3822__auto____10643) { | |
return cljs.core.instance_QMARK_.call(null, cljs.core.BlackNode, right.left) | |
}else { | |
return and__3822__auto____10643 | |
} | |
}()) { | |
return new cljs.core.RedNode(right.left.key, right.left.val, new cljs.core.BlackNode(key, val, del, right.left.left, null), cljs.core.balance_right.call(null, right.key, right.val, right.left.right, right.right.redden()), null) | |
}else { | |
if("\ufdd0'else") { | |
throw new Error("red-black tree invariant violation"); | |
}else { | |
return null | |
} | |
} | |
} | |
} | |
}; | |
cljs.core.balance_right_del = function balance_right_del(key, val, left, del) { | |
if(cljs.core.instance_QMARK_.call(null, cljs.core.RedNode, del)) { | |
return new cljs.core.RedNode(key, val, left, del.blacken(), null) | |
}else { | |
if(cljs.core.instance_QMARK_.call(null, cljs.core.BlackNode, left)) { | |
return cljs.core.balance_left.call(null, key, val, left.redden(), del) | |
}else { | |
if(function() { | |
var and__3822__auto____10645 = cljs.core.instance_QMARK_.call(null, cljs.core.RedNode, left); | |
if(and__3822__auto____10645) { | |
return cljs.core.instance_QMARK_.call(null, cljs.core.BlackNode, left.right) | |
}else { | |
return and__3822__auto____10645 | |
} | |
}()) { | |
return new cljs.core.RedNode(left.right.key, left.right.val, cljs.core.balance_left.call(null, left.key, left.val, left.left.redden(), left.right.left), new cljs.core.BlackNode(key, val, left.right.right, del, null), null) | |
}else { | |
if("\ufdd0'else") { | |
throw new Error("red-black tree invariant violation"); | |
}else { | |
return null | |
} | |
} | |
} | |
} | |
}; | |
cljs.core.tree_map_kv_reduce = function tree_map_kv_reduce(node, f, init) { | |
var init__10649 = f.call(null, init, node.key, node.val); | |
if(cljs.core.reduced_QMARK_.call(null, init__10649)) { | |
return cljs.core.deref.call(null, init__10649) | |
}else { | |
var init__10650 = !(node.left == null) ? tree_map_kv_reduce.call(null, node.left, f, init__10649) : init__10649; | |
if(cljs.core.reduced_QMARK_.call(null, init__10650)) { | |
return cljs.core.deref.call(null, init__10650) | |
}else { | |
var init__10651 = !(node.right == null) ? tree_map_kv_reduce.call(null, node.right, f, init__10650) : init__10650; | |
if(cljs.core.reduced_QMARK_.call(null, init__10651)) { | |
return cljs.core.deref.call(null, init__10651) | |
}else { | |
return init__10651 | |
} | |
} | |
} | |
}; | |
cljs.core.BlackNode = function(key, val, left, right, __hash) { | |
this.key = key; | |
this.val = val; | |
this.left = left; | |
this.right = right; | |
this.__hash = __hash; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 32402207 | |
}; | |
cljs.core.BlackNode.cljs$lang$type = true; | |
cljs.core.BlackNode.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/BlackNode") | |
}; | |
cljs.core.BlackNode.prototype.cljs$core$IHash$_hash$arity$1 = function(coll) { | |
var this__10654 = this; | |
var h__2216__auto____10655 = this__10654.__hash; | |
if(!(h__2216__auto____10655 == null)) { | |
return h__2216__auto____10655 | |
}else { | |
var h__2216__auto____10656 = cljs.core.hash_coll.call(null, coll); | |
this__10654.__hash = h__2216__auto____10656; | |
return h__2216__auto____10656 | |
} | |
}; | |
cljs.core.BlackNode.prototype.cljs$core$ILookup$_lookup$arity$2 = function(node, k) { | |
var this__10657 = this; | |
return node.cljs$core$IIndexed$_nth$arity$3(node, k, null) | |
}; | |
cljs.core.BlackNode.prototype.cljs$core$ILookup$_lookup$arity$3 = function(node, k, not_found) { | |
var this__10658 = this; | |
return node.cljs$core$IIndexed$_nth$arity$3(node, k, not_found) | |
}; | |
cljs.core.BlackNode.prototype.cljs$core$IAssociative$_assoc$arity$3 = function(node, k, v) { | |
var this__10659 = this; | |
return cljs.core.assoc.call(null, cljs.core.PersistentVector.fromArray([this__10659.key, this__10659.val], true), k, v) | |
}; | |
cljs.core.BlackNode.prototype.call = function() { | |
var G__10707 = null; | |
var G__10707__2 = function(this_sym10660, k) { | |
var this__10662 = this; | |
var this_sym10660__10663 = this; | |
var node__10664 = this_sym10660__10663; | |
return node__10664.cljs$core$ILookup$_lookup$arity$2(node__10664, k) | |
}; | |
var G__10707__3 = function(this_sym10661, k, not_found) { | |
var this__10662 = this; | |
var this_sym10661__10665 = this; | |
var node__10666 = this_sym10661__10665; | |
return node__10666.cljs$core$ILookup$_lookup$arity$3(node__10666, k, not_found) | |
}; | |
G__10707 = function(this_sym10661, k, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return G__10707__2.call(this, this_sym10661, k); | |
case 3: | |
return G__10707__3.call(this, this_sym10661, k, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__10707 | |
}(); | |
cljs.core.BlackNode.prototype.apply = function(this_sym10652, args10653) { | |
var this__10667 = this; | |
return this_sym10652.call.apply(this_sym10652, [this_sym10652].concat(args10653.slice())) | |
}; | |
cljs.core.BlackNode.prototype.cljs$core$ICollection$_conj$arity$2 = function(node, o) { | |
var this__10668 = this; | |
return cljs.core.PersistentVector.fromArray([this__10668.key, this__10668.val, o], true) | |
}; | |
cljs.core.BlackNode.prototype.cljs$core$IMapEntry$_key$arity$1 = function(node) { | |
var this__10669 = this; | |
return this__10669.key | |
}; | |
cljs.core.BlackNode.prototype.cljs$core$IMapEntry$_val$arity$1 = function(node) { | |
var this__10670 = this; | |
return this__10670.val | |
}; | |
cljs.core.BlackNode.prototype.add_right = function(ins) { | |
var this__10671 = this; | |
var node__10672 = this; | |
return ins.balance_right(node__10672) | |
}; | |
cljs.core.BlackNode.prototype.redden = function() { | |
var this__10673 = this; | |
var node__10674 = this; | |
return new cljs.core.RedNode(this__10673.key, this__10673.val, this__10673.left, this__10673.right, null) | |
}; | |
cljs.core.BlackNode.prototype.remove_right = function(del) { | |
var this__10675 = this; | |
var node__10676 = this; | |
return cljs.core.balance_right_del.call(null, this__10675.key, this__10675.val, this__10675.left, del) | |
}; | |
cljs.core.BlackNode.prototype.replace = function(key, val, left, right) { | |
var this__10677 = this; | |
var node__10678 = this; | |
return new cljs.core.BlackNode(key, val, left, right, null) | |
}; | |
cljs.core.BlackNode.prototype.kv_reduce = function(f, init) { | |
var this__10679 = this; | |
var node__10680 = this; | |
return cljs.core.tree_map_kv_reduce.call(null, node__10680, f, init) | |
}; | |
cljs.core.BlackNode.prototype.remove_left = function(del) { | |
var this__10681 = this; | |
var node__10682 = this; | |
return cljs.core.balance_left_del.call(null, this__10681.key, this__10681.val, del, this__10681.right) | |
}; | |
cljs.core.BlackNode.prototype.add_left = function(ins) { | |
var this__10683 = this; | |
var node__10684 = this; | |
return ins.balance_left(node__10684) | |
}; | |
cljs.core.BlackNode.prototype.balance_left = function(parent) { | |
var this__10685 = this; | |
var node__10686 = this; | |
return new cljs.core.BlackNode(parent.key, parent.val, node__10686, parent.right, null) | |
}; | |
cljs.core.BlackNode.prototype.toString = function() { | |
var G__10708 = null; | |
var G__10708__0 = function() { | |
var this__10687 = this; | |
var this__10689 = this; | |
return cljs.core.pr_str.call(null, this__10689) | |
}; | |
G__10708 = function() { | |
switch(arguments.length) { | |
case 0: | |
return G__10708__0.call(this) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__10708 | |
}(); | |
cljs.core.BlackNode.prototype.balance_right = function(parent) { | |
var this__10690 = this; | |
var node__10691 = this; | |
return new cljs.core.BlackNode(parent.key, parent.val, parent.left, node__10691, null) | |
}; | |
cljs.core.BlackNode.prototype.blacken = function() { | |
var this__10692 = this; | |
var node__10693 = this; | |
return node__10693 | |
}; | |
cljs.core.BlackNode.prototype.cljs$core$IReduce$_reduce$arity$2 = function(node, f) { | |
var this__10694 = this; | |
return cljs.core.ci_reduce.call(null, node, f) | |
}; | |
cljs.core.BlackNode.prototype.cljs$core$IReduce$_reduce$arity$3 = function(node, f, start) { | |
var this__10695 = this; | |
return cljs.core.ci_reduce.call(null, node, f, start) | |
}; | |
cljs.core.BlackNode.prototype.cljs$core$ISeqable$_seq$arity$1 = function(node) { | |
var this__10696 = this; | |
return cljs.core.list.call(null, this__10696.key, this__10696.val) | |
}; | |
cljs.core.BlackNode.prototype.cljs$core$ICounted$_count$arity$1 = function(node) { | |
var this__10697 = this; | |
return 2 | |
}; | |
cljs.core.BlackNode.prototype.cljs$core$IStack$_peek$arity$1 = function(node) { | |
var this__10698 = this; | |
return this__10698.val | |
}; | |
cljs.core.BlackNode.prototype.cljs$core$IStack$_pop$arity$1 = function(node) { | |
var this__10699 = this; | |
return cljs.core.PersistentVector.fromArray([this__10699.key], true) | |
}; | |
cljs.core.BlackNode.prototype.cljs$core$IVector$_assoc_n$arity$3 = function(node, n, v) { | |
var this__10700 = this; | |
return cljs.core._assoc_n.call(null, cljs.core.PersistentVector.fromArray([this__10700.key, this__10700.val], true), n, v) | |
}; | |
cljs.core.BlackNode.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__10701 = this; | |
return cljs.core.equiv_sequential.call(null, coll, other) | |
}; | |
cljs.core.BlackNode.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(node, meta) { | |
var this__10702 = this; | |
return cljs.core.with_meta.call(null, cljs.core.PersistentVector.fromArray([this__10702.key, this__10702.val], true), meta) | |
}; | |
cljs.core.BlackNode.prototype.cljs$core$IMeta$_meta$arity$1 = function(node) { | |
var this__10703 = this; | |
return null | |
}; | |
cljs.core.BlackNode.prototype.cljs$core$IIndexed$_nth$arity$2 = function(node, n) { | |
var this__10704 = this; | |
if(n === 0) { | |
return this__10704.key | |
}else { | |
if(n === 1) { | |
return this__10704.val | |
}else { | |
if("\ufdd0'else") { | |
return null | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
cljs.core.BlackNode.prototype.cljs$core$IIndexed$_nth$arity$3 = function(node, n, not_found) { | |
var this__10705 = this; | |
if(n === 0) { | |
return this__10705.key | |
}else { | |
if(n === 1) { | |
return this__10705.val | |
}else { | |
if("\ufdd0'else") { | |
return not_found | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
cljs.core.BlackNode.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = function(node) { | |
var this__10706 = this; | |
return cljs.core.PersistentVector.EMPTY | |
}; | |
cljs.core.BlackNode; | |
cljs.core.RedNode = function(key, val, left, right, __hash) { | |
this.key = key; | |
this.val = val; | |
this.left = left; | |
this.right = right; | |
this.__hash = __hash; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 32402207 | |
}; | |
cljs.core.RedNode.cljs$lang$type = true; | |
cljs.core.RedNode.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/RedNode") | |
}; | |
cljs.core.RedNode.prototype.cljs$core$IHash$_hash$arity$1 = function(coll) { | |
var this__10711 = this; | |
var h__2216__auto____10712 = this__10711.__hash; | |
if(!(h__2216__auto____10712 == null)) { | |
return h__2216__auto____10712 | |
}else { | |
var h__2216__auto____10713 = cljs.core.hash_coll.call(null, coll); | |
this__10711.__hash = h__2216__auto____10713; | |
return h__2216__auto____10713 | |
} | |
}; | |
cljs.core.RedNode.prototype.cljs$core$ILookup$_lookup$arity$2 = function(node, k) { | |
var this__10714 = this; | |
return node.cljs$core$IIndexed$_nth$arity$3(node, k, null) | |
}; | |
cljs.core.RedNode.prototype.cljs$core$ILookup$_lookup$arity$3 = function(node, k, not_found) { | |
var this__10715 = this; | |
return node.cljs$core$IIndexed$_nth$arity$3(node, k, not_found) | |
}; | |
cljs.core.RedNode.prototype.cljs$core$IAssociative$_assoc$arity$3 = function(node, k, v) { | |
var this__10716 = this; | |
return cljs.core.assoc.call(null, cljs.core.PersistentVector.fromArray([this__10716.key, this__10716.val], true), k, v) | |
}; | |
cljs.core.RedNode.prototype.call = function() { | |
var G__10764 = null; | |
var G__10764__2 = function(this_sym10717, k) { | |
var this__10719 = this; | |
var this_sym10717__10720 = this; | |
var node__10721 = this_sym10717__10720; | |
return node__10721.cljs$core$ILookup$_lookup$arity$2(node__10721, k) | |
}; | |
var G__10764__3 = function(this_sym10718, k, not_found) { | |
var this__10719 = this; | |
var this_sym10718__10722 = this; | |
var node__10723 = this_sym10718__10722; | |
return node__10723.cljs$core$ILookup$_lookup$arity$3(node__10723, k, not_found) | |
}; | |
G__10764 = function(this_sym10718, k, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return G__10764__2.call(this, this_sym10718, k); | |
case 3: | |
return G__10764__3.call(this, this_sym10718, k, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__10764 | |
}(); | |
cljs.core.RedNode.prototype.apply = function(this_sym10709, args10710) { | |
var this__10724 = this; | |
return this_sym10709.call.apply(this_sym10709, [this_sym10709].concat(args10710.slice())) | |
}; | |
cljs.core.RedNode.prototype.cljs$core$ICollection$_conj$arity$2 = function(node, o) { | |
var this__10725 = this; | |
return cljs.core.PersistentVector.fromArray([this__10725.key, this__10725.val, o], true) | |
}; | |
cljs.core.RedNode.prototype.cljs$core$IMapEntry$_key$arity$1 = function(node) { | |
var this__10726 = this; | |
return this__10726.key | |
}; | |
cljs.core.RedNode.prototype.cljs$core$IMapEntry$_val$arity$1 = function(node) { | |
var this__10727 = this; | |
return this__10727.val | |
}; | |
cljs.core.RedNode.prototype.add_right = function(ins) { | |
var this__10728 = this; | |
var node__10729 = this; | |
return new cljs.core.RedNode(this__10728.key, this__10728.val, this__10728.left, ins, null) | |
}; | |
cljs.core.RedNode.prototype.redden = function() { | |
var this__10730 = this; | |
var node__10731 = this; | |
throw new Error("red-black tree invariant violation"); | |
}; | |
cljs.core.RedNode.prototype.remove_right = function(del) { | |
var this__10732 = this; | |
var node__10733 = this; | |
return new cljs.core.RedNode(this__10732.key, this__10732.val, this__10732.left, del, null) | |
}; | |
cljs.core.RedNode.prototype.replace = function(key, val, left, right) { | |
var this__10734 = this; | |
var node__10735 = this; | |
return new cljs.core.RedNode(key, val, left, right, null) | |
}; | |
cljs.core.RedNode.prototype.kv_reduce = function(f, init) { | |
var this__10736 = this; | |
var node__10737 = this; | |
return cljs.core.tree_map_kv_reduce.call(null, node__10737, f, init) | |
}; | |
cljs.core.RedNode.prototype.remove_left = function(del) { | |
var this__10738 = this; | |
var node__10739 = this; | |
return new cljs.core.RedNode(this__10738.key, this__10738.val, del, this__10738.right, null) | |
}; | |
cljs.core.RedNode.prototype.add_left = function(ins) { | |
var this__10740 = this; | |
var node__10741 = this; | |
return new cljs.core.RedNode(this__10740.key, this__10740.val, ins, this__10740.right, null) | |
}; | |
cljs.core.RedNode.prototype.balance_left = function(parent) { | |
var this__10742 = this; | |
var node__10743 = this; | |
if(cljs.core.instance_QMARK_.call(null, cljs.core.RedNode, this__10742.left)) { | |
return new cljs.core.RedNode(this__10742.key, this__10742.val, this__10742.left.blacken(), new cljs.core.BlackNode(parent.key, parent.val, this__10742.right, parent.right, null), null) | |
}else { | |
if(cljs.core.instance_QMARK_.call(null, cljs.core.RedNode, this__10742.right)) { | |
return new cljs.core.RedNode(this__10742.right.key, this__10742.right.val, new cljs.core.BlackNode(this__10742.key, this__10742.val, this__10742.left, this__10742.right.left, null), new cljs.core.BlackNode(parent.key, parent.val, this__10742.right.right, parent.right, null), null) | |
}else { | |
if("\ufdd0'else") { | |
return new cljs.core.BlackNode(parent.key, parent.val, node__10743, parent.right, null) | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
cljs.core.RedNode.prototype.toString = function() { | |
var G__10765 = null; | |
var G__10765__0 = function() { | |
var this__10744 = this; | |
var this__10746 = this; | |
return cljs.core.pr_str.call(null, this__10746) | |
}; | |
G__10765 = function() { | |
switch(arguments.length) { | |
case 0: | |
return G__10765__0.call(this) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__10765 | |
}(); | |
cljs.core.RedNode.prototype.balance_right = function(parent) { | |
var this__10747 = this; | |
var node__10748 = this; | |
if(cljs.core.instance_QMARK_.call(null, cljs.core.RedNode, this__10747.right)) { | |
return new cljs.core.RedNode(this__10747.key, this__10747.val, new cljs.core.BlackNode(parent.key, parent.val, parent.left, this__10747.left, null), this__10747.right.blacken(), null) | |
}else { | |
if(cljs.core.instance_QMARK_.call(null, cljs.core.RedNode, this__10747.left)) { | |
return new cljs.core.RedNode(this__10747.left.key, this__10747.left.val, new cljs.core.BlackNode(parent.key, parent.val, parent.left, this__10747.left.left, null), new cljs.core.BlackNode(this__10747.key, this__10747.val, this__10747.left.right, this__10747.right, null), null) | |
}else { | |
if("\ufdd0'else") { | |
return new cljs.core.BlackNode(parent.key, parent.val, parent.left, node__10748, null) | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
cljs.core.RedNode.prototype.blacken = function() { | |
var this__10749 = this; | |
var node__10750 = this; | |
return new cljs.core.BlackNode(this__10749.key, this__10749.val, this__10749.left, this__10749.right, null) | |
}; | |
cljs.core.RedNode.prototype.cljs$core$IReduce$_reduce$arity$2 = function(node, f) { | |
var this__10751 = this; | |
return cljs.core.ci_reduce.call(null, node, f) | |
}; | |
cljs.core.RedNode.prototype.cljs$core$IReduce$_reduce$arity$3 = function(node, f, start) { | |
var this__10752 = this; | |
return cljs.core.ci_reduce.call(null, node, f, start) | |
}; | |
cljs.core.RedNode.prototype.cljs$core$ISeqable$_seq$arity$1 = function(node) { | |
var this__10753 = this; | |
return cljs.core.list.call(null, this__10753.key, this__10753.val) | |
}; | |
cljs.core.RedNode.prototype.cljs$core$ICounted$_count$arity$1 = function(node) { | |
var this__10754 = this; | |
return 2 | |
}; | |
cljs.core.RedNode.prototype.cljs$core$IStack$_peek$arity$1 = function(node) { | |
var this__10755 = this; | |
return this__10755.val | |
}; | |
cljs.core.RedNode.prototype.cljs$core$IStack$_pop$arity$1 = function(node) { | |
var this__10756 = this; | |
return cljs.core.PersistentVector.fromArray([this__10756.key], true) | |
}; | |
cljs.core.RedNode.prototype.cljs$core$IVector$_assoc_n$arity$3 = function(node, n, v) { | |
var this__10757 = this; | |
return cljs.core._assoc_n.call(null, cljs.core.PersistentVector.fromArray([this__10757.key, this__10757.val], true), n, v) | |
}; | |
cljs.core.RedNode.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__10758 = this; | |
return cljs.core.equiv_sequential.call(null, coll, other) | |
}; | |
cljs.core.RedNode.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(node, meta) { | |
var this__10759 = this; | |
return cljs.core.with_meta.call(null, cljs.core.PersistentVector.fromArray([this__10759.key, this__10759.val], true), meta) | |
}; | |
cljs.core.RedNode.prototype.cljs$core$IMeta$_meta$arity$1 = function(node) { | |
var this__10760 = this; | |
return null | |
}; | |
cljs.core.RedNode.prototype.cljs$core$IIndexed$_nth$arity$2 = function(node, n) { | |
var this__10761 = this; | |
if(n === 0) { | |
return this__10761.key | |
}else { | |
if(n === 1) { | |
return this__10761.val | |
}else { | |
if("\ufdd0'else") { | |
return null | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
cljs.core.RedNode.prototype.cljs$core$IIndexed$_nth$arity$3 = function(node, n, not_found) { | |
var this__10762 = this; | |
if(n === 0) { | |
return this__10762.key | |
}else { | |
if(n === 1) { | |
return this__10762.val | |
}else { | |
if("\ufdd0'else") { | |
return not_found | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
cljs.core.RedNode.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = function(node) { | |
var this__10763 = this; | |
return cljs.core.PersistentVector.EMPTY | |
}; | |
cljs.core.RedNode; | |
cljs.core.tree_map_add = function tree_map_add(comp, tree, k, v, found) { | |
if(tree == null) { | |
return new cljs.core.RedNode(k, v, null, null, null) | |
}else { | |
var c__10769 = comp.call(null, k, tree.key); | |
if(c__10769 === 0) { | |
found[0] = tree; | |
return null | |
}else { | |
if(c__10769 < 0) { | |
var ins__10770 = tree_map_add.call(null, comp, tree.left, k, v, found); | |
if(!(ins__10770 == null)) { | |
return tree.add_left(ins__10770) | |
}else { | |
return null | |
} | |
}else { | |
if("\ufdd0'else") { | |
var ins__10771 = tree_map_add.call(null, comp, tree.right, k, v, found); | |
if(!(ins__10771 == null)) { | |
return tree.add_right(ins__10771) | |
}else { | |
return null | |
} | |
}else { | |
return null | |
} | |
} | |
} | |
} | |
}; | |
cljs.core.tree_map_append = function tree_map_append(left, right) { | |
if(left == null) { | |
return right | |
}else { | |
if(right == null) { | |
return left | |
}else { | |
if(cljs.core.instance_QMARK_.call(null, cljs.core.RedNode, left)) { | |
if(cljs.core.instance_QMARK_.call(null, cljs.core.RedNode, right)) { | |
var app__10774 = tree_map_append.call(null, left.right, right.left); | |
if(cljs.core.instance_QMARK_.call(null, cljs.core.RedNode, app__10774)) { | |
return new cljs.core.RedNode(app__10774.key, app__10774.val, new cljs.core.RedNode(left.key, left.val, left.left, app__10774.left, null), new cljs.core.RedNode(right.key, right.val, app__10774.right, right.right, null), null) | |
}else { | |
return new cljs.core.RedNode(left.key, left.val, left.left, new cljs.core.RedNode(right.key, right.val, app__10774, right.right, null), null) | |
} | |
}else { | |
return new cljs.core.RedNode(left.key, left.val, left.left, tree_map_append.call(null, left.right, right), null) | |
} | |
}else { | |
if(cljs.core.instance_QMARK_.call(null, cljs.core.RedNode, right)) { | |
return new cljs.core.RedNode(right.key, right.val, tree_map_append.call(null, left, right.left), right.right, null) | |
}else { | |
if("\ufdd0'else") { | |
var app__10775 = tree_map_append.call(null, left.right, right.left); | |
if(cljs.core.instance_QMARK_.call(null, cljs.core.RedNode, app__10775)) { | |
return new cljs.core.RedNode(app__10775.key, app__10775.val, new cljs.core.BlackNode(left.key, left.val, left.left, app__10775.left, null), new cljs.core.BlackNode(right.key, right.val, app__10775.right, right.right, null), null) | |
}else { | |
return cljs.core.balance_left_del.call(null, left.key, left.val, left.left, new cljs.core.BlackNode(right.key, right.val, app__10775, right.right, null)) | |
} | |
}else { | |
return null | |
} | |
} | |
} | |
} | |
} | |
}; | |
cljs.core.tree_map_remove = function tree_map_remove(comp, tree, k, found) { | |
if(!(tree == null)) { | |
var c__10781 = comp.call(null, k, tree.key); | |
if(c__10781 === 0) { | |
found[0] = tree; | |
return cljs.core.tree_map_append.call(null, tree.left, tree.right) | |
}else { | |
if(c__10781 < 0) { | |
var del__10782 = tree_map_remove.call(null, comp, tree.left, k, found); | |
if(function() { | |
var or__3824__auto____10783 = !(del__10782 == null); | |
if(or__3824__auto____10783) { | |
return or__3824__auto____10783 | |
}else { | |
return!(found[0] == null) | |
} | |
}()) { | |
if(cljs.core.instance_QMARK_.call(null, cljs.core.BlackNode, tree.left)) { | |
return cljs.core.balance_left_del.call(null, tree.key, tree.val, del__10782, tree.right) | |
}else { | |
return new cljs.core.RedNode(tree.key, tree.val, del__10782, tree.right, null) | |
} | |
}else { | |
return null | |
} | |
}else { | |
if("\ufdd0'else") { | |
var del__10784 = tree_map_remove.call(null, comp, tree.right, k, found); | |
if(function() { | |
var or__3824__auto____10785 = !(del__10784 == null); | |
if(or__3824__auto____10785) { | |
return or__3824__auto____10785 | |
}else { | |
return!(found[0] == null) | |
} | |
}()) { | |
if(cljs.core.instance_QMARK_.call(null, cljs.core.BlackNode, tree.right)) { | |
return cljs.core.balance_right_del.call(null, tree.key, tree.val, tree.left, del__10784) | |
}else { | |
return new cljs.core.RedNode(tree.key, tree.val, tree.left, del__10784, null) | |
} | |
}else { | |
return null | |
} | |
}else { | |
return null | |
} | |
} | |
} | |
}else { | |
return null | |
} | |
}; | |
cljs.core.tree_map_replace = function tree_map_replace(comp, tree, k, v) { | |
var tk__10788 = tree.key; | |
var c__10789 = comp.call(null, k, tk__10788); | |
if(c__10789 === 0) { | |
return tree.replace(tk__10788, v, tree.left, tree.right) | |
}else { | |
if(c__10789 < 0) { | |
return tree.replace(tk__10788, tree.val, tree_map_replace.call(null, comp, tree.left, k, v), tree.right) | |
}else { | |
if("\ufdd0'else") { | |
return tree.replace(tk__10788, tree.val, tree.left, tree_map_replace.call(null, comp, tree.right, k, v)) | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
cljs.core.PersistentTreeMap = function(comp, tree, cnt, meta, __hash) { | |
this.comp = comp; | |
this.tree = tree; | |
this.cnt = cnt; | |
this.meta = meta; | |
this.__hash = __hash; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 418776847 | |
}; | |
cljs.core.PersistentTreeMap.cljs$lang$type = true; | |
cljs.core.PersistentTreeMap.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/PersistentTreeMap") | |
}; | |
cljs.core.PersistentTreeMap.prototype.cljs$core$IHash$_hash$arity$1 = function(coll) { | |
var this__10792 = this; | |
var h__2216__auto____10793 = this__10792.__hash; | |
if(!(h__2216__auto____10793 == null)) { | |
return h__2216__auto____10793 | |
}else { | |
var h__2216__auto____10794 = cljs.core.hash_imap.call(null, coll); | |
this__10792.__hash = h__2216__auto____10794; | |
return h__2216__auto____10794 | |
} | |
}; | |
cljs.core.PersistentTreeMap.prototype.cljs$core$ILookup$_lookup$arity$2 = function(coll, k) { | |
var this__10795 = this; | |
return coll.cljs$core$ILookup$_lookup$arity$3(coll, k, null) | |
}; | |
cljs.core.PersistentTreeMap.prototype.cljs$core$ILookup$_lookup$arity$3 = function(coll, k, not_found) { | |
var this__10796 = this; | |
var n__10797 = coll.entry_at(k); | |
if(!(n__10797 == null)) { | |
return n__10797.val | |
}else { | |
return not_found | |
} | |
}; | |
cljs.core.PersistentTreeMap.prototype.cljs$core$IAssociative$_assoc$arity$3 = function(coll, k, v) { | |
var this__10798 = this; | |
var found__10799 = [null]; | |
var t__10800 = cljs.core.tree_map_add.call(null, this__10798.comp, this__10798.tree, k, v, found__10799); | |
if(t__10800 == null) { | |
var found_node__10801 = cljs.core.nth.call(null, found__10799, 0); | |
if(cljs.core._EQ_.call(null, v, found_node__10801.val)) { | |
return coll | |
}else { | |
return new cljs.core.PersistentTreeMap(this__10798.comp, cljs.core.tree_map_replace.call(null, this__10798.comp, this__10798.tree, k, v), this__10798.cnt, this__10798.meta, null) | |
} | |
}else { | |
return new cljs.core.PersistentTreeMap(this__10798.comp, t__10800.blacken(), this__10798.cnt + 1, this__10798.meta, null) | |
} | |
}; | |
cljs.core.PersistentTreeMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 = function(coll, k) { | |
var this__10802 = this; | |
return!(coll.entry_at(k) == null) | |
}; | |
cljs.core.PersistentTreeMap.prototype.call = function() { | |
var G__10836 = null; | |
var G__10836__2 = function(this_sym10803, k) { | |
var this__10805 = this; | |
var this_sym10803__10806 = this; | |
var coll__10807 = this_sym10803__10806; | |
return coll__10807.cljs$core$ILookup$_lookup$arity$2(coll__10807, k) | |
}; | |
var G__10836__3 = function(this_sym10804, k, not_found) { | |
var this__10805 = this; | |
var this_sym10804__10808 = this; | |
var coll__10809 = this_sym10804__10808; | |
return coll__10809.cljs$core$ILookup$_lookup$arity$3(coll__10809, k, not_found) | |
}; | |
G__10836 = function(this_sym10804, k, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return G__10836__2.call(this, this_sym10804, k); | |
case 3: | |
return G__10836__3.call(this, this_sym10804, k, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__10836 | |
}(); | |
cljs.core.PersistentTreeMap.prototype.apply = function(this_sym10790, args10791) { | |
var this__10810 = this; | |
return this_sym10790.call.apply(this_sym10790, [this_sym10790].concat(args10791.slice())) | |
}; | |
cljs.core.PersistentTreeMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 = function(coll, f, init) { | |
var this__10811 = this; | |
if(!(this__10811.tree == null)) { | |
return cljs.core.tree_map_kv_reduce.call(null, this__10811.tree, f, init) | |
}else { | |
return init | |
} | |
}; | |
cljs.core.PersistentTreeMap.prototype.cljs$core$ICollection$_conj$arity$2 = function(coll, entry) { | |
var this__10812 = this; | |
if(cljs.core.vector_QMARK_.call(null, entry)) { | |
return coll.cljs$core$IAssociative$_assoc$arity$3(coll, cljs.core._nth.call(null, entry, 0), cljs.core._nth.call(null, entry, 1)) | |
}else { | |
return cljs.core.reduce.call(null, cljs.core._conj, coll, entry) | |
} | |
}; | |
cljs.core.PersistentTreeMap.prototype.cljs$core$IReversible$_rseq$arity$1 = function(coll) { | |
var this__10813 = this; | |
if(this__10813.cnt > 0) { | |
return cljs.core.create_tree_map_seq.call(null, this__10813.tree, false, this__10813.cnt) | |
}else { | |
return null | |
} | |
}; | |
cljs.core.PersistentTreeMap.prototype.toString = function() { | |
var this__10814 = this; | |
var this__10815 = this; | |
return cljs.core.pr_str.call(null, this__10815) | |
}; | |
cljs.core.PersistentTreeMap.prototype.entry_at = function(k) { | |
var this__10816 = this; | |
var coll__10817 = this; | |
var t__10818 = this__10816.tree; | |
while(true) { | |
if(!(t__10818 == null)) { | |
var c__10819 = this__10816.comp.call(null, k, t__10818.key); | |
if(c__10819 === 0) { | |
return t__10818 | |
}else { | |
if(c__10819 < 0) { | |
var G__10837 = t__10818.left; | |
t__10818 = G__10837; | |
continue | |
}else { | |
if("\ufdd0'else") { | |
var G__10838 = t__10818.right; | |
t__10818 = G__10838; | |
continue | |
}else { | |
return null | |
} | |
} | |
} | |
}else { | |
return null | |
} | |
break | |
} | |
}; | |
cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_sorted_seq$arity$2 = function(coll, ascending_QMARK_) { | |
var this__10820 = this; | |
if(this__10820.cnt > 0) { | |
return cljs.core.create_tree_map_seq.call(null, this__10820.tree, ascending_QMARK_, this__10820.cnt) | |
}else { | |
return null | |
} | |
}; | |
cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_sorted_seq_from$arity$3 = function(coll, k, ascending_QMARK_) { | |
var this__10821 = this; | |
if(this__10821.cnt > 0) { | |
var stack__10822 = null; | |
var t__10823 = this__10821.tree; | |
while(true) { | |
if(!(t__10823 == null)) { | |
var c__10824 = this__10821.comp.call(null, k, t__10823.key); | |
if(c__10824 === 0) { | |
return new cljs.core.PersistentTreeMapSeq(null, cljs.core.conj.call(null, stack__10822, t__10823), ascending_QMARK_, -1, null) | |
}else { | |
if(cljs.core.truth_(ascending_QMARK_)) { | |
if(c__10824 < 0) { | |
var G__10839 = cljs.core.conj.call(null, stack__10822, t__10823); | |
var G__10840 = t__10823.left; | |
stack__10822 = G__10839; | |
t__10823 = G__10840; | |
continue | |
}else { | |
var G__10841 = stack__10822; | |
var G__10842 = t__10823.right; | |
stack__10822 = G__10841; | |
t__10823 = G__10842; | |
continue | |
} | |
}else { | |
if("\ufdd0'else") { | |
if(c__10824 > 0) { | |
var G__10843 = cljs.core.conj.call(null, stack__10822, t__10823); | |
var G__10844 = t__10823.right; | |
stack__10822 = G__10843; | |
t__10823 = G__10844; | |
continue | |
}else { | |
var G__10845 = stack__10822; | |
var G__10846 = t__10823.left; | |
stack__10822 = G__10845; | |
t__10823 = G__10846; | |
continue | |
} | |
}else { | |
return null | |
} | |
} | |
} | |
}else { | |
if(stack__10822 == null) { | |
return new cljs.core.PersistentTreeMapSeq(null, stack__10822, ascending_QMARK_, -1, null) | |
}else { | |
return null | |
} | |
} | |
break | |
} | |
}else { | |
return null | |
} | |
}; | |
cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_entry_key$arity$2 = function(coll, entry) { | |
var this__10825 = this; | |
return cljs.core.key.call(null, entry) | |
}; | |
cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_comparator$arity$1 = function(coll) { | |
var this__10826 = this; | |
return this__10826.comp | |
}; | |
cljs.core.PersistentTreeMap.prototype.cljs$core$ISeqable$_seq$arity$1 = function(coll) { | |
var this__10827 = this; | |
if(this__10827.cnt > 0) { | |
return cljs.core.create_tree_map_seq.call(null, this__10827.tree, true, this__10827.cnt) | |
}else { | |
return null | |
} | |
}; | |
cljs.core.PersistentTreeMap.prototype.cljs$core$ICounted$_count$arity$1 = function(coll) { | |
var this__10828 = this; | |
return this__10828.cnt | |
}; | |
cljs.core.PersistentTreeMap.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__10829 = this; | |
return cljs.core.equiv_map.call(null, coll, other) | |
}; | |
cljs.core.PersistentTreeMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(coll, meta) { | |
var this__10830 = this; | |
return new cljs.core.PersistentTreeMap(this__10830.comp, this__10830.tree, this__10830.cnt, meta, this__10830.__hash) | |
}; | |
cljs.core.PersistentTreeMap.prototype.cljs$core$IMeta$_meta$arity$1 = function(coll) { | |
var this__10831 = this; | |
return this__10831.meta | |
}; | |
cljs.core.PersistentTreeMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = function(coll) { | |
var this__10832 = this; | |
return cljs.core.with_meta.call(null, cljs.core.PersistentTreeMap.EMPTY, this__10832.meta) | |
}; | |
cljs.core.PersistentTreeMap.prototype.cljs$core$IMap$_dissoc$arity$2 = function(coll, k) { | |
var this__10833 = this; | |
var found__10834 = [null]; | |
var t__10835 = cljs.core.tree_map_remove.call(null, this__10833.comp, this__10833.tree, k, found__10834); | |
if(t__10835 == null) { | |
if(cljs.core.nth.call(null, found__10834, 0) == null) { | |
return coll | |
}else { | |
return new cljs.core.PersistentTreeMap(this__10833.comp, null, 0, this__10833.meta, null) | |
} | |
}else { | |
return new cljs.core.PersistentTreeMap(this__10833.comp, t__10835.blacken(), this__10833.cnt - 1, this__10833.meta, null) | |
} | |
}; | |
cljs.core.PersistentTreeMap; | |
cljs.core.PersistentTreeMap.EMPTY = new cljs.core.PersistentTreeMap(cljs.core.compare, null, 0, null, 0); | |
cljs.core.hash_map = function() { | |
var hash_map__delegate = function(keyvals) { | |
var in__10849 = cljs.core.seq.call(null, keyvals); | |
var out__10850 = cljs.core.transient$.call(null, cljs.core.PersistentHashMap.EMPTY); | |
while(true) { | |
if(in__10849) { | |
var G__10851 = cljs.core.nnext.call(null, in__10849); | |
var G__10852 = cljs.core.assoc_BANG_.call(null, out__10850, cljs.core.first.call(null, in__10849), cljs.core.second.call(null, in__10849)); | |
in__10849 = G__10851; | |
out__10850 = G__10852; | |
continue | |
}else { | |
return cljs.core.persistent_BANG_.call(null, out__10850) | |
} | |
break | |
} | |
}; | |
var hash_map = function(var_args) { | |
var keyvals = null; | |
if(goog.isDef(var_args)) { | |
keyvals = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return hash_map__delegate.call(this, keyvals) | |
}; | |
hash_map.cljs$lang$maxFixedArity = 0; | |
hash_map.cljs$lang$applyTo = function(arglist__10853) { | |
var keyvals = cljs.core.seq(arglist__10853); | |
return hash_map__delegate(keyvals) | |
}; | |
hash_map.cljs$lang$arity$variadic = hash_map__delegate; | |
return hash_map | |
}(); | |
cljs.core.array_map = function() { | |
var array_map__delegate = function(keyvals) { | |
return new cljs.core.PersistentArrayMap(null, cljs.core.quot.call(null, cljs.core.count.call(null, keyvals), 2), cljs.core.apply.call(null, cljs.core.array, keyvals), null) | |
}; | |
var array_map = function(var_args) { | |
var keyvals = null; | |
if(goog.isDef(var_args)) { | |
keyvals = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return array_map__delegate.call(this, keyvals) | |
}; | |
array_map.cljs$lang$maxFixedArity = 0; | |
array_map.cljs$lang$applyTo = function(arglist__10854) { | |
var keyvals = cljs.core.seq(arglist__10854); | |
return array_map__delegate(keyvals) | |
}; | |
array_map.cljs$lang$arity$variadic = array_map__delegate; | |
return array_map | |
}(); | |
cljs.core.obj_map = function() { | |
var obj_map__delegate = function(keyvals) { | |
var ks__10858 = []; | |
var obj__10859 = {}; | |
var kvs__10860 = cljs.core.seq.call(null, keyvals); | |
while(true) { | |
if(kvs__10860) { | |
ks__10858.push(cljs.core.first.call(null, kvs__10860)); | |
obj__10859[cljs.core.first.call(null, kvs__10860)] = cljs.core.second.call(null, kvs__10860); | |
var G__10861 = cljs.core.nnext.call(null, kvs__10860); | |
kvs__10860 = G__10861; | |
continue | |
}else { | |
return cljs.core.ObjMap.fromObject.call(null, ks__10858, obj__10859) | |
} | |
break | |
} | |
}; | |
var obj_map = function(var_args) { | |
var keyvals = null; | |
if(goog.isDef(var_args)) { | |
keyvals = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return obj_map__delegate.call(this, keyvals) | |
}; | |
obj_map.cljs$lang$maxFixedArity = 0; | |
obj_map.cljs$lang$applyTo = function(arglist__10862) { | |
var keyvals = cljs.core.seq(arglist__10862); | |
return obj_map__delegate(keyvals) | |
}; | |
obj_map.cljs$lang$arity$variadic = obj_map__delegate; | |
return obj_map | |
}(); | |
cljs.core.sorted_map = function() { | |
var sorted_map__delegate = function(keyvals) { | |
var in__10865 = cljs.core.seq.call(null, keyvals); | |
var out__10866 = cljs.core.PersistentTreeMap.EMPTY; | |
while(true) { | |
if(in__10865) { | |
var G__10867 = cljs.core.nnext.call(null, in__10865); | |
var G__10868 = cljs.core.assoc.call(null, out__10866, cljs.core.first.call(null, in__10865), cljs.core.second.call(null, in__10865)); | |
in__10865 = G__10867; | |
out__10866 = G__10868; | |
continue | |
}else { | |
return out__10866 | |
} | |
break | |
} | |
}; | |
var sorted_map = function(var_args) { | |
var keyvals = null; | |
if(goog.isDef(var_args)) { | |
keyvals = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return sorted_map__delegate.call(this, keyvals) | |
}; | |
sorted_map.cljs$lang$maxFixedArity = 0; | |
sorted_map.cljs$lang$applyTo = function(arglist__10869) { | |
var keyvals = cljs.core.seq(arglist__10869); | |
return sorted_map__delegate(keyvals) | |
}; | |
sorted_map.cljs$lang$arity$variadic = sorted_map__delegate; | |
return sorted_map | |
}(); | |
cljs.core.sorted_map_by = function() { | |
var sorted_map_by__delegate = function(comparator, keyvals) { | |
var in__10872 = cljs.core.seq.call(null, keyvals); | |
var out__10873 = new cljs.core.PersistentTreeMap(comparator, null, 0, null, 0); | |
while(true) { | |
if(in__10872) { | |
var G__10874 = cljs.core.nnext.call(null, in__10872); | |
var G__10875 = cljs.core.assoc.call(null, out__10873, cljs.core.first.call(null, in__10872), cljs.core.second.call(null, in__10872)); | |
in__10872 = G__10874; | |
out__10873 = G__10875; | |
continue | |
}else { | |
return out__10873 | |
} | |
break | |
} | |
}; | |
var sorted_map_by = function(comparator, var_args) { | |
var keyvals = null; | |
if(goog.isDef(var_args)) { | |
keyvals = cljs.core.array_seq(Array.prototype.slice.call(arguments, 1), 0) | |
} | |
return sorted_map_by__delegate.call(this, comparator, keyvals) | |
}; | |
sorted_map_by.cljs$lang$maxFixedArity = 1; | |
sorted_map_by.cljs$lang$applyTo = function(arglist__10876) { | |
var comparator = cljs.core.first(arglist__10876); | |
var keyvals = cljs.core.rest(arglist__10876); | |
return sorted_map_by__delegate(comparator, keyvals) | |
}; | |
sorted_map_by.cljs$lang$arity$variadic = sorted_map_by__delegate; | |
return sorted_map_by | |
}(); | |
cljs.core.keys = function keys(hash_map) { | |
return cljs.core.seq.call(null, cljs.core.map.call(null, cljs.core.first, hash_map)) | |
}; | |
cljs.core.key = function key(map_entry) { | |
return cljs.core._key.call(null, map_entry) | |
}; | |
cljs.core.vals = function vals(hash_map) { | |
return cljs.core.seq.call(null, cljs.core.map.call(null, cljs.core.second, hash_map)) | |
}; | |
cljs.core.val = function val(map_entry) { | |
return cljs.core._val.call(null, map_entry) | |
}; | |
cljs.core.merge = function() { | |
var merge__delegate = function(maps) { | |
if(cljs.core.truth_(cljs.core.some.call(null, cljs.core.identity, maps))) { | |
return cljs.core.reduce.call(null, function(p1__10877_SHARP_, p2__10878_SHARP_) { | |
return cljs.core.conj.call(null, function() { | |
var or__3824__auto____10880 = p1__10877_SHARP_; | |
if(cljs.core.truth_(or__3824__auto____10880)) { | |
return or__3824__auto____10880 | |
}else { | |
return cljs.core.ObjMap.EMPTY | |
} | |
}(), p2__10878_SHARP_) | |
}, maps) | |
}else { | |
return null | |
} | |
}; | |
var merge = function(var_args) { | |
var maps = null; | |
if(goog.isDef(var_args)) { | |
maps = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return merge__delegate.call(this, maps) | |
}; | |
merge.cljs$lang$maxFixedArity = 0; | |
merge.cljs$lang$applyTo = function(arglist__10881) { | |
var maps = cljs.core.seq(arglist__10881); | |
return merge__delegate(maps) | |
}; | |
merge.cljs$lang$arity$variadic = merge__delegate; | |
return merge | |
}(); | |
cljs.core.merge_with = function() { | |
var merge_with__delegate = function(f, maps) { | |
if(cljs.core.truth_(cljs.core.some.call(null, cljs.core.identity, maps))) { | |
var merge_entry__10889 = function(m, e) { | |
var k__10887 = cljs.core.first.call(null, e); | |
var v__10888 = cljs.core.second.call(null, e); | |
if(cljs.core.contains_QMARK_.call(null, m, k__10887)) { | |
return cljs.core.assoc.call(null, m, k__10887, f.call(null, cljs.core._lookup.call(null, m, k__10887, null), v__10888)) | |
}else { | |
return cljs.core.assoc.call(null, m, k__10887, v__10888) | |
} | |
}; | |
var merge2__10891 = function(m1, m2) { | |
return cljs.core.reduce.call(null, merge_entry__10889, function() { | |
var or__3824__auto____10890 = m1; | |
if(cljs.core.truth_(or__3824__auto____10890)) { | |
return or__3824__auto____10890 | |
}else { | |
return cljs.core.ObjMap.EMPTY | |
} | |
}(), cljs.core.seq.call(null, m2)) | |
}; | |
return cljs.core.reduce.call(null, merge2__10891, maps) | |
}else { | |
return null | |
} | |
}; | |
var merge_with = function(f, var_args) { | |
var maps = null; | |
if(goog.isDef(var_args)) { | |
maps = cljs.core.array_seq(Array.prototype.slice.call(arguments, 1), 0) | |
} | |
return merge_with__delegate.call(this, f, maps) | |
}; | |
merge_with.cljs$lang$maxFixedArity = 1; | |
merge_with.cljs$lang$applyTo = function(arglist__10892) { | |
var f = cljs.core.first(arglist__10892); | |
var maps = cljs.core.rest(arglist__10892); | |
return merge_with__delegate(f, maps) | |
}; | |
merge_with.cljs$lang$arity$variadic = merge_with__delegate; | |
return merge_with | |
}(); | |
cljs.core.select_keys = function select_keys(map, keyseq) { | |
var ret__10897 = cljs.core.ObjMap.EMPTY; | |
var keys__10898 = cljs.core.seq.call(null, keyseq); | |
while(true) { | |
if(keys__10898) { | |
var key__10899 = cljs.core.first.call(null, keys__10898); | |
var entry__10900 = cljs.core._lookup.call(null, map, key__10899, "\ufdd0'cljs.core/not-found"); | |
var G__10901 = cljs.core.not_EQ_.call(null, entry__10900, "\ufdd0'cljs.core/not-found") ? cljs.core.assoc.call(null, ret__10897, key__10899, entry__10900) : ret__10897; | |
var G__10902 = cljs.core.next.call(null, keys__10898); | |
ret__10897 = G__10901; | |
keys__10898 = G__10902; | |
continue | |
}else { | |
return ret__10897 | |
} | |
break | |
} | |
}; | |
cljs.core.PersistentHashSet = function(meta, hash_map, __hash) { | |
this.meta = meta; | |
this.hash_map = hash_map; | |
this.__hash = __hash; | |
this.cljs$lang$protocol_mask$partition1$ = 1; | |
this.cljs$lang$protocol_mask$partition0$ = 15077647 | |
}; | |
cljs.core.PersistentHashSet.cljs$lang$type = true; | |
cljs.core.PersistentHashSet.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/PersistentHashSet") | |
}; | |
cljs.core.PersistentHashSet.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 = function(coll) { | |
var this__10906 = this; | |
return new cljs.core.TransientHashSet(cljs.core.transient$.call(null, this__10906.hash_map)) | |
}; | |
cljs.core.PersistentHashSet.prototype.cljs$core$IHash$_hash$arity$1 = function(coll) { | |
var this__10907 = this; | |
var h__2216__auto____10908 = this__10907.__hash; | |
if(!(h__2216__auto____10908 == null)) { | |
return h__2216__auto____10908 | |
}else { | |
var h__2216__auto____10909 = cljs.core.hash_iset.call(null, coll); | |
this__10907.__hash = h__2216__auto____10909; | |
return h__2216__auto____10909 | |
} | |
}; | |
cljs.core.PersistentHashSet.prototype.cljs$core$ILookup$_lookup$arity$2 = function(coll, v) { | |
var this__10910 = this; | |
return coll.cljs$core$ILookup$_lookup$arity$3(coll, v, null) | |
}; | |
cljs.core.PersistentHashSet.prototype.cljs$core$ILookup$_lookup$arity$3 = function(coll, v, not_found) { | |
var this__10911 = this; | |
if(cljs.core.truth_(cljs.core._contains_key_QMARK_.call(null, this__10911.hash_map, v))) { | |
return v | |
}else { | |
return not_found | |
} | |
}; | |
cljs.core.PersistentHashSet.prototype.call = function() { | |
var G__10932 = null; | |
var G__10932__2 = function(this_sym10912, k) { | |
var this__10914 = this; | |
var this_sym10912__10915 = this; | |
var coll__10916 = this_sym10912__10915; | |
return coll__10916.cljs$core$ILookup$_lookup$arity$2(coll__10916, k) | |
}; | |
var G__10932__3 = function(this_sym10913, k, not_found) { | |
var this__10914 = this; | |
var this_sym10913__10917 = this; | |
var coll__10918 = this_sym10913__10917; | |
return coll__10918.cljs$core$ILookup$_lookup$arity$3(coll__10918, k, not_found) | |
}; | |
G__10932 = function(this_sym10913, k, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return G__10932__2.call(this, this_sym10913, k); | |
case 3: | |
return G__10932__3.call(this, this_sym10913, k, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__10932 | |
}(); | |
cljs.core.PersistentHashSet.prototype.apply = function(this_sym10904, args10905) { | |
var this__10919 = this; | |
return this_sym10904.call.apply(this_sym10904, [this_sym10904].concat(args10905.slice())) | |
}; | |
cljs.core.PersistentHashSet.prototype.cljs$core$ICollection$_conj$arity$2 = function(coll, o) { | |
var this__10920 = this; | |
return new cljs.core.PersistentHashSet(this__10920.meta, cljs.core.assoc.call(null, this__10920.hash_map, o, null), null) | |
}; | |
cljs.core.PersistentHashSet.prototype.toString = function() { | |
var this__10921 = this; | |
var this__10922 = this; | |
return cljs.core.pr_str.call(null, this__10922) | |
}; | |
cljs.core.PersistentHashSet.prototype.cljs$core$ISeqable$_seq$arity$1 = function(coll) { | |
var this__10923 = this; | |
return cljs.core.keys.call(null, this__10923.hash_map) | |
}; | |
cljs.core.PersistentHashSet.prototype.cljs$core$ISet$_disjoin$arity$2 = function(coll, v) { | |
var this__10924 = this; | |
return new cljs.core.PersistentHashSet(this__10924.meta, cljs.core.dissoc.call(null, this__10924.hash_map, v), null) | |
}; | |
cljs.core.PersistentHashSet.prototype.cljs$core$ICounted$_count$arity$1 = function(coll) { | |
var this__10925 = this; | |
return cljs.core.count.call(null, cljs.core.seq.call(null, coll)) | |
}; | |
cljs.core.PersistentHashSet.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__10926 = this; | |
var and__3822__auto____10927 = cljs.core.set_QMARK_.call(null, other); | |
if(and__3822__auto____10927) { | |
var and__3822__auto____10928 = cljs.core.count.call(null, coll) === cljs.core.count.call(null, other); | |
if(and__3822__auto____10928) { | |
return cljs.core.every_QMARK_.call(null, function(p1__10903_SHARP_) { | |
return cljs.core.contains_QMARK_.call(null, coll, p1__10903_SHARP_) | |
}, other) | |
}else { | |
return and__3822__auto____10928 | |
} | |
}else { | |
return and__3822__auto____10927 | |
} | |
}; | |
cljs.core.PersistentHashSet.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(coll, meta) { | |
var this__10929 = this; | |
return new cljs.core.PersistentHashSet(meta, this__10929.hash_map, this__10929.__hash) | |
}; | |
cljs.core.PersistentHashSet.prototype.cljs$core$IMeta$_meta$arity$1 = function(coll) { | |
var this__10930 = this; | |
return this__10930.meta | |
}; | |
cljs.core.PersistentHashSet.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = function(coll) { | |
var this__10931 = this; | |
return cljs.core.with_meta.call(null, cljs.core.PersistentHashSet.EMPTY, this__10931.meta) | |
}; | |
cljs.core.PersistentHashSet; | |
cljs.core.PersistentHashSet.EMPTY = new cljs.core.PersistentHashSet(null, cljs.core.hash_map.call(null), 0); | |
cljs.core.PersistentHashSet.fromArray = function(items) { | |
var len__10933 = cljs.core.count.call(null, items); | |
var i__10934 = 0; | |
var out__10935 = cljs.core.transient$.call(null, cljs.core.PersistentHashSet.EMPTY); | |
while(true) { | |
if(i__10934 < len__10933) { | |
var G__10936 = i__10934 + 1; | |
var G__10937 = cljs.core.conj_BANG_.call(null, out__10935, items[i__10934]); | |
i__10934 = G__10936; | |
out__10935 = G__10937; | |
continue | |
}else { | |
return cljs.core.persistent_BANG_.call(null, out__10935) | |
} | |
break | |
} | |
}; | |
cljs.core.TransientHashSet = function(transient_map) { | |
this.transient_map = transient_map; | |
this.cljs$lang$protocol_mask$partition0$ = 259; | |
this.cljs$lang$protocol_mask$partition1$ = 34 | |
}; | |
cljs.core.TransientHashSet.cljs$lang$type = true; | |
cljs.core.TransientHashSet.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/TransientHashSet") | |
}; | |
cljs.core.TransientHashSet.prototype.call = function() { | |
var G__10955 = null; | |
var G__10955__2 = function(this_sym10941, k) { | |
var this__10943 = this; | |
var this_sym10941__10944 = this; | |
var tcoll__10945 = this_sym10941__10944; | |
if(cljs.core._lookup.call(null, this__10943.transient_map, k, cljs.core.lookup_sentinel) === cljs.core.lookup_sentinel) { | |
return null | |
}else { | |
return k | |
} | |
}; | |
var G__10955__3 = function(this_sym10942, k, not_found) { | |
var this__10943 = this; | |
var this_sym10942__10946 = this; | |
var tcoll__10947 = this_sym10942__10946; | |
if(cljs.core._lookup.call(null, this__10943.transient_map, k, cljs.core.lookup_sentinel) === cljs.core.lookup_sentinel) { | |
return not_found | |
}else { | |
return k | |
} | |
}; | |
G__10955 = function(this_sym10942, k, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return G__10955__2.call(this, this_sym10942, k); | |
case 3: | |
return G__10955__3.call(this, this_sym10942, k, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__10955 | |
}(); | |
cljs.core.TransientHashSet.prototype.apply = function(this_sym10939, args10940) { | |
var this__10948 = this; | |
return this_sym10939.call.apply(this_sym10939, [this_sym10939].concat(args10940.slice())) | |
}; | |
cljs.core.TransientHashSet.prototype.cljs$core$ILookup$_lookup$arity$2 = function(tcoll, v) { | |
var this__10949 = this; | |
return tcoll.cljs$core$ILookup$_lookup$arity$3(tcoll, v, null) | |
}; | |
cljs.core.TransientHashSet.prototype.cljs$core$ILookup$_lookup$arity$3 = function(tcoll, v, not_found) { | |
var this__10950 = this; | |
if(cljs.core._lookup.call(null, this__10950.transient_map, v, cljs.core.lookup_sentinel) === cljs.core.lookup_sentinel) { | |
return not_found | |
}else { | |
return v | |
} | |
}; | |
cljs.core.TransientHashSet.prototype.cljs$core$ICounted$_count$arity$1 = function(tcoll) { | |
var this__10951 = this; | |
return cljs.core.count.call(null, this__10951.transient_map) | |
}; | |
cljs.core.TransientHashSet.prototype.cljs$core$ITransientSet$_disjoin_BANG_$arity$2 = function(tcoll, v) { | |
var this__10952 = this; | |
this__10952.transient_map = cljs.core.dissoc_BANG_.call(null, this__10952.transient_map, v); | |
return tcoll | |
}; | |
cljs.core.TransientHashSet.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 = function(tcoll, o) { | |
var this__10953 = this; | |
this__10953.transient_map = cljs.core.assoc_BANG_.call(null, this__10953.transient_map, o, null); | |
return tcoll | |
}; | |
cljs.core.TransientHashSet.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 = function(tcoll) { | |
var this__10954 = this; | |
return new cljs.core.PersistentHashSet(null, cljs.core.persistent_BANG_.call(null, this__10954.transient_map), null) | |
}; | |
cljs.core.TransientHashSet; | |
cljs.core.PersistentTreeSet = function(meta, tree_map, __hash) { | |
this.meta = meta; | |
this.tree_map = tree_map; | |
this.__hash = __hash; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 417730831 | |
}; | |
cljs.core.PersistentTreeSet.cljs$lang$type = true; | |
cljs.core.PersistentTreeSet.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/PersistentTreeSet") | |
}; | |
cljs.core.PersistentTreeSet.prototype.cljs$core$IHash$_hash$arity$1 = function(coll) { | |
var this__10958 = this; | |
var h__2216__auto____10959 = this__10958.__hash; | |
if(!(h__2216__auto____10959 == null)) { | |
return h__2216__auto____10959 | |
}else { | |
var h__2216__auto____10960 = cljs.core.hash_iset.call(null, coll); | |
this__10958.__hash = h__2216__auto____10960; | |
return h__2216__auto____10960 | |
} | |
}; | |
cljs.core.PersistentTreeSet.prototype.cljs$core$ILookup$_lookup$arity$2 = function(coll, v) { | |
var this__10961 = this; | |
return coll.cljs$core$ILookup$_lookup$arity$3(coll, v, null) | |
}; | |
cljs.core.PersistentTreeSet.prototype.cljs$core$ILookup$_lookup$arity$3 = function(coll, v, not_found) { | |
var this__10962 = this; | |
if(cljs.core.truth_(cljs.core._contains_key_QMARK_.call(null, this__10962.tree_map, v))) { | |
return v | |
}else { | |
return not_found | |
} | |
}; | |
cljs.core.PersistentTreeSet.prototype.call = function() { | |
var G__10988 = null; | |
var G__10988__2 = function(this_sym10963, k) { | |
var this__10965 = this; | |
var this_sym10963__10966 = this; | |
var coll__10967 = this_sym10963__10966; | |
return coll__10967.cljs$core$ILookup$_lookup$arity$2(coll__10967, k) | |
}; | |
var G__10988__3 = function(this_sym10964, k, not_found) { | |
var this__10965 = this; | |
var this_sym10964__10968 = this; | |
var coll__10969 = this_sym10964__10968; | |
return coll__10969.cljs$core$ILookup$_lookup$arity$3(coll__10969, k, not_found) | |
}; | |
G__10988 = function(this_sym10964, k, not_found) { | |
switch(arguments.length) { | |
case 2: | |
return G__10988__2.call(this, this_sym10964, k); | |
case 3: | |
return G__10988__3.call(this, this_sym10964, k, not_found) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
return G__10988 | |
}(); | |
cljs.core.PersistentTreeSet.prototype.apply = function(this_sym10956, args10957) { | |
var this__10970 = this; | |
return this_sym10956.call.apply(this_sym10956, [this_sym10956].concat(args10957.slice())) | |
}; | |
cljs.core.PersistentTreeSet.prototype.cljs$core$ICollection$_conj$arity$2 = function(coll, o) { | |
var this__10971 = this; | |
return new cljs.core.PersistentTreeSet(this__10971.meta, cljs.core.assoc.call(null, this__10971.tree_map, o, null), null) | |
}; | |
cljs.core.PersistentTreeSet.prototype.cljs$core$IReversible$_rseq$arity$1 = function(coll) { | |
var this__10972 = this; | |
return cljs.core.map.call(null, cljs.core.key, cljs.core.rseq.call(null, this__10972.tree_map)) | |
}; | |
cljs.core.PersistentTreeSet.prototype.toString = function() { | |
var this__10973 = this; | |
var this__10974 = this; | |
return cljs.core.pr_str.call(null, this__10974) | |
}; | |
cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_sorted_seq$arity$2 = function(coll, ascending_QMARK_) { | |
var this__10975 = this; | |
return cljs.core.map.call(null, cljs.core.key, cljs.core._sorted_seq.call(null, this__10975.tree_map, ascending_QMARK_)) | |
}; | |
cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_sorted_seq_from$arity$3 = function(coll, k, ascending_QMARK_) { | |
var this__10976 = this; | |
return cljs.core.map.call(null, cljs.core.key, cljs.core._sorted_seq_from.call(null, this__10976.tree_map, k, ascending_QMARK_)) | |
}; | |
cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_entry_key$arity$2 = function(coll, entry) { | |
var this__10977 = this; | |
return entry | |
}; | |
cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_comparator$arity$1 = function(coll) { | |
var this__10978 = this; | |
return cljs.core._comparator.call(null, this__10978.tree_map) | |
}; | |
cljs.core.PersistentTreeSet.prototype.cljs$core$ISeqable$_seq$arity$1 = function(coll) { | |
var this__10979 = this; | |
return cljs.core.keys.call(null, this__10979.tree_map) | |
}; | |
cljs.core.PersistentTreeSet.prototype.cljs$core$ISet$_disjoin$arity$2 = function(coll, v) { | |
var this__10980 = this; | |
return new cljs.core.PersistentTreeSet(this__10980.meta, cljs.core.dissoc.call(null, this__10980.tree_map, v), null) | |
}; | |
cljs.core.PersistentTreeSet.prototype.cljs$core$ICounted$_count$arity$1 = function(coll) { | |
var this__10981 = this; | |
return cljs.core.count.call(null, this__10981.tree_map) | |
}; | |
cljs.core.PersistentTreeSet.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(coll, other) { | |
var this__10982 = this; | |
var and__3822__auto____10983 = cljs.core.set_QMARK_.call(null, other); | |
if(and__3822__auto____10983) { | |
var and__3822__auto____10984 = cljs.core.count.call(null, coll) === cljs.core.count.call(null, other); | |
if(and__3822__auto____10984) { | |
return cljs.core.every_QMARK_.call(null, function(p1__10938_SHARP_) { | |
return cljs.core.contains_QMARK_.call(null, coll, p1__10938_SHARP_) | |
}, other) | |
}else { | |
return and__3822__auto____10984 | |
} | |
}else { | |
return and__3822__auto____10983 | |
} | |
}; | |
cljs.core.PersistentTreeSet.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(coll, meta) { | |
var this__10985 = this; | |
return new cljs.core.PersistentTreeSet(meta, this__10985.tree_map, this__10985.__hash) | |
}; | |
cljs.core.PersistentTreeSet.prototype.cljs$core$IMeta$_meta$arity$1 = function(coll) { | |
var this__10986 = this; | |
return this__10986.meta | |
}; | |
cljs.core.PersistentTreeSet.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = function(coll) { | |
var this__10987 = this; | |
return cljs.core.with_meta.call(null, cljs.core.PersistentTreeSet.EMPTY, this__10987.meta) | |
}; | |
cljs.core.PersistentTreeSet; | |
cljs.core.PersistentTreeSet.EMPTY = new cljs.core.PersistentTreeSet(null, cljs.core.sorted_map.call(null), 0); | |
cljs.core.hash_set = function() { | |
var hash_set = null; | |
var hash_set__0 = function() { | |
return cljs.core.PersistentHashSet.EMPTY | |
}; | |
var hash_set__1 = function() { | |
var G__10993__delegate = function(keys) { | |
var in__10991 = cljs.core.seq.call(null, keys); | |
var out__10992 = cljs.core.transient$.call(null, cljs.core.PersistentHashSet.EMPTY); | |
while(true) { | |
if(cljs.core.seq.call(null, in__10991)) { | |
var G__10994 = cljs.core.next.call(null, in__10991); | |
var G__10995 = cljs.core.conj_BANG_.call(null, out__10992, cljs.core.first.call(null, in__10991)); | |
in__10991 = G__10994; | |
out__10992 = G__10995; | |
continue | |
}else { | |
return cljs.core.persistent_BANG_.call(null, out__10992) | |
} | |
break | |
} | |
}; | |
var G__10993 = function(var_args) { | |
var keys = null; | |
if(goog.isDef(var_args)) { | |
keys = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return G__10993__delegate.call(this, keys) | |
}; | |
G__10993.cljs$lang$maxFixedArity = 0; | |
G__10993.cljs$lang$applyTo = function(arglist__10996) { | |
var keys = cljs.core.seq(arglist__10996); | |
return G__10993__delegate(keys) | |
}; | |
G__10993.cljs$lang$arity$variadic = G__10993__delegate; | |
return G__10993 | |
}(); | |
hash_set = function(var_args) { | |
var keys = var_args; | |
switch(arguments.length) { | |
case 0: | |
return hash_set__0.call(this); | |
default: | |
return hash_set__1.cljs$lang$arity$variadic(cljs.core.array_seq(arguments, 0)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
hash_set.cljs$lang$maxFixedArity = 0; | |
hash_set.cljs$lang$applyTo = hash_set__1.cljs$lang$applyTo; | |
hash_set.cljs$lang$arity$0 = hash_set__0; | |
hash_set.cljs$lang$arity$variadic = hash_set__1.cljs$lang$arity$variadic; | |
return hash_set | |
}(); | |
cljs.core.set = function set(coll) { | |
return cljs.core.apply.call(null, cljs.core.hash_set, coll) | |
}; | |
cljs.core.sorted_set = function() { | |
var sorted_set__delegate = function(keys) { | |
return cljs.core.reduce.call(null, cljs.core._conj, cljs.core.PersistentTreeSet.EMPTY, keys) | |
}; | |
var sorted_set = function(var_args) { | |
var keys = null; | |
if(goog.isDef(var_args)) { | |
keys = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return sorted_set__delegate.call(this, keys) | |
}; | |
sorted_set.cljs$lang$maxFixedArity = 0; | |
sorted_set.cljs$lang$applyTo = function(arglist__10997) { | |
var keys = cljs.core.seq(arglist__10997); | |
return sorted_set__delegate(keys) | |
}; | |
sorted_set.cljs$lang$arity$variadic = sorted_set__delegate; | |
return sorted_set | |
}(); | |
cljs.core.sorted_set_by = function() { | |
var sorted_set_by__delegate = function(comparator, keys) { | |
return cljs.core.reduce.call(null, cljs.core._conj, new cljs.core.PersistentTreeSet(null, cljs.core.sorted_map_by.call(null, comparator), 0), keys) | |
}; | |
var sorted_set_by = function(comparator, var_args) { | |
var keys = null; | |
if(goog.isDef(var_args)) { | |
keys = cljs.core.array_seq(Array.prototype.slice.call(arguments, 1), 0) | |
} | |
return sorted_set_by__delegate.call(this, comparator, keys) | |
}; | |
sorted_set_by.cljs$lang$maxFixedArity = 1; | |
sorted_set_by.cljs$lang$applyTo = function(arglist__10999) { | |
var comparator = cljs.core.first(arglist__10999); | |
var keys = cljs.core.rest(arglist__10999); | |
return sorted_set_by__delegate(comparator, keys) | |
}; | |
sorted_set_by.cljs$lang$arity$variadic = sorted_set_by__delegate; | |
return sorted_set_by | |
}(); | |
cljs.core.replace = function replace(smap, coll) { | |
if(cljs.core.vector_QMARK_.call(null, coll)) { | |
var n__11005 = cljs.core.count.call(null, coll); | |
return cljs.core.reduce.call(null, function(v, i) { | |
var temp__3971__auto____11006 = cljs.core.find.call(null, smap, cljs.core.nth.call(null, v, i)); | |
if(cljs.core.truth_(temp__3971__auto____11006)) { | |
var e__11007 = temp__3971__auto____11006; | |
return cljs.core.assoc.call(null, v, i, cljs.core.second.call(null, e__11007)) | |
}else { | |
return v | |
} | |
}, coll, cljs.core.take.call(null, n__11005, cljs.core.iterate.call(null, cljs.core.inc, 0))) | |
}else { | |
return cljs.core.map.call(null, function(p1__10998_SHARP_) { | |
var temp__3971__auto____11008 = cljs.core.find.call(null, smap, p1__10998_SHARP_); | |
if(cljs.core.truth_(temp__3971__auto____11008)) { | |
var e__11009 = temp__3971__auto____11008; | |
return cljs.core.second.call(null, e__11009) | |
}else { | |
return p1__10998_SHARP_ | |
} | |
}, coll) | |
} | |
}; | |
cljs.core.distinct = function distinct(coll) { | |
var step__11039 = function step(xs, seen) { | |
return new cljs.core.LazySeq(null, false, function() { | |
return function(p__11032, seen) { | |
while(true) { | |
var vec__11033__11034 = p__11032; | |
var f__11035 = cljs.core.nth.call(null, vec__11033__11034, 0, null); | |
var xs__11036 = vec__11033__11034; | |
var temp__3974__auto____11037 = cljs.core.seq.call(null, xs__11036); | |
if(temp__3974__auto____11037) { | |
var s__11038 = temp__3974__auto____11037; | |
if(cljs.core.contains_QMARK_.call(null, seen, f__11035)) { | |
var G__11040 = cljs.core.rest.call(null, s__11038); | |
var G__11041 = seen; | |
p__11032 = G__11040; | |
seen = G__11041; | |
continue | |
}else { | |
return cljs.core.cons.call(null, f__11035, step.call(null, cljs.core.rest.call(null, s__11038), cljs.core.conj.call(null, seen, f__11035))) | |
} | |
}else { | |
return null | |
} | |
break | |
} | |
}.call(null, xs, seen) | |
}, null) | |
}; | |
return step__11039.call(null, coll, cljs.core.PersistentHashSet.EMPTY) | |
}; | |
cljs.core.butlast = function butlast(s) { | |
var ret__11044 = cljs.core.PersistentVector.EMPTY; | |
var s__11045 = s; | |
while(true) { | |
if(cljs.core.next.call(null, s__11045)) { | |
var G__11046 = cljs.core.conj.call(null, ret__11044, cljs.core.first.call(null, s__11045)); | |
var G__11047 = cljs.core.next.call(null, s__11045); | |
ret__11044 = G__11046; | |
s__11045 = G__11047; | |
continue | |
}else { | |
return cljs.core.seq.call(null, ret__11044) | |
} | |
break | |
} | |
}; | |
cljs.core.name = function name(x) { | |
if(cljs.core.string_QMARK_.call(null, x)) { | |
return x | |
}else { | |
if(function() { | |
var or__3824__auto____11050 = cljs.core.keyword_QMARK_.call(null, x); | |
if(or__3824__auto____11050) { | |
return or__3824__auto____11050 | |
}else { | |
return cljs.core.symbol_QMARK_.call(null, x) | |
} | |
}()) { | |
var i__11051 = x.lastIndexOf("/"); | |
if(i__11051 < 0) { | |
return cljs.core.subs.call(null, x, 2) | |
}else { | |
return cljs.core.subs.call(null, x, i__11051 + 1) | |
} | |
}else { | |
if("\ufdd0'else") { | |
throw new Error([cljs.core.str("Doesn't support name: "), cljs.core.str(x)].join("")); | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
cljs.core.namespace = function namespace(x) { | |
if(function() { | |
var or__3824__auto____11054 = cljs.core.keyword_QMARK_.call(null, x); | |
if(or__3824__auto____11054) { | |
return or__3824__auto____11054 | |
}else { | |
return cljs.core.symbol_QMARK_.call(null, x) | |
} | |
}()) { | |
var i__11055 = x.lastIndexOf("/"); | |
if(i__11055 > -1) { | |
return cljs.core.subs.call(null, x, 2, i__11055) | |
}else { | |
return null | |
} | |
}else { | |
throw new Error([cljs.core.str("Doesn't support namespace: "), cljs.core.str(x)].join("")); | |
} | |
}; | |
cljs.core.zipmap = function zipmap(keys, vals) { | |
var map__11062 = cljs.core.ObjMap.EMPTY; | |
var ks__11063 = cljs.core.seq.call(null, keys); | |
var vs__11064 = cljs.core.seq.call(null, vals); | |
while(true) { | |
if(function() { | |
var and__3822__auto____11065 = ks__11063; | |
if(and__3822__auto____11065) { | |
return vs__11064 | |
}else { | |
return and__3822__auto____11065 | |
} | |
}()) { | |
var G__11066 = cljs.core.assoc.call(null, map__11062, cljs.core.first.call(null, ks__11063), cljs.core.first.call(null, vs__11064)); | |
var G__11067 = cljs.core.next.call(null, ks__11063); | |
var G__11068 = cljs.core.next.call(null, vs__11064); | |
map__11062 = G__11066; | |
ks__11063 = G__11067; | |
vs__11064 = G__11068; | |
continue | |
}else { | |
return map__11062 | |
} | |
break | |
} | |
}; | |
cljs.core.max_key = function() { | |
var max_key = null; | |
var max_key__2 = function(k, x) { | |
return x | |
}; | |
var max_key__3 = function(k, x, y) { | |
if(k.call(null, x) > k.call(null, y)) { | |
return x | |
}else { | |
return y | |
} | |
}; | |
var max_key__4 = function() { | |
var G__11071__delegate = function(k, x, y, more) { | |
return cljs.core.reduce.call(null, function(p1__11056_SHARP_, p2__11057_SHARP_) { | |
return max_key.call(null, k, p1__11056_SHARP_, p2__11057_SHARP_) | |
}, max_key.call(null, k, x, y), more) | |
}; | |
var G__11071 = function(k, x, y, var_args) { | |
var more = null; | |
if(goog.isDef(var_args)) { | |
more = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__11071__delegate.call(this, k, x, y, more) | |
}; | |
G__11071.cljs$lang$maxFixedArity = 3; | |
G__11071.cljs$lang$applyTo = function(arglist__11072) { | |
var k = cljs.core.first(arglist__11072); | |
var x = cljs.core.first(cljs.core.next(arglist__11072)); | |
var y = cljs.core.first(cljs.core.next(cljs.core.next(arglist__11072))); | |
var more = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__11072))); | |
return G__11071__delegate(k, x, y, more) | |
}; | |
G__11071.cljs$lang$arity$variadic = G__11071__delegate; | |
return G__11071 | |
}(); | |
max_key = function(k, x, y, var_args) { | |
var more = var_args; | |
switch(arguments.length) { | |
case 2: | |
return max_key__2.call(this, k, x); | |
case 3: | |
return max_key__3.call(this, k, x, y); | |
default: | |
return max_key__4.cljs$lang$arity$variadic(k, x, y, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
max_key.cljs$lang$maxFixedArity = 3; | |
max_key.cljs$lang$applyTo = max_key__4.cljs$lang$applyTo; | |
max_key.cljs$lang$arity$2 = max_key__2; | |
max_key.cljs$lang$arity$3 = max_key__3; | |
max_key.cljs$lang$arity$variadic = max_key__4.cljs$lang$arity$variadic; | |
return max_key | |
}(); | |
cljs.core.min_key = function() { | |
var min_key = null; | |
var min_key__2 = function(k, x) { | |
return x | |
}; | |
var min_key__3 = function(k, x, y) { | |
if(k.call(null, x) < k.call(null, y)) { | |
return x | |
}else { | |
return y | |
} | |
}; | |
var min_key__4 = function() { | |
var G__11073__delegate = function(k, x, y, more) { | |
return cljs.core.reduce.call(null, function(p1__11069_SHARP_, p2__11070_SHARP_) { | |
return min_key.call(null, k, p1__11069_SHARP_, p2__11070_SHARP_) | |
}, min_key.call(null, k, x, y), more) | |
}; | |
var G__11073 = function(k, x, y, var_args) { | |
var more = null; | |
if(goog.isDef(var_args)) { | |
more = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__11073__delegate.call(this, k, x, y, more) | |
}; | |
G__11073.cljs$lang$maxFixedArity = 3; | |
G__11073.cljs$lang$applyTo = function(arglist__11074) { | |
var k = cljs.core.first(arglist__11074); | |
var x = cljs.core.first(cljs.core.next(arglist__11074)); | |
var y = cljs.core.first(cljs.core.next(cljs.core.next(arglist__11074))); | |
var more = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__11074))); | |
return G__11073__delegate(k, x, y, more) | |
}; | |
G__11073.cljs$lang$arity$variadic = G__11073__delegate; | |
return G__11073 | |
}(); | |
min_key = function(k, x, y, var_args) { | |
var more = var_args; | |
switch(arguments.length) { | |
case 2: | |
return min_key__2.call(this, k, x); | |
case 3: | |
return min_key__3.call(this, k, x, y); | |
default: | |
return min_key__4.cljs$lang$arity$variadic(k, x, y, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
min_key.cljs$lang$maxFixedArity = 3; | |
min_key.cljs$lang$applyTo = min_key__4.cljs$lang$applyTo; | |
min_key.cljs$lang$arity$2 = min_key__2; | |
min_key.cljs$lang$arity$3 = min_key__3; | |
min_key.cljs$lang$arity$variadic = min_key__4.cljs$lang$arity$variadic; | |
return min_key | |
}(); | |
cljs.core.partition_all = function() { | |
var partition_all = null; | |
var partition_all__2 = function(n, coll) { | |
return partition_all.call(null, n, n, coll) | |
}; | |
var partition_all__3 = function(n, step, coll) { | |
return new cljs.core.LazySeq(null, false, function() { | |
var temp__3974__auto____11077 = cljs.core.seq.call(null, coll); | |
if(temp__3974__auto____11077) { | |
var s__11078 = temp__3974__auto____11077; | |
return cljs.core.cons.call(null, cljs.core.take.call(null, n, s__11078), partition_all.call(null, n, step, cljs.core.drop.call(null, step, s__11078))) | |
}else { | |
return null | |
} | |
}, null) | |
}; | |
partition_all = function(n, step, coll) { | |
switch(arguments.length) { | |
case 2: | |
return partition_all__2.call(this, n, step); | |
case 3: | |
return partition_all__3.call(this, n, step, coll) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
partition_all.cljs$lang$arity$2 = partition_all__2; | |
partition_all.cljs$lang$arity$3 = partition_all__3; | |
return partition_all | |
}(); | |
cljs.core.take_while = function take_while(pred, coll) { | |
return new cljs.core.LazySeq(null, false, function() { | |
var temp__3974__auto____11081 = cljs.core.seq.call(null, coll); | |
if(temp__3974__auto____11081) { | |
var s__11082 = temp__3974__auto____11081; | |
if(cljs.core.truth_(pred.call(null, cljs.core.first.call(null, s__11082)))) { | |
return cljs.core.cons.call(null, cljs.core.first.call(null, s__11082), take_while.call(null, pred, cljs.core.rest.call(null, s__11082))) | |
}else { | |
return null | |
} | |
}else { | |
return null | |
} | |
}, null) | |
}; | |
cljs.core.mk_bound_fn = function mk_bound_fn(sc, test, key) { | |
return function(e) { | |
var comp__11084 = cljs.core._comparator.call(null, sc); | |
return test.call(null, comp__11084.call(null, cljs.core._entry_key.call(null, sc, e), key), 0) | |
} | |
}; | |
cljs.core.subseq = function() { | |
var subseq = null; | |
var subseq__3 = function(sc, test, key) { | |
var include__11096 = cljs.core.mk_bound_fn.call(null, sc, test, key); | |
if(cljs.core.truth_(cljs.core.PersistentHashSet.fromArray([cljs.core._GT_, cljs.core._GT__EQ_]).call(null, test))) { | |
var temp__3974__auto____11097 = cljs.core._sorted_seq_from.call(null, sc, key, true); | |
if(cljs.core.truth_(temp__3974__auto____11097)) { | |
var vec__11098__11099 = temp__3974__auto____11097; | |
var e__11100 = cljs.core.nth.call(null, vec__11098__11099, 0, null); | |
var s__11101 = vec__11098__11099; | |
if(cljs.core.truth_(include__11096.call(null, e__11100))) { | |
return s__11101 | |
}else { | |
return cljs.core.next.call(null, s__11101) | |
} | |
}else { | |
return null | |
} | |
}else { | |
return cljs.core.take_while.call(null, include__11096, cljs.core._sorted_seq.call(null, sc, true)) | |
} | |
}; | |
var subseq__5 = function(sc, start_test, start_key, end_test, end_key) { | |
var temp__3974__auto____11102 = cljs.core._sorted_seq_from.call(null, sc, start_key, true); | |
if(cljs.core.truth_(temp__3974__auto____11102)) { | |
var vec__11103__11104 = temp__3974__auto____11102; | |
var e__11105 = cljs.core.nth.call(null, vec__11103__11104, 0, null); | |
var s__11106 = vec__11103__11104; | |
return cljs.core.take_while.call(null, cljs.core.mk_bound_fn.call(null, sc, end_test, end_key), cljs.core.truth_(cljs.core.mk_bound_fn.call(null, sc, start_test, start_key).call(null, e__11105)) ? s__11106 : cljs.core.next.call(null, s__11106)) | |
}else { | |
return null | |
} | |
}; | |
subseq = function(sc, start_test, start_key, end_test, end_key) { | |
switch(arguments.length) { | |
case 3: | |
return subseq__3.call(this, sc, start_test, start_key); | |
case 5: | |
return subseq__5.call(this, sc, start_test, start_key, end_test, end_key) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
subseq.cljs$lang$arity$3 = subseq__3; | |
subseq.cljs$lang$arity$5 = subseq__5; | |
return subseq | |
}(); | |
cljs.core.rsubseq = function() { | |
var rsubseq = null; | |
var rsubseq__3 = function(sc, test, key) { | |
var include__11118 = cljs.core.mk_bound_fn.call(null, sc, test, key); | |
if(cljs.core.truth_(cljs.core.PersistentHashSet.fromArray([cljs.core._LT_, cljs.core._LT__EQ_]).call(null, test))) { | |
var temp__3974__auto____11119 = cljs.core._sorted_seq_from.call(null, sc, key, false); | |
if(cljs.core.truth_(temp__3974__auto____11119)) { | |
var vec__11120__11121 = temp__3974__auto____11119; | |
var e__11122 = cljs.core.nth.call(null, vec__11120__11121, 0, null); | |
var s__11123 = vec__11120__11121; | |
if(cljs.core.truth_(include__11118.call(null, e__11122))) { | |
return s__11123 | |
}else { | |
return cljs.core.next.call(null, s__11123) | |
} | |
}else { | |
return null | |
} | |
}else { | |
return cljs.core.take_while.call(null, include__11118, cljs.core._sorted_seq.call(null, sc, false)) | |
} | |
}; | |
var rsubseq__5 = function(sc, start_test, start_key, end_test, end_key) { | |
var temp__3974__auto____11124 = cljs.core._sorted_seq_from.call(null, sc, end_key, false); | |
if(cljs.core.truth_(temp__3974__auto____11124)) { | |
var vec__11125__11126 = temp__3974__auto____11124; | |
var e__11127 = cljs.core.nth.call(null, vec__11125__11126, 0, null); | |
var s__11128 = vec__11125__11126; | |
return cljs.core.take_while.call(null, cljs.core.mk_bound_fn.call(null, sc, start_test, start_key), cljs.core.truth_(cljs.core.mk_bound_fn.call(null, sc, end_test, end_key).call(null, e__11127)) ? s__11128 : cljs.core.next.call(null, s__11128)) | |
}else { | |
return null | |
} | |
}; | |
rsubseq = function(sc, start_test, start_key, end_test, end_key) { | |
switch(arguments.length) { | |
case 3: | |
return rsubseq__3.call(this, sc, start_test, start_key); | |
case 5: | |
return rsubseq__5.call(this, sc, start_test, start_key, end_test, end_key) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
rsubseq.cljs$lang$arity$3 = rsubseq__3; | |
rsubseq.cljs$lang$arity$5 = rsubseq__5; | |
return rsubseq | |
}(); | |
cljs.core.Range = function(meta, start, end, step, __hash) { | |
this.meta = meta; | |
this.start = start; | |
this.end = end; | |
this.step = step; | |
this.__hash = __hash; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 32375006 | |
}; | |
cljs.core.Range.cljs$lang$type = true; | |
cljs.core.Range.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/Range") | |
}; | |
cljs.core.Range.prototype.cljs$core$IHash$_hash$arity$1 = function(rng) { | |
var this__11129 = this; | |
var h__2216__auto____11130 = this__11129.__hash; | |
if(!(h__2216__auto____11130 == null)) { | |
return h__2216__auto____11130 | |
}else { | |
var h__2216__auto____11131 = cljs.core.hash_coll.call(null, rng); | |
this__11129.__hash = h__2216__auto____11131; | |
return h__2216__auto____11131 | |
} | |
}; | |
cljs.core.Range.prototype.cljs$core$INext$_next$arity$1 = function(rng) { | |
var this__11132 = this; | |
if(this__11132.step > 0) { | |
if(this__11132.start + this__11132.step < this__11132.end) { | |
return new cljs.core.Range(this__11132.meta, this__11132.start + this__11132.step, this__11132.end, this__11132.step, null) | |
}else { | |
return null | |
} | |
}else { | |
if(this__11132.start + this__11132.step > this__11132.end) { | |
return new cljs.core.Range(this__11132.meta, this__11132.start + this__11132.step, this__11132.end, this__11132.step, null) | |
}else { | |
return null | |
} | |
} | |
}; | |
cljs.core.Range.prototype.cljs$core$ICollection$_conj$arity$2 = function(rng, o) { | |
var this__11133 = this; | |
return cljs.core.cons.call(null, o, rng) | |
}; | |
cljs.core.Range.prototype.toString = function() { | |
var this__11134 = this; | |
var this__11135 = this; | |
return cljs.core.pr_str.call(null, this__11135) | |
}; | |
cljs.core.Range.prototype.cljs$core$IReduce$_reduce$arity$2 = function(rng, f) { | |
var this__11136 = this; | |
return cljs.core.ci_reduce.call(null, rng, f) | |
}; | |
cljs.core.Range.prototype.cljs$core$IReduce$_reduce$arity$3 = function(rng, f, s) { | |
var this__11137 = this; | |
return cljs.core.ci_reduce.call(null, rng, f, s) | |
}; | |
cljs.core.Range.prototype.cljs$core$ISeqable$_seq$arity$1 = function(rng) { | |
var this__11138 = this; | |
if(this__11138.step > 0) { | |
if(this__11138.start < this__11138.end) { | |
return rng | |
}else { | |
return null | |
} | |
}else { | |
if(this__11138.start > this__11138.end) { | |
return rng | |
}else { | |
return null | |
} | |
} | |
}; | |
cljs.core.Range.prototype.cljs$core$ICounted$_count$arity$1 = function(rng) { | |
var this__11139 = this; | |
if(cljs.core.not.call(null, rng.cljs$core$ISeqable$_seq$arity$1(rng))) { | |
return 0 | |
}else { | |
return Math.ceil((this__11139.end - this__11139.start) / this__11139.step) | |
} | |
}; | |
cljs.core.Range.prototype.cljs$core$ISeq$_first$arity$1 = function(rng) { | |
var this__11140 = this; | |
return this__11140.start | |
}; | |
cljs.core.Range.prototype.cljs$core$ISeq$_rest$arity$1 = function(rng) { | |
var this__11141 = this; | |
if(!(rng.cljs$core$ISeqable$_seq$arity$1(rng) == null)) { | |
return new cljs.core.Range(this__11141.meta, this__11141.start + this__11141.step, this__11141.end, this__11141.step, null) | |
}else { | |
return cljs.core.List.EMPTY | |
} | |
}; | |
cljs.core.Range.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(rng, other) { | |
var this__11142 = this; | |
return cljs.core.equiv_sequential.call(null, rng, other) | |
}; | |
cljs.core.Range.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = function(rng, meta) { | |
var this__11143 = this; | |
return new cljs.core.Range(meta, this__11143.start, this__11143.end, this__11143.step, this__11143.__hash) | |
}; | |
cljs.core.Range.prototype.cljs$core$IMeta$_meta$arity$1 = function(rng) { | |
var this__11144 = this; | |
return this__11144.meta | |
}; | |
cljs.core.Range.prototype.cljs$core$IIndexed$_nth$arity$2 = function(rng, n) { | |
var this__11145 = this; | |
if(n < rng.cljs$core$ICounted$_count$arity$1(rng)) { | |
return this__11145.start + n * this__11145.step | |
}else { | |
if(function() { | |
var and__3822__auto____11146 = this__11145.start > this__11145.end; | |
if(and__3822__auto____11146) { | |
return this__11145.step === 0 | |
}else { | |
return and__3822__auto____11146 | |
} | |
}()) { | |
return this__11145.start | |
}else { | |
throw new Error("Index out of bounds"); | |
} | |
} | |
}; | |
cljs.core.Range.prototype.cljs$core$IIndexed$_nth$arity$3 = function(rng, n, not_found) { | |
var this__11147 = this; | |
if(n < rng.cljs$core$ICounted$_count$arity$1(rng)) { | |
return this__11147.start + n * this__11147.step | |
}else { | |
if(function() { | |
var and__3822__auto____11148 = this__11147.start > this__11147.end; | |
if(and__3822__auto____11148) { | |
return this__11147.step === 0 | |
}else { | |
return and__3822__auto____11148 | |
} | |
}()) { | |
return this__11147.start | |
}else { | |
return not_found | |
} | |
} | |
}; | |
cljs.core.Range.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = function(rng) { | |
var this__11149 = this; | |
return cljs.core.with_meta.call(null, cljs.core.List.EMPTY, this__11149.meta) | |
}; | |
cljs.core.Range; | |
cljs.core.range = function() { | |
var range = null; | |
var range__0 = function() { | |
return range.call(null, 0, Number.MAX_VALUE, 1) | |
}; | |
var range__1 = function(end) { | |
return range.call(null, 0, end, 1) | |
}; | |
var range__2 = function(start, end) { | |
return range.call(null, start, end, 1) | |
}; | |
var range__3 = function(start, end, step) { | |
return new cljs.core.Range(null, start, end, step, null) | |
}; | |
range = function(start, end, step) { | |
switch(arguments.length) { | |
case 0: | |
return range__0.call(this); | |
case 1: | |
return range__1.call(this, start); | |
case 2: | |
return range__2.call(this, start, end); | |
case 3: | |
return range__3.call(this, start, end, step) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
range.cljs$lang$arity$0 = range__0; | |
range.cljs$lang$arity$1 = range__1; | |
range.cljs$lang$arity$2 = range__2; | |
range.cljs$lang$arity$3 = range__3; | |
return range | |
}(); | |
cljs.core.take_nth = function take_nth(n, coll) { | |
return new cljs.core.LazySeq(null, false, function() { | |
var temp__3974__auto____11152 = cljs.core.seq.call(null, coll); | |
if(temp__3974__auto____11152) { | |
var s__11153 = temp__3974__auto____11152; | |
return cljs.core.cons.call(null, cljs.core.first.call(null, s__11153), take_nth.call(null, n, cljs.core.drop.call(null, n, s__11153))) | |
}else { | |
return null | |
} | |
}, null) | |
}; | |
cljs.core.split_with = function split_with(pred, coll) { | |
return cljs.core.PersistentVector.fromArray([cljs.core.take_while.call(null, pred, coll), cljs.core.drop_while.call(null, pred, coll)], true) | |
}; | |
cljs.core.partition_by = function partition_by(f, coll) { | |
return new cljs.core.LazySeq(null, false, function() { | |
var temp__3974__auto____11160 = cljs.core.seq.call(null, coll); | |
if(temp__3974__auto____11160) { | |
var s__11161 = temp__3974__auto____11160; | |
var fst__11162 = cljs.core.first.call(null, s__11161); | |
var fv__11163 = f.call(null, fst__11162); | |
var run__11164 = cljs.core.cons.call(null, fst__11162, cljs.core.take_while.call(null, function(p1__11154_SHARP_) { | |
return cljs.core._EQ_.call(null, fv__11163, f.call(null, p1__11154_SHARP_)) | |
}, cljs.core.next.call(null, s__11161))); | |
return cljs.core.cons.call(null, run__11164, partition_by.call(null, f, cljs.core.seq.call(null, cljs.core.drop.call(null, cljs.core.count.call(null, run__11164), s__11161)))) | |
}else { | |
return null | |
} | |
}, null) | |
}; | |
cljs.core.frequencies = function frequencies(coll) { | |
return cljs.core.persistent_BANG_.call(null, cljs.core.reduce.call(null, function(counts, x) { | |
return cljs.core.assoc_BANG_.call(null, counts, x, cljs.core._lookup.call(null, counts, x, 0) + 1) | |
}, cljs.core.transient$.call(null, cljs.core.ObjMap.EMPTY), coll)) | |
}; | |
cljs.core.reductions = function() { | |
var reductions = null; | |
var reductions__2 = function(f, coll) { | |
return new cljs.core.LazySeq(null, false, function() { | |
var temp__3971__auto____11179 = cljs.core.seq.call(null, coll); | |
if(temp__3971__auto____11179) { | |
var s__11180 = temp__3971__auto____11179; | |
return reductions.call(null, f, cljs.core.first.call(null, s__11180), cljs.core.rest.call(null, s__11180)) | |
}else { | |
return cljs.core.list.call(null, f.call(null)) | |
} | |
}, null) | |
}; | |
var reductions__3 = function(f, init, coll) { | |
return cljs.core.cons.call(null, init, new cljs.core.LazySeq(null, false, function() { | |
var temp__3974__auto____11181 = cljs.core.seq.call(null, coll); | |
if(temp__3974__auto____11181) { | |
var s__11182 = temp__3974__auto____11181; | |
return reductions.call(null, f, f.call(null, init, cljs.core.first.call(null, s__11182)), cljs.core.rest.call(null, s__11182)) | |
}else { | |
return null | |
} | |
}, null)) | |
}; | |
reductions = function(f, init, coll) { | |
switch(arguments.length) { | |
case 2: | |
return reductions__2.call(this, f, init); | |
case 3: | |
return reductions__3.call(this, f, init, coll) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
reductions.cljs$lang$arity$2 = reductions__2; | |
reductions.cljs$lang$arity$3 = reductions__3; | |
return reductions | |
}(); | |
cljs.core.juxt = function() { | |
var juxt = null; | |
var juxt__1 = function(f) { | |
return function() { | |
var G__11185 = null; | |
var G__11185__0 = function() { | |
return cljs.core.vector.call(null, f.call(null)) | |
}; | |
var G__11185__1 = function(x) { | |
return cljs.core.vector.call(null, f.call(null, x)) | |
}; | |
var G__11185__2 = function(x, y) { | |
return cljs.core.vector.call(null, f.call(null, x, y)) | |
}; | |
var G__11185__3 = function(x, y, z) { | |
return cljs.core.vector.call(null, f.call(null, x, y, z)) | |
}; | |
var G__11185__4 = function() { | |
var G__11186__delegate = function(x, y, z, args) { | |
return cljs.core.vector.call(null, cljs.core.apply.call(null, f, x, y, z, args)) | |
}; | |
var G__11186 = function(x, y, z, var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__11186__delegate.call(this, x, y, z, args) | |
}; | |
G__11186.cljs$lang$maxFixedArity = 3; | |
G__11186.cljs$lang$applyTo = function(arglist__11187) { | |
var x = cljs.core.first(arglist__11187); | |
var y = cljs.core.first(cljs.core.next(arglist__11187)); | |
var z = cljs.core.first(cljs.core.next(cljs.core.next(arglist__11187))); | |
var args = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__11187))); | |
return G__11186__delegate(x, y, z, args) | |
}; | |
G__11186.cljs$lang$arity$variadic = G__11186__delegate; | |
return G__11186 | |
}(); | |
G__11185 = function(x, y, z, var_args) { | |
var args = var_args; | |
switch(arguments.length) { | |
case 0: | |
return G__11185__0.call(this); | |
case 1: | |
return G__11185__1.call(this, x); | |
case 2: | |
return G__11185__2.call(this, x, y); | |
case 3: | |
return G__11185__3.call(this, x, y, z); | |
default: | |
return G__11185__4.cljs$lang$arity$variadic(x, y, z, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
G__11185.cljs$lang$maxFixedArity = 3; | |
G__11185.cljs$lang$applyTo = G__11185__4.cljs$lang$applyTo; | |
return G__11185 | |
}() | |
}; | |
var juxt__2 = function(f, g) { | |
return function() { | |
var G__11188 = null; | |
var G__11188__0 = function() { | |
return cljs.core.vector.call(null, f.call(null), g.call(null)) | |
}; | |
var G__11188__1 = function(x) { | |
return cljs.core.vector.call(null, f.call(null, x), g.call(null, x)) | |
}; | |
var G__11188__2 = function(x, y) { | |
return cljs.core.vector.call(null, f.call(null, x, y), g.call(null, x, y)) | |
}; | |
var G__11188__3 = function(x, y, z) { | |
return cljs.core.vector.call(null, f.call(null, x, y, z), g.call(null, x, y, z)) | |
}; | |
var G__11188__4 = function() { | |
var G__11189__delegate = function(x, y, z, args) { | |
return cljs.core.vector.call(null, cljs.core.apply.call(null, f, x, y, z, args), cljs.core.apply.call(null, g, x, y, z, args)) | |
}; | |
var G__11189 = function(x, y, z, var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__11189__delegate.call(this, x, y, z, args) | |
}; | |
G__11189.cljs$lang$maxFixedArity = 3; | |
G__11189.cljs$lang$applyTo = function(arglist__11190) { | |
var x = cljs.core.first(arglist__11190); | |
var y = cljs.core.first(cljs.core.next(arglist__11190)); | |
var z = cljs.core.first(cljs.core.next(cljs.core.next(arglist__11190))); | |
var args = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__11190))); | |
return G__11189__delegate(x, y, z, args) | |
}; | |
G__11189.cljs$lang$arity$variadic = G__11189__delegate; | |
return G__11189 | |
}(); | |
G__11188 = function(x, y, z, var_args) { | |
var args = var_args; | |
switch(arguments.length) { | |
case 0: | |
return G__11188__0.call(this); | |
case 1: | |
return G__11188__1.call(this, x); | |
case 2: | |
return G__11188__2.call(this, x, y); | |
case 3: | |
return G__11188__3.call(this, x, y, z); | |
default: | |
return G__11188__4.cljs$lang$arity$variadic(x, y, z, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
G__11188.cljs$lang$maxFixedArity = 3; | |
G__11188.cljs$lang$applyTo = G__11188__4.cljs$lang$applyTo; | |
return G__11188 | |
}() | |
}; | |
var juxt__3 = function(f, g, h) { | |
return function() { | |
var G__11191 = null; | |
var G__11191__0 = function() { | |
return cljs.core.vector.call(null, f.call(null), g.call(null), h.call(null)) | |
}; | |
var G__11191__1 = function(x) { | |
return cljs.core.vector.call(null, f.call(null, x), g.call(null, x), h.call(null, x)) | |
}; | |
var G__11191__2 = function(x, y) { | |
return cljs.core.vector.call(null, f.call(null, x, y), g.call(null, x, y), h.call(null, x, y)) | |
}; | |
var G__11191__3 = function(x, y, z) { | |
return cljs.core.vector.call(null, f.call(null, x, y, z), g.call(null, x, y, z), h.call(null, x, y, z)) | |
}; | |
var G__11191__4 = function() { | |
var G__11192__delegate = function(x, y, z, args) { | |
return cljs.core.vector.call(null, cljs.core.apply.call(null, f, x, y, z, args), cljs.core.apply.call(null, g, x, y, z, args), cljs.core.apply.call(null, h, x, y, z, args)) | |
}; | |
var G__11192 = function(x, y, z, var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__11192__delegate.call(this, x, y, z, args) | |
}; | |
G__11192.cljs$lang$maxFixedArity = 3; | |
G__11192.cljs$lang$applyTo = function(arglist__11193) { | |
var x = cljs.core.first(arglist__11193); | |
var y = cljs.core.first(cljs.core.next(arglist__11193)); | |
var z = cljs.core.first(cljs.core.next(cljs.core.next(arglist__11193))); | |
var args = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__11193))); | |
return G__11192__delegate(x, y, z, args) | |
}; | |
G__11192.cljs$lang$arity$variadic = G__11192__delegate; | |
return G__11192 | |
}(); | |
G__11191 = function(x, y, z, var_args) { | |
var args = var_args; | |
switch(arguments.length) { | |
case 0: | |
return G__11191__0.call(this); | |
case 1: | |
return G__11191__1.call(this, x); | |
case 2: | |
return G__11191__2.call(this, x, y); | |
case 3: | |
return G__11191__3.call(this, x, y, z); | |
default: | |
return G__11191__4.cljs$lang$arity$variadic(x, y, z, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
G__11191.cljs$lang$maxFixedArity = 3; | |
G__11191.cljs$lang$applyTo = G__11191__4.cljs$lang$applyTo; | |
return G__11191 | |
}() | |
}; | |
var juxt__4 = function() { | |
var G__11194__delegate = function(f, g, h, fs) { | |
var fs__11184 = cljs.core.list_STAR_.call(null, f, g, h, fs); | |
return function() { | |
var G__11195 = null; | |
var G__11195__0 = function() { | |
return cljs.core.reduce.call(null, function(p1__11165_SHARP_, p2__11166_SHARP_) { | |
return cljs.core.conj.call(null, p1__11165_SHARP_, p2__11166_SHARP_.call(null)) | |
}, cljs.core.PersistentVector.EMPTY, fs__11184) | |
}; | |
var G__11195__1 = function(x) { | |
return cljs.core.reduce.call(null, function(p1__11167_SHARP_, p2__11168_SHARP_) { | |
return cljs.core.conj.call(null, p1__11167_SHARP_, p2__11168_SHARP_.call(null, x)) | |
}, cljs.core.PersistentVector.EMPTY, fs__11184) | |
}; | |
var G__11195__2 = function(x, y) { | |
return cljs.core.reduce.call(null, function(p1__11169_SHARP_, p2__11170_SHARP_) { | |
return cljs.core.conj.call(null, p1__11169_SHARP_, p2__11170_SHARP_.call(null, x, y)) | |
}, cljs.core.PersistentVector.EMPTY, fs__11184) | |
}; | |
var G__11195__3 = function(x, y, z) { | |
return cljs.core.reduce.call(null, function(p1__11171_SHARP_, p2__11172_SHARP_) { | |
return cljs.core.conj.call(null, p1__11171_SHARP_, p2__11172_SHARP_.call(null, x, y, z)) | |
}, cljs.core.PersistentVector.EMPTY, fs__11184) | |
}; | |
var G__11195__4 = function() { | |
var G__11196__delegate = function(x, y, z, args) { | |
return cljs.core.reduce.call(null, function(p1__11173_SHARP_, p2__11174_SHARP_) { | |
return cljs.core.conj.call(null, p1__11173_SHARP_, cljs.core.apply.call(null, p2__11174_SHARP_, x, y, z, args)) | |
}, cljs.core.PersistentVector.EMPTY, fs__11184) | |
}; | |
var G__11196 = function(x, y, z, var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__11196__delegate.call(this, x, y, z, args) | |
}; | |
G__11196.cljs$lang$maxFixedArity = 3; | |
G__11196.cljs$lang$applyTo = function(arglist__11197) { | |
var x = cljs.core.first(arglist__11197); | |
var y = cljs.core.first(cljs.core.next(arglist__11197)); | |
var z = cljs.core.first(cljs.core.next(cljs.core.next(arglist__11197))); | |
var args = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__11197))); | |
return G__11196__delegate(x, y, z, args) | |
}; | |
G__11196.cljs$lang$arity$variadic = G__11196__delegate; | |
return G__11196 | |
}(); | |
G__11195 = function(x, y, z, var_args) { | |
var args = var_args; | |
switch(arguments.length) { | |
case 0: | |
return G__11195__0.call(this); | |
case 1: | |
return G__11195__1.call(this, x); | |
case 2: | |
return G__11195__2.call(this, x, y); | |
case 3: | |
return G__11195__3.call(this, x, y, z); | |
default: | |
return G__11195__4.cljs$lang$arity$variadic(x, y, z, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
G__11195.cljs$lang$maxFixedArity = 3; | |
G__11195.cljs$lang$applyTo = G__11195__4.cljs$lang$applyTo; | |
return G__11195 | |
}() | |
}; | |
var G__11194 = function(f, g, h, var_args) { | |
var fs = null; | |
if(goog.isDef(var_args)) { | |
fs = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3), 0) | |
} | |
return G__11194__delegate.call(this, f, g, h, fs) | |
}; | |
G__11194.cljs$lang$maxFixedArity = 3; | |
G__11194.cljs$lang$applyTo = function(arglist__11198) { | |
var f = cljs.core.first(arglist__11198); | |
var g = cljs.core.first(cljs.core.next(arglist__11198)); | |
var h = cljs.core.first(cljs.core.next(cljs.core.next(arglist__11198))); | |
var fs = cljs.core.rest(cljs.core.next(cljs.core.next(arglist__11198))); | |
return G__11194__delegate(f, g, h, fs) | |
}; | |
G__11194.cljs$lang$arity$variadic = G__11194__delegate; | |
return G__11194 | |
}(); | |
juxt = function(f, g, h, var_args) { | |
var fs = var_args; | |
switch(arguments.length) { | |
case 1: | |
return juxt__1.call(this, f); | |
case 2: | |
return juxt__2.call(this, f, g); | |
case 3: | |
return juxt__3.call(this, f, g, h); | |
default: | |
return juxt__4.cljs$lang$arity$variadic(f, g, h, cljs.core.array_seq(arguments, 3)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
juxt.cljs$lang$maxFixedArity = 3; | |
juxt.cljs$lang$applyTo = juxt__4.cljs$lang$applyTo; | |
juxt.cljs$lang$arity$1 = juxt__1; | |
juxt.cljs$lang$arity$2 = juxt__2; | |
juxt.cljs$lang$arity$3 = juxt__3; | |
juxt.cljs$lang$arity$variadic = juxt__4.cljs$lang$arity$variadic; | |
return juxt | |
}(); | |
cljs.core.dorun = function() { | |
var dorun = null; | |
var dorun__1 = function(coll) { | |
while(true) { | |
if(cljs.core.seq.call(null, coll)) { | |
var G__11201 = cljs.core.next.call(null, coll); | |
coll = G__11201; | |
continue | |
}else { | |
return null | |
} | |
break | |
} | |
}; | |
var dorun__2 = function(n, coll) { | |
while(true) { | |
if(cljs.core.truth_(function() { | |
var and__3822__auto____11200 = cljs.core.seq.call(null, coll); | |
if(and__3822__auto____11200) { | |
return n > 0 | |
}else { | |
return and__3822__auto____11200 | |
} | |
}())) { | |
var G__11202 = n - 1; | |
var G__11203 = cljs.core.next.call(null, coll); | |
n = G__11202; | |
coll = G__11203; | |
continue | |
}else { | |
return null | |
} | |
break | |
} | |
}; | |
dorun = function(n, coll) { | |
switch(arguments.length) { | |
case 1: | |
return dorun__1.call(this, n); | |
case 2: | |
return dorun__2.call(this, n, coll) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
dorun.cljs$lang$arity$1 = dorun__1; | |
dorun.cljs$lang$arity$2 = dorun__2; | |
return dorun | |
}(); | |
cljs.core.doall = function() { | |
var doall = null; | |
var doall__1 = function(coll) { | |
cljs.core.dorun.call(null, coll); | |
return coll | |
}; | |
var doall__2 = function(n, coll) { | |
cljs.core.dorun.call(null, n, coll); | |
return coll | |
}; | |
doall = function(n, coll) { | |
switch(arguments.length) { | |
case 1: | |
return doall__1.call(this, n); | |
case 2: | |
return doall__2.call(this, n, coll) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
doall.cljs$lang$arity$1 = doall__1; | |
doall.cljs$lang$arity$2 = doall__2; | |
return doall | |
}(); | |
cljs.core.regexp_QMARK_ = function regexp_QMARK_(o) { | |
return o instanceof RegExp | |
}; | |
cljs.core.re_matches = function re_matches(re, s) { | |
var matches__11205 = re.exec(s); | |
if(cljs.core._EQ_.call(null, cljs.core.first.call(null, matches__11205), s)) { | |
if(cljs.core.count.call(null, matches__11205) === 1) { | |
return cljs.core.first.call(null, matches__11205) | |
}else { | |
return cljs.core.vec.call(null, matches__11205) | |
} | |
}else { | |
return null | |
} | |
}; | |
cljs.core.re_find = function re_find(re, s) { | |
var matches__11207 = re.exec(s); | |
if(matches__11207 == null) { | |
return null | |
}else { | |
if(cljs.core.count.call(null, matches__11207) === 1) { | |
return cljs.core.first.call(null, matches__11207) | |
}else { | |
return cljs.core.vec.call(null, matches__11207) | |
} | |
} | |
}; | |
cljs.core.re_seq = function re_seq(re, s) { | |
var match_data__11212 = cljs.core.re_find.call(null, re, s); | |
var match_idx__11213 = s.search(re); | |
var match_str__11214 = cljs.core.coll_QMARK_.call(null, match_data__11212) ? cljs.core.first.call(null, match_data__11212) : match_data__11212; | |
var post_match__11215 = cljs.core.subs.call(null, s, match_idx__11213 + cljs.core.count.call(null, match_str__11214)); | |
if(cljs.core.truth_(match_data__11212)) { | |
return new cljs.core.LazySeq(null, false, function() { | |
return cljs.core.cons.call(null, match_data__11212, re_seq.call(null, re, post_match__11215)) | |
}, null) | |
}else { | |
return null | |
} | |
}; | |
cljs.core.re_pattern = function re_pattern(s) { | |
var vec__11222__11223 = cljs.core.re_find.call(null, /^(?:\(\?([idmsux]*)\))?(.*)/, s); | |
var ___11224 = cljs.core.nth.call(null, vec__11222__11223, 0, null); | |
var flags__11225 = cljs.core.nth.call(null, vec__11222__11223, 1, null); | |
var pattern__11226 = cljs.core.nth.call(null, vec__11222__11223, 2, null); | |
return new RegExp(pattern__11226, flags__11225) | |
}; | |
cljs.core.pr_sequential = function pr_sequential(print_one, begin, sep, end, opts, coll) { | |
return cljs.core.concat.call(null, cljs.core.PersistentVector.fromArray([begin], true), cljs.core.flatten1.call(null, cljs.core.interpose.call(null, cljs.core.PersistentVector.fromArray([sep], true), cljs.core.map.call(null, function(p1__11216_SHARP_) { | |
return print_one.call(null, p1__11216_SHARP_, opts) | |
}, coll))), cljs.core.PersistentVector.fromArray([end], true)) | |
}; | |
cljs.core.string_print = function string_print(x) { | |
cljs.core._STAR_print_fn_STAR_.call(null, x); | |
return null | |
}; | |
cljs.core.flush = function flush() { | |
return null | |
}; | |
cljs.core.pr_seq = function pr_seq(obj, opts) { | |
if(obj == null) { | |
return cljs.core.list.call(null, "nil") | |
}else { | |
if(void 0 === obj) { | |
return cljs.core.list.call(null, "#<undefined>") | |
}else { | |
if("\ufdd0'else") { | |
return cljs.core.concat.call(null, cljs.core.truth_(function() { | |
var and__3822__auto____11236 = cljs.core._lookup.call(null, opts, "\ufdd0'meta", null); | |
if(cljs.core.truth_(and__3822__auto____11236)) { | |
var and__3822__auto____11240 = function() { | |
var G__11237__11238 = obj; | |
if(G__11237__11238) { | |
if(function() { | |
var or__3824__auto____11239 = G__11237__11238.cljs$lang$protocol_mask$partition0$ & 131072; | |
if(or__3824__auto____11239) { | |
return or__3824__auto____11239 | |
}else { | |
return G__11237__11238.cljs$core$IMeta$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__11237__11238.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IMeta, G__11237__11238) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IMeta, G__11237__11238) | |
} | |
}(); | |
if(cljs.core.truth_(and__3822__auto____11240)) { | |
return cljs.core.meta.call(null, obj) | |
}else { | |
return and__3822__auto____11240 | |
} | |
}else { | |
return and__3822__auto____11236 | |
} | |
}()) ? cljs.core.concat.call(null, cljs.core.PersistentVector.fromArray(["^"], true), pr_seq.call(null, cljs.core.meta.call(null, obj), opts), cljs.core.PersistentVector.fromArray([" "], true)) : null, function() { | |
var and__3822__auto____11241 = !(obj == null); | |
if(and__3822__auto____11241) { | |
return obj.cljs$lang$type | |
}else { | |
return and__3822__auto____11241 | |
} | |
}() ? obj.cljs$lang$ctorPrSeq(obj) : function() { | |
var G__11242__11243 = obj; | |
if(G__11242__11243) { | |
if(function() { | |
var or__3824__auto____11244 = G__11242__11243.cljs$lang$protocol_mask$partition0$ & 536870912; | |
if(or__3824__auto____11244) { | |
return or__3824__auto____11244 | |
}else { | |
return G__11242__11243.cljs$core$IPrintable$ | |
} | |
}()) { | |
return true | |
}else { | |
if(!G__11242__11243.cljs$lang$protocol_mask$partition0$) { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IPrintable, G__11242__11243) | |
}else { | |
return false | |
} | |
} | |
}else { | |
return cljs.core.type_satisfies_.call(null, cljs.core.IPrintable, G__11242__11243) | |
} | |
}() ? cljs.core._pr_seq.call(null, obj, opts) : cljs.core.truth_(cljs.core.regexp_QMARK_.call(null, obj)) ? cljs.core.list.call(null, '#"', obj.source, '"') : "\ufdd0'else" ? cljs.core.list.call(null, "#<", [cljs.core.str(obj)].join(""), ">") : null) | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
cljs.core.pr_sb = function pr_sb(objs, opts) { | |
var sb__11264 = new goog.string.StringBuffer; | |
var G__11265__11266 = cljs.core.seq.call(null, cljs.core.pr_seq.call(null, cljs.core.first.call(null, objs), opts)); | |
if(G__11265__11266) { | |
var string__11267 = cljs.core.first.call(null, G__11265__11266); | |
var G__11265__11268 = G__11265__11266; | |
while(true) { | |
sb__11264.append(string__11267); | |
var temp__3974__auto____11269 = cljs.core.next.call(null, G__11265__11268); | |
if(temp__3974__auto____11269) { | |
var G__11265__11270 = temp__3974__auto____11269; | |
var G__11283 = cljs.core.first.call(null, G__11265__11270); | |
var G__11284 = G__11265__11270; | |
string__11267 = G__11283; | |
G__11265__11268 = G__11284; | |
continue | |
}else { | |
} | |
break | |
} | |
}else { | |
} | |
var G__11271__11272 = cljs.core.seq.call(null, cljs.core.next.call(null, objs)); | |
if(G__11271__11272) { | |
var obj__11273 = cljs.core.first.call(null, G__11271__11272); | |
var G__11271__11274 = G__11271__11272; | |
while(true) { | |
sb__11264.append(" "); | |
var G__11275__11276 = cljs.core.seq.call(null, cljs.core.pr_seq.call(null, obj__11273, opts)); | |
if(G__11275__11276) { | |
var string__11277 = cljs.core.first.call(null, G__11275__11276); | |
var G__11275__11278 = G__11275__11276; | |
while(true) { | |
sb__11264.append(string__11277); | |
var temp__3974__auto____11279 = cljs.core.next.call(null, G__11275__11278); | |
if(temp__3974__auto____11279) { | |
var G__11275__11280 = temp__3974__auto____11279; | |
var G__11285 = cljs.core.first.call(null, G__11275__11280); | |
var G__11286 = G__11275__11280; | |
string__11277 = G__11285; | |
G__11275__11278 = G__11286; | |
continue | |
}else { | |
} | |
break | |
} | |
}else { | |
} | |
var temp__3974__auto____11281 = cljs.core.next.call(null, G__11271__11274); | |
if(temp__3974__auto____11281) { | |
var G__11271__11282 = temp__3974__auto____11281; | |
var G__11287 = cljs.core.first.call(null, G__11271__11282); | |
var G__11288 = G__11271__11282; | |
obj__11273 = G__11287; | |
G__11271__11274 = G__11288; | |
continue | |
}else { | |
} | |
break | |
} | |
}else { | |
} | |
return sb__11264 | |
}; | |
cljs.core.pr_str_with_opts = function pr_str_with_opts(objs, opts) { | |
return[cljs.core.str(cljs.core.pr_sb.call(null, objs, opts))].join("") | |
}; | |
cljs.core.prn_str_with_opts = function prn_str_with_opts(objs, opts) { | |
var sb__11290 = cljs.core.pr_sb.call(null, objs, opts); | |
sb__11290.append("\n"); | |
return[cljs.core.str(sb__11290)].join("") | |
}; | |
cljs.core.pr_with_opts = function pr_with_opts(objs, opts) { | |
var G__11309__11310 = cljs.core.seq.call(null, cljs.core.pr_seq.call(null, cljs.core.first.call(null, objs), opts)); | |
if(G__11309__11310) { | |
var string__11311 = cljs.core.first.call(null, G__11309__11310); | |
var G__11309__11312 = G__11309__11310; | |
while(true) { | |
cljs.core.string_print.call(null, string__11311); | |
var temp__3974__auto____11313 = cljs.core.next.call(null, G__11309__11312); | |
if(temp__3974__auto____11313) { | |
var G__11309__11314 = temp__3974__auto____11313; | |
var G__11327 = cljs.core.first.call(null, G__11309__11314); | |
var G__11328 = G__11309__11314; | |
string__11311 = G__11327; | |
G__11309__11312 = G__11328; | |
continue | |
}else { | |
} | |
break | |
} | |
}else { | |
} | |
var G__11315__11316 = cljs.core.seq.call(null, cljs.core.next.call(null, objs)); | |
if(G__11315__11316) { | |
var obj__11317 = cljs.core.first.call(null, G__11315__11316); | |
var G__11315__11318 = G__11315__11316; | |
while(true) { | |
cljs.core.string_print.call(null, " "); | |
var G__11319__11320 = cljs.core.seq.call(null, cljs.core.pr_seq.call(null, obj__11317, opts)); | |
if(G__11319__11320) { | |
var string__11321 = cljs.core.first.call(null, G__11319__11320); | |
var G__11319__11322 = G__11319__11320; | |
while(true) { | |
cljs.core.string_print.call(null, string__11321); | |
var temp__3974__auto____11323 = cljs.core.next.call(null, G__11319__11322); | |
if(temp__3974__auto____11323) { | |
var G__11319__11324 = temp__3974__auto____11323; | |
var G__11329 = cljs.core.first.call(null, G__11319__11324); | |
var G__11330 = G__11319__11324; | |
string__11321 = G__11329; | |
G__11319__11322 = G__11330; | |
continue | |
}else { | |
} | |
break | |
} | |
}else { | |
} | |
var temp__3974__auto____11325 = cljs.core.next.call(null, G__11315__11318); | |
if(temp__3974__auto____11325) { | |
var G__11315__11326 = temp__3974__auto____11325; | |
var G__11331 = cljs.core.first.call(null, G__11315__11326); | |
var G__11332 = G__11315__11326; | |
obj__11317 = G__11331; | |
G__11315__11318 = G__11332; | |
continue | |
}else { | |
return null | |
} | |
break | |
} | |
}else { | |
return null | |
} | |
}; | |
cljs.core.newline = function newline(opts) { | |
cljs.core.string_print.call(null, "\n"); | |
if(cljs.core.truth_(cljs.core._lookup.call(null, opts, "\ufdd0'flush-on-newline", null))) { | |
return cljs.core.flush.call(null) | |
}else { | |
return null | |
} | |
}; | |
cljs.core._STAR_flush_on_newline_STAR_ = true; | |
cljs.core._STAR_print_readably_STAR_ = true; | |
cljs.core._STAR_print_meta_STAR_ = false; | |
cljs.core._STAR_print_dup_STAR_ = false; | |
cljs.core.pr_opts = function pr_opts() { | |
return cljs.core.ObjMap.fromObject(["\ufdd0'flush-on-newline", "\ufdd0'readably", "\ufdd0'meta", "\ufdd0'dup"], {"\ufdd0'flush-on-newline":cljs.core._STAR_flush_on_newline_STAR_, "\ufdd0'readably":cljs.core._STAR_print_readably_STAR_, "\ufdd0'meta":cljs.core._STAR_print_meta_STAR_, "\ufdd0'dup":cljs.core._STAR_print_dup_STAR_}) | |
}; | |
cljs.core.pr_str = function() { | |
var pr_str__delegate = function(objs) { | |
return cljs.core.pr_str_with_opts.call(null, objs, cljs.core.pr_opts.call(null)) | |
}; | |
var pr_str = function(var_args) { | |
var objs = null; | |
if(goog.isDef(var_args)) { | |
objs = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return pr_str__delegate.call(this, objs) | |
}; | |
pr_str.cljs$lang$maxFixedArity = 0; | |
pr_str.cljs$lang$applyTo = function(arglist__11333) { | |
var objs = cljs.core.seq(arglist__11333); | |
return pr_str__delegate(objs) | |
}; | |
pr_str.cljs$lang$arity$variadic = pr_str__delegate; | |
return pr_str | |
}(); | |
cljs.core.prn_str = function() { | |
var prn_str__delegate = function(objs) { | |
return cljs.core.prn_str_with_opts.call(null, objs, cljs.core.pr_opts.call(null)) | |
}; | |
var prn_str = function(var_args) { | |
var objs = null; | |
if(goog.isDef(var_args)) { | |
objs = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return prn_str__delegate.call(this, objs) | |
}; | |
prn_str.cljs$lang$maxFixedArity = 0; | |
prn_str.cljs$lang$applyTo = function(arglist__11334) { | |
var objs = cljs.core.seq(arglist__11334); | |
return prn_str__delegate(objs) | |
}; | |
prn_str.cljs$lang$arity$variadic = prn_str__delegate; | |
return prn_str | |
}(); | |
cljs.core.pr = function() { | |
var pr__delegate = function(objs) { | |
return cljs.core.pr_with_opts.call(null, objs, cljs.core.pr_opts.call(null)) | |
}; | |
var pr = function(var_args) { | |
var objs = null; | |
if(goog.isDef(var_args)) { | |
objs = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return pr__delegate.call(this, objs) | |
}; | |
pr.cljs$lang$maxFixedArity = 0; | |
pr.cljs$lang$applyTo = function(arglist__11335) { | |
var objs = cljs.core.seq(arglist__11335); | |
return pr__delegate(objs) | |
}; | |
pr.cljs$lang$arity$variadic = pr__delegate; | |
return pr | |
}(); | |
cljs.core.print = function() { | |
var cljs_core_print__delegate = function(objs) { | |
return cljs.core.pr_with_opts.call(null, objs, cljs.core.assoc.call(null, cljs.core.pr_opts.call(null), "\ufdd0'readably", false)) | |
}; | |
var cljs_core_print = function(var_args) { | |
var objs = null; | |
if(goog.isDef(var_args)) { | |
objs = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return cljs_core_print__delegate.call(this, objs) | |
}; | |
cljs_core_print.cljs$lang$maxFixedArity = 0; | |
cljs_core_print.cljs$lang$applyTo = function(arglist__11336) { | |
var objs = cljs.core.seq(arglist__11336); | |
return cljs_core_print__delegate(objs) | |
}; | |
cljs_core_print.cljs$lang$arity$variadic = cljs_core_print__delegate; | |
return cljs_core_print | |
}(); | |
cljs.core.print_str = function() { | |
var print_str__delegate = function(objs) { | |
return cljs.core.pr_str_with_opts.call(null, objs, cljs.core.assoc.call(null, cljs.core.pr_opts.call(null), "\ufdd0'readably", false)) | |
}; | |
var print_str = function(var_args) { | |
var objs = null; | |
if(goog.isDef(var_args)) { | |
objs = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return print_str__delegate.call(this, objs) | |
}; | |
print_str.cljs$lang$maxFixedArity = 0; | |
print_str.cljs$lang$applyTo = function(arglist__11337) { | |
var objs = cljs.core.seq(arglist__11337); | |
return print_str__delegate(objs) | |
}; | |
print_str.cljs$lang$arity$variadic = print_str__delegate; | |
return print_str | |
}(); | |
cljs.core.println = function() { | |
var println__delegate = function(objs) { | |
cljs.core.pr_with_opts.call(null, objs, cljs.core.assoc.call(null, cljs.core.pr_opts.call(null), "\ufdd0'readably", false)); | |
return cljs.core.newline.call(null, cljs.core.pr_opts.call(null)) | |
}; | |
var println = function(var_args) { | |
var objs = null; | |
if(goog.isDef(var_args)) { | |
objs = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return println__delegate.call(this, objs) | |
}; | |
println.cljs$lang$maxFixedArity = 0; | |
println.cljs$lang$applyTo = function(arglist__11338) { | |
var objs = cljs.core.seq(arglist__11338); | |
return println__delegate(objs) | |
}; | |
println.cljs$lang$arity$variadic = println__delegate; | |
return println | |
}(); | |
cljs.core.println_str = function() { | |
var println_str__delegate = function(objs) { | |
return cljs.core.prn_str_with_opts.call(null, objs, cljs.core.assoc.call(null, cljs.core.pr_opts.call(null), "\ufdd0'readably", false)) | |
}; | |
var println_str = function(var_args) { | |
var objs = null; | |
if(goog.isDef(var_args)) { | |
objs = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return println_str__delegate.call(this, objs) | |
}; | |
println_str.cljs$lang$maxFixedArity = 0; | |
println_str.cljs$lang$applyTo = function(arglist__11339) { | |
var objs = cljs.core.seq(arglist__11339); | |
return println_str__delegate(objs) | |
}; | |
println_str.cljs$lang$arity$variadic = println_str__delegate; | |
return println_str | |
}(); | |
cljs.core.prn = function() { | |
var prn__delegate = function(objs) { | |
cljs.core.pr_with_opts.call(null, objs, cljs.core.pr_opts.call(null)); | |
return cljs.core.newline.call(null, cljs.core.pr_opts.call(null)) | |
}; | |
var prn = function(var_args) { | |
var objs = null; | |
if(goog.isDef(var_args)) { | |
objs = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return prn__delegate.call(this, objs) | |
}; | |
prn.cljs$lang$maxFixedArity = 0; | |
prn.cljs$lang$applyTo = function(arglist__11340) { | |
var objs = cljs.core.seq(arglist__11340); | |
return prn__delegate(objs) | |
}; | |
prn.cljs$lang$arity$variadic = prn__delegate; | |
return prn | |
}(); | |
cljs.core.printf = function() { | |
var printf__delegate = function(fmt, args) { | |
return cljs.core.print.call(null, cljs.core.apply.call(null, cljs.core.format, fmt, args)) | |
}; | |
var printf = function(fmt, var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 1), 0) | |
} | |
return printf__delegate.call(this, fmt, args) | |
}; | |
printf.cljs$lang$maxFixedArity = 1; | |
printf.cljs$lang$applyTo = function(arglist__11341) { | |
var fmt = cljs.core.first(arglist__11341); | |
var args = cljs.core.rest(arglist__11341); | |
return printf__delegate(fmt, args) | |
}; | |
printf.cljs$lang$arity$variadic = printf__delegate; | |
return printf | |
}(); | |
cljs.core.HashMap.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.HashMap.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
var pr_pair__11342 = function(keyval) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "", " ", "", opts, keyval) | |
}; | |
return cljs.core.pr_sequential.call(null, pr_pair__11342, "{", ", ", "}", opts, coll) | |
}; | |
cljs.core.IPrintable["number"] = true; | |
cljs.core._pr_seq["number"] = function(n, opts) { | |
return cljs.core.list.call(null, [cljs.core.str(n)].join("")) | |
}; | |
cljs.core.IndexedSeq.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.IndexedSeq.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "(", " ", ")", opts, coll) | |
}; | |
cljs.core.Subvec.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.Subvec.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "[", " ", "]", opts, coll) | |
}; | |
cljs.core.ChunkedCons.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.ChunkedCons.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "(", " ", ")", opts, coll) | |
}; | |
cljs.core.PersistentTreeMap.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.PersistentTreeMap.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
var pr_pair__11343 = function(keyval) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "", " ", "", opts, keyval) | |
}; | |
return cljs.core.pr_sequential.call(null, pr_pair__11343, "{", ", ", "}", opts, coll) | |
}; | |
cljs.core.PersistentArrayMap.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.PersistentArrayMap.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
var pr_pair__11344 = function(keyval) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "", " ", "", opts, keyval) | |
}; | |
return cljs.core.pr_sequential.call(null, pr_pair__11344, "{", ", ", "}", opts, coll) | |
}; | |
cljs.core.PersistentQueue.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.PersistentQueue.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "#queue [", " ", "]", opts, cljs.core.seq.call(null, coll)) | |
}; | |
cljs.core.LazySeq.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.LazySeq.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "(", " ", ")", opts, coll) | |
}; | |
cljs.core.RSeq.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.RSeq.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "(", " ", ")", opts, coll) | |
}; | |
cljs.core.PersistentTreeSet.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.PersistentTreeSet.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "#{", " ", "}", opts, coll) | |
}; | |
cljs.core.IPrintable["boolean"] = true; | |
cljs.core._pr_seq["boolean"] = function(bool, opts) { | |
return cljs.core.list.call(null, [cljs.core.str(bool)].join("")) | |
}; | |
cljs.core.IPrintable["string"] = true; | |
cljs.core._pr_seq["string"] = function(obj, opts) { | |
if(cljs.core.keyword_QMARK_.call(null, obj)) { | |
return cljs.core.list.call(null, [cljs.core.str(":"), cljs.core.str(function() { | |
var temp__3974__auto____11345 = cljs.core.namespace.call(null, obj); | |
if(cljs.core.truth_(temp__3974__auto____11345)) { | |
var nspc__11346 = temp__3974__auto____11345; | |
return[cljs.core.str(nspc__11346), cljs.core.str("/")].join("") | |
}else { | |
return null | |
} | |
}()), cljs.core.str(cljs.core.name.call(null, obj))].join("")) | |
}else { | |
if(cljs.core.symbol_QMARK_.call(null, obj)) { | |
return cljs.core.list.call(null, [cljs.core.str(function() { | |
var temp__3974__auto____11347 = cljs.core.namespace.call(null, obj); | |
if(cljs.core.truth_(temp__3974__auto____11347)) { | |
var nspc__11348 = temp__3974__auto____11347; | |
return[cljs.core.str(nspc__11348), cljs.core.str("/")].join("") | |
}else { | |
return null | |
} | |
}()), cljs.core.str(cljs.core.name.call(null, obj))].join("")) | |
}else { | |
if("\ufdd0'else") { | |
return cljs.core.list.call(null, cljs.core.truth_((new cljs.core.Keyword("\ufdd0'readably")).call(null, opts)) ? goog.string.quote(obj) : obj) | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
cljs.core.NodeSeq.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.NodeSeq.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "(", " ", ")", opts, coll) | |
}; | |
cljs.core.RedNode.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.RedNode.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "[", " ", "]", opts, coll) | |
}; | |
cljs.core.ChunkedSeq.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.ChunkedSeq.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "(", " ", ")", opts, coll) | |
}; | |
cljs.core.PersistentHashMap.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.PersistentHashMap.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
var pr_pair__11349 = function(keyval) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "", " ", "", opts, keyval) | |
}; | |
return cljs.core.pr_sequential.call(null, pr_pair__11349, "{", ", ", "}", opts, coll) | |
}; | |
cljs.core.Vector.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.Vector.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "[", " ", "]", opts, coll) | |
}; | |
cljs.core.PersistentHashSet.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.PersistentHashSet.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "#{", " ", "}", opts, coll) | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.PersistentVector.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "[", " ", "]", opts, coll) | |
}; | |
cljs.core.List.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.List.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "(", " ", ")", opts, coll) | |
}; | |
cljs.core.IPrintable["array"] = true; | |
cljs.core._pr_seq["array"] = function(a, opts) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "#<Array [", ", ", "]>", opts, a) | |
}; | |
cljs.core.IPrintable["function"] = true; | |
cljs.core._pr_seq["function"] = function(this$) { | |
return cljs.core.list.call(null, "#<", [cljs.core.str(this$)].join(""), ">") | |
}; | |
cljs.core.EmptyList.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.EmptyList.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
return cljs.core.list.call(null, "()") | |
}; | |
cljs.core.BlackNode.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.BlackNode.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "[", " ", "]", opts, coll) | |
}; | |
Date.prototype.cljs$core$IPrintable$ = true; | |
Date.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(d, _) { | |
var normalize__11351 = function(n, len) { | |
var ns__11350 = [cljs.core.str(n)].join(""); | |
while(true) { | |
if(cljs.core.count.call(null, ns__11350) < len) { | |
var G__11353 = [cljs.core.str("0"), cljs.core.str(ns__11350)].join(""); | |
ns__11350 = G__11353; | |
continue | |
}else { | |
return ns__11350 | |
} | |
break | |
} | |
}; | |
return cljs.core.list.call(null, [cljs.core.str('#inst "'), cljs.core.str(d.getUTCFullYear()), cljs.core.str("-"), cljs.core.str(normalize__11351.call(null, d.getUTCMonth() + 1, 2)), cljs.core.str("-"), cljs.core.str(normalize__11351.call(null, d.getUTCDate(), 2)), cljs.core.str("T"), cljs.core.str(normalize__11351.call(null, d.getUTCHours(), 2)), cljs.core.str(":"), cljs.core.str(normalize__11351.call(null, d.getUTCMinutes(), 2)), cljs.core.str(":"), cljs.core.str(normalize__11351.call(null, d.getUTCSeconds(), | |
2)), cljs.core.str("."), cljs.core.str(normalize__11351.call(null, d.getUTCMilliseconds(), 3)), cljs.core.str("-"), cljs.core.str('00:00"')].join("")) | |
}; | |
cljs.core.Cons.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.Cons.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "(", " ", ")", opts, coll) | |
}; | |
cljs.core.Range.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.Range.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "(", " ", ")", opts, coll) | |
}; | |
cljs.core.ArrayNodeSeq.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.ArrayNodeSeq.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "(", " ", ")", opts, coll) | |
}; | |
cljs.core.ObjMap.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.ObjMap.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
var pr_pair__11352 = function(keyval) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "", " ", "", opts, keyval) | |
}; | |
return cljs.core.pr_sequential.call(null, pr_pair__11352, "{", ", ", "}", opts, coll) | |
}; | |
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IPrintable$ = true; | |
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(coll, opts) { | |
return cljs.core.pr_sequential.call(null, cljs.core.pr_seq, "(", " ", ")", opts, coll) | |
}; | |
cljs.core.PersistentVector.prototype.cljs$core$IComparable$ = true; | |
cljs.core.PersistentVector.prototype.cljs$core$IComparable$_compare$arity$2 = function(x, y) { | |
return cljs.core.compare_indexed.call(null, x, y) | |
}; | |
cljs.core.Atom = function(state, meta, validator, watches) { | |
this.state = state; | |
this.meta = meta; | |
this.validator = validator; | |
this.watches = watches; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 2690809856 | |
}; | |
cljs.core.Atom.cljs$lang$type = true; | |
cljs.core.Atom.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/Atom") | |
}; | |
cljs.core.Atom.prototype.cljs$core$IHash$_hash$arity$1 = function(this$) { | |
var this__11354 = this; | |
return goog.getUid(this$) | |
}; | |
cljs.core.Atom.prototype.cljs$core$IWatchable$_notify_watches$arity$3 = function(this$, oldval, newval) { | |
var this__11355 = this; | |
var G__11356__11357 = cljs.core.seq.call(null, this__11355.watches); | |
if(G__11356__11357) { | |
var G__11359__11361 = cljs.core.first.call(null, G__11356__11357); | |
var vec__11360__11362 = G__11359__11361; | |
var key__11363 = cljs.core.nth.call(null, vec__11360__11362, 0, null); | |
var f__11364 = cljs.core.nth.call(null, vec__11360__11362, 1, null); | |
var G__11356__11365 = G__11356__11357; | |
var G__11359__11366 = G__11359__11361; | |
var G__11356__11367 = G__11356__11365; | |
while(true) { | |
var vec__11368__11369 = G__11359__11366; | |
var key__11370 = cljs.core.nth.call(null, vec__11368__11369, 0, null); | |
var f__11371 = cljs.core.nth.call(null, vec__11368__11369, 1, null); | |
var G__11356__11372 = G__11356__11367; | |
f__11371.call(null, key__11370, this$, oldval, newval); | |
var temp__3974__auto____11373 = cljs.core.next.call(null, G__11356__11372); | |
if(temp__3974__auto____11373) { | |
var G__11356__11374 = temp__3974__auto____11373; | |
var G__11381 = cljs.core.first.call(null, G__11356__11374); | |
var G__11382 = G__11356__11374; | |
G__11359__11366 = G__11381; | |
G__11356__11367 = G__11382; | |
continue | |
}else { | |
return null | |
} | |
break | |
} | |
}else { | |
return null | |
} | |
}; | |
cljs.core.Atom.prototype.cljs$core$IWatchable$_add_watch$arity$3 = function(this$, key, f) { | |
var this__11375 = this; | |
return this$.watches = cljs.core.assoc.call(null, this__11375.watches, key, f) | |
}; | |
cljs.core.Atom.prototype.cljs$core$IWatchable$_remove_watch$arity$2 = function(this$, key) { | |
var this__11376 = this; | |
return this$.watches = cljs.core.dissoc.call(null, this__11376.watches, key) | |
}; | |
cljs.core.Atom.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(a, opts) { | |
var this__11377 = this; | |
return cljs.core.concat.call(null, cljs.core.PersistentVector.fromArray(["#<Atom: "], true), cljs.core._pr_seq.call(null, this__11377.state, opts), ">") | |
}; | |
cljs.core.Atom.prototype.cljs$core$IMeta$_meta$arity$1 = function(_) { | |
var this__11378 = this; | |
return this__11378.meta | |
}; | |
cljs.core.Atom.prototype.cljs$core$IDeref$_deref$arity$1 = function(_) { | |
var this__11379 = this; | |
return this__11379.state | |
}; | |
cljs.core.Atom.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(o, other) { | |
var this__11380 = this; | |
return o === other | |
}; | |
cljs.core.Atom; | |
cljs.core.atom = function() { | |
var atom = null; | |
var atom__1 = function(x) { | |
return new cljs.core.Atom(x, null, null, null) | |
}; | |
var atom__2 = function() { | |
var G__11394__delegate = function(x, p__11383) { | |
var map__11389__11390 = p__11383; | |
var map__11389__11391 = cljs.core.seq_QMARK_.call(null, map__11389__11390) ? cljs.core.apply.call(null, cljs.core.hash_map, map__11389__11390) : map__11389__11390; | |
var validator__11392 = cljs.core._lookup.call(null, map__11389__11391, "\ufdd0'validator", null); | |
var meta__11393 = cljs.core._lookup.call(null, map__11389__11391, "\ufdd0'meta", null); | |
return new cljs.core.Atom(x, meta__11393, validator__11392, null) | |
}; | |
var G__11394 = function(x, var_args) { | |
var p__11383 = null; | |
if(goog.isDef(var_args)) { | |
p__11383 = cljs.core.array_seq(Array.prototype.slice.call(arguments, 1), 0) | |
} | |
return G__11394__delegate.call(this, x, p__11383) | |
}; | |
G__11394.cljs$lang$maxFixedArity = 1; | |
G__11394.cljs$lang$applyTo = function(arglist__11395) { | |
var x = cljs.core.first(arglist__11395); | |
var p__11383 = cljs.core.rest(arglist__11395); | |
return G__11394__delegate(x, p__11383) | |
}; | |
G__11394.cljs$lang$arity$variadic = G__11394__delegate; | |
return G__11394 | |
}(); | |
atom = function(x, var_args) { | |
var p__11383 = var_args; | |
switch(arguments.length) { | |
case 1: | |
return atom__1.call(this, x); | |
default: | |
return atom__2.cljs$lang$arity$variadic(x, cljs.core.array_seq(arguments, 1)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
atom.cljs$lang$maxFixedArity = 1; | |
atom.cljs$lang$applyTo = atom__2.cljs$lang$applyTo; | |
atom.cljs$lang$arity$1 = atom__1; | |
atom.cljs$lang$arity$variadic = atom__2.cljs$lang$arity$variadic; | |
return atom | |
}(); | |
cljs.core.reset_BANG_ = function reset_BANG_(a, new_value) { | |
var temp__3974__auto____11399 = a.validator; | |
if(cljs.core.truth_(temp__3974__auto____11399)) { | |
var validate__11400 = temp__3974__auto____11399; | |
if(cljs.core.truth_(validate__11400.call(null, new_value))) { | |
}else { | |
throw new Error([cljs.core.str("Assert failed: "), cljs.core.str("Validator rejected reference state"), cljs.core.str("\n"), cljs.core.str(cljs.core.pr_str.call(null, cljs.core.with_meta(cljs.core.list("\ufdd1'validate", "\ufdd1'new-value"), cljs.core.hash_map("\ufdd0'line", 6440))))].join("")); | |
} | |
}else { | |
} | |
var old_value__11401 = a.state; | |
a.state = new_value; | |
cljs.core._notify_watches.call(null, a, old_value__11401, new_value); | |
return new_value | |
}; | |
cljs.core.swap_BANG_ = function() { | |
var swap_BANG_ = null; | |
var swap_BANG___2 = function(a, f) { | |
return cljs.core.reset_BANG_.call(null, a, f.call(null, a.state)) | |
}; | |
var swap_BANG___3 = function(a, f, x) { | |
return cljs.core.reset_BANG_.call(null, a, f.call(null, a.state, x)) | |
}; | |
var swap_BANG___4 = function(a, f, x, y) { | |
return cljs.core.reset_BANG_.call(null, a, f.call(null, a.state, x, y)) | |
}; | |
var swap_BANG___5 = function(a, f, x, y, z) { | |
return cljs.core.reset_BANG_.call(null, a, f.call(null, a.state, x, y, z)) | |
}; | |
var swap_BANG___6 = function() { | |
var G__11402__delegate = function(a, f, x, y, z, more) { | |
return cljs.core.reset_BANG_.call(null, a, cljs.core.apply.call(null, f, a.state, x, y, z, more)) | |
}; | |
var G__11402 = function(a, f, x, y, z, var_args) { | |
var more = null; | |
if(goog.isDef(var_args)) { | |
more = cljs.core.array_seq(Array.prototype.slice.call(arguments, 5), 0) | |
} | |
return G__11402__delegate.call(this, a, f, x, y, z, more) | |
}; | |
G__11402.cljs$lang$maxFixedArity = 5; | |
G__11402.cljs$lang$applyTo = function(arglist__11403) { | |
var a = cljs.core.first(arglist__11403); | |
var f = cljs.core.first(cljs.core.next(arglist__11403)); | |
var x = cljs.core.first(cljs.core.next(cljs.core.next(arglist__11403))); | |
var y = cljs.core.first(cljs.core.next(cljs.core.next(cljs.core.next(arglist__11403)))); | |
var z = cljs.core.first(cljs.core.next(cljs.core.next(cljs.core.next(cljs.core.next(arglist__11403))))); | |
var more = cljs.core.rest(cljs.core.next(cljs.core.next(cljs.core.next(cljs.core.next(arglist__11403))))); | |
return G__11402__delegate(a, f, x, y, z, more) | |
}; | |
G__11402.cljs$lang$arity$variadic = G__11402__delegate; | |
return G__11402 | |
}(); | |
swap_BANG_ = function(a, f, x, y, z, var_args) { | |
var more = var_args; | |
switch(arguments.length) { | |
case 2: | |
return swap_BANG___2.call(this, a, f); | |
case 3: | |
return swap_BANG___3.call(this, a, f, x); | |
case 4: | |
return swap_BANG___4.call(this, a, f, x, y); | |
case 5: | |
return swap_BANG___5.call(this, a, f, x, y, z); | |
default: | |
return swap_BANG___6.cljs$lang$arity$variadic(a, f, x, y, z, cljs.core.array_seq(arguments, 5)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
swap_BANG_.cljs$lang$maxFixedArity = 5; | |
swap_BANG_.cljs$lang$applyTo = swap_BANG___6.cljs$lang$applyTo; | |
swap_BANG_.cljs$lang$arity$2 = swap_BANG___2; | |
swap_BANG_.cljs$lang$arity$3 = swap_BANG___3; | |
swap_BANG_.cljs$lang$arity$4 = swap_BANG___4; | |
swap_BANG_.cljs$lang$arity$5 = swap_BANG___5; | |
swap_BANG_.cljs$lang$arity$variadic = swap_BANG___6.cljs$lang$arity$variadic; | |
return swap_BANG_ | |
}(); | |
cljs.core.compare_and_set_BANG_ = function compare_and_set_BANG_(a, oldval, newval) { | |
if(cljs.core._EQ_.call(null, a.state, oldval)) { | |
cljs.core.reset_BANG_.call(null, a, newval); | |
return true | |
}else { | |
return false | |
} | |
}; | |
cljs.core.deref = function deref(o) { | |
return cljs.core._deref.call(null, o) | |
}; | |
cljs.core.set_validator_BANG_ = function set_validator_BANG_(iref, val) { | |
return iref.validator = val | |
}; | |
cljs.core.get_validator = function get_validator(iref) { | |
return iref.validator | |
}; | |
cljs.core.alter_meta_BANG_ = function() { | |
var alter_meta_BANG___delegate = function(iref, f, args) { | |
return iref.meta = cljs.core.apply.call(null, f, iref.meta, args) | |
}; | |
var alter_meta_BANG_ = function(iref, f, var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2), 0) | |
} | |
return alter_meta_BANG___delegate.call(this, iref, f, args) | |
}; | |
alter_meta_BANG_.cljs$lang$maxFixedArity = 2; | |
alter_meta_BANG_.cljs$lang$applyTo = function(arglist__11404) { | |
var iref = cljs.core.first(arglist__11404); | |
var f = cljs.core.first(cljs.core.next(arglist__11404)); | |
var args = cljs.core.rest(cljs.core.next(arglist__11404)); | |
return alter_meta_BANG___delegate(iref, f, args) | |
}; | |
alter_meta_BANG_.cljs$lang$arity$variadic = alter_meta_BANG___delegate; | |
return alter_meta_BANG_ | |
}(); | |
cljs.core.reset_meta_BANG_ = function reset_meta_BANG_(iref, m) { | |
return iref.meta = m | |
}; | |
cljs.core.add_watch = function add_watch(iref, key, f) { | |
return cljs.core._add_watch.call(null, iref, key, f) | |
}; | |
cljs.core.remove_watch = function remove_watch(iref, key) { | |
return cljs.core._remove_watch.call(null, iref, key) | |
}; | |
cljs.core.gensym_counter = null; | |
cljs.core.gensym = function() { | |
var gensym = null; | |
var gensym__0 = function() { | |
return gensym.call(null, "G__") | |
}; | |
var gensym__1 = function(prefix_string) { | |
if(cljs.core.gensym_counter == null) { | |
cljs.core.gensym_counter = cljs.core.atom.call(null, 0) | |
}else { | |
} | |
return cljs.core.symbol.call(null, [cljs.core.str(prefix_string), cljs.core.str(cljs.core.swap_BANG_.call(null, cljs.core.gensym_counter, cljs.core.inc))].join("")) | |
}; | |
gensym = function(prefix_string) { | |
switch(arguments.length) { | |
case 0: | |
return gensym__0.call(this); | |
case 1: | |
return gensym__1.call(this, prefix_string) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
gensym.cljs$lang$arity$0 = gensym__0; | |
gensym.cljs$lang$arity$1 = gensym__1; | |
return gensym | |
}(); | |
cljs.core.fixture1 = 1; | |
cljs.core.fixture2 = 2; | |
cljs.core.Delay = function(state, f) { | |
this.state = state; | |
this.f = f; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 1073774592 | |
}; | |
cljs.core.Delay.cljs$lang$type = true; | |
cljs.core.Delay.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/Delay") | |
}; | |
cljs.core.Delay.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 = function(d) { | |
var this__11405 = this; | |
return(new cljs.core.Keyword("\ufdd0'done")).call(null, cljs.core.deref.call(null, this__11405.state)) | |
}; | |
cljs.core.Delay.prototype.cljs$core$IDeref$_deref$arity$1 = function(_) { | |
var this__11406 = this; | |
return(new cljs.core.Keyword("\ufdd0'value")).call(null, cljs.core.swap_BANG_.call(null, this__11406.state, function(p__11407) { | |
var map__11408__11409 = p__11407; | |
var map__11408__11410 = cljs.core.seq_QMARK_.call(null, map__11408__11409) ? cljs.core.apply.call(null, cljs.core.hash_map, map__11408__11409) : map__11408__11409; | |
var curr_state__11411 = map__11408__11410; | |
var done__11412 = cljs.core._lookup.call(null, map__11408__11410, "\ufdd0'done", null); | |
if(cljs.core.truth_(done__11412)) { | |
return curr_state__11411 | |
}else { | |
return cljs.core.ObjMap.fromObject(["\ufdd0'done", "\ufdd0'value"], {"\ufdd0'done":true, "\ufdd0'value":this__11406.f.call(null)}) | |
} | |
})) | |
}; | |
cljs.core.Delay; | |
cljs.core.delay_QMARK_ = function delay_QMARK_(x) { | |
return cljs.core.instance_QMARK_.call(null, cljs.core.Delay, x) | |
}; | |
cljs.core.force = function force(x) { | |
if(cljs.core.delay_QMARK_.call(null, x)) { | |
return cljs.core.deref.call(null, x) | |
}else { | |
return x | |
} | |
}; | |
cljs.core.realized_QMARK_ = function realized_QMARK_(d) { | |
return cljs.core._realized_QMARK_.call(null, d) | |
}; | |
cljs.core.js__GT_clj = function() { | |
var js__GT_clj__delegate = function(x, options) { | |
var map__11433__11434 = options; | |
var map__11433__11435 = cljs.core.seq_QMARK_.call(null, map__11433__11434) ? cljs.core.apply.call(null, cljs.core.hash_map, map__11433__11434) : map__11433__11434; | |
var keywordize_keys__11436 = cljs.core._lookup.call(null, map__11433__11435, "\ufdd0'keywordize-keys", null); | |
var keyfn__11437 = cljs.core.truth_(keywordize_keys__11436) ? cljs.core.keyword : cljs.core.str; | |
var f__11452 = function thisfn(x) { | |
if(cljs.core.seq_QMARK_.call(null, x)) { | |
return cljs.core.doall.call(null, cljs.core.map.call(null, thisfn, x)) | |
}else { | |
if(cljs.core.coll_QMARK_.call(null, x)) { | |
return cljs.core.into.call(null, cljs.core.empty.call(null, x), cljs.core.map.call(null, thisfn, x)) | |
}else { | |
if(cljs.core.truth_(goog.isArray(x))) { | |
return cljs.core.vec.call(null, cljs.core.map.call(null, thisfn, x)) | |
}else { | |
if(cljs.core.type.call(null, x) === Object) { | |
return cljs.core.into.call(null, cljs.core.ObjMap.EMPTY, function() { | |
var iter__2486__auto____11451 = function iter__11445(s__11446) { | |
return new cljs.core.LazySeq(null, false, function() { | |
var s__11446__11449 = s__11446; | |
while(true) { | |
if(cljs.core.seq.call(null, s__11446__11449)) { | |
var k__11450 = cljs.core.first.call(null, s__11446__11449); | |
return cljs.core.cons.call(null, cljs.core.PersistentVector.fromArray([keyfn__11437.call(null, k__11450), thisfn.call(null, x[k__11450])], true), iter__11445.call(null, cljs.core.rest.call(null, s__11446__11449))) | |
}else { | |
return null | |
} | |
break | |
} | |
}, null) | |
}; | |
return iter__2486__auto____11451.call(null, cljs.core.js_keys.call(null, x)) | |
}()) | |
}else { | |
if("\ufdd0'else") { | |
return x | |
}else { | |
return null | |
} | |
} | |
} | |
} | |
} | |
}; | |
return f__11452.call(null, x) | |
}; | |
var js__GT_clj = function(x, var_args) { | |
var options = null; | |
if(goog.isDef(var_args)) { | |
options = cljs.core.array_seq(Array.prototype.slice.call(arguments, 1), 0) | |
} | |
return js__GT_clj__delegate.call(this, x, options) | |
}; | |
js__GT_clj.cljs$lang$maxFixedArity = 1; | |
js__GT_clj.cljs$lang$applyTo = function(arglist__11453) { | |
var x = cljs.core.first(arglist__11453); | |
var options = cljs.core.rest(arglist__11453); | |
return js__GT_clj__delegate(x, options) | |
}; | |
js__GT_clj.cljs$lang$arity$variadic = js__GT_clj__delegate; | |
return js__GT_clj | |
}(); | |
cljs.core.memoize = function memoize(f) { | |
var mem__11458 = cljs.core.atom.call(null, cljs.core.ObjMap.EMPTY); | |
return function() { | |
var G__11462__delegate = function(args) { | |
var temp__3971__auto____11459 = cljs.core._lookup.call(null, cljs.core.deref.call(null, mem__11458), args, null); | |
if(cljs.core.truth_(temp__3971__auto____11459)) { | |
var v__11460 = temp__3971__auto____11459; | |
return v__11460 | |
}else { | |
var ret__11461 = cljs.core.apply.call(null, f, args); | |
cljs.core.swap_BANG_.call(null, mem__11458, cljs.core.assoc, args, ret__11461); | |
return ret__11461 | |
} | |
}; | |
var G__11462 = function(var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return G__11462__delegate.call(this, args) | |
}; | |
G__11462.cljs$lang$maxFixedArity = 0; | |
G__11462.cljs$lang$applyTo = function(arglist__11463) { | |
var args = cljs.core.seq(arglist__11463); | |
return G__11462__delegate(args) | |
}; | |
G__11462.cljs$lang$arity$variadic = G__11462__delegate; | |
return G__11462 | |
}() | |
}; | |
cljs.core.trampoline = function() { | |
var trampoline = null; | |
var trampoline__1 = function(f) { | |
while(true) { | |
var ret__11465 = f.call(null); | |
if(cljs.core.fn_QMARK_.call(null, ret__11465)) { | |
var G__11466 = ret__11465; | |
f = G__11466; | |
continue | |
}else { | |
return ret__11465 | |
} | |
break | |
} | |
}; | |
var trampoline__2 = function() { | |
var G__11467__delegate = function(f, args) { | |
return trampoline.call(null, function() { | |
return cljs.core.apply.call(null, f, args) | |
}) | |
}; | |
var G__11467 = function(f, var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 1), 0) | |
} | |
return G__11467__delegate.call(this, f, args) | |
}; | |
G__11467.cljs$lang$maxFixedArity = 1; | |
G__11467.cljs$lang$applyTo = function(arglist__11468) { | |
var f = cljs.core.first(arglist__11468); | |
var args = cljs.core.rest(arglist__11468); | |
return G__11467__delegate(f, args) | |
}; | |
G__11467.cljs$lang$arity$variadic = G__11467__delegate; | |
return G__11467 | |
}(); | |
trampoline = function(f, var_args) { | |
var args = var_args; | |
switch(arguments.length) { | |
case 1: | |
return trampoline__1.call(this, f); | |
default: | |
return trampoline__2.cljs$lang$arity$variadic(f, cljs.core.array_seq(arguments, 1)) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
trampoline.cljs$lang$maxFixedArity = 1; | |
trampoline.cljs$lang$applyTo = trampoline__2.cljs$lang$applyTo; | |
trampoline.cljs$lang$arity$1 = trampoline__1; | |
trampoline.cljs$lang$arity$variadic = trampoline__2.cljs$lang$arity$variadic; | |
return trampoline | |
}(); | |
cljs.core.rand = function() { | |
var rand = null; | |
var rand__0 = function() { | |
return rand.call(null, 1) | |
}; | |
var rand__1 = function(n) { | |
return Math.random.call(null) * n | |
}; | |
rand = function(n) { | |
switch(arguments.length) { | |
case 0: | |
return rand__0.call(this); | |
case 1: | |
return rand__1.call(this, n) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
rand.cljs$lang$arity$0 = rand__0; | |
rand.cljs$lang$arity$1 = rand__1; | |
return rand | |
}(); | |
cljs.core.rand_int = function rand_int(n) { | |
return Math.floor.call(null, Math.random.call(null) * n) | |
}; | |
cljs.core.rand_nth = function rand_nth(coll) { | |
return cljs.core.nth.call(null, coll, cljs.core.rand_int.call(null, cljs.core.count.call(null, coll))) | |
}; | |
cljs.core.group_by = function group_by(f, coll) { | |
return cljs.core.reduce.call(null, function(ret, x) { | |
var k__11470 = f.call(null, x); | |
return cljs.core.assoc.call(null, ret, k__11470, cljs.core.conj.call(null, cljs.core._lookup.call(null, ret, k__11470, cljs.core.PersistentVector.EMPTY), x)) | |
}, cljs.core.ObjMap.EMPTY, coll) | |
}; | |
cljs.core.make_hierarchy = function make_hierarchy() { | |
return cljs.core.ObjMap.fromObject(["\ufdd0'parents", "\ufdd0'descendants", "\ufdd0'ancestors"], {"\ufdd0'parents":cljs.core.ObjMap.EMPTY, "\ufdd0'descendants":cljs.core.ObjMap.EMPTY, "\ufdd0'ancestors":cljs.core.ObjMap.EMPTY}) | |
}; | |
cljs.core.global_hierarchy = cljs.core.atom.call(null, cljs.core.make_hierarchy.call(null)); | |
cljs.core.isa_QMARK_ = function() { | |
var isa_QMARK_ = null; | |
var isa_QMARK___2 = function(child, parent) { | |
return isa_QMARK_.call(null, cljs.core.deref.call(null, cljs.core.global_hierarchy), child, parent) | |
}; | |
var isa_QMARK___3 = function(h, child, parent) { | |
var or__3824__auto____11479 = cljs.core._EQ_.call(null, child, parent); | |
if(or__3824__auto____11479) { | |
return or__3824__auto____11479 | |
}else { | |
var or__3824__auto____11480 = cljs.core.contains_QMARK_.call(null, (new cljs.core.Keyword("\ufdd0'ancestors")).call(null, h).call(null, child), parent); | |
if(or__3824__auto____11480) { | |
return or__3824__auto____11480 | |
}else { | |
var and__3822__auto____11481 = cljs.core.vector_QMARK_.call(null, parent); | |
if(and__3822__auto____11481) { | |
var and__3822__auto____11482 = cljs.core.vector_QMARK_.call(null, child); | |
if(and__3822__auto____11482) { | |
var and__3822__auto____11483 = cljs.core.count.call(null, parent) === cljs.core.count.call(null, child); | |
if(and__3822__auto____11483) { | |
var ret__11484 = true; | |
var i__11485 = 0; | |
while(true) { | |
if(function() { | |
var or__3824__auto____11486 = cljs.core.not.call(null, ret__11484); | |
if(or__3824__auto____11486) { | |
return or__3824__auto____11486 | |
}else { | |
return i__11485 === cljs.core.count.call(null, parent) | |
} | |
}()) { | |
return ret__11484 | |
}else { | |
var G__11487 = isa_QMARK_.call(null, h, child.call(null, i__11485), parent.call(null, i__11485)); | |
var G__11488 = i__11485 + 1; | |
ret__11484 = G__11487; | |
i__11485 = G__11488; | |
continue | |
} | |
break | |
} | |
}else { | |
return and__3822__auto____11483 | |
} | |
}else { | |
return and__3822__auto____11482 | |
} | |
}else { | |
return and__3822__auto____11481 | |
} | |
} | |
} | |
}; | |
isa_QMARK_ = function(h, child, parent) { | |
switch(arguments.length) { | |
case 2: | |
return isa_QMARK___2.call(this, h, child); | |
case 3: | |
return isa_QMARK___3.call(this, h, child, parent) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
isa_QMARK_.cljs$lang$arity$2 = isa_QMARK___2; | |
isa_QMARK_.cljs$lang$arity$3 = isa_QMARK___3; | |
return isa_QMARK_ | |
}(); | |
cljs.core.parents = function() { | |
var parents = null; | |
var parents__1 = function(tag) { | |
return parents.call(null, cljs.core.deref.call(null, cljs.core.global_hierarchy), tag) | |
}; | |
var parents__2 = function(h, tag) { | |
return cljs.core.not_empty.call(null, cljs.core._lookup.call(null, (new cljs.core.Keyword("\ufdd0'parents")).call(null, h), tag, null)) | |
}; | |
parents = function(h, tag) { | |
switch(arguments.length) { | |
case 1: | |
return parents__1.call(this, h); | |
case 2: | |
return parents__2.call(this, h, tag) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
parents.cljs$lang$arity$1 = parents__1; | |
parents.cljs$lang$arity$2 = parents__2; | |
return parents | |
}(); | |
cljs.core.ancestors = function() { | |
var ancestors = null; | |
var ancestors__1 = function(tag) { | |
return ancestors.call(null, cljs.core.deref.call(null, cljs.core.global_hierarchy), tag) | |
}; | |
var ancestors__2 = function(h, tag) { | |
return cljs.core.not_empty.call(null, cljs.core._lookup.call(null, (new cljs.core.Keyword("\ufdd0'ancestors")).call(null, h), tag, null)) | |
}; | |
ancestors = function(h, tag) { | |
switch(arguments.length) { | |
case 1: | |
return ancestors__1.call(this, h); | |
case 2: | |
return ancestors__2.call(this, h, tag) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
ancestors.cljs$lang$arity$1 = ancestors__1; | |
ancestors.cljs$lang$arity$2 = ancestors__2; | |
return ancestors | |
}(); | |
cljs.core.descendants = function() { | |
var descendants = null; | |
var descendants__1 = function(tag) { | |
return descendants.call(null, cljs.core.deref.call(null, cljs.core.global_hierarchy), tag) | |
}; | |
var descendants__2 = function(h, tag) { | |
return cljs.core.not_empty.call(null, cljs.core._lookup.call(null, (new cljs.core.Keyword("\ufdd0'descendants")).call(null, h), tag, null)) | |
}; | |
descendants = function(h, tag) { | |
switch(arguments.length) { | |
case 1: | |
return descendants__1.call(this, h); | |
case 2: | |
return descendants__2.call(this, h, tag) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
descendants.cljs$lang$arity$1 = descendants__1; | |
descendants.cljs$lang$arity$2 = descendants__2; | |
return descendants | |
}(); | |
cljs.core.derive = function() { | |
var derive = null; | |
var derive__2 = function(tag, parent) { | |
if(cljs.core.truth_(cljs.core.namespace.call(null, parent))) { | |
}else { | |
throw new Error([cljs.core.str("Assert failed: "), cljs.core.str(cljs.core.pr_str.call(null, cljs.core.with_meta(cljs.core.list("\ufdd1'namespace", "\ufdd1'parent"), cljs.core.hash_map("\ufdd0'line", 6724))))].join("")); | |
} | |
cljs.core.swap_BANG_.call(null, cljs.core.global_hierarchy, derive, tag, parent); | |
return null | |
}; | |
var derive__3 = function(h, tag, parent) { | |
if(cljs.core.not_EQ_.call(null, tag, parent)) { | |
}else { | |
throw new Error([cljs.core.str("Assert failed: "), cljs.core.str(cljs.core.pr_str.call(null, cljs.core.with_meta(cljs.core.list("\ufdd1'not=", "\ufdd1'tag", "\ufdd1'parent"), cljs.core.hash_map("\ufdd0'line", 6728))))].join("")); | |
} | |
var tp__11497 = (new cljs.core.Keyword("\ufdd0'parents")).call(null, h); | |
var td__11498 = (new cljs.core.Keyword("\ufdd0'descendants")).call(null, h); | |
var ta__11499 = (new cljs.core.Keyword("\ufdd0'ancestors")).call(null, h); | |
var tf__11500 = function(m, source, sources, target, targets) { | |
return cljs.core.reduce.call(null, function(ret, k) { | |
return cljs.core.assoc.call(null, ret, k, cljs.core.reduce.call(null, cljs.core.conj, cljs.core._lookup.call(null, targets, k, cljs.core.PersistentHashSet.EMPTY), cljs.core.cons.call(null, target, targets.call(null, target)))) | |
}, m, cljs.core.cons.call(null, source, sources.call(null, source))) | |
}; | |
var or__3824__auto____11501 = cljs.core.contains_QMARK_.call(null, tp__11497.call(null, tag), parent) ? null : function() { | |
if(cljs.core.contains_QMARK_.call(null, ta__11499.call(null, tag), parent)) { | |
throw new Error([cljs.core.str(tag), cljs.core.str("already has"), cljs.core.str(parent), cljs.core.str("as ancestor")].join("")); | |
}else { | |
} | |
if(cljs.core.contains_QMARK_.call(null, ta__11499.call(null, parent), tag)) { | |
throw new Error([cljs.core.str("Cyclic derivation:"), cljs.core.str(parent), cljs.core.str("has"), cljs.core.str(tag), cljs.core.str("as ancestor")].join("")); | |
}else { | |
} | |
return cljs.core.ObjMap.fromObject(["\ufdd0'parents", "\ufdd0'ancestors", "\ufdd0'descendants"], {"\ufdd0'parents":cljs.core.assoc.call(null, (new cljs.core.Keyword("\ufdd0'parents")).call(null, h), tag, cljs.core.conj.call(null, cljs.core._lookup.call(null, tp__11497, tag, cljs.core.PersistentHashSet.EMPTY), parent)), "\ufdd0'ancestors":tf__11500.call(null, (new cljs.core.Keyword("\ufdd0'ancestors")).call(null, h), tag, td__11498, parent, ta__11499), "\ufdd0'descendants":tf__11500.call(null, | |
(new cljs.core.Keyword("\ufdd0'descendants")).call(null, h), parent, ta__11499, tag, td__11498)}) | |
}(); | |
if(cljs.core.truth_(or__3824__auto____11501)) { | |
return or__3824__auto____11501 | |
}else { | |
return h | |
} | |
}; | |
derive = function(h, tag, parent) { | |
switch(arguments.length) { | |
case 2: | |
return derive__2.call(this, h, tag); | |
case 3: | |
return derive__3.call(this, h, tag, parent) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
derive.cljs$lang$arity$2 = derive__2; | |
derive.cljs$lang$arity$3 = derive__3; | |
return derive | |
}(); | |
cljs.core.underive = function() { | |
var underive = null; | |
var underive__2 = function(tag, parent) { | |
cljs.core.swap_BANG_.call(null, cljs.core.global_hierarchy, underive, tag, parent); | |
return null | |
}; | |
var underive__3 = function(h, tag, parent) { | |
var parentMap__11506 = (new cljs.core.Keyword("\ufdd0'parents")).call(null, h); | |
var childsParents__11507 = cljs.core.truth_(parentMap__11506.call(null, tag)) ? cljs.core.disj.call(null, parentMap__11506.call(null, tag), parent) : cljs.core.PersistentHashSet.EMPTY; | |
var newParents__11508 = cljs.core.truth_(cljs.core.not_empty.call(null, childsParents__11507)) ? cljs.core.assoc.call(null, parentMap__11506, tag, childsParents__11507) : cljs.core.dissoc.call(null, parentMap__11506, tag); | |
var deriv_seq__11509 = cljs.core.flatten.call(null, cljs.core.map.call(null, function(p1__11489_SHARP_) { | |
return cljs.core.cons.call(null, cljs.core.first.call(null, p1__11489_SHARP_), cljs.core.interpose.call(null, cljs.core.first.call(null, p1__11489_SHARP_), cljs.core.second.call(null, p1__11489_SHARP_))) | |
}, cljs.core.seq.call(null, newParents__11508))); | |
if(cljs.core.contains_QMARK_.call(null, parentMap__11506.call(null, tag), parent)) { | |
return cljs.core.reduce.call(null, function(p1__11490_SHARP_, p2__11491_SHARP_) { | |
return cljs.core.apply.call(null, cljs.core.derive, p1__11490_SHARP_, p2__11491_SHARP_) | |
}, cljs.core.make_hierarchy.call(null), cljs.core.partition.call(null, 2, deriv_seq__11509)) | |
}else { | |
return h | |
} | |
}; | |
underive = function(h, tag, parent) { | |
switch(arguments.length) { | |
case 2: | |
return underive__2.call(this, h, tag); | |
case 3: | |
return underive__3.call(this, h, tag, parent) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
underive.cljs$lang$arity$2 = underive__2; | |
underive.cljs$lang$arity$3 = underive__3; | |
return underive | |
}(); | |
cljs.core.reset_cache = function reset_cache(method_cache, method_table, cached_hierarchy, hierarchy) { | |
cljs.core.swap_BANG_.call(null, method_cache, function(_) { | |
return cljs.core.deref.call(null, method_table) | |
}); | |
return cljs.core.swap_BANG_.call(null, cached_hierarchy, function(_) { | |
return cljs.core.deref.call(null, hierarchy) | |
}) | |
}; | |
cljs.core.prefers_STAR_ = function prefers_STAR_(x, y, prefer_table) { | |
var xprefs__11517 = cljs.core.deref.call(null, prefer_table).call(null, x); | |
var or__3824__auto____11519 = cljs.core.truth_(function() { | |
var and__3822__auto____11518 = xprefs__11517; | |
if(cljs.core.truth_(and__3822__auto____11518)) { | |
return xprefs__11517.call(null, y) | |
}else { | |
return and__3822__auto____11518 | |
} | |
}()) ? true : null; | |
if(cljs.core.truth_(or__3824__auto____11519)) { | |
return or__3824__auto____11519 | |
}else { | |
var or__3824__auto____11521 = function() { | |
var ps__11520 = cljs.core.parents.call(null, y); | |
while(true) { | |
if(cljs.core.count.call(null, ps__11520) > 0) { | |
if(cljs.core.truth_(prefers_STAR_.call(null, x, cljs.core.first.call(null, ps__11520), prefer_table))) { | |
}else { | |
} | |
var G__11524 = cljs.core.rest.call(null, ps__11520); | |
ps__11520 = G__11524; | |
continue | |
}else { | |
return null | |
} | |
break | |
} | |
}(); | |
if(cljs.core.truth_(or__3824__auto____11521)) { | |
return or__3824__auto____11521 | |
}else { | |
var or__3824__auto____11523 = function() { | |
var ps__11522 = cljs.core.parents.call(null, x); | |
while(true) { | |
if(cljs.core.count.call(null, ps__11522) > 0) { | |
if(cljs.core.truth_(prefers_STAR_.call(null, cljs.core.first.call(null, ps__11522), y, prefer_table))) { | |
}else { | |
} | |
var G__11525 = cljs.core.rest.call(null, ps__11522); | |
ps__11522 = G__11525; | |
continue | |
}else { | |
return null | |
} | |
break | |
} | |
}(); | |
if(cljs.core.truth_(or__3824__auto____11523)) { | |
return or__3824__auto____11523 | |
}else { | |
return false | |
} | |
} | |
} | |
}; | |
cljs.core.dominates = function dominates(x, y, prefer_table) { | |
var or__3824__auto____11527 = cljs.core.prefers_STAR_.call(null, x, y, prefer_table); | |
if(cljs.core.truth_(or__3824__auto____11527)) { | |
return or__3824__auto____11527 | |
}else { | |
return cljs.core.isa_QMARK_.call(null, x, y) | |
} | |
}; | |
cljs.core.find_and_cache_best_method = function find_and_cache_best_method(name, dispatch_val, hierarchy, method_table, prefer_table, method_cache, cached_hierarchy) { | |
var best_entry__11545 = cljs.core.reduce.call(null, function(be, p__11537) { | |
var vec__11538__11539 = p__11537; | |
var k__11540 = cljs.core.nth.call(null, vec__11538__11539, 0, null); | |
var ___11541 = cljs.core.nth.call(null, vec__11538__11539, 1, null); | |
var e__11542 = vec__11538__11539; | |
if(cljs.core.isa_QMARK_.call(null, dispatch_val, k__11540)) { | |
var be2__11544 = cljs.core.truth_(function() { | |
var or__3824__auto____11543 = be == null; | |
if(or__3824__auto____11543) { | |
return or__3824__auto____11543 | |
}else { | |
return cljs.core.dominates.call(null, k__11540, cljs.core.first.call(null, be), prefer_table) | |
} | |
}()) ? e__11542 : be; | |
if(cljs.core.truth_(cljs.core.dominates.call(null, cljs.core.first.call(null, be2__11544), k__11540, prefer_table))) { | |
}else { | |
throw new Error([cljs.core.str("Multiple methods in multimethod '"), cljs.core.str(name), cljs.core.str("' match dispatch value: "), cljs.core.str(dispatch_val), cljs.core.str(" -> "), cljs.core.str(k__11540), cljs.core.str(" and "), cljs.core.str(cljs.core.first.call(null, be2__11544)), cljs.core.str(", and neither is preferred")].join("")); | |
} | |
return be2__11544 | |
}else { | |
return be | |
} | |
}, null, cljs.core.deref.call(null, method_table)); | |
if(cljs.core.truth_(best_entry__11545)) { | |
if(cljs.core._EQ_.call(null, cljs.core.deref.call(null, cached_hierarchy), cljs.core.deref.call(null, hierarchy))) { | |
cljs.core.swap_BANG_.call(null, method_cache, cljs.core.assoc, dispatch_val, cljs.core.second.call(null, best_entry__11545)); | |
return cljs.core.second.call(null, best_entry__11545) | |
}else { | |
cljs.core.reset_cache.call(null, method_cache, method_table, cached_hierarchy, hierarchy); | |
return find_and_cache_best_method.call(null, name, dispatch_val, hierarchy, method_table, prefer_table, method_cache, cached_hierarchy) | |
} | |
}else { | |
return null | |
} | |
}; | |
cljs.core.IMultiFn = {}; | |
cljs.core._reset = function _reset(mf) { | |
if(function() { | |
var and__3822__auto____11550 = mf; | |
if(and__3822__auto____11550) { | |
return mf.cljs$core$IMultiFn$_reset$arity$1 | |
}else { | |
return and__3822__auto____11550 | |
} | |
}()) { | |
return mf.cljs$core$IMultiFn$_reset$arity$1(mf) | |
}else { | |
var x__2387__auto____11551 = mf == null ? null : mf; | |
return function() { | |
var or__3824__auto____11552 = cljs.core._reset[goog.typeOf(x__2387__auto____11551)]; | |
if(or__3824__auto____11552) { | |
return or__3824__auto____11552 | |
}else { | |
var or__3824__auto____11553 = cljs.core._reset["_"]; | |
if(or__3824__auto____11553) { | |
return or__3824__auto____11553 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IMultiFn.-reset", mf); | |
} | |
} | |
}().call(null, mf) | |
} | |
}; | |
cljs.core._add_method = function _add_method(mf, dispatch_val, method) { | |
if(function() { | |
var and__3822__auto____11558 = mf; | |
if(and__3822__auto____11558) { | |
return mf.cljs$core$IMultiFn$_add_method$arity$3 | |
}else { | |
return and__3822__auto____11558 | |
} | |
}()) { | |
return mf.cljs$core$IMultiFn$_add_method$arity$3(mf, dispatch_val, method) | |
}else { | |
var x__2387__auto____11559 = mf == null ? null : mf; | |
return function() { | |
var or__3824__auto____11560 = cljs.core._add_method[goog.typeOf(x__2387__auto____11559)]; | |
if(or__3824__auto____11560) { | |
return or__3824__auto____11560 | |
}else { | |
var or__3824__auto____11561 = cljs.core._add_method["_"]; | |
if(or__3824__auto____11561) { | |
return or__3824__auto____11561 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IMultiFn.-add-method", mf); | |
} | |
} | |
}().call(null, mf, dispatch_val, method) | |
} | |
}; | |
cljs.core._remove_method = function _remove_method(mf, dispatch_val) { | |
if(function() { | |
var and__3822__auto____11566 = mf; | |
if(and__3822__auto____11566) { | |
return mf.cljs$core$IMultiFn$_remove_method$arity$2 | |
}else { | |
return and__3822__auto____11566 | |
} | |
}()) { | |
return mf.cljs$core$IMultiFn$_remove_method$arity$2(mf, dispatch_val) | |
}else { | |
var x__2387__auto____11567 = mf == null ? null : mf; | |
return function() { | |
var or__3824__auto____11568 = cljs.core._remove_method[goog.typeOf(x__2387__auto____11567)]; | |
if(or__3824__auto____11568) { | |
return or__3824__auto____11568 | |
}else { | |
var or__3824__auto____11569 = cljs.core._remove_method["_"]; | |
if(or__3824__auto____11569) { | |
return or__3824__auto____11569 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IMultiFn.-remove-method", mf); | |
} | |
} | |
}().call(null, mf, dispatch_val) | |
} | |
}; | |
cljs.core._prefer_method = function _prefer_method(mf, dispatch_val, dispatch_val_y) { | |
if(function() { | |
var and__3822__auto____11574 = mf; | |
if(and__3822__auto____11574) { | |
return mf.cljs$core$IMultiFn$_prefer_method$arity$3 | |
}else { | |
return and__3822__auto____11574 | |
} | |
}()) { | |
return mf.cljs$core$IMultiFn$_prefer_method$arity$3(mf, dispatch_val, dispatch_val_y) | |
}else { | |
var x__2387__auto____11575 = mf == null ? null : mf; | |
return function() { | |
var or__3824__auto____11576 = cljs.core._prefer_method[goog.typeOf(x__2387__auto____11575)]; | |
if(or__3824__auto____11576) { | |
return or__3824__auto____11576 | |
}else { | |
var or__3824__auto____11577 = cljs.core._prefer_method["_"]; | |
if(or__3824__auto____11577) { | |
return or__3824__auto____11577 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IMultiFn.-prefer-method", mf); | |
} | |
} | |
}().call(null, mf, dispatch_val, dispatch_val_y) | |
} | |
}; | |
cljs.core._get_method = function _get_method(mf, dispatch_val) { | |
if(function() { | |
var and__3822__auto____11582 = mf; | |
if(and__3822__auto____11582) { | |
return mf.cljs$core$IMultiFn$_get_method$arity$2 | |
}else { | |
return and__3822__auto____11582 | |
} | |
}()) { | |
return mf.cljs$core$IMultiFn$_get_method$arity$2(mf, dispatch_val) | |
}else { | |
var x__2387__auto____11583 = mf == null ? null : mf; | |
return function() { | |
var or__3824__auto____11584 = cljs.core._get_method[goog.typeOf(x__2387__auto____11583)]; | |
if(or__3824__auto____11584) { | |
return or__3824__auto____11584 | |
}else { | |
var or__3824__auto____11585 = cljs.core._get_method["_"]; | |
if(or__3824__auto____11585) { | |
return or__3824__auto____11585 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IMultiFn.-get-method", mf); | |
} | |
} | |
}().call(null, mf, dispatch_val) | |
} | |
}; | |
cljs.core._methods = function _methods(mf) { | |
if(function() { | |
var and__3822__auto____11590 = mf; | |
if(and__3822__auto____11590) { | |
return mf.cljs$core$IMultiFn$_methods$arity$1 | |
}else { | |
return and__3822__auto____11590 | |
} | |
}()) { | |
return mf.cljs$core$IMultiFn$_methods$arity$1(mf) | |
}else { | |
var x__2387__auto____11591 = mf == null ? null : mf; | |
return function() { | |
var or__3824__auto____11592 = cljs.core._methods[goog.typeOf(x__2387__auto____11591)]; | |
if(or__3824__auto____11592) { | |
return or__3824__auto____11592 | |
}else { | |
var or__3824__auto____11593 = cljs.core._methods["_"]; | |
if(or__3824__auto____11593) { | |
return or__3824__auto____11593 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IMultiFn.-methods", mf); | |
} | |
} | |
}().call(null, mf) | |
} | |
}; | |
cljs.core._prefers = function _prefers(mf) { | |
if(function() { | |
var and__3822__auto____11598 = mf; | |
if(and__3822__auto____11598) { | |
return mf.cljs$core$IMultiFn$_prefers$arity$1 | |
}else { | |
return and__3822__auto____11598 | |
} | |
}()) { | |
return mf.cljs$core$IMultiFn$_prefers$arity$1(mf) | |
}else { | |
var x__2387__auto____11599 = mf == null ? null : mf; | |
return function() { | |
var or__3824__auto____11600 = cljs.core._prefers[goog.typeOf(x__2387__auto____11599)]; | |
if(or__3824__auto____11600) { | |
return or__3824__auto____11600 | |
}else { | |
var or__3824__auto____11601 = cljs.core._prefers["_"]; | |
if(or__3824__auto____11601) { | |
return or__3824__auto____11601 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IMultiFn.-prefers", mf); | |
} | |
} | |
}().call(null, mf) | |
} | |
}; | |
cljs.core._dispatch = function _dispatch(mf, args) { | |
if(function() { | |
var and__3822__auto____11606 = mf; | |
if(and__3822__auto____11606) { | |
return mf.cljs$core$IMultiFn$_dispatch$arity$2 | |
}else { | |
return and__3822__auto____11606 | |
} | |
}()) { | |
return mf.cljs$core$IMultiFn$_dispatch$arity$2(mf, args) | |
}else { | |
var x__2387__auto____11607 = mf == null ? null : mf; | |
return function() { | |
var or__3824__auto____11608 = cljs.core._dispatch[goog.typeOf(x__2387__auto____11607)]; | |
if(or__3824__auto____11608) { | |
return or__3824__auto____11608 | |
}else { | |
var or__3824__auto____11609 = cljs.core._dispatch["_"]; | |
if(or__3824__auto____11609) { | |
return or__3824__auto____11609 | |
}else { | |
throw cljs.core.missing_protocol.call(null, "IMultiFn.-dispatch", mf); | |
} | |
} | |
}().call(null, mf, args) | |
} | |
}; | |
cljs.core.do_dispatch = function do_dispatch(mf, dispatch_fn, args) { | |
var dispatch_val__11612 = cljs.core.apply.call(null, dispatch_fn, args); | |
var target_fn__11613 = cljs.core._get_method.call(null, mf, dispatch_val__11612); | |
if(cljs.core.truth_(target_fn__11613)) { | |
}else { | |
throw new Error([cljs.core.str("No method in multimethod '"), cljs.core.str(cljs.core.name), cljs.core.str("' for dispatch value: "), cljs.core.str(dispatch_val__11612)].join("")); | |
} | |
return cljs.core.apply.call(null, target_fn__11613, args) | |
}; | |
cljs.core.MultiFn = function(name, dispatch_fn, default_dispatch_val, hierarchy, method_table, prefer_table, method_cache, cached_hierarchy) { | |
this.name = name; | |
this.dispatch_fn = dispatch_fn; | |
this.default_dispatch_val = default_dispatch_val; | |
this.hierarchy = hierarchy; | |
this.method_table = method_table; | |
this.prefer_table = prefer_table; | |
this.method_cache = method_cache; | |
this.cached_hierarchy = cached_hierarchy; | |
this.cljs$lang$protocol_mask$partition0$ = 4194304; | |
this.cljs$lang$protocol_mask$partition1$ = 64 | |
}; | |
cljs.core.MultiFn.cljs$lang$type = true; | |
cljs.core.MultiFn.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/MultiFn") | |
}; | |
cljs.core.MultiFn.prototype.cljs$core$IHash$_hash$arity$1 = function(this$) { | |
var this__11614 = this; | |
return goog.getUid(this$) | |
}; | |
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_reset$arity$1 = function(mf) { | |
var this__11615 = this; | |
cljs.core.swap_BANG_.call(null, this__11615.method_table, function(mf) { | |
return cljs.core.ObjMap.EMPTY | |
}); | |
cljs.core.swap_BANG_.call(null, this__11615.method_cache, function(mf) { | |
return cljs.core.ObjMap.EMPTY | |
}); | |
cljs.core.swap_BANG_.call(null, this__11615.prefer_table, function(mf) { | |
return cljs.core.ObjMap.EMPTY | |
}); | |
cljs.core.swap_BANG_.call(null, this__11615.cached_hierarchy, function(mf) { | |
return null | |
}); | |
return mf | |
}; | |
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_add_method$arity$3 = function(mf, dispatch_val, method) { | |
var this__11616 = this; | |
cljs.core.swap_BANG_.call(null, this__11616.method_table, cljs.core.assoc, dispatch_val, method); | |
cljs.core.reset_cache.call(null, this__11616.method_cache, this__11616.method_table, this__11616.cached_hierarchy, this__11616.hierarchy); | |
return mf | |
}; | |
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_remove_method$arity$2 = function(mf, dispatch_val) { | |
var this__11617 = this; | |
cljs.core.swap_BANG_.call(null, this__11617.method_table, cljs.core.dissoc, dispatch_val); | |
cljs.core.reset_cache.call(null, this__11617.method_cache, this__11617.method_table, this__11617.cached_hierarchy, this__11617.hierarchy); | |
return mf | |
}; | |
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_get_method$arity$2 = function(mf, dispatch_val) { | |
var this__11618 = this; | |
if(cljs.core._EQ_.call(null, cljs.core.deref.call(null, this__11618.cached_hierarchy), cljs.core.deref.call(null, this__11618.hierarchy))) { | |
}else { | |
cljs.core.reset_cache.call(null, this__11618.method_cache, this__11618.method_table, this__11618.cached_hierarchy, this__11618.hierarchy) | |
} | |
var temp__3971__auto____11619 = cljs.core.deref.call(null, this__11618.method_cache).call(null, dispatch_val); | |
if(cljs.core.truth_(temp__3971__auto____11619)) { | |
var target_fn__11620 = temp__3971__auto____11619; | |
return target_fn__11620 | |
}else { | |
var temp__3971__auto____11621 = cljs.core.find_and_cache_best_method.call(null, this__11618.name, dispatch_val, this__11618.hierarchy, this__11618.method_table, this__11618.prefer_table, this__11618.method_cache, this__11618.cached_hierarchy); | |
if(cljs.core.truth_(temp__3971__auto____11621)) { | |
var target_fn__11622 = temp__3971__auto____11621; | |
return target_fn__11622 | |
}else { | |
return cljs.core.deref.call(null, this__11618.method_table).call(null, this__11618.default_dispatch_val) | |
} | |
} | |
}; | |
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_prefer_method$arity$3 = function(mf, dispatch_val_x, dispatch_val_y) { | |
var this__11623 = this; | |
if(cljs.core.truth_(cljs.core.prefers_STAR_.call(null, dispatch_val_x, dispatch_val_y, this__11623.prefer_table))) { | |
throw new Error([cljs.core.str("Preference conflict in multimethod '"), cljs.core.str(this__11623.name), cljs.core.str("': "), cljs.core.str(dispatch_val_y), cljs.core.str(" is already preferred to "), cljs.core.str(dispatch_val_x)].join("")); | |
}else { | |
} | |
cljs.core.swap_BANG_.call(null, this__11623.prefer_table, function(old) { | |
return cljs.core.assoc.call(null, old, dispatch_val_x, cljs.core.conj.call(null, cljs.core._lookup.call(null, old, dispatch_val_x, cljs.core.PersistentHashSet.EMPTY), dispatch_val_y)) | |
}); | |
return cljs.core.reset_cache.call(null, this__11623.method_cache, this__11623.method_table, this__11623.cached_hierarchy, this__11623.hierarchy) | |
}; | |
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_methods$arity$1 = function(mf) { | |
var this__11624 = this; | |
return cljs.core.deref.call(null, this__11624.method_table) | |
}; | |
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_prefers$arity$1 = function(mf) { | |
var this__11625 = this; | |
return cljs.core.deref.call(null, this__11625.prefer_table) | |
}; | |
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_dispatch$arity$2 = function(mf, args) { | |
var this__11626 = this; | |
return cljs.core.do_dispatch.call(null, mf, this__11626.dispatch_fn, args) | |
}; | |
cljs.core.MultiFn; | |
cljs.core.MultiFn.prototype.call = function() { | |
var G__11628__delegate = function(_, args) { | |
var self__11627 = this; | |
return cljs.core._dispatch.call(null, self__11627, args) | |
}; | |
var G__11628 = function(_, var_args) { | |
var args = null; | |
if(goog.isDef(var_args)) { | |
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 1), 0) | |
} | |
return G__11628__delegate.call(this, _, args) | |
}; | |
G__11628.cljs$lang$maxFixedArity = 1; | |
G__11628.cljs$lang$applyTo = function(arglist__11629) { | |
var _ = cljs.core.first(arglist__11629); | |
var args = cljs.core.rest(arglist__11629); | |
return G__11628__delegate(_, args) | |
}; | |
G__11628.cljs$lang$arity$variadic = G__11628__delegate; | |
return G__11628 | |
}(); | |
cljs.core.MultiFn.prototype.apply = function(_, args) { | |
var self__11630 = this; | |
return cljs.core._dispatch.call(null, self__11630, args) | |
}; | |
cljs.core.remove_all_methods = function remove_all_methods(multifn) { | |
return cljs.core._reset.call(null, multifn) | |
}; | |
cljs.core.remove_method = function remove_method(multifn, dispatch_val) { | |
return cljs.core._remove_method.call(null, multifn, dispatch_val) | |
}; | |
cljs.core.prefer_method = function prefer_method(multifn, dispatch_val_x, dispatch_val_y) { | |
return cljs.core._prefer_method.call(null, multifn, dispatch_val_x, dispatch_val_y) | |
}; | |
cljs.core.methods$ = function methods$(multifn) { | |
return cljs.core._methods.call(null, multifn) | |
}; | |
cljs.core.get_method = function get_method(multifn, dispatch_val) { | |
return cljs.core._get_method.call(null, multifn, dispatch_val) | |
}; | |
cljs.core.prefers = function prefers(multifn) { | |
return cljs.core._prefers.call(null, multifn) | |
}; | |
cljs.core.UUID = function(uuid) { | |
this.uuid = uuid; | |
this.cljs$lang$protocol_mask$partition1$ = 0; | |
this.cljs$lang$protocol_mask$partition0$ = 543162368 | |
}; | |
cljs.core.UUID.cljs$lang$type = true; | |
cljs.core.UUID.cljs$lang$ctorPrSeq = function(this__2333__auto__) { | |
return cljs.core.list.call(null, "cljs.core/UUID") | |
}; | |
cljs.core.UUID.prototype.cljs$core$IHash$_hash$arity$1 = function(this$) { | |
var this__11631 = this; | |
return goog.string.hashCode(cljs.core.pr_str.call(null, this$)) | |
}; | |
cljs.core.UUID.prototype.cljs$core$IPrintable$_pr_seq$arity$2 = function(_11633, _) { | |
var this__11632 = this; | |
return cljs.core.list.call(null, [cljs.core.str('#uuid "'), cljs.core.str(this__11632.uuid), cljs.core.str('"')].join("")) | |
}; | |
cljs.core.UUID.prototype.cljs$core$IEquiv$_equiv$arity$2 = function(_, other) { | |
var this__11634 = this; | |
var and__3822__auto____11635 = cljs.core.instance_QMARK_.call(null, cljs.core.UUID, other); | |
if(and__3822__auto____11635) { | |
return this__11634.uuid === other.uuid | |
}else { | |
return and__3822__auto____11635 | |
} | |
}; | |
cljs.core.UUID.prototype.toString = function() { | |
var this__11636 = this; | |
var this__11637 = this; | |
return cljs.core.pr_str.call(null, this__11637) | |
}; | |
cljs.core.UUID; | |
goog.provide("goog.dom.classes"); | |
goog.require("goog.array"); | |
goog.dom.classes.set = function(element, className) { | |
element.className = className | |
}; | |
goog.dom.classes.get = function(element) { | |
var className = element.className; | |
return className && typeof className.split == "function" ? className.split(/\s+/) : [] | |
}; | |
goog.dom.classes.add = function(element, var_args) { | |
var classes = goog.dom.classes.get(element); | |
var args = goog.array.slice(arguments, 1); | |
var b = goog.dom.classes.add_(classes, args); | |
element.className = classes.join(" "); | |
return b | |
}; | |
goog.dom.classes.remove = function(element, var_args) { | |
var classes = goog.dom.classes.get(element); | |
var args = goog.array.slice(arguments, 1); | |
var b = goog.dom.classes.remove_(classes, args); | |
element.className = classes.join(" "); | |
return b | |
}; | |
goog.dom.classes.add_ = function(classes, args) { | |
var rv = 0; | |
for(var i = 0;i < args.length;i++) { | |
if(!goog.array.contains(classes, args[i])) { | |
classes.push(args[i]); | |
rv++ | |
} | |
} | |
return rv == args.length | |
}; | |
goog.dom.classes.remove_ = function(classes, args) { | |
var rv = 0; | |
for(var i = 0;i < classes.length;i++) { | |
if(goog.array.contains(args, classes[i])) { | |
goog.array.splice(classes, i--, 1); | |
rv++ | |
} | |
} | |
return rv == args.length | |
}; | |
goog.dom.classes.swap = function(element, fromClass, toClass) { | |
var classes = goog.dom.classes.get(element); | |
var removed = false; | |
for(var i = 0;i < classes.length;i++) { | |
if(classes[i] == fromClass) { | |
goog.array.splice(classes, i--, 1); | |
removed = true | |
} | |
} | |
if(removed) { | |
classes.push(toClass); | |
element.className = classes.join(" ") | |
} | |
return removed | |
}; | |
goog.dom.classes.addRemove = function(element, classesToRemove, classesToAdd) { | |
var classes = goog.dom.classes.get(element); | |
if(goog.isString(classesToRemove)) { | |
goog.array.remove(classes, classesToRemove) | |
}else { | |
if(goog.isArray(classesToRemove)) { | |
goog.dom.classes.remove_(classes, classesToRemove) | |
} | |
} | |
if(goog.isString(classesToAdd) && !goog.array.contains(classes, classesToAdd)) { | |
classes.push(classesToAdd) | |
}else { | |
if(goog.isArray(classesToAdd)) { | |
goog.dom.classes.add_(classes, classesToAdd) | |
} | |
} | |
element.className = classes.join(" ") | |
}; | |
goog.dom.classes.has = function(element, className) { | |
return goog.array.contains(goog.dom.classes.get(element), className) | |
}; | |
goog.dom.classes.enable = function(element, className, enabled) { | |
if(enabled) { | |
goog.dom.classes.add(element, className) | |
}else { | |
goog.dom.classes.remove(element, className) | |
} | |
}; | |
goog.dom.classes.toggle = function(element, className) { | |
var add = !goog.dom.classes.has(element, className); | |
goog.dom.classes.enable(element, className, add); | |
return add | |
}; | |
goog.provide("goog.disposable.IDisposable"); | |
goog.disposable.IDisposable = function() { | |
}; | |
goog.disposable.IDisposable.prototype.dispose; | |
goog.disposable.IDisposable.prototype.isDisposed; | |
goog.provide("goog.Disposable"); | |
goog.provide("goog.dispose"); | |
goog.require("goog.disposable.IDisposable"); | |
goog.Disposable = function() { | |
if(goog.Disposable.ENABLE_MONITORING) { | |
goog.Disposable.instances_[goog.getUid(this)] = this | |
} | |
}; | |
goog.Disposable.ENABLE_MONITORING = false; | |
goog.Disposable.instances_ = {}; | |
goog.Disposable.getUndisposedObjects = function() { | |
var ret = []; | |
for(var id in goog.Disposable.instances_) { | |
if(goog.Disposable.instances_.hasOwnProperty(id)) { | |
ret.push(goog.Disposable.instances_[Number(id)]) | |
} | |
} | |
return ret | |
}; | |
goog.Disposable.clearUndisposedObjects = function() { | |
goog.Disposable.instances_ = {} | |
}; | |
goog.Disposable.prototype.disposed_ = false; | |
goog.Disposable.prototype.isDisposed = function() { | |
return this.disposed_ | |
}; | |
goog.Disposable.prototype.getDisposed = goog.Disposable.prototype.isDisposed; | |
goog.Disposable.prototype.dispose = function() { | |
if(!this.disposed_) { | |
this.disposed_ = true; | |
this.disposeInternal(); | |
if(goog.Disposable.ENABLE_MONITORING) { | |
var uid = goog.getUid(this); | |
if(!goog.Disposable.instances_.hasOwnProperty(uid)) { | |
throw Error(this + " did not call the goog.Disposable base " + "constructor or was disposed of after a clearUndisposedObjects " + "call"); | |
} | |
delete goog.Disposable.instances_[uid] | |
} | |
} | |
}; | |
goog.Disposable.prototype.disposeInternal = function() { | |
}; | |
goog.dispose = function(obj) { | |
if(obj && typeof obj.dispose == "function") { | |
obj.dispose() | |
} | |
}; | |
goog.provide("goog.debug.EntryPointMonitor"); | |
goog.provide("goog.debug.entryPointRegistry"); | |
goog.debug.EntryPointMonitor = function() { | |
}; | |
goog.debug.EntryPointMonitor.prototype.wrap; | |
goog.debug.EntryPointMonitor.prototype.unwrap; | |
goog.debug.entryPointRegistry.refList_ = []; | |
goog.debug.entryPointRegistry.register = function(callback) { | |
goog.debug.entryPointRegistry.refList_[goog.debug.entryPointRegistry.refList_.length] = callback | |
}; | |
goog.debug.entryPointRegistry.monitorAll = function(monitor) { | |
var transformer = goog.bind(monitor.wrap, monitor); | |
for(var i = 0;i < goog.debug.entryPointRegistry.refList_.length;i++) { | |
goog.debug.entryPointRegistry.refList_[i](transformer) | |
} | |
}; | |
goog.debug.entryPointRegistry.unmonitorAllIfPossible = function(monitor) { | |
var transformer = goog.bind(monitor.unwrap, monitor); | |
for(var i = 0;i < goog.debug.entryPointRegistry.refList_.length;i++) { | |
goog.debug.entryPointRegistry.refList_[i](transformer) | |
} | |
}; | |
goog.provide("goog.debug.errorHandlerWeakDep"); | |
goog.debug.errorHandlerWeakDep = {protectEntryPoint:function(fn, opt_tracers) { | |
return fn | |
}}; | |
goog.provide("goog.userAgent"); | |
goog.require("goog.string"); | |
goog.userAgent.ASSUME_IE = false; | |
goog.userAgent.ASSUME_GECKO = false; | |
goog.userAgent.ASSUME_WEBKIT = false; | |
goog.userAgent.ASSUME_MOBILE_WEBKIT = false; | |
goog.userAgent.ASSUME_OPERA = false; | |
goog.userAgent.BROWSER_KNOWN_ = goog.userAgent.ASSUME_IE || goog.userAgent.ASSUME_GECKO || goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_OPERA; | |
goog.userAgent.getUserAgentString = function() { | |
return goog.global["navigator"] ? goog.global["navigator"].userAgent : null | |
}; | |
goog.userAgent.getNavigator = function() { | |
return goog.global["navigator"] | |
}; | |
goog.userAgent.init_ = function() { | |
goog.userAgent.detectedOpera_ = false; | |
goog.userAgent.detectedIe_ = false; | |
goog.userAgent.detectedWebkit_ = false; | |
goog.userAgent.detectedMobile_ = false; | |
goog.userAgent.detectedGecko_ = false; | |
var ua; | |
if(!goog.userAgent.BROWSER_KNOWN_ && (ua = goog.userAgent.getUserAgentString())) { | |
var navigator = goog.userAgent.getNavigator(); | |
goog.userAgent.detectedOpera_ = ua.indexOf("Opera") == 0; | |
goog.userAgent.detectedIe_ = !goog.userAgent.detectedOpera_ && ua.indexOf("MSIE") != -1; | |
goog.userAgent.detectedWebkit_ = !goog.userAgent.detectedOpera_ && ua.indexOf("WebKit") != -1; | |
goog.userAgent.detectedMobile_ = goog.userAgent.detectedWebkit_ && ua.indexOf("Mobile") != -1; | |
goog.userAgent.detectedGecko_ = !goog.userAgent.detectedOpera_ && !goog.userAgent.detectedWebkit_ && navigator.product == "Gecko" | |
} | |
}; | |
if(!goog.userAgent.BROWSER_KNOWN_) { | |
goog.userAgent.init_() | |
} | |
goog.userAgent.OPERA = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_OPERA : goog.userAgent.detectedOpera_; | |
goog.userAgent.IE = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_IE : goog.userAgent.detectedIe_; | |
goog.userAgent.GECKO = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_GECKO : goog.userAgent.detectedGecko_; | |
goog.userAgent.WEBKIT = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_MOBILE_WEBKIT : goog.userAgent.detectedWebkit_; | |
goog.userAgent.MOBILE = goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.detectedMobile_; | |
goog.userAgent.SAFARI = goog.userAgent.WEBKIT; | |
goog.userAgent.determinePlatform_ = function() { | |
var navigator = goog.userAgent.getNavigator(); | |
return navigator && navigator.platform || "" | |
}; | |
goog.userAgent.PLATFORM = goog.userAgent.determinePlatform_(); | |
goog.userAgent.ASSUME_MAC = false; | |
goog.userAgent.ASSUME_WINDOWS = false; | |
goog.userAgent.ASSUME_LINUX = false; | |
goog.userAgent.ASSUME_X11 = false; | |
goog.userAgent.PLATFORM_KNOWN_ = goog.userAgent.ASSUME_MAC || goog.userAgent.ASSUME_WINDOWS || goog.userAgent.ASSUME_LINUX || goog.userAgent.ASSUME_X11; | |
goog.userAgent.initPlatform_ = function() { | |
goog.userAgent.detectedMac_ = goog.string.contains(goog.userAgent.PLATFORM, "Mac"); | |
goog.userAgent.detectedWindows_ = goog.string.contains(goog.userAgent.PLATFORM, "Win"); | |
goog.userAgent.detectedLinux_ = goog.string.contains(goog.userAgent.PLATFORM, "Linux"); | |
goog.userAgent.detectedX11_ = !!goog.userAgent.getNavigator() && goog.string.contains(goog.userAgent.getNavigator()["appVersion"] || "", "X11") | |
}; | |
if(!goog.userAgent.PLATFORM_KNOWN_) { | |
goog.userAgent.initPlatform_() | |
} | |
goog.userAgent.MAC = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_MAC : goog.userAgent.detectedMac_; | |
goog.userAgent.WINDOWS = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_WINDOWS : goog.userAgent.detectedWindows_; | |
goog.userAgent.LINUX = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_LINUX : goog.userAgent.detectedLinux_; | |
goog.userAgent.X11 = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_X11 : goog.userAgent.detectedX11_; | |
goog.userAgent.determineVersion_ = function() { | |
var version = "", re; | |
if(goog.userAgent.OPERA && goog.global["opera"]) { | |
var operaVersion = goog.global["opera"].version; | |
version = typeof operaVersion == "function" ? operaVersion() : operaVersion | |
}else { | |
if(goog.userAgent.GECKO) { | |
re = /rv\:([^\);]+)(\)|;)/ | |
}else { | |
if(goog.userAgent.IE) { | |
re = /MSIE\s+([^\);]+)(\)|;)/ | |
}else { | |
if(goog.userAgent.WEBKIT) { | |
re = /WebKit\/(\S+)/ | |
} | |
} | |
} | |
if(re) { | |
var arr = re.exec(goog.userAgent.getUserAgentString()); | |
version = arr ? arr[1] : "" | |
} | |
} | |
if(goog.userAgent.IE) { | |
var docMode = goog.userAgent.getDocumentMode_(); | |
if(docMode > parseFloat(version)) { | |
return String(docMode) | |
} | |
} | |
return version | |
}; | |
goog.userAgent.getDocumentMode_ = function() { | |
var doc = goog.global["document"]; | |
return doc ? doc["documentMode"] : undefined | |
}; | |
goog.userAgent.VERSION = goog.userAgent.determineVersion_(); | |
goog.userAgent.compare = function(v1, v2) { | |
return goog.string.compareVersions(v1, v2) | |
}; | |
goog.userAgent.isVersionCache_ = {}; | |
goog.userAgent.isVersion = function(version) { | |
return goog.userAgent.isVersionCache_[version] || (goog.userAgent.isVersionCache_[version] = goog.string.compareVersions(goog.userAgent.VERSION, version) >= 0) | |
}; | |
goog.provide("goog.events.BrowserFeature"); | |
goog.require("goog.userAgent"); | |
goog.events.BrowserFeature = {HAS_W3C_BUTTON:!goog.userAgent.IE || goog.userAgent.isVersion("9"), SET_KEY_CODE_TO_PREVENT_DEFAULT:goog.userAgent.IE && !goog.userAgent.isVersion("8")}; | |
goog.provide("goog.events.Event"); | |
goog.require("goog.Disposable"); | |
goog.events.Event = function(type, opt_target) { | |
goog.Disposable.call(this); | |
this.type = type; | |
this.target = opt_target; | |
this.currentTarget = this.target | |
}; | |
goog.inherits(goog.events.Event, goog.Disposable); | |
goog.events.Event.prototype.disposeInternal = function() { | |
delete this.type; | |
delete this.target; | |
delete this.currentTarget | |
}; | |
goog.events.Event.prototype.propagationStopped_ = false; | |
goog.events.Event.prototype.returnValue_ = true; | |
goog.events.Event.prototype.stopPropagation = function() { | |
this.propagationStopped_ = true | |
}; | |
goog.events.Event.prototype.preventDefault = function() { | |
this.returnValue_ = false | |
}; | |
goog.events.Event.stopPropagation = function(e) { | |
e.stopPropagation() | |
}; | |
goog.events.Event.preventDefault = function(e) { | |
e.preventDefault() | |
}; | |
goog.provide("goog.events.EventType"); | |
goog.require("goog.userAgent"); | |
goog.events.EventType = {CLICK:"click", DBLCLICK:"dblclick", MOUSEDOWN:"mousedown", MOUSEUP:"mouseup", MOUSEOVER:"mouseover", MOUSEOUT:"mouseout", MOUSEMOVE:"mousemove", SELECTSTART:"selectstart", KEYPRESS:"keypress", KEYDOWN:"keydown", KEYUP:"keyup", BLUR:"blur", FOCUS:"focus", DEACTIVATE:"deactivate", FOCUSIN:goog.userAgent.IE ? "focusin" : "DOMFocusIn", FOCUSOUT:goog.userAgent.IE ? "focusout" : "DOMFocusOut", CHANGE:"change", SELECT:"select", SUBMIT:"submit", INPUT:"input", PROPERTYCHANGE:"propertychange", | |
DRAGSTART:"dragstart", DRAGENTER:"dragenter", DRAGOVER:"dragover", DRAGLEAVE:"dragleave", DROP:"drop", TOUCHSTART:"touchstart", TOUCHMOVE:"touchmove", TOUCHEND:"touchend", TOUCHCANCEL:"touchcancel", CONTEXTMENU:"contextmenu", ERROR:"error", HELP:"help", LOAD:"load", LOSECAPTURE:"losecapture", READYSTATECHANGE:"readystatechange", RESIZE:"resize", SCROLL:"scroll", UNLOAD:"unload", HASHCHANGE:"hashchange", PAGEHIDE:"pagehide", PAGESHOW:"pageshow", POPSTATE:"popstate", COPY:"copy", PASTE:"paste", CUT:"cut", | |
MESSAGE:"message", CONNECT:"connect"}; | |
goog.provide("goog.reflect"); | |
goog.reflect.object = function(type, object) { | |
return object | |
}; | |
goog.reflect.sinkValue = new Function("a", "return a"); | |
goog.provide("goog.events.BrowserEvent"); | |
goog.provide("goog.events.BrowserEvent.MouseButton"); | |
goog.require("goog.events.BrowserFeature"); | |
goog.require("goog.events.Event"); | |
goog.require("goog.events.EventType"); | |
goog.require("goog.reflect"); | |
goog.require("goog.userAgent"); | |
goog.events.BrowserEvent = function(opt_e, opt_currentTarget) { | |
if(opt_e) { | |
this.init(opt_e, opt_currentTarget) | |
} | |
}; | |
goog.inherits(goog.events.BrowserEvent, goog.events.Event); | |
goog.events.BrowserEvent.MouseButton = {LEFT:0, MIDDLE:1, RIGHT:2}; | |
goog.events.BrowserEvent.IEButtonMap = [1, 4, 2]; | |
goog.events.BrowserEvent.prototype.target = null; | |
goog.events.BrowserEvent.prototype.currentTarget; | |
goog.events.BrowserEvent.prototype.relatedTarget = null; | |
goog.events.BrowserEvent.prototype.offsetX = 0; | |
goog.events.BrowserEvent.prototype.offsetY = 0; | |
goog.events.BrowserEvent.prototype.clientX = 0; | |
goog.events.BrowserEvent.prototype.clientY = 0; | |
goog.events.BrowserEvent.prototype.screenX = 0; | |
goog.events.BrowserEvent.prototype.screenY = 0; | |
goog.events.BrowserEvent.prototype.button = 0; | |
goog.events.BrowserEvent.prototype.keyCode = 0; | |
goog.events.BrowserEvent.prototype.charCode = 0; | |
goog.events.BrowserEvent.prototype.ctrlKey = false; | |
goog.events.BrowserEvent.prototype.altKey = false; | |
goog.events.BrowserEvent.prototype.shiftKey = false; | |
goog.events.BrowserEvent.prototype.metaKey = false; | |
goog.events.BrowserEvent.prototype.state; | |
goog.events.BrowserEvent.prototype.platformModifierKey = false; | |
goog.events.BrowserEvent.prototype.event_ = null; | |
goog.events.BrowserEvent.prototype.init = function(e, opt_currentTarget) { | |
var type = this.type = e.type; | |
goog.events.Event.call(this, type); | |
this.target = e.target || e.srcElement; | |
this.currentTarget = opt_currentTarget; | |
var relatedTarget = e.relatedTarget; | |
if(relatedTarget) { | |
if(goog.userAgent.GECKO) { | |
try { | |
goog.reflect.sinkValue(relatedTarget.nodeName) | |
}catch(err) { | |
relatedTarget = null | |
} | |
} | |
}else { | |
if(type == goog.events.EventType.MOUSEOVER) { | |
relatedTarget = e.fromElement | |
}else { | |
if(type == goog.events.EventType.MOUSEOUT) { | |
relatedTarget = e.toElement | |
} | |
} | |
} | |
this.relatedTarget = relatedTarget; | |
this.offsetX = e.offsetX !== undefined ? e.offsetX : e.layerX; | |
this.offsetY = e.offsetY !== undefined ? e.offsetY : e.layerY; | |
this.clientX = e.clientX !== undefined ? e.clientX : e.pageX; | |
this.clientY = e.clientY !== undefined ? e.clientY : e.pageY; | |
this.screenX = e.screenX || 0; | |
this.screenY = e.screenY || 0; | |
this.button = e.button; | |
this.keyCode = e.keyCode || 0; | |
this.charCode = e.charCode || (type == "keypress" ? e.keyCode : 0); | |
this.ctrlKey = e.ctrlKey; | |
this.altKey = e.altKey; | |
this.shiftKey = e.shiftKey; | |
this.metaKey = e.metaKey; | |
this.platformModifierKey = goog.userAgent.MAC ? e.metaKey : e.ctrlKey; | |
this.state = e.state; | |
this.event_ = e; | |
delete this.returnValue_; | |
delete this.propagationStopped_ | |
}; | |
goog.events.BrowserEvent.prototype.isButton = function(button) { | |
if(!goog.events.BrowserFeature.HAS_W3C_BUTTON) { | |
if(this.type == "click") { | |
return button == goog.events.BrowserEvent.MouseButton.LEFT | |
}else { | |
return!!(this.event_.button & goog.events.BrowserEvent.IEButtonMap[button]) | |
} | |
}else { | |
return this.event_.button == button | |
} | |
}; | |
goog.events.BrowserEvent.prototype.isMouseActionButton = function() { | |
return this.isButton(goog.events.BrowserEvent.MouseButton.LEFT) && !(goog.userAgent.WEBKIT && goog.userAgent.MAC && this.ctrlKey) | |
}; | |
goog.events.BrowserEvent.prototype.stopPropagation = function() { | |
goog.events.BrowserEvent.superClass_.stopPropagation.call(this); | |
if(this.event_.stopPropagation) { | |
this.event_.stopPropagation() | |
}else { | |
this.event_.cancelBubble = true | |
} | |
}; | |
goog.events.BrowserEvent.prototype.preventDefault = function() { | |
goog.events.BrowserEvent.superClass_.preventDefault.call(this); | |
var be = this.event_; | |
if(!be.preventDefault) { | |
be.returnValue = false; | |
if(goog.events.BrowserFeature.SET_KEY_CODE_TO_PREVENT_DEFAULT) { | |
try { | |
var VK_F1 = 112; | |
var VK_F12 = 123; | |
if(be.ctrlKey || be.keyCode >= VK_F1 && be.keyCode <= VK_F12) { | |
be.keyCode = -1 | |
} | |
}catch(ex) { | |
} | |
} | |
}else { | |
be.preventDefault() | |
} | |
}; | |
goog.events.BrowserEvent.prototype.getBrowserEvent = function() { | |
return this.event_ | |
}; | |
goog.events.BrowserEvent.prototype.disposeInternal = function() { | |
goog.events.BrowserEvent.superClass_.disposeInternal.call(this); | |
this.event_ = null; | |
this.target = null; | |
this.currentTarget = null; | |
this.relatedTarget = null | |
}; | |
goog.provide("goog.events.EventWrapper"); | |
goog.events.EventWrapper = function() { | |
}; | |
goog.events.EventWrapper.prototype.listen = function(src, listener, opt_capt, opt_scope, opt_eventHandler) { | |
}; | |
goog.events.EventWrapper.prototype.unlisten = function(src, listener, opt_capt, opt_scope, opt_eventHandler) { | |
}; | |
goog.provide("goog.events.Listener"); | |
goog.events.Listener = function() { | |
}; | |
goog.events.Listener.counter_ = 0; | |
goog.events.Listener.prototype.isFunctionListener_; | |
goog.events.Listener.prototype.listener; | |
goog.events.Listener.prototype.proxy; | |
goog.events.Listener.prototype.src; | |
goog.events.Listener.prototype.type; | |
goog.events.Listener.prototype.capture; | |
goog.events.Listener.prototype.handler; | |
goog.events.Listener.prototype.key = 0; | |
goog.events.Listener.prototype.removed = false; | |
goog.events.Listener.prototype.callOnce = false; | |
goog.events.Listener.prototype.init = function(listener, proxy, src, type, capture, opt_handler) { | |
if(goog.isFunction(listener)) { | |
this.isFunctionListener_ = true | |
}else { | |
if(listener && listener.handleEvent && goog.isFunction(listener.handleEvent)) { | |
this.isFunctionListener_ = false | |
}else { | |
throw Error("Invalid listener argument"); | |
} | |
} | |
this.listener = listener; | |
this.proxy = proxy; | |
this.src = src; | |
this.type = type; | |
this.capture = !!capture; | |
this.handler = opt_handler; | |
this.callOnce = false; | |
this.key = ++goog.events.Listener.counter_; | |
this.removed = false | |
}; | |
goog.events.Listener.prototype.handleEvent = function(eventObject) { | |
if(this.isFunctionListener_) { | |
return this.listener.call(this.handler || this.src, eventObject) | |
} | |
return this.listener.handleEvent.call(this.listener, eventObject) | |
}; | |
goog.provide("goog.structs.SimplePool"); | |
goog.require("goog.Disposable"); | |
goog.structs.SimplePool = function(initialCount, maxCount) { | |
goog.Disposable.call(this); | |
this.maxCount_ = maxCount; | |
this.freeQueue_ = []; | |
this.createInitial_(initialCount) | |
}; | |
goog.inherits(goog.structs.SimplePool, goog.Disposable); | |
goog.structs.SimplePool.prototype.createObjectFn_ = null; | |
goog.structs.SimplePool.prototype.disposeObjectFn_ = null; | |
goog.structs.SimplePool.prototype.setCreateObjectFn = function(createObjectFn) { | |
this.createObjectFn_ = createObjectFn | |
}; | |
goog.structs.SimplePool.prototype.setDisposeObjectFn = function(disposeObjectFn) { | |
this.disposeObjectFn_ = disposeObjectFn | |
}; | |
goog.structs.SimplePool.prototype.getObject = function() { | |
if(this.freeQueue_.length) { | |
return this.freeQueue_.pop() | |
} | |
return this.createObject() | |
}; | |
goog.structs.SimplePool.prototype.releaseObject = function(obj) { | |
if(this.freeQueue_.length < this.maxCount_) { | |
this.freeQueue_.push(obj) | |
}else { | |
this.disposeObject(obj) | |
} | |
}; | |
goog.structs.SimplePool.prototype.createInitial_ = function(initialCount) { | |
if(initialCount > this.maxCount_) { | |
throw Error("[goog.structs.SimplePool] Initial cannot be greater than max"); | |
} | |
for(var i = 0;i < initialCount;i++) { | |
this.freeQueue_.push(this.createObject()) | |
} | |
}; | |
goog.structs.SimplePool.prototype.createObject = function() { | |
if(this.createObjectFn_) { | |
return this.createObjectFn_() | |
}else { | |
return{} | |
} | |
}; | |
goog.structs.SimplePool.prototype.disposeObject = function(obj) { | |
if(this.disposeObjectFn_) { | |
this.disposeObjectFn_(obj) | |
}else { | |
if(goog.isObject(obj)) { | |
if(goog.isFunction(obj.dispose)) { | |
obj.dispose() | |
}else { | |
for(var i in obj) { | |
delete obj[i] | |
} | |
} | |
} | |
} | |
}; | |
goog.structs.SimplePool.prototype.disposeInternal = function() { | |
goog.structs.SimplePool.superClass_.disposeInternal.call(this); | |
var freeQueue = this.freeQueue_; | |
while(freeQueue.length) { | |
this.disposeObject(freeQueue.pop()) | |
} | |
delete this.freeQueue_ | |
}; | |
goog.provide("goog.events.pools"); | |
goog.require("goog.events.BrowserEvent"); | |
goog.require("goog.events.Listener"); | |
goog.require("goog.structs.SimplePool"); | |
goog.require("goog.userAgent.jscript"); | |
goog.events.ASSUME_GOOD_GC = false; | |
goog.events.pools.getObject; | |
goog.events.pools.releaseObject; | |
goog.events.pools.getArray; | |
goog.events.pools.releaseArray; | |
goog.events.pools.getProxy; | |
goog.events.pools.setProxyCallbackFunction; | |
goog.events.pools.releaseProxy; | |
goog.events.pools.getListener; | |
goog.events.pools.releaseListener; | |
goog.events.pools.getEvent; | |
goog.events.pools.releaseEvent; | |
(function() { | |
var BAD_GC = !goog.events.ASSUME_GOOD_GC && goog.userAgent.jscript.HAS_JSCRIPT && !goog.userAgent.jscript.isVersion("5.7"); | |
function getObject() { | |
return{count_:0, remaining_:0} | |
} | |
function getArray() { | |
return[] | |
} | |
var proxyCallbackFunction; | |
goog.events.pools.setProxyCallbackFunction = function(cb) { | |
proxyCallbackFunction = cb | |
}; | |
function getProxy() { | |
var f = function(eventObject) { | |
return proxyCallbackFunction.call(f.src, f.key, eventObject) | |
}; | |
return f | |
} | |
function getListener() { | |
return new goog.events.Listener | |
} | |
function getEvent() { | |
return new goog.events.BrowserEvent | |
} | |
if(!BAD_GC) { | |
goog.events.pools.getObject = getObject; | |
goog.events.pools.releaseObject = goog.nullFunction; | |
goog.events.pools.getArray = getArray; | |
goog.events.pools.releaseArray = goog.nullFunction; | |
goog.events.pools.getProxy = getProxy; | |
goog.events.pools.releaseProxy = goog.nullFunction; | |
goog.events.pools.getListener = getListener; | |
goog.events.pools.releaseListener = goog.nullFunction; | |
goog.events.pools.getEvent = getEvent; | |
goog.events.pools.releaseEvent = goog.nullFunction | |
}else { | |
goog.events.pools.getObject = function() { | |
return objectPool.getObject() | |
}; | |
goog.events.pools.releaseObject = function(obj) { | |
objectPool.releaseObject(obj) | |
}; | |
goog.events.pools.getArray = function() { | |
return arrayPool.getObject() | |
}; | |
goog.events.pools.releaseArray = function(obj) { | |
arrayPool.releaseObject(obj) | |
}; | |
goog.events.pools.getProxy = function() { | |
return proxyPool.getObject() | |
}; | |
goog.events.pools.releaseProxy = function(obj) { | |
proxyPool.releaseObject(getProxy()) | |
}; | |
goog.events.pools.getListener = function() { | |
return listenerPool.getObject() | |
}; | |
goog.events.pools.releaseListener = function(obj) { | |
listenerPool.releaseObject(obj) | |
}; | |
goog.events.pools.getEvent = function() { | |
return eventPool.getObject() | |
}; | |
goog.events.pools.releaseEvent = function(obj) { | |
eventPool.releaseObject(obj) | |
}; | |
var OBJECT_POOL_INITIAL_COUNT = 0; | |
var OBJECT_POOL_MAX_COUNT = 600; | |
var objectPool = new goog.structs.SimplePool(OBJECT_POOL_INITIAL_COUNT, OBJECT_POOL_MAX_COUNT); | |
objectPool.setCreateObjectFn(getObject); | |
var ARRAY_POOL_INITIAL_COUNT = 0; | |
var ARRAY_POOL_MAX_COUNT = 600; | |
var arrayPool = new goog.structs.SimplePool(ARRAY_POOL_INITIAL_COUNT, ARRAY_POOL_MAX_COUNT); | |
arrayPool.setCreateObjectFn(getArray); | |
var HANDLE_EVENT_PROXY_POOL_INITIAL_COUNT = 0; | |
var HANDLE_EVENT_PROXY_POOL_MAX_COUNT = 600; | |
var proxyPool = new goog.structs.SimplePool(HANDLE_EVENT_PROXY_POOL_INITIAL_COUNT, HANDLE_EVENT_PROXY_POOL_MAX_COUNT); | |
proxyPool.setCreateObjectFn(getProxy); | |
var LISTENER_POOL_INITIAL_COUNT = 0; | |
var LISTENER_POOL_MAX_COUNT = 600; | |
var listenerPool = new goog.structs.SimplePool(LISTENER_POOL_INITIAL_COUNT, LISTENER_POOL_MAX_COUNT); | |
listenerPool.setCreateObjectFn(getListener); | |
var EVENT_POOL_INITIAL_COUNT = 0; | |
var EVENT_POOL_MAX_COUNT = 600; | |
var eventPool = new goog.structs.SimplePool(EVENT_POOL_INITIAL_COUNT, EVENT_POOL_MAX_COUNT); | |
eventPool.setCreateObjectFn(getEvent) | |
} | |
})(); | |
goog.provide("goog.events"); | |
goog.require("goog.array"); | |
goog.require("goog.debug.entryPointRegistry"); | |
goog.require("goog.debug.errorHandlerWeakDep"); | |
goog.require("goog.events.BrowserEvent"); | |
goog.require("goog.events.Event"); | |
goog.require("goog.events.EventWrapper"); | |
goog.require("goog.events.pools"); | |
goog.require("goog.object"); | |
goog.require("goog.userAgent"); | |
goog.events.listeners_ = {}; | |
goog.events.listenerTree_ = {}; | |
goog.events.sources_ = {}; | |
goog.events.onString_ = "on"; | |
goog.events.onStringMap_ = {}; | |
goog.events.keySeparator_ = "_"; | |
goog.events.requiresSyntheticEventPropagation_; | |
goog.events.listen = function(src, type, listener, opt_capt, opt_handler) { | |
if(!type) { | |
throw Error("Invalid event type"); | |
}else { | |
if(goog.isArray(type)) { | |
for(var i = 0;i < type.length;i++) { | |
goog.events.listen(src, type[i], listener, opt_capt, opt_handler) | |
} | |
return null | |
}else { | |
var capture = !!opt_capt; | |
var map = goog.events.listenerTree_; | |
if(!(type in map)) { | |
map[type] = goog.events.pools.getObject() | |
} | |
map = map[type]; | |
if(!(capture in map)) { | |
map[capture] = goog.events.pools.getObject(); | |
map.count_++ | |
} | |
map = map[capture]; | |
var srcUid = goog.getUid(src); | |
var listenerArray, listenerObj; | |
map.remaining_++; | |
if(!map[srcUid]) { | |
listenerArray = map[srcUid] = goog.events.pools.getArray(); | |
map.count_++ | |
}else { | |
listenerArray = map[srcUid]; | |
for(var i = 0;i < listenerArray.length;i++) { | |
listenerObj = listenerArray[i]; | |
if(listenerObj.listener == listener && listenerObj.handler == opt_handler) { | |
if(listenerObj.removed) { | |
break | |
} | |
return listenerArray[i].key | |
} | |
} | |
} | |
var proxy = goog.events.pools.getProxy(); | |
proxy.src = src; | |
listenerObj = goog.events.pools.getListener(); | |
listenerObj.init(listener, proxy, src, type, capture, opt_handler); | |
var key = listenerObj.key; | |
proxy.key = key; | |
listenerArray.push(listenerObj); | |
goog.events.listeners_[key] = listenerObj; | |
if(!goog.events.sources_[srcUid]) { | |
goog.events.sources_[srcUid] = goog.events.pools.getArray() | |
} | |
goog.events.sources_[srcUid].push(listenerObj); | |
if(src.addEventListener) { | |
if(src == goog.global || !src.customEvent_) { | |
src.addEventListener(type, proxy, capture) | |
} | |
}else { | |
src.attachEvent(goog.events.getOnString_(type), proxy) | |
} | |
return key | |
} | |
} | |
}; | |
goog.events.listenOnce = function(src, type, listener, opt_capt, opt_handler) { | |
if(goog.isArray(type)) { | |
for(var i = 0;i < type.length;i++) { | |
goog.events.listenOnce(src, type[i], listener, opt_capt, opt_handler) | |
} | |
return null | |
} | |
var key = goog.events.listen(src, type, listener, opt_capt, opt_handler); | |
var listenerObj = goog.events.listeners_[key]; | |
listenerObj.callOnce = true; | |
return key | |
}; | |
goog.events.listenWithWrapper = function(src, wrapper, listener, opt_capt, opt_handler) { | |
wrapper.listen(src, listener, opt_capt, opt_handler) | |
}; | |
goog.events.unlisten = function(src, type, listener, opt_capt, opt_handler) { | |
if(goog.isArray(type)) { | |
for(var i = 0;i < type.length;i++) { | |
goog.events.unlisten(src, type[i], listener, opt_capt, opt_handler) | |
} | |
return null | |
} | |
var capture = !!opt_capt; | |
var listenerArray = goog.events.getListeners_(src, type, capture); | |
if(!listenerArray) { | |
return false | |
} | |
for(var i = 0;i < listenerArray.length;i++) { | |
if(listenerArray[i].listener == listener && listenerArray[i].capture == capture && listenerArray[i].handler == opt_handler) { | |
return goog.events.unlistenByKey(listenerArray[i].key) | |
} | |
} | |
return false | |
}; | |
goog.events.unlistenByKey = function(key) { | |
if(!goog.events.listeners_[key]) { | |
return false | |
} | |
var listener = goog.events.listeners_[key]; | |
if(listener.removed) { | |
return false | |
} | |
var src = listener.src; | |
var type = listener.type; | |
var proxy = listener.proxy; | |
var capture = listener.capture; | |
if(src.removeEventListener) { | |
if(src == goog.global || !src.customEvent_) { | |
src.removeEventListener(type, proxy, capture) | |
} | |
}else { | |
if(src.detachEvent) { | |
src.detachEvent(goog.events.getOnString_(type), proxy) | |
} | |
} | |
var srcUid = goog.getUid(src); | |
var listenerArray = goog.events.listenerTree_[type][capture][srcUid]; | |
if(goog.events.sources_[srcUid]) { | |
var sourcesArray = goog.events.sources_[srcUid]; | |
goog.array.remove(sourcesArray, listener); | |
if(sourcesArray.length == 0) { | |
delete goog.events.sources_[srcUid] | |
} | |
} | |
listener.removed = true; | |
listenerArray.needsCleanup_ = true; | |
goog.events.cleanUp_(type, capture, srcUid, listenerArray); | |
delete goog.events.listeners_[key]; | |
return true | |
}; | |
goog.events.unlistenWithWrapper = function(src, wrapper, listener, opt_capt, opt_handler) { | |
wrapper.unlisten(src, listener, opt_capt, opt_handler) | |
}; | |
goog.events.cleanUp_ = function(type, capture, srcUid, listenerArray) { | |
if(!listenerArray.locked_) { | |
if(listenerArray.needsCleanup_) { | |
for(var oldIndex = 0, newIndex = 0;oldIndex < listenerArray.length;oldIndex++) { | |
if(listenerArray[oldIndex].removed) { | |
var proxy = listenerArray[oldIndex].proxy; | |
proxy.src = null; | |
goog.events.pools.releaseProxy(proxy); | |
goog.events.pools.releaseListener(listenerArray[oldIndex]); | |
continue | |
} | |
if(oldIndex != newIndex) { | |
listenerArray[newIndex] = listenerArray[oldIndex] | |
} | |
newIndex++ | |
} | |
listenerArray.length = newIndex; | |
listenerArray.needsCleanup_ = false; | |
if(newIndex == 0) { | |
goog.events.pools.releaseArray(listenerArray); | |
delete goog.events.listenerTree_[type][capture][srcUid]; | |
goog.events.listenerTree_[type][capture].count_--; | |
if(goog.events.listenerTree_[type][capture].count_ == 0) { | |
goog.events.pools.releaseObject(goog.events.listenerTree_[type][capture]); | |
delete goog.events.listenerTree_[type][capture]; | |
goog.events.listenerTree_[type].count_-- | |
} | |
if(goog.events.listenerTree_[type].count_ == 0) { | |
goog.events.pools.releaseObject(goog.events.listenerTree_[type]); | |
delete goog.events.listenerTree_[type] | |
} | |
} | |
} | |
} | |
}; | |
goog.events.removeAll = function(opt_obj, opt_type, opt_capt) { | |
var count = 0; | |
var noObj = opt_obj == null; | |
var noType = opt_type == null; | |
var noCapt = opt_capt == null; | |
opt_capt = !!opt_capt; | |
if(!noObj) { | |
var srcUid = goog.getUid(opt_obj); | |
if(goog.events.sources_[srcUid]) { | |
var sourcesArray = goog.events.sources_[srcUid]; | |
for(var i = sourcesArray.length - 1;i >= 0;i--) { | |
var listener = sourcesArray[i]; | |
if((noType || opt_type == listener.type) && (noCapt || opt_capt == listener.capture)) { | |
goog.events.unlistenByKey(listener.key); | |
count++ | |
} | |
} | |
} | |
}else { | |
goog.object.forEach(goog.events.sources_, function(listeners) { | |
for(var i = listeners.length - 1;i >= 0;i--) { | |
var listener = listeners[i]; | |
if((noType || opt_type == listener.type) && (noCapt || opt_capt == listener.capture)) { | |
goog.events.unlistenByKey(listener.key); | |
count++ | |
} | |
} | |
}) | |
} | |
return count | |
}; | |
goog.events.getListeners = function(obj, type, capture) { | |
return goog.events.getListeners_(obj, type, capture) || [] | |
}; | |
goog.events.getListeners_ = function(obj, type, capture) { | |
var map = goog.events.listenerTree_; | |
if(type in map) { | |
map = map[type]; | |
if(capture in map) { | |
map = map[capture]; | |
var objUid = goog.getUid(obj); | |
if(map[objUid]) { | |
return map[objUid] | |
} | |
} | |
} | |
return null | |
}; | |
goog.events.getListener = function(src, type, listener, opt_capt, opt_handler) { | |
var capture = !!opt_capt; | |
var listenerArray = goog.events.getListeners_(src, type, capture); | |
if(listenerArray) { | |
for(var i = 0;i < listenerArray.length;i++) { | |
if(listenerArray[i].listener == listener && listenerArray[i].capture == capture && listenerArray[i].handler == opt_handler) { | |
return listenerArray[i] | |
} | |
} | |
} | |
return null | |
}; | |
goog.events.hasListener = function(obj, opt_type, opt_capture) { | |
var objUid = goog.getUid(obj); | |
var listeners = goog.events.sources_[objUid]; | |
if(listeners) { | |
var hasType = goog.isDef(opt_type); | |
var hasCapture = goog.isDef(opt_capture); | |
if(hasType && hasCapture) { | |
var map = goog.events.listenerTree_[opt_type]; | |
return!!map && !!map[opt_capture] && objUid in map[opt_capture] | |
}else { | |
if(!(hasType || hasCapture)) { | |
return true | |
}else { | |
return goog.array.some(listeners, function(listener) { | |
return hasType && listener.type == opt_type || hasCapture && listener.capture == opt_capture | |
}) | |
} | |
} | |
} | |
return false | |
}; | |
goog.events.expose = function(e) { | |
var str = []; | |
for(var key in e) { | |
if(e[key] && e[key].id) { | |
str.push(key + " = " + e[key] + " (" + e[key].id + ")") | |
}else { | |
str.push(key + " = " + e[key]) | |
} | |
} | |
return str.join("\n") | |
}; | |
goog.events.getOnString_ = function(type) { | |
if(type in goog.events.onStringMap_) { | |
return goog.events.onStringMap_[type] | |
} | |
return goog.events.onStringMap_[type] = goog.events.onString_ + type | |
}; | |
goog.events.fireListeners = function(obj, type, capture, eventObject) { | |
var map = goog.events.listenerTree_; | |
if(type in map) { | |
map = map[type]; | |
if(capture in map) { | |
return goog.events.fireListeners_(map[capture], obj, type, capture, eventObject) | |
} | |
} | |
return true | |
}; | |
goog.events.fireListeners_ = function(map, obj, type, capture, eventObject) { | |
var retval = 1; | |
var objUid = goog.getUid(obj); | |
if(map[objUid]) { | |
map.remaining_--; | |
var listenerArray = map[objUid]; | |
if(!listenerArray.locked_) { | |
listenerArray.locked_ = 1 | |
}else { | |
listenerArray.locked_++ | |
} | |
try { | |
var length = listenerArray.length; | |
for(var i = 0;i < length;i++) { | |
var listener = listenerArray[i]; | |
if(listener && !listener.removed) { | |
retval &= goog.events.fireListener(listener, eventObject) !== false | |
} | |
} | |
}finally { | |
listenerArray.locked_--; | |
goog.events.cleanUp_(type, capture, objUid, listenerArray) | |
} | |
} | |
return Boolean(retval) | |
}; | |
goog.events.fireListener = function(listener, eventObject) { | |
var rv = listener.handleEvent(eventObject); | |
if(listener.callOnce) { | |
goog.events.unlistenByKey(listener.key) | |
} | |
return rv | |
}; | |
goog.events.getTotalListenerCount = function() { | |
return goog.object.getCount(goog.events.listeners_) | |
}; | |
goog.events.dispatchEvent = function(src, e) { | |
var type = e.type || e; | |
var map = goog.events.listenerTree_; | |
if(!(type in map)) { | |
return true | |
} | |
if(goog.isString(e)) { | |
e = new goog.events.Event(e, src) | |
}else { | |
if(!(e instanceof goog.events.Event)) { | |
var oldEvent = e; | |
e = new goog.events.Event(type, src); | |
goog.object.extend(e, oldEvent) | |
}else { | |
e.target = e.target || src | |
} | |
} | |
var rv = 1, ancestors; | |
map = map[type]; | |
var hasCapture = true in map; | |
var targetsMap; | |
if(hasCapture) { | |
ancestors = []; | |
for(var parent = src;parent;parent = parent.getParentEventTarget()) { | |
ancestors.push(parent) | |
} | |
targetsMap = map[true]; | |
targetsMap.remaining_ = targetsMap.count_; | |
for(var i = ancestors.length - 1;!e.propagationStopped_ && i >= 0 && targetsMap.remaining_;i--) { | |
e.currentTarget = ancestors[i]; | |
rv &= goog.events.fireListeners_(targetsMap, ancestors[i], e.type, true, e) && e.returnValue_ != false | |
} | |
} | |
var hasBubble = false in map; | |
if(hasBubble) { | |
targetsMap = map[false]; | |
targetsMap.remaining_ = targetsMap.count_; | |
if(hasCapture) { | |
for(var i = 0;!e.propagationStopped_ && i < ancestors.length && targetsMap.remaining_;i++) { | |
e.currentTarget = ancestors[i]; | |
rv &= goog.events.fireListeners_(targetsMap, ancestors[i], e.type, false, e) && e.returnValue_ != false | |
} | |
}else { | |
for(var current = src;!e.propagationStopped_ && current && targetsMap.remaining_;current = current.getParentEventTarget()) { | |
e.currentTarget = current; | |
rv &= goog.events.fireListeners_(targetsMap, current, e.type, false, e) && e.returnValue_ != false | |
} | |
} | |
} | |
return Boolean(rv) | |
}; | |
goog.events.protectBrowserEventEntryPoint = function(errorHandler) { | |
goog.events.handleBrowserEvent_ = errorHandler.protectEntryPoint(goog.events.handleBrowserEvent_); | |
goog.events.pools.setProxyCallbackFunction(goog.events.handleBrowserEvent_) | |
}; | |
goog.events.handleBrowserEvent_ = function(key, opt_evt) { | |
if(!goog.events.listeners_[key]) { | |
return true | |
} | |
var listener = goog.events.listeners_[key]; | |
var type = listener.type; | |
var map = goog.events.listenerTree_; | |
if(!(type in map)) { | |
return true | |
} | |
map = map[type]; | |
var retval, targetsMap; | |
if(goog.events.synthesizeEventPropagation_()) { | |
var ieEvent = opt_evt || goog.getObjectByName("window.event"); | |
var hasCapture = true in map; | |
var hasBubble = false in map; | |
if(hasCapture) { | |
if(goog.events.isMarkedIeEvent_(ieEvent)) { | |
return true | |
} | |
goog.events.markIeEvent_(ieEvent) | |
} | |
var evt = goog.events.pools.getEvent(); | |
evt.init(ieEvent, this); | |
retval = true; | |
try { | |
if(hasCapture) { | |
var ancestors = goog.events.pools.getArray(); | |
for(var parent = evt.currentTarget;parent;parent = parent.parentNode) { | |
ancestors.push(parent) | |
} | |
targetsMap = map[true]; | |
targetsMap.remaining_ = targetsMap.count_; | |
for(var i = ancestors.length - 1;!evt.propagationStopped_ && i >= 0 && targetsMap.remaining_;i--) { | |
evt.currentTarget = ancestors[i]; | |
retval &= goog.events.fireListeners_(targetsMap, ancestors[i], type, true, evt) | |
} | |
if(hasBubble) { | |
targetsMap = map[false]; | |
targetsMap.remaining_ = targetsMap.count_; | |
for(var i = 0;!evt.propagationStopped_ && i < ancestors.length && targetsMap.remaining_;i++) { | |
evt.currentTarget = ancestors[i]; | |
retval &= goog.events.fireListeners_(targetsMap, ancestors[i], type, false, evt) | |
} | |
} | |
}else { | |
retval = goog.events.fireListener(listener, evt) | |
} | |
}finally { | |
if(ancestors) { | |
ancestors.length = 0; | |
goog.events.pools.releaseArray(ancestors) | |
} | |
evt.dispose(); | |
goog.events.pools.releaseEvent(evt) | |
} | |
return retval | |
} | |
var be = new goog.events.BrowserEvent(opt_evt, this); | |
try { | |
retval = goog.events.fireListener(listener, be) | |
}finally { | |
be.dispose() | |
} | |
return retval | |
}; | |
goog.events.pools.setProxyCallbackFunction(goog.events.handleBrowserEvent_); | |
goog.events.markIeEvent_ = function(e) { | |
var useReturnValue = false; | |
if(e.keyCode == 0) { | |
try { | |
e.keyCode = -1; | |
return | |
}catch(ex) { | |
useReturnValue = true | |
} | |
} | |
if(useReturnValue || e.returnValue == undefined) { | |
e.returnValue = true | |
} | |
}; | |
goog.events.isMarkedIeEvent_ = function(e) { | |
return e.keyCode < 0 || e.returnValue != undefined | |
}; | |
goog.events.uniqueIdCounter_ = 0; | |
goog.events.getUniqueId = function(identifier) { | |
return identifier + "_" + goog.events.uniqueIdCounter_++ | |
}; | |
goog.events.synthesizeEventPropagation_ = function() { | |
if(goog.events.requiresSyntheticEventPropagation_ === undefined) { | |
goog.events.requiresSyntheticEventPropagation_ = goog.userAgent.IE && !goog.global["addEventListener"] | |
} | |
return goog.events.requiresSyntheticEventPropagation_ | |
}; | |
goog.debug.entryPointRegistry.register(function(transformer) { | |
goog.events.handleBrowserEvent_ = transformer(goog.events.handleBrowserEvent_); | |
goog.events.pools.setProxyCallbackFunction(goog.events.handleBrowserEvent_) | |
}); | |
goog.provide("goog.events.EventTarget"); | |
goog.require("goog.Disposable"); | |
goog.require("goog.events"); | |
goog.events.EventTarget = function() { | |
goog.Disposable.call(this) | |
}; | |
goog.inherits(goog.events.EventTarget, goog.Disposable); | |
goog.events.EventTarget.prototype.customEvent_ = true; | |
goog.events.EventTarget.prototype.parentEventTarget_ = null; | |
goog.events.EventTarget.prototype.getParentEventTarget = function() { | |
return this.parentEventTarget_ | |
}; | |
goog.events.EventTarget.prototype.setParentEventTarget = function(parent) { | |
this.parentEventTarget_ = parent | |
}; | |
goog.events.EventTarget.prototype.addEventListener = function(type, handler, opt_capture, opt_handlerScope) { | |
goog.events.listen(this, type, handler, opt_capture, opt_handlerScope) | |
}; | |
goog.events.EventTarget.prototype.removeEventListener = function(type, handler, opt_capture, opt_handlerScope) { | |
goog.events.unlisten(this, type, handler, opt_capture, opt_handlerScope) | |
}; | |
goog.events.EventTarget.prototype.dispatchEvent = function(e) { | |
return goog.events.dispatchEvent(this, e) | |
}; | |
goog.events.EventTarget.prototype.disposeInternal = function() { | |
goog.events.EventTarget.superClass_.disposeInternal.call(this); | |
goog.events.removeAll(this); | |
this.parentEventTarget_ = null | |
}; | |
goog.provide("goog.Timer"); | |
goog.require("goog.events.EventTarget"); | |
goog.Timer = function(opt_interval, opt_timerObject) { | |
goog.events.EventTarget.call(this); | |
this.interval_ = opt_interval || 1; | |
this.timerObject_ = opt_timerObject || goog.Timer.defaultTimerObject; | |
this.boundTick_ = goog.bind(this.tick_, this); | |
this.last_ = goog.now() | |
}; | |
goog.inherits(goog.Timer, goog.events.EventTarget); | |
goog.Timer.MAX_TIMEOUT_ = 2147483647; | |
goog.Timer.prototype.enabled = false; | |
goog.Timer.defaultTimerObject = goog.global["window"]; | |
goog.Timer.intervalScale = 0.8; | |
goog.Timer.prototype.timer_ = null; | |
goog.Timer.prototype.getInterval = function() { | |
return this.interval_ | |
}; | |
goog.Timer.prototype.setInterval = function(interval) { | |
this.interval_ = interval; | |
if(this.timer_ && this.enabled) { | |
this.stop(); | |
this.start() | |
}else { | |
if(this.timer_) { | |
this.stop() | |
} | |
} | |
}; | |
goog.Timer.prototype.tick_ = function() { | |
if(this.enabled) { | |
var elapsed = goog.now() - this.last_; | |
if(elapsed > 0 && elapsed < this.interval_ * goog.Timer.intervalScale) { | |
this.timer_ = this.timerObject_.setTimeout(this.boundTick_, this.interval_ - elapsed); | |
return | |
} | |
this.dispatchTick(); | |
if(this.enabled) { | |
this.timer_ = this.timerObject_.setTimeout(this.boundTick_, this.interval_); | |
this.last_ = goog.now() | |
} | |
} | |
}; | |
goog.Timer.prototype.dispatchTick = function() { | |
this.dispatchEvent(goog.Timer.TICK) | |
}; | |
goog.Timer.prototype.start = function() { | |
this.enabled = true; | |
if(!this.timer_) { | |
this.timer_ = this.timerObject_.setTimeout(this.boundTick_, this.interval_); | |
this.last_ = goog.now() | |
} | |
}; | |
goog.Timer.prototype.stop = function() { | |
this.enabled = false; | |
if(this.timer_) { | |
this.timerObject_.clearTimeout(this.timer_); | |
this.timer_ = null | |
} | |
}; | |
goog.Timer.prototype.disposeInternal = function() { | |
goog.Timer.superClass_.disposeInternal.call(this); | |
this.stop(); | |
delete this.timerObject_ | |
}; | |
goog.Timer.TICK = "tick"; | |
goog.Timer.callOnce = function(listener, opt_delay, opt_handler) { | |
if(goog.isFunction(listener)) { | |
if(opt_handler) { | |
listener = goog.bind(listener, opt_handler) | |
} | |
}else { | |
if(listener && typeof listener.handleEvent == "function") { | |
listener = goog.bind(listener.handleEvent, listener) | |
}else { | |
throw Error("Invalid listener argument"); | |
} | |
} | |
if(opt_delay > goog.Timer.MAX_TIMEOUT_) { | |
return-1 | |
}else { | |
return goog.Timer.defaultTimerObject.setTimeout(listener, opt_delay || 0) | |
} | |
}; | |
goog.Timer.clear = function(timerId) { | |
goog.Timer.defaultTimerObject.clearTimeout(timerId) | |
}; | |
goog.provide("enfocus.enlive.syntax"); | |
goog.require("cljs.core"); | |
enfocus.enlive.syntax.sel_to_string = function sel_to_string(item) { | |
if(cljs.core.keyword_QMARK_.call(null, item)) { | |
return cljs.core.name.call(null, item) | |
}else { | |
if(cljs.core.string_QMARK_.call(null, item)) { | |
return item | |
}else { | |
if(cljs.core.coll_QMARK_.call(null, item)) { | |
return cljs.core.apply.call(null, cljs.core.str, cljs.core.map.call(null, function(p1__12679_SHARP_) { | |
return sel_to_string.call(null, p1__12679_SHARP_) | |
}, item)) | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
enfocus.enlive.syntax.convert = function convert(sel) { | |
if(cljs.core.string_QMARK_.call(null, sel)) { | |
return sel | |
}else { | |
return cljs.core.apply.call(null, cljs.core.str, cljs.core.interpose.call(null, " ", cljs.core.map.call(null, enfocus.enlive.syntax.sel_to_string, sel))) | |
} | |
}; | |
enfocus.enlive.syntax.attr_pairs = function attr_pairs(op, elms) { | |
var ts__12692 = function(p__12687) { | |
var vec__12688__12689 = p__12687; | |
var x__12690 = cljs.core.nth.call(null, vec__12688__12689, 0, null); | |
var y__12691 = cljs.core.nth.call(null, vec__12688__12689, 1, null); | |
return[cljs.core.str("["), cljs.core.str(cljs.core.name.call(null, x__12690)), cljs.core.str(op), cljs.core.str("='"), cljs.core.str(y__12691), cljs.core.str("']")].join("") | |
}; | |
return cljs.core.apply.call(null, cljs.core.str, cljs.core.map.call(null, ts__12692, cljs.core.partition.call(null, 2, elms))) | |
}; | |
enfocus.enlive.syntax.attr_QMARK_ = function() { | |
var attr_QMARK___delegate = function(elms) { | |
return cljs.core.apply.call(null, cljs.core.str, cljs.core.map.call(null, function(p1__12680_SHARP_) { | |
return[cljs.core.str("["), cljs.core.str(cljs.core.name.call(null, p1__12680_SHARP_)), cljs.core.str("]")].join("") | |
}, elms)) | |
}; | |
var attr_QMARK_ = function(var_args) { | |
var elms = null; | |
if(goog.isDef(var_args)) { | |
elms = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return attr_QMARK___delegate.call(this, elms) | |
}; | |
attr_QMARK_.cljs$lang$maxFixedArity = 0; | |
attr_QMARK_.cljs$lang$applyTo = function(arglist__12693) { | |
var elms = cljs.core.seq(arglist__12693); | |
return attr_QMARK___delegate(elms) | |
}; | |
attr_QMARK_.cljs$lang$arity$variadic = attr_QMARK___delegate; | |
return attr_QMARK_ | |
}(); | |
enfocus.enlive.syntax.attr_EQ_ = function() { | |
var attr_EQ___delegate = function(elms) { | |
return enfocus.enlive.syntax.attr_pairs.call(null, "", elms) | |
}; | |
var attr_EQ_ = function(var_args) { | |
var elms = null; | |
if(goog.isDef(var_args)) { | |
elms = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return attr_EQ___delegate.call(this, elms) | |
}; | |
attr_EQ_.cljs$lang$maxFixedArity = 0; | |
attr_EQ_.cljs$lang$applyTo = function(arglist__12694) { | |
var elms = cljs.core.seq(arglist__12694); | |
return attr_EQ___delegate(elms) | |
}; | |
attr_EQ_.cljs$lang$arity$variadic = attr_EQ___delegate; | |
return attr_EQ_ | |
}(); | |
enfocus.enlive.syntax.attr_has = function() { | |
var attr_has__delegate = function(x, vals) { | |
var ts__12696 = function(y) { | |
return[cljs.core.str("["), cljs.core.str(cljs.core.name.call(null, x)), cljs.core.str("~='"), cljs.core.str(y), cljs.core.str("']")].join("") | |
}; | |
return cljs.core.apply.call(null, cljs.core.str, cljs.core.map.call(null, ts__12696, vals)) | |
}; | |
var attr_has = function(x, var_args) { | |
var vals = null; | |
if(goog.isDef(var_args)) { | |
vals = cljs.core.array_seq(Array.prototype.slice.call(arguments, 1), 0) | |
} | |
return attr_has__delegate.call(this, x, vals) | |
}; | |
attr_has.cljs$lang$maxFixedArity = 1; | |
attr_has.cljs$lang$applyTo = function(arglist__12697) { | |
var x = cljs.core.first(arglist__12697); | |
var vals = cljs.core.rest(arglist__12697); | |
return attr_has__delegate(x, vals) | |
}; | |
attr_has.cljs$lang$arity$variadic = attr_has__delegate; | |
return attr_has | |
}(); | |
enfocus.enlive.syntax.attr_starts = function() { | |
var attr_starts__delegate = function(elms) { | |
return enfocus.enlive.syntax.attr_pairs.call(null, "^", elms) | |
}; | |
var attr_starts = function(var_args) { | |
var elms = null; | |
if(goog.isDef(var_args)) { | |
elms = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return attr_starts__delegate.call(this, elms) | |
}; | |
attr_starts.cljs$lang$maxFixedArity = 0; | |
attr_starts.cljs$lang$applyTo = function(arglist__12698) { | |
var elms = cljs.core.seq(arglist__12698); | |
return attr_starts__delegate(elms) | |
}; | |
attr_starts.cljs$lang$arity$variadic = attr_starts__delegate; | |
return attr_starts | |
}(); | |
enfocus.enlive.syntax.attr_ends = function() { | |
var attr_ends__delegate = function(elms) { | |
return enfocus.enlive.syntax.attr_pairs.call(null, "$", elms) | |
}; | |
var attr_ends = function(var_args) { | |
var elms = null; | |
if(goog.isDef(var_args)) { | |
elms = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return attr_ends__delegate.call(this, elms) | |
}; | |
attr_ends.cljs$lang$maxFixedArity = 0; | |
attr_ends.cljs$lang$applyTo = function(arglist__12699) { | |
var elms = cljs.core.seq(arglist__12699); | |
return attr_ends__delegate(elms) | |
}; | |
attr_ends.cljs$lang$arity$variadic = attr_ends__delegate; | |
return attr_ends | |
}(); | |
enfocus.enlive.syntax.attr_contains = function() { | |
var attr_contains__delegate = function(elms) { | |
return enfocus.enlive.syntax.attr_pairs.call(null, "*", elms) | |
}; | |
var attr_contains = function(var_args) { | |
var elms = null; | |
if(goog.isDef(var_args)) { | |
elms = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return attr_contains__delegate.call(this, elms) | |
}; | |
attr_contains.cljs$lang$maxFixedArity = 0; | |
attr_contains.cljs$lang$applyTo = function(arglist__12700) { | |
var elms = cljs.core.seq(arglist__12700); | |
return attr_contains__delegate(elms) | |
}; | |
attr_contains.cljs$lang$arity$variadic = attr_contains__delegate; | |
return attr_contains | |
}(); | |
enfocus.enlive.syntax.attr_BAR__EQ_ = function() { | |
var attr_BAR__EQ___delegate = function(elms) { | |
return enfocus.enlive.syntax.attr_pairs.call(null, "|", elms) | |
}; | |
var attr_BAR__EQ_ = function(var_args) { | |
var elms = null; | |
if(goog.isDef(var_args)) { | |
elms = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return attr_BAR__EQ___delegate.call(this, elms) | |
}; | |
attr_BAR__EQ_.cljs$lang$maxFixedArity = 0; | |
attr_BAR__EQ_.cljs$lang$applyTo = function(arglist__12701) { | |
var elms = cljs.core.seq(arglist__12701); | |
return attr_BAR__EQ___delegate(elms) | |
}; | |
attr_BAR__EQ_.cljs$lang$arity$variadic = attr_BAR__EQ___delegate; | |
return attr_BAR__EQ_ | |
}(); | |
enfocus.enlive.syntax.nth_op = function() { | |
var nth_op = null; | |
var nth_op__2 = function(op, x) { | |
return[cljs.core.str(":nth-"), cljs.core.str(op), cljs.core.str("("), cljs.core.str(x), cljs.core.str(")")].join("") | |
}; | |
var nth_op__3 = function(op, x, y) { | |
return[cljs.core.str(":nth-"), cljs.core.str(op), cljs.core.str("("), cljs.core.str(x), cljs.core.str("n"), cljs.core.str(y > 0 ? "+" : null), cljs.core.str(y)].join("") | |
}; | |
nth_op = function(op, x, y) { | |
switch(arguments.length) { | |
case 2: | |
return nth_op__2.call(this, op, x); | |
case 3: | |
return nth_op__3.call(this, op, x, y) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
nth_op.cljs$lang$arity$2 = nth_op__2; | |
nth_op.cljs$lang$arity$3 = nth_op__3; | |
return nth_op | |
}(); | |
enfocus.enlive.syntax.nth_child = function() { | |
var nth_child = null; | |
var nth_child__1 = function(x) { | |
return enfocus.enlive.syntax.nth_op.call(null, "child", x) | |
}; | |
var nth_child__2 = function(x, y) { | |
return enfocus.enlive.syntax.nth_op.call(null, "child", x, y) | |
}; | |
nth_child = function(x, y) { | |
switch(arguments.length) { | |
case 1: | |
return nth_child__1.call(this, x); | |
case 2: | |
return nth_child__2.call(this, x, y) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
nth_child.cljs$lang$arity$1 = nth_child__1; | |
nth_child.cljs$lang$arity$2 = nth_child__2; | |
return nth_child | |
}(); | |
enfocus.enlive.syntax.nth_last_child = function() { | |
var nth_last_child = null; | |
var nth_last_child__1 = function(x) { | |
return enfocus.enlive.syntax.nth_op.call(null, "last-child", x) | |
}; | |
var nth_last_child__2 = function(x, y) { | |
return enfocus.enlive.syntax.nth_op.call(null, "last-child", x, y) | |
}; | |
nth_last_child = function(x, y) { | |
switch(arguments.length) { | |
case 1: | |
return nth_last_child__1.call(this, x); | |
case 2: | |
return nth_last_child__2.call(this, x, y) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
nth_last_child.cljs$lang$arity$1 = nth_last_child__1; | |
nth_last_child.cljs$lang$arity$2 = nth_last_child__2; | |
return nth_last_child | |
}(); | |
enfocus.enlive.syntax.nth_of_type = function() { | |
var nth_of_type = null; | |
var nth_of_type__1 = function(x) { | |
return enfocus.enlive.syntax.nth_op.call(null, "of-type", x) | |
}; | |
var nth_of_type__2 = function(x, y) { | |
return enfocus.enlive.syntax.nth_op.call(null, "of-type", x, y) | |
}; | |
nth_of_type = function(x, y) { | |
switch(arguments.length) { | |
case 1: | |
return nth_of_type__1.call(this, x); | |
case 2: | |
return nth_of_type__2.call(this, x, y) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
nth_of_type.cljs$lang$arity$1 = nth_of_type__1; | |
nth_of_type.cljs$lang$arity$2 = nth_of_type__2; | |
return nth_of_type | |
}(); | |
enfocus.enlive.syntax.nth_last_of_type = function() { | |
var nth_last_of_type = null; | |
var nth_last_of_type__1 = function(x) { | |
return enfocus.enlive.syntax.nth_op.call(null, "last-of-type", x) | |
}; | |
var nth_last_of_type__2 = function(x, y) { | |
return enfocus.enlive.syntax.nth_op.call(null, "last-of-type", x, y) | |
}; | |
nth_last_of_type = function(x, y) { | |
switch(arguments.length) { | |
case 1: | |
return nth_last_of_type__1.call(this, x); | |
case 2: | |
return nth_last_of_type__2.call(this, x, y) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
nth_last_of_type.cljs$lang$arity$1 = nth_last_of_type__1; | |
nth_last_of_type.cljs$lang$arity$2 = nth_last_of_type__2; | |
return nth_last_of_type | |
}(); | |
enfocus.enlive.syntax.but = function() { | |
var but__delegate = function(sel) { | |
return[cljs.core.str("not("), cljs.core.str(enfocus.enlive.syntax.convert.call(null, sel)), cljs.core.str(")")].join("") | |
}; | |
var but = function(var_args) { | |
var sel = null; | |
if(goog.isDef(var_args)) { | |
sel = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0) | |
} | |
return but__delegate.call(this, sel) | |
}; | |
but.cljs$lang$maxFixedArity = 0; | |
but.cljs$lang$applyTo = function(arglist__12702) { | |
var sel = cljs.core.seq(arglist__12702); | |
return but__delegate(sel) | |
}; | |
but.cljs$lang$arity$variadic = but__delegate; | |
return but | |
}(); | |
goog.provide("goog.dom.BrowserFeature"); | |
goog.require("goog.userAgent"); | |
goog.dom.BrowserFeature = {CAN_ADD_NAME_OR_TYPE_ATTRIBUTES:!goog.userAgent.IE || goog.userAgent.isVersion("9"), CAN_USE_CHILDREN_ATTRIBUTE:!goog.userAgent.GECKO && !goog.userAgent.IE || goog.userAgent.IE && goog.userAgent.isVersion("9") || goog.userAgent.GECKO && goog.userAgent.isVersion("1.9.1"), CAN_USE_INNER_TEXT:goog.userAgent.IE && !goog.userAgent.isVersion("9"), INNER_HTML_NEEDS_SCOPED_ELEMENT:goog.userAgent.IE}; | |
goog.provide("goog.dom.TagName"); | |
goog.dom.TagName = {A:"A", ABBR:"ABBR", ACRONYM:"ACRONYM", ADDRESS:"ADDRESS", APPLET:"APPLET", AREA:"AREA", B:"B", BASE:"BASE", BASEFONT:"BASEFONT", BDO:"BDO", BIG:"BIG", BLOCKQUOTE:"BLOCKQUOTE", BODY:"BODY", BR:"BR", BUTTON:"BUTTON", CANVAS:"CANVAS", CAPTION:"CAPTION", CENTER:"CENTER", CITE:"CITE", CODE:"CODE", COL:"COL", COLGROUP:"COLGROUP", DD:"DD", DEL:"DEL", DFN:"DFN", DIR:"DIR", DIV:"DIV", DL:"DL", DT:"DT", EM:"EM", FIELDSET:"FIELDSET", FONT:"FONT", FORM:"FORM", FRAME:"FRAME", FRAMESET:"FRAMESET", | |
H1:"H1", H2:"H2", H3:"H3", H4:"H4", H5:"H5", H6:"H6", HEAD:"HEAD", HR:"HR", HTML:"HTML", I:"I", IFRAME:"IFRAME", IMG:"IMG", INPUT:"INPUT", INS:"INS", ISINDEX:"ISINDEX", KBD:"KBD", LABEL:"LABEL", LEGEND:"LEGEND", LI:"LI", LINK:"LINK", MAP:"MAP", MENU:"MENU", META:"META", NOFRAMES:"NOFRAMES", NOSCRIPT:"NOSCRIPT", OBJECT:"OBJECT", OL:"OL", OPTGROUP:"OPTGROUP", OPTION:"OPTION", P:"P", PARAM:"PARAM", PRE:"PRE", Q:"Q", S:"S", SAMP:"SAMP", SCRIPT:"SCRIPT", SELECT:"SELECT", SMALL:"SMALL", SPAN:"SPAN", STRIKE:"STRIKE", | |
STRONG:"STRONG", STYLE:"STYLE", SUB:"SUB", SUP:"SUP", TABLE:"TABLE", TBODY:"TBODY", TD:"TD", TEXTAREA:"TEXTAREA", TFOOT:"TFOOT", TH:"TH", THEAD:"THEAD", TITLE:"TITLE", TR:"TR", TT:"TT", U:"U", UL:"UL", VAR:"VAR"}; | |
goog.provide("goog.math.Coordinate"); | |
goog.math.Coordinate = function(opt_x, opt_y) { | |
this.x = goog.isDef(opt_x) ? opt_x : 0; | |
this.y = goog.isDef(opt_y) ? opt_y : 0 | |
}; | |
goog.math.Coordinate.prototype.clone = function() { | |
return new goog.math.Coordinate(this.x, this.y) | |
}; | |
if(goog.DEBUG) { | |
goog.math.Coordinate.prototype.toString = function() { | |
return"(" + this.x + ", " + this.y + ")" | |
} | |
} | |
goog.math.Coordinate.equals = function(a, b) { | |
if(a == b) { | |
return true | |
} | |
if(!a || !b) { | |
return false | |
} | |
return a.x == b.x && a.y == b.y | |
}; | |
goog.math.Coordinate.distance = function(a, b) { | |
var dx = a.x - b.x; | |
var dy = a.y - b.y; | |
return Math.sqrt(dx * dx + dy * dy) | |
}; | |
goog.math.Coordinate.squaredDistance = function(a, b) { | |
var dx = a.x - b.x; | |
var dy = a.y - b.y; | |
return dx * dx + dy * dy | |
}; | |
goog.math.Coordinate.difference = function(a, b) { | |
return new goog.math.Coordinate(a.x - b.x, a.y - b.y) | |
}; | |
goog.math.Coordinate.sum = function(a, b) { | |
return new goog.math.Coordinate(a.x + b.x, a.y + b.y) | |
}; | |
goog.provide("goog.math.Size"); | |
goog.math.Size = function(width, height) { | |
this.width = width; | |
this.height = height | |
}; | |
goog.math.Size.equals = function(a, b) { | |
if(a == b) { | |
return true | |
} | |
if(!a || !b) { | |
return false | |
} | |
return a.width == b.width && a.height == b.height | |
}; | |
goog.math.Size.prototype.clone = function() { | |
return new goog.math.Size(this.width, this.height) | |
}; | |
if(goog.DEBUG) { | |
goog.math.Size.prototype.toString = function() { | |
return"(" + this.width + " x " + this.height + ")" | |
} | |
} | |
goog.math.Size.prototype.getLongest = function() { | |
return Math.max(this.width, this.height) | |
}; | |
goog.math.Size.prototype.getShortest = function() { | |
return Math.min(this.width, this.height) | |
}; | |
goog.math.Size.prototype.area = function() { | |
return this.width * this.height | |
}; | |
goog.math.Size.prototype.perimeter = function() { | |
return(this.width + this.height) * 2 | |
}; | |
goog.math.Size.prototype.aspectRatio = function() { | |
return this.width / this.height | |
}; | |
goog.math.Size.prototype.isEmpty = function() { | |
return!this.area() | |
}; | |
goog.math.Size.prototype.ceil = function() { | |
this.width = Math.ceil(this.width); | |
this.height = Math.ceil(this.height); | |
return this | |
}; | |
goog.math.Size.prototype.fitsInside = function(target) { | |
return this.width <= target.width && this.height <= target.height | |
}; | |
goog.math.Size.prototype.floor = function() { | |
this.width = Math.floor(this.width); | |
this.height = Math.floor(this.height); | |
return this | |
}; | |
goog.math.Size.prototype.round = function() { | |
this.width = Math.round(this.width); | |
this.height = Math.round(this.height); | |
return this | |
}; | |
goog.math.Size.prototype.scale = function(s) { | |
this.width *= s; | |
this.height *= s; | |
return this | |
}; | |
goog.math.Size.prototype.scaleToFit = function(target) { | |
var s = this.aspectRatio() > target.aspectRatio() ? target.width / this.width : target.height / this.height; | |
return this.scale(s) | |
}; | |
goog.provide("goog.dom"); | |
goog.provide("goog.dom.DomHelper"); | |
goog.provide("goog.dom.NodeType"); | |
goog.require("goog.array"); | |
goog.require("goog.dom.BrowserFeature"); | |
goog.require("goog.dom.TagName"); | |
goog.require("goog.dom.classes"); | |
goog.require("goog.math.Coordinate"); | |
goog.require("goog.math.Size"); | |
goog.require("goog.object"); | |
goog.require("goog.string"); | |
goog.require("goog.userAgent"); | |
goog.dom.ASSUME_QUIRKS_MODE = false; | |
goog.dom.ASSUME_STANDARDS_MODE = false; | |
goog.dom.COMPAT_MODE_KNOWN_ = goog.dom.ASSUME_QUIRKS_MODE || goog.dom.ASSUME_STANDARDS_MODE; | |
goog.dom.NodeType = {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}; | |
goog.dom.getDomHelper = function(opt_element) { | |
return opt_element ? new goog.dom.DomHelper(goog.dom.getOwnerDocument(opt_element)) : goog.dom.defaultDomHelper_ || (goog.dom.defaultDomHelper_ = new goog.dom.DomHelper) | |
}; | |
goog.dom.defaultDomHelper_; | |
goog.dom.getDocument = function() { | |
return document | |
}; | |
goog.dom.getElement = function(element) { | |
return goog.isString(element) ? document.getElementById(element) : element | |
}; | |
goog.dom.$ = goog.dom.getElement; | |
goog.dom.getElementsByTagNameAndClass = function(opt_tag, opt_class, opt_el) { | |
return goog.dom.getElementsByTagNameAndClass_(document, opt_tag, opt_class, opt_el) | |
}; | |
goog.dom.getElementsByClass = function(className, opt_el) { | |
var parent = opt_el || document; | |
if(goog.dom.canUseQuerySelector_(parent)) { | |
return parent.querySelectorAll("." + className) | |
}else { | |
if(parent.getElementsByClassName) { | |
return parent.getElementsByClassName(className) | |
} | |
} | |
return goog.dom.getElementsByTagNameAndClass_(document, "*", className, opt_el) | |
}; | |
goog.dom.getElementByClass = function(className, opt_el) { | |
var parent = opt_el || document; | |
var retVal = null; | |
if(goog.dom.canUseQuerySelector_(parent)) { | |
retVal = parent.querySelector("." + className) | |
}else { | |
retVal = goog.dom.getElementsByClass(className, opt_el)[0] | |
} | |
return retVal || null | |
}; | |
goog.dom.canUseQuerySelector_ = function(parent) { | |
return parent.querySelectorAll && parent.querySelector && (!goog.userAgent.WEBKIT || goog.dom.isCss1CompatMode_(document) || goog.userAgent.isVersion("528")) | |
}; | |
goog.dom.getElementsByTagNameAndClass_ = function(doc, opt_tag, opt_class, opt_el) { | |
var parent = opt_el || doc; | |
var tagName = opt_tag && opt_tag != "*" ? opt_tag.toUpperCase() : ""; | |
if(goog.dom.canUseQuerySelector_(parent) && (tagName || opt_class)) { | |
var query = tagName + (opt_class ? "." + opt_class : ""); | |
return parent.querySelectorAll(query) | |
} | |
if(opt_class && parent.getElementsByClassName) { | |
var els = parent.getElementsByClassName(opt_class); | |
if(tagName) { | |
var arrayLike = {}; | |
var len = 0; | |
for(var i = 0, el;el = els[i];i++) { | |
if(tagName == el.nodeName) { | |
arrayLike[len++] = el | |
} | |
} | |
arrayLike.length = len; | |
return arrayLike | |
}else { | |
return els | |
} | |
} | |
var els = parent.getElementsByTagName(tagName || "*"); | |
if(opt_class) { | |
var arrayLike = {}; | |
var len = 0; | |
for(var i = 0, el;el = els[i];i++) { | |
var className = el.className; | |
if(typeof className.split == "function" && goog.array.contains(className.split(/\s+/), opt_class)) { | |
arrayLike[len++] = el | |
} | |
} | |
arrayLike.length = len; | |
return arrayLike | |
}else { | |
return els | |
} | |
}; | |
goog.dom.$$ = goog.dom.getElementsByTagNameAndClass; | |
goog.dom.setProperties = function(element, properties) { | |
goog.object.forEach(properties, function(val, key) { | |
if(key == "style") { | |
element.style.cssText = val | |
}else { | |
if(key == "class") { | |
element.className = val | |
}else { | |
if(key == "for") { | |
element.htmlFor = val | |
}else { | |
if(key in goog.dom.DIRECT_ATTRIBUTE_MAP_) { | |
element.setAttribute(goog.dom.DIRECT_ATTRIBUTE_MAP_[key], val) | |
}else { | |
element[key] = val | |
} | |
} | |
} | |
} | |
}) | |
}; | |
goog.dom.DIRECT_ATTRIBUTE_MAP_ = {"cellpadding":"cellPadding", "cellspacing":"cellSpacing", "colspan":"colSpan", "rowspan":"rowSpan", "valign":"vAlign", "height":"height", "width":"width", "usemap":"useMap", "frameborder":"frameBorder", "maxlength":"maxLength", "type":"type"}; | |
goog.dom.getViewportSize = function(opt_window) { | |
return goog.dom.getViewportSize_(opt_window || window) | |
}; | |
goog.dom.getViewportSize_ = function(win) { | |
var doc = win.document; | |
if(goog.userAgent.WEBKIT && !goog.userAgent.isVersion("500") && !goog.userAgent.MOBILE) { | |
if(typeof win.innerHeight == "undefined") { | |
win = window | |
} | |
var innerHeight = win.innerHeight; | |
var scrollHeight = win.document.documentElement.scrollHeight; | |
if(win == win.top) { | |
if(scrollHeight < innerHeight) { | |
innerHeight -= 15 | |
} | |
} | |
return new goog.math.Size(win.innerWidth, innerHeight) | |
} | |
var el = goog.dom.isCss1CompatMode_(doc) ? doc.documentElement : doc.body; | |
return new goog.math.Size(el.clientWidth, el.clientHeight) | |
}; | |
goog.dom.getDocumentHeight = function() { | |
return goog.dom.getDocumentHeight_(window) | |
}; | |
goog.dom.getDocumentHeight_ = function(win) { | |
var doc = win.document; | |
var height = 0; | |
if(doc) { | |
var vh = goog.dom.getViewportSize_(win).height; | |
var body = doc.body; | |
var docEl = doc.documentElement; | |
if(goog.dom.isCss1CompatMode_(doc) && docEl.scrollHeight) { | |
height = docEl.scrollHeight != vh ? docEl.scrollHeight : docEl.offsetHeight | |
}else { | |
var sh = docEl.scrollHeight; | |
var oh = docEl.offsetHeight; | |
if(docEl.clientHeight != oh) { | |
sh = body.scrollHeight; | |
oh = body.offsetHeight | |
} | |
if(sh > vh) { | |
height = sh > oh ? sh : oh | |
}else { | |
height = sh < oh ? sh : oh | |
} | |
} | |
} | |
return height | |
}; | |
goog.dom.getPageScroll = function(opt_window) { | |
var win = opt_window || goog.global || window; | |
return goog.dom.getDomHelper(win.document).getDocumentScroll() | |
}; | |
goog.dom.getDocumentScroll = function() { | |
return goog.dom.getDocumentScroll_(document) | |
}; | |
goog.dom.getDocumentScroll_ = function(doc) { | |
var el = goog.dom.getDocumentScrollElement_(doc); | |
var win = goog.dom.getWindow_(doc); | |
return new goog.math.Coordinate(win.pageXOffset || el.scrollLeft, win.pageYOffset || el.scrollTop) | |
}; | |
goog.dom.getDocumentScrollElement = function() { | |
return goog.dom.getDocumentScrollElement_(document) | |
}; | |
goog.dom.getDocumentScrollElement_ = function(doc) { | |
return!goog.userAgent.WEBKIT && goog.dom.isCss1CompatMode_(doc) ? doc.documentElement : doc.body | |
}; | |
goog.dom.getWindow = function(opt_doc) { | |
return opt_doc ? goog.dom.getWindow_(opt_doc) : window | |
}; | |
goog.dom.getWindow_ = function(doc) { | |
return doc.parentWindow || doc.defaultView | |
}; | |
goog.dom.createDom = function(tagName, opt_attributes, var_args) { | |
return goog.dom.createDom_(document, arguments) | |
}; | |
goog.dom.createDom_ = function(doc, args) { | |
var tagName = args[0]; | |
var attributes = args[1]; | |
if(!goog.dom.BrowserFeature.CAN_ADD_NAME_OR_TYPE_ATTRIBUTES && attributes && (attributes.name || attributes.type)) { | |
var tagNameArr = ["<", tagName]; | |
if(attributes.name) { | |
tagNameArr.push(' name="', goog.string.htmlEscape(attributes.name), '"') | |
} | |
if(attributes.type) { | |
tagNameArr.push(' type="', goog.string.htmlEscape(attributes.type), '"'); | |
var clone = {}; | |
goog.object.extend(clone, attributes); | |
attributes = clone; | |
delete attributes.type | |
} | |
tagNameArr.push(">"); | |
tagName = tagNameArr.join("") | |
} | |
var element = doc.createElement(tagName); | |
if(attributes) { | |
if(goog.isString(attributes)) { | |
element.className = attributes | |
}else { | |
if(goog.isArray(attributes)) { | |
goog.dom.classes.add.apply(null, [element].concat(attributes)) | |
}else { | |
goog.dom.setProperties(element, attributes) | |
} | |
} | |
} | |
if(args.length > 2) { | |
goog.dom.append_(doc, element, args, 2) | |
} | |
return element | |
}; | |
goog.dom.append_ = function(doc, parent, args, startIndex) { | |
function childHandler(child) { | |
if(child) { | |
parent.appendChild(goog.isString(child) ? doc.createTextNode(child) : child) | |
} | |
} | |
for(var i = startIndex;i < args.length;i++) { | |
var arg = args[i]; | |
if(goog.isArrayLike(arg) && !goog.dom.isNodeLike(arg)) { | |
goog.array.forEach(goog.dom.isNodeList(arg) ? goog.array.clone(arg) : arg, childHandler) | |
}else { | |
childHandler(arg) | |
} | |
} | |
}; | |
goog.dom.$dom = goog.dom.createDom; | |
goog.dom.createElement = function(name) { | |
return document.createElement(name) | |
}; | |
goog.dom.createTextNode = function(content) { | |
return document.createTextNode(content) | |
}; | |
goog.dom.createTable = function(rows, columns, opt_fillWithNbsp) { | |
return goog.dom.createTable_(document, rows, columns, !!opt_fillWithNbsp) | |
}; | |
goog.dom.createTable_ = function(doc, rows, columns, fillWithNbsp) { | |
var rowHtml = ["<tr>"]; | |
for(var i = 0;i < columns;i++) { | |
rowHtml.push(fillWithNbsp ? "<td> </td>" : "<td></td>") | |
} | |
rowHtml.push("</tr>"); | |
rowHtml = rowHtml.join(""); | |
var totalHtml = ["<table>"]; | |
for(i = 0;i < rows;i++) { | |
totalHtml.push(rowHtml) | |
} | |
totalHtml.push("</table>"); | |
var elem = doc.createElement(goog.dom.TagName.DIV); | |
elem.innerHTML = totalHtml.join(""); | |
return elem.removeChild(elem.firstChild) | |
}; | |
goog.dom.htmlToDocumentFragment = function(htmlString) { | |
return goog.dom.htmlToDocumentFragment_(document, htmlString) | |
}; | |
goog.dom.htmlToDocumentFragment_ = function(doc, htmlString) { | |
var tempDiv = doc.createElement("div"); | |
if(goog.dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT) { | |
tempDiv.innerHTML = "<br>" + htmlString; | |
tempDiv.removeChild(tempDiv.firstChild) | |
}else { | |
tempDiv.innerHTML = htmlString | |
} | |
if(tempDiv.childNodes.length == 1) { | |
return tempDiv.removeChild(tempDiv.firstChild) | |
}else { | |
var fragment = doc.createDocumentFragment(); | |
while(tempDiv.firstChild) { | |
fragment.appendChild(tempDiv.firstChild) | |
} | |
return fragment | |
} | |
}; | |
goog.dom.getCompatMode = function() { | |
return goog.dom.isCss1CompatMode() ? "CSS1Compat" : "BackCompat" | |
}; | |
goog.dom.isCss1CompatMode = function() { | |
return goog.dom.isCss1CompatMode_(document) | |
}; | |
goog.dom.isCss1CompatMode_ = function(doc) { | |
if(goog.dom.COMPAT_MODE_KNOWN_) { | |
return goog.dom.ASSUME_STANDARDS_MODE | |
} | |
return doc.compatMode == "CSS1Compat" | |
}; | |
goog.dom.canHaveChildren = function(node) { | |
if(node.nodeType != goog.dom.NodeType.ELEMENT) { | |
return false | |
} | |
switch(node.tagName) { | |
case goog.dom.TagName.APPLET: | |
; | |
case goog.dom.TagName.AREA: | |
; | |
case goog.dom.TagName.BASE: | |
; | |
case goog.dom.TagName.BR: | |
; | |
case goog.dom.TagName.COL: | |
; | |
case goog.dom.TagName.FRAME: | |
; | |
case goog.dom.TagName.HR: | |
; | |
case goog.dom.TagName.IMG: | |
; | |
case goog.dom.TagName.INPUT: | |
; | |
case goog.dom.TagName.IFRAME: | |
; | |
case goog.dom.TagName.ISINDEX: | |
; | |
case goog.dom.TagName.LINK: | |
; | |
case goog.dom.TagName.NOFRAMES: | |
; | |
case goog.dom.TagName.NOSCRIPT: | |
; | |
case goog.dom.TagName.META: | |
; | |
case goog.dom.TagName.OBJECT: | |
; | |
case goog.dom.TagName.PARAM: | |
; | |
case goog.dom.TagName.SCRIPT: | |
; | |
case goog.dom.TagName.STYLE: | |
return false | |
} | |
return true | |
}; | |
goog.dom.appendChild = function(parent, child) { | |
parent.appendChild(child) | |
}; | |
goog.dom.append = function(parent, var_args) { | |
goog.dom.append_(goog.dom.getOwnerDocument(parent), parent, arguments, 1) | |
}; | |
goog.dom.removeChildren = function(node) { | |
var child; | |
while(child = node.firstChild) { | |
node.removeChild(child) | |
} | |
}; | |
goog.dom.insertSiblingBefore = function(newNode, refNode) { | |
if(refNode.parentNode) { | |
refNode.parentNode.insertBefore(newNode, refNode) | |
} | |
}; | |
goog.dom.insertSiblingAfter = function(newNode, refNode) { | |
if(refNode.parentNode) { | |
refNode.parentNode.insertBefore(newNode, refNode.nextSibling) | |
} | |
}; | |
goog.dom.insertChildAt = function(parent, child, index) { | |
parent.insertBefore(child, parent.childNodes[index] || null) | |
}; | |
goog.dom.removeNode = function(node) { | |
return node && node.parentNode ? node.parentNode.removeChild(node) : null | |
}; | |
goog.dom.replaceNode = function(newNode, oldNode) { | |
var parent = oldNode.parentNode; | |
if(parent) { | |
parent.replaceChild(newNode, oldNode) | |
} | |
}; | |
goog.dom.flattenElement = function(element) { | |
var child, parent = element.parentNode; | |
if(parent && parent.nodeType != goog.dom.NodeType.DOCUMENT_FRAGMENT) { | |
if(element.removeNode) { | |
return element.removeNode(false) | |
}else { | |
while(child = element.firstChild) { | |
parent.insertBefore(child, element) | |
} | |
return goog.dom.removeNode(element) | |
} | |
} | |
}; | |
goog.dom.getChildren = function(element) { | |
if(goog.dom.BrowserFeature.CAN_USE_CHILDREN_ATTRIBUTE && element.children != undefined) { | |
return element.children | |
} | |
return goog.array.filter(element.childNodes, function(node) { | |
return node.nodeType == goog.dom.NodeType.ELEMENT | |
}) | |
}; | |
goog.dom.getFirstElementChild = function(node) { | |
if(node.firstElementChild != undefined) { | |
return node.firstElementChild | |
} | |
return goog.dom.getNextElementNode_(node.firstChild, true) | |
}; | |
goog.dom.getLastElementChild = function(node) { | |
if(node.lastElementChild != undefined) { | |
return node.lastElementChild | |
} | |
return goog.dom.getNextElementNode_(node.lastChild, false) | |
}; | |
goog.dom.getNextElementSibling = function(node) { | |
if(node.nextElementSibling != undefined) { | |
return node.nextElementSibling | |
} | |
return goog.dom.getNextElementNode_(node.nextSibling, true) | |
}; | |
goog.dom.getPreviousElementSibling = function(node) { | |
if(node.previousElementSibling != undefined) { | |
return node.previousElementSibling | |
} | |
return goog.dom.getNextElementNode_(node.previousSibling, false) | |
}; | |
goog.dom.getNextElementNode_ = function(node, forward) { | |
while(node && node.nodeType != goog.dom.NodeType.ELEMENT) { | |
node = forward ? node.nextSibling : node.previousSibling | |
} | |
return node | |
}; | |
goog.dom.getNextNode = function(node) { | |
if(!node) { | |
return null | |
} | |
if(node.firstChild) { | |
return node.firstChild | |
} | |
while(node && !node.nextSibling) { | |
node = node.parentNode | |
} | |
return node ? node.nextSibling : null | |
}; | |
goog.dom.getPreviousNode = function(node) { | |
if(!node) { | |
return null | |
} | |
if(!node.previousSibling) { | |
return node.parentNode | |
} | |
node = node.previousSibling; | |
while(node && node.lastChild) { | |
node = node.lastChild | |
} | |
return node | |
}; | |
goog.dom.isNodeLike = function(obj) { | |
return goog.isObject(obj) && obj.nodeType > 0 | |
}; | |
goog.dom.isWindow = function(obj) { | |
return goog.isObject(obj) && obj["window"] == obj | |
}; | |
goog.dom.contains = function(parent, descendant) { | |
if(parent.contains && descendant.nodeType == goog.dom.NodeType.ELEMENT) { | |
return parent == descendant || parent.contains(descendant) | |
} | |
if(typeof parent.compareDocumentPosition != "undefined") { | |
return parent == descendant || Boolean(parent.compareDocumentPosition(descendant) & 16) | |
} | |
while(descendant && parent != descendant) { | |
descendant = descendant.parentNode | |
} | |
return descendant == parent | |
}; | |
goog.dom.compareNodeOrder = function(node1, node2) { | |
if(node1 == node2) { | |
return 0 | |
} | |
if(node1.compareDocumentPosition) { | |
return node1.compareDocumentPosition(node2) & 2 ? 1 : -1 | |
} | |
if("sourceIndex" in node1 || node1.parentNode && "sourceIndex" in node1.parentNode) { | |
var isElement1 = node1.nodeType == goog.dom.NodeType.ELEMENT; | |
var isElement2 = node2.nodeType == goog.dom.NodeType.ELEMENT; | |
if(isElement1 && isElement2) { | |
return node1.sourceIndex - node2.sourceIndex | |
}else { | |
var parent1 = node1.parentNode; | |
var parent2 = node2.parentNode; | |
if(parent1 == parent2) { | |
return goog.dom.compareSiblingOrder_(node1, node2) | |
} | |
if(!isElement1 && goog.dom.contains(parent1, node2)) { | |
return-1 * goog.dom.compareParentsDescendantNodeIe_(node1, node2) | |
} | |
if(!isElement2 && goog.dom.contains(parent2, node1)) { | |
return goog.dom.compareParentsDescendantNodeIe_(node2, node1) | |
} | |
return(isElement1 ? node1.sourceIndex : parent1.sourceIndex) - (isElement2 ? node2.sourceIndex : parent2.sourceIndex) | |
} | |
} | |
var doc = goog.dom.getOwnerDocument(node1); | |
var range1, range2; | |
range1 = doc.createRange(); | |
range1.selectNode(node1); | |
range1.collapse(true); | |
range2 = doc.createRange(); | |
range2.selectNode(node2); | |
range2.collapse(true); | |
return range1.compareBoundaryPoints(goog.global["Range"].START_TO_END, range2) | |
}; | |
goog.dom.compareParentsDescendantNodeIe_ = function(textNode, node) { | |
var parent = textNode.parentNode; | |
if(parent == node) { | |
return-1 | |
} | |
var sibling = node; | |
while(sibling.parentNode != parent) { | |
sibling = sibling.parentNode | |
} | |
return goog.dom.compareSiblingOrder_(sibling, textNode) | |
}; | |
goog.dom.compareSiblingOrder_ = function(node1, node2) { | |
var s = node2; | |
while(s = s.previousSibling) { | |
if(s == node1) { | |
return-1 | |
} | |
} | |
return 1 | |
}; | |
goog.dom.findCommonAncestor = function(var_args) { | |
var i, count = arguments.length; | |
if(!count) { | |
return null | |
}else { | |
if(count == 1) { | |
return arguments[0] | |
} | |
} | |
var paths = []; | |
var minLength = Infinity; | |
for(i = 0;i < count;i++) { | |
var ancestors = []; | |
var node = arguments[i]; | |
while(node) { | |
ancestors.unshift(node); | |
node = node.parentNode | |
} | |
paths.push(ancestors); | |
minLength = Math.min(minLength, ancestors.length) | |
} | |
var output = null; | |
for(i = 0;i < minLength;i++) { | |
var first = paths[0][i]; | |
for(var j = 1;j < count;j++) { | |
if(first != paths[j][i]) { | |
return output | |
} | |
} | |
output = first | |
} | |
return output | |
}; | |
goog.dom.getOwnerDocument = function(node) { | |
return node.nodeType == goog.dom.NodeType.DOCUMENT ? node : node.ownerDocument || node.document | |
}; | |
goog.dom.getFrameContentDocument = function(frame) { | |
var doc; | |
if(goog.userAgent.WEBKIT) { | |
doc = frame.document || frame.contentWindow.document | |
}else { | |
doc = frame.contentDocument || frame.contentWindow.document | |
} | |
return doc | |
}; | |
goog.dom.getFrameContentWindow = function(frame) { | |
return frame.contentWindow || goog.dom.getWindow_(goog.dom.getFrameContentDocument(frame)) | |
}; | |
goog.dom.setTextContent = function(element, text) { | |
if("textContent" in element) { | |
element.textContent = text | |
}else { | |
if(element.firstChild && element.firstChild.nodeType == goog.dom.NodeType.TEXT) { | |
while(element.lastChild != element.firstChild) { | |
element.removeChild(element.lastChild) | |
} | |
element.firstChild.data = text | |
}else { | |
goog.dom.removeChildren(element); | |
var doc = goog.dom.getOwnerDocument(element); | |
element.appendChild(doc.createTextNode(text)) | |
} | |
} | |
}; | |
goog.dom.getOuterHtml = function(element) { | |
if("outerHTML" in element) { | |
return element.outerHTML | |
}else { | |
var doc = goog.dom.getOwnerDocument(element); | |
var div = doc.createElement("div"); | |
div.appendChild(element.cloneNode(true)); | |
return div.innerHTML | |
} | |
}; | |
goog.dom.findNode = function(root, p) { | |
var rv = []; | |
var found = goog.dom.findNodes_(root, p, rv, true); | |
return found ? rv[0] : undefined | |
}; | |
goog.dom.findNodes = function(root, p) { | |
var rv = []; | |
goog.dom.findNodes_(root, p, rv, false); | |
return rv | |
}; | |
goog.dom.findNodes_ = function(root, p, rv, findOne) { | |
if(root != null) { | |
for(var i = 0, child;child = root.childNodes[i];i++) { | |
if(p(child)) { | |
rv.push(child); | |
if(findOne) { | |
return true | |
} | |
} | |
if(goog.dom.findNodes_(child, p, rv, findOne)) { | |
return true | |
} | |
} | |
} | |
return false | |
}; | |
goog.dom.TAGS_TO_IGNORE_ = {"SCRIPT":1, "STYLE":1, "HEAD":1, "IFRAME":1, "OBJECT":1}; | |
goog.dom.PREDEFINED_TAG_VALUES_ = {"IMG":" ", "BR":"\n"}; | |
goog.dom.isFocusableTabIndex = function(element) { | |
var attrNode = element.getAttributeNode("tabindex"); | |
if(attrNode && attrNode.specified) { | |
var index = element.tabIndex; | |
return goog.isNumber(index) && index >= 0 | |
} | |
return false | |
}; | |
goog.dom.setFocusableTabIndex = function(element, enable) { | |
if(enable) { | |
element.tabIndex = 0 | |
}else { | |
element.removeAttribute("tabIndex") | |
} | |
}; | |
goog.dom.getTextContent = function(node) { | |
var textContent; | |
if(goog.dom.BrowserFeature.CAN_USE_INNER_TEXT && "innerText" in node) { | |
textContent = goog.string.canonicalizeNewlines(node.innerText) | |
}else { | |
var buf = []; | |
goog.dom.getTextContent_(node, buf, true); | |
textContent = buf.join("") | |
} | |
textContent = textContent.replace(/ \xAD /g, " ").replace(/\xAD/g, ""); | |
textContent = textContent.replace(/\u200B/g, ""); | |
if(!goog.userAgent.IE) { | |
textContent = textContent.replace(/ +/g, " ") | |
} | |
if(textContent != " ") { | |
textContent = textContent.replace(/^\s*/, "") | |
} | |
return textContent | |
}; | |
goog.dom.getRawTextContent = function(node) { | |
var buf = []; | |
goog.dom.getTextContent_(node, buf, false); | |
return buf.join("") | |
}; | |
goog.dom.getTextContent_ = function(node, buf, normalizeWhitespace) { | |
if(node.nodeName in goog.dom.TAGS_TO_IGNORE_) { | |
}else { | |
if(node.nodeType == goog.dom.NodeType.TEXT) { | |
if(normalizeWhitespace) { | |
buf.push(String(node.nodeValue).replace(/(\r\n|\r|\n)/g, "")) | |
}else { | |
buf.push(node.nodeValue) | |
} | |
}else { | |
if(node.nodeName in goog.dom.PREDEFINED_TAG_VALUES_) { | |
buf.push(goog.dom.PREDEFINED_TAG_VALUES_[node.nodeName]) | |
}else { | |
var child = node.firstChild; | |
while(child) { | |
goog.dom.getTextContent_(child, buf, normalizeWhitespace); | |
child = child.nextSibling | |
} | |
} | |
} | |
} | |
}; | |
goog.dom.getNodeTextLength = function(node) { | |
return goog.dom.getTextContent(node).length | |
}; | |
goog.dom.getNodeTextOffset = function(node, opt_offsetParent) { | |
var root = opt_offsetParent || goog.dom.getOwnerDocument(node).body; | |
var buf = []; | |
while(node && node != root) { | |
var cur = node; | |
while(cur = cur.previousSibling) { | |
buf.unshift(goog.dom.getTextContent(cur)) | |
} | |
node = node.parentNode | |
} | |
return goog.string.trimLeft(buf.join("")).replace(/ +/g, " ").length | |
}; | |
goog.dom.getNodeAtOffset = function(parent, offset, opt_result) { | |
var stack = [parent], pos = 0, cur; | |
while(stack.length > 0 && pos < offset) { | |
cur = stack.pop(); | |
if(cur.nodeName in goog.dom.TAGS_TO_IGNORE_) { | |
}else { | |
if(cur.nodeType == goog.dom.NodeType.TEXT) { | |
var text = cur.nodeValue.replace(/(\r\n|\r|\n)/g, "").replace(/ +/g, " "); | |
pos += text.length | |
}else { | |
if(cur.nodeName in goog.dom.PREDEFINED_TAG_VALUES_) { | |
pos += goog.dom.PREDEFINED_TAG_VALUES_[cur.nodeName].length | |
}else { | |
for(var i = cur.childNodes.length - 1;i >= 0;i--) { | |
stack.push(cur.childNodes[i]) | |
} | |
} | |
} | |
} | |
} | |
if(goog.isObject(opt_result)) { | |
opt_result.remainder = cur ? cur.nodeValue.length + offset - pos - 1 : 0; | |
opt_result.node = cur | |
} | |
return cur | |
}; | |
goog.dom.isNodeList = function(val) { | |
if(val && typeof val.length == "number") { | |
if(goog.isObject(val)) { | |
return typeof val.item == "function" || typeof val.item == "string" | |
}else { | |
if(goog.isFunction(val)) { | |
return typeof val.item == "function" | |
} | |
} | |
} | |
return false | |
}; | |
goog.dom.getAncestorByTagNameAndClass = function(element, opt_tag, opt_class) { | |
var tagName = opt_tag ? opt_tag.toUpperCase() : null; | |
return goog.dom.getAncestor(element, function(node) { | |
return(!tagName || node.nodeName == tagName) && (!opt_class || goog.dom.classes.has(node, opt_class)) | |
}, true) | |
}; | |
goog.dom.getAncestorByClass = function(element, opt_class) { | |
return goog.dom.getAncestorByTagNameAndClass(element, null, opt_class) | |
}; | |
goog.dom.getAncestor = function(element, matcher, opt_includeNode, opt_maxSearchSteps) { | |
if(!opt_includeNode) { | |
element = element.parentNode | |
} | |
var ignoreSearchSteps = opt_maxSearchSteps == null; | |
var steps = 0; | |
while(element && (ignoreSearchSteps || steps <= opt_maxSearchSteps)) { | |
if(matcher(element)) { | |
return element | |
} | |
element = element.parentNode; | |
steps++ | |
} | |
return null | |
}; | |
goog.dom.DomHelper = function(opt_document) { | |
this.document_ = opt_document || goog.global.document || document | |
}; | |
goog.dom.DomHelper.prototype.getDomHelper = goog.dom.getDomHelper; | |
goog.dom.DomHelper.prototype.setDocument = function(document) { | |
this.document_ = document | |
}; | |
goog.dom.DomHelper.prototype.getDocument = function() { | |
return this.document_ | |
}; | |
goog.dom.DomHelper.prototype.getElement = function(element) { | |
if(goog.isString(element)) { | |
return this.document_.getElementById(element) | |
}else { | |
return element | |
} | |
}; | |
goog.dom.DomHelper.prototype.$ = goog.dom.DomHelper.prototype.getElement; | |
goog.dom.DomHelper.prototype.getElementsByTagNameAndClass = function(opt_tag, opt_class, opt_el) { | |
return goog.dom.getElementsByTagNameAndClass_(this.document_, opt_tag, opt_class, opt_el) | |
}; | |
goog.dom.DomHelper.prototype.getElementsByClass = function(className, opt_el) { | |
var doc = opt_el || this.document_; | |
return goog.dom.getElementsByClass(className, doc) | |
}; | |
goog.dom.DomHelper.prototype.getElementByClass = function(className, opt_el) { | |
var doc = opt_el || this.document_; | |
return goog.dom.getElementByClass(className, doc) | |
}; | |
goog.dom.DomHelper.prototype.$$ = goog.dom.DomHelper.prototype.getElementsByTagNameAndClass; | |
goog.dom.DomHelper.prototype.setProperties = goog.dom.setProperties; | |
goog.dom.DomHelper.prototype.getViewportSize = function(opt_window) { | |
return goog.dom.getViewportSize(opt_window || this.getWindow()) | |
}; | |
goog.dom.DomHelper.prototype.getDocumentHeight = function() { | |
return goog.dom.getDocumentHeight_(this.getWindow()) | |
}; | |
goog.dom.Appendable; | |
goog.dom.DomHelper.prototype.createDom = function(tagName, opt_attributes, var_args) { | |
return goog.dom.createDom_(this.document_, arguments) | |
}; | |
goog.dom.DomHelper.prototype.$dom = goog.dom.DomHelper.prototype.createDom; | |
goog.dom.DomHelper.prototype.createElement = function(name) { | |
return this.document_.createElement(name) | |
}; | |
goog.dom.DomHelper.prototype.createTextNode = function(content) { | |
return this.document_.createTextNode(content) | |
}; | |
goog.dom.DomHelper.prototype.createTable = function(rows, columns, opt_fillWithNbsp) { | |
return goog.dom.createTable_(this.document_, rows, columns, !!opt_fillWithNbsp) | |
}; | |
goog.dom.DomHelper.prototype.htmlToDocumentFragment = function(htmlString) { | |
return goog.dom.htmlToDocumentFragment_(this.document_, htmlString) | |
}; | |
goog.dom.DomHelper.prototype.getCompatMode = function() { | |
return this.isCss1CompatMode() ? "CSS1Compat" : "BackCompat" | |
}; | |
goog.dom.DomHelper.prototype.isCss1CompatMode = function() { | |
return goog.dom.isCss1CompatMode_(this.document_) | |
}; | |
goog.dom.DomHelper.prototype.getWindow = function() { | |
return goog.dom.getWindow_(this.document_) | |
}; | |
goog.dom.DomHelper.prototype.getDocumentScrollElement = function() { | |
return goog.dom.getDocumentScrollElement_(this.document_) | |
}; | |
goog.dom.DomHelper.prototype.getDocumentScroll = function() { | |
return goog.dom.getDocumentScroll_(this.document_) | |
}; | |
goog.dom.DomHelper.prototype.appendChild = goog.dom.appendChild; | |
goog.dom.DomHelper.prototype.append = goog.dom.append; | |
goog.dom.DomHelper.prototype.removeChildren = goog.dom.removeChildren; | |
goog.dom.DomHelper.prototype.insertSiblingBefore = goog.dom.insertSiblingBefore; | |
goog.dom.DomHelper.prototype.insertSiblingAfter = goog.dom.insertSiblingAfter; | |
goog.dom.DomHelper.prototype.removeNode = goog.dom.removeNode; | |
goog.dom.DomHelper.prototype.replaceNode = goog.dom.replaceNode; | |
goog.dom.DomHelper.prototype.flattenElement = goog.dom.flattenElement; | |
goog.dom.DomHelper.prototype.getFirstElementChild = goog.dom.getFirstElementChild; | |
goog.dom.DomHelper.prototype.getLastElementChild = goog.dom.getLastElementChild; | |
goog.dom.DomHelper.prototype.getNextElementSibling = goog.dom.getNextElementSibling; | |
goog.dom.DomHelper.prototype.getPreviousElementSibling = goog.dom.getPreviousElementSibling; | |
goog.dom.DomHelper.prototype.getNextNode = goog.dom.getNextNode; | |
goog.dom.DomHelper.prototype.getPreviousNode = goog.dom.getPreviousNode; | |
goog.dom.DomHelper.prototype.isNodeLike = goog.dom.isNodeLike; | |
goog.dom.DomHelper.prototype.contains = goog.dom.contains; | |
goog.dom.DomHelper.prototype.getOwnerDocument = goog.dom.getOwnerDocument; | |
goog.dom.DomHelper.prototype.getFrameContentDocument = goog.dom.getFrameContentDocument; | |
goog.dom.DomHelper.prototype.getFrameContentWindow = goog.dom.getFrameContentWindow; | |
goog.dom.DomHelper.prototype.setTextContent = goog.dom.setTextContent; | |
goog.dom.DomHelper.prototype.findNode = goog.dom.findNode; | |
goog.dom.DomHelper.prototype.findNodes = goog.dom.findNodes; | |
goog.dom.DomHelper.prototype.getTextContent = goog.dom.getTextContent; | |
goog.dom.DomHelper.prototype.getNodeTextLength = goog.dom.getNodeTextLength; | |
goog.dom.DomHelper.prototype.getNodeTextOffset = goog.dom.getNodeTextOffset; | |
goog.dom.DomHelper.prototype.getAncestorByTagNameAndClass = goog.dom.getAncestorByTagNameAndClass; | |
goog.dom.DomHelper.prototype.getAncestor = goog.dom.getAncestor; | |
goog.provide("goog.dom.ViewportSizeMonitor"); | |
goog.require("goog.dom"); | |
goog.require("goog.events"); | |
goog.require("goog.events.EventTarget"); | |
goog.require("goog.events.EventType"); | |
goog.require("goog.math.Size"); | |
goog.require("goog.userAgent"); | |
goog.dom.ViewportSizeMonitor = function(opt_window) { | |
goog.events.EventTarget.call(this); | |
this.window_ = opt_window || window; | |
this.listenerKey_ = goog.events.listen(this.window_, goog.events.EventType.RESIZE, this.handleResize_, false, this); | |
this.size_ = goog.dom.getViewportSize(this.window_); | |
if(this.isPollingRequired_()) { | |
this.windowSizePollInterval_ = window.setInterval(goog.bind(this.checkForSizeChange_, this), goog.dom.ViewportSizeMonitor.WINDOW_SIZE_POLL_RATE) | |
} | |
}; | |
goog.inherits(goog.dom.ViewportSizeMonitor, goog.events.EventTarget); | |
goog.dom.ViewportSizeMonitor.getInstanceForWindow = function(opt_window) { | |
var currentWindow = opt_window || window; | |
var uid = goog.getUid(currentWindow); | |
return goog.dom.ViewportSizeMonitor.windowInstanceMap_[uid] = goog.dom.ViewportSizeMonitor.windowInstanceMap_[uid] || new goog.dom.ViewportSizeMonitor(currentWindow) | |
}; | |
goog.dom.ViewportSizeMonitor.windowInstanceMap_ = {}; | |
goog.dom.ViewportSizeMonitor.WINDOW_SIZE_POLL_RATE = 500; | |
goog.dom.ViewportSizeMonitor.prototype.listenerKey_ = null; | |
goog.dom.ViewportSizeMonitor.prototype.window_ = null; | |
goog.dom.ViewportSizeMonitor.prototype.size_ = null; | |
goog.dom.ViewportSizeMonitor.prototype.windowSizePollInterval_ = null; | |
goog.dom.ViewportSizeMonitor.prototype.isPollingRequired_ = function() { | |
return goog.userAgent.WEBKIT && goog.userAgent.WINDOWS || goog.userAgent.OPERA && this.window_.self != this.window_.top | |
}; | |
goog.dom.ViewportSizeMonitor.prototype.getSize = function() { | |
return this.size_ ? this.size_.clone() : null | |
}; | |
goog.dom.ViewportSizeMonitor.prototype.disposeInternal = function() { | |
goog.dom.ViewportSizeMonitor.superClass_.disposeInternal.call(this); | |
if(this.listenerKey_) { | |
goog.events.unlistenByKey(this.listenerKey_); | |
this.listenerKey_ = null | |
} | |
if(this.windowSizePollInterval_) { | |
window.clearInterval(this.windowSizePollInterval_); | |
this.windowSizePollInterval_ = null | |
} | |
this.window_ = null; | |
this.size_ = null | |
}; | |
goog.dom.ViewportSizeMonitor.prototype.handleResize_ = function(event) { | |
this.checkForSizeChange_() | |
}; | |
goog.dom.ViewportSizeMonitor.prototype.checkForSizeChange_ = function() { | |
var size = goog.dom.getViewportSize(this.window_); | |
if(!goog.math.Size.equals(size, this.size_)) { | |
this.size_ = size; | |
this.dispatchEvent(goog.events.EventType.RESIZE) | |
} | |
}; | |
goog.provide("goog.fx.Animation"); | |
goog.provide("goog.fx.Animation.EventType"); | |
goog.provide("goog.fx.Animation.State"); | |
goog.provide("goog.fx.AnimationEvent"); | |
goog.require("goog.Timer"); | |
goog.require("goog.array"); | |
goog.require("goog.events.Event"); | |
goog.require("goog.events.EventTarget"); | |
goog.require("goog.object"); | |
goog.fx.Animation = function(start, end, duration, opt_acc) { | |
goog.events.EventTarget.call(this); | |
if(!goog.isArray(start) || !goog.isArray(end)) { | |
throw Error("Start and end parameters must be arrays"); | |
} | |
if(start.length != end.length) { | |
throw Error("Start and end points must be the same length"); | |
} | |
this.startPoint = start; | |
this.endPoint = end; | |
this.duration = duration; | |
this.accel_ = opt_acc; | |
this.coords = [] | |
}; | |
goog.inherits(goog.fx.Animation, goog.events.EventTarget); | |
goog.fx.Animation.EventType = {PLAY:"play", BEGIN:"begin", RESUME:"resume", END:"end", STOP:"stop", FINISH:"finish", PAUSE:"pause", ANIMATE:"animate", DESTROY:"destroy"}; | |
goog.fx.Animation.State = {STOPPED:0, PAUSED:-1, PLAYING:1}; | |
goog.fx.Animation.TIMEOUT = 20; | |
goog.fx.Animation.activeAnimations_ = {}; | |
goog.fx.Animation.globalTimer_ = null; | |
goog.fx.Animation.cycleAnimations_ = function() { | |
goog.Timer.defaultTimerObject.clearTimeout(goog.fx.Animation.globalTimer_); | |
var now = goog.now(); | |
for(var uid in goog.fx.Animation.activeAnimations_) { | |
goog.fx.Animation.activeAnimations_[uid].cycle(now) | |
} | |
goog.fx.Animation.globalTimer_ = goog.object.isEmpty(goog.fx.Animation.activeAnimations_) ? null : goog.Timer.defaultTimerObject.setTimeout(goog.fx.Animation.cycleAnimations_, goog.fx.Animation.TIMEOUT) | |
}; | |
goog.fx.Animation.registerAnimation = function(animation) { | |
var uid = goog.getUid(animation); | |
if(!(uid in goog.fx.Animation.activeAnimations_)) { | |
goog.fx.Animation.activeAnimations_[uid] = animation | |
} | |
if(!goog.fx.Animation.globalTimer_) { | |
goog.fx.Animation.globalTimer_ = goog.Timer.defaultTimerObject.setTimeout(goog.fx.Animation.cycleAnimations_, goog.fx.Animation.TIMEOUT) | |
} | |
}; | |
goog.fx.Animation.unregisterAnimation = function(animation) { | |
var uid = goog.getUid(animation); | |
delete goog.fx.Animation.activeAnimations_[uid]; | |
if(goog.fx.Animation.globalTimer_ && goog.object.isEmpty(goog.fx.Animation.activeAnimations_)) { | |
goog.Timer.defaultTimerObject.clearTimeout(goog.fx.Animation.globalTimer_); | |
goog.fx.Animation.globalTimer_ = null | |
} | |
}; | |
goog.fx.Animation.prototype.state_ = goog.fx.Animation.State.STOPPED; | |
goog.fx.Animation.prototype.fps_ = 0; | |
goog.fx.Animation.prototype.progress = 0; | |
goog.fx.Animation.prototype.startTime = null; | |
goog.fx.Animation.prototype.endTime = null; | |
goog.fx.Animation.prototype.lastFrame = null; | |
goog.fx.Animation.prototype.getStateInternal = function() { | |
return this.state_ | |
}; | |
goog.fx.Animation.prototype.play = function(opt_restart) { | |
if(opt_restart || this.state_ == goog.fx.Animation.State.STOPPED) { | |
this.progress = 0; | |
this.coords = this.startPoint | |
}else { | |
if(this.state_ == goog.fx.Animation.State.PLAYING) { | |
return false | |
} | |
} | |
goog.fx.Animation.unregisterAnimation(this); | |
this.startTime = goog.now(); | |
if(this.state_ == goog.fx.Animation.State.PAUSED) { | |
this.startTime -= this.duration * this.progress | |
} | |
this.endTime = this.startTime + this.duration; | |
this.lastFrame = this.startTime; | |
if(!this.progress) { | |
this.onBegin() | |
} | |
this.onPlay(); | |
if(this.state_ == goog.fx.Animation.State.PAUSED) { | |
this.onResume() | |
} | |
this.state_ = goog.fx.Animation.State.PLAYING; | |
goog.fx.Animation.registerAnimation(this); | |
this.cycle(this.startTime); | |
return true | |
}; | |
goog.fx.Animation.prototype.stop = function(gotoEnd) { | |
goog.fx.Animation.unregisterAnimation(this); | |
this.state_ = goog.fx.Animation.State.STOPPED; | |
if(gotoEnd) { | |
this.progress = 1 | |
} | |
this.updateCoords_(this.progress); | |
this.onStop(); | |
this.onEnd() | |
}; | |
goog.fx.Animation.prototype.pause = function() { | |
if(this.state_ == goog.fx.Animation.State.PLAYING) { | |
goog.fx.Animation.unregisterAnimation(this); | |
this.state_ = goog.fx.Animation.State.PAUSED; | |
this.onPause() | |
} | |
}; | |
goog.fx.Animation.prototype.disposeInternal = function() { | |
if(this.state_ != goog.fx.Animation.State.STOPPED) { | |
this.stop(false) | |
} | |
this.onDestroy(); | |
goog.fx.Animation.superClass_.disposeInternal.call(this) | |
}; | |
goog.fx.Animation.prototype.destroy = function() { | |
this.dispose() | |
}; | |
goog.fx.Animation.prototype.cycle = function(now) { | |
this.progress = (now - this.startTime) / (this.endTime - this.startTime); | |
if(this.progress >= 1) { | |
this.progress = 1 | |
} | |
this.fps_ = 1E3 / (now - this.lastFrame); | |
this.lastFrame = now; | |
if(goog.isFunction(this.accel_)) { | |
this.updateCoords_(this.accel_(this.progress)) | |
}else { | |
this.updateCoords_(this.progress) | |
} | |
if(this.progress == 1) { | |
this.state_ = goog.fx.Animation.State.STOPPED; | |
goog.fx.Animation.unregisterAnimation(this); | |
this.onFinish(); | |
this.onEnd() | |
}else { | |
if(this.state_ == goog.fx.Animation.State.PLAYING) { | |
this.onAnimate() | |
} | |
} | |
}; | |
goog.fx.Animation.prototype.updateCoords_ = function(t) { | |
this.coords = new Array(this.startPoint.length); | |
for(var i = 0;i < this.startPoint.length;i++) { | |
this.coords[i] = (this.endPoint[i] - this.startPoint[i]) * t + this.startPoint[i] | |
} | |
}; | |
goog.fx.Animation.prototype.onAnimate = function() { | |
this.dispatchAnimationEvent_(goog.fx.Animation.EventType.ANIMATE) | |
}; | |
goog.fx.Animation.prototype.onBegin = function() { | |
this.dispatchAnimationEvent_(goog.fx.Animation.EventType.BEGIN) | |
}; | |
goog.fx.Animation.prototype.onDestroy = function() { | |
this.dispatchAnimationEvent_(goog.fx.Animation.EventType.DESTROY) | |
}; | |
goog.fx.Animation.prototype.onEnd = function() { | |
this.dispatchAnimationEvent_(goog.fx.Animation.EventType.END) | |
}; | |
goog.fx.Animation.prototype.onFinish = function() { | |
this.dispatchAnimationEvent_(goog.fx.Animation.EventType.FINISH) | |
}; | |
goog.fx.Animation.prototype.onPause = function() { | |
this.dispatchAnimationEvent_(goog.fx.Animation.EventType.PAUSE) | |
}; | |
goog.fx.Animation.prototype.onPlay = function() { | |
this.dispatchAnimationEvent_(goog.fx.Animation.EventType.PLAY) | |
}; | |
goog.fx.Animation.prototype.onResume = function() { | |
this.dispatchAnimationEvent_(goog.fx.Animation.EventType.RESUME) | |
}; | |
goog.fx.Animation.prototype.onStop = function() { | |
this.dispatchAnimationEvent_(goog.fx.Animation.EventType.STOP) | |
}; | |
goog.fx.Animation.prototype.dispatchAnimationEvent_ = function(type) { | |
this.dispatchEvent(new goog.fx.AnimationEvent(type, this)) | |
}; | |
goog.fx.AnimationEvent = function(type, anim) { | |
goog.events.Event.call(this, type); | |
this.coords = anim.coords; | |
this.x = anim.coords[0]; | |
this.y = anim.coords[1]; | |
this.z = anim.coords[2]; | |
this.duration = anim.duration; | |
this.progress = anim.progress; | |
this.fps = anim.fps_; | |
this.state = anim.state_; | |
this.anim = anim | |
}; | |
goog.inherits(goog.fx.AnimationEvent, goog.events.Event); | |
goog.fx.AnimationEvent.prototype.coordsAsInts = function() { | |
return goog.array.map(this.coords, Math.round) | |
}; | |
goog.provide("goog.fx.easing"); | |
goog.fx.easing.easeIn = function(t) { | |
return t * t * t | |
}; | |
goog.fx.easing.easeOut = function(t) { | |
return 1 - Math.pow(1 - t, 3) | |
}; | |
goog.fx.easing.inAndOut = function(t) { | |
return 3 * t * t - 2 * t * t * t | |
}; | |
goog.provide("goog.fx"); | |
goog.require("goog.asserts"); | |
goog.require("goog.fx.Animation"); | |
goog.require("goog.fx.Animation.EventType"); | |
goog.require("goog.fx.Animation.State"); | |
goog.require("goog.fx.AnimationEvent"); | |
goog.require("goog.fx.easing"); | |
goog.provide("goog.Delay"); | |
goog.provide("goog.async.Delay"); | |
goog.require("goog.Disposable"); | |
goog.require("goog.Timer"); | |
goog.async.Delay = function(listener, opt_interval, opt_handler) { | |
goog.Disposable.call(this); | |
this.listener_ = listener; | |
this.interval_ = opt_interval || 0; | |
this.handler_ = opt_handler; | |
this.callback_ = goog.bind(this.doAction_, this) | |
}; | |
goog.inherits(goog.async.Delay, goog.Disposable); | |
goog.Delay = goog.async.Delay; | |
goog.async.Delay.prototype.id_ = 0; | |
goog.async.Delay.prototype.disposeInternal = function() { | |
goog.async.Delay.superClass_.disposeInternal.call(this); | |
this.stop(); | |
delete this.listener_; | |
delete this.handler_ | |
}; | |
goog.async.Delay.prototype.start = function(opt_interval) { | |
this.stop(); | |
this.id_ = goog.Timer.callOnce(this.callback_, goog.isDef(opt_interval) ? opt_interval : this.interval_) | |
}; | |
goog.async.Delay.prototype.stop = function() { | |
if(this.isActive()) { | |
goog.Timer.clear(this.id_) | |
} | |
this.id_ = 0 | |
}; | |
goog.async.Delay.prototype.fire = function() { | |
this.stop(); | |
this.doAction_() | |
}; | |
goog.async.Delay.prototype.fireIfActive = function() { | |
if(this.isActive()) { | |
this.fire() | |
} | |
}; | |
goog.async.Delay.prototype.isActive = function() { | |
return this.id_ != 0 | |
}; | |
goog.async.Delay.prototype.doAction_ = function() { | |
this.id_ = 0; | |
if(this.listener_) { | |
this.listener_.call(this.handler_) | |
} | |
}; | |
goog.provide("goog.color.names"); | |
goog.color.names = {"aliceblue":"#f0f8ff", "antiquewhite":"#faebd7", "aqua":"#00ffff", "aquamarine":"#7fffd4", "azure":"#f0ffff", "beige":"#f5f5dc", "bisque":"#ffe4c4", "black":"#000000", "blanchedalmond":"#ffebcd", "blue":"#0000ff", "blueviolet":"#8a2be2", "brown":"#a52a2a", "burlywood":"#deb887", "cadetblue":"#5f9ea0", "chartreuse":"#7fff00", "chocolate":"#d2691e", "coral":"#ff7f50", "cornflowerblue":"#6495ed", "cornsilk":"#fff8dc", "crimson":"#dc143c", "cyan":"#00ffff", "darkblue":"#00008b", "darkcyan":"#008b8b", | |
"darkgoldenrod":"#b8860b", "darkgray":"#a9a9a9", "darkgreen":"#006400", "darkgrey":"#a9a9a9", "darkkhaki":"#bdb76b", "darkmagenta":"#8b008b", "darkolivegreen":"#556b2f", "darkorange":"#ff8c00", "darkorchid":"#9932cc", "darkred":"#8b0000", "darksalmon":"#e9967a", "darkseagreen":"#8fbc8f", "darkslateblue":"#483d8b", "darkslategray":"#2f4f4f", "darkslategrey":"#2f4f4f", "darkturquoise":"#00ced1", "darkviolet":"#9400d3", "deeppink":"#ff1493", "deepskyblue":"#00bfff", "dimgray":"#696969", "dimgrey":"#696969", | |
"dodgerblue":"#1e90ff", "firebrick":"#b22222", "floralwhite":"#fffaf0", "forestgreen":"#228b22", "fuchsia":"#ff00ff", "gainsboro":"#dcdcdc", "ghostwhite":"#f8f8ff", "gold":"#ffd700", "goldenrod":"#daa520", "gray":"#808080", "green":"#008000", "greenyellow":"#adff2f", "grey":"#808080", "honeydew":"#f0fff0", "hotpink":"#ff69b4", "indianred":"#cd5c5c", "indigo":"#4b0082", "ivory":"#fffff0", "khaki":"#f0e68c", "lavender":"#e6e6fa", "lavenderblush":"#fff0f5", "lawngreen":"#7cfc00", "lemonchiffon":"#fffacd", | |
"lightblue":"#add8e6", "lightcoral":"#f08080", "lightcyan":"#e0ffff", "lightgoldenrodyellow":"#fafad2", "lightgray":"#d3d3d3", "lightgreen":"#90ee90", "lightgrey":"#d3d3d3", "lightpink":"#ffb6c1", "lightsalmon":"#ffa07a", "lightseagreen":"#20b2aa", "lightskyblue":"#87cefa", "lightslategray":"#778899", "lightslategrey":"#778899", "lightsteelblue":"#b0c4de", "lightyellow":"#ffffe0", "lime":"#00ff00", "limegreen":"#32cd32", "linen":"#faf0e6", "magenta":"#ff00ff", "maroon":"#800000", "mediumaquamarine":"#66cdaa", | |
"mediumblue":"#0000cd", "mediumorchid":"#ba55d3", "mediumpurple":"#9370d8", "mediumseagreen":"#3cb371", "mediumslateblue":"#7b68ee", "mediumspringgreen":"#00fa9a", "mediumturquoise":"#48d1cc", "mediumvioletred":"#c71585", "midnightblue":"#191970", "mintcream":"#f5fffa", "mistyrose":"#ffe4e1", "moccasin":"#ffe4b5", "navajowhite":"#ffdead", "navy":"#000080", "oldlace":"#fdf5e6", "olive":"#808000", "olivedrab":"#6b8e23", "orange":"#ffa500", "orangered":"#ff4500", "orchid":"#da70d6", "palegoldenrod":"#eee8aa", | |
"palegreen":"#98fb98", "paleturquoise":"#afeeee", "palevioletred":"#d87093", "papayawhip":"#ffefd5", "peachpuff":"#ffdab9", "peru":"#cd853f", "pink":"#ffc0cb", "plum":"#dda0dd", "powderblue":"#b0e0e6", "purple":"#800080", "red":"#ff0000", "rosybrown":"#bc8f8f", "royalblue":"#4169e1", "saddlebrown":"#8b4513", "salmon":"#fa8072", "sandybrown":"#f4a460", "seagreen":"#2e8b57", "seashell":"#fff5ee", "sienna":"#a0522d", "silver":"#c0c0c0", "skyblue":"#87ceeb", "slateblue":"#6a5acd", "slategray":"#708090", | |
"slategrey":"#708090", "snow":"#fffafa", "springgreen":"#00ff7f", "steelblue":"#4682b4", "tan":"#d2b48c", "teal":"#008080", "thistle":"#d8bfd8", "tomato":"#ff6347", "turquoise":"#40e0d0", "violet":"#ee82ee", "wheat":"#f5deb3", "white":"#ffffff", "whitesmoke":"#f5f5f5", "yellow":"#ffff00", "yellowgreen":"#9acd32"}; | |
goog.provide("goog.math"); | |
goog.require("goog.array"); | |
goog.math.randomInt = function(a) { | |
return Math.floor(Math.random() * a) | |
}; | |
goog.math.uniformRandom = function(a, b) { | |
return a + Math.random() * (b - a) | |
}; | |
goog.math.clamp = function(value, min, max) { | |
return Math.min(Math.max(value, min), max) | |
}; | |
goog.math.modulo = function(a, b) { | |
var r = a % b; | |
return r * b < 0 ? r + b : r | |
}; | |
goog.math.lerp = function(a, b, x) { | |
return a + x * (b - a) | |
}; | |
goog.math.nearlyEquals = function(a, b, opt_tolerance) { | |
return Math.abs(a - b) <= (opt_tolerance || 1.0E-6) | |
}; | |
goog.math.standardAngle = function(angle) { | |
return goog.math.modulo(angle, 360) | |
}; | |
goog.math.toRadians = function(angleDegrees) { | |
return angleDegrees * Math.PI / 180 | |
}; | |
goog.math.toDegrees = function(angleRadians) { | |
return angleRadians * 180 / Math.PI | |
}; | |
goog.math.angleDx = function(degrees, radius) { | |
return radius * Math.cos(goog.math.toRadians(degrees)) | |
}; | |
goog.math.angleDy = function(degrees, radius) { | |
return radius * Math.sin(goog.math.toRadians(degrees)) | |
}; | |
goog.math.angle = function(x1, y1, x2, y2) { | |
return goog.math.standardAngle(goog.math.toDegrees(Math.atan2(y2 - y1, x2 - x1))) | |
}; | |
goog.math.angleDifference = function(startAngle, endAngle) { | |
var d = goog.math.standardAngle(endAngle) - goog.math.standardAngle(startAngle); | |
if(d > 180) { | |
d = d - 360 | |
}else { | |
if(d <= -180) { | |
d = 360 + d | |
} | |
} | |
return d | |
}; | |
goog.math.sign = function(x) { | |
return x == 0 ? 0 : x < 0 ? -1 : 1 | |
}; | |
goog.math.longestCommonSubsequence = function(array1, array2, opt_compareFn, opt_collectorFn) { | |
var compare = opt_compareFn || function(a, b) { | |
return a == b | |
}; | |
var collect = opt_collectorFn || function(i1, i2) { | |
return array1[i1] | |
}; | |
var length1 = array1.length; | |
var length2 = array2.length; | |
var arr = []; | |
for(var i = 0;i < length1 + 1;i++) { | |
arr[i] = []; | |
arr[i][0] = 0 | |
} | |
for(var j = 0;j < length2 + 1;j++) { | |
arr[0][j] = 0 | |
} | |
for(i = 1;i <= length1;i++) { | |
for(j = 1;j <= length1;j++) { | |
if(compare(array1[i - 1], array2[j - 1])) { | |
arr[i][j] = arr[i - 1][j - 1] + 1 | |
}else { | |
arr[i][j] = Math.max(arr[i - 1][j], arr[i][j - 1]) | |
} | |
} | |
} | |
var result = []; | |
var i = length1, j = length2; | |
while(i > 0 && j > 0) { | |
if(compare(array1[i - 1], array2[j - 1])) { | |
result.unshift(collect(i - 1, j - 1)); | |
i--; | |
j-- | |
}else { | |
if(arr[i - 1][j] > arr[i][j - 1]) { | |
i-- | |
}else { | |
j-- | |
} | |
} | |
} | |
return result | |
}; | |
goog.math.sum = function(var_args) { | |
return goog.array.reduce(arguments, function(sum, value) { | |
return sum + value | |
}, 0) | |
}; | |
goog.math.average = function(var_args) { | |
return goog.math.sum.apply(null, arguments) / arguments.length | |
}; | |
goog.math.standardDeviation = function(var_args) { | |
var sampleSize = arguments.length; | |
if(sampleSize < 2) { | |
return 0 | |
} | |
var mean = goog.math.average.apply(null, arguments); | |
var variance = goog.math.sum.apply(null, goog.array.map(arguments, function(val) { | |
return Math.pow(val - mean, 2) | |
})) / (sampleSize - 1); | |
return Math.sqrt(variance) | |
}; | |
goog.math.isInt = function(num) { | |
return isFinite(num) && num % 1 == 0 | |
}; | |
goog.math.isFiniteNumber = function(num) { | |
return isFinite(num) && !isNaN(num) | |
}; | |
goog.provide("goog.color"); | |
goog.require("goog.color.names"); | |
goog.require("goog.math"); | |
goog.color.parse = function(str) { | |
var result = {}; | |
str = String(str); | |
var maybeHex = goog.color.prependPoundIfNecessary_(str); | |
if(goog.color.isValidHexColor_(maybeHex)) { | |
result.hex = goog.color.normalizeHex(maybeHex); | |
result.type = "hex"; | |
return result | |
}else { | |
var rgb = goog.color.isValidRgbColor_(str); | |
if(rgb.length) { | |
result.hex = goog.color.rgbArrayToHex(rgb); | |
result.type = "rgb"; | |
return result | |
}else { | |
if(goog.color.names) { | |
var hex = goog.color.names[str.toLowerCase()]; | |
if(hex) { | |
result.hex = hex; | |
result.type = "named"; | |
return result | |
} | |
} | |
} | |
} | |
throw Error(str + " is not a valid color string"); | |
}; | |
goog.color.parseRgb = function(str) { | |
var rgb = goog.color.isValidRgbColor_(str); | |
if(!rgb.length) { | |
throw Error(str + " is not a valid RGB color"); | |
} | |
return rgb | |
}; | |
goog.color.hexToRgbStyle = function(hexColor) { | |
return goog.color.rgbStyle_(goog.color.hexToRgb(hexColor)) | |
}; | |
goog.color.hexTripletRe_ = /#(.)(.)(.)/; | |
goog.color.normalizeHex = function(hexColor) { | |
if(!goog.color.isValidHexColor_(hexColor)) { | |
throw Error("'" + hexColor + "' is not a valid hex color"); | |
} | |
if(hexColor.length == 4) { | |
hexColor = hexColor.replace(goog.color.hexTripletRe_, "#$1$1$2$2$3$3") | |
} | |
return hexColor.toLowerCase() | |
}; | |
goog.color.hexToRgb = function(hexColor) { | |
hexColor = goog.color.normalizeHex(hexColor); | |
var r = parseInt(hexColor.substr(1, 2), 16); | |
var g = parseInt(hexColor.substr(3, 2), 16); | |
var b = parseInt(hexColor.substr(5, 2), 16); | |
return[r, g, b] | |
}; | |
goog.color.rgbToHex = function(r, g, b) { | |
r = Number(r); | |
g = Number(g); | |
b = Number(b); | |
if(isNaN(r) || r < 0 || r > 255 || isNaN(g) || g < 0 || g > 255 || isNaN(b) || b < 0 || b > 255) { | |
throw Error('"(' + r + "," + g + "," + b + '") is not a valid RGB color'); | |
} | |
var hexR = goog.color.prependZeroIfNecessary_(r.toString(16)); | |
var hexG = goog.color.prependZeroIfNecessary_(g.toString(16)); | |
var hexB = goog.color.prependZeroIfNecessary_(b.toString(16)); | |
return"#" + hexR + hexG + hexB | |
}; | |
goog.color.rgbArrayToHex = function(rgb) { | |
return goog.color.rgbToHex(rgb[0], rgb[1], rgb[2]) | |
}; | |
goog.color.rgbToHsl = function(r, g, b) { | |
var normR = r / 255; | |
var normG = g / 255; | |
var normB = b / 255; | |
var max = Math.max(normR, normG, normB); | |
var min = Math.min(normR, normG, normB); | |
var h = 0; | |
var s = 0; | |
var l = 0.5 * (max + min); | |
if(max != min) { | |
if(max == normR) { | |
h = 60 * (normG - normB) / (max - min) | |
}else { | |
if(max == normG) { | |
h = 60 * (normB - normR) / (max - min) + 120 | |
}else { | |
if(max == normB) { | |
h = 60 * (normR - normG) / (max - min) + 240 | |
} | |
} | |
} | |
if(0 < l && l <= 0.5) { | |
s = (max - min) / (2 * l) | |
}else { | |
s = (max - min) / (2 - 2 * l) | |
} | |
} | |
return[Math.round(h + 360) % 360, s, l] | |
}; | |
goog.color.rgbArrayToHsl = function(rgb) { | |
return goog.color.rgbToHsl(rgb[0], rgb[1], rgb[2]) | |
}; | |
goog.color.hueToRgb_ = function(v1, v2, vH) { | |
if(vH < 0) { | |
vH += 1 | |
}else { | |
if(vH > 1) { | |
vH -= 1 | |
} | |
} | |
if(6 * vH < 1) { | |
return v1 + (v2 - v1) * 6 * vH | |
}else { | |
if(2 * vH < 1) { | |
return v2 | |
}else { | |
if(3 * vH < 2) { | |
return v1 + (v2 - v1) * (2 / 3 - vH) * 6 | |
} | |
} | |
} | |
return v1 | |
}; | |
goog.color.hslToRgb = function(h, s, l) { | |
var r = 0; | |
var g = 0; | |
var b = 0; | |
var normH = h / 360; | |
if(s == 0) { | |
r = g = b = l * 255 | |
}else { | |
var temp1 = 0; | |
var temp2 = 0; | |
if(l < 0.5) { | |
temp2 = l * (1 + s) | |
}else { | |
temp2 = l + s - s * l | |
} | |
temp1 = 2 * l - temp2; | |
r = 255 * goog.color.hueToRgb_(temp1, temp2, normH + 1 / 3); | |
g = 255 * goog.color.hueToRgb_(temp1, temp2, normH); | |
b = 255 * goog.color.hueToRgb_(temp1, temp2, normH - 1 / 3) | |
} | |
return[Math.round(r), Math.round(g), Math.round(b)] | |
}; | |
goog.color.hslArrayToRgb = function(hsl) { | |
return goog.color.hslToRgb(hsl[0], hsl[1], hsl[2]) | |
}; | |
goog.color.validHexColorRe_ = /^#(?:[0-9a-f]{3}){1,2}$/i; | |
goog.color.isValidHexColor_ = function(str) { | |
return goog.color.validHexColorRe_.test(str) | |
}; | |
goog.color.normalizedHexColorRe_ = /^#[0-9a-f]{6}$/; | |
goog.color.isNormalizedHexColor_ = function(str) { | |
return goog.color.normalizedHexColorRe_.test(str) | |
}; | |
goog.color.rgbColorRe_ = /^(?:rgb)?\((0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2})\)$/i; | |
goog.color.isValidRgbColor_ = function(str) { | |
var regExpResultArray = str.match(goog.color.rgbColorRe_); | |
if(regExpResultArray) { | |
var r = Number(regExpResultArray[1]); | |
var g = Number(regExpResultArray[2]); | |
var b = Number(regExpResultArray[3]); | |
if(r >= 0 && r <= 255 && g >= 0 && g <= 255 && b >= 0 && b <= 255) { | |
return[r, g, b] | |
} | |
} | |
return[] | |
}; | |
goog.color.prependZeroIfNecessary_ = function(hex) { | |
return hex.length == 1 ? "0" + hex : hex | |
}; | |
goog.color.prependPoundIfNecessary_ = function(str) { | |
return str.charAt(0) == "#" ? str : "#" + str | |
}; | |
goog.color.rgbStyle_ = function(rgb) { | |
return"rgb(" + rgb.join(",") + ")" | |
}; | |
goog.color.hsvToRgb = function(h, s, brightness) { | |
var red = 0; | |
var green = 0; | |
var blue = 0; | |
if(s == 0) { | |
red = brightness; | |
green = brightness; | |
blue = brightness | |
}else { | |
var sextant = Math.floor(h / 60); | |
var remainder = h / 60 - sextant; | |
var val1 = brightness * (1 - s); | |
var val2 = brightness * (1 - s * remainder); | |
var val3 = brightness * (1 - s * (1 - remainder)); | |
switch(sextant) { | |
case 1: | |
red = val2; | |
green = brightness; | |
blue = val1; | |
break; | |
case 2: | |
red = val1; | |
green = brightness; | |
blue = val3; | |
break; | |
case 3: | |
red = val1; | |
green = val2; | |
blue = brightness; | |
break; | |
case 4: | |
red = val3; | |
green = val1; | |
blue = brightness; | |
break; | |
case 5: | |
red = brightness; | |
green = val1; | |
blue = val2; | |
break; | |
case 6: | |
; | |
case 0: | |
red = brightness; | |
green = val3; | |
blue = val1; | |
break | |
} | |
} | |
return[Math.floor(red), Math.floor(green), Math.floor(blue)] | |
}; | |
goog.color.rgbToHsv = function(red, green, blue) { | |
var max = Math.max(Math.max(red, green), blue); | |
var min = Math.min(Math.min(red, green), blue); | |
var hue; | |
var saturation; | |
var value = max; | |
if(min == max) { | |
hue = 0; | |
saturation = 0 | |
}else { | |
var delta = max - min; | |
saturation = delta / max; | |
if(red == max) { | |
hue = (green - blue) / delta | |
}else { | |
if(green == max) { | |
hue = 2 + (blue - red) / delta | |
}else { | |
hue = 4 + (red - green) / delta | |
} | |
} | |
hue *= 60; | |
if(hue < 0) { | |
hue += 360 | |
} | |
if(hue > 360) { | |
hue -= 360 | |
} | |
} | |
return[hue, saturation, value] | |
}; | |
goog.color.rgbArrayToHsv = function(rgb) { | |
return goog.color.rgbToHsv(rgb[0], rgb[1], rgb[2]) | |
}; | |
goog.color.hsvArrayToRgb = function(hsv) { | |
return goog.color.hsvToRgb(hsv[0], hsv[1], hsv[2]) | |
}; | |
goog.color.hexToHsl = function(hex) { | |
var rgb = goog.color.hexToRgb(hex); | |
return goog.color.rgbToHsl(rgb[0], rgb[1], rgb[2]) | |
}; | |
goog.color.hslToHex = function(h, s, l) { | |
return goog.color.rgbArrayToHex(goog.color.hslToRgb(h, s, l)) | |
}; | |
goog.color.hslArrayToHex = function(hsl) { | |
return goog.color.rgbArrayToHex(goog.color.hslToRgb(hsl[0], hsl[1], hsl[2])) | |
}; | |
goog.color.hexToHsv = function(hex) { | |
return goog.color.rgbArrayToHsv(goog.color.hexToRgb(hex)) | |
}; | |
goog.color.hsvToHex = function(h, s, v) { | |
return goog.color.rgbArrayToHex(goog.color.hsvToRgb(h, s, v)) | |
}; | |
goog.color.hsvArrayToHex = function(hsv) { | |
return goog.color.hsvToHex(hsv[0], hsv[1], hsv[2]) | |
}; | |
goog.color.hslDistance = function(hsl1, hsl2) { | |
var sl1, sl2; | |
if(hsl1[2] <= 0.5) { | |
sl1 = hsl1[1] * hsl1[2] | |
}else { | |
sl1 = hsl1[1] * (1 - hsl1[2]) | |
} | |
if(hsl2[2] <= 0.5) { | |
sl2 = hsl2[1] * hsl2[2] | |
}else { | |
sl2 = hsl2[1] * (1 - hsl2[2]) | |
} | |
var h1 = hsl1[0] / 360; | |
var h2 = hsl2[0] / 360; | |
var dh = (h1 - h2) * 2 * Math.PI; | |
return(hsl1[2] - hsl2[2]) * (hsl1[2] - hsl2[2]) + sl1 * sl1 + sl2 * sl2 - 2 * sl1 * sl2 * Math.cos(dh) | |
}; | |
goog.color.blend = function(rgb1, rgb2, factor) { | |
factor = goog.math.clamp(factor, 0, 1); | |
return[Math.round(factor * rgb1[0] + (1 - factor) * rgb2[0]), Math.round(factor * rgb1[1] + (1 - factor) * rgb2[1]), Math.round(factor * rgb1[2] + (1 - factor) * rgb2[2])] | |
}; | |
goog.color.darken = function(rgb, factor) { | |
var black = [0, 0, 0]; | |
return goog.color.blend(black, rgb, factor) | |
}; | |
goog.color.lighten = function(rgb, factor) { | |
var white = [255, 255, 255]; | |
return goog.color.blend(white, rgb, factor) | |
}; | |
goog.color.highContrast = function(prime, suggestions) { | |
var suggestionsWithDiff = []; | |
for(var i = 0;i < suggestions.length;i++) { | |
suggestionsWithDiff.push({color:suggestions[i], diff:goog.color.yiqBrightnessDiff_(suggestions[i], prime) + goog.color.colorDiff_(suggestions[i], prime)}) | |
} | |
suggestionsWithDiff.sort(function(a, b) { | |
return b.diff - a.diff | |
}); | |
return suggestionsWithDiff[0].color | |
}; | |
goog.color.yiqBrightness_ = function(rgb) { | |
return Math.round((rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1E3) | |
}; | |
goog.color.yiqBrightnessDiff_ = function(rgb1, rgb2) { | |
return Math.abs(goog.color.yiqBrightness_(rgb1) - goog.color.yiqBrightness_(rgb2)) | |
}; | |
goog.color.colorDiff_ = function(rgb1, rgb2) { | |
return Math.abs(rgb1[0] - rgb2[0]) + Math.abs(rgb1[1] - rgb2[1]) + Math.abs(rgb1[2] - rgb2[2]) | |
}; | |
goog.provide("goog.math.Box"); | |
goog.require("goog.math.Coordinate"); | |
goog.math.Box = function(top, right, bottom, left) { | |
this.top = top; | |
this.right = right; | |
this.bottom = bottom; | |
this.left = left | |
}; | |
goog.math.Box.boundingBox = function(var_args) { | |
var box = new goog.math.Box(arguments[0].y, arguments[0].x, arguments[0].y, arguments[0].x); | |
for(var i = 1;i < arguments.length;i++) { | |
var coord = arguments[i]; | |
box.top = Math.min(box.top, coord.y); | |
box.right = Math.max(box.right, coord.x); | |
box.bottom = Math.max(box.bottom, coord.y); | |
box.left = Math.min(box.left, coord.x) | |
} | |
return box | |
}; | |
goog.math.Box.prototype.clone = function() { | |
return new goog.math.Box(this.top, this.right, this.bottom, this.left) | |
}; | |
if(goog.DEBUG) { | |
goog.math.Box.prototype.toString = function() { | |
return"(" + this.top + "t, " + this.right + "r, " + this.bottom + "b, " + this.left + "l)" | |
} | |
} | |
goog.math.Box.prototype.contains = function(other) { | |
return goog.math.Box.contains(this, other) | |
}; | |
goog.math.Box.prototype.expand = function(top, opt_right, opt_bottom, opt_left) { | |
if(goog.isObject(top)) { | |
this.top -= top.top; | |
this.right += top.right; | |
this.bottom += top.bottom; | |
this.left -= top.left | |
}else { | |
this.top -= top; | |
this.right += opt_right; | |
this.bottom += opt_bottom; | |
this.left -= opt_left | |
} | |
return this | |
}; | |
goog.math.Box.prototype.expandToInclude = function(box) { | |
this.left = Math.min(this.left, box.left); | |
this.top = Math.min(this.top, box.top); | |
this.right = Math.max(this.right, box.right); | |
this.bottom = Math.max(this.bottom, box.bottom) | |
}; | |
goog.math.Box.equals = function(a, b) { | |
if(a == b) { | |
return true | |
} | |
if(!a || !b) { | |
return false | |
} | |
return a.top == b.top && a.right == b.right && a.bottom == b.bottom && a.left == b.left | |
}; | |
goog.math.Box.contains = function(box, other) { | |
if(!box || !other) { | |
return false | |
} | |
if(other instanceof goog.math.Box) { | |
return other.left >= box.left && other.right <= box.right && other.top >= box.top && other.bottom <= box.bottom | |
} | |
return other.x >= box.left && other.x <= box.right && other.y >= box.top && other.y <= box.bottom | |
}; | |
goog.math.Box.distance = function(box, coord) { | |
if(coord.x >= box.left && coord.x <= box.right) { | |
if(coord.y >= box.top && coord.y <= box.bottom) { | |
return 0 | |
} | |
return coord.y < box.top ? box.top - coord.y : coord.y - box.bottom | |
} | |
if(coord.y >= box.top && coord.y <= box.bottom) { | |
return coord.x < box.left ? box.left - coord.x : coord.x - box.right | |
} | |
return goog.math.Coordinate.distance(coord, new goog.math.Coordinate(coord.x < box.left ? box.left : box.right, coord.y < box.top ? box.top : box.bottom)) | |
}; | |
goog.math.Box.intersects = function(a, b) { | |
return a.left <= b.right && b.left <= a.right && a.top <= b.bottom && b.top <= a.bottom | |
}; | |
goog.math.Box.intersectsWithPadding = function(a, b, padding) { | |
return a.left <= b.right + padding && b.left <= a.right + padding && a.top <= b.bottom + padding && b.top <= a.bottom + padding | |
}; | |
goog.provide("goog.math.Rect"); | |
goog.require("goog.math.Box"); | |
goog.require("goog.math.Size"); | |
goog.math.Rect = function(x, y, w, h) { | |
this.left = x; | |
this.top = y; | |
this.width = w; | |
this.height = h | |
}; | |
goog.math.Rect.prototype.clone = function() { | |
return new goog.math.Rect(this.left, this.top, this.width, this.height) | |
}; | |
goog.math.Rect.prototype.toBox = function() { | |
var right = this.left + this.width; | |
var bottom = this.top + this.height; | |
return new goog.math.Box(this.top, right, bottom, this.left) | |
}; | |
goog.math.Rect.createFromBox = function(box) { | |
return new goog.math.Rect(box.left, box.top, box.right - box.left, box.bottom - box.top) | |
}; | |
if(goog.DEBUG) { | |
goog.math.Rect.prototype.toString = function() { | |
return"(" + this.left + ", " + this.top + " - " + this.width + "w x " + this.height + "h)" | |
} | |
} | |
goog.math.Rect.equals = function(a, b) { | |
if(a == b) { | |
return true | |
} | |
if(!a || !b) { | |
return false | |
} | |
return a.left == b.left && a.width == b.width && a.top == b.top && a.height == b.height | |
}; | |
goog.math.Rect.prototype.intersection = function(rect) { | |
var x0 = Math.max(this.left, rect.left); | |
var x1 = Math.min(this.left + this.width, rect.left + rect.width); | |
if(x0 <= x1) { | |
var y0 = Math.max(this.top, rect.top); | |
var y1 = Math.min(this.top + this.height, rect.top + rect.height); | |
if(y0 <= y1) { | |
this.left = x0; | |
this.top = y0; | |
this.width = x1 - x0; | |
this.height = y1 - y0; | |
return true | |
} | |
} | |
return false | |
}; | |
goog.math.Rect.intersection = function(a, b) { | |
var x0 = Math.max(a.left, b.left); | |
var x1 = Math.min(a.left + a.width, b.left + b.width); | |
if(x0 <= x1) { | |
var y0 = Math.max(a.top, b.top); | |
var y1 = Math.min(a.top + a.height, b.top + b.height); | |
if(y0 <= y1) { | |
return new goog.math.Rect(x0, y0, x1 - x0, y1 - y0) | |
} | |
} | |
return null | |
}; | |
goog.math.Rect.intersects = function(a, b) { | |
return a.left <= b.left + b.width && b.left <= a.left + a.width && a.top <= b.top + b.height && b.top <= a.top + a.height | |
}; | |
goog.math.Rect.prototype.intersects = function(rect) { | |
return goog.math.Rect.intersects(this, rect) | |
}; | |
goog.math.Rect.difference = function(a, b) { | |
var intersection = goog.math.Rect.intersection(a, b); | |
if(!intersection || !intersection.height || !intersection.width) { | |
return[a.clone()] | |
} | |
var result = []; | |
var top = a.top; | |
var height = a.height; | |
var ar = a.left + a.width; | |
var ab = a.top + a.height; | |
var br = b.left + b.width; | |
var bb = b.top + b.height; | |
if(b.top > a.top) { | |
result.push(new goog.math.Rect(a.left, a.top, a.width, b.top - a.top)); | |
top = b.top; | |
height -= b.top - a.top | |
} | |
if(bb < ab) { | |
result.push(new goog.math.Rect(a.left, bb, a.width, ab - bb)); | |
height = bb - top | |
} | |
if(b.left > a.left) { | |
result.push(new goog.math.Rect(a.left, top, b.left - a.left, height)) | |
} | |
if(br < ar) { | |
result.push(new goog.math.Rect(br, top, ar - br, height)) | |
} | |
return result | |
}; | |
goog.math.Rect.prototype.difference = function(rect) { | |
return goog.math.Rect.difference(this, rect) | |
}; | |
goog.math.Rect.prototype.boundingRect = function(rect) { | |
var right = Math.max(this.left + this.width, rect.left + rect.width); | |
var bottom = Math.max(this.top + this.height, rect.top + rect.height); | |
this.left = Math.min(this.left, rect.left); | |
this.top = Math.min(this.top, rect.top); | |
this.width = right - this.left; | |
this.height = bottom - this.top | |
}; | |
goog.math.Rect.boundingRect = function(a, b) { | |
if(!a || !b) { | |
return null | |
} | |
var clone = a.clone(); | |
clone.boundingRect(b); | |
return clone | |
}; | |
goog.math.Rect.prototype.contains = function(another) { | |
if(another instanceof goog.math.Rect) { | |
return this.left <= another.left && this.left + this.width >= another.left + another.width && this.top <= another.top && this.top + this.height >= another.top + another.height | |
}else { | |
return another.x >= this.left && another.x <= this.left + this.width && another.y >= this.top && another.y <= this.top + this.height | |
} | |
}; | |
goog.math.Rect.prototype.getSize = function() { | |
return new goog.math.Size(this.width, this.height) | |
}; | |
goog.provide("goog.style"); | |
goog.require("goog.array"); | |
goog.require("goog.dom"); | |
goog.require("goog.math.Box"); | |
goog.require("goog.math.Coordinate"); | |
goog.require("goog.math.Rect"); | |
goog.require("goog.math.Size"); | |
goog.require("goog.object"); | |
goog.require("goog.string"); | |
goog.require("goog.userAgent"); | |
goog.style.setStyle = function(element, style, opt_value) { | |
if(goog.isString(style)) { | |
goog.style.setStyle_(element, opt_value, style) | |
}else { | |
goog.object.forEach(style, goog.partial(goog.style.setStyle_, element)) | |
} | |
}; | |
goog.style.setStyle_ = function(element, value, style) { | |
element.style[goog.string.toCamelCase(style)] = value | |
}; | |
goog.style.getStyle = function(element, property) { | |
return element.style[goog.string.toCamelCase(property)] || "" | |
}; | |
goog.style.getComputedStyle = function(element, property) { | |
var doc = goog.dom.getOwnerDocument(element); | |
if(doc.defaultView && doc.defaultView.getComputedStyle) { | |
var styles = doc.defaultView.getComputedStyle(element, null); | |
if(styles) { | |
return styles[property] || styles.getPropertyValue(property) | |
} | |
} | |
return"" | |
}; | |
goog.style.getCascadedStyle = function(element, style) { | |
return element.currentStyle ? element.currentStyle[style] : null | |
}; | |
goog.style.getStyle_ = function(element, style) { | |
return goog.style.getComputedStyle(element, style) || goog.style.getCascadedStyle(element, style) || element.style[style] | |
}; | |
goog.style.getComputedPosition = function(element) { | |
return goog.style.getStyle_(element, "position") | |
}; | |
goog.style.getBackgroundColor = function(element) { | |
return goog.style.getStyle_(element, "backgroundColor") | |
}; | |
goog.style.getComputedOverflowX = function(element) { | |
return goog.style.getStyle_(element, "overflowX") | |
}; | |
goog.style.getComputedOverflowY = function(element) { | |
return goog.style.getStyle_(element, "overflowY") | |
}; | |
goog.style.getComputedZIndex = function(element) { | |
return goog.style.getStyle_(element, "zIndex") | |
}; | |
goog.style.getComputedTextAlign = function(element) { | |
return goog.style.getStyle_(element, "textAlign") | |
}; | |
goog.style.getComputedCursor = function(element) { | |
return goog.style.getStyle_(element, "cursor") | |
}; | |
goog.style.setPosition = function(el, arg1, opt_arg2) { | |
var x, y; | |
var buggyGeckoSubPixelPos = goog.userAgent.GECKO && (goog.userAgent.MAC || goog.userAgent.X11) && goog.userAgent.isVersion("1.9"); | |
if(arg1 instanceof goog.math.Coordinate) { | |
x = arg1.x; | |
y = arg1.y | |
}else { | |
x = arg1; | |
y = opt_arg2 | |
} | |
el.style.left = goog.style.getPixelStyleValue_(x, buggyGeckoSubPixelPos); | |
el.style.top = goog.style.getPixelStyleValue_(y, buggyGeckoSubPixelPos) | |
}; | |
goog.style.getPosition = function(element) { | |
return new goog.math.Coordinate(element.offsetLeft, element.offsetTop) | |
}; | |
goog.style.getClientViewportElement = function(opt_node) { | |
var doc; | |
if(opt_node) { | |
if(opt_node.nodeType == goog.dom.NodeType.DOCUMENT) { | |
doc = opt_node | |
}else { | |
doc = goog.dom.getOwnerDocument(opt_node) | |
} | |
}else { | |
doc = goog.dom.getDocument() | |
} | |
if(goog.userAgent.IE && !goog.userAgent.isVersion(9) && !goog.dom.getDomHelper(doc).isCss1CompatMode()) { | |
return doc.body | |
} | |
return doc.documentElement | |
}; | |
goog.style.getBoundingClientRect_ = function(el) { | |
var rect = el.getBoundingClientRect(); | |
if(goog.userAgent.IE) { | |
var doc = el.ownerDocument; | |
rect.left -= doc.documentElement.clientLeft + doc.body.clientLeft; | |
rect.top -= doc.documentElement.clientTop + doc.body.clientTop | |
} | |
return rect | |
}; | |
goog.style.getOffsetParent = function(element) { | |
if(goog.userAgent.IE) { | |
return element.offsetParent | |
} | |
var doc = goog.dom.getOwnerDocument(element); | |
var positionStyle = goog.style.getStyle_(element, "position"); | |
var skipStatic = positionStyle == "fixed" || positionStyle == "absolute"; | |
for(var parent = element.parentNode;parent && parent != doc;parent = parent.parentNode) { | |
positionStyle = goog.style.getStyle_(parent, "position"); | |
skipStatic = skipStatic && positionStyle == "static" && parent != doc.documentElement && parent != doc.body; | |
if(!skipStatic && (parent.scrollWidth > parent.clientWidth || parent.scrollHeight > parent.clientHeight || positionStyle == "fixed" || positionStyle == "absolute")) { | |
return parent | |
} | |
} | |
return null | |
}; | |
goog.style.getVisibleRectForElement = function(element) { | |
var visibleRect = new goog.math.Box(0, Infinity, Infinity, 0); | |
var dom = goog.dom.getDomHelper(element); | |
var body = dom.getDocument().body; | |
var scrollEl = dom.getDocumentScrollElement(); | |
var inContainer; | |
for(var el = element;el = goog.style.getOffsetParent(el);) { | |
if((!goog.userAgent.IE || el.clientWidth != 0) && (!goog.userAgent.WEBKIT || el.clientHeight != 0 || el != body) && (el.scrollWidth != el.clientWidth || el.scrollHeight != el.clientHeight) && goog.style.getStyle_(el, "overflow") != "visible") { | |
var pos = goog.style.getPageOffset(el); | |
var client = goog.style.getClientLeftTop(el); | |
pos.x += client.x; | |
pos.y += client.y; | |
visibleRect.top = Math.max(visibleRect.top, pos.y); | |
visibleRect.right = Math.min(visibleRect.right, pos.x + el.clientWidth); | |
visibleRect.bottom = Math.min(visibleRect.bottom, pos.y + el.clientHeight); | |
visibleRect.left = Math.max(visibleRect.left, pos.x); | |
inContainer = inContainer || el != scrollEl | |
} | |
} | |
var scrollX = scrollEl.scrollLeft, scrollY = scrollEl.scrollTop; | |
if(goog.userAgent.WEBKIT) { | |
visibleRect.left += scrollX; | |
visibleRect.top += scrollY | |
}else { | |
visibleRect.left = Math.max(visibleRect.left, scrollX); | |
visibleRect.top = Math.max(visibleRect.top, scrollY) | |
} | |
if(!inContainer || goog.userAgent.WEBKIT) { | |
visibleRect.right += scrollX; | |
visibleRect.bottom += scrollY | |
} | |
var winSize = dom.getViewportSize(); | |
visibleRect.right = Math.min(visibleRect.right, scrollX + winSize.width); | |
visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + winSize.height); | |
return visibleRect.top >= 0 && visibleRect.left >= 0 && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null | |
}; | |
goog.style.scrollIntoContainerView = function(element, container, opt_center) { | |
var elementPos = goog.style.getPageOffset(element); | |
var containerPos = goog.style.getPageOffset(container); | |
var containerBorder = goog.style.getBorderBox(container); | |
var relX = elementPos.x - containerPos.x - containerBorder.left; | |
var relY = elementPos.y - containerPos.y - containerBorder.top; | |
var spaceX = container.clientWidth - element.offsetWidth; | |
var spaceY = container.clientHeight - element.offsetHeight; | |
if(opt_center) { | |
container.scrollLeft += relX - spaceX / 2; | |
container.scrollTop += relY - spaceY / 2 | |
}else { | |
container.scrollLeft += Math.min(relX, Math.max(relX - spaceX, 0)); | |
container.scrollTop += Math.min(relY, Math.max(relY - spaceY, 0)) | |
} | |
}; | |
goog.style.getClientLeftTop = function(el) { | |
if(goog.userAgent.GECKO && !goog.userAgent.isVersion("1.9")) { | |
var left = parseFloat(goog.style.getComputedStyle(el, "borderLeftWidth")); | |
if(goog.style.isRightToLeft(el)) { | |
var scrollbarWidth = el.offsetWidth - el.clientWidth - left - parseFloat(goog.style.getComputedStyle(el, "borderRightWidth")); | |
left += scrollbarWidth | |
} | |
return new goog.math.Coordinate(left, parseFloat(goog.style.getComputedStyle(el, "borderTopWidth"))) | |
} | |
return new goog.math.Coordinate(el.clientLeft, el.clientTop) | |
}; | |
goog.style.getPageOffset = function(el) { | |
var box, doc = goog.dom.getOwnerDocument(el); | |
var positionStyle = goog.style.getStyle_(el, "position"); | |
var BUGGY_GECKO_BOX_OBJECT = goog.userAgent.GECKO && doc.getBoxObjectFor && !el.getBoundingClientRect && positionStyle == "absolute" && (box = doc.getBoxObjectFor(el)) && (box.screenX < 0 || box.screenY < 0); | |
var pos = new goog.math.Coordinate(0, 0); | |
var viewportElement = goog.style.getClientViewportElement(doc); | |
if(el == viewportElement) { | |
return pos | |
} | |
if(el.getBoundingClientRect) { | |
box = goog.style.getBoundingClientRect_(el); | |
var scrollCoord = goog.dom.getDomHelper(doc).getDocumentScroll(); | |
pos.x = box.left + scrollCoord.x; | |
pos.y = box.top + scrollCoord.y | |
}else { | |
if(doc.getBoxObjectFor && !BUGGY_GECKO_BOX_OBJECT) { | |
box = doc.getBoxObjectFor(el); | |
var vpBox = doc.getBoxObjectFor(viewportElement); | |
pos.x = box.screenX - vpBox.screenX; | |
pos.y = box.screenY - vpBox.screenY | |
}else { | |
var parent = el; | |
do { | |
pos.x += parent.offsetLeft; | |
pos.y += parent.offsetTop; | |
if(parent != el) { | |
pos.x += parent.clientLeft || 0; | |
pos.y += parent.clientTop || 0 | |
} | |
if(goog.userAgent.WEBKIT && goog.style.getComputedPosition(parent) == "fixed") { | |
pos.x += doc.body.scrollLeft; | |
pos.y += doc.body.scrollTop; | |
break | |
} | |
parent = parent.offsetParent | |
}while(parent && parent != el); | |
if(goog.userAgent.OPERA || goog.userAgent.WEBKIT && positionStyle == "absolute") { | |
pos.y -= doc.body.offsetTop | |
} | |
for(parent = el;(parent = goog.style.getOffsetParent(parent)) && parent != doc.body && parent != viewportElement;) { | |
pos.x -= parent.scrollLeft; | |
if(!goog.userAgent.OPERA || parent.tagName != "TR") { | |
pos.y -= parent.scrollTop | |
} | |
} | |
} | |
} | |
return pos | |
}; | |
goog.style.getPageOffsetLeft = function(el) { | |
return goog.style.getPageOffset(el).x | |
}; | |
goog.style.getPageOffsetTop = function(el) { | |
return goog.style.getPageOffset(el).y | |
}; | |
goog.style.getFramedPageOffset = function(el, relativeWin) { | |
var position = new goog.math.Coordinate(0, 0); | |
var currentWin = goog.dom.getWindow(goog.dom.getOwnerDocument(el)); | |
var currentEl = el; | |
do { | |
var offset = currentWin == relativeWin ? goog.style.getPageOffset(currentEl) : goog.style.getClientPosition(currentEl); | |
position.x += offset.x; | |
position.y += offset.y | |
}while(currentWin && currentWin != relativeWin && (currentEl = currentWin.frameElement) && (currentWin = currentWin.parent)); | |
return position | |
}; | |
goog.style.translateRectForAnotherFrame = function(rect, origBase, newBase) { | |
if(origBase.getDocument() != newBase.getDocument()) { | |
var body = origBase.getDocument().body; | |
var pos = goog.style.getFramedPageOffset(body, newBase.getWindow()); | |
pos = goog.math.Coordinate.difference(pos, goog.style.getPageOffset(body)); | |
if(goog.userAgent.IE && !origBase.isCss1CompatMode()) { | |
pos = goog.math.Coordinate.difference(pos, origBase.getDocumentScroll()) | |
} | |
rect.left += pos.x; | |
rect.top += pos.y | |
} | |
}; | |
goog.style.getRelativePosition = function(a, b) { | |
var ap = goog.style.getClientPosition(a); | |
var bp = goog.style.getClientPosition(b); | |
return new goog.math.Coordinate(ap.x - bp.x, ap.y - bp.y) | |
}; | |
goog.style.getClientPosition = function(el) { | |
var pos = new goog.math.Coordinate; | |
if(el.nodeType == goog.dom.NodeType.ELEMENT) { | |
if(el.getBoundingClientRect) { | |
var box = goog.style.getBoundingClientRect_(el); | |
pos.x = box.left; | |
pos.y = box.top | |
}else { | |
var scrollCoord = goog.dom.getDomHelper(el).getDocumentScroll(); | |
var pageCoord = goog.style.getPageOffset(el); | |
pos.x = pageCoord.x - scrollCoord.x; | |
pos.y = pageCoord.y - scrollCoord.y | |
} | |
}else { | |
var isAbstractedEvent = goog.isFunction(el.getBrowserEvent); | |
var targetEvent = el; | |
if(el.targetTouches) { | |
targetEvent = el.targetTouches[0] | |
}else { | |
if(isAbstractedEvent && el.getBrowserEvent().targetTouches) { | |
targetEvent = el.getBrowserEvent().targetTouches[0] | |
} | |
} | |
pos.x = targetEvent.clientX; | |
pos.y = targetEvent.clientY | |
} | |
return pos | |
}; | |
goog.style.setPageOffset = function(el, x, opt_y) { | |
var cur = goog.style.getPageOffset(el); | |
if(x instanceof goog.math.Coordinate) { | |
opt_y = x.y; | |
x = x.x | |
} | |
var dx = x - cur.x; | |
var dy = opt_y - cur.y; | |
goog.style.setPosition(el, el.offsetLeft + dx, el.offsetTop + dy) | |
}; | |
goog.style.setSize = function(element, w, opt_h) { | |
var h; | |
if(w instanceof goog.math.Size) { | |
h = w.height; | |
w = w.width | |
}else { | |
if(opt_h == undefined) { | |
throw Error("missing height argument"); | |
} | |
h = opt_h | |
} | |
goog.style.setWidth(element, w); | |
goog.style.setHeight(element, h) | |
}; | |
goog.style.getPixelStyleValue_ = function(value, round) { | |
if(typeof value == "number") { | |
value = (round ? Math.round(value) : value) + "px" | |
} | |
return value | |
}; | |
goog.style.setHeight = function(element, height) { | |
element.style.height = goog.style.getPixelStyleValue_(height, true) | |
}; | |
goog.style.setWidth = function(element, width) { | |
element.style.width = goog.style.getPixelStyleValue_(width, true) | |
}; | |
goog.style.getSize = function(element) { | |
if(goog.style.getStyle_(element, "display") != "none") { | |
return new goog.math.Size(element.offsetWidth, element.offsetHeight) | |
} | |
var style = element.style; | |
var originalDisplay = style.display; | |
var originalVisibility = style.visibility; | |
var originalPosition = style.position; | |
style.visibility = "hidden"; | |
style.position = "absolute"; | |
style.display = "inline"; | |
var originalWidth = element.offsetWidth; | |
var originalHeight = element.offsetHeight; | |
style.display = originalDisplay; | |
style.position = originalPosition; | |
style.visibility = originalVisibility; | |
return new goog.math.Size(originalWidth, originalHeight) | |
}; | |
goog.style.getBounds = function(element) { | |
var o = goog.style.getPageOffset(element); | |
var s = goog.style.getSize(element); | |
return new goog.math.Rect(o.x, o.y, s.width, s.height) | |
}; | |
goog.style.toCamelCase = function(selector) { | |
return goog.string.toCamelCase(String(selector)) | |
}; | |
goog.style.toSelectorCase = function(selector) { | |
return goog.string.toSelectorCase(selector) | |
}; | |
goog.style.getOpacity = function(el) { | |
var style = el.style; | |
var result = ""; | |
if("opacity" in style) { | |
result = style.opacity | |
}else { | |
if("MozOpacity" in style) { | |
result = style.MozOpacity | |
}else { | |
if("filter" in style) { | |
var match = style.filter.match(/alpha\(opacity=([\d.]+)\)/); | |
if(match) { | |
result = String(match[1] / 100) | |
} | |
} | |
} | |
} | |
return result == "" ? result : Number(result) | |
}; | |
goog.style.setOpacity = function(el, alpha) { | |
var style = el.style; | |
if("opacity" in style) { | |
style.opacity = alpha | |
}else { | |
if("MozOpacity" in style) { | |
style.MozOpacity = alpha | |
}else { | |
if("filter" in style) { | |
if(alpha === "") { | |
style.filter = "" | |
}else { | |
style.filter = "alpha(opacity=" + alpha * 100 + ")" | |
} | |
} | |
} | |
} | |
}; | |
goog.style.setTransparentBackgroundImage = function(el, src) { | |
var style = el.style; | |
if(goog.userAgent.IE && !goog.userAgent.isVersion("8")) { | |
style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(" + 'src="' + src + '", sizingMethod="crop")' | |
}else { | |
style.backgroundImage = "url(" + src + ")"; | |
style.backgroundPosition = "top left"; | |
style.backgroundRepeat = "no-repeat" | |
} | |
}; | |
goog.style.clearTransparentBackgroundImage = function(el) { | |
var style = el.style; | |
if("filter" in style) { | |
style.filter = "" | |
}else { | |
style.backgroundImage = "none" | |
} | |
}; | |
goog.style.showElement = function(el, display) { | |
el.style.display = display ? "" : "none" | |
}; | |
goog.style.isElementShown = function(el) { | |
return el.style.display != "none" | |
}; | |
goog.style.installStyles = function(stylesString, opt_node) { | |
var dh = goog.dom.getDomHelper(opt_node); | |
var styleSheet = null; | |
if(goog.userAgent.IE) { | |
styleSheet = dh.getDocument().createStyleSheet(); | |
goog.style.setStyles(styleSheet, stylesString) | |
}else { | |
var head = dh.getElementsByTagNameAndClass("head")[0]; | |
if(!head) { | |
var body = dh.getElementsByTagNameAndClass("body")[0]; | |
head = dh.createDom("head"); | |
body.parentNode.insertBefore(head, body) | |
} | |
styleSheet = dh.createDom("style"); | |
goog.style.setStyles(styleSheet, stylesString); | |
dh.appendChild(head, styleSheet) | |
} | |
return styleSheet | |
}; | |
goog.style.uninstallStyles = function(styleSheet) { | |
var node = styleSheet.ownerNode || styleSheet.owningElement || styleSheet; | |
goog.dom.removeNode(node) | |
}; | |
goog.style.setStyles = function(element, stylesString) { | |
if(goog.userAgent.IE) { | |
element.cssText = stylesString | |
}else { | |
var propToSet = goog.userAgent.WEBKIT ? "innerText" : "innerHTML"; | |
element[propToSet] = stylesString | |
} | |
}; | |
goog.style.setPreWrap = function(el) { | |
var style = el.style; | |
if(goog.userAgent.IE && !goog.userAgent.isVersion("8")) { | |
style.whiteSpace = "pre"; | |
style.wordWrap = "break-word" | |
}else { | |
if(goog.userAgent.GECKO) { | |
style.whiteSpace = "-moz-pre-wrap" | |
}else { | |
style.whiteSpace = "pre-wrap" | |
} | |
} | |
}; | |
goog.style.setInlineBlock = function(el) { | |
var style = el.style; | |
style.position = "relative"; | |
if(goog.userAgent.IE && !goog.userAgent.isVersion("8")) { | |
style.zoom = "1"; | |
style.display = "inline" | |
}else { | |
if(goog.userAgent.GECKO) { | |
style.display = goog.userAgent.isVersion("1.9a") ? "inline-block" : "-moz-inline-box" | |
}else { | |
style.display = "inline-block" | |
} | |
} | |
}; | |
goog.style.isRightToLeft = function(el) { | |
return"rtl" == goog.style.getStyle_(el, "direction") | |
}; | |
goog.style.unselectableStyle_ = goog.userAgent.GECKO ? "MozUserSelect" : goog.userAgent.WEBKIT ? "WebkitUserSelect" : null; | |
goog.style.isUnselectable = function(el) { | |
if(goog.style.unselectableStyle_) { | |
return el.style[goog.style.unselectableStyle_].toLowerCase() == "none" | |
}else { | |
if(goog.userAgent.IE || goog.userAgent.OPERA) { | |
return el.getAttribute("unselectable") == "on" | |
} | |
} | |
return false | |
}; | |
goog.style.setUnselectable = function(el, unselectable, opt_noRecurse) { | |
var descendants = !opt_noRecurse ? el.getElementsByTagName("*") : null; | |
var name = goog.style.unselectableStyle_; | |
if(name) { | |
var value = unselectable ? "none" : ""; | |
el.style[name] = value; | |
if(descendants) { | |
for(var i = 0, descendant;descendant = descendants[i];i++) { | |
descendant.style[name] = value | |
} | |
} | |
}else { | |
if(goog.userAgent.IE || goog.userAgent.OPERA) { | |
var value = unselectable ? "on" : ""; | |
el.setAttribute("unselectable", value); | |
if(descendants) { | |
for(var i = 0, descendant;descendant = descendants[i];i++) { | |
descendant.setAttribute("unselectable", value) | |
} | |
} | |
} | |
} | |
}; | |
goog.style.getBorderBoxSize = function(element) { | |
return new goog.math.Size(element.offsetWidth, element.offsetHeight) | |
}; | |
goog.style.setBorderBoxSize = function(element, size) { | |
var doc = goog.dom.getOwnerDocument(element); | |
var isCss1CompatMode = goog.dom.getDomHelper(doc).isCss1CompatMode(); | |
if(goog.userAgent.IE && (!isCss1CompatMode || !goog.userAgent.isVersion("8"))) { | |
var style = element.style; | |
if(isCss1CompatMode) { | |
var paddingBox = goog.style.getPaddingBox(element); | |
var borderBox = goog.style.getBorderBox(element); | |
style.pixelWidth = size.width - borderBox.left - paddingBox.left - paddingBox.right - borderBox.right; | |
style.pixelHeight = size.height - borderBox.top - paddingBox.top - paddingBox.bottom - borderBox.bottom | |
}else { | |
style.pixelWidth = size.width; | |
style.pixelHeight = size.height | |
} | |
}else { | |
goog.style.setBoxSizingSize_(element, size, "border-box") | |
} | |
}; | |
goog.style.getContentBoxSize = function(element) { | |
var doc = goog.dom.getOwnerDocument(element); | |
var ieCurrentStyle = goog.userAgent.IE && element.currentStyle; | |
if(ieCurrentStyle && goog.dom.getDomHelper(doc).isCss1CompatMode() && ieCurrentStyle.width != "auto" && ieCurrentStyle.height != "auto" && !ieCurrentStyle.boxSizing) { | |
var width = goog.style.getIePixelValue_(element, ieCurrentStyle.width, "width", "pixelWidth"); | |
var height = goog.style.getIePixelValue_(element, ieCurrentStyle.height, "height", "pixelHeight"); | |
return new goog.math.Size(width, height) | |
}else { | |
var borderBoxSize = goog.style.getBorderBoxSize(element); | |
var paddingBox = goog.style.getPaddingBox(element); | |
var borderBox = goog.style.getBorderBox(element); | |
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) | |
} | |
}; | |
goog.style.setContentBoxSize = function(element, size) { | |
var doc = goog.dom.getOwnerDocument(element); | |
var isCss1CompatMode = goog.dom.getDomHelper(doc).isCss1CompatMode(); | |
if(goog.userAgent.IE && (!isCss1CompatMode || !goog.userAgent.isVersion("8"))) { | |
var style = element.style; | |
if(isCss1CompatMode) { | |
style.pixelWidth = size.width; | |
style.pixelHeight = size.height | |
}else { | |
var paddingBox = goog.style.getPaddingBox(element); | |
var borderBox = goog.style.getBorderBox(element); | |
style.pixelWidth = size.width + borderBox.left + paddingBox.left + paddingBox.right + borderBox.right; | |
style.pixelHeight = size.height + borderBox.top + paddingBox.top + paddingBox.bottom + borderBox.bottom | |
} | |
}else { | |
goog.style.setBoxSizingSize_(element, size, "content-box") | |
} | |
}; | |
goog.style.setBoxSizingSize_ = function(element, size, boxSizing) { | |
var style = element.style; | |
if(goog.userAgent.GECKO) { | |
style.MozBoxSizing = boxSizing | |
}else { | |
if(goog.userAgent.WEBKIT) { | |
style.WebkitBoxSizing = boxSizing | |
}else { | |
style.boxSizing = boxSizing | |
} | |
} | |
style.width = size.width + "px"; | |
style.height = size.height + "px" | |
}; | |
goog.style.getIePixelValue_ = function(element, value, name, pixelName) { | |
if(/^\d+px?$/.test(value)) { | |
return parseInt(value, 10) | |
}else { | |
var oldStyleValue = element.style[name]; | |
var oldRuntimeValue = element.runtimeStyle[name]; | |
element.runtimeStyle[name] = element.currentStyle[name]; | |
element.style[name] = value; | |
var pixelValue = element.style[pixelName]; | |
element.style[name] = oldStyleValue; | |
element.runtimeStyle[name] = oldRuntimeValue; | |
return pixelValue | |
} | |
}; | |
goog.style.getIePixelDistance_ = function(element, propName) { | |
return goog.style.getIePixelValue_(element, goog.style.getCascadedStyle(element, propName), "left", "pixelLeft") | |
}; | |
goog.style.getBox_ = function(element, stylePrefix) { | |
if(goog.userAgent.IE) { | |
var left = goog.style.getIePixelDistance_(element, stylePrefix + "Left"); | |
var right = goog.style.getIePixelDistance_(element, stylePrefix + "Right"); | |
var top = goog.style.getIePixelDistance_(element, stylePrefix + "Top"); | |
var bottom = goog.style.getIePixelDistance_(element, stylePrefix + "Bottom"); | |
return new goog.math.Box(top, right, bottom, left) | |
}else { | |
var left = goog.style.getComputedStyle(element, stylePrefix + "Left"); | |
var right = goog.style.getComputedStyle(element, stylePrefix + "Right"); | |
var top = goog.style.getComputedStyle(element, stylePrefix + "Top"); | |
var bottom = goog.style.getComputedStyle(element, stylePrefix + "Bottom"); | |
return new goog.math.Box(parseFloat(top), parseFloat(right), parseFloat(bottom), parseFloat(left)) | |
} | |
}; | |
goog.style.getPaddingBox = function(element) { | |
return goog.style.getBox_(element, "padding") | |
}; | |
goog.style.getMarginBox = function(element) { | |
return goog.style.getBox_(element, "margin") | |
}; | |
goog.style.ieBorderWidthKeywords_ = {"thin":2, "medium":4, "thick":6}; | |
goog.style.getIePixelBorder_ = function(element, prop) { | |
if(goog.style.getCascadedStyle(element, prop + "Style") == "none") { | |
return 0 | |
} | |
var width = goog.style.getCascadedStyle(element, prop + "Width"); | |
if(width in goog.style.ieBorderWidthKeywords_) { | |
return goog.style.ieBorderWidthKeywords_[width] | |
} | |
return goog.style.getIePixelValue_(element, width, "left", "pixelLeft") | |
}; | |
goog.style.getBorderBox = function(element) { | |
if(goog.userAgent.IE) { | |
var left = goog.style.getIePixelBorder_(element, "borderLeft"); | |
var right = goog.style.getIePixelBorder_(element, "borderRight"); | |
var top = goog.style.getIePixelBorder_(element, "borderTop"); | |
var bottom = goog.style.getIePixelBorder_(element, "borderBottom"); | |
return new goog.math.Box(top, right, bottom, left) | |
}else { | |
var left = goog.style.getComputedStyle(element, "borderLeftWidth"); | |
var right = goog.style.getComputedStyle(element, "borderRightWidth"); | |
var top = goog.style.getComputedStyle(element, "borderTopWidth"); | |
var bottom = goog.style.getComputedStyle(element, "borderBottomWidth"); | |
return new goog.math.Box(parseFloat(top), parseFloat(right), parseFloat(bottom), parseFloat(left)) | |
} | |
}; | |
goog.style.getFontFamily = function(el) { | |
var doc = goog.dom.getOwnerDocument(el); | |
var font = ""; | |
if(doc.body.createTextRange) { | |
var range = doc.body.createTextRange(); | |
range.moveToElementText(el); | |
try { | |
font = range.queryCommandValue("FontName") | |
}catch(e) { | |
font = "" | |
} | |
} | |
if(!font) { | |
font = goog.style.getStyle_(el, "fontFamily") | |
} | |
var fontsArray = font.split(","); | |
if(fontsArray.length > 1) { | |
font = fontsArray[0] | |
} | |
return goog.string.stripQuotes(font, "\"'") | |
}; | |
goog.style.lengthUnitRegex_ = /[^\d]+$/; | |
goog.style.getLengthUnits = function(value) { | |
var units = value.match(goog.style.lengthUnitRegex_); | |
return units && units[0] || null | |
}; | |
goog.style.ABSOLUTE_CSS_LENGTH_UNITS_ = {"cm":1, "in":1, "mm":1, "pc":1, "pt":1}; | |
goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_ = {"em":1, "ex":1}; | |
goog.style.getFontSize = function(el) { | |
var fontSize = goog.style.getStyle_(el, "fontSize"); | |
var sizeUnits = goog.style.getLengthUnits(fontSize); | |
if(fontSize && "px" == sizeUnits) { | |
return parseInt(fontSize, 10) | |
} | |
if(goog.userAgent.IE) { | |
if(sizeUnits in goog.style.ABSOLUTE_CSS_LENGTH_UNITS_) { | |
return goog.style.getIePixelValue_(el, fontSize, "left", "pixelLeft") | |
}else { | |
if(el.parentNode && el.parentNode.nodeType == goog.dom.NodeType.ELEMENT && sizeUnits in goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_) { | |
var parentElement = el.parentNode; | |
var parentSize = goog.style.getStyle_(parentElement, "fontSize"); | |
return goog.style.getIePixelValue_(parentElement, fontSize == parentSize ? "1em" : fontSize, "left", "pixelLeft") | |
} | |
} | |
} | |
var sizeElement = goog.dom.createDom("span", {"style":"visibility:hidden;position:absolute;" + "line-height:0;padding:0;margin:0;border:0;height:1em;"}); | |
goog.dom.appendChild(el, sizeElement); | |
fontSize = sizeElement.offsetHeight; | |
goog.dom.removeNode(sizeElement); | |
return fontSize | |
}; | |
goog.style.parseStyleAttribute = function(value) { | |
var result = {}; | |
goog.array.forEach(value.split(/\s*;\s*/), function(pair) { | |
var keyValue = pair.split(/\s*:\s*/); | |
if(keyValue.length == 2) { | |
result[goog.string.toCamelCase(keyValue[0].toLowerCase())] = keyValue[1] | |
} | |
}); | |
return result | |
}; | |
goog.style.toStyleAttribute = function(obj) { | |
var buffer = []; | |
goog.object.forEach(obj, function(value, key) { | |
buffer.push(goog.string.toSelectorCase(key), ":", value, ";") | |
}); | |
return buffer.join("") | |
}; | |
goog.style.setFloat = function(el, value) { | |
el.style[goog.userAgent.IE ? "styleFloat" : "cssFloat"] = value | |
}; | |
goog.style.getFloat = function(el) { | |
return el.style[goog.userAgent.IE ? "styleFloat" : "cssFloat"] || "" | |
}; | |
goog.style.getScrollbarWidth = function() { | |
var mockElement = goog.dom.createElement("div"); | |
mockElement.style.cssText = "visibility:hidden;overflow:scroll;" + "position:absolute;top:0;width:100px;height:100px"; | |
goog.dom.appendChild(goog.dom.getDocument().body, mockElement); | |
var width = mockElement.offsetWidth - mockElement.clientWidth; | |
goog.dom.removeNode(mockElement); | |
return width | |
}; | |
goog.provide("goog.fx.dom"); | |
goog.provide("goog.fx.dom.BgColorTransform"); | |
goog.provide("goog.fx.dom.ColorTransform"); | |
goog.provide("goog.fx.dom.Fade"); | |
goog.provide("goog.fx.dom.FadeIn"); | |
goog.provide("goog.fx.dom.FadeInAndShow"); | |
goog.provide("goog.fx.dom.FadeOut"); | |
goog.provide("goog.fx.dom.FadeOutAndHide"); | |
goog.provide("goog.fx.dom.PredefinedEffect"); | |
goog.provide("goog.fx.dom.Resize"); | |
goog.provide("goog.fx.dom.ResizeHeight"); | |
goog.provide("goog.fx.dom.ResizeWidth"); | |
goog.provide("goog.fx.dom.Scroll"); | |
goog.provide("goog.fx.dom.Slide"); | |
goog.provide("goog.fx.dom.SlideFrom"); | |
goog.provide("goog.fx.dom.Swipe"); | |
goog.require("goog.color"); | |
goog.require("goog.events"); | |
goog.require("goog.fx.Animation"); | |
goog.require("goog.fx.Animation.EventType"); | |
goog.require("goog.style"); | |
goog.fx.dom.PredefinedEffect = function(element, start, end, time, opt_acc) { | |
goog.fx.Animation.call(this, start, end, time, opt_acc); | |
this.element = element | |
}; | |
goog.inherits(goog.fx.dom.PredefinedEffect, goog.fx.Animation); | |
goog.fx.dom.PredefinedEffect.prototype.updateStyle = goog.nullFunction; | |
goog.fx.dom.PredefinedEffect.prototype.onAnimate = function() { | |
this.updateStyle(); | |
goog.fx.dom.PredefinedEffect.superClass_.onAnimate.call(this) | |
}; | |
goog.fx.dom.PredefinedEffect.prototype.onEnd = function() { | |
this.updateStyle(); | |
goog.fx.dom.PredefinedEffect.superClass_.onEnd.call(this) | |
}; | |
goog.fx.dom.PredefinedEffect.prototype.onBegin = function() { | |
this.updateStyle(); | |
goog.fx.dom.PredefinedEffect.superClass_.onBegin.call(this) | |
}; | |
goog.fx.dom.Slide = function(element, start, end, time, opt_acc) { | |
if(start.length != 2 || end.length != 2) { | |
throw Error("Start and end points must be 2D"); | |
} | |
goog.fx.dom.PredefinedEffect.apply(this, arguments) | |
}; | |
goog.inherits(goog.fx.dom.Slide, goog.fx.dom.PredefinedEffect); | |
goog.fx.dom.Slide.prototype.updateStyle = function() { | |
this.element.style.left = Math.round(this.coords[0]) + "px"; | |
this.element.style.top = Math.round(this.coords[1]) + "px" | |
}; | |
goog.fx.dom.SlideFrom = function(element, end, time, opt_acc) { | |
var start = [element.offsetLeft, element.offsetTop]; | |
goog.fx.dom.Slide.call(this, element, start, end, time, opt_acc) | |
}; | |
goog.inherits(goog.fx.dom.SlideFrom, goog.fx.dom.Slide); | |
goog.fx.dom.SlideFrom.prototype.onBegin = function() { | |
this.startPoint = [this.element.offsetLeft, this.element.offsetTop]; | |
goog.fx.dom.SlideFrom.superClass_.onBegin.call(this) | |
}; | |
goog.fx.dom.Swipe = function(element, start, end, time, opt_acc) { | |
if(start.length != 2 || end.length != 2) { | |
throw Error("Start and end points must be 2D"); | |
} | |
goog.fx.dom.PredefinedEffect.apply(this, arguments); | |
this.maxWidth_ = Math.max(this.endPoint[0], this.startPoint[0]); | |
this.maxHeight_ = Math.max(this.endPoint[1], this.startPoint[1]) | |
}; | |
goog.inherits(goog.fx.dom.Swipe, goog.fx.dom.PredefinedEffect); | |
goog.fx.dom.Swipe.prototype.updateStyle = function() { | |
var x = this.coords[0]; | |
var y = this.coords[1]; | |
this.clip_(Math.round(x), Math.round(y), this.maxWidth_, this.maxHeight_); | |
this.element.style.width = Math.round(x) + "px"; | |
this.element.style.marginLeft = Math.round(x) - this.maxWidth_ + "px"; | |
this.element.style.marginTop = Math.round(y) - this.maxHeight_ + "px" | |
}; | |
goog.fx.dom.Swipe.prototype.clip_ = function(x, y, w, h) { | |
this.element.style.clip = "rect(" + (h - y) + "px " + w + "px " + h + "px " + (w - x) + "px)" | |
}; | |
goog.fx.dom.Scroll = function(element, start, end, time, opt_acc) { | |
if(start.length != 2 || end.length != 2) { | |
throw Error("Start and end points must be 2D"); | |
} | |
goog.fx.dom.PredefinedEffect.apply(this, arguments) | |
}; | |
goog.inherits(goog.fx.dom.Scroll, goog.fx.dom.PredefinedEffect); | |
goog.fx.dom.Scroll.prototype.updateStyle = function() { | |
this.element.scrollLeft = Math.round(this.coords[0]); | |
this.element.scrollTop = Math.round(this.coords[1]) | |
}; | |
goog.fx.dom.Resize = function(element, start, end, time, opt_acc) { | |
if(start.length != 2 || end.length != 2) { | |
throw Error("Start and end points must be 2D"); | |
} | |
goog.fx.dom.PredefinedEffect.apply(this, arguments) | |
}; | |
goog.inherits(goog.fx.dom.Resize, goog.fx.dom.PredefinedEffect); | |
goog.fx.dom.Resize.prototype.updateStyle = function() { | |
this.element.style.width = Math.round(this.coords[0]) + "px"; | |
this.element.style.height = Math.round(this.coords[1]) + "px" | |
}; | |
goog.fx.dom.ResizeWidth = function(element, start, end, time, opt_acc) { | |
goog.fx.dom.PredefinedEffect.call(this, element, [start], [end], time, opt_acc) | |
}; | |
goog.inherits(goog.fx.dom.ResizeWidth, goog.fx.dom.PredefinedEffect); | |
goog.fx.dom.ResizeWidth.prototype.updateStyle = function() { | |
this.element.style.width = Math.round(this.coords[0]) + "px" | |
}; | |
goog.fx.dom.ResizeHeight = function(element, start, end, time, opt_acc) { | |
goog.fx.dom.PredefinedEffect.call(this, element, [start], [end], time, opt_acc) | |
}; | |
goog.inherits(goog.fx.dom.ResizeHeight, goog.fx.dom.PredefinedEffect); | |
goog.fx.dom.ResizeHeight.prototype.updateStyle = function() { | |
this.element.style.height = Math.round(this.coords[0]) + "px" | |
}; | |
goog.fx.dom.Fade = function(element, start, end, time, opt_acc) { | |
if(goog.isNumber(start)) { | |
start = [start] | |
} | |
if(goog.isNumber(end)) { | |
end = [end] | |
} | |
goog.fx.dom.PredefinedEffect.call(this, element, start, end, time, opt_acc); | |
if(start.length != 1 || end.length != 1) { | |
throw Error("Start and end points must be 1D"); | |
} | |
}; | |
goog.inherits(goog.fx.dom.Fade, goog.fx.dom.PredefinedEffect); | |
goog.fx.dom.Fade.prototype.updateStyle = function() { | |
goog.style.setOpacity(this.element, this.coords[0]) | |
}; | |
goog.fx.dom.Fade.prototype.show = function() { | |
this.element.style.display = "" | |
}; | |
goog.fx.dom.Fade.prototype.hide = function() { | |
this.element.style.display = "none" | |
}; | |
goog.fx.dom.FadeOut = function(element, time, opt_acc) { | |
goog.fx.dom.Fade.call(this, element, 1, 0, time, opt_acc) | |
}; | |
goog.inherits(goog.fx.dom.FadeOut, goog.fx.dom.Fade); | |
goog.fx.dom.FadeIn = function(element, time, opt_acc) { | |
goog.fx.dom.Fade.call(this, element, 0, 1, time, opt_acc) | |
}; | |
goog.inherits(goog.fx.dom.FadeIn, goog.fx.dom.Fade); | |
goog.fx.dom.FadeOutAndHide = function(element, time, opt_acc) { | |
goog.fx.dom.Fade.call(this, element, 1, 0, time, opt_acc) | |
}; | |
goog.inherits(goog.fx.dom.FadeOutAndHide, goog.fx.dom.Fade); | |
goog.fx.dom.FadeOutAndHide.prototype.onBegin = function() { | |
this.show(); | |
goog.fx.dom.FadeOutAndHide.superClass_.onBegin.call(this) | |
}; | |
goog.fx.dom.FadeOutAndHide.prototype.onEnd = function() { | |
this.hide(); | |
goog.fx.dom.FadeOutAndHide.superClass_.onEnd.call(this) | |
}; | |
goog.fx.dom.FadeInAndShow = function(element, time, opt_acc) { | |
goog.fx.dom.Fade.call(this, element, 0, 1, time, opt_acc) | |
}; | |
goog.inherits(goog.fx.dom.FadeInAndShow, goog.fx.dom.Fade); | |
goog.fx.dom.FadeInAndShow.prototype.onBegin = function() { | |
this.show(); | |
goog.fx.dom.FadeInAndShow.superClass_.onBegin.call(this) | |
}; | |
goog.fx.dom.BgColorTransform = function(element, start, end, time, opt_acc) { | |
if(start.length != 3 || end.length != 3) { | |
throw Error("Start and end points must be 3D"); | |
} | |
goog.fx.dom.PredefinedEffect.apply(this, arguments) | |
}; | |
goog.inherits(goog.fx.dom.BgColorTransform, goog.fx.dom.PredefinedEffect); | |
goog.fx.dom.BgColorTransform.prototype.setColor = function() { | |
var coordsAsInts = []; | |
for(var i = 0;i < this.coords.length;i++) { | |
coordsAsInts[i] = Math.round(this.coords[i]) | |
} | |
var color = "rgb(" + coordsAsInts.join(",") + ")"; | |
this.element.style.backgroundColor = color | |
}; | |
goog.fx.dom.BgColorTransform.prototype.updateStyle = function() { | |
this.setColor() | |
}; | |
goog.fx.dom.bgColorFadeIn = function(element, start, time, opt_eventHandler) { | |
var initialBgColor = element.style.backgroundColor || ""; | |
var computedBgColor = goog.style.getBackgroundColor(element); | |
var end; | |
if(computedBgColor != "transparent" && computedBgColor != "rgba(0, 0, 0, 0)") { | |
end = goog.color.hexToRgb(goog.color.parse(computedBgColor).hex) | |
}else { | |
end = [255, 255, 255] | |
} | |
var anim = new goog.fx.dom.BgColorTransform(element, start, end, time); | |
function setBgColor() { | |
element.style.backgroundColor = initialBgColor | |
} | |
if(opt_eventHandler) { | |
opt_eventHandler.listen(anim, goog.fx.Animation.EventType.END, setBgColor) | |
}else { | |
goog.events.listen(anim, goog.fx.Animation.EventType.END, setBgColor) | |
} | |
anim.play() | |
}; | |
goog.fx.dom.ColorTransform = function(element, start, end, time, opt_acc) { | |
if(start.length != 3 || end.length != 3) { | |
throw Error("Start and end points must be 3D"); | |
} | |
goog.fx.dom.PredefinedEffect.apply(this, arguments) | |
}; | |
goog.inherits(goog.fx.dom.ColorTransform, goog.fx.dom.PredefinedEffect); | |
goog.fx.dom.ColorTransform.prototype.updateStyle = function() { | |
var coordsAsInts = []; | |
for(var i = 0;i < this.coords.length;i++) { | |
coordsAsInts[i] = Math.round(this.coords[i]) | |
} | |
var color = "rgb(" + coordsAsInts.join(",") + ")"; | |
this.element.style.color = color | |
}; | |
goog.provide("clojure.string"); | |
goog.require("cljs.core"); | |
goog.require("goog.string.StringBuffer"); | |
goog.require("goog.string"); | |
clojure.string.seq_reverse = function seq_reverse(coll) { | |
return cljs.core.reduce.call(null, cljs.core.conj, cljs.core.List.EMPTY, coll) | |
}; | |
clojure.string.reverse = function reverse(s) { | |
return s.split("").reverse().join("") | |
}; | |
clojure.string.replace = function replace(s, match, replacement) { | |
if(cljs.core.string_QMARK_.call(null, match)) { | |
return s.replace(new RegExp(goog.string.regExpEscape(match), "g"), replacement) | |
}else { | |
if(cljs.core.truth_(match.hasOwnProperty("source"))) { | |
return s.replace(new RegExp(match.source, "g"), replacement) | |
}else { | |
if("\ufdd0'else") { | |
throw[cljs.core.str("Invalid match arg: "), cljs.core.str(match)].join(""); | |
}else { | |
return null | |
} | |
} | |
} | |
}; | |
clojure.string.replace_first = function replace_first(s, match, replacement) { | |
return s.replace(match, replacement) | |
}; | |
clojure.string.join = function() { | |
var join = null; | |
var join__1 = function(coll) { | |
return cljs.core.apply.call(null, cljs.core.str, coll) | |
}; | |
var join__2 = function(separator, coll) { | |
return cljs.core.apply.call(null, cljs.core.str, cljs.core.interpose.call(null, separator, coll)) | |
}; | |
join = function(separator, coll) { | |
switch(arguments.length) { | |
case 1: | |
return join__1.call(this, separator); | |
case 2: | |
return join__2.call(this, separator, coll) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
join.cljs$lang$arity$1 = join__1; | |
join.cljs$lang$arity$2 = join__2; | |
return join | |
}(); | |
clojure.string.upper_case = function upper_case(s) { | |
return s.toUpperCase() | |
}; | |
clojure.string.lower_case = function lower_case(s) { | |
return s.toLowerCase() | |
}; | |
clojure.string.capitalize = function capitalize(s) { | |
if(cljs.core.count.call(null, s) < 2) { | |
return clojure.string.upper_case.call(null, s) | |
}else { | |
return[cljs.core.str(clojure.string.upper_case.call(null, cljs.core.subs.call(null, s, 0, 1))), cljs.core.str(clojure.string.lower_case.call(null, cljs.core.subs.call(null, s, 1)))].join("") | |
} | |
}; | |
clojure.string.split = function() { | |
var split = null; | |
var split__2 = function(s, re) { | |
return cljs.core.vec.call(null, [cljs.core.str(s)].join("").split(re)) | |
}; | |
var split__3 = function(s, re, limit) { | |
if(limit < 1) { | |
return cljs.core.vec.call(null, [cljs.core.str(s)].join("").split(re)) | |
}else { | |
var s__12644 = s; | |
var limit__12645 = limit; | |
var parts__12646 = cljs.core.PersistentVector.EMPTY; | |
while(true) { | |
if(cljs.core._EQ_.call(null, limit__12645, 1)) { | |
return cljs.core.conj.call(null, parts__12646, s__12644) | |
}else { | |
var temp__3971__auto____12647 = cljs.core.re_find.call(null, re, s__12644); | |
if(cljs.core.truth_(temp__3971__auto____12647)) { | |
var m__12648 = temp__3971__auto____12647; | |
var index__12649 = s__12644.indexOf(m__12648); | |
var G__12650 = s__12644.substring(index__12649 + cljs.core.count.call(null, m__12648)); | |
var G__12651 = limit__12645 - 1; | |
var G__12652 = cljs.core.conj.call(null, parts__12646, s__12644.substring(0, index__12649)); | |
s__12644 = G__12650; | |
limit__12645 = G__12651; | |
parts__12646 = G__12652; | |
continue | |
}else { | |
return cljs.core.conj.call(null, parts__12646, s__12644) | |
} | |
} | |
break | |
} | |
} | |
}; | |
split = function(s, re, limit) { | |
switch(arguments.length) { | |
case 2: | |
return split__2.call(this, s, re); | |
case 3: | |
return split__3.call(this, s, re, limit) | |
} | |
throw"Invalid arity: " + arguments.length; | |
}; | |
split.cljs$lang$arity$2 = split__2; | |
split.cljs$lang$arity$3 = split__3; | |
return split | |
}(); | |
clojure.string.split_lines = function split_lines(s) { | |
return clojure.string.split.call(null, s, /\n|\r\n/) | |
}; | |
clojure.string.trim = function trim(s) { | |
return goog.string.trim(s) | |
}; | |
clojure.string.triml = function triml(s) { | |
return goog.string.trimLeft(s) | |
}; | |
clojure.string.trimr = function trimr(s) { | |
return goog.string.trimRight(s) | |
}; | |
clojure.string.trim_newline = function trim_newline(s) { | |
var index__12656 = s.length; | |
while(true) { | |
if(index__12656 === 0) { | |
return"" | |
}else { | |
var ch__12657 = cljs.core._lookup.call(null, s, index__12656 - 1, null); | |
if(function() { | |
var or__3824__auto____12658 = cljs.core._EQ_.call(null, ch__12657, "\n"); | |
if(or__3824__auto____12658) { | |
return or__3824__auto____12658 | |
}else { | |
return cljs.core._EQ_.call(null, ch__12657, "\r") | |
} | |
}()) { | |
var G__12659 = index__12656 - 1; | |
index__12656 = G__12659; | |
continue | |
}else { | |
return s.substring(0, index__12656) | |
} | |
} | |
break | |
} | |
}; | |
clojure.string.blank_QMARK_ = function blank_QMARK_(s) { | |
var s__12663 = [cljs.core.str(s)].join(""); | |
if(cljs.core.truth_(function() { | |
var or__3824__auto____12664 = cljs.core.not.call(null, s__12663); | |
if(or__3824__auto____12664) { | |
return or__3824__auto____12664 | |
}else { | |
var or__3824__auto____12665 = cljs.core._EQ_.call(null, "", s__12663); | |
if(or__3824__auto____12665) { | |
return or__3824__auto____12665 | |
}else { | |
return cljs.core.re_matches.call(null, /\s+/, s__12663) | |
} | |
} | |
}())) { | |
return true | |
}else { | |
return false | |
} | |
}; | |
clojure.string.escape = function escape(s, cmap) { | |
var buffer__12672 = new goog.string.StringBuffer; | |
var length__12673 = s.length; | |
var index__12674 = 0; | |
while(true) { | |
if(cljs.core._EQ_.call(null, length__12673, index__12674)) { | |
return buffer__12672.toString() | |
}else { | |
var ch__12675 = s.charAt(index__12674); | |
var temp__3971__auto____12676 = cljs.core._lookup.call(null, cmap, ch__12675, null); | |
if(cljs.core.truth_(temp__3971__auto____12676)) { | |
var replacement__12677 = temp__3971__auto____12676; | |
buffer__12672.append([cljs.core.str(replacement__12677)].join("")) | |
}else { | |
buffer__12672.append(ch__12675) | |
} | |
var G__12678 = index__12674 + 1; | |
index__12674 = G__12678; | |
continue | |
} | |
break | |
} | |
}; | |
goog.provide("goog.dom.xml"); | |
goog.require("goog.dom"); | |
goog.require("goog.dom.NodeType"); | |
goog.dom.xml.MAX_XML_SIZE_KB = 2 * 1024; | |
goog.dom.xml.MAX_ELEMENT_DEPTH = 256; | |
goog.dom.xml.createDocument = function(opt_rootTagName, opt_namespaceUri) { | |
if(opt_namespaceUri && !opt_rootTagName) { | |
throw Error("Can't create document with namespace and no root tag"); | |
} | |
if(document.implementation && document.implementation.createDocument) { | |
return document.implementation.createDocument(opt_namespaceUri || "", opt_rootTagName || "", null) | |
}else { | |
if(typeof ActiveXObject != "undefined") { | |
var doc = goog.dom.xml.createMsXmlDocument_(); | |
if(doc) { | |
if(opt_rootTagName) { | |
doc.appendChild(doc.createNode(goog.dom.NodeType.ELEMENT, opt_rootTagName, opt_namespaceUri || "")) | |
} | |
return doc | |
} | |
} | |
} | |
throw Error("Your browser does not support creating new documents"); | |
}; | |
goog.dom.xml.loadXml = function(xml) { | |
if(typeof DOMParser != "undefined") { | |
return(new DOMParser).parseFromString(xml, "application/xml") | |
}else { | |
if(typeof ActiveXObject != "undefined") { | |
var doc = goog.dom.xml.createMsXmlDocument_(); | |
doc.loadXML(xml); | |
return doc | |
} | |
} | |
throw Error("Your browser does not support loading xml documents"); | |
}; | |
goog.dom.xml.serialize = function(xml) { | |
if(typeof XMLSerializer != "undefined") { | |
return(new XMLSerializer).serializeToString(xml) | |
} | |
var text = xml.xml; | |
if(text) { | |
return text | |
} | |
throw Error("Your browser does not support serializing XML documents"); | |
}; | |
goog.dom.xml.selectSingleNode = function(node, path) { | |
if(typeof node.selectSingleNode != "undefined") { | |
var doc = goog.dom.getOwnerDocument(node); | |
if(typeof doc.setProperty != "undefined") { | |
doc.setProperty("SelectionLanguage", "XPath") | |
} | |
return node.selectSingleNode(path) | |
}else { | |
if(document.implementation.hasFeature("XPath", "3.0")) { | |
var doc = goog.dom.getOwnerDocument(node); | |
var resolver = doc.createNSResolver(doc.documentElement); | |
var result = doc.evaluate(path, node, resolver, XPathResult.FIRST_ORDERED_NODE_TYPE, null); | |
return result.singleNodeValue | |
} | |
} | |
return null | |
}; | |
goog.dom.xml.selectNodes = function(node, path) { | |
if(typeof node.selectNodes != "undefined") { | |
var doc = goog.dom.getOwnerDocument(node); | |
if(typeof doc.setProperty != "undefined") { | |
doc.setProperty("SelectionLanguage", "XPath") | |
} | |
return node.selectNodes(path) | |
}else { | |
if(document.implementation.hasFeature("XPath", "3.0")) { | |
var doc = goog.dom.getOwnerDocument(node); | |
var resolver = doc.createNSResolver(doc.documentElement); | |
var nodes = doc.evaluate(path, node, resolver, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); | |
var results = []; | |
var count = nodes.snapshotLength; | |
for(var i = 0;i < count;i++) { | |
results.push(nodes.snapshotItem(i)) | |
} | |
return results | |
}else { | |
return[] | |
} | |
} | |
}; | |
goog.dom.xml.createMsXmlDocument_ = function() { | |
var doc = new ActiveXObject("MSXML2.DOMDocument"); | |
if(doc) { | |
doc.resolveExternals = false; | |
doc.validateOnParse = false; | |
try { | |
doc.setProperty("ProhibitDTD", true); | |
doc.setProperty("MaxXMLSize", goog.dom.xml.MAX_XML_SIZE_KB); | |
doc.setProperty("MaxElementDepth", goog.dom.xml.MAX_ELEMENT_DEPTH) | |
}catch(e) { | |
} | |
} | |
return doc | |
}; | |
goog.provide("goog.iter"); | |
goog.provide("goog.iter.Iterator"); | |
goog.provide("goog.iter.StopIteration"); | |
goog.require("goog.array"); | |
goog.require("goog.asserts"); | |
goog.iter.Iterable; | |
if("StopIteration" in goog.global) { | |
goog.iter.StopIteration = goog.global["StopIteration"] | |
}else { | |
goog.iter.StopIteration = Error("StopIteration") | |
} | |
goog.iter.Iterator = function() { | |
}; | |
goog.iter.Iterator.prototype.next = function() { | |
throw goog.iter.StopIteration; | |
}; | |
goog.iter.Iterator.prototype.__iterator__ = function(opt_keys) { | |
return this | |
}; | |
goog.iter.toIterator = function(iterable) { | |
if(iterable instanceof goog.iter.Iterator) { | |
return iterable | |
} | |
if(typeof iterable.__iterator__ == "function") { | |
return iterable.__iterator__(false) | |
} | |
if(goog.isArrayLike(iterable)) { | |
var i = 0; | |
var newIter = new goog.iter.Iterator; | |
newIter.next = function() { | |
while(true) { | |
if(i >= iterable.length) { | |
throw goog.iter.StopIteration; | |
} | |
if(!(i in iterable)) { | |
i++; | |
continue | |
} | |
return iterable[i++] | |
} | |
}; | |
return newIter | |
} | |
throw Error("Not implemented"); | |
}; | |
goog.iter.forEach = function(iterable, f, opt_obj) { | |
if(goog.isArrayLike(iterable)) { | |
try { | |
goog.array.forEach(iterable, f, opt_obj) | |
}catch(ex) { | |
if(ex !== goog.iter.StopIteration) { | |
throw ex; | |
} | |
} | |
}else { | |
iterable = goog.iter.toIterator(iterable); | |
try { | |
while(true) { | |
f.call(opt_obj, iterable.next(), undefined, iterable) | |
} | |
}catch(ex) { | |
if(ex !== goog.iter.StopIteration) { | |
throw ex; | |
} | |
} | |
} | |
}; | |
goog.iter.filter = function(iterable, f, opt_obj) { | |
iterable = goog.iter.toIterator(iterable); | |
var newIter = new goog.iter.Iterator; | |
newIter.next = function() { | |
while(true) { | |
var val = iterable.next(); | |
if(f.call(opt_obj, val, undefined, iterable)) { | |
return val | |
} | |
} | |
}; | |
return newIter | |
}; | |
goog.iter.range = function(startOrStop, opt_stop, opt_step) { | |
var start = 0; | |
var stop = startOrStop; | |
var step = opt_step || 1; | |
if(arguments.length > 1) { | |
start = startOrStop; | |
stop = opt_stop | |
} | |
if(step == 0) { | |
throw Error("Range step argument must not be zero"); | |
} | |
var newIter = new goog.iter.Iterator; | |
newIter.next = function() { | |
if(step > 0 && start >= stop || step < 0 && start <= stop) { | |
throw goog.iter.StopIteration; | |
} | |
var rv = start; | |
start += step; | |
return rv | |
}; | |
return newIter | |
}; | |
goog.iter.join = function(iterable, deliminator) { | |
return goog.iter.toArray(iterable).join(deliminator) | |
}; | |
goog.iter.map = function(iterable, f, opt_obj) { | |
iterable = goog.iter.toIterator(iterable); | |
var newIter = new goog.iter.Iterator; | |
newIter.next = function() { | |
while(true) { | |
var val = iterable.next(); | |
return f.call(opt_obj, val, undefined, iterable) | |
} | |
}; | |
return newIter | |
}; | |
goog.iter.reduce = function(iterable, f, val, opt_obj) { | |
var rval = val; | |
goog.iter.forEach(iterable, function(val) { | |
rval = f.call(opt_obj, rval, val) | |
}); | |
return rval | |
}; | |
goog.iter.some = function(iterable, f, opt_obj) { | |
iterable = goog.iter.toIterator(iterable); | |
try { | |
while(true) { | |
if(f.call(opt_obj, iterable.next(), undefined, iterable)) { | |
return true | |
} | |
} | |
}catch(ex) { | |
if(ex !== goog.iter.StopIteration) { | |
throw ex; | |
} | |
} | |
return false | |
}; | |
goog.iter.every = function(iterable, f, opt_obj) { | |
iterable = goog.iter.toIterator(iterable); | |
try { | |
while(true) { | |
if(!f.call(opt_obj, iterable.next(), undefined, iterable)) { | |
return false | |
} | |
} | |
}catch(ex) { | |
if(ex !== goog.iter.StopIteration) { | |
throw ex; | |
} | |
} | |
return true | |
}; | |
goog.iter.chain = function(var_args) { | |
var args = arguments; | |
var length = args.length; | |
var i = 0; | |
var newIter = new goog.iter.Iterator; | |
newIter.next = function() { | |
try { | |
if(i >= length) { | |
throw goog.iter.StopIteration; | |
} | |
var current = goog.iter.toIterator(args[i]); | |
return current.next() | |
}catch(ex) { | |
if(ex !== goog.iter.StopIteration || i >= length) { | |
throw ex; | |
}else { | |
i++; | |
return this.next() | |
} | |
} | |
}; | |
return newIter | |
}; | |
goog.iter.dropWhile = function(iterable, f, opt_obj) { | |
iterable = goog.iter.toIterator(iterable); | |
var newIter = new goog.iter.Iterator; | |
var dropping = true; | |
newIter.next = function() { | |
while(true) { | |
var val = iterable.next(); | |
if(dropping && f.call(opt_obj, val, undefined, iterable)) { | |
continue | |
}else { | |
dropping = false | |
} | |
return val | |
} | |
}; | |
return newIter | |
}; | |
goog.iter.takeWhile = function(iterable, f, opt_obj) { | |
iterable = goog.iter.toIterator(iterable); | |
var newIter = new goog.iter.Iterator; | |
var taking = true; | |
newIter.next = function() { | |
while(true) { | |
if(taking) { | |
var val = iterable.next(); | |
if(f.call(opt_obj, val, undefined, iterable)) { | |
return val | |
}else { | |
taking = false | |
} | |
}else { | |
throw goog.iter.StopIteration; | |
} | |
} | |
}; | |
return newIter | |
}; | |
goog.iter.toArray = function(iterable) { | |
if(goog.isArrayLike(iterable)) { | |
return goog.array.toArray(iterable) | |
} | |
iterable = goog.iter.toIterator(iterable); | |
var array = []; | |
goog.iter.forEach(iterable, function(val) { | |
array.push(val) | |
}); | |
return array | |
}; | |
goog.iter.equals = function(iterable1, iterable2) { | |
iterable1 = goog.iter.toIterator(iterable1); | |
iterable2 = goog.iter.toIterator(iterable2); | |
var b1, b2; | |
try { | |
while(true) { | |
b1 = b2 = false; | |
var val1 = iterable1.next(); | |
b1 = true; | |
var val2 = iterable2.next(); | |
b2 = true; | |
if(val1 != val2) { | |
return false | |
} | |
} | |
}catch(ex) { | |
if(ex !== goog.iter.StopIteration) { | |
throw ex; | |
}else { | |
if(b1 && !b2) { | |
return false | |
} | |
if(!b2) { | |
try { | |
val2 = iterable2.next(); | |
return false | |
}catch(ex1) { | |
if(ex1 !== goog.iter.StopIteration) { | |
throw ex1; | |
} | |
return true | |
} | |
} | |
} | |
} | |
return false | |
}; | |
goog.iter.nextOrValue = function(iterable, defaultValue) { | |
try { | |
return goog.iter.toIterator(iterable).next() | |
}catch(e) { | |
if(e != goog.iter.StopIteration) { | |
throw e; | |
} | |
return defaultValue | |
} | |
}; | |
goog.iter.product = function(var_args) { | |
var someArrayEmpty = goog.array.some(arguments, function(arr) { | |
return!arr.length | |
}); | |
if(someArrayEmpty || !arguments.length) { | |
return new goog.iter.Iterator | |
} | |
var iter = new goog.iter.Iterator; | |
var arrays = arguments; | |
var indicies = goog.array.repeat(0, arrays.length); | |
iter.next = function() { | |
if(indicies) { | |
var retVal = goog.array.map(indicies, function(valueIndex, arrayIndex) { | |
return arrays[arrayIndex][valueIndex] | |
}); | |
for(var i = indicies.length - 1;i >= 0;i--) { | |
goog.asserts.assert(indicies); | |
if(indicies[i] < arrays[i].length - 1) { | |
indicies[i]++; | |
break | |
} | |
if(i == 0) { | |
indicies = null; | |
break | |
} | |
indicies[i] = 0 | |
} | |
return retVal | |
} | |
throw goog.iter.StopIteration; | |
}; | |
return iter | |
}; | |
goog.provide("goog.structs"); | |
goog.require("goog.array"); | |
goog.require("goog.object"); | |
goog.structs.getCount = function(col) { | |
if(typeof col.getCount == "function") { | |
return col.getCount() | |
} | |
if(goog.isArrayLike(col) || goog.isString(col)) { | |
return col.length | |
} | |
return goog.object.getCount(col) | |
}; | |
goog.structs.getValues = function(col) { | |
if(typeof col.getValues == "function") { | |
return col.getValues() | |
} | |
if(goog.isString(col)) { | |
return col.split("") | |
} | |
if(goog.isArrayLike(col)) { | |
var rv = []; | |
var l = col.length; | |
for(var i = 0;i < l;i++) { | |
rv.push(col[i]) | |
} | |
return rv | |
} | |
return goog.object.getValues(col) | |
}; | |
goog.structs.getKeys = function(col) { | |
if(typeof col.getKeys == "function") { | |
return col.getKeys() | |
} | |
if(typeof col.getValues == "function") { | |
return undefined | |
} | |
if(goog.isArrayLike(col) || goog.isString(col)) { | |
var rv = []; | |
var l = col.length; | |
for(var i = 0;i < l;i++) { | |
rv.push(i) | |
} | |
return rv | |
} | |
return goog.object.getKeys(col) | |
}; | |
goog.structs.contains = function(col, val) { | |
if(typeof col.contains == "function") { | |
return col.contains(val) | |
} | |
if(typeof col.containsValue == "function") { | |
return col.containsValue(val) | |
} | |
if(goog.isArrayLike(col) || goog.isString(col)) { | |
return goog.array.contains(col, val) | |
} | |
return goog.object.containsValue(col, val) | |
}; | |
goog.structs.isEmpty = function(col) { | |
if(typeof col.isEmpty == "function") { | |
return col.isEmpty() | |
} | |
if(goog.isArrayLike(col) || goog.isString(col)) { | |
return goog.array.isEmpty(col) | |
} | |
return goog.object.isEmpty(col) | |
}; | |
goog.structs.clear = function(col) { | |
if(typeof col.clear == "function") { | |
col.clear() | |
}else { | |
if(goog.isArrayLike(col)) { | |
goog.array.clear(col) | |
}else { | |
goog.object.clear(col) | |
} | |
} | |
}; | |
goog.structs.forEach = function(col, f, opt_obj) { | |
if(typeof col.forEach == "function") { | |
col.forEach(f, opt_obj) | |
}else { | |
if(goog.isArrayLike(col) || goog.isString(col)) { | |
goog.array.forEach(col, f, opt_obj) | |
}else { | |
var keys = goog.structs.getKeys(col); | |
var values = goog.structs.getValues(col); | |
var l = values.length; | |
for(var i = 0;i < l;i++) { | |
f.call(opt_obj, values[i], keys && keys[i], col) | |
} | |
} | |
} | |
}; | |
goog.structs.filter = function(col, f, opt_obj) { | |
if(typeof col.filter == "function") { | |
return col.filter(f, opt_obj) | |
} | |
if(goog.isArrayLike(col) || goog.isString(col)) { | |
return goog.array.filter(col, f, opt_obj) | |
} | |
var rv; | |
var keys = goog.structs.getKeys(col); | |
var values = goog.structs.getValues(col); | |
var l = values.length; | |
if(keys) { | |
rv = {}; | |
for(var i = 0;i < l;i++) { | |
if(f.call(opt_obj, values[i], keys[i], col)) { | |
rv[keys[i]] = values[i] | |
} | |
} | |
}else { | |
rv = []; | |
for(var i = 0;i < l;i++) { | |
if(f.call(opt_obj, values[i], undefined, col)) { | |
rv.push(values[i]) | |
} | |
} | |
} | |
return rv | |
}; | |
goog.structs.map = function(col, f, opt_obj) { | |
if(typeof col.map == "function") { | |
return col.map(f, opt_obj) | |
} | |
if(goog.isArrayLike(col) || goog.isString(col)) { | |
return goog.array.map(col, f, opt_obj) | |
} | |
var rv; | |
var keys = goog.structs.getKeys(col); | |
var values = goog.structs.getValues(col); | |
var l = values.length; | |
if(keys) { | |
rv = {}; | |
for(var i = 0;i < l;i++) { | |
rv[keys[i]] = f.call(opt_obj, values[i], keys[i], col) | |
} | |
}else { | |
rv = []; | |
for(var i = 0;i < l;i++) { | |
rv[i] = f.call(opt_obj, values[i], undefined, col) | |
} | |
} | |
return rv | |
}; | |
goog.structs.some = function(col, f, opt_obj) { | |
if(typeof col.some == "function") { | |
return col.some(f, opt_obj) | |
} | |
if(goog.isArrayLike(col) || goog.isString(col)) { | |
return goog.array.some(col, f, opt_obj) | |
} | |
var keys = goog.structs.getKeys(col); | |
var values = goog.structs.getValues(col); | |
var l = values.length; | |
for(var i = 0;i < l;i++) { | |
if(f.call(opt_obj, values[i], keys && keys[i], col)) { | |
return true | |
} | |
} | |
return false | |
}; | |
goog.structs.every = function(col, f, opt_obj) { | |
if(typeof col.every == "function") { | |
return col.every(f, opt_obj) | |
} | |
if(goog.isArrayLike(col) || goog.isString(col)) { | |
return goog.array.every(col, f, opt_obj) | |
} | |
var keys = goog.structs.getKeys(col); | |
var values = goog.structs.getValues(col); | |
var l = values.length; | |
for(var i = 0;i < l;i++) { | |
if(!f.call(opt_obj, values[i], keys && keys[i], col)) { | |
return false | |
} | |
} | |
return true | |
}; | |
goog.provide("goog.structs.Map"); | |
goog.require("goog.iter.Iterator"); | |
goog.require("goog.iter.StopIteration"); | |
goog.require("goog.object"); | |
goog.require("goog.structs"); | |
goog.structs.Map = function(opt_map, var_args) { | |
this.map_ = {}; | |
this.keys_ = []; | |
var argLength = arguments.length; | |
if(argLength > 1) { | |
if(argLength % 2) { | |
throw Error("Uneven number of arguments"); | |
} | |
for(var i = 0;i < argLength;i += 2) { | |
this.set(arguments[i], arguments[i + 1]) | |
} | |
}else { | |
if(opt_map) { | |
this.addAll(opt_map) | |
} | |
} | |
}; | |
goog.structs.Map.prototype.count_ = 0; | |
goog.structs.Map.prototype.version_ = 0; | |
goog.structs.Map.prototype.getCount = function() { | |
return this.count_ | |
}; | |
goog.structs.Map.prototype.getValues = function() { | |
this.cleanupKeysArray_(); | |
var rv = []; | |
for(var i = 0;i < this.keys_.length;i++) { | |
var key = this.keys_[i]; | |
rv.push(this.map_[key]) | |
} | |
return rv | |
}; | |
goog.structs.Map.prototype.getKeys = function() { | |
this.cleanupKeysArray_(); | |
return this.keys_.concat() | |
}; | |
goog.structs.Map.prototype.containsKey = function(key) { | |
return goog.structs.Map.hasKey_(this.map_, key) | |
}; | |
goog.structs.Map.prototype.containsValue = function(val) { | |
for(var i = 0;i < this.keys_.length;i++) { | |
var key = this.keys_[i]; | |
if(goog.structs.Map.hasKey_(this.map_, key) && this.map_[key] == val) { | |
return true | |
} | |
} | |
return false | |
}; | |
goog.structs.Map.prototype.equals = function(otherMap, opt_equalityFn) { | |
if(this === otherMap) { | |
return true | |
} | |
if(this.count_ != otherMap.getCount()) { | |
return false | |
} | |
var equalityFn = opt_equalityFn || goog.structs.Map.defaultEquals; | |
this.cleanupKeysArray_(); | |
for(var key, i = 0;key = this.keys_[i];i++) { | |
if(!equalityFn(this.get(key), otherMap.get(key))) { | |
return false | |
} | |
} | |
return true | |
}; | |
goog.structs.Map.defaultEquals = function(a, b) { | |
return a === b | |
}; | |
goog.structs.Map.prototype.isEmpty = function() { | |
return this.count_ == 0 | |
}; | |
goog.structs.Map.prototype.clear = function() { | |
this.map_ = {}; | |
this.keys_.length = 0; | |
this.count_ = 0; | |
this.version_ = 0 | |
}; | |
goog.structs.Map.prototype.remove = function(key) { | |
if(goog.structs.Map.hasKey_(this.map_, key)) { | |
delete this.map_[key]; | |
this.count_--; | |
this.version_++; | |
if(this.keys_.length > 2 * this.count_) { | |
this.cleanupKeysArray_() | |
} | |
return true | |
} | |
return false | |
}; | |
goog.structs.Map.prototype.cleanupKeysArray_ = function() { | |
if(this.count_ != this.keys_.length) { | |
var srcIndex = 0; | |
var destIndex = 0; | |
while(srcIndex < this.keys_.length) { | |
var key = this.keys_[srcIndex]; | |
if(goog.structs.Map.hasKey_(this.map_, key)) { | |
this.keys_[destIndex++] = key | |
} | |
srcIndex++ | |
} | |
this.keys_.length = destIndex | |
} | |
if(this.count_ != this.keys_.length) { | |
var seen = {}; | |
var srcIndex = 0; | |
var destIndex = 0; | |
while(srcIndex < this.keys_.length) { | |
var key = this.keys_[srcIndex]; | |
if(!goog.structs.Map.hasKey_(seen, key)) { | |
this.keys_[destIndex++] = key; | |
seen[key] = 1 | |
} | |
srcIndex++ | |
} | |
this.keys_.length = destIndex | |
} | |
}; | |
goog.structs.Map.prototype.get = function(key, opt_val) { | |
if(goog.structs.Map.hasKey_(this.map_, key)) { | |
return this.map_[key] | |
} | |
return opt_val | |
}; | |
goog.structs.Map.prototype.set = function(key, value) { | |
if(!goog.structs.Map.hasKey_(this.map_, key)) { | |
this.count_++; | |
this.keys_.push(key); | |
this.version_++ | |
} | |
this.map_[key] = value | |
}; | |
goog.structs.Map.prototype.addAll = function(map) { | |
var keys, values; | |
if(map instanceof goog.structs.Map) { | |
keys = map.getKeys(); | |
values = map.getValues() | |
}else { | |
keys = goog.object.getKeys(map); | |
values = goog.object.getValues(map) | |
} | |
for(var i = 0;i < keys.length;i++) { | |
this.set(keys[i], values[i]) | |
} | |
}; | |
goog.structs.Map.prototype.clone = function() { | |
return new goog.structs.Map(this) | |
}; | |
goog.structs.Map.prototype.transpose = function() { | |
var transposed = new goog.structs.Map; | |
for(var i = 0;i < this.keys_.length;i++) { | |
var key = this.keys_[i]; | |
var value = this.map_[key]; | |
transposed.set(value, key) | |
} | |
return transposed | |
}; | |
goog.structs.Map.prototype.toObject = function() { | |
this.cleanupKeysArray_(); | |
var obj = {}; | |
for(var i = 0;i < this.keys_.length;i++) { | |
var key = this.keys_[i]; | |
obj[key] = this.map_[key] | |
} | |
return obj | |
}; | |
goog.structs.Map.prototype.getKeyIterator = function() { | |
return this.__iterator__(true) | |
}; | |
goog.structs.Map.prototype.getValueIterator = function() { | |
return this.__iterator__(false) | |
}; | |
goog.structs.Map.prototype.__iterator__ = function(opt_keys) { | |
this.cleanupKeysArray_(); | |
var i = 0; | |
var keys = this.keys_; | |
var map = this.map_; | |
var version = this.version_; | |
var selfObj = this; | |
var newIter = new goog.iter.Iterator; | |
newIter.next = function() { | |
while(true) { | |
if(version != selfObj.version_) { | |
throw Error("The map has changed since the iterator was created"); | |
} | |
if(i >= keys.length) { | |
throw goog.iter.StopIteration; | |
} | |
var key = keys[i++]; | |
return opt_keys ? key : map[key] | |
} | |
}; | |
return newIter | |
}; | |
goog.structs.Map.hasKey_ = function(obj, key) { | |
return Object.prototype.hasOwnProperty.call(obj, key) | |
}; | |
goog.provide("goog.dom.forms"); | |
goog.require("goog.structs.Map"); | |
goog.dom.forms.getFormDataMap = function(form) { | |
var map = new goog.structs.Map; | |
goog.dom.forms.getFormDataHelper_(form, map, goog.dom.forms.addFormDataToMap_); | |
return map | |
}; | |
goog.dom.forms.getFormDataString = function(form) { | |
var sb = []; | |
goog.dom.forms.getFormDataHelper_(form, sb, goog.dom.forms.addFormDataToStringBuffer_); | |
return sb.join("&") | |
}; | |
goog.dom.forms.getFormDataHelper_ = function(form, result, fnAppend) { | |
var els = form.elements; | |
for(var el, i = 0;el = els[i];i++) { | |
if(el.disabled || el.tagName.toLowerCase() == "fieldset") { | |
continue | |
} | |
var name = el.name; | |
var type = el.type.toLowerCase(); | |
switch(type) { | |
case "file": | |
; | |
case "submit": | |
; | |
case "reset": | |
; | |
case "button": | |
break; | |
case "select-multiple": | |
var values = goog.dom.forms.getValue(el); | |
if(values != null) { | |
for(var value, j = 0;value = values[j];j++) { | |
fnAppend(result, name, value) | |
} | |
} | |
break; | |
default: | |
var value = goog.dom.forms.getValue(el); | |
if(value != null) { | |
fnAppend(result, name, value) | |
} | |
} | |
} | |
var inputs = form.getElementsByTagName("input"); | |
for(var input, i = 0;input = inputs[i];i++) { | |
if(input.form == form && input.type.toLowerCase() == "image") { | |
name = input.name; | |
fnAppend(result, name, input.value); | |
fnAppend(result, name + ".x", "0"); | |
fnAppend(result, name + ".y", "0") | |
} | |
} | |
}; | |
goog.dom.forms.addFormDataToMap_ = function(map, name, value) { | |
var array = map.get(name); | |
if(!array) { | |
array = []; | |
map.set(name, array) | |
} | |
array.push(value) | |
}; | |
goog.dom.forms.addFormDataToStringBuffer_ = function(sb, name, value) { | |
sb.push(encodeURIComponent(name) + "=" + encodeURIComponent(value)) | |
}; | |
goog.dom.forms.hasFileInput = function(form) { | |
var els = form.elements; | |
for(var el, i = 0;el = els[i];i++) { | |
if(!el.disabled && el.type && el.type.toLowerCase() == "file") { | |
return true | |
} | |
} | |
return false | |
}; | |
goog.dom.forms.setDisabled = function(el, disabled) { | |
if(el.tagName == "FORM") { | |
var els = el.elements; | |
for(var i = 0;el = els[i];i++) { | |
goog.dom.forms.setDisabled(el, disabled) | |
} | |
}else { | |
if(disabled == true) { | |
el.blur() | |
} | |
el.disabled = disabled | |
} | |
}; | |
goog.dom.forms.focusAndSelect = function(el) { | |
el.focus(); | |
if(el.select) { | |
el.select() | |
} | |
}; | |
goog.dom.forms.hasValue = function(el) { | |
var value = goog.dom.forms.getValue(el); | |
return!!value | |
}; | |
goog.dom.forms.hasValueByName = function(form, name) { | |
var value = goog.dom.forms.getValueByName(form, name); | |
return!!value | |
}; | |
goog.dom.forms.getValue = function(el) { | |
var type = el.type; | |
if(!goog.isDef(type)) { | |
return null | |
} | |
switch(type.toLowerCase()) { | |
case "checkbox": | |
; | |
case "radio": | |
return goog.dom.forms.getInputChecked_(el); | |
case "select-one": | |
return goog.dom.forms.getSelectSingle_(el); | |
case "select-multiple": | |
return goog.dom.forms.getSelectMultiple_(el); | |
default: | |
return goog.isDef(el.value) ? el.value : null | |
} | |
}; | |
goog.dom.$F = goog.dom.forms.getValue; | |
goog.dom.forms.getValueByName = function(form, name) { | |
var els = form.elements[name]; | |
if(els.type) { | |
return goog.dom.forms.getValue(els) | |
}else { | |
for(var i = 0;i < els.length;i++) { | |
var val = goog.dom.forms.getValue(els[i]); | |
if(val) { | |
return val | |
} | |
} | |
return null | |
} | |
}; | |
goog.dom.forms.getInputChecked_ = function(el) { | |
return el.checked ? el.value : null | |
}; | |
goog.dom.forms.getSelectSingle_ = function(el) { | |
var selectedIndex = el.selectedIndex; | |
return selectedIndex >= 0 ? el.options[selectedIndex].value : null | |
}; | |
goog.dom.forms.getSelectMultiple_ = function(el) { | |
var values = []; | |
for(var option, i = 0;option = el.options[i];i++) { | |
if(option.selected) { | |
values.push(option.value) | |
} | |
} | |
return values.length ? values : null | |
}; | |
goog.dom.forms.setValue = function(el, opt_value) { | |
var type = el.type; | |
if(goog.isDef(type)) { | |
switch(type.toLowerCase()) { | |
case "checkbox": | |
; | |
case "radio": | |
goog.dom.forms.setInputChecked_(el, opt_value); | |
break; | |
case "select-one": | |
goog.dom.forms.setSelectSingle_(el, opt_value); | |
break; | |
case "select-multiple": | |
goog.dom.forms.setSelectMultiple_(el, opt_value); | |
break; | |
default: | |
el.value = goog.isDefAndNotNull(opt_value) ? opt_value : "" | |
} | |
} | |
}; | |
goog.dom.forms.setInputChecked_ = function(el, opt_value) { | |
el.checked = opt_value ? "checked" : null | |
}; | |
goog.dom.forms.setSelectSingle_ = function(el, opt_value) { | |
el.selectedIndex = -1; | |
if(goog.isString(opt_value)) { | |
for(var option, i = 0;option = el.options[i];i++) { | |
if(option.value == opt_value) { | |
option.selected = true; | |
break | |
} | |
} | |
} | |
}; | |
goog.dom.forms.setSelectMultiple_ = function(el, opt_value) { | |
if(goog.isString(opt_value)) { | |
opt_value = [opt_value] | |
} | |
for(var option, i = 0;option = el.options[i];i++) { | |
option.selected = false; | |
if(opt_value) { | |
for(var value, j = 0;value = opt_value[j];j++) { | |
if(option.value == value) { | |
op |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment