if(typeof Math.imul == "undefined" || (Math.imul(0xffffffff,5) == 0)) {
    Math.imul = function (a, b) {
        var ah  = (a >>> 16) & 0xffff;
        var al = a & 0xffff;
        var bh  = (b >>> 16) & 0xffff;
        var bl = b & 0xffff;
        // the shift by 0 fixes the sign on the high part
        // the final |0 converts the unsigned value into a signed value
        return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0)|0);
    }
}

/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery.min.map
*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;
return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="<a name='"+x+"'></a><div name='"+x+"'></div>",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&&gt(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Nt=/^(?:checkbox|radio)$/i,Ct=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l)
}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=ln(e,t),Pt.detach()),Gt[e]=n),n}function ln(e,t){var n=b(t.createElement(e)).appendTo(t.body),r=b.css(n[0],"display");return n.remove(),r}b.each(["height","width"],function(e,n){b.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(b.css(e,"display"))?b.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,i),i):0)}}}),b.support.opacity||(b.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=b.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===b.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),b(function(){b.support.reliableMarginRight||(b.cssHooks.marginRight={get:function(e,n){return n?b.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!b.support.pixelPosition&&b.fn.position&&b.each(["top","left"],function(e,n){b.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?b(e).position()[n]+"px":r):t}}})}),b.expr&&b.expr.filters&&(b.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!b.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||b.css(e,"display"))},b.expr.filters.visible=function(e){return!b.expr.filters.hidden(e)}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(b.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Nt.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:b.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),b.param=function(e,n){var r,i=[],o=function(e,t){t=b.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=b.ajaxSettings&&b.ajaxSettings.traditional),b.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(b.isArray(t))b.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==b.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}b.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),b.fn.hover=function(e,t){return this.mouseenter(e).mouseleave(t||e)};var mn,yn,vn=b.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Nn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Cn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=b.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=a.href}catch(Ln){yn=o.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(b.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(u){var l;return o[u]=!0,b.each(e[u]||[],function(e,u){var c=u(n,r,i);return"string"!=typeof c||a||o[c]?a?!(l=c):t:(n.dataTypes.unshift(c),s(c),!1)}),l}return s(n.dataTypes[0])||!o["*"]&&s("*")}function Mn(e,n){var r,i,o=b.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&b.extend(!0,e,r),e}b.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,u=e.indexOf(" ");return u>=0&&(i=e.slice(u,e.length),e=e.slice(0,u)),b.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&b.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?b("<div>").append(b.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.each(["get","post"],function(e,n){b[n]=function(e,r,i,o){return b.isFunction(r)&&(o=o||i,i=r,r=t),b.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Nn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Mn(Mn(e,b.ajaxSettings),t):Mn(b.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,u,l,c,p=b.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?b(f):b.event,h=b.Deferred(),g=b.Callbacks("once memory"),m=p.statusCode||{},y={},v={},x=0,T="canceled",N={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else N.always(e[N.status]);return this},abort:function(e){var t=e||T;return l&&l.abort(t),k(0,t),this}};if(h.promise(N).complete=g.add,N.success=N.done,N.error=N.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=b.trim(p.dataType||"*").toLowerCase().match(w)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?80:443))==(mn[3]||("http:"===mn[1]?80:443)))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=b.param(p.data,p.traditional)),qn(An,p,n,N),2===x)return N;u=p.global,u&&0===b.active++&&b.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Cn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(b.lastModified[o]&&N.setRequestHeader("If-Modified-Since",b.lastModified[o]),b.etag[o]&&N.setRequestHeader("If-None-Match",b.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&N.setRequestHeader("Content-Type",p.contentType),N.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)N.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,N,p)===!1||2===x))return N.abort();T="abort";for(i in{success:1,error:1,complete:1})N[i](p[i]);if(l=qn(jn,p,n,N)){N.readyState=1,u&&d.trigger("ajaxSend",[N,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){N.abort("timeout")},p.timeout));try{x=1,l.send(y,k)}catch(C){if(!(2>x))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,C=n;2!==x&&(x=2,s&&clearTimeout(s),l=t,a=i||"",N.readyState=e>0?4:0,r&&(w=_n(p,N,r)),e>=200&&300>e||304===e?(p.ifModified&&(T=N.getResponseHeader("Last-Modified"),T&&(b.lastModified[o]=T),T=N.getResponseHeader("etag"),T&&(b.etag[o]=T)),204===e?(c=!0,C="nocontent"):304===e?(c=!0,C="notmodified"):(c=Fn(p,w),C=c.state,y=c.data,v=c.error,c=!v)):(v=C,(e||!C)&&(C="error",0>e&&(e=0))),N.status=e,N.statusText=(n||C)+"",c?h.resolveWith(f,[y,C,N]):h.rejectWith(f,[N,C,v]),N.statusCode(m),m=t,u&&d.trigger(c?"ajaxSuccess":"ajaxError",[N,p,c?y:v]),g.fireWith(f,[N,C]),u&&(d.trigger("ajaxComplete",[N,p]),--b.active||b.event.trigger("ajaxStop")))}return N},getScript:function(e,n){return b.get(e,t,n,"script")},getJSON:function(e,t,n){return b.get(e,t,n,"json")}});function _n(e,n,r){var i,o,a,s,u=e.contents,l=e.dataTypes,c=e.responseFields;for(s in c)s in r&&(n[c[s]]=r[s]);while("*"===l[0])l.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in u)if(u[s]&&u[s].test(o)){l.unshift(s);break}if(l[0]in r)a=l[0];else{for(s in r){if(!l[0]||e.converters[s+" "+l[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==l[0]&&l.unshift(a),r[a]):t}function Fn(e,t){var n,r,i,o,a={},s=0,u=e.dataTypes.slice(),l=u[0];if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u[1])for(i in e.converters)a[i.toLowerCase()]=e.converters[i];for(;r=u[++s];)if("*"!==r){if("*"!==l&&l!==r){if(i=a[l+" "+r]||a["* "+r],!i)for(n in a)if(o=n.split(" "),o[1]===r&&(i=a[l+" "+o[0]]||a["* "+o[0]])){i===!0?i=a[n]:a[n]!==!0&&(r=o[0],u.splice(s--,0,r));break}if(i!==!0)if(i&&e["throws"])t=i(t);else try{t=i(t)}catch(c){return{state:"parsererror",error:i?c:"No conversion from "+l+" to "+r}}}l=r}return{state:"success",data:t}}b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),b.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=o.head||b("head")[0]||o.documentElement;return{send:function(t,i){n=o.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var On=[],Bn=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=On.pop()||b.expando+"_"+vn++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=b.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||b.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,On.push(o)),s&&b.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}b.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=b.ajaxSettings.xhr(),b.support.cors=!!Rn&&"withCredentials"in Rn,Rn=b.support.ajax=!!Rn,Rn&&b.ajaxTransport(function(n){if(!n.crossDomain||b.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=b.noop,$n&&delete Pn[a]),i)4!==u.readyState&&u.abort();else{p={},s=u.status,l=u.getAllResponseHeaders(),"string"==typeof u.responseText&&(p.text=u.responseText);try{c=u.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,l)},n.async?4===u.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},b(e).unload($n)),Pn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+x+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yn.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(b.cssNumber[e]?"":"px"),"px"!==r&&s){s=b.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,b.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=b.now()}function Zn(e,t){b.each(t,function(t,n){var r=(Qn[t]||[]).concat(Qn["*"]),i=0,o=r.length;for(;o>i;i++)if(r[i].call(e,t,n))return})}function er(e,t,n){var r,i,o=0,a=Gn.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;for(;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(tr(c,l.opts.specialEasing);a>o;o++)if(r=Gn[o].call(l,e,c,l.opts))return r;return Zn(l,c),b.isFunction(l.opts.start)&&l.opts.start.call(e,l),b.fx.timer(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function tr(e,t){var n,r,i,o,a;for(i in e)if(r=b.camelCase(i),o=t[r],n=e[i],b.isArray(n)&&(o=n[1],n=e[i]=n[0]),i!==r&&(e[r]=n,delete e[i]),a=b.cssHooks[r],a&&"expand"in a){n=a.expand(n),delete e[r];for(i in n)i in e||(e[i]=n[i],t[i]=o)}else t[r]=o}b.Animation=b.extend(er,{tweener:function(e,t){b.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,u,l,c,p,f=this,d=e.style,h={},g=[],m=e.nodeType&&nn(e);n.queue||(c=b._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,f.always(function(){f.always(function(){c.unqueued--,b.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],"inline"===b.css(e,"display")&&"none"===b.css(e,"float")&&(b.support.inlineBlockNeedsLayout&&"inline"!==un(e.nodeName)?d.zoom=1:d.display="inline-block")),n.overflow&&(d.overflow="hidden",b.support.shrinkWrapBlocks||f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(a=t[i],Vn.exec(a)){if(delete t[i],u=u||"toggle"===a,a===(m?"hide":"show"))continue;g.push(i)}if(o=g.length){s=b._data(e,"fxshow")||b._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),u&&(s.hidden=!m),m?b(e).show():f.done(function(){b(e).hide()}),f.done(function(){var t;b._removeData(e,"fxshow");for(t in h)b.style(e,t,h[t])});for(i=0;o>i;i++)r=g[i],l=f.createTween(r,m?s[r]:0),h[r]=s[r]||b.style(e,r),r in s||(s[r]=l.start,m&&(l.end=l.start,l.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}b.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=b.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[b.cssProps[e.prop]]||b.cssHooks[e.prop])?b.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=er(this,b.extend({},e),o);a.finish=function(){t.stop(!0)},(i||b._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=b.timers,a=b._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&b.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=b._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}b.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||b.isFunction(e)&&e,duration:e,easing:n&&t||t&&!b.isFunction(t)&&t};return r.duration=b.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in b.fx.speeds?b.fx.speeds[r.duration]:b.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){b.isFunction(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},b.timers=[],b.fx=rr.prototype.init,b.fx.tick=function(){var e,n=b.timers,r=0;for(Xn=b.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||b.fx.stop(),Xn=t},b.fx.timer=function(e){e()&&b.timers.push(e)&&b.fx.start()},b.fx.interval=13,b.fx.start=function(){Un||(Un=setInterval(b.fx.tick,b.fx.interval))},b.fx.stop=function(){clearInterval(Un),Un=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fx.step={},b.expr&&b.expr.filters&&(b.expr.filters.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length}),b.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){b.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,b.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},b.offset={setOffset:function(e,t,n){var r=b.css(e,"position");"static"===r&&(e.style.position="relative");var i=b(e),o=i.offset(),a=b.css(e,"top"),s=b.css(e,"left"),u=("absolute"===r||"fixed"===r)&&b.inArray("auto",[a,s])>-1,l={},c={},p,f;u?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),b.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(l.top=t.top-o.top+p),null!=t.left&&(l.left=t.left-o.left+f),"using"in t?t.using.call(e,l):i.css(l)}},b.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===b.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),b.nodeName(e[0],"html")||(n=e.offset()),n.top+=b.css(e[0],"borderTopWidth",!0),n.left+=b.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-b.css(r,"marginTop",!0),left:t.left-n.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||o.documentElement;while(e&&!b.nodeName(e,"html")&&"static"===b.css(e,"position"))e=e.offsetParent;return e||o.documentElement})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);b.fn[e]=function(i){return b.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?b(a).scrollLeft():o,r?o:b(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return b.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}b.each({Height:"height",Width:"width"},function(e,n){b.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){b.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return b.access(this,function(n,r,i){var o;return b.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?b.css(n,r,s):b.style(n,r,i,s)},n,a?i:t,a,null)}})}),e.jQuery=e.$=b,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return b})})(window);
// TinyColor v1.3.0
// https://github.com/bgrins/TinyColor
// Brian Grinstead, MIT License

(function() {

var trimLeft = /^\s+/,
    trimRight = /\s+$/,
    tinyCounter = 0,
    math = Math,
    mathRound = math.round,
    mathMin = math.min,
    mathMax = math.max,
    mathRandom = math.random;

function tinycolor (color, opts) {

    color = (color) ? color : '';
    opts = opts || { };

    // If input is already a tinycolor, return itself
    if (color instanceof tinycolor) {
       return color;
    }
    // If we are called as a function, call using new instead
    if (!(this instanceof tinycolor)) {
        return new tinycolor(color, opts);
    }

    var rgb = inputToRGB(color);
    this._originalInput = color,
    this._r = rgb.r,
    this._g = rgb.g,
    this._b = rgb.b,
    this._a = rgb.a,
    this._roundA = mathRound(100*this._a) / 100,
    this._format = opts.format || rgb.format;
    this._gradientType = opts.gradientType;

    // Don't let the range of [0,255] come back in [0,1].
    // Potentially lose a little bit of precision here, but will fix issues where
    // .5 gets interpreted as half of the total, instead of half of 1
    // If it was supposed to be 128, this was already taken care of by `inputToRgb`
    if (this._r < 1) { this._r = mathRound(this._r); }
    if (this._g < 1) { this._g = mathRound(this._g); }
    if (this._b < 1) { this._b = mathRound(this._b); }

    this._ok = rgb.ok;
    this._tc_id = tinyCounter++;
}

tinycolor.prototype = {
    isDark: function() {
        return this.getBrightness() < 128;
    },
    isLight: function() {
        return !this.isDark();
    },
    isValid: function() {
        return this._ok;
    },
    getOriginalInput: function() {
      return this._originalInput;
    },
    getFormat: function() {
        return this._format;
    },
    getAlpha: function() {
        return this._a;
    },
    getBrightness: function() {
        //http://www.w3.org/TR/AERT#color-contrast
        var rgb = this.toRgb();
        return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;
    },
    getLuminance: function() {
        //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef
        var rgb = this.toRgb();
        var RsRGB, GsRGB, BsRGB, R, G, B;
        RsRGB = rgb.r/255;
        GsRGB = rgb.g/255;
        BsRGB = rgb.b/255;

        if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}
        if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}
        if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}
        return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);
    },
    setAlpha: function(value) {
        this._a = boundAlpha(value);
        this._roundA = mathRound(100*this._a) / 100;
        return this;
    },
    toHsv: function() {
        var hsv = rgbToHsv(this._r, this._g, this._b);
        return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };
    },
    toHsvString: function() {
        var hsv = rgbToHsv(this._r, this._g, this._b);
        var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);
        return (this._a == 1) ?
          "hsv("  + h + ", " + s + "%, " + v + "%)" :
          "hsva(" + h + ", " + s + "%, " + v + "%, "+ this._roundA + ")";
    },
    toHsl: function() {
        var hsl = rgbToHsl(this._r, this._g, this._b);
        return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };
    },
    toHslString: function() {
        var hsl = rgbToHsl(this._r, this._g, this._b);
        var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);
        return (this._a == 1) ?
          "hsl("  + h + ", " + s + "%, " + l + "%)" :
          "hsla(" + h + ", " + s + "%, " + l + "%, "+ this._roundA + ")";
    },
    toHex: function(allow3Char) {
        return rgbToHex(this._r, this._g, this._b, allow3Char);
    },
    toHexString: function(allow3Char) {
        return '#' + this.toHex(allow3Char);
    },
    toHex8: function() {
        return rgbaToHex(this._r, this._g, this._b, this._a);
    },
    toHex8String: function() {
        return '#' + this.toHex8();
    },
    toRgb: function() {
        return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };
    },
    toRgbString: function() {
        return (this._a == 1) ?
          "rgb("  + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ")" :
          "rgba(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ", " + this._roundA + ")";
    },
    toPercentageRgb: function() {
        return { r: mathRound(bound01(this._r, 255) * 100) + "%", g: mathRound(bound01(this._g, 255) * 100) + "%", b: mathRound(bound01(this._b, 255) * 100) + "%", a: this._a };
    },
    toPercentageRgbString: function() {
        return (this._a == 1) ?
          "rgb("  + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%)" :
          "rgba(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%, " + this._roundA + ")";
    },
    toName: function() {
        if (this._a === 0) {
            return "transparent";
        }

        if (this._a < 1) {
            return false;
        }

        return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;
    },
    toFilter: function(secondColor) {
        var hex8String = '#' + rgbaToHex(this._r, this._g, this._b, this._a);
        var secondHex8String = hex8String;
        var gradientType = this._gradientType ? "GradientType = 1, " : "";

        if (secondColor) {
            var s = tinycolor(secondColor);
            secondHex8String = s.toHex8String();
        }

        return "progid:DXImageTransform.Microsoft.gradient("+gradientType+"startColorstr="+hex8String+",endColorstr="+secondHex8String+")";
    },
    toString: function(format) {
        var formatSet = !!format;
        format = format || this._format;

        var formattedString = false;
        var hasAlpha = this._a < 1 && this._a >= 0;
        var needsAlphaFormat = !formatSet && hasAlpha && (format === "hex" || format === "hex6" || format === "hex3" || format === "name");

        if (needsAlphaFormat) {
            // Special case for "transparent", all other non-alpha formats
            // will return rgba when there is transparency.
            if (format === "name" && this._a === 0) {
                return this.toName();
            }
            return this.toRgbString();
        }
        if (format === "rgb") {
            formattedString = this.toRgbString();
        }
        if (format === "prgb") {
            formattedString = this.toPercentageRgbString();
        }
        if (format === "hex" || format === "hex6") {
            formattedString = this.toHexString();
        }
        if (format === "hex3") {
            formattedString = this.toHexString(true);
        }
        if (format === "hex8") {
            formattedString = this.toHex8String();
        }
        if (format === "name") {
            formattedString = this.toName();
        }
        if (format === "hsl") {
            formattedString = this.toHslString();
        }
        if (format === "hsv") {
            formattedString = this.toHsvString();
        }

        return formattedString || this.toHexString();
    },
    clone: function() {
        return tinycolor(this.toString());
    },

    _applyModification: function(fn, args) {
        var color = fn.apply(null, [this].concat([].slice.call(args)));
        this._r = color._r;
        this._g = color._g;
        this._b = color._b;
        this.setAlpha(color._a);
        return this;
    },
    lighten: function() {
        return this._applyModification(lighten, arguments);
    },
    brighten: function() {
        return this._applyModification(brighten, arguments);
    },
    darken: function() {
        return this._applyModification(darken, arguments);
    },
    desaturate: function() {
        return this._applyModification(desaturate, arguments);
    },
    saturate: function() {
        return this._applyModification(saturate, arguments);
    },
    greyscale: function() {
        return this._applyModification(greyscale, arguments);
    },
    spin: function() {
        return this._applyModification(spin, arguments);
    },

    _applyCombination: function(fn, args) {
        return fn.apply(null, [this].concat([].slice.call(args)));
    },
    analogous: function() {
        return this._applyCombination(analogous, arguments);
    },
    complement: function() {
        return this._applyCombination(complement, arguments);
    },
    monochromatic: function() {
        return this._applyCombination(monochromatic, arguments);
    },
    splitcomplement: function() {
        return this._applyCombination(splitcomplement, arguments);
    },
    triad: function() {
        return this._applyCombination(triad, arguments);
    },
    tetrad: function() {
        return this._applyCombination(tetrad, arguments);
    }
};

// If input is an object, force 1 into "1.0" to handle ratios properly
// String input requires "1.0" as input, so 1 will be treated as 1
tinycolor.fromRatio = function(color, opts) {
    if (typeof color == "object") {
        var newColor = {};
        for (var i in color) {
            if (color.hasOwnProperty(i)) {
                if (i === "a") {
                    newColor[i] = color[i];
                }
                else {
                    newColor[i] = convertToPercentage(color[i]);
                }
            }
        }
        color = newColor;
    }

    return tinycolor(color, opts);
};

// Given a string or object, convert that input to RGB
// Possible string inputs:
//
//     "red"
//     "#f00" or "f00"
//     "#ff0000" or "ff0000"
//     "#ff000000" or "ff000000"
//     "rgb 255 0 0" or "rgb (255, 0, 0)"
//     "rgb 1.0 0 0" or "rgb (1, 0, 0)"
//     "rgba (255, 0, 0, 1)" or "rgba 255, 0, 0, 1"
//     "rgba (1.0, 0, 0, 1)" or "rgba 1.0, 0, 0, 1"
//     "hsl(0, 100%, 50%)" or "hsl 0 100% 50%"
//     "hsla(0, 100%, 50%, 1)" or "hsla 0 100% 50%, 1"
//     "hsv(0, 100%, 100%)" or "hsv 0 100% 100%"
//
function inputToRGB(color) {

    var rgb = { r: 0, g: 0, b: 0 };
    var a = 1;
    var ok = false;
    var format = false;

    if (typeof color == "string") {
        color = stringInputToObject(color);
    }

    if (typeof color == "object") {
        if (color.hasOwnProperty("r") && color.hasOwnProperty("g") && color.hasOwnProperty("b")) {
            rgb = rgbToRgb(color.r, color.g, color.b);
            ok = true;
            format = String(color.r).substr(-1) === "%" ? "prgb" : "rgb";
        }
        else if (color.hasOwnProperty("h") && color.hasOwnProperty("s") && color.hasOwnProperty("v")) {
            color.s = convertToPercentage(color.s);
            color.v = convertToPercentage(color.v);
            rgb = hsvToRgb(color.h, color.s, color.v);
            ok = true;
            format = "hsv";
        }
        else if (color.hasOwnProperty("h") && color.hasOwnProperty("s") && color.hasOwnProperty("l")) {
            color.s = convertToPercentage(color.s);
            color.l = convertToPercentage(color.l);
            rgb = hslToRgb(color.h, color.s, color.l);
            ok = true;
            format = "hsl";
        }

        if (color.hasOwnProperty("a")) {
            a = color.a;
        }
    }

    a = boundAlpha(a);

    return {
        ok: ok,
        format: color.format || format,
        r: mathMin(255, mathMax(rgb.r, 0)),
        g: mathMin(255, mathMax(rgb.g, 0)),
        b: mathMin(255, mathMax(rgb.b, 0)),
        a: a
    };
}


// Conversion Functions
// --------------------

// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:
// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>

// `rgbToRgb`
// Handle bounds / percentage checking to conform to CSS color spec
// <http://www.w3.org/TR/css3-color/>
// *Assumes:* r, g, b in [0, 255] or [0, 1]
// *Returns:* { r, g, b } in [0, 255]
function rgbToRgb(r, g, b){
    return {
        r: bound01(r, 255) * 255,
        g: bound01(g, 255) * 255,
        b: bound01(b, 255) * 255
    };
}

// `rgbToHsl`
// Converts an RGB color value to HSL.
// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]
// *Returns:* { h, s, l } in [0,1]
function rgbToHsl(r, g, b) {

    r = bound01(r, 255);
    g = bound01(g, 255);
    b = bound01(b, 255);

    var max = mathMax(r, g, b), min = mathMin(r, g, b);
    var h, s, l = (max + min) / 2;

    if(max == min) {
        h = s = 0; // achromatic
    }
    else {
        var d = max - min;
        s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
        switch(max) {
            case r: h = (g - b) / d + (g < b ? 6 : 0); break;
            case g: h = (b - r) / d + 2; break;
            case b: h = (r - g) / d + 4; break;
        }

        h /= 6;
    }

    return { h: h, s: s, l: l };
}

// `hslToRgb`
// Converts an HSL color value to RGB.
// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]
// *Returns:* { r, g, b } in the set [0, 255]
function hslToRgb(h, s, l) {
    var r, g, b;

    h = bound01(h, 360);
    s = bound01(s, 100);
    l = bound01(l, 100);

    function hue2rgb(p, q, t) {
        if(t < 0) t += 1;
        if(t > 1) t -= 1;
        if(t < 1/6) return p + (q - p) * 6 * t;
        if(t < 1/2) return q;
        if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;
        return p;
    }

    if(s === 0) {
        r = g = b = l; // achromatic
    }
    else {
        var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
        var p = 2 * l - q;
        r = hue2rgb(p, q, h + 1/3);
        g = hue2rgb(p, q, h);
        b = hue2rgb(p, q, h - 1/3);
    }

    return { r: r * 255, g: g * 255, b: b * 255 };
}

// `rgbToHsv`
// Converts an RGB color value to HSV
// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]
// *Returns:* { h, s, v } in [0,1]
function rgbToHsv(r, g, b) {

    r = bound01(r, 255);
    g = bound01(g, 255);
    b = bound01(b, 255);

    var max = mathMax(r, g, b), min = mathMin(r, g, b);
    var h, s, v = max;

    var d = max - min;
    s = max === 0 ? 0 : d / max;

    if(max == min) {
        h = 0; // achromatic
    }
    else {
        switch(max) {
            case r: h = (g - b) / d + (g < b ? 6 : 0); break;
            case g: h = (b - r) / d + 2; break;
            case b: h = (r - g) / d + 4; break;
        }
        h /= 6;
    }
    return { h: h, s: s, v: v };
}

// `hsvToRgb`
// Converts an HSV color value to RGB.
// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]
// *Returns:* { r, g, b } in the set [0, 255]
 function hsvToRgb(h, s, v) {

    h = bound01(h, 360) * 6;
    s = bound01(s, 100);
    v = bound01(v, 100);

    var i = math.floor(h),
        f = h - i,
        p = v * (1 - s),
        q = v * (1 - f * s),
        t = v * (1 - (1 - f) * s),
        mod = i % 6,
        r = [v, q, p, p, t, v][mod],
        g = [t, v, v, q, p, p][mod],
        b = [p, p, t, v, v, q][mod];

    return { r: r * 255, g: g * 255, b: b * 255 };
}

// `rgbToHex`
// Converts an RGB color to hex
// Assumes r, g, and b are contained in the set [0, 255]
// Returns a 3 or 6 character hex
function rgbToHex(r, g, b, allow3Char) {

    var hex = [
        pad2(mathRound(r).toString(16)),
        pad2(mathRound(g).toString(16)),
        pad2(mathRound(b).toString(16))
    ];

    // Return a 3 character hex if possible
    if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {
        return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);
    }

    return hex.join("");
}

// `rgbaToHex`
// Converts an RGBA color plus alpha transparency to hex
// Assumes r, g, b and a are contained in the set [0, 255]
// Returns an 8 character hex
function rgbaToHex(r, g, b, a) {

    var hex = [
        pad2(convertDecimalToHex(a)),
        pad2(mathRound(r).toString(16)),
        pad2(mathRound(g).toString(16)),
        pad2(mathRound(b).toString(16))
    ];

    return hex.join("");
}

// `equals`
// Can be called with any tinycolor input
tinycolor.equals = function (color1, color2) {
    if (!color1 || !color2) { return false; }
    return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();
};

tinycolor.random = function() {
    return tinycolor.fromRatio({
        r: mathRandom(),
        g: mathRandom(),
        b: mathRandom()
    });
};


// Modification Functions
// ----------------------
// Thanks to less.js for some of the basics here
// <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>

function desaturate(color, amount) {
    amount = (amount === 0) ? 0 : (amount || 10);
    var hsl = tinycolor(color).toHsl();
    hsl.s -= amount / 100;
    hsl.s = clamp01(hsl.s);
    return tinycolor(hsl);
}

function saturate(color, amount) {
    amount = (amount === 0) ? 0 : (amount || 10);
    var hsl = tinycolor(color).toHsl();
    hsl.s += amount / 100;
    hsl.s = clamp01(hsl.s);
    return tinycolor(hsl);
}

function greyscale(color) {
    return tinycolor(color).desaturate(100);
}

function lighten (color, amount) {
    amount = (amount === 0) ? 0 : (amount || 10);
    var hsl = tinycolor(color).toHsl();
    hsl.l += amount / 100;
    hsl.l = clamp01(hsl.l);
    return tinycolor(hsl);
}

function brighten(color, amount) {
    amount = (amount === 0) ? 0 : (amount || 10);
    var rgb = tinycolor(color).toRgb();
    rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));
    rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));
    rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));
    return tinycolor(rgb);
}

function darken (color, amount) {
    amount = (amount === 0) ? 0 : (amount || 10);
    var hsl = tinycolor(color).toHsl();
    hsl.l -= amount / 100;
    hsl.l = clamp01(hsl.l);
    return tinycolor(hsl);
}

// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.
// Values outside of this range will be wrapped into this range.
function spin(color, amount) {
    var hsl = tinycolor(color).toHsl();
    var hue = (mathRound(hsl.h) + amount) % 360;
    hsl.h = hue < 0 ? 360 + hue : hue;
    return tinycolor(hsl);
}

// Combination Functions
// ---------------------
// Thanks to jQuery xColor for some of the ideas behind these
// <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>

function complement(color) {
    var hsl = tinycolor(color).toHsl();
    hsl.h = (hsl.h + 180) % 360;
    return tinycolor(hsl);
}

function triad(color) {
    var hsl = tinycolor(color).toHsl();
    var h = hsl.h;
    return [
        tinycolor(color),
        tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),
        tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })
    ];
}

function tetrad(color) {
    var hsl = tinycolor(color).toHsl();
    var h = hsl.h;
    return [
        tinycolor(color),
        tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),
        tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),
        tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })
    ];
}

function splitcomplement(color) {
    var hsl = tinycolor(color).toHsl();
    var h = hsl.h;
    return [
        tinycolor(color),
        tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),
        tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})
    ];
}

function analogous(color, results, slices) {
    results = results || 6;
    slices = slices || 30;

    var hsl = tinycolor(color).toHsl();
    var part = 360 / slices;
    var ret = [tinycolor(color)];

    for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {
        hsl.h = (hsl.h + part) % 360;
        ret.push(tinycolor(hsl));
    }
    return ret;
}

function monochromatic(color, results) {
    results = results || 6;
    var hsv = tinycolor(color).toHsv();
    var h = hsv.h, s = hsv.s, v = hsv.v;
    var ret = [];
    var modification = 1 / results;

    while (results--) {
        ret.push(tinycolor({ h: h, s: s, v: v}));
        v = (v + modification) % 1;
    }

    return ret;
}

// Utility Functions
// ---------------------

tinycolor.mix = function(color1, color2, amount) {
    amount = (amount === 0) ? 0 : (amount || 50);

    var rgb1 = tinycolor(color1).toRgb();
    var rgb2 = tinycolor(color2).toRgb();

    var p = amount / 100;
    var w = p * 2 - 1;
    var a = rgb2.a - rgb1.a;

    var w1;

    if (w * a == -1) {
        w1 = w;
    } else {
        w1 = (w + a) / (1 + w * a);
    }

    w1 = (w1 + 1) / 2;

    var w2 = 1 - w1;

    var rgba = {
        r: rgb2.r * w1 + rgb1.r * w2,
        g: rgb2.g * w1 + rgb1.g * w2,
        b: rgb2.b * w1 + rgb1.b * w2,
        a: rgb2.a * p  + rgb1.a * (1 - p)
    };

    return tinycolor(rgba);
};


// Readability Functions
// ---------------------
// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)

// `contrast`
// Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)
tinycolor.readability = function(color1, color2) {
    var c1 = tinycolor(color1);
    var c2 = tinycolor(color2);
    return (Math.max(c1.getLuminance(),c2.getLuminance())+0.05) / (Math.min(c1.getLuminance(),c2.getLuminance())+0.05);
};

// `isReadable`
// Ensure that foreground and background color combinations meet WCAG2 guidelines.
// The third argument is an optional Object.
//      the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA';
//      the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'.
// If the entire object is absent, isReadable defaults to {level:"AA",size:"small"}.

// *Example*
//    tinycolor.isReadable("#000", "#111") => false
//    tinycolor.isReadable("#000", "#111",{level:"AA",size:"large"}) => false
tinycolor.isReadable = function(color1, color2, wcag2) {
    var readability = tinycolor.readability(color1, color2);
    var wcag2Parms, out;

    out = false;

    wcag2Parms = validateWCAG2Parms(wcag2);
    switch (wcag2Parms.level + wcag2Parms.size) {
        case "AAsmall":
        case "AAAlarge":
            out = readability >= 4.5;
            break;
        case "AAlarge":
            out = readability >= 3;
            break;
        case "AAAsmall":
            out = readability >= 7;
            break;
    }
    return out;

};

// `mostReadable`
// Given a base color and a list of possible foreground or background
// colors for that base, returns the most readable color.
// Optionally returns Black or White if the most readable color is unreadable.
// *Example*
//    tinycolor.mostReadable(tinycolor.mostReadable("#123", ["#124", "#125"],{includeFallbackColors:false}).toHexString(); // "#112255"
//    tinycolor.mostReadable(tinycolor.mostReadable("#123", ["#124", "#125"],{includeFallbackColors:true}).toHexString();  // "#ffffff"
//    tinycolor.mostReadable("#a8015a", ["#faf3f3"],{includeFallbackColors:true,level:"AAA",size:"large"}).toHexString(); // "#faf3f3"
//    tinycolor.mostReadable("#a8015a", ["#faf3f3"],{includeFallbackColors:true,level:"AAA",size:"small"}).toHexString(); // "#ffffff"
tinycolor.mostReadable = function(baseColor, colorList, args) {
    var bestColor = null;
    var bestScore = 0;
    var readability;
    var includeFallbackColors, level, size ;
    args = args || {};
    includeFallbackColors = args.includeFallbackColors ;
    level = args.level;
    size = args.size;

    for (var i= 0; i < colorList.length ; i++) {
        readability = tinycolor.readability(baseColor, colorList[i]);
        if (readability > bestScore) {
            bestScore = readability;
            bestColor = tinycolor(colorList[i]);
        }
    }

    if (tinycolor.isReadable(baseColor, bestColor, {"level":level,"size":size}) || !includeFallbackColors) {
        return bestColor;
    }
    else {
        args.includeFallbackColors=false;
        return tinycolor.mostReadable(baseColor,["#fff", "#000"],args);
    }
};


// Big List of Colors
// ------------------
// <http://www.w3.org/TR/css3-color/#svg-color>
var names = tinycolor.names = {
    aliceblue: "f0f8ff",
    antiquewhite: "faebd7",
    aqua: "0ff",
    aquamarine: "7fffd4",
    azure: "f0ffff",
    beige: "f5f5dc",
    bisque: "ffe4c4",
    black: "000",
    blanchedalmond: "ffebcd",
    blue: "00f",
    blueviolet: "8a2be2",
    brown: "a52a2a",
    burlywood: "deb887",
    burntsienna: "ea7e5d",
    cadetblue: "5f9ea0",
    chartreuse: "7fff00",
    chocolate: "d2691e",
    coral: "ff7f50",
    cornflowerblue: "6495ed",
    cornsilk: "fff8dc",
    crimson: "dc143c",
    cyan: "0ff",
    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: "f0f",
    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: "789",
    lightslategrey: "789",
    lightsteelblue: "b0c4de",
    lightyellow: "ffffe0",
    lime: "0f0",
    limegreen: "32cd32",
    linen: "faf0e6",
    magenta: "f0f",
    maroon: "800000",
    mediumaquamarine: "66cdaa",
    mediumblue: "0000cd",
    mediumorchid: "ba55d3",
    mediumpurple: "9370db",
    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: "db7093",
    papayawhip: "ffefd5",
    peachpuff: "ffdab9",
    peru: "cd853f",
    pink: "ffc0cb",
    plum: "dda0dd",
    powderblue: "b0e0e6",
    purple: "800080",
    rebeccapurple: "663399",
    red: "f00",
    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: "fff",
    whitesmoke: "f5f5f5",
    yellow: "ff0",
    yellowgreen: "9acd32"
};

// Make it easy to access colors via `hexNames[hex]`
var hexNames = tinycolor.hexNames = flip(names);


// Utilities
// ---------

// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`
function flip(o) {
    var flipped = { };
    for (var i in o) {
        if (o.hasOwnProperty(i)) {
            flipped[o[i]] = i;
        }
    }
    return flipped;
}

// Return a valid alpha value [0,1] with all invalid values being set to 1
function boundAlpha(a) {
    a = parseFloat(a);

    if (isNaN(a) || a < 0 || a > 1) {
        a = 1;
    }

    return a;
}

// Take input from [0, n] and return it as [0, 1]
function bound01(n, max) {
    if (isOnePointZero(n)) { n = "100%"; }

    var processPercent = isPercentage(n);
    n = mathMin(max, mathMax(0, parseFloat(n)));

    // Automatically convert percentage into number
    if (processPercent) {
        n = parseInt(n * max, 10) / 100;
    }

    // Handle floating point rounding errors
    if ((math.abs(n - max) < 0.000001)) {
        return 1;
    }

    // Convert into [0, 1] range if it isn't already
    return (n % max) / parseFloat(max);
}

// Force a number between 0 and 1
function clamp01(val) {
    return mathMin(1, mathMax(0, val));
}

// Parse a base-16 hex value into a base-10 integer
function parseIntFromHex(val) {
    return parseInt(val, 16);
}

// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1
// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>
function isOnePointZero(n) {
    return typeof n == "string" && n.indexOf('.') != -1 && parseFloat(n) === 1;
}

// Check to see if string passed in is a percentage
function isPercentage(n) {
    return typeof n === "string" && n.indexOf('%') != -1;
}

// Force a hex value to have 2 characters
function pad2(c) {
    return c.length == 1 ? '0' + c : '' + c;
}

// Replace a decimal with it's percentage value
function convertToPercentage(n) {
    if (n <= 1) {
        n = (n * 100) + "%";
    }

    return n;
}

// Converts a decimal to a hex value
function convertDecimalToHex(d) {
    return Math.round(parseFloat(d) * 255).toString(16);
}
// Converts a hex value to a decimal
function convertHexToDecimal(h) {
    return (parseIntFromHex(h) / 255);
}

var matchers = (function() {

    // <http://www.w3.org/TR/css3-values/#integers>
    var CSS_INTEGER = "[-\\+]?\\d+%?";

    // <http://www.w3.org/TR/css3-values/#number-value>
    var CSS_NUMBER = "[-\\+]?\\d*\\.\\d+%?";

    // Allow positive/negative integer/number.  Don't capture the either/or, just the entire outcome.
    var CSS_UNIT = "(?:" + CSS_NUMBER + ")|(?:" + CSS_INTEGER + ")";

    // Actual matching.
    // Parentheses and commas are optional, but not required.
    // Whitespace can take the place of commas or opening paren
    var PERMISSIVE_MATCH3 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?";
    var PERMISSIVE_MATCH4 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?";

    return {
        rgb: new RegExp("rgb" + PERMISSIVE_MATCH3),
        rgba: new RegExp("rgba" + PERMISSIVE_MATCH4),
        hsl: new RegExp("hsl" + PERMISSIVE_MATCH3),
        hsla: new RegExp("hsla" + PERMISSIVE_MATCH4),
        hsv: new RegExp("hsv" + PERMISSIVE_MATCH3),
        hsva: new RegExp("hsva" + PERMISSIVE_MATCH4),
        hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
        hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,
        hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/
    };
})();

// `stringInputToObject`
// Permissive string parsing.  Take in a number of formats, and output an object
// based on detected format.  Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`
function stringInputToObject(color) {

    color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();
    var named = false;
    if (names[color]) {
        color = names[color];
        named = true;
    }
    else if (color == 'transparent') {
        return { r: 0, g: 0, b: 0, a: 0, format: "name" };
    }

    // Try to match string input using regular expressions.
    // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]
    // Just return an object and let the conversion functions handle that.
    // This way the result will be the same whether the tinycolor is initialized with string or object.
    var match;
    if ((match = matchers.rgb.exec(color))) {
        return { r: match[1], g: match[2], b: match[3] };
    }
    if ((match = matchers.rgba.exec(color))) {
        return { r: match[1], g: match[2], b: match[3], a: match[4] };
    }
    if ((match = matchers.hsl.exec(color))) {
        return { h: match[1], s: match[2], l: match[3] };
    }
    if ((match = matchers.hsla.exec(color))) {
        return { h: match[1], s: match[2], l: match[3], a: match[4] };
    }
    if ((match = matchers.hsv.exec(color))) {
        return { h: match[1], s: match[2], v: match[3] };
    }
    if ((match = matchers.hsva.exec(color))) {
        return { h: match[1], s: match[2], v: match[3], a: match[4] };
    }
    if ((match = matchers.hex8.exec(color))) {
        return {
            a: convertHexToDecimal(match[1]),
            r: parseIntFromHex(match[2]),
            g: parseIntFromHex(match[3]),
            b: parseIntFromHex(match[4]),
            format: named ? "name" : "hex8"
        };
    }
    if ((match = matchers.hex6.exec(color))) {
        return {
            r: parseIntFromHex(match[1]),
            g: parseIntFromHex(match[2]),
            b: parseIntFromHex(match[3]),
            format: named ? "name" : "hex"
        };
    }
    if ((match = matchers.hex3.exec(color))) {
        return {
            r: parseIntFromHex(match[1] + '' + match[1]),
            g: parseIntFromHex(match[2] + '' + match[2]),
            b: parseIntFromHex(match[3] + '' + match[3]),
            format: named ? "name" : "hex"
        };
    }

    return false;
}

function validateWCAG2Parms(parms) {
    // return valid WCAG2 parms for isReadable.
    // If input parms are invalid, return {"level":"AA", "size":"small"}
    var level, size;
    parms = parms || {"level":"AA", "size":"small"};
    level = (parms.level || "AA").toUpperCase();
    size = (parms.size || "small").toLowerCase();
    if (level !== "AA" && level !== "AAA") {
        level = "AA";
    }
    if (size !== "small" && size !== "large") {
        size = "small";
    }
    return {"level":level, "size":size};
}

// Node: Export function
if (typeof module !== "undefined" && module.exports) {
    module.exports = tinycolor;
}
// AMD/requirejs: Define the module
else if (typeof define === 'function' && define.amd) {
    define(function () {return tinycolor;});
}
// Browser: Expose to window
else {
    window.tinycolor = tinycolor;
}

})();

/**
 * React v15.4.2
 *
 * Copyright 2013-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 */
!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.React=t()}}(function(){return function t(e,n,r){function o(u,a){if(!n[u]){if(!e[u]){var s="function"==typeof require&&require;if(!a&&s)return s(u,!0);if(i)return i(u,!0);var c=new Error("Cannot find module '"+u+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[u]={exports:{}};e[u][0].call(l.exports,function(t){var n=e[u][1][t];return o(n?n:t)},l,l.exports,t,e,n,r)}return n[u].exports}for(var i="function"==typeof require&&require,u=0;u<r.length;u++)o(r[u]);return o}({1:[function(t,e,n){"use strict";function r(t){var e=/[=:]/g,n={"=":"=0",":":"=2"},r=(""+t).replace(e,function(t){return n[t]});return"$"+r}function o(t){var e=/(=0|=2)/g,n={"=0":"=","=2":":"},r="."===t[0]&&"$"===t[1]?t.substring(2):t.substring(1);return(""+r).replace(e,function(t){return n[t]})}var i={escape:r,unescape:o};e.exports=i},{}],2:[function(t,e,n){"use strict";var r=t(21),o=(t(25),function(t){var e=this;if(e.instancePool.length){var n=e.instancePool.pop();return e.call(n,t),n}return new e(t)}),i=function(t,e){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,t,e),r}return new n(t,e)},u=function(t,e,n){var r=this;if(r.instancePool.length){var o=r.instancePool.pop();return r.call(o,t,e,n),o}return new r(t,e,n)},a=function(t,e,n,r){var o=this;if(o.instancePool.length){var i=o.instancePool.pop();return o.call(i,t,e,n,r),i}return new o(t,e,n,r)},s=function(t){var e=this;t instanceof e?void 0:r("25"),t.destructor(),e.instancePool.length<e.poolSize&&e.instancePool.push(t)},c=10,l=o,f=function(t,e){var n=t;return n.instancePool=[],n.getPooled=e||l,n.poolSize||(n.poolSize=c),n.release=s,n},p={addPoolingTo:f,oneArgumentPooler:o,twoArgumentPooler:i,threeArgumentPooler:u,fourArgumentPooler:a};e.exports=p},{21:21,25:25}],3:[function(t,e,n){"use strict";var r=t(27),o=t(4),i=t(6),u=t(15),a=t(5),s=t(8),c=t(9),l=t(13),f=t(17),p=t(20),d=(t(26),c.createElement),y=c.createFactory,v=c.cloneElement,h=r,m={Children:{map:o.map,forEach:o.forEach,count:o.count,toArray:o.toArray,only:p},Component:i,PureComponent:u,createElement:d,cloneElement:v,isValidElement:c.isValidElement,PropTypes:l,createClass:a.createClass,createFactory:y,createMixin:function(t){return t},DOM:s,version:f,__spread:h};e.exports=m},{13:13,15:15,17:17,20:20,26:26,27:27,4:4,5:5,6:6,8:8,9:9}],4:[function(t,e,n){"use strict";function r(t){return(""+t).replace(E,"$&/")}function o(t,e){this.func=t,this.context=e,this.count=0}function i(t,e,n){var r=t.func,o=t.context;r.call(o,e,t.count++)}function u(t,e,n){if(null==t)return t;var r=o.getPooled(e,n);m(t,i,r),o.release(r)}function a(t,e,n,r){this.result=t,this.keyPrefix=e,this.func=n,this.context=r,this.count=0}function s(t,e,n){var o=t.result,i=t.keyPrefix,u=t.func,a=t.context,s=u.call(a,e,t.count++);Array.isArray(s)?c(s,o,n,h.thatReturnsArgument):null!=s&&(v.isValidElement(s)&&(s=v.cloneAndReplaceKey(s,i+(!s.key||e&&e.key===s.key?"":r(s.key)+"/")+n)),o.push(s))}function c(t,e,n,o,i){var u="";null!=n&&(u=r(n)+"/");var c=a.getPooled(e,u,o,i);m(t,s,c),a.release(c)}function l(t,e,n){if(null==t)return t;var r=[];return c(t,r,null,e,n),r}function f(t,e,n){return null}function p(t,e){return m(t,f,null)}function d(t){var e=[];return c(t,e,null,h.thatReturnsArgument),e}var y=t(2),v=t(9),h=t(23),m=t(22),b=y.twoArgumentPooler,g=y.fourArgumentPooler,E=/\/+/g;o.prototype.destructor=function(){this.func=null,this.context=null,this.count=0},y.addPoolingTo(o,b),a.prototype.destructor=function(){this.result=null,this.keyPrefix=null,this.func=null,this.context=null,this.count=0},y.addPoolingTo(a,g);var x={forEach:u,map:l,mapIntoWithKeyPrefixInternal:c,count:p,toArray:d};e.exports=x},{2:2,22:22,23:23,9:9}],5:[function(t,e,n){"use strict";function r(t){return t}function o(t,e){var n=E.hasOwnProperty(e)?E[e]:null;_.hasOwnProperty(e)&&("OVERRIDE_BASE"!==n?p("73",e):void 0),t&&("DEFINE_MANY"!==n&&"DEFINE_MANY_MERGED"!==n?p("74",e):void 0)}function i(t,e){if(e){"function"==typeof e?p("75"):void 0,v.isValidElement(e)?p("76"):void 0;var n=t.prototype,r=n.__reactAutoBindPairs;e.hasOwnProperty(b)&&x.mixins(t,e.mixins);for(var i in e)if(e.hasOwnProperty(i)&&i!==b){var u=e[i],a=n.hasOwnProperty(i);if(o(a,i),x.hasOwnProperty(i))x[i](t,u);else{var l=E.hasOwnProperty(i),f="function"==typeof u,d=f&&!l&&!a&&e.autobind!==!1;if(d)r.push(i,u),n[i]=u;else if(a){var y=E[i];!l||"DEFINE_MANY_MERGED"!==y&&"DEFINE_MANY"!==y?p("77",y,i):void 0,"DEFINE_MANY_MERGED"===y?n[i]=s(n[i],u):"DEFINE_MANY"===y&&(n[i]=c(n[i],u))}else n[i]=u}}}}function u(t,e){if(e)for(var n in e){var r=e[n];if(e.hasOwnProperty(n)){var o=n in x;o?p("78",n):void 0;var i=n in t;i?p("79",n):void 0,t[n]=r}}}function a(t,e){t&&e&&"object"==typeof t&&"object"==typeof e?void 0:p("80");for(var n in e)e.hasOwnProperty(n)&&(void 0!==t[n]?p("81",n):void 0,t[n]=e[n]);return t}function s(t,e){return function(){var n=t.apply(this,arguments),r=e.apply(this,arguments);if(null==n)return r;if(null==r)return n;var o={};return a(o,n),a(o,r),o}}function c(t,e){return function(){t.apply(this,arguments),e.apply(this,arguments)}}function l(t,e){var n=e.bind(t);return n}function f(t){for(var e=t.__reactAutoBindPairs,n=0;n<e.length;n+=2){var r=e[n],o=e[n+1];t[r]=l(t,o)}}var p=t(21),d=t(27),y=t(6),v=t(9),h=(t(12),t(11)),m=t(24),b=(t(25),t(26),"mixins"),g=[],E={mixins:"DEFINE_MANY",statics:"DEFINE_MANY",propTypes:"DEFINE_MANY",contextTypes:"DEFINE_MANY",childContextTypes:"DEFINE_MANY",getDefaultProps:"DEFINE_MANY_MERGED",getInitialState:"DEFINE_MANY_MERGED",getChildContext:"DEFINE_MANY_MERGED",render:"DEFINE_ONCE",componentWillMount:"DEFINE_MANY",componentDidMount:"DEFINE_MANY",componentWillReceiveProps:"DEFINE_MANY",shouldComponentUpdate:"DEFINE_ONCE",componentWillUpdate:"DEFINE_MANY",componentDidUpdate:"DEFINE_MANY",componentWillUnmount:"DEFINE_MANY",updateComponent:"OVERRIDE_BASE"},x={displayName:function(t,e){t.displayName=e},mixins:function(t,e){if(e)for(var n=0;n<e.length;n++)i(t,e[n])},childContextTypes:function(t,e){t.childContextTypes=d({},t.childContextTypes,e)},contextTypes:function(t,e){t.contextTypes=d({},t.contextTypes,e)},getDefaultProps:function(t,e){t.getDefaultProps?t.getDefaultProps=s(t.getDefaultProps,e):t.getDefaultProps=e},propTypes:function(t,e){t.propTypes=d({},t.propTypes,e)},statics:function(t,e){u(t,e)},autobind:function(){}},_={replaceState:function(t,e){this.updater.enqueueReplaceState(this,t),e&&this.updater.enqueueCallback(this,e,"replaceState")},isMounted:function(){return this.updater.isMounted(this)}},P=function(){};d(P.prototype,y.prototype,_);var w={createClass:function(t){var e=r(function(t,n,r){this.__reactAutoBindPairs.length&&f(this),this.props=t,this.context=n,this.refs=m,this.updater=r||h,this.state=null;var o=this.getInitialState?this.getInitialState():null;"object"!=typeof o||Array.isArray(o)?p("82",e.displayName||"ReactCompositeComponent"):void 0,this.state=o});e.prototype=new P,e.prototype.constructor=e,e.prototype.__reactAutoBindPairs=[],g.forEach(i.bind(null,e)),i(e,t),e.getDefaultProps&&(e.defaultProps=e.getDefaultProps()),e.prototype.render?void 0:p("83");for(var n in E)e.prototype[n]||(e.prototype[n]=null);return e},injection:{injectMixin:function(t){g.push(t)}}};e.exports=w},{11:11,12:12,21:21,24:24,25:25,26:26,27:27,6:6,9:9}],6:[function(t,e,n){"use strict";function r(t,e,n){this.props=t,this.context=e,this.refs=u,this.updater=n||i}var o=t(21),i=t(11),u=(t(18),t(24));t(25),t(26);r.prototype.isReactComponent={},r.prototype.setState=function(t,e){"object"!=typeof t&&"function"!=typeof t&&null!=t?o("85"):void 0,this.updater.enqueueSetState(this,t),e&&this.updater.enqueueCallback(this,e,"setState")},r.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this),t&&this.updater.enqueueCallback(this,t,"forceUpdate")};e.exports=r},{11:11,18:18,21:21,24:24,25:25,26:26}],7:[function(t,e,n){"use strict";var r={current:null};e.exports=r},{}],8:[function(t,e,n){"use strict";var r=t(9),o=r.createFactory,i={a:o("a"),abbr:o("abbr"),address:o("address"),area:o("area"),article:o("article"),aside:o("aside"),audio:o("audio"),b:o("b"),base:o("base"),bdi:o("bdi"),bdo:o("bdo"),big:o("big"),blockquote:o("blockquote"),body:o("body"),br:o("br"),button:o("button"),canvas:o("canvas"),caption:o("caption"),cite:o("cite"),code:o("code"),col:o("col"),colgroup:o("colgroup"),data:o("data"),datalist:o("datalist"),dd:o("dd"),del:o("del"),details:o("details"),dfn:o("dfn"),dialog:o("dialog"),div:o("div"),dl:o("dl"),dt:o("dt"),em:o("em"),embed:o("embed"),fieldset:o("fieldset"),figcaption:o("figcaption"),figure:o("figure"),footer:o("footer"),form:o("form"),h1:o("h1"),h2:o("h2"),h3:o("h3"),h4:o("h4"),h5:o("h5"),h6:o("h6"),head:o("head"),header:o("header"),hgroup:o("hgroup"),hr:o("hr"),html:o("html"),i:o("i"),iframe:o("iframe"),img:o("img"),input:o("input"),ins:o("ins"),kbd:o("kbd"),keygen:o("keygen"),label:o("label"),legend:o("legend"),li:o("li"),link:o("link"),main:o("main"),map:o("map"),mark:o("mark"),menu:o("menu"),menuitem:o("menuitem"),meta:o("meta"),meter:o("meter"),nav:o("nav"),noscript:o("noscript"),object:o("object"),ol:o("ol"),optgroup:o("optgroup"),option:o("option"),output:o("output"),p:o("p"),param:o("param"),picture:o("picture"),pre:o("pre"),progress:o("progress"),q:o("q"),rp:o("rp"),rt:o("rt"),ruby:o("ruby"),s:o("s"),samp:o("samp"),script:o("script"),section:o("section"),select:o("select"),small:o("small"),source:o("source"),span:o("span"),strong:o("strong"),style:o("style"),sub:o("sub"),summary:o("summary"),sup:o("sup"),table:o("table"),tbody:o("tbody"),td:o("td"),textarea:o("textarea"),tfoot:o("tfoot"),th:o("th"),thead:o("thead"),time:o("time"),title:o("title"),tr:o("tr"),track:o("track"),u:o("u"),ul:o("ul"),var:o("var"),video:o("video"),wbr:o("wbr"),circle:o("circle"),clipPath:o("clipPath"),defs:o("defs"),ellipse:o("ellipse"),g:o("g"),image:o("image"),line:o("line"),linearGradient:o("linearGradient"),mask:o("mask"),path:o("path"),pattern:o("pattern"),polygon:o("polygon"),polyline:o("polyline"),radialGradient:o("radialGradient"),rect:o("rect"),stop:o("stop"),svg:o("svg"),text:o("text"),tspan:o("tspan")};e.exports=i},{9:9}],9:[function(t,e,n){"use strict";function r(t){return void 0!==t.ref}function o(t){return void 0!==t.key}var i=t(27),u=t(7),a=(t(26),t(18),Object.prototype.hasOwnProperty),s=t(10),c={key:!0,ref:!0,__self:!0,__source:!0},l=function(t,e,n,r,o,i,u){var a={$$typeof:s,type:t,key:e,ref:n,props:u,_owner:i};return a};l.createElement=function(t,e,n){var i,s={},f=null,p=null,d=null,y=null;if(null!=e){r(e)&&(p=e.ref),o(e)&&(f=""+e.key),d=void 0===e.__self?null:e.__self,y=void 0===e.__source?null:e.__source;for(i in e)a.call(e,i)&&!c.hasOwnProperty(i)&&(s[i]=e[i])}var v=arguments.length-2;if(1===v)s.children=n;else if(v>1){for(var h=Array(v),m=0;m<v;m++)h[m]=arguments[m+2];s.children=h}if(t&&t.defaultProps){var b=t.defaultProps;for(i in b)void 0===s[i]&&(s[i]=b[i])}return l(t,f,p,d,y,u.current,s)},l.createFactory=function(t){var e=l.createElement.bind(null,t);return e.type=t,e},l.cloneAndReplaceKey=function(t,e){var n=l(t.type,e,t.ref,t._self,t._source,t._owner,t.props);return n},l.cloneElement=function(t,e,n){var s,f=i({},t.props),p=t.key,d=t.ref,y=t._self,v=t._source,h=t._owner;if(null!=e){r(e)&&(d=e.ref,h=u.current),o(e)&&(p=""+e.key);var m;t.type&&t.type.defaultProps&&(m=t.type.defaultProps);for(s in e)a.call(e,s)&&!c.hasOwnProperty(s)&&(void 0===e[s]&&void 0!==m?f[s]=m[s]:f[s]=e[s])}var b=arguments.length-2;if(1===b)f.children=n;else if(b>1){for(var g=Array(b),E=0;E<b;E++)g[E]=arguments[E+2];f.children=g}return l(t.type,p,d,y,v,h,f)},l.isValidElement=function(t){return"object"==typeof t&&null!==t&&t.$$typeof===s},e.exports=l},{10:10,18:18,26:26,27:27,7:7}],10:[function(t,e,n){"use strict";var r="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;e.exports=r},{}],11:[function(t,e,n){"use strict";function r(t,e){}var o=(t(26),{isMounted:function(t){return!1},enqueueCallback:function(t,e){},enqueueForceUpdate:function(t){r(t,"forceUpdate")},enqueueReplaceState:function(t,e){r(t,"replaceState")},enqueueSetState:function(t,e){r(t,"setState")}});e.exports=o},{26:26}],12:[function(t,e,n){"use strict";var r={};e.exports=r},{}],13:[function(t,e,n){"use strict";function r(t,e){return t===e?0!==t||1/t===1/e:t!==t&&e!==e}function o(t){this.message=t,this.stack=""}function i(t){function e(e,n,r,i,u,a,s){if(i=i||N,a=a||r,null==n[r]){var c=_[u];return e?new o(null===n[r]?"The "+c+" `"+a+"` is marked as required "+("in `"+i+"`, but its value is `null`."):"The "+c+" `"+a+"` is marked as required in "+("`"+i+"`, but its value is `undefined`.")):null}return t(n,r,i,u,a)}var n=e.bind(null,!1);return n.isRequired=e.bind(null,!0),n}function u(t){function e(e,n,r,i,u,a){var s=e[n],c=b(s);if(c!==t){var l=_[i],f=g(s);return new o("Invalid "+l+" `"+u+"` of type "+("`"+f+"` supplied to `"+r+"`, expected ")+("`"+t+"`."))}return null}return i(e)}function a(){return i(w.thatReturns(null))}function s(t){function e(e,n,r,i,u){if("function"!=typeof t)return new o("Property `"+u+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var a=e[n];if(!Array.isArray(a)){var s=_[i],c=b(a);return new o("Invalid "+s+" `"+u+"` of type "+("`"+c+"` supplied to `"+r+"`, expected an array."))}for(var l=0;l<a.length;l++){var f=t(a,l,r,i,u+"["+l+"]",P);if(f instanceof Error)return f}return null}return i(e)}function c(){function t(t,e,n,r,i){var u=t[e];if(!x.isValidElement(u)){var a=_[r],s=b(u);return new o("Invalid "+a+" `"+i+"` of type "+("`"+s+"` supplied to `"+n+"`, expected a single ReactElement."))}return null}return i(t)}function l(t){function e(e,n,r,i,u){if(!(e[n]instanceof t)){var a=_[i],s=t.name||N,c=E(e[n]);return new o("Invalid "+a+" `"+u+"` of type "+("`"+c+"` supplied to `"+r+"`, expected ")+("instance of `"+s+"`."))}return null}return i(e)}function f(t){function e(e,n,i,u,a){for(var s=e[n],c=0;c<t.length;c++)if(r(s,t[c]))return null;var l=_[u],f=JSON.stringify(t);return new o("Invalid "+l+" `"+a+"` of value `"+s+"` "+("supplied to `"+i+"`, expected one of "+f+"."))}return Array.isArray(t)?i(e):w.thatReturnsNull}function p(t){function e(e,n,r,i,u){if("function"!=typeof t)return new o("Property `"+u+"` of component `"+r+"` has invalid PropType notation inside objectOf.");var a=e[n],s=b(a);if("object"!==s){var c=_[i];return new o("Invalid "+c+" `"+u+"` of type "+("`"+s+"` supplied to `"+r+"`, expected an object."))}for(var l in a)if(a.hasOwnProperty(l)){var f=t(a,l,r,i,u+"."+l,P);if(f instanceof Error)return f}return null}return i(e)}function d(t){function e(e,n,r,i,u){for(var a=0;a<t.length;a++){var s=t[a];if(null==s(e,n,r,i,u,P))return null}var c=_[i];return new o("Invalid "+c+" `"+u+"` supplied to "+("`"+r+"`."))}return Array.isArray(t)?i(e):w.thatReturnsNull}function y(){function t(t,e,n,r,i){if(!h(t[e])){var u=_[r];return new o("Invalid "+u+" `"+i+"` supplied to "+("`"+n+"`, expected a ReactNode."))}return null}return i(t)}function v(t){function e(e,n,r,i,u){var a=e[n],s=b(a);if("object"!==s){var c=_[i];return new o("Invalid "+c+" `"+u+"` of type `"+s+"` "+("supplied to `"+r+"`, expected `object`."))}for(var l in t){var f=t[l];if(f){var p=f(a,l,r,i,u+"."+l,P);if(p)return p}}return null}return i(e)}function h(t){switch(typeof t){case"number":case"string":case"undefined":return!0;case"boolean":return!t;case"object":if(Array.isArray(t))return t.every(h);if(null===t||x.isValidElement(t))return!0;var e=A(t);if(!e)return!1;var n,r=e.call(t);if(e!==t.entries){for(;!(n=r.next()).done;)if(!h(n.value))return!1}else for(;!(n=r.next()).done;){var o=n.value;if(o&&!h(o[1]))return!1}return!0;default:return!1}}function m(t,e){return"symbol"===t||"Symbol"===e["@@toStringTag"]||"function"==typeof Symbol&&e instanceof Symbol}function b(t){var e=typeof t;return Array.isArray(t)?"array":t instanceof RegExp?"object":m(e,t)?"symbol":e}function g(t){var e=b(t);if("object"===e){if(t instanceof Date)return"date";if(t instanceof RegExp)return"regexp"}return e}function E(t){return t.constructor&&t.constructor.name?t.constructor.name:N}var x=t(9),_=t(12),P=t(14),w=t(23),A=t(19),N=(t(26),"<<anonymous>>"),O={array:u("array"),bool:u("boolean"),func:u("function"),number:u("number"),object:u("object"),string:u("string"),symbol:u("symbol"),any:a(),arrayOf:s,element:c(),instanceOf:l,node:y(),objectOf:p,oneOf:f,oneOfType:d,shape:v};o.prototype=Error.prototype,e.exports=O},{12:12,14:14,19:19,23:23,26:26,9:9}],14:[function(t,e,n){"use strict";var r="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";e.exports=r},{}],15:[function(t,e,n){"use strict";function r(t,e,n){this.props=t,this.context=e,this.refs=s,this.updater=n||a}function o(){}var i=t(27),u=t(6),a=t(11),s=t(24);o.prototype=u.prototype,r.prototype=new o,r.prototype.constructor=r,i(r.prototype,u.prototype),r.prototype.isPureReactComponent=!0,e.exports=r},{11:11,24:24,27:27,6:6}],16:[function(t,e,n){"use strict";var r=t(27),o=t(3),i=r({__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentOwner:t(7)}},o);e.exports=i},{27:27,3:3,7:7}],17:[function(t,e,n){"use strict";e.exports="15.4.2"},{}],18:[function(t,e,n){"use strict";var r=!1;e.exports=r},{}],19:[function(t,e,n){"use strict";function r(t){var e=t&&(o&&t[o]||t[i]);if("function"==typeof e)return e}var o="function"==typeof Symbol&&Symbol.iterator,i="@@iterator";e.exports=r},{}],20:[function(t,e,n){"use strict";function r(t){return i.isValidElement(t)?void 0:o("143"),t}var o=t(21),i=t(9);t(25);e.exports=r},{21:21,25:25,9:9}],21:[function(t,e,n){"use strict";function r(t){for(var e=arguments.length-1,n="Minified React error #"+t+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+t,r=0;r<e;r++)n+="&args[]="+encodeURIComponent(arguments[r+1]);n+=" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";var o=new Error(n);throw o.name="Invariant Violation",o.framesToPop=1,o}e.exports=r},{}],22:[function(t,e,n){"use strict";function r(t,e){return t&&"object"==typeof t&&null!=t.key?c.escape(t.key):e.toString(36)}function o(t,e,n,i){var p=typeof t;if("undefined"!==p&&"boolean"!==p||(t=null),null===t||"string"===p||"number"===p||"object"===p&&t.$$typeof===a)return n(i,t,""===e?l+r(t,0):e),1;var d,y,v=0,h=""===e?l:e+f;if(Array.isArray(t))for(var m=0;m<t.length;m++)d=t[m],y=h+r(d,m),v+=o(d,y,n,i);else{var b=s(t);if(b){var g,E=b.call(t);if(b!==t.entries)for(var x=0;!(g=E.next()).done;)d=g.value,y=h+r(d,x++),v+=o(d,y,n,i);else for(;!(g=E.next()).done;){var _=g.value;_&&(d=_[1],y=h+c.escape(_[0])+f+r(d,0),v+=o(d,y,n,i))}}else if("object"===p){var P="",w=String(t);u("31","[object Object]"===w?"object with keys {"+Object.keys(t).join(", ")+"}":w,P)}}return v}function i(t,e,n){return null==t?0:o(t,"",e,n)}var u=t(21),a=(t(7),t(10)),s=t(19),c=(t(25),t(1)),l=(t(26),"."),f=":";e.exports=i},{1:1,10:10,19:19,21:21,25:25,26:26,7:7}],23:[function(t,e,n){"use strict";function r(t){return function(){return t}}var o=function(){};o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(t){return t},e.exports=o},{}],24:[function(t,e,n){"use strict";var r={};e.exports=r},{}],25:[function(t,e,n){"use strict";function r(t,e,n,r,i,u,a,s){if(o(e),!t){var c;if(void 0===e)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[n,r,i,u,a,s],f=0;c=new Error(e.replace(/%s/g,function(){return l[f++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}}var o=function(t){};e.exports=r},{}],26:[function(t,e,n){"use strict";var r=t(23),o=r;e.exports=o},{23:23}],27:[function(t,e,n){"use strict";function r(t){if(null===t||void 0===t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}function o(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(e).map(function(t){return e[t]});if("0123456789"!==r.join(""))return!1;var o={};return"abcdefghijklmnopqrst".split("").forEach(function(t){o[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},o)).join("")}catch(t){return!1}}var i=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable;e.exports=o()?Object.assign:function(t,e){for(var n,o,a=r(t),s=1;s<arguments.length;s++){n=Object(arguments[s]);for(var c in n)i.call(n,c)&&(a[c]=n[c]);if(Object.getOwnPropertySymbols){o=Object.getOwnPropertySymbols(n);for(var l=0;l<o.length;l++)u.call(n,o[l])&&(a[o[l]]=n[o[l]])}}return a}},{}]},{},[16])(16)});
/**
 * ReactDOM v15.4.2
 *
 * Copyright 2013-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 */
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e(require("react"));else if("function"==typeof define&&define.amd)define(["react"],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.ReactDOM=e(t.React)}}(function(e){return function(e){return e()}(function(){return function e(t,n,r){function o(a,s){if(!n[a]){if(!t[a]){var u="function"==typeof require&&require;if(!s&&u)return u(a,!0);if(i)return i(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[a]={exports:{}};t[a][0].call(c.exports,function(e){var n=t[a][1][e];return o(n?n:e)},c,c.exports,e,t,n,r)}return n[a].exports}for(var i="function"==typeof require&&require,a=0;a<r.length;a++)o(r[a]);return o}({1:[function(e,t,n){"use strict";var r={Properties:{"aria-current":0,"aria-details":0,"aria-disabled":0,"aria-hidden":0,"aria-invalid":0,"aria-keyshortcuts":0,"aria-label":0,"aria-roledescription":0,"aria-autocomplete":0,"aria-checked":0,"aria-expanded":0,"aria-haspopup":0,"aria-level":0,"aria-modal":0,"aria-multiline":0,"aria-multiselectable":0,"aria-orientation":0,"aria-placeholder":0,"aria-pressed":0,"aria-readonly":0,"aria-required":0,"aria-selected":0,"aria-sort":0,"aria-valuemax":0,"aria-valuemin":0,"aria-valuenow":0,"aria-valuetext":0,"aria-atomic":0,"aria-busy":0,"aria-live":0,"aria-relevant":0,"aria-dropeffect":0,"aria-grabbed":0,"aria-activedescendant":0,"aria-colcount":0,"aria-colindex":0,"aria-colspan":0,"aria-controls":0,"aria-describedby":0,"aria-errormessage":0,"aria-flowto":0,"aria-labelledby":0,"aria-owns":0,"aria-posinset":0,"aria-rowcount":0,"aria-rowindex":0,"aria-rowspan":0,"aria-setsize":0},DOMAttributeNames:{},DOMPropertyNames:{}};t.exports=r},{}],2:[function(e,t,n){"use strict";var r=e(33),o=e(131),i={focusDOMComponent:function(){o(r.getNodeFromInstance(this))}};t.exports=i},{131:131,33:33}],3:[function(e,t,n){"use strict";function r(){var e=window.opera;return"object"==typeof e&&"function"==typeof e.version&&parseInt(e.version(),10)<=12}function o(e){return(e.ctrlKey||e.altKey||e.metaKey)&&!(e.ctrlKey&&e.altKey)}function i(e){switch(e){case"topCompositionStart":return k.compositionStart;case"topCompositionEnd":return k.compositionEnd;case"topCompositionUpdate":return k.compositionUpdate}}function a(e,t){return"topKeyDown"===e&&t.keyCode===_}function s(e,t){switch(e){case"topKeyUp":return y.indexOf(t.keyCode)!==-1;case"topKeyDown":return t.keyCode!==_;case"topKeyPress":case"topMouseDown":case"topBlur":return!0;default:return!1}}function u(e){var t=e.detail;return"object"==typeof t&&"data"in t?t.data:null}function l(e,t,n,r){var o,l;if(C?o=i(e):N?s(e,n)&&(o=k.compositionEnd):a(e,n)&&(o=k.compositionStart),!o)return null;x&&(N||o!==k.compositionStart?o===k.compositionEnd&&N&&(l=N.getData()):N=m.getPooled(r));var c=v.getPooled(o,t,n,r);if(l)c.data=l;else{var p=u(n);null!==p&&(c.data=p)}return f.accumulateTwoPhaseDispatches(c),c}function c(e,t){switch(e){case"topCompositionEnd":return u(t);case"topKeyPress":var n=t.which;return n!==w?null:(P=!0,T);case"topTextInput":var r=t.data;return r===T&&P?null:r;default:return null}}function p(e,t){if(N){if("topCompositionEnd"===e||!C&&s(e,t)){var n=N.getData();return m.release(N),N=null,n}return null}switch(e){case"topPaste":return null;case"topKeyPress":return t.which&&!o(t)?String.fromCharCode(t.which):null;case"topCompositionEnd":return x?null:t.data;default:return null}}function d(e,t,n,r){var o;if(o=E?c(e,n):p(e,n),!o)return null;var i=g.getPooled(k.beforeInput,t,n,r);return i.data=o,f.accumulateTwoPhaseDispatches(i),i}var f=e(19),h=e(123),m=e(20),v=e(78),g=e(82),y=[9,13,27,32],_=229,C=h.canUseDOM&&"CompositionEvent"in window,b=null;h.canUseDOM&&"documentMode"in document&&(b=document.documentMode);var E=h.canUseDOM&&"TextEvent"in window&&!b&&!r(),x=h.canUseDOM&&(!C||b&&b>8&&b<=11),w=32,T=String.fromCharCode(w),k={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:["topBlur","topCompositionEnd","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:["topBlur","topCompositionStart","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:["topBlur","topCompositionUpdate","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]}},P=!1,N=null,S={eventTypes:k,extractEvents:function(e,t,n,r){return[l(e,t,n,r),d(e,t,n,r)]}};t.exports=S},{123:123,19:19,20:20,78:78,82:82}],4:[function(e,t,n){"use strict";function r(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}var o={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},i=["Webkit","ms","Moz","O"];Object.keys(o).forEach(function(e){i.forEach(function(t){o[r(t,e)]=o[e]})});var a={background:{backgroundAttachment:!0,backgroundColor:!0,backgroundImage:!0,backgroundPositionX:!0,backgroundPositionY:!0,backgroundRepeat:!0},backgroundPosition:{backgroundPositionX:!0,backgroundPositionY:!0},border:{borderWidth:!0,borderStyle:!0,borderColor:!0},borderBottom:{borderBottomWidth:!0,borderBottomStyle:!0,borderBottomColor:!0},borderLeft:{borderLeftWidth:!0,borderLeftStyle:!0,borderLeftColor:!0},borderRight:{borderRightWidth:!0,borderRightStyle:!0,borderRightColor:!0},borderTop:{borderTopWidth:!0,borderTopStyle:!0,borderTopColor:!0},font:{fontStyle:!0,fontVariant:!0,fontWeight:!0,fontSize:!0,lineHeight:!0,fontFamily:!0},outline:{outlineWidth:!0,outlineStyle:!0,outlineColor:!0}},s={isUnitlessNumber:o,shorthandPropertyExpansions:a};t.exports=s},{}],5:[function(e,t,n){"use strict";var r=e(4),o=e(123),i=(e(58),e(125),e(94)),a=e(136),s=e(140),u=(e(142),s(function(e){return a(e)})),l=!1,c="cssFloat";if(o.canUseDOM){var p=document.createElement("div").style;try{p.font=""}catch(e){l=!0}void 0===document.documentElement.style.cssFloat&&(c="styleFloat")}var d={createMarkupForStyles:function(e,t){var n="";for(var r in e)if(e.hasOwnProperty(r)){var o=e[r];null!=o&&(n+=u(r)+":",n+=i(r,o,t)+";")}return n||null},setValueForStyles:function(e,t,n){var o=e.style;for(var a in t)if(t.hasOwnProperty(a)){var s=i(a,t[a],n);if("float"!==a&&"cssFloat"!==a||(a=c),s)o[a]=s;else{var u=l&&r.shorthandPropertyExpansions[a];if(u)for(var p in u)o[p]="";else o[a]=""}}}};t.exports=d},{123:123,125:125,136:136,140:140,142:142,4:4,58:58,94:94}],6:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=e(113),i=e(24),a=(e(137),function(){function e(t){r(this,e),this._callbacks=null,this._contexts=null,this._arg=t}return e.prototype.enqueue=function(e,t){this._callbacks=this._callbacks||[],this._callbacks.push(e),this._contexts=this._contexts||[],this._contexts.push(t)},e.prototype.notifyAll=function(){var e=this._callbacks,t=this._contexts,n=this._arg;if(e&&t){e.length!==t.length?o("24"):void 0,this._callbacks=null,this._contexts=null;for(var r=0;r<e.length;r++)e[r].call(t[r],n);e.length=0,t.length=0}},e.prototype.checkpoint=function(){return this._callbacks?this._callbacks.length:0},e.prototype.rollback=function(e){this._callbacks&&this._contexts&&(this._callbacks.length=e,this._contexts.length=e)},e.prototype.reset=function(){this._callbacks=null,this._contexts=null},e.prototype.destructor=function(){this.reset()},e}());t.exports=i.addPoolingTo(a)},{113:113,137:137,24:24}],7:[function(e,t,n){"use strict";function r(e){var t=e.nodeName&&e.nodeName.toLowerCase();return"select"===t||"input"===t&&"file"===e.type}function o(e){var t=x.getPooled(P.change,S,e,w(e));_.accumulateTwoPhaseDispatches(t),E.batchedUpdates(i,t)}function i(e){y.enqueueEvents(e),y.processEventQueue(!1)}function a(e,t){N=e,S=t,N.attachEvent("onchange",o)}function s(){N&&(N.detachEvent("onchange",o),N=null,S=null)}function u(e,t){if("topChange"===e)return t}function l(e,t,n){"topFocus"===e?(s(),a(t,n)):"topBlur"===e&&s()}function c(e,t){N=e,S=t,M=e.value,I=Object.getOwnPropertyDescriptor(e.constructor.prototype,"value"),Object.defineProperty(N,"value",A),N.attachEvent?N.attachEvent("onpropertychange",d):N.addEventListener("propertychange",d,!1)}function p(){N&&(delete N.value,N.detachEvent?N.detachEvent("onpropertychange",d):N.removeEventListener("propertychange",d,!1),N=null,S=null,M=null,I=null)}function d(e){if("value"===e.propertyName){var t=e.srcElement.value;t!==M&&(M=t,o(e))}}function f(e,t){if("topInput"===e)return t}function h(e,t,n){"topFocus"===e?(p(),c(t,n)):"topBlur"===e&&p()}function m(e,t){if(("topSelectionChange"===e||"topKeyUp"===e||"topKeyDown"===e)&&N&&N.value!==M)return M=N.value,S}function v(e){return e.nodeName&&"input"===e.nodeName.toLowerCase()&&("checkbox"===e.type||"radio"===e.type)}function g(e,t){if("topClick"===e)return t}var y=e(16),_=e(19),C=e(123),b=e(33),E=e(71),x=e(80),w=e(102),T=e(110),k=e(111),P={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:["topBlur","topChange","topClick","topFocus","topInput","topKeyDown","topKeyUp","topSelectionChange"]}},N=null,S=null,M=null,I=null,O=!1;C.canUseDOM&&(O=T("change")&&(!document.documentMode||document.documentMode>8));var R=!1;C.canUseDOM&&(R=T("input")&&(!document.documentMode||document.documentMode>11));var A={get:function(){return I.get.call(this)},set:function(e){M=""+e,I.set.call(this,e)}},D={eventTypes:P,extractEvents:function(e,t,n,o){var i,a,s=t?b.getNodeFromInstance(t):window;if(r(s)?O?i=u:a=l:k(s)?R?i=f:(i=m,a=h):v(s)&&(i=g),i){var c=i(e,t);if(c){var p=x.getPooled(P.change,c,n,o);return p.type="change",_.accumulateTwoPhaseDispatches(p),p}}a&&a(e,s,t)}};t.exports=D},{102:102,110:110,111:111,123:123,16:16,19:19,33:33,71:71,80:80}],8:[function(e,t,n){"use strict";function r(e,t){return Array.isArray(t)&&(t=t[1]),t?t.nextSibling:e.firstChild}function o(e,t,n){c.insertTreeBefore(e,t,n)}function i(e,t,n){Array.isArray(t)?s(e,t[0],t[1],n):m(e,t,n)}function a(e,t){if(Array.isArray(t)){var n=t[1];t=t[0],u(e,t,n),e.removeChild(n)}e.removeChild(t)}function s(e,t,n,r){for(var o=t;;){var i=o.nextSibling;if(m(e,o,r),o===n)break;o=i}}function u(e,t,n){for(;;){var r=t.nextSibling;if(r===n)break;e.removeChild(r)}}function l(e,t,n){var r=e.parentNode,o=e.nextSibling;o===t?n&&m(r,document.createTextNode(n),o):n?(h(o,n),u(r,o,t)):u(r,e,t)}var c=e(9),p=e(13),d=(e(33),e(58),e(93)),f=e(115),h=e(116),m=d(function(e,t,n){e.insertBefore(t,n)}),v=p.dangerouslyReplaceNodeWithMarkup,g={dangerouslyReplaceNodeWithMarkup:v,replaceDelimitedText:l,processUpdates:function(e,t){for(var n=0;n<t.length;n++){var s=t[n];switch(s.type){case"INSERT_MARKUP":o(e,s.content,r(e,s.afterNode));break;case"MOVE_EXISTING":i(e,s.fromNode,r(e,s.afterNode));break;case"SET_MARKUP":f(e,s.content);break;case"TEXT_CONTENT":h(e,s.content);break;case"REMOVE_NODE":a(e,s.fromNode)}}}};t.exports=g},{115:115,116:116,13:13,33:33,58:58,9:9,93:93}],9:[function(e,t,n){"use strict";function r(e){if(v){var t=e.node,n=e.children;if(n.length)for(var r=0;r<n.length;r++)g(t,n[r],null);else null!=e.html?p(t,e.html):null!=e.text&&f(t,e.text)}}function o(e,t){e.parentNode.replaceChild(t.node,e),r(t)}function i(e,t){v?e.children.push(t):e.node.appendChild(t.node)}function a(e,t){v?e.html=t:p(e.node,t)}function s(e,t){v?e.text=t:f(e.node,t)}function u(){return this.node.nodeName}function l(e){return{node:e,children:[],html:null,text:null,toString:u}}var c=e(10),p=e(115),d=e(93),f=e(116),h=1,m=11,v="undefined"!=typeof document&&"number"==typeof document.documentMode||"undefined"!=typeof navigator&&"string"==typeof navigator.userAgent&&/\bEdge\/\d/.test(navigator.userAgent),g=d(function(e,t,n){t.node.nodeType===m||t.node.nodeType===h&&"object"===t.node.nodeName.toLowerCase()&&(null==t.node.namespaceURI||t.node.namespaceURI===c.html)?(r(t),e.insertBefore(t.node,n)):(e.insertBefore(t.node,n),r(t))});l.insertTreeBefore=g,l.replaceChildWithTree=o,l.queueChild=i,l.queueHTML=a,l.queueText=s,t.exports=l},{10:10,115:115,116:116,93:93}],10:[function(e,t,n){"use strict";var r={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};t.exports=r},{}],11:[function(e,t,n){"use strict";function r(e,t){return(e&t)===t}var o=e(113),i=(e(137),{MUST_USE_PROPERTY:1,HAS_BOOLEAN_VALUE:4,HAS_NUMERIC_VALUE:8,HAS_POSITIVE_NUMERIC_VALUE:24,HAS_OVERLOADED_BOOLEAN_VALUE:32,injectDOMPropertyConfig:function(e){var t=i,n=e.Properties||{},a=e.DOMAttributeNamespaces||{},u=e.DOMAttributeNames||{},l=e.DOMPropertyNames||{},c=e.DOMMutationMethods||{};e.isCustomAttribute&&s._isCustomAttributeFunctions.push(e.isCustomAttribute);for(var p in n){s.properties.hasOwnProperty(p)?o("48",p):void 0;var d=p.toLowerCase(),f=n[p],h={attributeName:d,attributeNamespace:null,propertyName:p,mutationMethod:null,mustUseProperty:r(f,t.MUST_USE_PROPERTY),hasBooleanValue:r(f,t.HAS_BOOLEAN_VALUE),hasNumericValue:r(f,t.HAS_NUMERIC_VALUE),hasPositiveNumericValue:r(f,t.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:r(f,t.HAS_OVERLOADED_BOOLEAN_VALUE)};if(h.hasBooleanValue+h.hasNumericValue+h.hasOverloadedBooleanValue<=1?void 0:o("50",p),u.hasOwnProperty(p)){var m=u[p];h.attributeName=m}a.hasOwnProperty(p)&&(h.attributeNamespace=a[p]),l.hasOwnProperty(p)&&(h.propertyName=l[p]),c.hasOwnProperty(p)&&(h.mutationMethod=c[p]),s.properties[p]=h}}}),a=":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",s={ID_ATTRIBUTE_NAME:"data-reactid",ROOT_ATTRIBUTE_NAME:"data-reactroot",ATTRIBUTE_NAME_START_CHAR:a,ATTRIBUTE_NAME_CHAR:a+"\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",properties:{},getPossibleStandardName:null,_isCustomAttributeFunctions:[],isCustomAttribute:function(e){for(var t=0;t<s._isCustomAttributeFunctions.length;t++){var n=s._isCustomAttributeFunctions[t];if(n(e))return!0}return!1},injection:i};t.exports=s},{113:113,137:137}],12:[function(e,t,n){"use strict";function r(e){return!!l.hasOwnProperty(e)||!u.hasOwnProperty(e)&&(s.test(e)?(l[e]=!0,!0):(u[e]=!0,!1))}function o(e,t){return null==t||e.hasBooleanValue&&!t||e.hasNumericValue&&isNaN(t)||e.hasPositiveNumericValue&&t<1||e.hasOverloadedBooleanValue&&t===!1}var i=e(11),a=(e(33),e(58),e(112)),s=(e(142),new RegExp("^["+i.ATTRIBUTE_NAME_START_CHAR+"]["+i.ATTRIBUTE_NAME_CHAR+"]*$")),u={},l={},c={createMarkupForID:function(e){return i.ID_ATTRIBUTE_NAME+"="+a(e)},setAttributeForID:function(e,t){e.setAttribute(i.ID_ATTRIBUTE_NAME,t)},createMarkupForRoot:function(){return i.ROOT_ATTRIBUTE_NAME+'=""'},setAttributeForRoot:function(e){e.setAttribute(i.ROOT_ATTRIBUTE_NAME,"")},createMarkupForProperty:function(e,t){var n=i.properties.hasOwnProperty(e)?i.properties[e]:null;if(n){if(o(n,t))return"";var r=n.attributeName;return n.hasBooleanValue||n.hasOverloadedBooleanValue&&t===!0?r+'=""':r+"="+a(t)}return i.isCustomAttribute(e)?null==t?"":e+"="+a(t):null},createMarkupForCustomAttribute:function(e,t){return r(e)&&null!=t?e+"="+a(t):""},setValueForProperty:function(e,t,n){var r=i.properties.hasOwnProperty(t)?i.properties[t]:null;if(r){var a=r.mutationMethod;if(a)a(e,n);else{if(o(r,n))return void this.deleteValueForProperty(e,t);if(r.mustUseProperty)e[r.propertyName]=n;else{var s=r.attributeName,u=r.attributeNamespace;u?e.setAttributeNS(u,s,""+n):r.hasBooleanValue||r.hasOverloadedBooleanValue&&n===!0?e.setAttribute(s,""):e.setAttribute(s,""+n)}}}else if(i.isCustomAttribute(t))return void c.setValueForAttribute(e,t,n)},setValueForAttribute:function(e,t,n){r(t)&&(null==n?e.removeAttribute(t):e.setAttribute(t,""+n))},deleteValueForAttribute:function(e,t){e.removeAttribute(t)},deleteValueForProperty:function(e,t){var n=i.properties.hasOwnProperty(t)?i.properties[t]:null;if(n){var r=n.mutationMethod;if(r)r(e,void 0);else if(n.mustUseProperty){var o=n.propertyName;n.hasBooleanValue?e[o]=!1:e[o]=""}else e.removeAttribute(n.attributeName)}else i.isCustomAttribute(t)&&e.removeAttribute(t)}};t.exports=c},{11:11,112:112,142:142,33:33,58:58}],13:[function(e,t,n){"use strict";var r=e(113),o=e(9),i=e(123),a=e(128),s=e(129),u=(e(137),{dangerouslyReplaceNodeWithMarkup:function(e,t){if(i.canUseDOM?void 0:r("56"),t?void 0:r("57"),"HTML"===e.nodeName?r("58"):void 0,"string"==typeof t){var n=a(t,s)[0];e.parentNode.replaceChild(n,e)}else o.replaceChildWithTree(e,t)}});t.exports=u},{113:113,123:123,128:128,129:129,137:137,9:9}],14:[function(e,t,n){"use strict";var r=["ResponderEventPlugin","SimpleEventPlugin","TapEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin"];t.exports=r},{}],15:[function(e,t,n){"use strict";var r=e(19),o=e(33),i=e(84),a={mouseEnter:{registrationName:"onMouseEnter",dependencies:["topMouseOut","topMouseOver"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["topMouseOut","topMouseOver"]}},s={eventTypes:a,extractEvents:function(e,t,n,s){if("topMouseOver"===e&&(n.relatedTarget||n.fromElement))return null;if("topMouseOut"!==e&&"topMouseOver"!==e)return null;var u;if(s.window===s)u=s;else{var l=s.ownerDocument;u=l?l.defaultView||l.parentWindow:window}var c,p;if("topMouseOut"===e){c=t;var d=n.relatedTarget||n.toElement;p=d?o.getClosestInstanceFromNode(d):null}else c=null,p=t;if(c===p)return null;var f=null==c?u:o.getNodeFromInstance(c),h=null==p?u:o.getNodeFromInstance(p),m=i.getPooled(a.mouseLeave,c,n,s);m.type="mouseleave",m.target=f,m.relatedTarget=h;var v=i.getPooled(a.mouseEnter,p,n,s);return v.type="mouseenter",v.target=h,v.relatedTarget=f,r.accumulateEnterLeaveDispatches(m,v,c,p),[m,v]}};t.exports=s},{19:19,33:33,84:84}],16:[function(e,t,n){"use strict";function r(e){return"button"===e||"input"===e||"select"===e||"textarea"===e}function o(e,t,n){switch(e){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":return!(!n.disabled||!r(t));default:return!1}}var i=e(113),a=e(17),s=e(18),u=e(50),l=e(91),c=e(98),p=(e(137),{}),d=null,f=function(e,t){e&&(s.executeDispatchesInOrder(e,t),e.isPersistent()||e.constructor.release(e))},h=function(e){return f(e,!0)},m=function(e){return f(e,!1)},v=function(e){return"."+e._rootNodeID},g={injection:{injectEventPluginOrder:a.injectEventPluginOrder,injectEventPluginsByName:a.injectEventPluginsByName},putListener:function(e,t,n){"function"!=typeof n?i("94",t,typeof n):void 0;var r=v(e),o=p[t]||(p[t]={});o[r]=n;var s=a.registrationNameModules[t];s&&s.didPutListener&&s.didPutListener(e,t,n)},getListener:function(e,t){var n=p[t];if(o(t,e._currentElement.type,e._currentElement.props))return null;var r=v(e);return n&&n[r]},deleteListener:function(e,t){var n=a.registrationNameModules[t];n&&n.willDeleteListener&&n.willDeleteListener(e,t);var r=p[t];if(r){var o=v(e);delete r[o]}},deleteAllListeners:function(e){var t=v(e);for(var n in p)if(p.hasOwnProperty(n)&&p[n][t]){var r=a.registrationNameModules[n];r&&r.willDeleteListener&&r.willDeleteListener(e,n),delete p[n][t]}},extractEvents:function(e,t,n,r){for(var o,i=a.plugins,s=0;s<i.length;s++){var u=i[s];if(u){var c=u.extractEvents(e,t,n,r);c&&(o=l(o,c))}}return o},enqueueEvents:function(e){e&&(d=l(d,e))},processEventQueue:function(e){var t=d;d=null,e?c(t,h):c(t,m),d?i("95"):void 0,u.rethrowCaughtError()},__purge:function(){p={}},__getListenerBank:function(){return p}};t.exports=g},{113:113,137:137,17:17,18:18,50:50,91:91,98:98}],17:[function(e,t,n){"use strict";function r(){if(s)for(var e in u){var t=u[e],n=s.indexOf(e);if(n>-1?void 0:a("96",e),!l.plugins[n]){t.extractEvents?void 0:a("97",e),l.plugins[n]=t;var r=t.eventTypes;for(var i in r)o(r[i],t,i)?void 0:a("98",i,e)}}}function o(e,t,n){l.eventNameDispatchConfigs.hasOwnProperty(n)?a("99",n):void 0,l.eventNameDispatchConfigs[n]=e;var r=e.phasedRegistrationNames;if(r){for(var o in r)if(r.hasOwnProperty(o)){var s=r[o];i(s,t,n)}return!0}return!!e.registrationName&&(i(e.registrationName,t,n),!0)}function i(e,t,n){l.registrationNameModules[e]?a("100",e):void 0,l.registrationNameModules[e]=t,l.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var a=e(113),s=(e(137),null),u={},l={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(e){s?a("101"):void 0,s=Array.prototype.slice.call(e),r()},injectEventPluginsByName:function(e){var t=!1;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];u.hasOwnProperty(n)&&u[n]===o||(u[n]?a("102",n):void 0,u[n]=o,t=!0)}t&&r()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return l.registrationNameModules[t.registrationName]||null;if(void 0!==t.phasedRegistrationNames){var n=t.phasedRegistrationNames;for(var r in n)if(n.hasOwnProperty(r)){var o=l.registrationNameModules[n[r]];if(o)return o}}return null},_resetEventPlugins:function(){s=null;for(var e in u)u.hasOwnProperty(e)&&delete u[e];l.plugins.length=0;var t=l.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=l.registrationNameModules;for(var o in r)r.hasOwnProperty(o)&&delete r[o]}};t.exports=l},{113:113,137:137}],18:[function(e,t,n){"use strict";function r(e){return"topMouseUp"===e||"topTouchEnd"===e||"topTouchCancel"===e}function o(e){return"topMouseMove"===e||"topTouchMove"===e}function i(e){return"topMouseDown"===e||"topTouchStart"===e}function a(e,t,n,r){var o=e.type||"unknown-event";e.currentTarget=g.getNodeFromInstance(r),t?m.invokeGuardedCallbackWithCatch(o,n,e):m.invokeGuardedCallback(o,n,e),e.currentTarget=null}function s(e,t){var n=e._dispatchListeners,r=e._dispatchInstances;if(Array.isArray(n))for(var o=0;o<n.length&&!e.isPropagationStopped();o++)a(e,t,n[o],r[o]);else n&&a(e,t,n,r);e._dispatchListeners=null,e._dispatchInstances=null}function u(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t)){for(var r=0;r<t.length&&!e.isPropagationStopped();r++)if(t[r](e,n[r]))return n[r]}else if(t&&t(e,n))return n;return null}function l(e){var t=u(e);return e._dispatchInstances=null,e._dispatchListeners=null,t}function c(e){var t=e._dispatchListeners,n=e._dispatchInstances;Array.isArray(t)?h("103"):void 0,e.currentTarget=t?g.getNodeFromInstance(n):null;var r=t?t(e):null;return e.currentTarget=null,e._dispatchListeners=null,e._dispatchInstances=null,r}function p(e){return!!e._dispatchListeners}var d,f,h=e(113),m=e(50),v=(e(137),e(142),{injectComponentTree:function(e){d=e},injectTreeTraversal:function(e){f=e}}),g={isEndish:r,isMoveish:o,isStartish:i,executeDirectDispatch:c,executeDispatchesInOrder:s,executeDispatchesInOrderStopAtTrue:l,hasDispatches:p,getInstanceFromNode:function(e){return d.getInstanceFromNode(e)},getNodeFromInstance:function(e){return d.getNodeFromInstance(e)},isAncestor:function(e,t){return f.isAncestor(e,t)},getLowestCommonAncestor:function(e,t){return f.getLowestCommonAncestor(e,t)},getParentInstance:function(e){return f.getParentInstance(e)},traverseTwoPhase:function(e,t,n){return f.traverseTwoPhase(e,t,n)},traverseEnterLeave:function(e,t,n,r,o){return f.traverseEnterLeave(e,t,n,r,o)},injection:v};t.exports=g},{113:113,137:137,142:142,50:50}],19:[function(e,t,n){"use strict";function r(e,t,n){var r=t.dispatchConfig.phasedRegistrationNames[n];return g(e,r)}function o(e,t,n){var o=r(e,n,t);o&&(n._dispatchListeners=m(n._dispatchListeners,o),n._dispatchInstances=m(n._dispatchInstances,e))}function i(e){e&&e.dispatchConfig.phasedRegistrationNames&&h.traverseTwoPhase(e._targetInst,o,e)}function a(e){if(e&&e.dispatchConfig.phasedRegistrationNames){var t=e._targetInst,n=t?h.getParentInstance(t):null;h.traverseTwoPhase(n,o,e)}}function s(e,t,n){if(n&&n.dispatchConfig.registrationName){var r=n.dispatchConfig.registrationName,o=g(e,r);o&&(n._dispatchListeners=m(n._dispatchListeners,o),n._dispatchInstances=m(n._dispatchInstances,e))}}function u(e){e&&e.dispatchConfig.registrationName&&s(e._targetInst,null,e)}function l(e){v(e,i)}function c(e){v(e,a)}function p(e,t,n,r){h.traverseEnterLeave(n,r,s,e,t)}function d(e){v(e,u)}var f=e(16),h=e(18),m=e(91),v=e(98),g=(e(142),f.getListener),y={accumulateTwoPhaseDispatches:l,accumulateTwoPhaseDispatchesSkipTarget:c,accumulateDirectDispatches:d,accumulateEnterLeaveDispatches:p};t.exports=y},{142:142,16:16,18:18,91:91,98:98}],20:[function(e,t,n){"use strict";function r(e){this._root=e,this._startText=this.getText(),this._fallbackText=null}var o=e(143),i=e(24),a=e(107);o(r.prototype,{destructor:function(){this._root=null,this._startText=null,this._fallbackText=null},getText:function(){return"value"in this._root?this._root.value:this._root[a()]},getData:function(){if(this._fallbackText)return this._fallbackText;var e,t,n=this._startText,r=n.length,o=this.getText(),i=o.length;for(e=0;e<r&&n[e]===o[e];e++);var a=r-e;for(t=1;t<=a&&n[r-t]===o[i-t];t++);var s=t>1?1-t:void 0;return this._fallbackText=o.slice(e,s),this._fallbackText}}),i.addPoolingTo(r),t.exports=r},{107:107,143:143,24:24}],21:[function(e,t,n){"use strict";var r=e(11),o=r.injection.MUST_USE_PROPERTY,i=r.injection.HAS_BOOLEAN_VALUE,a=r.injection.HAS_NUMERIC_VALUE,s=r.injection.HAS_POSITIVE_NUMERIC_VALUE,u=r.injection.HAS_OVERLOADED_BOOLEAN_VALUE,l={isCustomAttribute:RegExp.prototype.test.bind(new RegExp("^(data|aria)-["+r.ATTRIBUTE_NAME_CHAR+"]*$")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:i,allowTransparency:0,alt:0,as:0,async:i,autoComplete:0,autoPlay:i,capture:i,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:o|i,cite:0,classID:0,className:0,cols:s,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:i,coords:0,crossOrigin:0,data:0,dateTime:0,default:i,defer:i,dir:0,disabled:i,download:u,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:i,formTarget:0,frameBorder:0,headers:0,height:0,hidden:i,high:0,href:0,hrefLang:0,htmlFor:0,httpEquiv:0,icon:0,id:0,inputMode:0,integrity:0,is:0,keyParams:0,keyType:0,kind:0,label:0,lang:0,list:0,loop:i,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:o|i,muted:o|i,name:0,nonce:0,noValidate:i,open:i,optimum:0,pattern:0,placeholder:0,playsInline:i,poster:0,preload:0,profile:0,radioGroup:0,readOnly:i,referrerPolicy:0,rel:0,required:i,reversed:i,role:0,rows:s,rowSpan:a,sandbox:0,scope:0,scoped:i,scrolling:0,seamless:i,selected:o|i,shape:0,size:s,sizes:0,span:s,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:a,step:0,style:0,summary:0,tabIndex:0,target:0,title:0,type:0,useMap:0,value:0,width:0,wmode:0,wrap:0,about:0,datatype:0,inlist:0,prefix:0,property:0,resource:0,typeof:0,vocab:0,autoCapitalize:0,autoCorrect:0,autoSave:0,color:0,itemProp:0,itemScope:i,itemType:0,itemID:0,itemRef:0,results:0,security:0,unselectable:0},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{}};t.exports=l},{11:11}],22:[function(e,t,n){"use strict";function r(e){var t=/[=:]/g,n={"=":"=0",":":"=2"},r=(""+e).replace(t,function(e){return n[e]});return"$"+r}function o(e){var t=/(=0|=2)/g,n={"=0":"=","=2":":"},r="."===e[0]&&"$"===e[1]?e.substring(2):e.substring(1);return(""+r).replace(t,function(e){return n[e]})}var i={escape:r,unescape:o};t.exports=i},{}],23:[function(e,t,n){"use strict";function r(e){null!=e.checkedLink&&null!=e.valueLink?s("87"):void 0}function o(e){r(e),null!=e.value||null!=e.onChange?s("88"):void 0}function i(e){r(e),null!=e.checked||null!=e.onChange?s("89"):void 0}function a(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}var s=e(113),u=e(121),l=e(64),c=(e(137),e(142),{button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0}),p={value:function(e,t,n){return!e[t]||c[e.type]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.")},checked:function(e,t,n){return!e[t]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.")},onChange:u.PropTypes.func},d={},f={checkPropTypes:function(e,t,n){for(var r in p){if(p.hasOwnProperty(r))var o=p[r](t,r,e,"prop",null,l);o instanceof Error&&!(o.message in d)&&(d[o.message]=!0,a(n))}},getValue:function(e){return e.valueLink?(o(e),e.valueLink.value):e.value},getChecked:function(e){return e.checkedLink?(i(e),e.checkedLink.value):e.checked},executeOnChange:function(e,t){return e.valueLink?(o(e),e.valueLink.requestChange(t.target.value)):e.checkedLink?(i(e),e.checkedLink.requestChange(t.target.checked)):e.onChange?e.onChange.call(void 0,t):void 0}};t.exports=f},{113:113,121:121,137:137,142:142,64:64}],24:[function(e,t,n){"use strict";var r=e(113),o=(e(137),function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)}),i=function(e,t){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,e,t),r}return new n(e,t)},a=function(e,t,n){var r=this;if(r.instancePool.length){var o=r.instancePool.pop();return r.call(o,e,t,n),o}return new r(e,t,n)},s=function(e,t,n,r){var o=this;if(o.instancePool.length){var i=o.instancePool.pop();return o.call(i,e,t,n,r),i}return new o(e,t,n,r)},u=function(e){var t=this;e instanceof t?void 0:r("25"),e.destructor(),t.instancePool.length<t.poolSize&&t.instancePool.push(e)},l=10,c=o,p=function(e,t){var n=e;return n.instancePool=[],n.getPooled=t||c,n.poolSize||(n.poolSize=l),n.release=u,n},d={addPoolingTo:p,oneArgumentPooler:o,twoArgumentPooler:i,threeArgumentPooler:a,fourArgumentPooler:s};t.exports=d},{113:113,137:137}],25:[function(e,t,n){"use strict";function r(e){return Object.prototype.hasOwnProperty.call(e,m)||(e[m]=f++,p[e[m]]={}),p[e[m]]}var o,i=e(143),a=e(17),s=e(51),u=e(90),l=e(108),c=e(110),p={},d=!1,f=0,h={topAbort:"abort",topAnimationEnd:l("animationend")||"animationend",topAnimationIteration:l("animationiteration")||"animationiteration",topAnimationStart:l("animationstart")||"animationstart",topBlur:"blur",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topChange:"change",topClick:"click",topCompositionEnd:"compositionend",topCompositionStart:"compositionstart",topCompositionUpdate:"compositionupdate",topContextMenu:"contextmenu",topCopy:"copy",topCut:"cut",topDoubleClick:"dblclick",topDrag:"drag",topDragEnd:"dragend",topDragEnter:"dragenter",topDragExit:"dragexit",topDragLeave:"dragleave",topDragOver:"dragover",topDragStart:"dragstart",topDrop:"drop",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topFocus:"focus",topInput:"input",topKeyDown:"keydown",topKeyPress:"keypress",topKeyUp:"keyup",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topMouseDown:"mousedown",topMouseMove:"mousemove",topMouseOut:"mouseout",topMouseOver:"mouseover",topMouseUp:"mouseup",topPaste:"paste",topPause:"pause",
topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topScroll:"scroll",topSeeked:"seeked",topSeeking:"seeking",topSelectionChange:"selectionchange",topStalled:"stalled",topSuspend:"suspend",topTextInput:"textInput",topTimeUpdate:"timeupdate",topTouchCancel:"touchcancel",topTouchEnd:"touchend",topTouchMove:"touchmove",topTouchStart:"touchstart",topTransitionEnd:l("transitionend")||"transitionend",topVolumeChange:"volumechange",topWaiting:"waiting",topWheel:"wheel"},m="_reactListenersID"+String(Math.random()).slice(2),v=i({},s,{ReactEventListener:null,injection:{injectReactEventListener:function(e){e.setHandleTopLevel(v.handleTopLevel),v.ReactEventListener=e}},setEnabled:function(e){v.ReactEventListener&&v.ReactEventListener.setEnabled(e)},isEnabled:function(){return!(!v.ReactEventListener||!v.ReactEventListener.isEnabled())},listenTo:function(e,t){for(var n=t,o=r(n),i=a.registrationNameDependencies[e],s=0;s<i.length;s++){var u=i[s];o.hasOwnProperty(u)&&o[u]||("topWheel"===u?c("wheel")?v.ReactEventListener.trapBubbledEvent("topWheel","wheel",n):c("mousewheel")?v.ReactEventListener.trapBubbledEvent("topWheel","mousewheel",n):v.ReactEventListener.trapBubbledEvent("topWheel","DOMMouseScroll",n):"topScroll"===u?c("scroll",!0)?v.ReactEventListener.trapCapturedEvent("topScroll","scroll",n):v.ReactEventListener.trapBubbledEvent("topScroll","scroll",v.ReactEventListener.WINDOW_HANDLE):"topFocus"===u||"topBlur"===u?(c("focus",!0)?(v.ReactEventListener.trapCapturedEvent("topFocus","focus",n),v.ReactEventListener.trapCapturedEvent("topBlur","blur",n)):c("focusin")&&(v.ReactEventListener.trapBubbledEvent("topFocus","focusin",n),v.ReactEventListener.trapBubbledEvent("topBlur","focusout",n)),o.topBlur=!0,o.topFocus=!0):h.hasOwnProperty(u)&&v.ReactEventListener.trapBubbledEvent(u,h[u],n),o[u]=!0)}},trapBubbledEvent:function(e,t,n){return v.ReactEventListener.trapBubbledEvent(e,t,n)},trapCapturedEvent:function(e,t,n){return v.ReactEventListener.trapCapturedEvent(e,t,n)},supportsEventPageXY:function(){if(!document.createEvent)return!1;var e=document.createEvent("MouseEvent");return null!=e&&"pageX"in e},ensureScrollValueMonitoring:function(){if(void 0===o&&(o=v.supportsEventPageXY()),!o&&!d){var e=u.refreshScrollValues;v.ReactEventListener.monitorScrollValue(e),d=!0}}});t.exports=v},{108:108,110:110,143:143,17:17,51:51,90:90}],26:[function(e,t,n){(function(n){"use strict";function r(e,t,n,r){var o=void 0===e[n];null!=t&&o&&(e[n]=i(t,!0))}var o=e(66),i=e(109),a=(e(22),e(117)),s=e(118);e(142);"undefined"!=typeof n&&n.env,1;var u={instantiateChildren:function(e,t,n,o){if(null==e)return null;var i={};return s(e,r,i),i},updateChildren:function(e,t,n,r,s,u,l,c,p){if(t||e){var d,f;for(d in t)if(t.hasOwnProperty(d)){f=e&&e[d];var h=f&&f._currentElement,m=t[d];if(null!=f&&a(h,m))o.receiveComponent(f,m,s,c),t[d]=f;else{f&&(r[d]=o.getHostNode(f),o.unmountComponent(f,!1));var v=i(m,!0);t[d]=v;var g=o.mountComponent(v,s,u,l,c,p);n.push(g)}}for(d in e)!e.hasOwnProperty(d)||t&&t.hasOwnProperty(d)||(f=e[d],r[d]=o.getHostNode(f),o.unmountComponent(f,!1))}},unmountChildren:function(e,t){for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];o.unmountComponent(r,t)}}};t.exports=u}).call(this,void 0)},{109:109,117:117,118:118,142:142,22:22,66:66}],27:[function(e,t,n){"use strict";var r=e(8),o=e(37),i={processChildrenUpdates:o.dangerouslyProcessChildrenUpdates,replaceNodeWithMarkup:r.dangerouslyReplaceNodeWithMarkup};t.exports=i},{37:37,8:8}],28:[function(e,t,n){"use strict";var r=e(113),o=(e(137),!1),i={replaceNodeWithMarkup:null,processChildrenUpdates:null,injection:{injectEnvironment:function(e){o?r("104"):void 0,i.replaceNodeWithMarkup=e.replaceNodeWithMarkup,i.processChildrenUpdates=e.processChildrenUpdates,o=!0}}};t.exports=i},{113:113,137:137}],29:[function(e,t,n){"use strict";function r(e){}function o(e,t){}function i(e){return!(!e.prototype||!e.prototype.isReactComponent)}function a(e){return!(!e.prototype||!e.prototype.isPureReactComponent)}var s=e(113),u=e(143),l=e(121),c=e(28),p=e(120),d=e(50),f=e(57),h=(e(58),e(62)),m=e(66),v=e(130),g=(e(137),e(141)),y=e(117),_=(e(142),{ImpureClass:0,PureClass:1,StatelessFunctional:2});r.prototype.render=function(){var e=f.get(this)._currentElement.type,t=e(this.props,this.context,this.updater);return o(e,t),t};var C=1,b={construct:function(e){this._currentElement=e,this._rootNodeID=0,this._compositeType=null,this._instance=null,this._hostParent=null,this._hostContainerInfo=null,this._updateBatchNumber=null,this._pendingElement=null,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._renderedNodeType=null,this._renderedComponent=null,this._context=null,this._mountOrder=0,this._topLevelWrapper=null,this._pendingCallbacks=null,this._calledComponentWillUnmount=!1},mountComponent:function(e,t,n,u){this._context=u,this._mountOrder=C++,this._hostParent=t,this._hostContainerInfo=n;var c,p=this._currentElement.props,d=this._processContext(u),h=this._currentElement.type,m=e.getUpdateQueue(),g=i(h),y=this._constructComponent(g,p,d,m);g||null!=y&&null!=y.render?a(h)?this._compositeType=_.PureClass:this._compositeType=_.ImpureClass:(c=y,o(h,c),null===y||y===!1||l.isValidElement(y)?void 0:s("105",h.displayName||h.name||"Component"),y=new r(h),this._compositeType=_.StatelessFunctional),y.props=p,y.context=d,y.refs=v,y.updater=m,this._instance=y,f.set(y,this);var b=y.state;void 0===b&&(y.state=b=null),"object"!=typeof b||Array.isArray(b)?s("106",this.getName()||"ReactCompositeComponent"):void 0,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1;var E;return E=y.unstable_handleError?this.performInitialMountWithErrorHandling(c,t,n,e,u):this.performInitialMount(c,t,n,e,u),y.componentDidMount&&e.getReactMountReady().enqueue(y.componentDidMount,y),E},_constructComponent:function(e,t,n,r){return this._constructComponentWithoutOwner(e,t,n,r)},_constructComponentWithoutOwner:function(e,t,n,r){var o=this._currentElement.type;return e?new o(t,n,r):o(t,n,r)},performInitialMountWithErrorHandling:function(e,t,n,r,o){var i,a=r.checkpoint();try{i=this.performInitialMount(e,t,n,r,o)}catch(s){r.rollback(a),this._instance.unstable_handleError(s),this._pendingStateQueue&&(this._instance.state=this._processPendingState(this._instance.props,this._instance.context)),a=r.checkpoint(),this._renderedComponent.unmountComponent(!0),r.rollback(a),i=this.performInitialMount(e,t,n,r,o)}return i},performInitialMount:function(e,t,n,r,o){var i=this._instance,a=0;i.componentWillMount&&(i.componentWillMount(),this._pendingStateQueue&&(i.state=this._processPendingState(i.props,i.context))),void 0===e&&(e=this._renderValidatedComponent());var s=h.getType(e);this._renderedNodeType=s;var u=this._instantiateReactComponent(e,s!==h.EMPTY);this._renderedComponent=u;var l=m.mountComponent(u,r,t,n,this._processChildContext(o),a);return l},getHostNode:function(){return m.getHostNode(this._renderedComponent)},unmountComponent:function(e){if(this._renderedComponent){var t=this._instance;if(t.componentWillUnmount&&!t._calledComponentWillUnmount)if(t._calledComponentWillUnmount=!0,e){var n=this.getName()+".componentWillUnmount()";d.invokeGuardedCallback(n,t.componentWillUnmount.bind(t))}else t.componentWillUnmount();this._renderedComponent&&(m.unmountComponent(this._renderedComponent,e),this._renderedNodeType=null,this._renderedComponent=null,this._instance=null),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._pendingCallbacks=null,this._pendingElement=null,this._context=null,this._rootNodeID=0,this._topLevelWrapper=null,f.remove(t)}},_maskContext:function(e){var t=this._currentElement.type,n=t.contextTypes;if(!n)return v;var r={};for(var o in n)r[o]=e[o];return r},_processContext:function(e){var t=this._maskContext(e);return t},_processChildContext:function(e){var t,n=this._currentElement.type,r=this._instance;if(r.getChildContext&&(t=r.getChildContext()),t){"object"!=typeof n.childContextTypes?s("107",this.getName()||"ReactCompositeComponent"):void 0;for(var o in t)o in n.childContextTypes?void 0:s("108",this.getName()||"ReactCompositeComponent",o);return u({},e,t)}return e},_checkContextTypes:function(e,t,n){},receiveComponent:function(e,t,n){var r=this._currentElement,o=this._context;this._pendingElement=null,this.updateComponent(t,r,e,o,n)},performUpdateIfNecessary:function(e){null!=this._pendingElement?m.receiveComponent(this,this._pendingElement,e,this._context):null!==this._pendingStateQueue||this._pendingForceUpdate?this.updateComponent(e,this._currentElement,this._currentElement,this._context,this._context):this._updateBatchNumber=null},updateComponent:function(e,t,n,r,o){var i=this._instance;null==i?s("136",this.getName()||"ReactCompositeComponent"):void 0;var a,u=!1;this._context===o?a=i.context:(a=this._processContext(o),u=!0);var l=t.props,c=n.props;t!==n&&(u=!0),u&&i.componentWillReceiveProps&&i.componentWillReceiveProps(c,a);var p=this._processPendingState(c,a),d=!0;this._pendingForceUpdate||(i.shouldComponentUpdate?d=i.shouldComponentUpdate(c,p,a):this._compositeType===_.PureClass&&(d=!g(l,c)||!g(i.state,p))),this._updateBatchNumber=null,d?(this._pendingForceUpdate=!1,this._performComponentUpdate(n,c,p,a,e,o)):(this._currentElement=n,this._context=o,i.props=c,i.state=p,i.context=a)},_processPendingState:function(e,t){var n=this._instance,r=this._pendingStateQueue,o=this._pendingReplaceState;if(this._pendingReplaceState=!1,this._pendingStateQueue=null,!r)return n.state;if(o&&1===r.length)return r[0];for(var i=u({},o?r[0]:n.state),a=o?1:0;a<r.length;a++){var s=r[a];u(i,"function"==typeof s?s.call(n,i,e,t):s)}return i},_performComponentUpdate:function(e,t,n,r,o,i){var a,s,u,l=this._instance,c=Boolean(l.componentDidUpdate);c&&(a=l.props,s=l.state,u=l.context),l.componentWillUpdate&&l.componentWillUpdate(t,n,r),this._currentElement=e,this._context=i,l.props=t,l.state=n,l.context=r,this._updateRenderedComponent(o,i),c&&o.getReactMountReady().enqueue(l.componentDidUpdate.bind(l,a,s,u),l)},_updateRenderedComponent:function(e,t){var n=this._renderedComponent,r=n._currentElement,o=this._renderValidatedComponent(),i=0;if(y(r,o))m.receiveComponent(n,o,e,this._processChildContext(t));else{var a=m.getHostNode(n);m.unmountComponent(n,!1);var s=h.getType(o);this._renderedNodeType=s;var u=this._instantiateReactComponent(o,s!==h.EMPTY);this._renderedComponent=u;var l=m.mountComponent(u,e,this._hostParent,this._hostContainerInfo,this._processChildContext(t),i);this._replaceNodeWithMarkup(a,l,n)}},_replaceNodeWithMarkup:function(e,t,n){c.replaceNodeWithMarkup(e,t,n)},_renderValidatedComponentWithoutOwnerOrContext:function(){var e,t=this._instance;return e=t.render()},_renderValidatedComponent:function(){var e;if(this._compositeType!==_.StatelessFunctional){p.current=this;try{e=this._renderValidatedComponentWithoutOwnerOrContext()}finally{p.current=null}}else e=this._renderValidatedComponentWithoutOwnerOrContext();return null===e||e===!1||l.isValidElement(e)?void 0:s("109",this.getName()||"ReactCompositeComponent"),e},attachRef:function(e,t){var n=this.getPublicInstance();null==n?s("110"):void 0;var r=t.getPublicInstance(),o=n.refs===v?n.refs={}:n.refs;o[e]=r},detachRef:function(e){var t=this.getPublicInstance().refs;delete t[e]},getName:function(){var e=this._currentElement.type,t=this._instance&&this._instance.constructor;return e.displayName||t&&t.displayName||e.name||t&&t.name||null},getPublicInstance:function(){var e=this._instance;return this._compositeType===_.StatelessFunctional?null:e},_instantiateReactComponent:null};t.exports=b},{113:113,117:117,120:120,121:121,130:130,137:137,141:141,142:142,143:143,28:28,50:50,57:57,58:58,62:62,66:66}],30:[function(e,t,n){"use strict";var r=e(33),o=e(47),i=e(60),a=e(66),s=e(71),u=e(72),l=e(96),c=e(103),p=e(114);e(142);o.inject();var d={findDOMNode:l,render:i.render,unmountComponentAtNode:i.unmountComponentAtNode,version:u,unstable_batchedUpdates:s.batchedUpdates,unstable_renderSubtreeIntoContainer:p};"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject&&__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({ComponentTree:{getClosestInstanceFromNode:r.getClosestInstanceFromNode,getNodeFromInstance:function(e){return e._renderedComponent&&(e=c(e)),e?r.getNodeFromInstance(e):null}},Mount:i,Reconciler:a});t.exports=d},{103:103,114:114,142:142,33:33,47:47,60:60,66:66,71:71,72:72,96:96}],31:[function(e,t,n){"use strict";function r(e){if(e){var t=e._currentElement._owner||null;if(t){var n=t.getName();if(n)return" This DOM node was rendered by `"+n+"`."}}return""}function o(e,t){t&&(X[e._tag]&&(null!=t.children||null!=t.dangerouslySetInnerHTML?m("137",e._tag,e._currentElement._owner?" Check the render method of "+e._currentElement._owner.getName()+".":""):void 0),null!=t.dangerouslySetInnerHTML&&(null!=t.children?m("60"):void 0,"object"==typeof t.dangerouslySetInnerHTML&&W in t.dangerouslySetInnerHTML?void 0:m("61")),null!=t.style&&"object"!=typeof t.style?m("62",r(e)):void 0)}function i(e,t,n,r){if(!(r instanceof R)){var o=e._hostContainerInfo,i=o._node&&o._node.nodeType===q,s=i?o._node:o._ownerDocument;F(t,s),r.getReactMountReady().enqueue(a,{inst:e,registrationName:t,listener:n})}}function a(){var e=this;x.putListener(e.inst,e.registrationName,e.listener)}function s(){var e=this;N.postMountWrapper(e)}function u(){var e=this;I.postMountWrapper(e)}function l(){var e=this;S.postMountWrapper(e)}function c(){var e=this;e._rootNodeID?void 0:m("63");var t=U(e);switch(t?void 0:m("64"),e._tag){case"iframe":case"object":e._wrapperState.listeners=[T.trapBubbledEvent("topLoad","load",t)];break;case"video":case"audio":e._wrapperState.listeners=[];for(var n in K)K.hasOwnProperty(n)&&e._wrapperState.listeners.push(T.trapBubbledEvent(n,K[n],t));break;case"source":e._wrapperState.listeners=[T.trapBubbledEvent("topError","error",t)];break;case"img":e._wrapperState.listeners=[T.trapBubbledEvent("topError","error",t),T.trapBubbledEvent("topLoad","load",t)];break;case"form":e._wrapperState.listeners=[T.trapBubbledEvent("topReset","reset",t),T.trapBubbledEvent("topSubmit","submit",t)];break;case"input":case"select":case"textarea":e._wrapperState.listeners=[T.trapBubbledEvent("topInvalid","invalid",t)]}}function p(){M.postUpdateWrapper(this)}function d(e){$.call(G,e)||(Q.test(e)?void 0:m("65",e),G[e]=!0)}function f(e,t){return e.indexOf("-")>=0||null!=t.is}function h(e){var t=e.type;d(t),this._currentElement=e,this._tag=t.toLowerCase(),this._namespaceURI=null,this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._hostNode=null,this._hostParent=null,this._rootNodeID=0,this._domID=0,this._hostContainerInfo=null,this._wrapperState=null,this._topLevelWrapper=null,this._flags=0}var m=e(113),v=e(143),g=e(2),y=e(5),_=e(9),C=e(10),b=e(11),E=e(12),x=e(16),w=e(17),T=e(25),k=e(32),P=e(33),N=e(38),S=e(39),M=e(40),I=e(43),O=(e(58),e(61)),R=e(68),A=(e(129),e(95)),D=(e(137),e(110),e(141),e(119),e(142),k),L=x.deleteListener,U=P.getNodeFromInstance,F=T.listenTo,V=w.registrationNameModules,B={string:!0,number:!0},j="style",W="__html",H={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},q=11,K={topAbort:"abort",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topSeeked:"seeked",topSeeking:"seeking",topStalled:"stalled",topSuspend:"suspend",topTimeUpdate:"timeupdate",topVolumeChange:"volumechange",topWaiting:"waiting"},z={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},Y={listing:!0,pre:!0,textarea:!0},X=v({menuitem:!0},z),Q=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,G={},$={}.hasOwnProperty,Z=1;h.displayName="ReactDOMComponent",h.Mixin={mountComponent:function(e,t,n,r){this._rootNodeID=Z++,this._domID=n._idCounter++,this._hostParent=t,this._hostContainerInfo=n;var i=this._currentElement.props;switch(this._tag){case"audio":case"form":case"iframe":case"img":case"link":case"object":case"source":case"video":this._wrapperState={listeners:null},e.getReactMountReady().enqueue(c,this);break;case"input":N.mountWrapper(this,i,t),i=N.getHostProps(this,i),e.getReactMountReady().enqueue(c,this);break;case"option":S.mountWrapper(this,i,t),i=S.getHostProps(this,i);break;case"select":M.mountWrapper(this,i,t),i=M.getHostProps(this,i),e.getReactMountReady().enqueue(c,this);break;case"textarea":I.mountWrapper(this,i,t),i=I.getHostProps(this,i),e.getReactMountReady().enqueue(c,this)}o(this,i);var a,p;null!=t?(a=t._namespaceURI,p=t._tag):n._tag&&(a=n._namespaceURI,p=n._tag),(null==a||a===C.svg&&"foreignobject"===p)&&(a=C.html),a===C.html&&("svg"===this._tag?a=C.svg:"math"===this._tag&&(a=C.mathml)),this._namespaceURI=a;var d;if(e.useCreateElement){var f,h=n._ownerDocument;if(a===C.html)if("script"===this._tag){var m=h.createElement("div"),v=this._currentElement.type;m.innerHTML="<"+v+"></"+v+">",f=m.removeChild(m.firstChild)}else f=i.is?h.createElement(this._currentElement.type,i.is):h.createElement(this._currentElement.type);else f=h.createElementNS(a,this._currentElement.type);P.precacheNode(this,f),this._flags|=D.hasCachedChildNodes,this._hostParent||E.setAttributeForRoot(f),this._updateDOMProperties(null,i,e);var y=_(f);this._createInitialChildren(e,i,r,y),d=y}else{var b=this._createOpenTagMarkupAndPutListeners(e,i),x=this._createContentMarkup(e,i,r);d=!x&&z[this._tag]?b+"/>":b+">"+x+"</"+this._currentElement.type+">"}switch(this._tag){case"input":e.getReactMountReady().enqueue(s,this),i.autoFocus&&e.getReactMountReady().enqueue(g.focusDOMComponent,this);break;case"textarea":e.getReactMountReady().enqueue(u,this),i.autoFocus&&e.getReactMountReady().enqueue(g.focusDOMComponent,this);break;case"select":i.autoFocus&&e.getReactMountReady().enqueue(g.focusDOMComponent,this);break;case"button":i.autoFocus&&e.getReactMountReady().enqueue(g.focusDOMComponent,this);break;case"option":e.getReactMountReady().enqueue(l,this)}return d},_createOpenTagMarkupAndPutListeners:function(e,t){var n="<"+this._currentElement.type;for(var r in t)if(t.hasOwnProperty(r)){var o=t[r];if(null!=o)if(V.hasOwnProperty(r))o&&i(this,r,o,e);else{r===j&&(o&&(o=this._previousStyleCopy=v({},t.style)),o=y.createMarkupForStyles(o,this));var a=null;null!=this._tag&&f(this._tag,t)?H.hasOwnProperty(r)||(a=E.createMarkupForCustomAttribute(r,o)):a=E.createMarkupForProperty(r,o),a&&(n+=" "+a)}}return e.renderToStaticMarkup?n:(this._hostParent||(n+=" "+E.createMarkupForRoot()),n+=" "+E.createMarkupForID(this._domID))},_createContentMarkup:function(e,t,n){var r="",o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&(r=o.__html);else{var i=B[typeof t.children]?t.children:null,a=null!=i?null:t.children;if(null!=i)r=A(i);else if(null!=a){var s=this.mountChildren(a,e,n);r=s.join("")}}return Y[this._tag]&&"\n"===r.charAt(0)?"\n"+r:r},_createInitialChildren:function(e,t,n,r){var o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&_.queueHTML(r,o.__html);else{var i=B[typeof t.children]?t.children:null,a=null!=i?null:t.children;if(null!=i)""!==i&&_.queueText(r,i);else if(null!=a)for(var s=this.mountChildren(a,e,n),u=0;u<s.length;u++)_.queueChild(r,s[u])}},receiveComponent:function(e,t,n){var r=this._currentElement;this._currentElement=e,this.updateComponent(t,r,e,n)},updateComponent:function(e,t,n,r){var i=t.props,a=this._currentElement.props;switch(this._tag){case"input":i=N.getHostProps(this,i),a=N.getHostProps(this,a);break;case"option":i=S.getHostProps(this,i),a=S.getHostProps(this,a);break;case"select":i=M.getHostProps(this,i),a=M.getHostProps(this,a);break;case"textarea":i=I.getHostProps(this,i),a=I.getHostProps(this,a)}switch(o(this,a),this._updateDOMProperties(i,a,e),this._updateDOMChildren(i,a,e,r),this._tag){case"input":N.updateWrapper(this);break;case"textarea":I.updateWrapper(this);break;case"select":e.getReactMountReady().enqueue(p,this)}},_updateDOMProperties:function(e,t,n){var r,o,a;for(r in e)if(!t.hasOwnProperty(r)&&e.hasOwnProperty(r)&&null!=e[r])if(r===j){var s=this._previousStyleCopy;for(o in s)s.hasOwnProperty(o)&&(a=a||{},a[o]="");this._previousStyleCopy=null}else V.hasOwnProperty(r)?e[r]&&L(this,r):f(this._tag,e)?H.hasOwnProperty(r)||E.deleteValueForAttribute(U(this),r):(b.properties[r]||b.isCustomAttribute(r))&&E.deleteValueForProperty(U(this),r);for(r in t){var u=t[r],l=r===j?this._previousStyleCopy:null!=e?e[r]:void 0;if(t.hasOwnProperty(r)&&u!==l&&(null!=u||null!=l))if(r===j)if(u?u=this._previousStyleCopy=v({},u):this._previousStyleCopy=null,l){for(o in l)!l.hasOwnProperty(o)||u&&u.hasOwnProperty(o)||(a=a||{},a[o]="");for(o in u)u.hasOwnProperty(o)&&l[o]!==u[o]&&(a=a||{},a[o]=u[o])}else a=u;else if(V.hasOwnProperty(r))u?i(this,r,u,n):l&&L(this,r);else if(f(this._tag,t))H.hasOwnProperty(r)||E.setValueForAttribute(U(this),r,u);else if(b.properties[r]||b.isCustomAttribute(r)){var c=U(this);null!=u?E.setValueForProperty(c,r,u):E.deleteValueForProperty(c,r)}}a&&y.setValueForStyles(U(this),a,this)},_updateDOMChildren:function(e,t,n,r){var o=B[typeof e.children]?e.children:null,i=B[typeof t.children]?t.children:null,a=e.dangerouslySetInnerHTML&&e.dangerouslySetInnerHTML.__html,s=t.dangerouslySetInnerHTML&&t.dangerouslySetInnerHTML.__html,u=null!=o?null:e.children,l=null!=i?null:t.children,c=null!=o||null!=a,p=null!=i||null!=s;null!=u&&null==l?this.updateChildren(null,n,r):c&&!p&&this.updateTextContent(""),null!=i?o!==i&&this.updateTextContent(""+i):null!=s?a!==s&&this.updateMarkup(""+s):null!=l&&this.updateChildren(l,n,r)},getHostNode:function(){return U(this)},unmountComponent:function(e){switch(this._tag){case"audio":case"form":case"iframe":case"img":case"link":case"object":case"source":case"video":var t=this._wrapperState.listeners;if(t)for(var n=0;n<t.length;n++)t[n].remove();break;case"html":case"head":case"body":m("66",this._tag)}this.unmountChildren(e),P.uncacheNode(this),x.deleteAllListeners(this),this._rootNodeID=0,this._domID=0,this._wrapperState=null},getPublicInstance:function(){return U(this)}},v(h.prototype,h.Mixin,O.Mixin),t.exports=h},{10:10,11:11,110:110,113:113,119:119,12:12,129:129,137:137,141:141,142:142,143:143,16:16,17:17,2:2,25:25,32:32,33:33,38:38,39:39,40:40,43:43,5:5,58:58,61:61,68:68,9:9,95:95}],32:[function(e,t,n){"use strict";var r={hasCachedChildNodes:1};t.exports=r},{}],33:[function(e,t,n){"use strict";function r(e,t){return 1===e.nodeType&&e.getAttribute(h)===String(t)||8===e.nodeType&&e.nodeValue===" react-text: "+t+" "||8===e.nodeType&&e.nodeValue===" react-empty: "+t+" "}function o(e){for(var t;t=e._renderedComponent;)e=t;return e}function i(e,t){var n=o(e);n._hostNode=t,t[v]=n}function a(e){var t=e._hostNode;t&&(delete t[v],e._hostNode=null)}function s(e,t){if(!(e._flags&m.hasCachedChildNodes)){var n=e._renderedChildren,a=t.firstChild;e:for(var s in n)if(n.hasOwnProperty(s)){var u=n[s],l=o(u)._domID;if(0!==l){for(;null!==a;a=a.nextSibling)if(r(a,l)){i(u,a);continue e}p("32",l)}}e._flags|=m.hasCachedChildNodes}}function u(e){if(e[v])return e[v];for(var t=[];!e[v];){if(t.push(e),!e.parentNode)return null;e=e.parentNode}for(var n,r;e&&(r=e[v]);e=t.pop())n=r,t.length&&s(r,e);return n}function l(e){var t=u(e);return null!=t&&t._hostNode===e?t:null}function c(e){if(void 0===e._hostNode?p("33"):void 0,e._hostNode)return e._hostNode;for(var t=[];!e._hostNode;)t.push(e),e._hostParent?void 0:p("34"),e=e._hostParent;for(;t.length;e=t.pop())s(e,e._hostNode);return e._hostNode}var p=e(113),d=e(11),f=e(32),h=(e(137),d.ID_ATTRIBUTE_NAME),m=f,v="__reactInternalInstance$"+Math.random().toString(36).slice(2),g={getClosestInstanceFromNode:u,getInstanceFromNode:l,getNodeFromInstance:c,precacheChildNodes:s,precacheNode:i,uncacheNode:a};t.exports=g},{11:11,113:113,137:137,32:32}],34:[function(e,t,n){"use strict";function r(e,t){var n={_topLevelWrapper:e,_idCounter:1,_ownerDocument:t?t.nodeType===o?t:t.ownerDocument:null,_node:t,_tag:t?t.nodeName.toLowerCase():null,_namespaceURI:t?t.namespaceURI:null};return n}var o=(e(119),9);t.exports=r},{119:119}],35:[function(e,t,n){"use strict";var r=e(143),o=e(9),i=e(33),a=function(e){this._currentElement=null,this._hostNode=null,this._hostParent=null,this._hostContainerInfo=null,this._domID=0};r(a.prototype,{mountComponent:function(e,t,n,r){var a=n._idCounter++;this._domID=a,this._hostParent=t,this._hostContainerInfo=n;var s=" react-empty: "+this._domID+" ";if(e.useCreateElement){var u=n._ownerDocument,l=u.createComment(s);return i.precacheNode(this,l),o(l)}return e.renderToStaticMarkup?"":"<!--"+s+"-->"},receiveComponent:function(){},getHostNode:function(){return i.getNodeFromInstance(this)},unmountComponent:function(){i.uncacheNode(this)}}),t.exports=a},{143:143,33:33,9:9}],36:[function(e,t,n){"use strict";var r={useCreateElement:!0,useFiber:!1};t.exports=r},{}],37:[function(e,t,n){"use strict";var r=e(8),o=e(33),i={dangerouslyProcessChildrenUpdates:function(e,t){var n=o.getNodeFromInstance(e);r.processUpdates(n,t)}};t.exports=i},{33:33,8:8}],38:[function(e,t,n){"use strict";function r(){this._rootNodeID&&p.updateWrapper(this)}function o(e){var t=this._currentElement.props,n=u.executeOnChange(t,e);c.asap(r,this);var o=t.name;if("radio"===t.type&&null!=o){for(var a=l.getNodeFromInstance(this),s=a;s.parentNode;)s=s.parentNode;for(var p=s.querySelectorAll("input[name="+JSON.stringify(""+o)+'][type="radio"]'),d=0;d<p.length;d++){var f=p[d];if(f!==a&&f.form===a.form){var h=l.getInstanceFromNode(f);h?void 0:i("90"),c.asap(r,h)}}}return n}var i=e(113),a=e(143),s=e(12),u=e(23),l=e(33),c=e(71),p=(e(137),e(142),{getHostProps:function(e,t){var n=u.getValue(t),r=u.getChecked(t),o=a({type:void 0,step:void 0,min:void 0,max:void 0},t,{defaultChecked:void 0,defaultValue:void 0,value:null!=n?n:e._wrapperState.initialValue,checked:null!=r?r:e._wrapperState.initialChecked,onChange:e._wrapperState.onChange});return o},mountWrapper:function(e,t){var n=t.defaultValue;e._wrapperState={initialChecked:null!=t.checked?t.checked:t.defaultChecked,initialValue:null!=t.value?t.value:n,listeners:null,onChange:o.bind(e)}},updateWrapper:function(e){var t=e._currentElement.props,n=t.checked;null!=n&&s.setValueForProperty(l.getNodeFromInstance(e),"checked",n||!1);var r=l.getNodeFromInstance(e),o=u.getValue(t);if(null!=o){var i=""+o;i!==r.value&&(r.value=i)}else null==t.value&&null!=t.defaultValue&&r.defaultValue!==""+t.defaultValue&&(r.defaultValue=""+t.defaultValue),null==t.checked&&null!=t.defaultChecked&&(r.defaultChecked=!!t.defaultChecked)},postMountWrapper:function(e){var t=e._currentElement.props,n=l.getNodeFromInstance(e);switch(t.type){case"submit":case"reset":break;case"color":case"date":case"datetime":case"datetime-local":case"month":case"time":case"week":n.value="",n.value=n.defaultValue;break;default:n.value=n.value}var r=n.name;""!==r&&(n.name=""),n.defaultChecked=!n.defaultChecked,n.defaultChecked=!n.defaultChecked,""!==r&&(n.name=r)}});t.exports=p},{113:113,12:12,137:137,142:142,143:143,23:23,33:33,71:71}],39:[function(e,t,n){"use strict";function r(e){var t="";return i.Children.forEach(e,function(e){null!=e&&("string"==typeof e||"number"==typeof e?t+=e:u||(u=!0))}),t}var o=e(143),i=e(121),a=e(33),s=e(40),u=(e(142),!1),l={mountWrapper:function(e,t,n){var o=null;if(null!=n){var i=n;"optgroup"===i._tag&&(i=i._hostParent),null!=i&&"select"===i._tag&&(o=s.getSelectValueContext(i))}var a=null;if(null!=o){var u;if(u=null!=t.value?t.value+"":r(t.children),a=!1,Array.isArray(o)){for(var l=0;l<o.length;l++)if(""+o[l]===u){a=!0;break}}else a=""+o===u}e._wrapperState={selected:a}},postMountWrapper:function(e){var t=e._currentElement.props;if(null!=t.value){var n=a.getNodeFromInstance(e);n.setAttribute("value",t.value)}},getHostProps:function(e,t){var n=o({selected:void 0,children:void 0},t);null!=e._wrapperState.selected&&(n.selected=e._wrapperState.selected);var i=r(t.children);return i&&(n.children=i),n}};t.exports=l},{121:121,142:142,143:143,33:33,40:40}],40:[function(e,t,n){"use strict";function r(){if(this._rootNodeID&&this._wrapperState.pendingUpdate){this._wrapperState.pendingUpdate=!1;var e=this._currentElement.props,t=s.getValue(e);null!=t&&o(this,Boolean(e.multiple),t)}}function o(e,t,n){var r,o,i=u.getNodeFromInstance(e).options;if(t){for(r={},o=0;o<n.length;o++)r[""+n[o]]=!0;for(o=0;o<i.length;o++){var a=r.hasOwnProperty(i[o].value);i[o].selected!==a&&(i[o].selected=a)}}else{for(r=""+n,o=0;o<i.length;o++)if(i[o].value===r)return void(i[o].selected=!0);i.length&&(i[0].selected=!0)}}function i(e){var t=this._currentElement.props,n=s.executeOnChange(t,e);return this._rootNodeID&&(this._wrapperState.pendingUpdate=!0),l.asap(r,this),n}var a=e(143),s=e(23),u=e(33),l=e(71),c=(e(142),!1),p={getHostProps:function(e,t){return a({},t,{onChange:e._wrapperState.onChange,value:void 0})},mountWrapper:function(e,t){var n=s.getValue(t);e._wrapperState={pendingUpdate:!1,initialValue:null!=n?n:t.defaultValue,listeners:null,onChange:i.bind(e),wasMultiple:Boolean(t.multiple)},void 0===t.value||void 0===t.defaultValue||c||(c=!0)},getSelectValueContext:function(e){return e._wrapperState.initialValue},postUpdateWrapper:function(e){var t=e._currentElement.props;e._wrapperState.initialValue=void 0;var n=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=Boolean(t.multiple);var r=s.getValue(t);null!=r?(e._wrapperState.pendingUpdate=!1,o(e,Boolean(t.multiple),r)):n!==Boolean(t.multiple)&&(null!=t.defaultValue?o(e,Boolean(t.multiple),t.defaultValue):o(e,Boolean(t.multiple),t.multiple?[]:""))}};t.exports=p},{142:142,143:143,23:23,33:33,71:71}],41:[function(e,t,n){"use strict";function r(e,t,n,r){return e===n&&t===r}function o(e){var t=document.selection,n=t.createRange(),r=n.text.length,o=n.duplicate();o.moveToElementText(e),o.setEndPoint("EndToStart",n);var i=o.text.length,a=i+r;return{start:i,end:a}}function i(e){var t=window.getSelection&&window.getSelection();if(!t||0===t.rangeCount)return null;var n=t.anchorNode,o=t.anchorOffset,i=t.focusNode,a=t.focusOffset,s=t.getRangeAt(0);try{s.startContainer.nodeType,s.endContainer.nodeType}catch(e){return null}var u=r(t.anchorNode,t.anchorOffset,t.focusNode,t.focusOffset),l=u?0:s.toString().length,c=s.cloneRange();c.selectNodeContents(e),c.setEnd(s.startContainer,s.startOffset);var p=r(c.startContainer,c.startOffset,c.endContainer,c.endOffset),d=p?0:c.toString().length,f=d+l,h=document.createRange();h.setStart(n,o),h.setEnd(i,a);var m=h.collapsed;return{start:m?f:d,end:m?d:f}}function a(e,t){var n,r,o=document.selection.createRange().duplicate();void 0===t.end?(n=t.start,r=n):t.start>t.end?(n=t.end,r=t.start):(n=t.start,r=t.end),o.moveToElementText(e),o.moveStart("character",n),o.setEndPoint("EndToStart",o),o.moveEnd("character",r-n),o.select()}function s(e,t){if(window.getSelection){var n=window.getSelection(),r=e[c()].length,o=Math.min(t.start,r),i=void 0===t.end?o:Math.min(t.end,r);if(!n.extend&&o>i){var a=i;i=o,o=a}var s=l(e,o),u=l(e,i);if(s&&u){var p=document.createRange();p.setStart(s.node,s.offset),n.removeAllRanges(),o>i?(n.addRange(p),n.extend(u.node,u.offset)):(p.setEnd(u.node,u.offset),n.addRange(p))}}}var u=e(123),l=e(106),c=e(107),p=u.canUseDOM&&"selection"in document&&!("getSelection"in window),d={getOffsets:p?o:i,setOffsets:p?a:s};t.exports=d},{106:106,107:107,123:123}],42:[function(e,t,n){"use strict";var r=e(113),o=e(143),i=e(8),a=e(9),s=e(33),u=e(95),l=(e(137),e(119),function(e){this._currentElement=e,this._stringText=""+e,this._hostNode=null,this._hostParent=null,this._domID=0,this._mountIndex=0,this._closingComment=null,this._commentNodes=null});o(l.prototype,{mountComponent:function(e,t,n,r){var o=n._idCounter++,i=" react-text: "+o+" ",l=" /react-text ";if(this._domID=o,this._hostParent=t,e.useCreateElement){
var c=n._ownerDocument,p=c.createComment(i),d=c.createComment(l),f=a(c.createDocumentFragment());return a.queueChild(f,a(p)),this._stringText&&a.queueChild(f,a(c.createTextNode(this._stringText))),a.queueChild(f,a(d)),s.precacheNode(this,p),this._closingComment=d,f}var h=u(this._stringText);return e.renderToStaticMarkup?h:"<!--"+i+"-->"+h+"<!--"+l+"-->"},receiveComponent:function(e,t){if(e!==this._currentElement){this._currentElement=e;var n=""+e;if(n!==this._stringText){this._stringText=n;var r=this.getHostNode();i.replaceDelimitedText(r[0],r[1],n)}}},getHostNode:function(){var e=this._commentNodes;if(e)return e;if(!this._closingComment)for(var t=s.getNodeFromInstance(this),n=t.nextSibling;;){if(null==n?r("67",this._domID):void 0,8===n.nodeType&&" /react-text "===n.nodeValue){this._closingComment=n;break}n=n.nextSibling}return e=[this._hostNode,this._closingComment],this._commentNodes=e,e},unmountComponent:function(){this._closingComment=null,this._commentNodes=null,s.uncacheNode(this)}}),t.exports=l},{113:113,119:119,137:137,143:143,33:33,8:8,9:9,95:95}],43:[function(e,t,n){"use strict";function r(){this._rootNodeID&&c.updateWrapper(this)}function o(e){var t=this._currentElement.props,n=s.executeOnChange(t,e);return l.asap(r,this),n}var i=e(113),a=e(143),s=e(23),u=e(33),l=e(71),c=(e(137),e(142),{getHostProps:function(e,t){null!=t.dangerouslySetInnerHTML?i("91"):void 0;var n=a({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue,onChange:e._wrapperState.onChange});return n},mountWrapper:function(e,t){var n=s.getValue(t),r=n;if(null==n){var a=t.defaultValue,u=t.children;null!=u&&(null!=a?i("92"):void 0,Array.isArray(u)&&(u.length<=1?void 0:i("93"),u=u[0]),a=""+u),null==a&&(a=""),r=a}e._wrapperState={initialValue:""+r,listeners:null,onChange:o.bind(e)}},updateWrapper:function(e){var t=e._currentElement.props,n=u.getNodeFromInstance(e),r=s.getValue(t);if(null!=r){var o=""+r;o!==n.value&&(n.value=o),null==t.defaultValue&&(n.defaultValue=o)}null!=t.defaultValue&&(n.defaultValue=t.defaultValue)},postMountWrapper:function(e){var t=u.getNodeFromInstance(e),n=t.textContent;n===e._wrapperState.initialValue&&(t.value=n)}});t.exports=c},{113:113,137:137,142:142,143:143,23:23,33:33,71:71}],44:[function(e,t,n){"use strict";function r(e,t){"_hostNode"in e?void 0:u("33"),"_hostNode"in t?void 0:u("33");for(var n=0,r=e;r;r=r._hostParent)n++;for(var o=0,i=t;i;i=i._hostParent)o++;for(;n-o>0;)e=e._hostParent,n--;for(;o-n>0;)t=t._hostParent,o--;for(var a=n;a--;){if(e===t)return e;e=e._hostParent,t=t._hostParent}return null}function o(e,t){"_hostNode"in e?void 0:u("35"),"_hostNode"in t?void 0:u("35");for(;t;){if(t===e)return!0;t=t._hostParent}return!1}function i(e){return"_hostNode"in e?void 0:u("36"),e._hostParent}function a(e,t,n){for(var r=[];e;)r.push(e),e=e._hostParent;var o;for(o=r.length;o-- >0;)t(r[o],"captured",n);for(o=0;o<r.length;o++)t(r[o],"bubbled",n)}function s(e,t,n,o,i){for(var a=e&&t?r(e,t):null,s=[];e&&e!==a;)s.push(e),e=e._hostParent;for(var u=[];t&&t!==a;)u.push(t),t=t._hostParent;var l;for(l=0;l<s.length;l++)n(s[l],"bubbled",o);for(l=u.length;l-- >0;)n(u[l],"captured",i)}var u=e(113);e(137);t.exports={isAncestor:o,getLowestCommonAncestor:r,getParentInstance:i,traverseTwoPhase:a,traverseEnterLeave:s}},{113:113,137:137}],45:[function(e,t,n){"use strict";var r=e(121),o=e(30),i=o;r.addons&&(r.__SECRET_INJECTED_REACT_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=i),t.exports=i},{121:121,30:30}],46:[function(e,t,n){"use strict";function r(){this.reinitializeTransaction()}var o=e(143),i=e(71),a=e(89),s=e(129),u={initialize:s,close:function(){d.isBatchingUpdates=!1}},l={initialize:s,close:i.flushBatchedUpdates.bind(i)},c=[l,u];o(r.prototype,a,{getTransactionWrappers:function(){return c}});var p=new r,d={isBatchingUpdates:!1,batchedUpdates:function(e,t,n,r,o,i){var a=d.isBatchingUpdates;return d.isBatchingUpdates=!0,a?e(t,n,r,o,i):p.perform(e,null,t,n,r,o,i)}};t.exports=d},{129:129,143:143,71:71,89:89}],47:[function(e,t,n){"use strict";function r(){x||(x=!0,y.EventEmitter.injectReactEventListener(g),y.EventPluginHub.injectEventPluginOrder(s),y.EventPluginUtils.injectComponentTree(d),y.EventPluginUtils.injectTreeTraversal(h),y.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:E,EnterLeaveEventPlugin:u,ChangeEventPlugin:a,SelectEventPlugin:b,BeforeInputEventPlugin:i}),y.HostComponent.injectGenericComponentClass(p),y.HostComponent.injectTextComponentClass(m),y.DOMProperty.injectDOMPropertyConfig(o),y.DOMProperty.injectDOMPropertyConfig(l),y.DOMProperty.injectDOMPropertyConfig(C),y.EmptyComponent.injectEmptyComponentFactory(function(e){return new f(e)}),y.Updates.injectReconcileTransaction(_),y.Updates.injectBatchingStrategy(v),y.Component.injectEnvironment(c))}var o=e(1),i=e(3),a=e(7),s=e(14),u=e(15),l=e(21),c=e(27),p=e(31),d=e(33),f=e(35),h=e(44),m=e(42),v=e(46),g=e(52),y=e(55),_=e(65),C=e(73),b=e(74),E=e(75),x=!1;t.exports={inject:r}},{1:1,14:14,15:15,21:21,27:27,3:3,31:31,33:33,35:35,42:42,44:44,46:46,52:52,55:55,65:65,7:7,73:73,74:74,75:75}],48:[function(e,t,n){"use strict";var r="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;t.exports=r},{}],49:[function(e,t,n){"use strict";var r,o={injectEmptyComponentFactory:function(e){r=e}},i={create:function(e){return r(e)}};i.injection=o,t.exports=i},{}],50:[function(e,t,n){"use strict";function r(e,t,n){try{t(n)}catch(e){null===o&&(o=e)}}var o=null,i={invokeGuardedCallback:r,invokeGuardedCallbackWithCatch:r,rethrowCaughtError:function(){if(o){var e=o;throw o=null,e}}};t.exports=i},{}],51:[function(e,t,n){"use strict";function r(e){o.enqueueEvents(e),o.processEventQueue(!1)}var o=e(16),i={handleTopLevel:function(e,t,n,i){var a=o.extractEvents(e,t,n,i);r(a)}};t.exports=i},{16:16}],52:[function(e,t,n){"use strict";function r(e){for(;e._hostParent;)e=e._hostParent;var t=p.getNodeFromInstance(e),n=t.parentNode;return p.getClosestInstanceFromNode(n)}function o(e,t){this.topLevelType=e,this.nativeEvent=t,this.ancestors=[]}function i(e){var t=f(e.nativeEvent),n=p.getClosestInstanceFromNode(t),o=n;do e.ancestors.push(o),o=o&&r(o);while(o);for(var i=0;i<e.ancestors.length;i++)n=e.ancestors[i],m._handleTopLevel(e.topLevelType,n,e.nativeEvent,f(e.nativeEvent))}function a(e){var t=h(window);e(t)}var s=e(143),u=e(122),l=e(123),c=e(24),p=e(33),d=e(71),f=e(102),h=e(134);s(o.prototype,{destructor:function(){this.topLevelType=null,this.nativeEvent=null,this.ancestors.length=0}}),c.addPoolingTo(o,c.twoArgumentPooler);var m={_enabled:!0,_handleTopLevel:null,WINDOW_HANDLE:l.canUseDOM?window:null,setHandleTopLevel:function(e){m._handleTopLevel=e},setEnabled:function(e){m._enabled=!!e},isEnabled:function(){return m._enabled},trapBubbledEvent:function(e,t,n){return n?u.listen(n,t,m.dispatchEvent.bind(null,e)):null},trapCapturedEvent:function(e,t,n){return n?u.capture(n,t,m.dispatchEvent.bind(null,e)):null},monitorScrollValue:function(e){var t=a.bind(null,e);u.listen(window,"scroll",t)},dispatchEvent:function(e,t){if(m._enabled){var n=o.getPooled(e,t);try{d.batchedUpdates(i,n)}finally{o.release(n)}}}};t.exports=m},{102:102,122:122,123:123,134:134,143:143,24:24,33:33,71:71}],53:[function(e,t,n){"use strict";var r={logTopLevelRenders:!1};t.exports=r},{}],54:[function(e,t,n){"use strict";function r(e){return s?void 0:a("111",e.type),new s(e)}function o(e){return new u(e)}function i(e){return e instanceof u}var a=e(113),s=(e(137),null),u=null,l={injectGenericComponentClass:function(e){s=e},injectTextComponentClass:function(e){u=e}},c={createInternalComponent:r,createInstanceForText:o,isTextComponent:i,injection:l};t.exports=c},{113:113,137:137}],55:[function(e,t,n){"use strict";var r=e(11),o=e(16),i=e(18),a=e(28),s=e(49),u=e(25),l=e(54),c=e(71),p={Component:a.injection,DOMProperty:r.injection,EmptyComponent:s.injection,EventPluginHub:o.injection,EventPluginUtils:i.injection,EventEmitter:u.injection,HostComponent:l.injection,Updates:c.injection};t.exports=p},{11:11,16:16,18:18,25:25,28:28,49:49,54:54,71:71}],56:[function(e,t,n){"use strict";function r(e){return i(document.documentElement,e)}var o=e(41),i=e(126),a=e(131),s=e(132),u={hasSelectionCapabilities:function(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&"text"===e.type||"textarea"===t||"true"===e.contentEditable)},getSelectionInformation:function(){var e=s();return{focusedElem:e,selectionRange:u.hasSelectionCapabilities(e)?u.getSelection(e):null}},restoreSelection:function(e){var t=s(),n=e.focusedElem,o=e.selectionRange;t!==n&&r(n)&&(u.hasSelectionCapabilities(n)&&u.setSelection(n,o),a(n))},getSelection:function(e){var t;if("selectionStart"in e)t={start:e.selectionStart,end:e.selectionEnd};else if(document.selection&&e.nodeName&&"input"===e.nodeName.toLowerCase()){var n=document.selection.createRange();n.parentElement()===e&&(t={start:-n.moveStart("character",-e.value.length),end:-n.moveEnd("character",-e.value.length)})}else t=o.getOffsets(e);return t||{start:0,end:0}},setSelection:function(e,t){var n=t.start,r=t.end;if(void 0===r&&(r=n),"selectionStart"in e)e.selectionStart=n,e.selectionEnd=Math.min(r,e.value.length);else if(document.selection&&e.nodeName&&"input"===e.nodeName.toLowerCase()){var i=e.createTextRange();i.collapse(!0),i.moveStart("character",n),i.moveEnd("character",r-n),i.select()}else o.setOffsets(e,t)}};t.exports=u},{126:126,131:131,132:132,41:41}],57:[function(e,t,n){"use strict";var r={remove:function(e){e._reactInternalInstance=void 0},get:function(e){return e._reactInternalInstance},has:function(e){return void 0!==e._reactInternalInstance},set:function(e,t){e._reactInternalInstance=t}};t.exports=r},{}],58:[function(e,t,n){"use strict";var r=null;t.exports={debugTool:r}},{}],59:[function(e,t,n){"use strict";var r=e(92),o=/\/?>/,i=/^<\!\-\-/,a={CHECKSUM_ATTR_NAME:"data-react-checksum",addChecksumToMarkup:function(e){var t=r(e);return i.test(e)?e:e.replace(o," "+a.CHECKSUM_ATTR_NAME+'="'+t+'"$&')},canReuseMarkup:function(e,t){var n=t.getAttribute(a.CHECKSUM_ATTR_NAME);n=n&&parseInt(n,10);var o=r(e);return o===n}};t.exports=a},{92:92}],60:[function(e,t,n){"use strict";function r(e,t){for(var n=Math.min(e.length,t.length),r=0;r<n;r++)if(e.charAt(r)!==t.charAt(r))return r;return e.length===t.length?-1:n}function o(e){return e?e.nodeType===A?e.documentElement:e.firstChild:null}function i(e){return e.getAttribute&&e.getAttribute(I)||""}function a(e,t,n,r,o){var i;if(b.logTopLevelRenders){var a=e._currentElement.props.child,s=a.type;i="React mount: "+("string"==typeof s?s:s.displayName||s.name),console.time(i)}var u=w.mountComponent(e,n,null,_(e,t),o,0);i&&console.timeEnd(i),e._renderedComponent._topLevelWrapper=e,V._mountImageIntoNode(u,t,e,r,n)}function s(e,t,n,r){var o=k.ReactReconcileTransaction.getPooled(!n&&C.useCreateElement);o.perform(a,null,e,t,o,n,r),k.ReactReconcileTransaction.release(o)}function u(e,t,n){for(w.unmountComponent(e,n),t.nodeType===A&&(t=t.documentElement);t.lastChild;)t.removeChild(t.lastChild)}function l(e){var t=o(e);if(t){var n=y.getInstanceFromNode(t);return!(!n||!n._hostParent)}}function c(e){return!(!e||e.nodeType!==R&&e.nodeType!==A&&e.nodeType!==D)}function p(e){var t=o(e),n=t&&y.getInstanceFromNode(t);return n&&!n._hostParent?n:null}function d(e){var t=p(e);return t?t._hostContainerInfo._topLevelWrapper:null}var f=e(113),h=e(9),m=e(11),v=e(121),g=e(25),y=(e(120),e(33)),_=e(34),C=e(36),b=e(53),E=e(57),x=(e(58),e(59)),w=e(66),T=e(70),k=e(71),P=e(130),N=e(109),S=(e(137),e(115)),M=e(117),I=(e(142),m.ID_ATTRIBUTE_NAME),O=m.ROOT_ATTRIBUTE_NAME,R=1,A=9,D=11,L={},U=1,F=function(){this.rootID=U++};F.prototype.isReactComponent={},F.prototype.render=function(){return this.props.child},F.isReactTopLevelWrapper=!0;var V={TopLevelWrapper:F,_instancesByReactRootID:L,scrollMonitor:function(e,t){t()},_updateRootComponent:function(e,t,n,r,o){return V.scrollMonitor(r,function(){T.enqueueElementInternal(e,t,n),o&&T.enqueueCallbackInternal(e,o)}),e},_renderNewRootComponent:function(e,t,n,r){c(t)?void 0:f("37"),g.ensureScrollValueMonitoring();var o=N(e,!1);k.batchedUpdates(s,o,t,n,r);var i=o._instance.rootID;return L[i]=o,o},renderSubtreeIntoContainer:function(e,t,n,r){return null!=e&&E.has(e)?void 0:f("38"),V._renderSubtreeIntoContainer(e,t,n,r)},_renderSubtreeIntoContainer:function(e,t,n,r){T.validateCallback(r,"ReactDOM.render"),v.isValidElement(t)?void 0:f("39","string"==typeof t?" Instead of passing a string like 'div', pass React.createElement('div') or <div />.":"function"==typeof t?" Instead of passing a class like Foo, pass React.createElement(Foo) or <Foo />.":null!=t&&void 0!==t.props?" This may be caused by unintentionally loading two independent copies of React.":"");var a,s=v.createElement(F,{child:t});if(e){var u=E.get(e);a=u._processChildContext(u._context)}else a=P;var c=d(n);if(c){var p=c._currentElement,h=p.props.child;if(M(h,t)){var m=c._renderedComponent.getPublicInstance(),g=r&&function(){r.call(m)};return V._updateRootComponent(c,s,a,n,g),m}V.unmountComponentAtNode(n)}var y=o(n),_=y&&!!i(y),C=l(n),b=_&&!c&&!C,x=V._renderNewRootComponent(s,n,b,a)._renderedComponent.getPublicInstance();return r&&r.call(x),x},render:function(e,t,n){return V._renderSubtreeIntoContainer(null,e,t,n)},unmountComponentAtNode:function(e){c(e)?void 0:f("40");var t=d(e);return t?(delete L[t._instance.rootID],k.batchedUpdates(u,t,e,!1),!0):(l(e),1===e.nodeType&&e.hasAttribute(O),!1)},_mountImageIntoNode:function(e,t,n,i,a){if(c(t)?void 0:f("41"),i){var s=o(t);if(x.canReuseMarkup(e,s))return void y.precacheNode(n,s);var u=s.getAttribute(x.CHECKSUM_ATTR_NAME);s.removeAttribute(x.CHECKSUM_ATTR_NAME);var l=s.outerHTML;s.setAttribute(x.CHECKSUM_ATTR_NAME,u);var p=e,d=r(p,l),m=" (client) "+p.substring(d-20,d+20)+"\n (server) "+l.substring(d-20,d+20);t.nodeType===A?f("42",m):void 0}if(t.nodeType===A?f("43"):void 0,a.useCreateElement){for(;t.lastChild;)t.removeChild(t.lastChild);h.insertTreeBefore(t,e,null)}else S(t,e),y.precacheNode(n,t.firstChild)}};t.exports=V},{109:109,11:11,113:113,115:115,117:117,120:120,121:121,130:130,137:137,142:142,25:25,33:33,34:34,36:36,53:53,57:57,58:58,59:59,66:66,70:70,71:71,9:9}],61:[function(e,t,n){"use strict";function r(e,t,n){return{type:"INSERT_MARKUP",content:e,fromIndex:null,fromNode:null,toIndex:n,afterNode:t}}function o(e,t,n){return{type:"MOVE_EXISTING",content:null,fromIndex:e._mountIndex,fromNode:d.getHostNode(e),toIndex:n,afterNode:t}}function i(e,t){return{type:"REMOVE_NODE",content:null,fromIndex:e._mountIndex,fromNode:t,toIndex:null,afterNode:null}}function a(e){return{type:"SET_MARKUP",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function s(e){return{type:"TEXT_CONTENT",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function u(e,t){return t&&(e=e||[],e.push(t)),e}function l(e,t){p.processChildrenUpdates(e,t)}var c=e(113),p=e(28),d=(e(57),e(58),e(120),e(66)),f=e(26),h=(e(129),e(97)),m=(e(137),{Mixin:{_reconcilerInstantiateChildren:function(e,t,n){return f.instantiateChildren(e,t,n)},_reconcilerUpdateChildren:function(e,t,n,r,o,i){var a,s=0;return a=h(t,s),f.updateChildren(e,a,n,r,o,this,this._hostContainerInfo,i,s),a},mountChildren:function(e,t,n){var r=this._reconcilerInstantiateChildren(e,t,n);this._renderedChildren=r;var o=[],i=0;for(var a in r)if(r.hasOwnProperty(a)){var s=r[a],u=0,l=d.mountComponent(s,t,this,this._hostContainerInfo,n,u);s._mountIndex=i++,o.push(l)}return o},updateTextContent:function(e){var t=this._renderedChildren;f.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&c("118");var r=[s(e)];l(this,r)},updateMarkup:function(e){var t=this._renderedChildren;f.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&c("118");var r=[a(e)];l(this,r)},updateChildren:function(e,t,n){this._updateChildren(e,t,n)},_updateChildren:function(e,t,n){var r=this._renderedChildren,o={},i=[],a=this._reconcilerUpdateChildren(r,e,i,o,t,n);if(a||r){var s,c=null,p=0,f=0,h=0,m=null;for(s in a)if(a.hasOwnProperty(s)){var v=r&&r[s],g=a[s];v===g?(c=u(c,this.moveChild(v,m,p,f)),f=Math.max(v._mountIndex,f),v._mountIndex=p):(v&&(f=Math.max(v._mountIndex,f)),c=u(c,this._mountChildAtIndex(g,i[h],m,p,t,n)),h++),p++,m=d.getHostNode(g)}for(s in o)o.hasOwnProperty(s)&&(c=u(c,this._unmountChild(r[s],o[s])));c&&l(this,c),this._renderedChildren=a}},unmountChildren:function(e){var t=this._renderedChildren;f.unmountChildren(t,e),this._renderedChildren=null},moveChild:function(e,t,n,r){if(e._mountIndex<r)return o(e,t,n)},createChild:function(e,t,n){return r(n,t,e._mountIndex)},removeChild:function(e,t){return i(e,t)},_mountChildAtIndex:function(e,t,n,r,o,i){return e._mountIndex=r,this.createChild(e,n,t)},_unmountChild:function(e,t){var n=this.removeChild(e,t);return e._mountIndex=null,n}}});t.exports=m},{113:113,120:120,129:129,137:137,26:26,28:28,57:57,58:58,66:66,97:97}],62:[function(e,t,n){"use strict";var r=e(113),o=e(121),i=(e(137),{HOST:0,COMPOSITE:1,EMPTY:2,getType:function(e){return null===e||e===!1?i.EMPTY:o.isValidElement(e)?"function"==typeof e.type?i.COMPOSITE:i.HOST:void r("26",e)}});t.exports=i},{113:113,121:121,137:137}],63:[function(e,t,n){"use strict";function r(e){return!(!e||"function"!=typeof e.attachRef||"function"!=typeof e.detachRef)}var o=e(113),i=(e(137),{addComponentAsRefTo:function(e,t,n){r(n)?void 0:o("119"),n.attachRef(t,e)},removeComponentAsRefFrom:function(e,t,n){r(n)?void 0:o("120");var i=n.getPublicInstance();i&&i.refs[t]===e.getPublicInstance()&&n.detachRef(t)}});t.exports=i},{113:113,137:137}],64:[function(e,t,n){"use strict";var r="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";t.exports=r},{}],65:[function(e,t,n){"use strict";function r(e){this.reinitializeTransaction(),this.renderToStaticMarkup=!1,this.reactMountReady=i.getPooled(null),this.useCreateElement=e}var o=e(143),i=e(6),a=e(24),s=e(25),u=e(56),l=(e(58),e(89)),c=e(70),p={initialize:u.getSelectionInformation,close:u.restoreSelection},d={initialize:function(){var e=s.isEnabled();return s.setEnabled(!1),e},close:function(e){s.setEnabled(e)}},f={initialize:function(){this.reactMountReady.reset()},close:function(){this.reactMountReady.notifyAll()}},h=[p,d,f],m={getTransactionWrappers:function(){return h},getReactMountReady:function(){return this.reactMountReady},getUpdateQueue:function(){return c},checkpoint:function(){return this.reactMountReady.checkpoint()},rollback:function(e){this.reactMountReady.rollback(e)},destructor:function(){i.release(this.reactMountReady),this.reactMountReady=null}};o(r.prototype,l,m),a.addPoolingTo(r),t.exports=r},{143:143,24:24,25:25,56:56,58:58,6:6,70:70,89:89}],66:[function(e,t,n){"use strict";function r(){o.attachRefs(this,this._currentElement)}var o=e(67),i=(e(58),e(142),{mountComponent:function(e,t,n,o,i,a){var s=e.mountComponent(t,n,o,i,a);return e._currentElement&&null!=e._currentElement.ref&&t.getReactMountReady().enqueue(r,e),s},getHostNode:function(e){return e.getHostNode()},unmountComponent:function(e,t){o.detachRefs(e,e._currentElement),e.unmountComponent(t)},receiveComponent:function(e,t,n,i){var a=e._currentElement;if(t!==a||i!==e._context){var s=o.shouldUpdateRefs(a,t);s&&o.detachRefs(e,a),e.receiveComponent(t,n,i),s&&e._currentElement&&null!=e._currentElement.ref&&n.getReactMountReady().enqueue(r,e)}},performUpdateIfNecessary:function(e,t,n){e._updateBatchNumber===n&&e.performUpdateIfNecessary(t)}});t.exports=i},{142:142,58:58,67:67}],67:[function(e,t,n){"use strict";function r(e,t,n){"function"==typeof e?e(t.getPublicInstance()):i.addComponentAsRefTo(t,e,n)}function o(e,t,n){"function"==typeof e?e(null):i.removeComponentAsRefFrom(t,e,n)}var i=e(63),a={};a.attachRefs=function(e,t){if(null!==t&&"object"==typeof t){var n=t.ref;null!=n&&r(n,e,t._owner)}},a.shouldUpdateRefs=function(e,t){var n=null,r=null;null!==e&&"object"==typeof e&&(n=e.ref,r=e._owner);var o=null,i=null;return null!==t&&"object"==typeof t&&(o=t.ref,i=t._owner),n!==o||"string"==typeof o&&i!==r},a.detachRefs=function(e,t){if(null!==t&&"object"==typeof t){var n=t.ref;null!=n&&o(n,e,t._owner)}},t.exports=a},{63:63}],68:[function(e,t,n){"use strict";function r(e){this.reinitializeTransaction(),this.renderToStaticMarkup=e,this.useCreateElement=!1,this.updateQueue=new s(this)}var o=e(143),i=e(24),a=e(89),s=(e(58),e(69)),u=[],l={enqueue:function(){}},c={getTransactionWrappers:function(){return u},getReactMountReady:function(){return l},getUpdateQueue:function(){return this.updateQueue},destructor:function(){},checkpoint:function(){},rollback:function(){}};o(r.prototype,a,c),i.addPoolingTo(r),t.exports=r},{143:143,24:24,58:58,69:69,89:89}],69:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){}var i=e(70),a=(e(142),function(){function e(t){r(this,e),this.transaction=t}return e.prototype.isMounted=function(e){return!1},e.prototype.enqueueCallback=function(e,t,n){this.transaction.isInTransaction()&&i.enqueueCallback(e,t,n)},e.prototype.enqueueForceUpdate=function(e){this.transaction.isInTransaction()?i.enqueueForceUpdate(e):o(e,"forceUpdate")},e.prototype.enqueueReplaceState=function(e,t){this.transaction.isInTransaction()?i.enqueueReplaceState(e,t):o(e,"replaceState")},e.prototype.enqueueSetState=function(e,t){this.transaction.isInTransaction()?i.enqueueSetState(e,t):o(e,"setState")},e}());t.exports=a},{142:142,70:70}],70:[function(e,t,n){"use strict";function r(e){u.enqueueUpdate(e)}function o(e){var t=typeof e;if("object"!==t)return t;var n=e.constructor&&e.constructor.name||t,r=Object.keys(e);return r.length>0&&r.length<20?n+" (keys: "+r.join(", ")+")":n}function i(e,t){var n=s.get(e);return n?n:null}var a=e(113),s=(e(120),e(57)),u=(e(58),e(71)),l=(e(137),e(142),{isMounted:function(e){var t=s.get(e);return!!t&&!!t._renderedComponent},enqueueCallback:function(e,t,n){l.validateCallback(t,n);var o=i(e);return o?(o._pendingCallbacks?o._pendingCallbacks.push(t):o._pendingCallbacks=[t],void r(o)):null},enqueueCallbackInternal:function(e,t){e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],r(e)},enqueueForceUpdate:function(e){var t=i(e,"forceUpdate");t&&(t._pendingForceUpdate=!0,r(t))},enqueueReplaceState:function(e,t){var n=i(e,"replaceState");n&&(n._pendingStateQueue=[t],n._pendingReplaceState=!0,r(n))},enqueueSetState:function(e,t){var n=i(e,"setState");if(n){var o=n._pendingStateQueue||(n._pendingStateQueue=[]);o.push(t),r(n)}},enqueueElementInternal:function(e,t,n){e._pendingElement=t,e._context=n,r(e)},validateCallback:function(e,t){e&&"function"!=typeof e?a("122",t,o(e)):void 0}});t.exports=l},{113:113,120:120,137:137,142:142,57:57,58:58,71:71}],71:[function(e,t,n){"use strict";function r(){P.ReactReconcileTransaction&&b?void 0:c("123")}function o(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=d.getPooled(),this.reconcileTransaction=P.ReactReconcileTransaction.getPooled(!0)}function i(e,t,n,o,i,a){return r(),b.batchedUpdates(e,t,n,o,i,a)}function a(e,t){return e._mountOrder-t._mountOrder}function s(e){var t=e.dirtyComponentsLength;t!==g.length?c("124",t,g.length):void 0,g.sort(a),y++;for(var n=0;n<t;n++){var r=g[n],o=r._pendingCallbacks;r._pendingCallbacks=null;var i;if(h.logTopLevelRenders){var s=r;r._currentElement.type.isReactTopLevelWrapper&&(s=r._renderedComponent),i="React update: "+s.getName(),console.time(i)}if(m.performUpdateIfNecessary(r,e.reconcileTransaction,y),i&&console.timeEnd(i),o)for(var u=0;u<o.length;u++)e.callbackQueue.enqueue(o[u],r.getPublicInstance())}}function u(e){return r(),b.isBatchingUpdates?(g.push(e),void(null==e._updateBatchNumber&&(e._updateBatchNumber=y+1))):void b.batchedUpdates(u,e)}function l(e,t){b.isBatchingUpdates?void 0:c("125"),_.enqueue(e,t),C=!0}var c=e(113),p=e(143),d=e(6),f=e(24),h=e(53),m=e(66),v=e(89),g=(e(137),[]),y=0,_=d.getPooled(),C=!1,b=null,E={initialize:function(){this.dirtyComponentsLength=g.length},close:function(){this.dirtyComponentsLength!==g.length?(g.splice(0,this.dirtyComponentsLength),T()):g.length=0}},x={initialize:function(){this.callbackQueue.reset()},close:function(){this.callbackQueue.notifyAll()}},w=[E,x];p(o.prototype,v,{getTransactionWrappers:function(){return w},destructor:function(){this.dirtyComponentsLength=null,d.release(this.callbackQueue),this.callbackQueue=null,P.ReactReconcileTransaction.release(this.reconcileTransaction),this.reconcileTransaction=null},perform:function(e,t,n){return v.perform.call(this,this.reconcileTransaction.perform,this.reconcileTransaction,e,t,n)}}),f.addPoolingTo(o);var T=function(){for(;g.length||C;){if(g.length){var e=o.getPooled();e.perform(s,null,e),o.release(e)}if(C){C=!1;var t=_;_=d.getPooled(),t.notifyAll(),d.release(t)}}},k={injectReconcileTransaction:function(e){e?void 0:c("126"),P.ReactReconcileTransaction=e},injectBatchingStrategy:function(e){e?void 0:c("127"),"function"!=typeof e.batchedUpdates?c("128"):void 0,"boolean"!=typeof e.isBatchingUpdates?c("129"):void 0,b=e}},P={ReactReconcileTransaction:null,batchedUpdates:i,enqueueUpdate:u,flushBatchedUpdates:T,injection:k,asap:l};t.exports=P},{113:113,137:137,143:143,24:24,53:53,6:6,66:66,89:89}],72:[function(e,t,n){"use strict";t.exports="15.4.2"},{}],73:[function(e,t,n){"use strict";var r={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace"},o={accentHeight:"accent-height",accumulate:0,additive:0,alignmentBaseline:"alignment-baseline",allowReorder:"allowReorder",alphabetic:0,amplitude:0,arabicForm:"arabic-form",ascent:0,attributeName:"attributeName",attributeType:"attributeType",autoReverse:"autoReverse",azimuth:0,baseFrequency:"baseFrequency",baseProfile:"baseProfile",baselineShift:"baseline-shift",bbox:0,begin:0,bias:0,by:0,calcMode:"calcMode",capHeight:"cap-height",clip:0,clipPath:"clip-path",clipRule:"clip-rule",clipPathUnits:"clipPathUnits",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",contentScriptType:"contentScriptType",contentStyleType:"contentStyleType",cursor:0,cx:0,cy:0,d:0,decelerate:0,descent:0,diffuseConstant:"diffuseConstant",direction:0,display:0,divisor:0,dominantBaseline:"dominant-baseline",dur:0,dx:0,dy:0,edgeMode:"edgeMode",elevation:0,enableBackground:"enable-background",end:0,exponent:0,externalResourcesRequired:"externalResourcesRequired",fill:0,fillOpacity:"fill-opacity",fillRule:"fill-rule",filter:0,filterRes:"filterRes",filterUnits:"filterUnits",floodColor:"flood-color",floodOpacity:"flood-opacity",focusable:0,fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",format:0,from:0,fx:0,fy:0,g1:0,g2:0,glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",glyphRef:"glyphRef",gradientTransform:"gradientTransform",gradientUnits:"gradientUnits",hanging:0,horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",ideographic:0,imageRendering:"image-rendering",in:0,in2:0,intercept:0,k:0,k1:0,k2:0,k3:0,k4:0,kernelMatrix:"kernelMatrix",kernelUnitLength:"kernelUnitLength",kerning:0,keyPoints:"keyPoints",keySplines:"keySplines",keyTimes:"keyTimes",lengthAdjust:"lengthAdjust",letterSpacing:"letter-spacing",lightingColor:"lighting-color",limitingConeAngle:"limitingConeAngle",local:0,markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",markerHeight:"markerHeight",markerUnits:"markerUnits",markerWidth:"markerWidth",mask:0,maskContentUnits:"maskContentUnits",maskUnits:"maskUnits",mathematical:0,mode:0,numOctaves:"numOctaves",offset:0,opacity:0,operator:0,order:0,orient:0,orientation:0,origin:0,overflow:0,overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pathLength:"pathLength",patternContentUnits:"patternContentUnits",patternTransform:"patternTransform",patternUnits:"patternUnits",pointerEvents:"pointer-events",points:0,pointsAtX:"pointsAtX",pointsAtY:"pointsAtY",pointsAtZ:"pointsAtZ",preserveAlpha:"preserveAlpha",preserveAspectRatio:"preserveAspectRatio",primitiveUnits:"primitiveUnits",r:0,radius:0,refX:"refX",refY:"refY",renderingIntent:"rendering-intent",repeatCount:"repeatCount",repeatDur:"repeatDur",requiredExtensions:"requiredExtensions",requiredFeatures:"requiredFeatures",restart:0,result:0,rotate:0,rx:0,ry:0,scale:0,seed:0,shapeRendering:"shape-rendering",slope:0,spacing:0,specularConstant:"specularConstant",specularExponent:"specularExponent",speed:0,spreadMethod:"spreadMethod",startOffset:"startOffset",stdDeviation:"stdDeviation",stemh:0,stemv:0,stitchTiles:"stitchTiles",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",string:0,stroke:0,strokeDasharray:"stroke-dasharray",strokeDashoffset:"stroke-dashoffset",strokeLinecap:"stroke-linecap",strokeLinejoin:"stroke-linejoin",strokeMiterlimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",surfaceScale:"surfaceScale",systemLanguage:"systemLanguage",tableValues:"tableValues",targetX:"targetX",targetY:"targetY",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",textLength:"textLength",to:0,transform:0,u1:0,u2:0,underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicode:0,unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",values:0,vectorEffect:"vector-effect",version:0,vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",viewBox:"viewBox",viewTarget:"viewTarget",visibility:0,widths:0,wordSpacing:"word-spacing",writingMode:"writing-mode",x:0,xHeight:"x-height",x1:0,x2:0,xChannelSelector:"xChannelSelector",xlinkActuate:"xlink:actuate",xlinkArcrole:"xlink:arcrole",xlinkHref:"xlink:href",xlinkRole:"xlink:role",xlinkShow:"xlink:show",xlinkTitle:"xlink:title",xlinkType:"xlink:type",xmlBase:"xml:base",xmlns:0,xmlnsXlink:"xmlns:xlink",xmlLang:"xml:lang",xmlSpace:"xml:space",y:0,y1:0,y2:0,yChannelSelector:"yChannelSelector",z:0,zoomAndPan:"zoomAndPan"},i={Properties:{},DOMAttributeNamespaces:{xlinkActuate:r.xlink,xlinkArcrole:r.xlink,xlinkHref:r.xlink,xlinkRole:r.xlink,xlinkShow:r.xlink,xlinkTitle:r.xlink,xlinkType:r.xlink,xmlBase:r.xml,xmlLang:r.xml,xmlSpace:r.xml},DOMAttributeNames:{}};Object.keys(o).forEach(function(e){i.Properties[e]=0,o[e]&&(i.DOMAttributeNames[e]=o[e])}),t.exports=i},{}],74:[function(e,t,n){"use strict";function r(e){if("selectionStart"in e&&u.hasSelectionCapabilities(e))return{start:e.selectionStart,end:e.selectionEnd};if(window.getSelection){var t=window.getSelection();return{anchorNode:t.anchorNode,anchorOffset:t.anchorOffset,focusNode:t.focusNode,focusOffset:t.focusOffset}}if(document.selection){var n=document.selection.createRange();return{parentElement:n.parentElement(),text:n.text,top:n.boundingTop,left:n.boundingLeft}}}function o(e,t){if(y||null==m||m!==c())return null;var n=r(m);if(!g||!d(g,n)){g=n;var o=l.getPooled(h.select,v,e,t);return o.type="select",o.target=m,i.accumulateTwoPhaseDispatches(o),o}return null}var i=e(19),a=e(123),s=e(33),u=e(56),l=e(80),c=e(132),p=e(111),d=e(141),f=a.canUseDOM&&"documentMode"in document&&document.documentMode<=11,h={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:["topBlur","topContextMenu","topFocus","topKeyDown","topKeyUp","topMouseDown","topMouseUp","topSelectionChange"]}},m=null,v=null,g=null,y=!1,_=!1,C={eventTypes:h,extractEvents:function(e,t,n,r){if(!_)return null;var i=t?s.getNodeFromInstance(t):window;switch(e){case"topFocus":(p(i)||"true"===i.contentEditable)&&(m=i,v=t,g=null);break;case"topBlur":m=null,v=null,g=null;break;case"topMouseDown":y=!0;break;case"topContextMenu":case"topMouseUp":return y=!1,
o(n,r);case"topSelectionChange":if(f)break;case"topKeyDown":case"topKeyUp":return o(n,r)}return null},didPutListener:function(e,t,n){"onSelect"===t&&(_=!0)}};t.exports=C},{111:111,123:123,132:132,141:141,19:19,33:33,56:56,80:80}],75:[function(e,t,n){"use strict";function r(e){return"."+e._rootNodeID}function o(e){return"button"===e||"input"===e||"select"===e||"textarea"===e}var i=e(113),a=e(122),s=e(19),u=e(33),l=e(76),c=e(77),p=e(80),d=e(81),f=e(83),h=e(84),m=e(79),v=e(85),g=e(86),y=e(87),_=e(88),C=e(129),b=e(99),E=(e(137),{}),x={};["abort","animationEnd","animationIteration","animationStart","blur","canPlay","canPlayThrough","click","contextMenu","copy","cut","doubleClick","drag","dragEnd","dragEnter","dragExit","dragLeave","dragOver","dragStart","drop","durationChange","emptied","encrypted","ended","error","focus","input","invalid","keyDown","keyPress","keyUp","load","loadedData","loadedMetadata","loadStart","mouseDown","mouseMove","mouseOut","mouseOver","mouseUp","paste","pause","play","playing","progress","rateChange","reset","scroll","seeked","seeking","stalled","submit","suspend","timeUpdate","touchCancel","touchEnd","touchMove","touchStart","transitionEnd","volumeChange","waiting","wheel"].forEach(function(e){var t=e[0].toUpperCase()+e.slice(1),n="on"+t,r="top"+t,o={phasedRegistrationNames:{bubbled:n,captured:n+"Capture"},dependencies:[r]};E[e]=o,x[r]=o});var w={},T={eventTypes:E,extractEvents:function(e,t,n,r){var o=x[e];if(!o)return null;var a;switch(e){case"topAbort":case"topCanPlay":case"topCanPlayThrough":case"topDurationChange":case"topEmptied":case"topEncrypted":case"topEnded":case"topError":case"topInput":case"topInvalid":case"topLoad":case"topLoadedData":case"topLoadedMetadata":case"topLoadStart":case"topPause":case"topPlay":case"topPlaying":case"topProgress":case"topRateChange":case"topReset":case"topSeeked":case"topSeeking":case"topStalled":case"topSubmit":case"topSuspend":case"topTimeUpdate":case"topVolumeChange":case"topWaiting":a=p;break;case"topKeyPress":if(0===b(n))return null;case"topKeyDown":case"topKeyUp":a=f;break;case"topBlur":case"topFocus":a=d;break;case"topClick":if(2===n.button)return null;case"topDoubleClick":case"topMouseDown":case"topMouseMove":case"topMouseUp":case"topMouseOut":case"topMouseOver":case"topContextMenu":a=h;break;case"topDrag":case"topDragEnd":case"topDragEnter":case"topDragExit":case"topDragLeave":case"topDragOver":case"topDragStart":case"topDrop":a=m;break;case"topTouchCancel":case"topTouchEnd":case"topTouchMove":case"topTouchStart":a=v;break;case"topAnimationEnd":case"topAnimationIteration":case"topAnimationStart":a=l;break;case"topTransitionEnd":a=g;break;case"topScroll":a=y;break;case"topWheel":a=_;break;case"topCopy":case"topCut":case"topPaste":a=c}a?void 0:i("86",e);var u=a.getPooled(o,t,n,r);return s.accumulateTwoPhaseDispatches(u),u},didPutListener:function(e,t,n){if("onClick"===t&&!o(e._tag)){var i=r(e),s=u.getNodeFromInstance(e);w[i]||(w[i]=a.listen(s,"click",C))}},willDeleteListener:function(e,t){if("onClick"===t&&!o(e._tag)){var n=r(e);w[n].remove(),delete w[n]}}};t.exports=T},{113:113,122:122,129:129,137:137,19:19,33:33,76:76,77:77,79:79,80:80,81:81,83:83,84:84,85:85,86:86,87:87,88:88,99:99}],76:[function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=e(80),i={animationName:null,elapsedTime:null,pseudoElement:null};o.augmentClass(r,i),t.exports=r},{80:80}],77:[function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=e(80),i={clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}};o.augmentClass(r,i),t.exports=r},{80:80}],78:[function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=e(80),i={data:null};o.augmentClass(r,i),t.exports=r},{80:80}],79:[function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=e(84),i={dataTransfer:null};o.augmentClass(r,i),t.exports=r},{84:84}],80:[function(e,t,n){"use strict";function r(e,t,n,r){this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n;var o=this.constructor.Interface;for(var i in o)if(o.hasOwnProperty(i)){var s=o[i];s?this[i]=s(n):"target"===i?this.target=r:this[i]=n[i]}var u=null!=n.defaultPrevented?n.defaultPrevented:n.returnValue===!1;return u?this.isDefaultPrevented=a.thatReturnsTrue:this.isDefaultPrevented=a.thatReturnsFalse,this.isPropagationStopped=a.thatReturnsFalse,this}var o=e(143),i=e(24),a=e(129),s=(e(142),"function"==typeof Proxy,["dispatchConfig","_targetInst","nativeEvent","isDefaultPrevented","isPropagationStopped","_dispatchListeners","_dispatchInstances"]),u={type:null,target:null,currentTarget:a.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};o(r.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=a.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=a.thatReturnsTrue)},persist:function(){this.isPersistent=a.thatReturnsTrue},isPersistent:a.thatReturnsFalse,destructor:function(){var e=this.constructor.Interface;for(var t in e)this[t]=null;for(var n=0;n<s.length;n++)this[s[n]]=null}}),r.Interface=u,r.augmentClass=function(e,t){var n=this,r=function(){};r.prototype=n.prototype;var a=new r;o(a,e.prototype),e.prototype=a,e.prototype.constructor=e,e.Interface=o({},n.Interface,t),e.augmentClass=n.augmentClass,i.addPoolingTo(e,i.fourArgumentPooler)},i.addPoolingTo(r,i.fourArgumentPooler),t.exports=r},{129:129,142:142,143:143,24:24}],81:[function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=e(87),i={relatedTarget:null};o.augmentClass(r,i),t.exports=r},{87:87}],82:[function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=e(80),i={data:null};o.augmentClass(r,i),t.exports=r},{80:80}],83:[function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=e(87),i=e(99),a=e(100),s=e(101),u={key:a,location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:s,charCode:function(e){return"keypress"===e.type?i(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?i(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}};o.augmentClass(r,u),t.exports=r},{100:100,101:101,87:87,99:99}],84:[function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=e(87),i=e(90),a=e(101),s={screenX:null,screenY:null,clientX:null,clientY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:a,button:function(e){var t=e.button;return"which"in e?t:2===t?2:4===t?1:0},buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},pageX:function(e){return"pageX"in e?e.pageX:e.clientX+i.currentScrollLeft},pageY:function(e){return"pageY"in e?e.pageY:e.clientY+i.currentScrollTop}};o.augmentClass(r,s),t.exports=r},{101:101,87:87,90:90}],85:[function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=e(87),i=e(101),a={touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:i};o.augmentClass(r,a),t.exports=r},{101:101,87:87}],86:[function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=e(80),i={propertyName:null,elapsedTime:null,pseudoElement:null};o.augmentClass(r,i),t.exports=r},{80:80}],87:[function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=e(80),i=e(102),a={view:function(e){if(e.view)return e.view;var t=i(e);if(t.window===t)return t;var n=t.ownerDocument;return n?n.defaultView||n.parentWindow:window},detail:function(e){return e.detail||0}};o.augmentClass(r,a),t.exports=r},{102:102,80:80}],88:[function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=e(84),i={deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null};o.augmentClass(r,i),t.exports=r},{84:84}],89:[function(e,t,n){"use strict";var r=e(113),o=(e(137),{}),i={reinitializeTransaction:function(){this.transactionWrappers=this.getTransactionWrappers(),this.wrapperInitData?this.wrapperInitData.length=0:this.wrapperInitData=[],this._isInTransaction=!1},_isInTransaction:!1,getTransactionWrappers:null,isInTransaction:function(){return!!this._isInTransaction},perform:function(e,t,n,o,i,a,s,u){this.isInTransaction()?r("27"):void 0;var l,c;try{this._isInTransaction=!0,l=!0,this.initializeAll(0),c=e.call(t,n,o,i,a,s,u),l=!1}finally{try{if(l)try{this.closeAll(0)}catch(e){}else this.closeAll(0)}finally{this._isInTransaction=!1}}return c},initializeAll:function(e){for(var t=this.transactionWrappers,n=e;n<t.length;n++){var r=t[n];try{this.wrapperInitData[n]=o,this.wrapperInitData[n]=r.initialize?r.initialize.call(this):null}finally{if(this.wrapperInitData[n]===o)try{this.initializeAll(n+1)}catch(e){}}}},closeAll:function(e){this.isInTransaction()?void 0:r("28");for(var t=this.transactionWrappers,n=e;n<t.length;n++){var i,a=t[n],s=this.wrapperInitData[n];try{i=!0,s!==o&&a.close&&a.close.call(this,s),i=!1}finally{if(i)try{this.closeAll(n+1)}catch(e){}}}this.wrapperInitData.length=0}};t.exports=i},{113:113,137:137}],90:[function(e,t,n){"use strict";var r={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(e){r.currentScrollLeft=e.x,r.currentScrollTop=e.y}};t.exports=r},{}],91:[function(e,t,n){"use strict";function r(e,t){return null==t?o("30"):void 0,null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}var o=e(113);e(137);t.exports=r},{113:113,137:137}],92:[function(e,t,n){"use strict";function r(e){for(var t=1,n=0,r=0,i=e.length,a=i&-4;r<a;){for(var s=Math.min(r+4096,a);r<s;r+=4)n+=(t+=e.charCodeAt(r))+(t+=e.charCodeAt(r+1))+(t+=e.charCodeAt(r+2))+(t+=e.charCodeAt(r+3));t%=o,n%=o}for(;r<i;r++)n+=t+=e.charCodeAt(r);return t%=o,n%=o,t|n<<16}var o=65521;t.exports=r},{}],93:[function(e,t,n){"use strict";var r=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,o){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,o)})}:e};t.exports=r},{}],94:[function(e,t,n){"use strict";function r(e,t,n){var r=null==t||"boolean"==typeof t||""===t;if(r)return"";var o=isNaN(t);return o||0===t||i.hasOwnProperty(e)&&i[e]?""+t:("string"==typeof t&&(t=t.trim()),t+"px")}var o=e(4),i=(e(142),o.isUnitlessNumber);t.exports=r},{142:142,4:4}],95:[function(e,t,n){"use strict";function r(e){var t=""+e,n=i.exec(t);if(!n)return t;var r,o="",a=0,s=0;for(a=n.index;a<t.length;a++){switch(t.charCodeAt(a)){case 34:r="&quot;";break;case 38:r="&amp;";break;case 39:r="&#x27;";break;case 60:r="&lt;";break;case 62:r="&gt;";break;default:continue}s!==a&&(o+=t.substring(s,a)),s=a+1,o+=r}return s!==a?o+t.substring(s,a):o}function o(e){return"boolean"==typeof e||"number"==typeof e?""+e:r(e)}var i=/["'&<>]/;t.exports=o},{}],96:[function(e,t,n){"use strict";function r(e){if(null==e)return null;if(1===e.nodeType)return e;var t=a.get(e);return t?(t=s(t),t?i.getNodeFromInstance(t):null):void("function"==typeof e.render?o("44"):o("45",Object.keys(e)))}var o=e(113),i=(e(120),e(33)),a=e(57),s=e(103);e(137),e(142);t.exports=r},{103:103,113:113,120:120,137:137,142:142,33:33,57:57}],97:[function(e,t,n){(function(n){"use strict";function r(e,t,n,r){if(e&&"object"==typeof e){var o=e,i=void 0===o[n];i&&null!=t&&(o[n]=t)}}function o(e,t){if(null==e)return e;var n={};return i(e,r,n),n}var i=(e(22),e(118));e(142);"undefined"!=typeof n&&n.env,t.exports=o}).call(this,void 0)},{118:118,142:142,22:22}],98:[function(e,t,n){"use strict";function r(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}t.exports=r},{}],99:[function(e,t,n){"use strict";function r(e){var t,n=e.keyCode;return"charCode"in e?(t=e.charCode,0===t&&13===n&&(t=13)):t=n,t>=32||13===t?t:0}t.exports=r},{}],100:[function(e,t,n){"use strict";function r(e){if(e.key){var t=i[e.key]||e.key;if("Unidentified"!==t)return t}if("keypress"===e.type){var n=o(e);return 13===n?"Enter":String.fromCharCode(n)}return"keydown"===e.type||"keyup"===e.type?a[e.keyCode]||"Unidentified":""}var o=e(99),i={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},a={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"};t.exports=r},{99:99}],101:[function(e,t,n){"use strict";function r(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var r=i[e];return!!r&&!!n[r]}function o(e){return r}var i={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};t.exports=o},{}],102:[function(e,t,n){"use strict";function r(e){var t=e.target||e.srcElement||window;return t.correspondingUseElement&&(t=t.correspondingUseElement),3===t.nodeType?t.parentNode:t}t.exports=r},{}],103:[function(e,t,n){"use strict";function r(e){for(var t;(t=e._renderedNodeType)===o.COMPOSITE;)e=e._renderedComponent;return t===o.HOST?e._renderedComponent:t===o.EMPTY?null:void 0}var o=e(62);t.exports=r},{62:62}],104:[function(e,t,n){"use strict";function r(e){var t=e&&(o&&e[o]||e[i]);if("function"==typeof t)return t}var o="function"==typeof Symbol&&Symbol.iterator,i="@@iterator";t.exports=r},{}],105:[function(e,t,n){"use strict";function r(){return o++}var o=1;t.exports=r},{}],106:[function(e,t,n){"use strict";function r(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function o(e){for(;e;){if(e.nextSibling)return e.nextSibling;e=e.parentNode}}function i(e,t){for(var n=r(e),i=0,a=0;n;){if(3===n.nodeType){if(a=i+n.textContent.length,i<=t&&a>=t)return{node:n,offset:t-i};i=a}n=r(o(n))}}t.exports=i},{}],107:[function(e,t,n){"use strict";function r(){return!i&&o.canUseDOM&&(i="textContent"in document.documentElement?"textContent":"innerText"),i}var o=e(123),i=null;t.exports=r},{123:123}],108:[function(e,t,n){"use strict";function r(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n["ms"+e]="MS"+t,n["O"+e]="o"+t.toLowerCase(),n}function o(e){if(s[e])return s[e];if(!a[e])return e;var t=a[e];for(var n in t)if(t.hasOwnProperty(n)&&n in u)return s[e]=t[n];return""}var i=e(123),a={animationend:r("Animation","AnimationEnd"),animationiteration:r("Animation","AnimationIteration"),animationstart:r("Animation","AnimationStart"),transitionend:r("Transition","TransitionEnd")},s={},u={};i.canUseDOM&&(u=document.createElement("div").style,"AnimationEvent"in window||(delete a.animationend.animation,delete a.animationiteration.animation,delete a.animationstart.animation),"TransitionEvent"in window||delete a.transitionend.transition),t.exports=o},{123:123}],109:[function(e,t,n){"use strict";function r(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}function o(e){return"function"==typeof e&&"undefined"!=typeof e.prototype&&"function"==typeof e.prototype.mountComponent&&"function"==typeof e.prototype.receiveComponent}function i(e,t){var n;if(null===e||e===!1)n=l.create(i);else if("object"==typeof e){var s=e,u=s.type;if("function"!=typeof u&&"string"!=typeof u){var d="";d+=r(s._owner),a("130",null==u?u:typeof u,d)}"string"==typeof s.type?n=c.createInternalComponent(s):o(s.type)?(n=new s.type(s),n.getHostNode||(n.getHostNode=n.getNativeNode)):n=new p(s)}else"string"==typeof e||"number"==typeof e?n=c.createInstanceForText(e):a("131",typeof e);return n._mountIndex=0,n._mountImage=null,n}var a=e(113),s=e(143),u=e(29),l=e(49),c=e(54),p=(e(105),e(137),e(142),function(e){this.construct(e)});s(p.prototype,u,{_instantiateReactComponent:i}),t.exports=i},{105:105,113:113,137:137,142:142,143:143,29:29,49:49,54:54}],110:[function(e,t,n){"use strict";function r(e,t){if(!i.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,r=n in document;if(!r){var a=document.createElement("div");a.setAttribute(n,"return;"),r="function"==typeof a[n]}return!r&&o&&"wheel"===e&&(r=document.implementation.hasFeature("Events.wheel","3.0")),r}var o,i=e(123);i.canUseDOM&&(o=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0),t.exports=r},{123:123}],111:[function(e,t,n){"use strict";function r(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!o[e.type]:"textarea"===t}var o={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};t.exports=r},{}],112:[function(e,t,n){"use strict";function r(e){return'"'+o(e)+'"'}var o=e(95);t.exports=r},{95:95}],113:[function(e,t,n){"use strict";function r(e){for(var t=arguments.length-1,n="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,r=0;r<t;r++)n+="&args[]="+encodeURIComponent(arguments[r+1]);n+=" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";var o=new Error(n);throw o.name="Invariant Violation",o.framesToPop=1,o}t.exports=r},{}],114:[function(e,t,n){"use strict";var r=e(60);t.exports=r.renderSubtreeIntoContainer},{60:60}],115:[function(e,t,n){"use strict";var r,o=e(123),i=e(10),a=/^[ \r\n\t\f]/,s=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,u=e(93),l=u(function(e,t){if(e.namespaceURI!==i.svg||"innerHTML"in e)e.innerHTML=t;else{r=r||document.createElement("div"),r.innerHTML="<svg>"+t+"</svg>";for(var n=r.firstChild;n.firstChild;)e.appendChild(n.firstChild)}});if(o.canUseDOM){var c=document.createElement("div");c.innerHTML=" ",""===c.innerHTML&&(l=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),a.test(t)||"<"===t[0]&&s.test(t)){e.innerHTML=String.fromCharCode(65279)+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t}),c=null}t.exports=l},{10:10,123:123,93:93}],116:[function(e,t,n){"use strict";var r=e(123),o=e(95),i=e(115),a=function(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t};r.canUseDOM&&("textContent"in document.documentElement||(a=function(e,t){return 3===e.nodeType?void(e.nodeValue=t):void i(e,o(t))})),t.exports=a},{115:115,123:123,95:95}],117:[function(e,t,n){"use strict";function r(e,t){var n=null===e||e===!1,r=null===t||t===!1;if(n||r)return n===r;var o=typeof e,i=typeof t;return"string"===o||"number"===o?"string"===i||"number"===i:"object"===i&&e.type===t.type&&e.key===t.key}t.exports=r},{}],118:[function(e,t,n){"use strict";function r(e,t){return e&&"object"==typeof e&&null!=e.key?l.escape(e.key):t.toString(36)}function o(e,t,n,i){var d=typeof e;if("undefined"!==d&&"boolean"!==d||(e=null),null===e||"string"===d||"number"===d||"object"===d&&e.$$typeof===s)return n(i,e,""===t?c+r(e,0):t),1;var f,h,m=0,v=""===t?c:t+p;if(Array.isArray(e))for(var g=0;g<e.length;g++)f=e[g],h=v+r(f,g),m+=o(f,h,n,i);else{var y=u(e);if(y){var _,C=y.call(e);if(y!==e.entries)for(var b=0;!(_=C.next()).done;)f=_.value,h=v+r(f,b++),m+=o(f,h,n,i);else for(;!(_=C.next()).done;){var E=_.value;E&&(f=E[1],h=v+l.escape(E[0])+p+r(f,0),m+=o(f,h,n,i))}}else if("object"===d){var x="",w=String(e);a("31","[object Object]"===w?"object with keys {"+Object.keys(e).join(", ")+"}":w,x)}}return m}function i(e,t,n){return null==e?0:o(e,"",t,n)}var a=e(113),s=(e(120),e(48)),u=e(104),l=(e(137),e(22)),c=(e(142),"."),p=":";t.exports=i},{104:104,113:113,120:120,137:137,142:142,22:22,48:48}],119:[function(e,t,n){"use strict";var r=(e(143),e(129)),o=(e(142),r);t.exports=o},{129:129,142:142,143:143}],120:[function(t,n,r){"use strict";var o=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;n.exports=o.ReactCurrentOwner},{}],121:[function(t,n,r){"use strict";n.exports=e},{}],122:[function(e,t,n){"use strict";var r=e(129),o={listen:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!1),{remove:function(){e.removeEventListener(t,n,!1)}}):e.attachEvent?(e.attachEvent("on"+t,n),{remove:function(){e.detachEvent("on"+t,n)}}):void 0},capture:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!0),{remove:function(){e.removeEventListener(t,n,!0)}}):{remove:r}},registerDefault:function(){}};t.exports=o},{129:129}],123:[function(e,t,n){"use strict";var r=!("undefined"==typeof window||!window.document||!window.document.createElement),o={canUseDOM:r,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:r&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:r&&!!window.screen,isInWorker:!r};t.exports=o},{}],124:[function(e,t,n){"use strict";function r(e){return e.replace(o,function(e,t){return t.toUpperCase()})}var o=/-(.)/g;t.exports=r},{}],125:[function(e,t,n){"use strict";function r(e){return o(e.replace(i,"ms-"))}var o=e(124),i=/^-ms-/;t.exports=r},{124:124}],126:[function(e,t,n){"use strict";function r(e,t){return!(!e||!t)&&(e===t||!o(e)&&(o(t)?r(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}var o=e(139);t.exports=r},{139:139}],127:[function(e,t,n){"use strict";function r(e){var t=e.length;if(Array.isArray(e)||"object"!=typeof e&&"function"!=typeof e?a(!1):void 0,"number"!=typeof t?a(!1):void 0,0===t||t-1 in e?void 0:a(!1),"function"==typeof e.callee?a(!1):void 0,e.hasOwnProperty)try{return Array.prototype.slice.call(e)}catch(e){}for(var n=Array(t),r=0;r<t;r++)n[r]=e[r];return n}function o(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"length"in e&&!("setInterval"in e)&&"number"!=typeof e.nodeType&&(Array.isArray(e)||"callee"in e||"item"in e)}function i(e){return o(e)?Array.isArray(e)?e.slice():r(e):[e]}var a=e(137);t.exports=i},{137:137}],128:[function(e,t,n){"use strict";function r(e){var t=e.match(c);return t&&t[1].toLowerCase()}function o(e,t){var n=l;l?void 0:u(!1);var o=r(e),i=o&&s(o);if(i){n.innerHTML=i[1]+e+i[2];for(var c=i[0];c--;)n=n.lastChild}else n.innerHTML=e;var p=n.getElementsByTagName("script");p.length&&(t?void 0:u(!1),a(p).forEach(t));for(var d=Array.from(n.childNodes);n.lastChild;)n.removeChild(n.lastChild);return d}var i=e(123),a=e(127),s=e(133),u=e(137),l=i.canUseDOM?document.createElement("div"):null,c=/^\s*<(\w+)/;t.exports=o},{123:123,127:127,133:133,137:137}],129:[function(e,t,n){"use strict";function r(e){return function(){return e}}var o=function(){};o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},t.exports=o},{}],130:[function(e,t,n){"use strict";var r={};t.exports=r},{}],131:[function(e,t,n){"use strict";function r(e){try{e.focus()}catch(e){}}t.exports=r},{}],132:[function(e,t,n){"use strict";function r(){if("undefined"==typeof document)return null;try{return document.activeElement||document.body}catch(e){return document.body}}t.exports=r},{}],133:[function(e,t,n){"use strict";function r(e){return a?void 0:i(!1),d.hasOwnProperty(e)||(e="*"),s.hasOwnProperty(e)||("*"===e?a.innerHTML="<link />":a.innerHTML="<"+e+"></"+e+">",s[e]=!a.firstChild),s[e]?d[e]:null}var o=e(123),i=e(137),a=o.canUseDOM?document.createElement("div"):null,s={},u=[1,'<select multiple="true">',"</select>"],l=[1,"<table>","</table>"],c=[3,"<table><tbody><tr>","</tr></tbody></table>"],p=[1,'<svg xmlns="http://www.w3.org/2000/svg">',"</svg>"],d={"*":[1,"?<div>","</div>"],area:[1,"<map>","</map>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],legend:[1,"<fieldset>","</fieldset>"],param:[1,"<object>","</object>"],tr:[2,"<table><tbody>","</tbody></table>"],optgroup:u,option:u,caption:l,colgroup:l,tbody:l,tfoot:l,thead:l,td:c,th:c},f=["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"];f.forEach(function(e){d[e]=p,s[e]=!0}),t.exports=r},{123:123,137:137}],134:[function(e,t,n){"use strict";function r(e){return e===window?{x:window.pageXOffset||document.documentElement.scrollLeft,y:window.pageYOffset||document.documentElement.scrollTop}:{x:e.scrollLeft,y:e.scrollTop}}t.exports=r},{}],135:[function(e,t,n){"use strict";function r(e){return e.replace(o,"-$1").toLowerCase()}var o=/([A-Z])/g;t.exports=r},{}],136:[function(e,t,n){"use strict";function r(e){return o(e).replace(i,"-ms-")}var o=e(135),i=/^ms-/;t.exports=r},{135:135}],137:[function(e,t,n){"use strict";function r(e,t,n,r,i,a,s,u){if(o(t),!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,i,a,s,u],p=0;l=new Error(t.replace(/%s/g,function(){return c[p++]})),l.name="Invariant Violation"}throw l.framesToPop=1,l}}var o=function(e){};t.exports=r},{}],138:[function(e,t,n){"use strict";function r(e){return!(!e||!("function"==typeof Node?e instanceof Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName))}t.exports=r},{}],139:[function(e,t,n){"use strict";function r(e){return o(e)&&3==e.nodeType}var o=e(138);t.exports=r},{138:138}],140:[function(e,t,n){"use strict";function r(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}t.exports=r},{}],141:[function(e,t,n){"use strict";function r(e,t){return e===t?0!==e||0!==t||1/e===1/t:e!==e&&t!==t}function o(e,t){if(r(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(var a=0;a<n.length;a++)if(!i.call(t,n[a])||!r(e[n[a]],t[n[a]]))return!1;return!0}var i=Object.prototype.hasOwnProperty;t.exports=o},{}],142:[function(e,t,n){"use strict";var r=e(129),o=r;t.exports=o},{129:129}],143:[function(e,t,n){"use strict";function r(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function o(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(t).map(function(e){return t[e]});if("0123456789"!==r.join(""))return!1;var o={};return"abcdefghijklmnopqrst".split("").forEach(function(e){o[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},o)).join("")}catch(e){return!1}}var i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;t.exports=o()?Object.assign:function(e,t){for(var n,o,s=r(e),u=1;u<arguments.length;u++){n=Object(arguments[u]);for(var l in n)i.call(n,l)&&(s[l]=n[l]);if(Object.getOwnPropertySymbols){o=Object.getOwnPropertySymbols(n);for(var c=0;c<o.length;c++)a.call(n,o[c])&&(s[o[c]]=n[o[c]])}}return s}},{}]},{},[45])(45)})});
/* pako 0.2.7 nodeca/pako */
!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.pako=t()}}(function(){return function t(e,a,i){function n(s,o){if(!a[s]){if(!e[s]){var l="function"==typeof require&&require;if(!o&&l)return l(s,!0);if(r)return r(s,!0);var h=new Error("Cannot find module '"+s+"'");throw h.code="MODULE_NOT_FOUND",h}var d=a[s]={exports:{}};e[s][0].call(d.exports,function(t){var a=e[s][1][t];return n(a?a:t)},d,d.exports,t,e,a,i)}return a[s].exports}for(var r="function"==typeof require&&require,s=0;s<i.length;s++)n(i[s]);return n}({1:[function(t,e,a){"use strict";function i(t,e){var a=new v(e);if(a.push(t,!0),a.err)throw a.msg;return a.result}function n(t,e){return e=e||{},e.raw=!0,i(t,e)}function r(t,e){return e=e||{},e.gzip=!0,i(t,e)}var s=t("./zlib/deflate.js"),o=t("./utils/common"),l=t("./utils/strings"),h=t("./zlib/messages"),d=t("./zlib/zstream"),f=Object.prototype.toString,_=0,u=4,c=0,b=1,g=2,m=-1,w=0,p=8,v=function(t){this.options=o.assign({level:m,method:p,chunkSize:16384,windowBits:15,memLevel:8,strategy:w,to:""},t||{});var e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new d,this.strm.avail_out=0;var a=s.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==c)throw new Error(h[a]);e.header&&s.deflateSetHeader(this.strm,e.header)};v.prototype.push=function(t,e){var a,i,n=this.strm,r=this.options.chunkSize;if(this.ended)return!1;i=e===~~e?e:e===!0?u:_,"string"==typeof t?n.input=l.string2buf(t):"[object ArrayBuffer]"===f.call(t)?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;do{if(0===n.avail_out&&(n.output=new o.Buf8(r),n.next_out=0,n.avail_out=r),a=s.deflate(n,i),a!==b&&a!==c)return this.onEnd(a),this.ended=!0,!1;(0===n.avail_out||0===n.avail_in&&(i===u||i===g))&&this.onData("string"===this.options.to?l.buf2binstring(o.shrinkBuf(n.output,n.next_out)):o.shrinkBuf(n.output,n.next_out))}while((n.avail_in>0||0===n.avail_out)&&a!==b);return i===u?(a=s.deflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===c):i===g?(this.onEnd(c),n.avail_out=0,!0):!0},v.prototype.onData=function(t){this.chunks.push(t)},v.prototype.onEnd=function(t){t===c&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Deflate=v,a.deflate=i,a.deflateRaw=n,a.gzip=r},{"./utils/common":3,"./utils/strings":4,"./zlib/deflate.js":8,"./zlib/messages":13,"./zlib/zstream":15}],2:[function(t,e,a){"use strict";function i(t,e){var a=new u(e);if(a.push(t,!0),a.err)throw a.msg;return a.result}function n(t,e){return e=e||{},e.raw=!0,i(t,e)}var r=t("./zlib/inflate.js"),s=t("./utils/common"),o=t("./utils/strings"),l=t("./zlib/constants"),h=t("./zlib/messages"),d=t("./zlib/zstream"),f=t("./zlib/gzheader"),_=Object.prototype.toString,u=function(t){this.options=s.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0===(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new d,this.strm.avail_out=0;var a=r.inflateInit2(this.strm,e.windowBits);if(a!==l.Z_OK)throw new Error(h[a]);this.header=new f,r.inflateGetHeader(this.strm,this.header)};u.prototype.push=function(t,e){var a,i,n,h,d,f=this.strm,u=this.options.chunkSize;if(this.ended)return!1;i=e===~~e?e:e===!0?l.Z_FINISH:l.Z_NO_FLUSH,"string"==typeof t?f.input=o.binstring2buf(t):"[object ArrayBuffer]"===_.call(t)?f.input=new Uint8Array(t):f.input=t,f.next_in=0,f.avail_in=f.input.length;do{if(0===f.avail_out&&(f.output=new s.Buf8(u),f.next_out=0,f.avail_out=u),a=r.inflate(f,l.Z_NO_FLUSH),a!==l.Z_STREAM_END&&a!==l.Z_OK)return this.onEnd(a),this.ended=!0,!1;f.next_out&&(0===f.avail_out||a===l.Z_STREAM_END||0===f.avail_in&&(i===l.Z_FINISH||i===l.Z_SYNC_FLUSH))&&("string"===this.options.to?(n=o.utf8border(f.output,f.next_out),h=f.next_out-n,d=o.buf2string(f.output,n),f.next_out=h,f.avail_out=u-h,h&&s.arraySet(f.output,f.output,n,h,0),this.onData(d)):this.onData(s.shrinkBuf(f.output,f.next_out)))}while(f.avail_in>0&&a!==l.Z_STREAM_END);return a===l.Z_STREAM_END&&(i=l.Z_FINISH),i===l.Z_FINISH?(a=r.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===l.Z_OK):i===l.Z_SYNC_FLUSH?(this.onEnd(l.Z_OK),f.avail_out=0,!0):!0},u.prototype.onData=function(t){this.chunks.push(t)},u.prototype.onEnd=function(t){t===l.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=s.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Inflate=u,a.inflate=i,a.inflateRaw=n,a.ungzip=i},{"./utils/common":3,"./utils/strings":4,"./zlib/constants":6,"./zlib/gzheader":9,"./zlib/inflate.js":11,"./zlib/messages":13,"./zlib/zstream":15}],3:[function(t,e,a){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;a.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(var i in a)a.hasOwnProperty(i)&&(t[i]=a[i])}}return t},a.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var n={arraySet:function(t,e,a,i,n){if(e.subarray&&t.subarray)return void t.set(e.subarray(a,a+i),n);for(var r=0;i>r;r++)t[n+r]=e[a+r]},flattenChunks:function(t){var e,a,i,n,r,s;for(i=0,e=0,a=t.length;a>e;e++)i+=t[e].length;for(s=new Uint8Array(i),n=0,e=0,a=t.length;a>e;e++)r=t[e],s.set(r,n),n+=r.length;return s}},r={arraySet:function(t,e,a,i,n){for(var r=0;i>r;r++)t[n+r]=e[a+r]},flattenChunks:function(t){return[].concat.apply([],t)}};a.setTyped=function(t){t?(a.Buf8=Uint8Array,a.Buf16=Uint16Array,a.Buf32=Int32Array,a.assign(a,n)):(a.Buf8=Array,a.Buf16=Array,a.Buf32=Array,a.assign(a,r))},a.setTyped(i)},{}],4:[function(t,e,a){"use strict";function i(t,e){if(65537>e&&(t.subarray&&s||!t.subarray&&r))return String.fromCharCode.apply(null,n.shrinkBuf(t,e));for(var a="",i=0;e>i;i++)a+=String.fromCharCode(t[i]);return a}var n=t("./common"),r=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(o){r=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(o){s=!1}for(var l=new n.Buf8(256),h=0;256>h;h++)l[h]=h>=252?6:h>=248?5:h>=240?4:h>=224?3:h>=192?2:1;l[254]=l[254]=1,a.string2buf=function(t){var e,a,i,r,s,o=t.length,l=0;for(r=0;o>r;r++)a=t.charCodeAt(r),55296===(64512&a)&&o>r+1&&(i=t.charCodeAt(r+1),56320===(64512&i)&&(a=65536+(a-55296<<10)+(i-56320),r++)),l+=128>a?1:2048>a?2:65536>a?3:4;for(e=new n.Buf8(l),s=0,r=0;l>s;r++)a=t.charCodeAt(r),55296===(64512&a)&&o>r+1&&(i=t.charCodeAt(r+1),56320===(64512&i)&&(a=65536+(a-55296<<10)+(i-56320),r++)),128>a?e[s++]=a:2048>a?(e[s++]=192|a>>>6,e[s++]=128|63&a):65536>a?(e[s++]=224|a>>>12,e[s++]=128|a>>>6&63,e[s++]=128|63&a):(e[s++]=240|a>>>18,e[s++]=128|a>>>12&63,e[s++]=128|a>>>6&63,e[s++]=128|63&a);return e},a.buf2binstring=function(t){return i(t,t.length)},a.binstring2buf=function(t){for(var e=new n.Buf8(t.length),a=0,i=e.length;i>a;a++)e[a]=t.charCodeAt(a);return e},a.buf2string=function(t,e){var a,n,r,s,o=e||t.length,h=new Array(2*o);for(n=0,a=0;o>a;)if(r=t[a++],128>r)h[n++]=r;else if(s=l[r],s>4)h[n++]=65533,a+=s-1;else{for(r&=2===s?31:3===s?15:7;s>1&&o>a;)r=r<<6|63&t[a++],s--;s>1?h[n++]=65533:65536>r?h[n++]=r:(r-=65536,h[n++]=55296|r>>10&1023,h[n++]=56320|1023&r)}return i(h,n)},a.utf8border=function(t,e){var a;for(e=e||t.length,e>t.length&&(e=t.length),a=e-1;a>=0&&128===(192&t[a]);)a--;return 0>a?e:0===a?e:a+l[t[a]]>e?a:e}},{"./common":3}],5:[function(t,e,a){"use strict";function i(t,e,a,i){for(var n=65535&t|0,r=t>>>16&65535|0,s=0;0!==a;){s=a>2e3?2e3:a,a-=s;do n=n+e[i++]|0,r=r+n|0;while(--s);n%=65521,r%=65521}return n|r<<16|0}e.exports=i},{}],6:[function(t,e,a){e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],7:[function(t,e,a){"use strict";function i(){for(var t,e=[],a=0;256>a;a++){t=a;for(var i=0;8>i;i++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e}function n(t,e,a,i){var n=r,s=i+a;t=-1^t;for(var o=i;s>o;o++)t=t>>>8^n[255&(t^e[o])];return-1^t}var r=i();e.exports=n},{}],8:[function(t,e,a){"use strict";function i(t,e){return t.msg=N[e],e}function n(t){return(t<<1)-(t>4?9:0)}function r(t){for(var e=t.length;--e>=0;)t[e]=0}function s(t){var e=t.state,a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(A.arraySet(t.output,e.pending_buf,e.pending_out,a,t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))}function o(t,e){Z._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,s(t.strm)}function l(t,e){t.pending_buf[t.pending++]=e}function h(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function d(t,e,a,i){var n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,A.arraySet(e,t.input,t.next_in,n,a),1===t.state.wrap?t.adler=R(t.adler,e,n,a):2===t.state.wrap&&(t.adler=C(t.adler,e,n,a)),t.next_in+=n,t.total_in+=n,n)}function f(t,e){var a,i,n=t.max_chain_length,r=t.strstart,s=t.prev_length,o=t.nice_match,l=t.strstart>t.w_size-ht?t.strstart-(t.w_size-ht):0,h=t.window,d=t.w_mask,f=t.prev,_=t.strstart+lt,u=h[r+s-1],c=h[r+s];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do if(a=e,h[a+s]===c&&h[a+s-1]===u&&h[a]===h[r]&&h[++a]===h[r+1]){r+=2,a++;do;while(h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&_>r);if(i=lt-(_-r),r=_-lt,i>s){if(t.match_start=e,s=i,i>=o)break;u=h[r+s-1],c=h[r+s]}}while((e=f[e&d])>l&&0!==--n);return s<=t.lookahead?s:t.lookahead}function _(t){var e,a,i,n,r,s=t.w_size;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=s+(s-ht)){A.arraySet(t.window,t.window,s,s,0),t.match_start-=s,t.strstart-=s,t.block_start-=s,a=t.hash_size,e=a;do i=t.head[--e],t.head[e]=i>=s?i-s:0;while(--a);a=s,e=a;do i=t.prev[--e],t.prev[e]=i>=s?i-s:0;while(--a);n+=s}if(0===t.strm.avail_in)break;if(a=d(t.strm,t.window,t.strstart+t.lookahead,n),t.lookahead+=a,t.lookahead+t.insert>=ot)for(r=t.strstart-t.insert,t.ins_h=t.window[r],t.ins_h=(t.ins_h<<t.hash_shift^t.window[r+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[r+ot-1])&t.hash_mask,t.prev[r&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=r,r++,t.insert--,!(t.lookahead+t.insert<ot)););}while(t.lookahead<ht&&0!==t.strm.avail_in)}function u(t,e){var a=65535;for(a>t.pending_buf_size-5&&(a=t.pending_buf_size-5);;){if(t.lookahead<=1){if(_(t),0===t.lookahead&&e===I)return wt;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+a;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,o(t,!1),0===t.strm.avail_out))return wt;if(t.strstart-t.block_start>=t.w_size-ht&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===U?(o(t,!0),0===t.strm.avail_out?vt:kt):t.strstart>t.block_start&&(o(t,!1),0===t.strm.avail_out)?wt:wt}function c(t,e){for(var a,i;;){if(t.lookahead<ht){if(_(t),t.lookahead<ht&&e===I)return wt;if(0===t.lookahead)break}if(a=0,t.lookahead>=ot&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+ot-1])&t.hash_mask,a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==a&&t.strstart-a<=t.w_size-ht&&(t.match_length=f(t,a)),t.match_length>=ot)if(i=Z._tr_tally(t,t.strstart-t.match_start,t.match_length-ot),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=ot){t.match_length--;do t.strstart++,t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+ot-1])&t.hash_mask,a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart;while(0!==--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+1])&t.hash_mask;else i=Z._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=t.strstart<ot-1?t.strstart:ot-1,e===U?(o(t,!0),0===t.strm.avail_out?vt:kt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?wt:pt}function b(t,e){for(var a,i,n;;){if(t.lookahead<ht){if(_(t),t.lookahead<ht&&e===I)return wt;if(0===t.lookahead)break}if(a=0,t.lookahead>=ot&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+ot-1])&t.hash_mask,a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=ot-1,0!==a&&t.prev_length<t.max_lazy_match&&t.strstart-a<=t.w_size-ht&&(t.match_length=f(t,a),t.match_length<=5&&(t.strategy===P||t.match_length===ot&&t.strstart-t.match_start>4096)&&(t.match_length=ot-1)),t.prev_length>=ot&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-ot,i=Z._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-ot),t.lookahead-=t.prev_length-1,t.prev_length-=2;do++t.strstart<=n&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+ot-1])&t.hash_mask,a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart);while(0!==--t.prev_length);if(t.match_available=0,t.match_length=ot-1,t.strstart++,i&&(o(t,!1),0===t.strm.avail_out))return wt}else if(t.match_available){if(i=Z._tr_tally(t,0,t.window[t.strstart-1]),i&&o(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return wt}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=Z._tr_tally(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<ot-1?t.strstart:ot-1,e===U?(o(t,!0),0===t.strm.avail_out?vt:kt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?wt:pt}function g(t,e){for(var a,i,n,r,s=t.window;;){if(t.lookahead<=lt){if(_(t),t.lookahead<=lt&&e===I)return wt;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=ot&&t.strstart>0&&(n=t.strstart-1,i=s[n],i===s[++n]&&i===s[++n]&&i===s[++n])){r=t.strstart+lt;do;while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&r>n);t.match_length=lt-(r-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=ot?(a=Z._tr_tally(t,1,t.match_length-ot),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=Z._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===U?(o(t,!0),0===t.strm.avail_out?vt:kt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?wt:pt}function m(t,e){for(var a;;){if(0===t.lookahead&&(_(t),0===t.lookahead)){if(e===I)return wt;break}if(t.match_length=0,a=Z._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===U?(o(t,!0),0===t.strm.avail_out?vt:kt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?wt:pt}function w(t){t.window_size=2*t.w_size,r(t.head),t.max_lazy_match=E[t.level].max_lazy,t.good_match=E[t.level].good_length,t.nice_match=E[t.level].nice_length,t.max_chain_length=E[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=ot-1,t.match_available=0,t.ins_h=0}function p(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=J,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new A.Buf16(2*rt),this.dyn_dtree=new A.Buf16(2*(2*it+1)),this.bl_tree=new A.Buf16(2*(2*nt+1)),r(this.dyn_ltree),r(this.dyn_dtree),r(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new A.Buf16(st+1),this.heap=new A.Buf16(2*at+1),r(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new A.Buf16(2*at+1),r(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function v(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=W,e=t.state,e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?ft:gt,t.adler=2===e.wrap?0:1,e.last_flush=I,Z._tr_init(e),F):i(t,H)}function k(t){var e=v(t);return e===F&&w(t.state),e}function x(t,e){return t&&t.state?2!==t.state.wrap?H:(t.state.gzhead=e,F):H}function y(t,e,a,n,r,s){if(!t)return H;var o=1;if(e===K&&(e=6),0>n?(o=0,n=-n):n>15&&(o=2,n-=16),1>r||r>Q||a!==J||8>n||n>15||0>e||e>9||0>s||s>G)return i(t,H);8===n&&(n=9);var l=new p;return t.state=l,l.strm=t,l.wrap=o,l.gzhead=null,l.w_bits=n,l.w_size=1<<l.w_bits,l.w_mask=l.w_size-1,l.hash_bits=r+7,l.hash_size=1<<l.hash_bits,l.hash_mask=l.hash_size-1,l.hash_shift=~~((l.hash_bits+ot-1)/ot),l.window=new A.Buf8(2*l.w_size),l.head=new A.Buf16(l.hash_size),l.prev=new A.Buf16(l.w_size),l.lit_bufsize=1<<r+6,l.pending_buf_size=4*l.lit_bufsize,l.pending_buf=new A.Buf8(l.pending_buf_size),l.d_buf=l.lit_bufsize>>1,l.l_buf=3*l.lit_bufsize,l.level=e,l.strategy=s,l.method=a,k(t)}function z(t,e){return y(t,e,J,V,$,X)}function B(t,e){var a,o,d,f;if(!t||!t.state||e>D||0>e)return t?i(t,H):H;if(o=t.state,!t.output||!t.input&&0!==t.avail_in||o.status===mt&&e!==U)return i(t,0===t.avail_out?M:H);if(o.strm=t,a=o.last_flush,o.last_flush=e,o.status===ft)if(2===o.wrap)t.adler=0,l(o,31),l(o,139),l(o,8),o.gzhead?(l(o,(o.gzhead.text?1:0)+(o.gzhead.hcrc?2:0)+(o.gzhead.extra?4:0)+(o.gzhead.name?8:0)+(o.gzhead.comment?16:0)),l(o,255&o.gzhead.time),l(o,o.gzhead.time>>8&255),l(o,o.gzhead.time>>16&255),l(o,o.gzhead.time>>24&255),l(o,9===o.level?2:o.strategy>=Y||o.level<2?4:0),l(o,255&o.gzhead.os),o.gzhead.extra&&o.gzhead.extra.length&&(l(o,255&o.gzhead.extra.length),l(o,o.gzhead.extra.length>>8&255)),o.gzhead.hcrc&&(t.adler=C(t.adler,o.pending_buf,o.pending,0)),o.gzindex=0,o.status=_t):(l(o,0),l(o,0),l(o,0),l(o,0),l(o,0),l(o,9===o.level?2:o.strategy>=Y||o.level<2?4:0),l(o,xt),o.status=gt);else{var _=J+(o.w_bits-8<<4)<<8,u=-1;u=o.strategy>=Y||o.level<2?0:o.level<6?1:6===o.level?2:3,_|=u<<6,0!==o.strstart&&(_|=dt),_+=31-_%31,o.status=gt,h(o,_),0!==o.strstart&&(h(o,t.adler>>>16),h(o,65535&t.adler)),t.adler=1}if(o.status===_t)if(o.gzhead.extra){for(d=o.pending;o.gzindex<(65535&o.gzhead.extra.length)&&(o.pending!==o.pending_buf_size||(o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending!==o.pending_buf_size));)l(o,255&o.gzhead.extra[o.gzindex]),o.gzindex++;o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),o.gzindex===o.gzhead.extra.length&&(o.gzindex=0,o.status=ut)}else o.status=ut;if(o.status===ut)if(o.gzhead.name){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindex<o.gzhead.name.length?255&o.gzhead.name.charCodeAt(o.gzindex++):0,l(o,f)}while(0!==f);o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.gzindex=0,o.status=ct)}else o.status=ct;if(o.status===ct)if(o.gzhead.comment){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindex<o.gzhead.comment.length?255&o.gzhead.comment.charCodeAt(o.gzindex++):0,l(o,f)}while(0!==f);o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.status=bt)}else o.status=bt;if(o.status===bt&&(o.gzhead.hcrc?(o.pending+2>o.pending_buf_size&&s(t),o.pending+2<=o.pending_buf_size&&(l(o,255&t.adler),l(o,t.adler>>8&255),t.adler=0,o.status=gt)):o.status=gt),0!==o.pending){if(s(t),0===t.avail_out)return o.last_flush=-1,F}else if(0===t.avail_in&&n(e)<=n(a)&&e!==U)return i(t,M);if(o.status===mt&&0!==t.avail_in)return i(t,M);if(0!==t.avail_in||0!==o.lookahead||e!==I&&o.status!==mt){var c=o.strategy===Y?m(o,e):o.strategy===q?g(o,e):E[o.level].func(o,e);if((c===vt||c===kt)&&(o.status=mt),c===wt||c===vt)return 0===t.avail_out&&(o.last_flush=-1),F;if(c===pt&&(e===O?Z._tr_align(o):e!==D&&(Z._tr_stored_block(o,0,0,!1),e===T&&(r(o.head),0===o.lookahead&&(o.strstart=0,o.block_start=0,o.insert=0))),s(t),0===t.avail_out))return o.last_flush=-1,F}return e!==U?F:o.wrap<=0?L:(2===o.wrap?(l(o,255&t.adler),l(o,t.adler>>8&255),l(o,t.adler>>16&255),l(o,t.adler>>24&255),l(o,255&t.total_in),l(o,t.total_in>>8&255),l(o,t.total_in>>16&255),l(o,t.total_in>>24&255)):(h(o,t.adler>>>16),h(o,65535&t.adler)),s(t),o.wrap>0&&(o.wrap=-o.wrap),0!==o.pending?F:L)}function S(t){var e;return t&&t.state?(e=t.state.status,e!==ft&&e!==_t&&e!==ut&&e!==ct&&e!==bt&&e!==gt&&e!==mt?i(t,H):(t.state=null,e===gt?i(t,j):F)):H}var E,A=t("../utils/common"),Z=t("./trees"),R=t("./adler32"),C=t("./crc32"),N=t("./messages"),I=0,O=1,T=3,U=4,D=5,F=0,L=1,H=-2,j=-3,M=-5,K=-1,P=1,Y=2,q=3,G=4,X=0,W=2,J=8,Q=9,V=15,$=8,tt=29,et=256,at=et+1+tt,it=30,nt=19,rt=2*at+1,st=15,ot=3,lt=258,ht=lt+ot+1,dt=32,ft=42,_t=69,ut=73,ct=91,bt=103,gt=113,mt=666,wt=1,pt=2,vt=3,kt=4,xt=3,yt=function(t,e,a,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=i,this.func=n};E=[new yt(0,0,0,0,u),new yt(4,4,8,4,c),new yt(4,5,16,8,c),new yt(4,6,32,32,c),new yt(4,4,16,16,b),new yt(8,16,32,32,b),new yt(8,16,128,128,b),new yt(8,32,128,256,b),new yt(32,128,258,1024,b),new yt(32,258,258,4096,b)],a.deflateInit=z,a.deflateInit2=y,a.deflateReset=k,a.deflateResetKeep=v,a.deflateSetHeader=x,a.deflate=B,a.deflateEnd=S,a.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5,"./crc32":7,"./messages":13,"./trees":14}],9:[function(t,e,a){"use strict";function i(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}e.exports=i},{}],10:[function(t,e,a){"use strict";var i=30,n=12;e.exports=function(t,e){var a,r,s,o,l,h,d,f,_,u,c,b,g,m,w,p,v,k,x,y,z,B,S,E,A;a=t.state,r=t.next_in,E=t.input,s=r+(t.avail_in-5),o=t.next_out,A=t.output,l=o-(e-t.avail_out),h=o+(t.avail_out-257),d=a.dmax,f=a.wsize,_=a.whave,u=a.wnext,c=a.window,b=a.hold,g=a.bits,m=a.lencode,w=a.distcode,p=(1<<a.lenbits)-1,v=(1<<a.distbits)-1;t:do{15>g&&(b+=E[r++]<<g,g+=8,b+=E[r++]<<g,g+=8),k=m[b&p];e:for(;;){if(x=k>>>24,b>>>=x,g-=x,x=k>>>16&255,0===x)A[o++]=65535&k;else{if(!(16&x)){if(0===(64&x)){k=m[(65535&k)+(b&(1<<x)-1)];continue e}if(32&x){a.mode=n;break t}t.msg="invalid literal/length code",a.mode=i;break t}y=65535&k,x&=15,x&&(x>g&&(b+=E[r++]<<g,g+=8),y+=b&(1<<x)-1,b>>>=x,g-=x),15>g&&(b+=E[r++]<<g,g+=8,b+=E[r++]<<g,g+=8),k=w[b&v];a:for(;;){if(x=k>>>24,b>>>=x,g-=x,x=k>>>16&255,!(16&x)){if(0===(64&x)){k=w[(65535&k)+(b&(1<<x)-1)];continue a}t.msg="invalid distance code",a.mode=i;break t}if(z=65535&k,x&=15,x>g&&(b+=E[r++]<<g,g+=8,x>g&&(b+=E[r++]<<g,g+=8)),z+=b&(1<<x)-1,z>d){t.msg="invalid distance too far back",a.mode=i;break t}if(b>>>=x,g-=x,x=o-l,z>x){if(x=z-x,x>_&&a.sane){t.msg="invalid distance too far back",a.mode=i;break t}if(B=0,S=c,0===u){if(B+=f-x,y>x){y-=x;do A[o++]=c[B++];while(--x);B=o-z,S=A}}else if(x>u){if(B+=f+u-x,x-=u,y>x){y-=x;do A[o++]=c[B++];while(--x);if(B=0,y>u){x=u,y-=x;do A[o++]=c[B++];while(--x);B=o-z,S=A}}}else if(B+=u-x,y>x){y-=x;do A[o++]=c[B++];while(--x);B=o-z,S=A}for(;y>2;)A[o++]=S[B++],A[o++]=S[B++],A[o++]=S[B++],y-=3;y&&(A[o++]=S[B++],y>1&&(A[o++]=S[B++]))}else{B=o-z;do A[o++]=A[B++],A[o++]=A[B++],A[o++]=A[B++],y-=3;while(y>2);y&&(A[o++]=A[B++],y>1&&(A[o++]=A[B++]))}break}}break}}while(s>r&&h>o);y=g>>3,r-=y,g-=y<<3,b&=(1<<g)-1,t.next_in=r,t.next_out=o,t.avail_in=s>r?5+(s-r):5-(r-s),t.avail_out=h>o?257+(h-o):257-(o-h),a.hold=b,a.bits=g}},{}],11:[function(t,e,a){"use strict";function i(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function n(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new m.Buf16(320),this.work=new m.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function r(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=U,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new m.Buf32(ct),e.distcode=e.distdyn=new m.Buf32(bt),e.sane=1,e.back=-1,A):C}function s(t){var e;return t&&t.state?(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,r(t)):C}function o(t,e){var a,i;return t&&t.state?(i=t.state,0>e?(a=0,e=-e):(a=(e>>4)+1,48>e&&(e&=15)),e&&(8>e||e>15)?C:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=a,i.wbits=e,s(t))):C}function l(t,e){var a,i;return t?(i=new n,t.state=i,i.window=null,a=o(t,e),a!==A&&(t.state=null),a):C}function h(t){return l(t,mt)}function d(t){if(wt){var e;for(b=new m.Buf32(512),g=new m.Buf32(32),e=0;144>e;)t.lens[e++]=8;for(;256>e;)t.lens[e++]=9;for(;280>e;)t.lens[e++]=7;for(;288>e;)t.lens[e++]=8;for(k(y,t.lens,0,288,b,0,t.work,{bits:9}),e=0;32>e;)t.lens[e++]=5;k(z,t.lens,0,32,g,0,t.work,{bits:5}),wt=!1}t.lencode=b,t.lenbits=9,t.distcode=g,t.distbits=5}function f(t,e,a,i){var n,r=t.state;return null===r.window&&(r.wsize=1<<r.wbits,r.wnext=0,r.whave=0,r.window=new m.Buf8(r.wsize)),i>=r.wsize?(m.arraySet(r.window,e,a-r.wsize,r.wsize,0),r.wnext=0,r.whave=r.wsize):(n=r.wsize-r.wnext,n>i&&(n=i),m.arraySet(r.window,e,a-i,n,r.wnext),i-=n,i?(m.arraySet(r.window,e,a-i,i,0),r.wnext=i,r.whave=r.wsize):(r.wnext+=n,r.wnext===r.wsize&&(r.wnext=0),r.whave<r.wsize&&(r.whave+=n))),0}function _(t,e){var a,n,r,s,o,l,h,_,u,c,b,g,ct,bt,gt,mt,wt,pt,vt,kt,xt,yt,zt,Bt,St=0,Et=new m.Buf8(4),At=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return C;a=t.state,a.mode===G&&(a.mode=X),o=t.next_out,r=t.output,h=t.avail_out,s=t.next_in,n=t.input,l=t.avail_in,_=a.hold,u=a.bits,c=l,b=h,yt=A;t:for(;;)switch(a.mode){case U:if(0===a.wrap){a.mode=X;break}for(;16>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(2&a.wrap&&35615===_){a.check=0,Et[0]=255&_,Et[1]=_>>>8&255,a.check=p(a.check,Et,2,0),_=0,u=0,a.mode=D;break}if(a.flags=0,a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&_)<<8)+(_>>8))%31){t.msg="incorrect header check",a.mode=ft;break}if((15&_)!==T){t.msg="unknown compression method",a.mode=ft;break}if(_>>>=4,u-=4,xt=(15&_)+8,0===a.wbits)a.wbits=xt;else if(xt>a.wbits){t.msg="invalid window size",a.mode=ft;break}a.dmax=1<<xt,t.adler=a.check=1,a.mode=512&_?Y:G,_=0,u=0;break;case D:for(;16>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(a.flags=_,(255&a.flags)!==T){t.msg="unknown compression method",a.mode=ft;break}if(57344&a.flags){t.msg="unknown header flags set",a.mode=ft;break}a.head&&(a.head.text=_>>8&1),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=p(a.check,Et,2,0)),_=0,u=0,a.mode=F;case F:for(;32>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.head&&(a.head.time=_),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,Et[2]=_>>>16&255,Et[3]=_>>>24&255,a.check=p(a.check,Et,4,0)),_=0,u=0,a.mode=L;case L:for(;16>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.head&&(a.head.xflags=255&_,a.head.os=_>>8),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=p(a.check,Et,2,0)),_=0,u=0,a.mode=H;case H:if(1024&a.flags){for(;16>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.length=_,a.head&&(a.head.extra_len=_),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=p(a.check,Et,2,0)),_=0,u=0}else a.head&&(a.head.extra=null);a.mode=j;case j:if(1024&a.flags&&(g=a.length,g>l&&(g=l),g&&(a.head&&(xt=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Array(a.head.extra_len)),m.arraySet(a.head.extra,n,s,g,xt)),512&a.flags&&(a.check=p(a.check,n,g,s)),l-=g,s+=g,a.length-=g),a.length))break t;a.length=0,a.mode=M;case M:if(2048&a.flags){if(0===l)break t;g=0;do xt=n[s+g++],a.head&&xt&&a.length<65536&&(a.head.name+=String.fromCharCode(xt));while(xt&&l>g);if(512&a.flags&&(a.check=p(a.check,n,g,s)),l-=g,s+=g,xt)break t}else a.head&&(a.head.name=null);a.length=0,a.mode=K;case K:if(4096&a.flags){if(0===l)break t;g=0;do xt=n[s+g++],a.head&&xt&&a.length<65536&&(a.head.comment+=String.fromCharCode(xt));while(xt&&l>g);if(512&a.flags&&(a.check=p(a.check,n,g,s)),l-=g,s+=g,xt)break t}else a.head&&(a.head.comment=null);a.mode=P;case P:if(512&a.flags){for(;16>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(_!==(65535&a.check)){t.msg="header crc mismatch",a.mode=ft;break}_=0,u=0}a.head&&(a.head.hcrc=a.flags>>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=G;break;case Y:for(;32>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}t.adler=a.check=i(_),_=0,u=0,a.mode=q;case q:if(0===a.havedict)return t.next_out=o,t.avail_out=h,t.next_in=s,t.avail_in=l,a.hold=_,a.bits=u,R;t.adler=a.check=1,a.mode=G;case G:if(e===S||e===E)break t;case X:if(a.last){_>>>=7&u,u-=7&u,a.mode=lt;break}for(;3>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}switch(a.last=1&_,_>>>=1,u-=1,3&_){case 0:a.mode=W;break;case 1:if(d(a),a.mode=et,e===E){_>>>=2,u-=2;break t}break;case 2:a.mode=V;break;case 3:t.msg="invalid block type",a.mode=ft}_>>>=2,u-=2;break;case W:for(_>>>=7&u,u-=7&u;32>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if((65535&_)!==(_>>>16^65535)){t.msg="invalid stored block lengths",a.mode=ft;break}if(a.length=65535&_,_=0,u=0,a.mode=J,e===E)break t;case J:a.mode=Q;case Q:if(g=a.length){if(g>l&&(g=l),g>h&&(g=h),0===g)break t;m.arraySet(r,n,s,g,o),l-=g,s+=g,h-=g,o+=g,a.length-=g;break}a.mode=G;break;case V:for(;14>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(a.nlen=(31&_)+257,_>>>=5,u-=5,a.ndist=(31&_)+1,_>>>=5,u-=5,a.ncode=(15&_)+4,_>>>=4,u-=4,a.nlen>286||a.ndist>30){t.msg="too many length or distance symbols",a.mode=ft;break}a.have=0,a.mode=$;case $:for(;a.have<a.ncode;){for(;3>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.lens[At[a.have++]]=7&_,_>>>=3,u-=3}for(;a.have<19;)a.lens[At[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,zt={bits:a.lenbits},yt=k(x,a.lens,0,19,a.lencode,0,a.work,zt),a.lenbits=zt.bits,yt){t.msg="invalid code lengths set",a.mode=ft;break}a.have=0,a.mode=tt;case tt:for(;a.have<a.nlen+a.ndist;){for(;St=a.lencode[_&(1<<a.lenbits)-1],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(u>=gt);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(16>wt)_>>>=gt,u-=gt,a.lens[a.have++]=wt;else{if(16===wt){for(Bt=gt+2;Bt>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(_>>>=gt,u-=gt,0===a.have){t.msg="invalid bit length repeat",a.mode=ft;break}xt=a.lens[a.have-1],g=3+(3&_),_>>>=2,u-=2}else if(17===wt){for(Bt=gt+3;Bt>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}_>>>=gt,u-=gt,xt=0,g=3+(7&_),_>>>=3,u-=3}else{for(Bt=gt+7;Bt>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}_>>>=gt,u-=gt,xt=0,g=11+(127&_),_>>>=7,u-=7}if(a.have+g>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=ft;break}for(;g--;)a.lens[a.have++]=xt}}if(a.mode===ft)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=ft;break}if(a.lenbits=9,zt={bits:a.lenbits},yt=k(y,a.lens,0,a.nlen,a.lencode,0,a.work,zt),
a.lenbits=zt.bits,yt){t.msg="invalid literal/lengths set",a.mode=ft;break}if(a.distbits=6,a.distcode=a.distdyn,zt={bits:a.distbits},yt=k(z,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,zt),a.distbits=zt.bits,yt){t.msg="invalid distances set",a.mode=ft;break}if(a.mode=et,e===E)break t;case et:a.mode=at;case at:if(l>=6&&h>=258){t.next_out=o,t.avail_out=h,t.next_in=s,t.avail_in=l,a.hold=_,a.bits=u,v(t,b),o=t.next_out,r=t.output,h=t.avail_out,s=t.next_in,n=t.input,l=t.avail_in,_=a.hold,u=a.bits,a.mode===G&&(a.back=-1);break}for(a.back=0;St=a.lencode[_&(1<<a.lenbits)-1],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(u>=gt);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(mt&&0===(240&mt)){for(pt=gt,vt=mt,kt=wt;St=a.lencode[kt+((_&(1<<pt+vt)-1)>>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(u>=pt+gt);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}_>>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,a.length=wt,0===mt){a.mode=ot;break}if(32&mt){a.back=-1,a.mode=G;break}if(64&mt){t.msg="invalid literal/length code",a.mode=ft;break}a.extra=15&mt,a.mode=it;case it:if(a.extra){for(Bt=a.extra;Bt>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.length+=_&(1<<a.extra)-1,_>>>=a.extra,u-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=nt;case nt:for(;St=a.distcode[_&(1<<a.distbits)-1],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(u>=gt);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(0===(240&mt)){for(pt=gt,vt=mt,kt=wt;St=a.distcode[kt+((_&(1<<pt+vt)-1)>>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(u>=pt+gt);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}_>>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,64&mt){t.msg="invalid distance code",a.mode=ft;break}a.offset=wt,a.extra=15&mt,a.mode=rt;case rt:if(a.extra){for(Bt=a.extra;Bt>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.offset+=_&(1<<a.extra)-1,_>>>=a.extra,u-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=ft;break}a.mode=st;case st:if(0===h)break t;if(g=b-h,a.offset>g){if(g=a.offset-g,g>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=ft;break}g>a.wnext?(g-=a.wnext,ct=a.wsize-g):ct=a.wnext-g,g>a.length&&(g=a.length),bt=a.window}else bt=r,ct=o-a.offset,g=a.length;g>h&&(g=h),h-=g,a.length-=g;do r[o++]=bt[ct++];while(--g);0===a.length&&(a.mode=at);break;case ot:if(0===h)break t;r[o++]=a.length,h--,a.mode=at;break;case lt:if(a.wrap){for(;32>u;){if(0===l)break t;l--,_|=n[s++]<<u,u+=8}if(b-=h,t.total_out+=b,a.total+=b,b&&(t.adler=a.check=a.flags?p(a.check,r,b,o-b):w(a.check,r,b,o-b)),b=h,(a.flags?_:i(_))!==a.check){t.msg="incorrect data check",a.mode=ft;break}_=0,u=0}a.mode=ht;case ht:if(a.wrap&&a.flags){for(;32>u;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(_!==(4294967295&a.total)){t.msg="incorrect length check",a.mode=ft;break}_=0,u=0}a.mode=dt;case dt:yt=Z;break t;case ft:yt=N;break t;case _t:return I;case ut:default:return C}return t.next_out=o,t.avail_out=h,t.next_in=s,t.avail_in=l,a.hold=_,a.bits=u,(a.wsize||b!==t.avail_out&&a.mode<ft&&(a.mode<lt||e!==B))&&f(t,t.output,t.next_out,b-t.avail_out)?(a.mode=_t,I):(c-=t.avail_in,b-=t.avail_out,t.total_in+=c,t.total_out+=b,a.total+=b,a.wrap&&b&&(t.adler=a.check=a.flags?p(a.check,r,b,t.next_out-b):w(a.check,r,b,t.next_out-b)),t.data_type=a.bits+(a.last?64:0)+(a.mode===G?128:0)+(a.mode===et||a.mode===J?256:0),(0===c&&0===b||e===B)&&yt===A&&(yt=O),yt)}function u(t){if(!t||!t.state)return C;var e=t.state;return e.window&&(e.window=null),t.state=null,A}function c(t,e){var a;return t&&t.state?(a=t.state,0===(2&a.wrap)?C:(a.head=e,e.done=!1,A)):C}var b,g,m=t("../utils/common"),w=t("./adler32"),p=t("./crc32"),v=t("./inffast"),k=t("./inftrees"),x=0,y=1,z=2,B=4,S=5,E=6,A=0,Z=1,R=2,C=-2,N=-3,I=-4,O=-5,T=8,U=1,D=2,F=3,L=4,H=5,j=6,M=7,K=8,P=9,Y=10,q=11,G=12,X=13,W=14,J=15,Q=16,V=17,$=18,tt=19,et=20,at=21,it=22,nt=23,rt=24,st=25,ot=26,lt=27,ht=28,dt=29,ft=30,_t=31,ut=32,ct=852,bt=592,gt=15,mt=gt,wt=!0;a.inflateReset=s,a.inflateReset2=o,a.inflateResetKeep=r,a.inflateInit=h,a.inflateInit2=l,a.inflate=_,a.inflateEnd=u,a.inflateGetHeader=c,a.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5,"./crc32":7,"./inffast":10,"./inftrees":12}],12:[function(t,e,a){"use strict";var i=t("../utils/common"),n=15,r=852,s=592,o=0,l=1,h=2,d=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],f=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],_=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],u=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(t,e,a,c,b,g,m,w){var p,v,k,x,y,z,B,S,E,A=w.bits,Z=0,R=0,C=0,N=0,I=0,O=0,T=0,U=0,D=0,F=0,L=null,H=0,j=new i.Buf16(n+1),M=new i.Buf16(n+1),K=null,P=0;for(Z=0;n>=Z;Z++)j[Z]=0;for(R=0;c>R;R++)j[e[a+R]]++;for(I=A,N=n;N>=1&&0===j[N];N--);if(I>N&&(I=N),0===N)return b[g++]=20971520,b[g++]=20971520,w.bits=1,0;for(C=1;N>C&&0===j[C];C++);for(C>I&&(I=C),U=1,Z=1;n>=Z;Z++)if(U<<=1,U-=j[Z],0>U)return-1;if(U>0&&(t===o||1!==N))return-1;for(M[1]=0,Z=1;n>Z;Z++)M[Z+1]=M[Z]+j[Z];for(R=0;c>R;R++)0!==e[a+R]&&(m[M[e[a+R]]++]=R);if(t===o?(L=K=m,z=19):t===l?(L=d,H-=257,K=f,P-=257,z=256):(L=_,K=u,z=-1),F=0,R=0,Z=C,y=g,O=I,T=0,k=-1,D=1<<I,x=D-1,t===l&&D>r||t===h&&D>s)return 1;for(var Y=0;;){Y++,B=Z-T,m[R]<z?(S=0,E=m[R]):m[R]>z?(S=K[P+m[R]],E=L[H+m[R]]):(S=96,E=0),p=1<<Z-T,v=1<<O,C=v;do v-=p,b[y+(F>>T)+v]=B<<24|S<<16|E|0;while(0!==v);for(p=1<<Z-1;F&p;)p>>=1;if(0!==p?(F&=p-1,F+=p):F=0,R++,0===--j[Z]){if(Z===N)break;Z=e[a+m[R]]}if(Z>I&&(F&x)!==k){for(0===T&&(T=I),y+=C,O=Z-T,U=1<<O;N>O+T&&(U-=j[O+T],!(0>=U));)O++,U<<=1;if(D+=1<<O,t===l&&D>r||t===h&&D>s)return 1;k=F&x,b[k]=I<<24|O<<16|y-g|0}}return 0!==F&&(b[y+F]=Z-T<<24|64<<16|0),w.bits=I,0}},{"../utils/common":3}],13:[function(t,e,a){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],14:[function(t,e,a){"use strict";function i(t){for(var e=t.length;--e>=0;)t[e]=0}function n(t){return 256>t?st[t]:st[256+(t>>>7)]}function r(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function s(t,e,a){t.bi_valid>G-a?(t.bi_buf|=e<<t.bi_valid&65535,r(t,t.bi_buf),t.bi_buf=e>>G-t.bi_valid,t.bi_valid+=a-G):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=a)}function o(t,e,a){s(t,a[2*e],a[2*e+1])}function l(t,e){var a=0;do a|=1&t,t>>>=1,a<<=1;while(--e>0);return a>>>1}function h(t){16===t.bi_valid?(r(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}function d(t,e){var a,i,n,r,s,o,l=e.dyn_tree,h=e.max_code,d=e.stat_desc.static_tree,f=e.stat_desc.has_stree,_=e.stat_desc.extra_bits,u=e.stat_desc.extra_base,c=e.stat_desc.max_length,b=0;for(r=0;q>=r;r++)t.bl_count[r]=0;for(l[2*t.heap[t.heap_max]+1]=0,a=t.heap_max+1;Y>a;a++)i=t.heap[a],r=l[2*l[2*i+1]+1]+1,r>c&&(r=c,b++),l[2*i+1]=r,i>h||(t.bl_count[r]++,s=0,i>=u&&(s=_[i-u]),o=l[2*i],t.opt_len+=o*(r+s),f&&(t.static_len+=o*(d[2*i+1]+s)));if(0!==b){do{for(r=c-1;0===t.bl_count[r];)r--;t.bl_count[r]--,t.bl_count[r+1]+=2,t.bl_count[c]--,b-=2}while(b>0);for(r=c;0!==r;r--)for(i=t.bl_count[r];0!==i;)n=t.heap[--a],n>h||(l[2*n+1]!==r&&(t.opt_len+=(r-l[2*n+1])*l[2*n],l[2*n+1]=r),i--)}}function f(t,e,a){var i,n,r=new Array(q+1),s=0;for(i=1;q>=i;i++)r[i]=s=s+a[i-1]<<1;for(n=0;e>=n;n++){var o=t[2*n+1];0!==o&&(t[2*n]=l(r[o]++,o))}}function _(){var t,e,a,i,n,r=new Array(q+1);for(a=0,i=0;H-1>i;i++)for(lt[i]=a,t=0;t<1<<$[i];t++)ot[a++]=i;for(ot[a-1]=i,n=0,i=0;16>i;i++)for(ht[i]=n,t=0;t<1<<tt[i];t++)st[n++]=i;for(n>>=7;K>i;i++)for(ht[i]=n<<7,t=0;t<1<<tt[i]-7;t++)st[256+n++]=i;for(e=0;q>=e;e++)r[e]=0;for(t=0;143>=t;)nt[2*t+1]=8,t++,r[8]++;for(;255>=t;)nt[2*t+1]=9,t++,r[9]++;for(;279>=t;)nt[2*t+1]=7,t++,r[7]++;for(;287>=t;)nt[2*t+1]=8,t++,r[8]++;for(f(nt,M+1,r),t=0;K>t;t++)rt[2*t+1]=5,rt[2*t]=l(t,5);dt=new ut(nt,$,j+1,M,q),ft=new ut(rt,tt,0,K,q),_t=new ut(new Array(0),et,0,P,X)}function u(t){var e;for(e=0;M>e;e++)t.dyn_ltree[2*e]=0;for(e=0;K>e;e++)t.dyn_dtree[2*e]=0;for(e=0;P>e;e++)t.bl_tree[2*e]=0;t.dyn_ltree[2*W]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function c(t){t.bi_valid>8?r(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function b(t,e,a,i){c(t),i&&(r(t,a),r(t,~a)),R.arraySet(t.pending_buf,t.window,e,a,t.pending),t.pending+=a}function g(t,e,a,i){var n=2*e,r=2*a;return t[n]<t[r]||t[n]===t[r]&&i[e]<=i[a]}function m(t,e,a){for(var i=t.heap[a],n=a<<1;n<=t.heap_len&&(n<t.heap_len&&g(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!g(e,i,t.heap[n],t.depth));)t.heap[a]=t.heap[n],a=n,n<<=1;t.heap[a]=i}function w(t,e,a){var i,r,l,h,d=0;if(0!==t.last_lit)do i=t.pending_buf[t.d_buf+2*d]<<8|t.pending_buf[t.d_buf+2*d+1],r=t.pending_buf[t.l_buf+d],d++,0===i?o(t,r,e):(l=ot[r],o(t,l+j+1,e),h=$[l],0!==h&&(r-=lt[l],s(t,r,h)),i--,l=n(i),o(t,l,a),h=tt[l],0!==h&&(i-=ht[l],s(t,i,h)));while(d<t.last_lit);o(t,W,e)}function p(t,e){var a,i,n,r=e.dyn_tree,s=e.stat_desc.static_tree,o=e.stat_desc.has_stree,l=e.stat_desc.elems,h=-1;for(t.heap_len=0,t.heap_max=Y,a=0;l>a;a++)0!==r[2*a]?(t.heap[++t.heap_len]=h=a,t.depth[a]=0):r[2*a+1]=0;for(;t.heap_len<2;)n=t.heap[++t.heap_len]=2>h?++h:0,r[2*n]=1,t.depth[n]=0,t.opt_len--,o&&(t.static_len-=s[2*n+1]);for(e.max_code=h,a=t.heap_len>>1;a>=1;a--)m(t,r,a);n=l;do a=t.heap[1],t.heap[1]=t.heap[t.heap_len--],m(t,r,1),i=t.heap[1],t.heap[--t.heap_max]=a,t.heap[--t.heap_max]=i,r[2*n]=r[2*a]+r[2*i],t.depth[n]=(t.depth[a]>=t.depth[i]?t.depth[a]:t.depth[i])+1,r[2*a+1]=r[2*i+1]=n,t.heap[1]=n++,m(t,r,1);while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],d(t,e),f(r,h,t.bl_count)}function v(t,e,a){var i,n,r=-1,s=e[1],o=0,l=7,h=4;for(0===s&&(l=138,h=3),e[2*(a+1)+1]=65535,i=0;a>=i;i++)n=s,s=e[2*(i+1)+1],++o<l&&n===s||(h>o?t.bl_tree[2*n]+=o:0!==n?(n!==r&&t.bl_tree[2*n]++,t.bl_tree[2*J]++):10>=o?t.bl_tree[2*Q]++:t.bl_tree[2*V]++,o=0,r=n,0===s?(l=138,h=3):n===s?(l=6,h=3):(l=7,h=4))}function k(t,e,a){var i,n,r=-1,l=e[1],h=0,d=7,f=4;for(0===l&&(d=138,f=3),i=0;a>=i;i++)if(n=l,l=e[2*(i+1)+1],!(++h<d&&n===l)){if(f>h){do o(t,n,t.bl_tree);while(0!==--h)}else 0!==n?(n!==r&&(o(t,n,t.bl_tree),h--),o(t,J,t.bl_tree),s(t,h-3,2)):10>=h?(o(t,Q,t.bl_tree),s(t,h-3,3)):(o(t,V,t.bl_tree),s(t,h-11,7));h=0,r=n,0===l?(d=138,f=3):n===l?(d=6,f=3):(d=7,f=4)}}function x(t){var e;for(v(t,t.dyn_ltree,t.l_desc.max_code),v(t,t.dyn_dtree,t.d_desc.max_code),p(t,t.bl_desc),e=P-1;e>=3&&0===t.bl_tree[2*at[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}function y(t,e,a,i){var n;for(s(t,e-257,5),s(t,a-1,5),s(t,i-4,4),n=0;i>n;n++)s(t,t.bl_tree[2*at[n]+1],3);k(t,t.dyn_ltree,e-1),k(t,t.dyn_dtree,a-1)}function z(t){var e,a=4093624447;for(e=0;31>=e;e++,a>>>=1)if(1&a&&0!==t.dyn_ltree[2*e])return N;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return I;for(e=32;j>e;e++)if(0!==t.dyn_ltree[2*e])return I;return N}function B(t){bt||(_(),bt=!0),t.l_desc=new ct(t.dyn_ltree,dt),t.d_desc=new ct(t.dyn_dtree,ft),t.bl_desc=new ct(t.bl_tree,_t),t.bi_buf=0,t.bi_valid=0,u(t)}function S(t,e,a,i){s(t,(T<<1)+(i?1:0),3),b(t,e,a,!0)}function E(t){s(t,U<<1,3),o(t,W,nt),h(t)}function A(t,e,a,i){var n,r,o=0;t.level>0?(t.strm.data_type===O&&(t.strm.data_type=z(t)),p(t,t.l_desc),p(t,t.d_desc),o=x(t),n=t.opt_len+3+7>>>3,r=t.static_len+3+7>>>3,n>=r&&(n=r)):n=r=a+5,n>=a+4&&-1!==e?S(t,e,a,i):t.strategy===C||r===n?(s(t,(U<<1)+(i?1:0),3),w(t,nt,rt)):(s(t,(D<<1)+(i?1:0),3),y(t,t.l_desc.max_code+1,t.d_desc.max_code+1,o+1),w(t,t.dyn_ltree,t.dyn_dtree)),u(t),i&&c(t)}function Z(t,e,a){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&a,t.last_lit++,0===e?t.dyn_ltree[2*a]++:(t.matches++,e--,t.dyn_ltree[2*(ot[a]+j+1)]++,t.dyn_dtree[2*n(e)]++),t.last_lit===t.lit_bufsize-1}var R=t("../utils/common"),C=4,N=0,I=1,O=2,T=0,U=1,D=2,F=3,L=258,H=29,j=256,M=j+1+H,K=30,P=19,Y=2*M+1,q=15,G=16,X=7,W=256,J=16,Q=17,V=18,$=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],tt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],et=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],at=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],it=512,nt=new Array(2*(M+2));i(nt);var rt=new Array(2*K);i(rt);var st=new Array(it);i(st);var ot=new Array(L-F+1);i(ot);var lt=new Array(H);i(lt);var ht=new Array(K);i(ht);var dt,ft,_t,ut=function(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length},ct=function(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e},bt=!1;a._tr_init=B,a._tr_stored_block=S,a._tr_flush_block=A,a._tr_tally=Z,a._tr_align=E},{"../utils/common":3}],15:[function(t,e,a){"use strict";function i(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}e.exports=i},{}],"/":[function(t,e,a){"use strict";var i=t("./lib/utils/common").assign,n=t("./lib/deflate"),r=t("./lib/inflate"),s=t("./lib/zlib/constants"),o={};i(o,n,r,s),e.exports=o},{"./lib/deflate":1,"./lib/inflate":2,"./lib/utils/common":3,"./lib/zlib/constants":6}]},{},[])("/")});

/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return u.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=b&&b.split("/"),o=s.map,p=o&&o["*"]||{};if(a&&"."===a.charAt(0))if(b){for(a=a.split("/"),g=a.length-1,s.nodeIdCompat&&w.test(a[g])&&(a[g]=a[g].replace(w,"")),a=n.slice(0,n.length-1).concat(a),k=0;k<a.length;k+=1)if(m=a[k],"."===m)a.splice(k,1),k-=1;else if(".."===m){if(1===k&&(".."===a[2]||".."===a[0]))break;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||p)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&p&&p[d]&&(i=p[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=v.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),n.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){q[a]=b}}function j(a){if(e(r,a)){var c=r[a];delete r[a],t[a]=!0,m.apply(b,c)}if(!e(q,a)&&!e(t,a))throw new Error("No "+a);return q[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return function(){return s&&s.config&&s.config[a]||{}}}var m,n,o,p,q={},r={},s={},t={},u=Object.prototype.hasOwnProperty,v=[].slice,w=/\.js$/;o=function(a,b){var c,d=k(a),e=d[0];return a=d[1],e&&(e=f(e,b),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(b)):f(a,b):(a=f(a,b),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},p={require:function(a){return g(a)},exports:function(a){var b=q[a];return"undefined"!=typeof b?b:q[a]={}},module:function(a){return{id:a,uri:"",exports:q[a],config:l(a)}}},m=function(a,c,d,f){var h,k,l,m,n,s,u=[],v=typeof d;if(f=f||a,"undefined"===v||"function"===v){for(c=!c.length&&d.length?["require","exports","module"]:c,n=0;n<c.length;n+=1)if(m=o(c[n],f),k=m.f,"require"===k)u[n]=p.require(a);else if("exports"===k)u[n]=p.exports(a),s=!0;else if("module"===k)h=u[n]=p.module(a);else if(e(q,k)||e(r,k)||e(t,k))u[n]=j(k);else{if(!m.p)throw new Error(a+" missing "+k);m.p.load(m.n,g(f,!0),i(k),{}),u[n]=q[k]}l=d?d.apply(q[a],u):void 0,a&&(h&&h.exports!==b&&h.exports!==q[a]?q[a]=h.exports:l===b&&s||(q[a]=l))}else a&&(q[a]=d)},a=c=n=function(a,c,d,e,f){if("string"==typeof a)return p[a]?p[a](c):j(o(a,c).f);if(!a.splice){if(s=a,s.deps&&n(s.deps,s.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?m(b,a,c,d):setTimeout(function(){m(b,a,c,d)},4),n},n.config=function(a){return n(a)},a._defined=q,d=function(a,b,c){if("string"!=typeof a)throw new Error("See almond README: incorrect module build, no module name");b.splice||(c=b,b=[]),e(q,a)||e(r,a)||(r[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){var e=b[d];"function"==typeof e&&"constructor"!==d&&c.push(d)}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){var a=Array.prototype.unshift;return a.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};return d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice,c=b.call(arguments,1);this.listeners=this.listeners||{},null==c&&(c=[]),0===c.length&&c.push({}),c[0]._type=a,a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;d>c;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;a>c;c++){var d=Math.floor(36*Math.random());b+=d.toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return e!==f||"hidden"!==f&&"visible"!==f?"scroll"===e||"scroll"===f?!0:d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth:!1},c.escapeMarkup=function(a){var b={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<ul class="select2-results__options" role="tree"></ul>');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){var c=b.find(".select2-results");c.append(a)},c.prototype.sort=function(a){var b=this.options.get("sorter");return b(a)},c.prototype.highlightFirstItem=function(){var a=this.$results.find(".select2-results__option[aria-selected]"),b=a.filter("[aria-selected=true]");b.length>0?b.first().trigger("mouseenter"):a.first().trigger("mouseenter"),this.ensureHighlightVisible()},c.prototype.setClasses=function(){var b=this;this.data.current(function(c){var d=a.map(c,function(a){return a.id.toString()}),e=b.$results.find(".select2-results__option[aria-selected]");e.each(function(){var b=a(this),c=a.data(this,"data"),e=""+c.id;null!=c.element&&c.element.selected||null==c.element&&a.inArray(e,d)>-1?b.attr("aria-selected","true"):b.attr("aria-selected","false")})})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(b){var c=document.createElement("li");c.className="select2-results__option";var d={role:"treeitem","aria-selected":"false"};b.disabled&&(delete d["aria-selected"],d["aria-disabled"]="true"),null==b.id&&delete d["aria-selected"],null!=b._resultId&&(c.id=b._resultId),b.title&&(c.title=b.title),b.children&&(d.role="group",d["aria-label"]=b.text,delete d["aria-selected"]);for(var e in d){var f=d[e];c.setAttribute(e,f)}if(b.children){var g=a(c),h=document.createElement("strong");h.className="select2-results__group";a(h);this.template(b,h);for(var i=[],j=0;j<b.children.length;j++){var k=b.children[j],l=this.option(k);i.push(l)}var m=a("<ul></ul>",{"class":"select2-results__options select2-results__options--nested"});m.append(i),g.append(h),g.append(m)}else this.template(b,c);return a.data(c,"data",b),c},c.prototype.bind=function(b,c){var d=this,e=b.id+"-results";this.$results.attr("id",e),b.on("results:all",function(a){d.clear(),d.append(a.data),b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("results:append",function(a){d.append(a.data),b.isOpen()&&d.setClasses()}),b.on("query",function(a){d.hideMessages(),d.showLoading(a)}),b.on("select",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("unselect",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("open",function(){d.$results.attr("aria-expanded","true"),d.$results.attr("aria-hidden","false"),d.setClasses(),d.ensureHighlightVisible()}),b.on("close",function(){d.$results.attr("aria-expanded","false"),d.$results.attr("aria-hidden","true"),d.$results.removeAttr("aria-activedescendant")}),b.on("results:toggle",function(){var a=d.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),b.on("results:select",function(){var a=d.getHighlightedResults();if(0!==a.length){var b=a.data("data");"true"==a.attr("aria-selected")?d.trigger("close",{}):d.trigger("select",{data:b})}}),b.on("results:previous",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a);if(0!==c){var e=c-1;0===a.length&&(e=0);var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top,h=f.offset().top,i=d.$results.scrollTop()+(h-g);0===e?d.$results.scrollTop(0):0>h-g&&d.$results.scrollTop(i)}}),b.on("results:next",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a),e=c+1;if(!(e>=b.length)){var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top+d.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=d.$results.scrollTop()+h-g;0===e?d.$results.scrollTop(0):h>g&&d.$results.scrollTop(i)}}),b.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),b.on("results:message",function(a){d.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=d.$results.scrollTop(),c=d.$results.get(0).scrollHeight-b+a.deltaY,e=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=d.$results.height();e?(d.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(d.$results.scrollTop(d.$results.get(0).scrollHeight-d.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(b){var c=a(this),e=c.data("data");return"true"===c.attr("aria-selected")?void(d.options.get("multiple")?d.trigger("unselect",{originalEvent:b,data:e}):d.trigger("close",{})):void d.trigger("select",{originalEvent:b,data:e})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(b){var c=a(this).data("data");d.getHighlightedResults().removeClass("select2-results__option--highlighted"),d.trigger("results:focus",{data:c,element:a(this)})})},c.prototype.getHighlightedResults=function(){var a=this.$results.find(".select2-results__option--highlighted");return a},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),2>=c?this.$results.scrollTop(0):(g>this.$results.outerHeight()||0>g)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){var a={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46};return a}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var b=a('<span class="select2-selection" role="combobox"  aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),b.attr("title",this.$element.attr("title")),b.attr("tabindex",this._tabindex),this.$selection=b,b},d.prototype.bind=function(a,b){var d=this,e=(a.id+"-container",a.id+"-results");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),d.$selection.focus(),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(b){a(document.body).on("mousedown.select2."+b.id,function(b){var c=a(b.target),d=c.closest(".select2"),e=a(".select2.select2-container--open");e.each(function(){var b=a(this);if(this!=d[0]){var c=b.data("element");c.select2("close")}})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){var c=b.find(".selection");c.append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d),this.$selection.attr("aria-labelledby",d),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("blur",function(a){}),a.on("focus",function(b){a.isOpen()||c.$selection.focus()}),a.on("selection:update",function(a){c.update(a.data)})},e.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},e.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},e.prototype.selectionContainer=function(){return a("<span></span>")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.prop("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('<ul class="select2-selection__rendered"></ul>'),a},d.prototype.bind=function(b,c){var e=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){e.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!e.options.get("disabled")){var c=a(this),d=c.parent(),f=d.data("data");e.trigger("unselect",{originalEvent:b,data:f})}})},d.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},d.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},d.prototype.selectionContainer=function(){var b=a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>');return b},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.selectionContainer(),g=this.display(e,f);f.append(g),f.prop("title",e.title||e.text),f.data("data",e),b.push(f)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(a){function b(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return b.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},b.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},b.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id,d=b.length>1;if(d||c)return a.call(this,b);this.clear();var e=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(e)},b}),b.define("select2/selection/allowClear",["jquery","../keys"],function(a,b){function c(){}return c.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},c.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var c=this.$selection.find(".select2-selection__clear");if(0!==c.length){b.stopPropagation();for(var d=c.data("data"),e=0;e<d.length;e++){var f={data:d[e]};if(this.trigger("unselect",f),f.prevented)return}this.$element.val(this.placeholder.id).trigger("change"),this.trigger("toggle",{})}}},c.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||(c.which==b.DELETE||c.which==b.BACKSPACE)&&this._handleClear(c)},c.prototype.update=function(b,c){if(b.call(this,c),!(this.$selection.find(".select2-selection__placeholder").length>0||0===c.length)){var d=a('<span class="select2-selection__clear">&times;</span>');d.data("data",c),this.$selection.find(".select2-selection__rendered").prepend(d)}},c}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,b,d){var e=this;a.call(this,b,d),b.on("open",function(){e.$search.trigger("focus")}),b.on("close",function(){e.$search.val(""),e.$search.removeAttr("aria-activedescendant"),e.$search.trigger("focus")}),b.on("enable",function(){e.$search.prop("disabled",!1),e._transferTabIndex()}),b.on("disable",function(){e.$search.prop("disabled",!0)}),b.on("focus",function(a){e.$search.trigger("focus")}),b.on("results:focus",function(a){e.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){e.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){e._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){a.stopPropagation(),e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented();var b=a.which;if(b===c.BACKSPACE&&""===e.$search.val()){var d=e.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var f=d.data("data");e.searchRemoveChoice(f),a.preventDefault()}}});var f=document.documentMode,g=f&&11>=f;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){return g?void e.$selection.off("input.search input.searchcheck"):void e.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(g&&"input"===a.type)return void e.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&e.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c&&this.$search.focus()},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{var b=this.$search.val().length+1;a=.75*b+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting"],g=["opening","closing","selecting","unselecting"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){var a={"Ⓐ":"A","Ａ":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","Ｂ":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","Ｃ":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","Ｄ":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","Ǳ":"DZ","Ǆ":"DZ","ǲ":"Dz","ǅ":"Dz","Ⓔ":"E","Ｅ":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","Ｆ":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","Ｇ":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","Ｈ":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","Ｉ":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","Ｊ":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","Ｋ":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","Ｌ":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","Ǉ":"LJ","ǈ":"Lj","Ⓜ":"M","Ｍ":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","Ｎ":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","Ǌ":"NJ","ǋ":"Nj","Ⓞ":"O","Ｏ":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","Ｐ":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Ｑ":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","Ｒ":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","Ｓ":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","Ｔ":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","Ｕ":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","Ｖ":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","Ｗ":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","Ｘ":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Ｙ":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Ｚ":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","ａ":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","ｂ":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","ｃ":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","ｄ":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","ǳ":"dz","ǆ":"dz","ⓔ":"e","ｅ":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","ｆ":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","ｇ":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","ｈ":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","ｉ":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","ｊ":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","ｋ":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","ｌ":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","ǉ":"lj","ⓜ":"m","ｍ":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","ｎ":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ŉ":"n","ꞑ":"n","ꞥ":"n","ǌ":"nj","ⓞ":"o","ｏ":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","ｐ":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","ｑ":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","ｒ":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","ｓ":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","ｔ":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","ｕ":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","ｖ":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","ｗ":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","ｘ":"x","ẋ":"x","ẍ":"x","ⓨ":"y","ｙ":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","ｚ":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"};return a}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),d+=null!=c.id?"-"+c.id.toString():"-"+a.generateChars(4)},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");
if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){var b=this;if(this.$element.prop("multiple"))return a.selected=!1,c(a.element).is("option")?(a.element.selected=!1,void this.$element.trigger("change")):void this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})},d.prototype.bind=function(a,b){var c=this;this.container=a,a.on("select",function(a){c.select(a.data)}),a.on("unselect",function(a){c.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){c.removeData(this,"data")})},d.prototype.query=function(a,b){var d=[],e=this,f=this.$element.children();f.each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var b;a.children?(b=document.createElement("optgroup"),b.label=a.text):(b=document.createElement("option"),void 0!==b.textContent?b.textContent=a.text:b.innerText=a.text),a.id&&(b.value=a.id),a.disabled&&(b.disabled=!0),a.selected&&(b.selected=!0),a.title&&(b.title=a.title);var d=c(b),e=this._normalizeItem(a);return e.element=b,c.data(b,"data",e),d},d.prototype.item=function(a){var b={};if(b=c.data(a[0],"data"),null!=b)return b;if(a.is("option"))b={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){b={text:a.prop("label"),children:[],title:a.prop("title")};for(var d=a.children("option"),e=[],f=0;f<d.length;f++){var g=c(d[f]),h=this.item(g);e.push(h)}b.children=e}return b=this._normalizeItem(b),b.element=a[0],c.data(a[0],"data",b),b},d.prototype._normalizeItem=function(a){c.isPlainObject(a)||(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&null!=this.container&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){var c=this.options.get("matcher");return c(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){d.status&&"0"===d.status||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h<e.length;h++){var i=e[h],j=this._normalizeItem(i),k=this.option(j);this.$element.append(k)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0),k=i.text===b.term;if(k||j)return f?!1:(a.data=g,void c(a))}if(f)return!0;var l=e.createTag(b);if(null!=l){var m=e.option(l);m.attr("data-select2-tag",!0),e.addOptions([m]),e.insertTag(g,l)}a.results=g,c(a)}var e=this;return this._removeOldTags(),null==b.term||null!=b.page?void a.call(this,b,c):void a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(b){var c=(this._lastTag,this.$element.find("option[data-select2-tag]"));c.each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(b,c,d){function e(b){var c=g._normalizeItem(b),d=g.$element.find("option").filter(function(){return a(this).val()===c.id});if(!d.length){var e=g.option(c);e.attr("data-select2-tag",!0),g._removeOldTags(),g.addOptions([e])}f(c)}function f(a){g.trigger("select",{data:a})}var g=this;c.term=c.term||"";var h=this.tokenizer(c,this.options,e);h.term!==c.term&&(this.$search.length&&(this.$search.val(h.term),this.$search.focus()),c.term=h.term),b.call(this,c,d)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);null!=m?(e(m),g=g.substr(h+1)||"",h=0):h++}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",b.term.length<this.minimumInputLength?void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",this.maximumInputLength>0&&b.term.length>this.maximumInputLength?void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;return d.maximumSelectionLength>0&&f>=d.maximumSelectionLength?void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}}):void a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<span class="select2-dropdown"><span class="select2-results"></span></span>');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" /></span>');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val("")}),c.on("focus",function(){c.isOpen()&&e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){var b=e.showSearch(a);b?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){var c=e.$results.offset().top+e.$results.outerHeight(!1),d=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1);c+50>=d&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a("<span></span>"),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){a(this).data("select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(b){var c=a(this).data("select2-scroll-position");a(this).scrollTop(c.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id,h=this.$container.parents().filter(b.hasScroll);h.off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.top<f.top-h.height,k=i.bottom>f.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return a(c.data.results)<this.minimumResultsForSearch?!1:b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(a){d._handleSelectOnClose(a)})},a.prototype._handleSelectOnClose=function(a,b){if(b&&null!=b.originalSelect2Event){var c=b.originalSelect2Event;if("select"===c._type||"unselect"===c._type)return}var d=this.getHighlightedResults();if(!(d.length<1)){var e=d.data("data");null!=e.element&&e.element.selected||null==e.element&&e.selected||this.trigger("select",{data:e})}},a}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&c.ctrlKey||this.trigger("close",{originalEvent:c,originalSelect2Event:b})},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(a){var b=a.input.length-a.maximum,c="Please delete "+b+" character";return 1!=b&&(c+="s"),c},inputTooShort:function(a){var b=a.minimum-a.input.length,c="Please enter "+b+" or more characters";return c},loadingMore:function(){return"Loading more results…"},maximumSelected:function(a){var b="You can only select "+a.maximum+" item";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),b.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C){function D(){this.reset()}D.prototype.apply=function(l){if(l=a.extend(!0,{},this.defaults,l),null==l.dataAdapter){if(null!=l.ajax?l.dataAdapter=o:null!=l.data?l.dataAdapter=n:l.dataAdapter=m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),(null!=l.tokenSeparators||null!=l.tokenizer)&&(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(O){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(P){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var Q=k.loadPath(this.defaults.amdLanguageBase+"en"),R=new k(l.language);R.extend(Q),l.translations=R}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){var h=e.children[g],i=c(d,h);null==i&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var j=b(e.text).toUpperCase(),k=b(d.term).toUpperCase();return j.indexOf(k)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(this.defaults,f)};var E=new D;return E}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),a.data("select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),a.data("data",a.data("select2Tags")),a.data("tags",!0)),a.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",a.data("ajaxUrl")),a.data("ajax--url",a.data("ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,a.data()):a.data();var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,c){null!=a.data("select2")&&a.data("select2").destroy(),this.$element=a,this.id=this._generateId(a),c=c||{},this.options=new b(c,a),e.__super__.constructor.call(this);var d=a.attr("tabindex")||0;a.data("old-tabindex",d),a.attr("tabindex","-1");var f=this.options.get("dataAdapter");this.dataAdapter=new f(a,this.options);var g=this.render();this._placeContainer(g);var h=this.options.get("selectionAdapter");this.selection=new h(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,g);var i=this.options.get("dropdownAdapter");this.dropdown=new i(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,g);var j=this.options.get("resultsAdapter");this.results=new j(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var k=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){k.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return 0>=e?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;i>h;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e<b.addedNodes.length;e++){var f=b.addedNodes[e];f.selected&&(c=!0)}else b.removedNodes&&b.removedNodes.length>0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),(null==a||0===a.length)&&(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",this.$element.data("old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null;
},e.prototype.render=function(){var b=a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),b.data("element",this.$element),b},e}),b.define("select2/compat/utils",["jquery"],function(a){function b(b,c,d){var e,f,g=[];e=a.trim(b.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0===this.indexOf("select2-")&&g.push(this)})),e=a.trim(c.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0!==this.indexOf("select2-")&&(f=d(this),null!=f&&g.push(f))})),b.attr("class",g.join(" "))}return{syncCssClasses:b}}),b.define("select2/compat/containerCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("containerCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptContainerCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("containerCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/dropdownCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("dropdownCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptDropdownCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("dropdownCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/initSelection",["jquery"],function(a){function b(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `initSelection` option has been deprecated in favor of a custom data adapter that overrides the `current` method. This method is now called multiple times instead of a single time when the instance is initialized. Support will be removed for the `initSelection` option in future versions of Select2"),this.initSelection=c.get("initSelection"),this._isInitialized=!1,a.call(this,b,c)}return b.prototype.current=function(b,c){var d=this;return this._isInitialized?void b.call(this,c):void this.initSelection.call(null,this.$element,function(b){d._isInitialized=!0,a.isArray(b)||(b=[b]),c(b)})},b}),b.define("select2/compat/inputData",["jquery"],function(a){function b(a,b,c){this._currentData=[],this._valueSeparator=c.get("valueSeparator")||",","hidden"===b.prop("type")&&c.get("debug")&&console&&console.warn&&console.warn("Select2: Using a hidden input with Select2 is no longer supported and may stop working in the future. It is recommended to use a `<select>` element instead."),a.call(this,b,c)}return b.prototype.current=function(b,c){function d(b,c){var e=[];return b.selected||-1!==a.inArray(b.id,c)?(b.selected=!0,e.push(b)):b.selected=!1,b.children&&e.push.apply(e,d(b.children,c)),e}for(var e=[],f=0;f<this._currentData.length;f++){var g=this._currentData[f];e.push.apply(e,d(g,this.$element.val().split(this._valueSeparator)))}c(e)},b.prototype.select=function(b,c){if(this.options.get("multiple")){var d=this.$element.val();d+=this._valueSeparator+c.id,this.$element.val(d),this.$element.trigger("change")}else this.current(function(b){a.map(b,function(a){a.selected=!1})}),this.$element.val(c.id),this.$element.trigger("change")},b.prototype.unselect=function(a,b){var c=this;b.selected=!1,this.current(function(a){for(var d=[],e=0;e<a.length;e++){var f=a[e];b.id!=f.id&&d.push(f.id)}c.$element.val(d.join(c._valueSeparator)),c.$element.trigger("change")})},b.prototype.query=function(a,b,c){for(var d=[],e=0;e<this._currentData.length;e++){var f=this._currentData[e],g=this.matches(b,f);null!==g&&d.push(g)}c({results:d})},b.prototype.addOptions=function(b,c){var d=a.map(c,function(b){return a.data(b[0],"data")});this._currentData.push.apply(this._currentData,d)},b}),b.define("select2/compat/matcher",["jquery"],function(a){function b(b){function c(c,d){var e=a.extend(!0,{},d);if(null==c.term||""===a.trim(c.term))return e;if(d.children){for(var f=d.children.length-1;f>=0;f--){var g=d.children[f],h=b(c.term,g.text,g);h||e.children.splice(f,1)}if(e.children.length>0)return e}return b(c.term,d.text,d)?e:null}return c}return b}),b.define("select2/compat/query",[],function(){function a(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `query` option has been deprecated in favor of a custom data adapter that overrides the `query` method. Support will be removed for the `query` option in future versions of Select2."),a.call(this,b,c)}return a.prototype.query=function(a,b,c){b.callback=c;var d=this.options.get("query");d.call(null,b)},a}),b.define("select2/dropdown/attachContainer",[],function(){function a(a,b,c){a.call(this,b,c)}return a.prototype.position=function(a,b,c){var d=c.find(".dropdown-wrapper");d.append(b),b.addClass("select2-dropdown--below"),c.addClass("select2-container--below")},a}),b.define("select2/dropdown/stopPropagation",[],function(){function a(){}return a.prototype.bind=function(a,b,c){a.call(this,b,c);var d=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$dropdown.on(d.join(" "),function(a){a.stopPropagation()})},a}),b.define("select2/selection/stopPropagation",[],function(){function a(){}return a.prototype.bind=function(a,b,c){a.call(this,b,c);var d=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$selection.on(d.join(" "),function(a){a.stopPropagation()})},a}),function(c){"function"==typeof b.define&&b.define.amd?b.define("jquery-mousewheel",["jquery"],c):"object"==typeof exports?module.exports=c:c(a)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||f>n)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults"],function(a,b,c,d){if(null==a.fn.select2){var e=["open","close","destroy"];a.fn.select2=function(b){if(b=b||{},"object"==typeof b)return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d,f=Array.prototype.slice.call(arguments,1);return this.each(function(){var c=a(this).data("select2");null==c&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2."),d=c[b].apply(c,f)}),a.inArray(b,e)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c});
var COMPILED=!0,goog=goog||{};goog.global=this;goog.isDef=function(a){return void 0!==a};goog.isString=function(a){return"string"==typeof a};goog.isBoolean=function(a){return"boolean"==typeof a};goog.isNumber=function(a){return"number"==typeof a};goog.exportPath_=function(a,b,c){a=a.split(".");c=c||goog.global;a[0]in c||!c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&goog.isDef(b)?c[d]=b:c=c[d]&&c[d]!==Object.prototype[d]?c[d]:c[d]={}};
goog.define=function(a,b){var c=b;COMPILED||(goog.global.CLOSURE_UNCOMPILED_DEFINES&&void 0===goog.global.CLOSURE_UNCOMPILED_DEFINES.nodeType&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_UNCOMPILED_DEFINES,a)?c=goog.global.CLOSURE_UNCOMPILED_DEFINES[a]:goog.global.CLOSURE_DEFINES&&void 0===goog.global.CLOSURE_DEFINES.nodeType&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_DEFINES,a)&&(c=goog.global.CLOSURE_DEFINES[a]));goog.exportPath_(a,c)};goog.DEBUG=!0;goog.LOCALE="en";
goog.TRUSTED_SITE=!0;goog.STRICT_MODE_COMPATIBLE=!1;goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG;goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1;goog.provide=function(a){if(goog.isInModuleLoader_())throw Error("goog.provide can not be used within a goog.module.");if(!COMPILED&&goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');goog.constructNamespace_(a)};
goog.constructNamespace_=function(a,b){if(!COMPILED){delete goog.implicitNamespaces_[a];for(var c=a;(c=c.substring(0,c.lastIndexOf(".")))&&!goog.getObjectByName(c);)goog.implicitNamespaces_[c]=!0}goog.exportPath_(a,b)};goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/;
goog.module=function(a){if(!goog.isString(a)||!a||-1==a.search(goog.VALID_MODULE_RE_))throw Error("Invalid module identifier");if(!goog.isInModuleLoader_())throw Error("Module "+a+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");
goog.moduleLoaderState_.moduleName=a;if(!COMPILED){if(goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');delete goog.implicitNamespaces_[a]}};goog.module.get=function(a){return goog.module.getInternal_(a)};goog.module.getInternal_=function(a){if(!COMPILED){if(a in goog.loadedModules_)return goog.loadedModules_[a];if(!goog.implicitNamespaces_[a])return a=goog.getObjectByName(a),null!=a?a:null}return null};goog.moduleLoaderState_=null;
goog.isInModuleLoader_=function(){return null!=goog.moduleLoaderState_};goog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInModuleLoader_())throw Error("goog.module.declareLegacyNamespace must be called from within a goog.module");if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error("goog.module must be called prior to goog.module.declareLegacyNamespace.");goog.moduleLoaderState_.declareLegacyNamespace=!0};
goog.setTestOnly=function(a){if(goog.DISALLOW_TEST_ONLY_CODE)throw a=a||"",Error("Importing test-only code into non-debug environment"+(a?": "+a:"."));};goog.forwardDeclare=function(a){};COMPILED||(goog.isProvided_=function(a){return a in goog.loadedModules_||!goog.implicitNamespaces_[a]&&goog.isDefAndNotNull(goog.getObjectByName(a))},goog.implicitNamespaces_={"goog.module":!0});
goog.getObjectByName=function(a,b){for(var c=a.split("."),d=b||goog.global,e;e=c.shift();)if(goog.isDefAndNotNull(d[e]))d=d[e];else return null;return d};goog.globalize=function(a,b){var c=b||goog.global,d;for(d in a)c[d]=a[d]};
goog.addDependency=function(a,b,c,d){if(goog.DEPENDENCIES_ENABLED){var e;a=a.replace(/\\/g,"/");var f=goog.dependencies_;d&&"boolean"!==typeof d||(d=d?{module:"goog"}:{});for(var g=0;e=b[g];g++)f.nameToPath[e]=a,f.loadFlags[a]=d;for(d=0;b=c[d];d++)a in f.requires||(f.requires[a]={}),f.requires[a][b]=!0}};goog.ENABLE_DEBUG_LOADER=!0;goog.logToConsole_=function(a){goog.global.console&&goog.global.console.error(a)};
goog.require=function(a){if(!COMPILED){goog.ENABLE_DEBUG_LOADER&&goog.IS_OLD_IE_&&goog.maybeProcessDeferredDep_(a);if(goog.isProvided_(a)){if(goog.isInModuleLoader_())return goog.module.getInternal_(a)}else if(goog.ENABLE_DEBUG_LOADER){var b=goog.getPathFromDeps_(a);if(b)goog.writeScripts_(b);else throw a="goog.require could not find: "+a,goog.logToConsole_(a),Error(a);}return null}};goog.basePath="";goog.nullFunction=function(){};
goog.abstractMethod=function(){throw Error("unimplemented abstract method");};goog.addSingletonGetter=function(a){a.instance_=void 0;a.getInstance=function(){if(a.instance_)return a.instance_;goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=a);return a.instance_=new a}};goog.instantiatedSingletons_=[];goog.LOAD_MODULE_USING_EVAL=!0;goog.SEAL_MODULE_EXPORTS=goog.DEBUG;goog.loadedModules_={};goog.DEPENDENCIES_ENABLED=!COMPILED&&goog.ENABLE_DEBUG_LOADER;goog.TRANSPILE="detect";
goog.TRANSPILER="transpile.js";
goog.DEPENDENCIES_ENABLED&&(goog.dependencies_={loadFlags:{},nameToPath:{},requires:{},visited:{},written:{},deferred:{}},goog.inHtmlDocument_=function(){var a=goog.global.document;return null!=a&&"write"in a},goog.findBasePath_=function(){if(goog.isDef(goog.global.CLOSURE_BASE_PATH)&&goog.isString(goog.global.CLOSURE_BASE_PATH))goog.basePath=goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_()){var a=goog.global.document;var b=a.currentScript;a=b?[b]:a.getElementsByTagName("SCRIPT");for(b=
a.length-1;0<=b;--b){var c=a[b].src,d=c.lastIndexOf("?"),d=-1==d?c.length:d;if("base.js"==c.substr(d-7,7)){goog.basePath=c.substr(0,d-7);break}}}},goog.importScript_=function(a,b){(goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_)(a,b)&&(goog.dependencies_.written[a]=!0)},goog.IS_OLD_IE_=!(goog.global.atob||!goog.global.document||!goog.global.document.all),goog.oldIeWaiting_=!1,goog.importProcessedScript_=function(a,b,c){goog.importScript_("",'goog.retrieveAndExec_("'+a+'", '+b+", "+c+");")},
goog.queuedModules_=[],goog.wrapModule_=function(a,b){return goog.LOAD_MODULE_USING_EVAL&&goog.isDef(goog.global.JSON)?"goog.loadModule("+goog.global.JSON.stringify(b+"\n//# sourceURL\x3d"+a+"\n")+");":'goog.loadModule(function(exports) {"use strict";'+b+"\n;return exports});\n//# sourceURL\x3d"+a+"\n"},goog.loadQueuedModules_=function(){var a=goog.queuedModules_.length;if(0<a){var b=goog.queuedModules_;goog.queuedModules_=[];for(var c=0;c<a;c++)goog.maybeProcessDeferredPath_(b[c])}goog.oldIeWaiting_=
!1},goog.maybeProcessDeferredDep_=function(a){goog.isDeferredModule_(a)&&goog.allDepsAreAvailable_(a)&&(a=goog.getPathFromDeps_(a),goog.maybeProcessDeferredPath_(goog.basePath+a))},goog.isDeferredModule_=function(a){var b=(a=goog.getPathFromDeps_(a))&&goog.dependencies_.loadFlags[a]||{},c=b.lang||"es3";return a&&("goog"==b.module||goog.needsTranspile_(c))?goog.basePath+a in goog.dependencies_.deferred:!1},goog.allDepsAreAvailable_=function(a){if((a=goog.getPathFromDeps_(a))&&a in goog.dependencies_.requires)for(var b in goog.dependencies_.requires[a])if(!goog.isProvided_(b)&&
!goog.isDeferredModule_(b))return!1;return!0},goog.maybeProcessDeferredPath_=function(a){if(a in goog.dependencies_.deferred){var b=goog.dependencies_.deferred[a];delete goog.dependencies_.deferred[a];goog.globalEval(b)}},goog.loadModuleFromUrl=function(a){goog.retrieveAndExec_(a,!0,!1)},goog.writeScriptSrcNode_=function(a){goog.global.document.write('\x3cscript type\x3d"text/javascript" src\x3d"'+a+'"\x3e\x3c/script\x3e')},goog.appendScriptSrcNode_=function(a){var b=goog.global.document,c=b.createElement("script");
c.type="text/javascript";c.src=a;c.defer=!1;c.async=!1;b.head.appendChild(c)},goog.writeScriptTag_=function(a,b){if(goog.inHtmlDocument_()){var c=goog.global.document;if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&"complete"==c.readyState){if(/\bdeps.js$/.test(a))return!1;throw Error('Cannot write "'+a+'" after document load');}if(void 0===b)if(goog.IS_OLD_IE_){goog.oldIeWaiting_=!0;var d=" onreadystatechange\x3d'goog.onScriptLoad_(this, "+ ++goog.lastNonModuleScriptIndex_+")' ";c.write('\x3cscript type\x3d"text/javascript" src\x3d"'+
a+'"'+d+"\x3e\x3c/script\x3e")}else goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING?goog.appendScriptSrcNode_(a):goog.writeScriptSrcNode_(a);else c.write('\x3cscript type\x3d"text/javascript"\x3e'+goog.protectScriptTag_(b)+"\x3c/script\x3e");return!0}return!1},goog.protectScriptTag_=function(a){return a.replace(/<\/(SCRIPT)/ig,"\\x3c/$1")},goog.needsTranspile_=function(a){if("always"==goog.TRANSPILE)return!0;if("never"==goog.TRANSPILE)return!1;goog.requiresTranspilation_||(goog.requiresTranspilation_=
goog.createRequiresTranspilation_());if(a in goog.requiresTranspilation_)return goog.requiresTranspilation_[a];throw Error("Unknown language mode: "+a);},goog.requiresTranspilation_=null,goog.lastNonModuleScriptIndex_=0,goog.onScriptLoad_=function(a,b){"complete"==a.readyState&&goog.lastNonModuleScriptIndex_==b&&goog.loadQueuedModules_();return!0},goog.writeScripts_=function(a){function b(a){if(!(a in e.written||a in e.visited)){e.visited[a]=!0;if(a in e.requires)for(var f in e.requires[a])if(!goog.isProvided_(f))if(f in
e.nameToPath)b(e.nameToPath[f]);else throw Error("Undefined nameToPath for "+f);a in d||(d[a]=!0,c.push(a))}}var c=[],d={},e=goog.dependencies_;b(a);for(var f=0;f<c.length;f++)a=c[f],goog.dependencies_.written[a]=!0;var g=goog.moduleLoaderState_;goog.moduleLoaderState_=null;for(f=0;f<c.length;f++)if(a=c[f]){var h=e.loadFlags[a]||{},k=goog.needsTranspile_(h.lang||"es3");"goog"==h.module||k?goog.importProcessedScript_(goog.basePath+a,"goog"==h.module,k):goog.importScript_(goog.basePath+a)}else throw goog.moduleLoaderState_=
g,Error("Undefined script input");goog.moduleLoaderState_=g},goog.getPathFromDeps_=function(a){return a in goog.dependencies_.nameToPath?goog.dependencies_.nameToPath[a]:null},goog.findBasePath_(),goog.global.CLOSURE_NO_DEPS||goog.importScript_(goog.basePath+"deps.js"));goog.hasBadLetScoping=null;
goog.useSafari10Workaround=function(){if(null==goog.hasBadLetScoping){try{var a=!eval('"use strict";let x \x3d 1; function f() { return typeof x; };f() \x3d\x3d "number";')}catch(b){a=!1}goog.hasBadLetScoping=a}return goog.hasBadLetScoping};goog.workaroundSafari10EvalBug=function(a){return"(function(){"+a+"\n;})();\n"};
goog.loadModule=function(a){var b=goog.moduleLoaderState_;try{goog.moduleLoaderState_={moduleName:void 0,declareLegacyNamespace:!1};if(goog.isFunction(a))var c=a.call(void 0,{});else if(goog.isString(a))goog.useSafari10Workaround()&&(a=goog.workaroundSafari10EvalBug(a)),c=goog.loadModuleFromSource_.call(void 0,a);else throw Error("Invalid module definition");var d=goog.moduleLoaderState_.moduleName;if(!goog.isString(d)||!d)throw Error('Invalid module name "'+d+'"');goog.moduleLoaderState_.declareLegacyNamespace?
goog.constructNamespace_(d,c):goog.SEAL_MODULE_EXPORTS&&Object.seal&&"object"==typeof c&&null!=c&&Object.seal(c);goog.loadedModules_[d]=c}finally{goog.moduleLoaderState_=b}};goog.loadModuleFromSource_=function(a){eval(a);return{}};goog.normalizePath_=function(a){a=a.split("/");for(var b=0;b<a.length;)"."==a[b]?a.splice(b,1):b&&".."==a[b]&&a[b-1]&&".."!=a[b-1]?a.splice(--b,2):b++;return a.join("/")};
goog.loadFileSync_=function(a){if(goog.global.CLOSURE_LOAD_FILE_SYNC)return goog.global.CLOSURE_LOAD_FILE_SYNC(a);try{var b=new goog.global.XMLHttpRequest;b.open("get",a,!1);b.send();return 0==b.status||200==b.status?b.responseText:null}catch(c){return null}};
goog.retrieveAndExec_=function(a,b,c){if(!COMPILED){var d=a;a=goog.normalizePath_(a);var e=goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_,f=goog.loadFileSync_(a);if(null==f)throw Error('Load of "'+a+'" failed');c&&(f=goog.transpile_.call(goog.global,f,a));f=b?goog.wrapModule_(a,f):f+("\n//# sourceURL\x3d"+a);goog.IS_OLD_IE_&&goog.oldIeWaiting_?(goog.dependencies_.deferred[d]=f,goog.queuedModules_.push(d)):e(a,f)}};
goog.transpile_=function(a,b){var c=goog.global.$jscomp;c||(goog.global.$jscomp=c={});var d=c.transpile;if(!d){var e=goog.basePath+goog.TRANSPILER,f=goog.loadFileSync_(e);if(f){eval(f+"\n//# sourceURL\x3d"+e);if(goog.global.$gwtExport&&goog.global.$gwtExport.$jscomp&&!goog.global.$gwtExport.$jscomp.transpile)throw Error('The transpiler did not properly export the "transpile" method. $gwtExport: '+JSON.stringify(goog.global.$gwtExport));goog.global.$jscomp.transpile=goog.global.$gwtExport.$jscomp.transpile;
c=goog.global.$jscomp;d=c.transpile}}d||(d=c.transpile=function(a,b){goog.logToConsole_(b+" requires transpilation but no transpiler was found.");return a});return d(a,b)};
goog.typeOf=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
else if("function"==b&&"undefined"==typeof a.call)return"object";return b};goog.isNull=function(a){return null===a};goog.isDefAndNotNull=function(a){return null!=a};goog.isArray=function(a){return"array"==goog.typeOf(a)};goog.isArrayLike=function(a){var b=goog.typeOf(a);return"array"==b||"object"==b&&"number"==typeof a.length};goog.isDateLike=function(a){return goog.isObject(a)&&"function"==typeof a.getFullYear};goog.isFunction=function(a){return"function"==goog.typeOf(a)};
goog.isObject=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b};goog.getUid=function(a){return a[goog.UID_PROPERTY_]||(a[goog.UID_PROPERTY_]=++goog.uidCounter_)};goog.hasUid=function(a){return!!a[goog.UID_PROPERTY_]};goog.removeUid=function(a){null!==a&&"removeAttribute"in a&&a.removeAttribute(goog.UID_PROPERTY_);try{delete a[goog.UID_PROPERTY_]}catch(b){}};goog.UID_PROPERTY_="closure_uid_"+(1E9*Math.random()>>>0);goog.uidCounter_=0;goog.getHashCode=goog.getUid;
goog.removeHashCode=goog.removeUid;goog.cloneObject=function(a){var b=goog.typeOf(a);if("object"==b||"array"==b){if(a.clone)return a.clone();var b="array"==b?[]:{},c;for(c in a)b[c]=goog.cloneObject(a[c]);return b}return a};goog.bindNative_=function(a,b,c){return a.call.apply(a.bind,arguments)};
goog.bindJs_=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}};goog.bind=function(a,b,c){Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?goog.bind=goog.bindNative_:goog.bind=goog.bindJs_;return goog.bind.apply(null,arguments)};
goog.partial=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=c.slice();b.push.apply(b,arguments);return a.apply(this,b)}};goog.mixin=function(a,b){for(var c in b)a[c]=b[c]};goog.now=goog.TRUSTED_SITE&&Date.now||function(){return+new Date};
goog.globalEval=function(a){if(goog.global.execScript)goog.global.execScript(a,"JavaScript");else if(goog.global.eval){if(null==goog.evalWorksForGlobals_)if(goog.global.eval("var _evalTest_ \x3d 1;"),"undefined"!=typeof goog.global._evalTest_){try{delete goog.global._evalTest_}catch(d){}goog.evalWorksForGlobals_=!0}else goog.evalWorksForGlobals_=!1;if(goog.evalWorksForGlobals_)goog.global.eval(a);else{var b=goog.global.document,c=b.createElement("SCRIPT");c.type="text/javascript";c.defer=!1;c.appendChild(b.createTextNode(a));
b.body.appendChild(c);b.body.removeChild(c)}}else throw Error("goog.globalEval not available");};goog.evalWorksForGlobals_=null;
goog.getCssName=function(a,b){if("."==String(a).charAt(0))throw Error('className passed in goog.getCssName must not start with ".". You passed: '+a);var c=function(a){return goog.cssNameMapping_[a]||a},d=function(a){a=a.split("-");for(var b=[],d=0;d<a.length;d++)b.push(c(a[d]));return b.join("-")},d=goog.cssNameMapping_?"BY_WHOLE"==goog.cssNameMappingStyle_?c:d:function(a){return a},d=b?a+"-"+d(b):d(a);return goog.global.CLOSURE_CSS_NAME_MAP_FN?goog.global.CLOSURE_CSS_NAME_MAP_FN(d):d};
goog.setCssNameMapping=function(a,b){goog.cssNameMapping_=a;goog.cssNameMappingStyle_=b};!COMPILED&&goog.global.CLOSURE_CSS_NAME_MAPPING&&(goog.cssNameMapping_=goog.global.CLOSURE_CSS_NAME_MAPPING);goog.getMsg=function(a,b){b&&(a=a.replace(/\{\$([^}]+)}/g,function(a,d){return null!=b&&d in b?b[d]:a}));return a};goog.getMsgWithFallback=function(a,b){return a};goog.exportSymbol=function(a,b,c){goog.exportPath_(a,b,c)};goog.exportProperty=function(a,b,c){a[b]=c};
goog.inherits=function(a,b){function c(){}c.prototype=b.prototype;a.superClass_=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.base=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}};
goog.base=function(a,b,c){var d=arguments.callee.caller;if(goog.STRICT_MODE_COMPATIBLE||goog.DEBUG&&!d)throw Error("arguments.caller not defined.  goog.base() cannot be used with strict mode code. See http://www.ecma-international.org/ecma-262/5.1/#sec-C");if(d.superClass_){for(var e=Array(arguments.length-1),f=1;f<arguments.length;f++)e[f-1]=arguments[f];return d.superClass_.constructor.apply(a,e)}e=Array(arguments.length-2);for(f=2;f<arguments.length;f++)e[f-2]=arguments[f];for(var f=!1,g=a.constructor;g;g=
g.superClass_&&g.superClass_.constructor)if(g.prototype[b]===d)f=!0;else if(f)return g.prototype[b].apply(a,e);if(a[b]===d)return a.constructor.prototype[b].apply(a,e);throw Error("goog.base called from a method of one name to a method of a different name");};goog.scope=function(a){if(goog.isInModuleLoader_())throw Error("goog.scope is not supported within a goog.module.");a.call(goog.global)};COMPILED||(goog.global.COMPILED=COMPILED);
goog.defineClass=function(a,b){var c=b.constructor,d=b.statics;c&&c!=Object.prototype.constructor||(c=function(){throw Error("cannot instantiate an interface (no constructor defined).");});c=goog.defineClass.createSealingConstructor_(c,a);a&&goog.inherits(c,a);delete b.constructor;delete b.statics;goog.defineClass.applyProperties_(c.prototype,b);null!=d&&(d instanceof Function?d(c):goog.defineClass.applyProperties_(c,d));return c};goog.defineClass.SEAL_CLASS_INSTANCES=goog.DEBUG;
goog.defineClass.createSealingConstructor_=function(a,b){if(!goog.defineClass.SEAL_CLASS_INSTANCES)return a;var c=!goog.defineClass.isUnsealable_(b),d=function(){var b=a.apply(this,arguments)||this;b[goog.UID_PROPERTY_]=b[goog.UID_PROPERTY_];this.constructor===d&&c&&Object.seal instanceof Function&&Object.seal(b);return b};return d};goog.defineClass.isUnsealable_=function(a){return a&&a.prototype&&a.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]};goog.defineClass.OBJECT_PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
goog.defineClass.applyProperties_=function(a,b){for(var c in b)Object.prototype.hasOwnProperty.call(b,c)&&(a[c]=b[c]);for(var d=0;d<goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length;d++)c=goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[d],Object.prototype.hasOwnProperty.call(b,c)&&(a[c]=b[c])};goog.tagUnsealableClass=function(a){!COMPILED&&goog.defineClass.SEAL_CLASS_INSTANCES&&(a.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]=!0)};goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_="goog_defineClass_legacy_unsealable";
goog.createRequiresTranspilation_=function(){function a(a,b){d?c[a]=!0:b()?c[a]=!1:d=c[a]=!0}function b(a){try{return!!eval(a)}catch(g){return!1}}var c={es3:!1},d=!1,e=goog.global.navigator&&goog.global.navigator.userAgent?goog.global.navigator.userAgent:"";a("es5",function(){return b("[1,].length\x3d\x3d1")});a("es6",function(){var a=e.match(/Edge\/(\d+)(\.\d)*/i);return a&&15>Number(a[1])?!1:b('(()\x3d\x3e{"use strict";class X{constructor(){if(new.target!\x3dString)throw 1;this.x\x3d42}}let q\x3dReflect.construct(X,[],String);if(q.x!\x3d42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a\x3d\x3d2)continue;function f(z\x3d{a}){let a\x3d0;return z.a}{function f(){return 0;}}return f()\x3d\x3d3}})()')});
a("es6-impl",function(){return!0});a("es7",function(){return b("2 ** 2 \x3d\x3d 4")});a("es8",function(){return b("async () \x3d\x3e 1, true")});return c};goog.string={};goog.string.DETECT_DOUBLE_ESCAPING=!1;goog.string.FORCE_NON_DOM_HTML_UNESCAPING=!1;goog.string.Unicode={NBSP:" "};goog.string.startsWith=function(a,b){return 0==a.lastIndexOf(b,0)};goog.string.endsWith=function(a,b){var c=a.length-b.length;return 0<=c&&a.indexOf(b,c)==c};goog.string.caseInsensitiveStartsWith=function(a,b){return 0==goog.string.caseInsensitiveCompare(b,a.substr(0,b.length))};
goog.string.caseInsensitiveEndsWith=function(a,b){return 0==goog.string.caseInsensitiveCompare(b,a.substr(a.length-b.length,b.length))};goog.string.caseInsensitiveEquals=function(a,b){return a.toLowerCase()==b.toLowerCase()};goog.string.subs=function(a,b){for(var c=a.split("%s"),d="",e=Array.prototype.slice.call(arguments,1);e.length&&1<c.length;)d+=c.shift()+e.shift();return d+c.join("%s")};goog.string.collapseWhitespace=function(a){return a.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")};
goog.string.isEmptyOrWhitespace=function(a){return/^[\s\xa0]*$/.test(a)};goog.string.isEmptyString=function(a){return 0==a.length};goog.string.isEmpty=goog.string.isEmptyOrWhitespace;goog.string.isEmptyOrWhitespaceSafe=function(a){return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(a))};goog.string.isEmptySafe=goog.string.isEmptyOrWhitespaceSafe;goog.string.isBreakingWhitespace=function(a){return!/[^\t\n\r ]/.test(a)};goog.string.isAlpha=function(a){return!/[^a-zA-Z]/.test(a)};
goog.string.isNumeric=function(a){return!/[^0-9]/.test(a)};goog.string.isAlphaNumeric=function(a){return!/[^a-zA-Z0-9]/.test(a)};goog.string.isSpace=function(a){return" "==a};goog.string.isUnicodeChar=function(a){return 1==a.length&&" "<=a&&"~">=a||""<=a&&"�">=a};goog.string.stripNewlines=function(a){return a.replace(/(\r\n|\r|\n)+/g," ")};goog.string.canonicalizeNewlines=function(a){return a.replace(/(\r\n|\r|\n)/g,"\n")};goog.string.normalizeWhitespace=function(a){return a.replace(/\xa0|\s/g," ")};
goog.string.normalizeSpaces=function(a){return a.replace(/\xa0|[ \t]+/g," ")};goog.string.collapseBreakingSpaces=function(a){return a.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")};goog.string.trim=goog.TRUSTED_SITE&&String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};goog.string.trimLeft=function(a){return a.replace(/^[\s\xa0]+/,"")};goog.string.trimRight=function(a){return a.replace(/[\s\xa0]+$/,"")};
goog.string.caseInsensitiveCompare=function(a,b){var c=String(a).toLowerCase(),d=String(b).toLowerCase();return c<d?-1:c==d?0:1};goog.string.numberAwareCompare_=function(a,b,c){if(a==b)return 0;if(!a)return-1;if(!b)return 1;for(var d=a.toLowerCase().match(c),e=b.toLowerCase().match(c),f=Math.min(d.length,e.length),g=0;g<f;g++){c=d[g];var h=e[g];if(c!=h)return a=parseInt(c,10),!isNaN(a)&&(b=parseInt(h,10),!isNaN(b)&&a-b)?a-b:c<h?-1:1}return d.length!=e.length?d.length-e.length:a<b?-1:1};
goog.string.intAwareCompare=function(a,b){return goog.string.numberAwareCompare_(a,b,/\d+|\D+/g)};goog.string.floatAwareCompare=function(a,b){return goog.string.numberAwareCompare_(a,b,/\d+|\.\d+|\D+/g)};goog.string.numerateCompare=goog.string.floatAwareCompare;goog.string.urlEncode=function(a){return encodeURIComponent(String(a))};goog.string.urlDecode=function(a){return decodeURIComponent(a.replace(/\+/g," "))};
goog.string.newLineToBr=function(a,b){return a.replace(/(\r\n|\r|\n)/g,b?"\x3cbr /\x3e":"\x3cbr\x3e")};
goog.string.htmlEscape=function(a,b){if(b)a=a.replace(goog.string.AMP_RE_,"\x26amp;").replace(goog.string.LT_RE_,"\x26lt;").replace(goog.string.GT_RE_,"\x26gt;").replace(goog.string.QUOT_RE_,"\x26quot;").replace(goog.string.SINGLE_QUOTE_RE_,"\x26#39;").replace(goog.string.NULL_RE_,"\x26#0;"),goog.string.DETECT_DOUBLE_ESCAPING&&(a=a.replace(goog.string.E_RE_,"\x26#101;"));else{if(!goog.string.ALL_RE_.test(a))return a;-1!=a.indexOf("\x26")&&(a=a.replace(goog.string.AMP_RE_,"\x26amp;"));-1!=a.indexOf("\x3c")&&
(a=a.replace(goog.string.LT_RE_,"\x26lt;"));-1!=a.indexOf("\x3e")&&(a=a.replace(goog.string.GT_RE_,"\x26gt;"));-1!=a.indexOf('"')&&(a=a.replace(goog.string.QUOT_RE_,"\x26quot;"));-1!=a.indexOf("'")&&(a=a.replace(goog.string.SINGLE_QUOTE_RE_,"\x26#39;"));-1!=a.indexOf("\x00")&&(a=a.replace(goog.string.NULL_RE_,"\x26#0;"));goog.string.DETECT_DOUBLE_ESCAPING&&-1!=a.indexOf("e")&&(a=a.replace(goog.string.E_RE_,"\x26#101;"))}return a};goog.string.AMP_RE_=/&/g;goog.string.LT_RE_=/</g;
goog.string.GT_RE_=/>/g;goog.string.QUOT_RE_=/"/g;goog.string.SINGLE_QUOTE_RE_=/'/g;goog.string.NULL_RE_=/\x00/g;goog.string.E_RE_=/e/g;goog.string.ALL_RE_=goog.string.DETECT_DOUBLE_ESCAPING?/[\x00&<>"'e]/:/[\x00&<>"']/;goog.string.unescapeEntities=function(a){return goog.string.contains(a,"\x26")?!goog.string.FORCE_NON_DOM_HTML_UNESCAPING&&"document"in goog.global?goog.string.unescapeEntitiesUsingDom_(a):goog.string.unescapePureXmlEntities_(a):a};
goog.string.unescapeEntitiesWithDocument=function(a,b){return goog.string.contains(a,"\x26")?goog.string.unescapeEntitiesUsingDom_(a,b):a};
goog.string.unescapeEntitiesUsingDom_=function(a,b){var c={"\x26amp;":"\x26","\x26lt;":"\x3c","\x26gt;":"\x3e","\x26quot;":'"'};var d=b?b.createElement("div"):goog.global.document.createElement("div");return a.replace(goog.string.HTML_ENTITY_PATTERN_,function(a,b){var e=c[a];if(e)return e;if("#"==b.charAt(0)){var f=Number("0"+b.substr(1));isNaN(f)||(e=String.fromCharCode(f))}e||(d.innerHTML=a+" ",e=d.firstChild.nodeValue.slice(0,-1));return c[a]=e})};
goog.string.unescapePureXmlEntities_=function(a){return a.replace(/&([^;]+);/g,function(a,c){switch(c){case "amp":return"\x26";case "lt":return"\x3c";case "gt":return"\x3e";case "quot":return'"';default:if("#"==c.charAt(0)){var b=Number("0"+c.substr(1));if(!isNaN(b))return String.fromCharCode(b)}return a}})};goog.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g;goog.string.whitespaceEscape=function(a,b){return goog.string.newLineToBr(a.replace(/  /g," \x26#160;"),b)};
goog.string.preserveSpaces=function(a){return a.replace(/(^|[\n ]) /g,"$1"+goog.string.Unicode.NBSP)};goog.string.stripQuotes=function(a,b){for(var c=b.length,d=0;d<c;d++){var e=1==c?b:b.charAt(d);if(a.charAt(0)==e&&a.charAt(a.length-1)==e)return a.substring(1,a.length-1)}return a};goog.string.truncate=function(a,b,c){c&&(a=goog.string.unescapeEntities(a));a.length>b&&(a=a.substring(0,b-3)+"...");c&&(a=goog.string.htmlEscape(a));return a};
goog.string.truncateMiddle=function(a,b,c,d){c&&(a=goog.string.unescapeEntities(a));if(d&&a.length>b){d>b&&(d=b);var e=a.length-d;a=a.substring(0,b-d)+"..."+a.substring(e)}else a.length>b&&(d=Math.floor(b/2),e=a.length-d,a=a.substring(0,d+b%2)+"..."+a.substring(e));c&&(a=goog.string.htmlEscape(a));return a};goog.string.specialEscapeChars_={"\x00":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\x0B",'"':'\\"',"\\":"\\\\","\x3c":"\x3c"};goog.string.jsEscapeCache_={"'":"\\'"};
goog.string.quote=function(a){a=String(a);for(var b=['"'],c=0;c<a.length;c++){var d=a.charAt(c),e=d.charCodeAt(0);b[c+1]=goog.string.specialEscapeChars_[d]||(31<e&&127>e?d:goog.string.escapeChar(d))}b.push('"');return b.join("")};goog.string.escapeString=function(a){for(var b=[],c=0;c<a.length;c++)b[c]=goog.string.escapeChar(a.charAt(c));return b.join("")};
goog.string.escapeChar=function(a){if(a in goog.string.jsEscapeCache_)return goog.string.jsEscapeCache_[a];if(a in goog.string.specialEscapeChars_)return goog.string.jsEscapeCache_[a]=goog.string.specialEscapeChars_[a];var b=a.charCodeAt(0);if(31<b&&127>b)var c=a;else{if(256>b){if(c="\\x",16>b||256<b)c+="0"}else c="\\u",4096>b&&(c+="0");c+=b.toString(16).toUpperCase()}return goog.string.jsEscapeCache_[a]=c};goog.string.contains=function(a,b){return-1!=a.indexOf(b)};
goog.string.caseInsensitiveContains=function(a,b){return goog.string.contains(a.toLowerCase(),b.toLowerCase())};goog.string.countOf=function(a,b){return a&&b?a.split(b).length-1:0};goog.string.removeAt=function(a,b,c){var d=a;0<=b&&b<a.length&&0<c&&(d=a.substr(0,b)+a.substr(b+c,a.length-b-c));return d};goog.string.remove=function(a,b){return a.replace(b,"")};goog.string.removeAll=function(a,b){var c=new RegExp(goog.string.regExpEscape(b),"g");return a.replace(c,"")};
goog.string.replaceAll=function(a,b,c){b=new RegExp(goog.string.regExpEscape(b),"g");return a.replace(b,c.replace(/\$/g,"$$$$"))};goog.string.regExpEscape=function(a){return String(a).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};goog.string.repeat=String.prototype.repeat?function(a,b){return a.repeat(b)}:function(a,b){return Array(b+1).join(a)};
goog.string.padNumber=function(a,b,c){a=goog.isDef(c)?a.toFixed(c):String(a);c=a.indexOf(".");-1==c&&(c=a.length);return goog.string.repeat("0",Math.max(0,b-c))+a};goog.string.makeSafe=function(a){return null==a?"":String(a)};goog.string.buildString=function(a){return Array.prototype.join.call(arguments,"")};goog.string.getRandomString=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^goog.now()).toString(36)};
goog.string.compareVersions=function(a,b){for(var c=0,d=goog.string.trim(String(a)).split("."),e=goog.string.trim(String(b)).split("."),f=Math.max(d.length,e.length),g=0;0==c&&g<f;g++){var h=d[g]||"",k=e[g]||"";do{h=/(\d*)(\D*)(.*)/.exec(h)||["","","",""];k=/(\d*)(\D*)(.*)/.exec(k)||["","","",""];if(0==h[0].length&&0==k[0].length)break;var c=0==h[1].length?0:parseInt(h[1],10),l=0==k[1].length?0:parseInt(k[1],10),c=goog.string.compareElements_(c,l)||goog.string.compareElements_(0==h[2].length,0==k[2].length)||
goog.string.compareElements_(h[2],k[2]),h=h[3],k=k[3]}while(0==c)}return c};goog.string.compareElements_=function(a,b){return a<b?-1:a>b?1:0};goog.string.hashCode=function(a){for(var b=0,c=0;c<a.length;++c)b=31*b+a.charCodeAt(c)>>>0;return b};goog.string.uniqueStringCounter_=2147483648*Math.random()|0;goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++};goog.string.toNumber=function(a){var b=Number(a);return 0==b&&goog.string.isEmptyOrWhitespace(a)?NaN:b};
goog.string.isLowerCamelCase=function(a){return/^[a-z]+([A-Z][a-z]*)*$/.test(a)};goog.string.isUpperCamelCase=function(a){return/^([A-Z][a-z]*)+$/.test(a)};goog.string.toCamelCase=function(a){return String(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()})};goog.string.toSelectorCase=function(a){return String(a).replace(/([A-Z])/g,"-$1").toLowerCase()};
goog.string.toTitleCase=function(a,b){var c=goog.isString(b)?goog.string.regExpEscape(b):"\\s";return a.replace(new RegExp("(^"+(c?"|["+c+"]+":"")+")([a-z])","g"),function(a,b,c){return b+c.toUpperCase()})};goog.string.capitalize=function(a){return String(a.charAt(0)).toUpperCase()+String(a.substr(1)).toLowerCase()};goog.string.parseInt=function(a){isFinite(a)&&(a=String(a));return goog.isString(a)?/^\s*-?0x/i.test(a)?parseInt(a,16):parseInt(a,10):NaN};
goog.string.splitLimit=function(a,b,c){a=a.split(b);for(var d=[];0<c&&a.length;)d.push(a.shift()),c--;a.length&&d.push(a.join(b));return d};goog.string.lastComponent=function(a,b){if(b)"string"==typeof b&&(b=[b]);else return a;for(var c=-1,d=0;d<b.length;d++)if(""!=b[d]){var e=a.lastIndexOf(b[d]);e>c&&(c=e)}return-1==c?a:a.slice(c+1)};
goog.string.editDistance=function(a,b){var c=[],d=[];if(a==b)return 0;if(!a.length||!b.length)return Math.max(a.length,b.length);for(var e=0;e<b.length+1;e++)c[e]=e;for(e=0;e<a.length;e++){d[0]=e+1;for(var f=0;f<b.length;f++)d[f+1]=Math.min(d[f]+1,c[f+1]+1,c[f]+Number(a[e]!=b[f]));for(f=0;f<c.length;f++)c[f]=d[f]}return d[b.length]};goog.object={};goog.object.is=function(a,b){return a===b?0!==a||1/a===1/b:a!==a&&b!==b};goog.object.forEach=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)};goog.object.filter=function(a,b,c){var d={},e;for(e in a)b.call(c,a[e],e,a)&&(d[e]=a[e]);return d};goog.object.map=function(a,b,c){var d={},e;for(e in a)d[e]=b.call(c,a[e],e,a);return d};goog.object.some=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return!0;return!1};
goog.object.every=function(a,b,c){for(var d in a)if(!b.call(c,a[d],d,a))return!1;return!0};goog.object.getCount=function(a){var b=0,c;for(c in a)b++;return b};goog.object.getAnyKey=function(a){for(var b in a)return b};goog.object.getAnyValue=function(a){for(var b in a)return a[b]};goog.object.contains=function(a,b){return goog.object.containsValue(a,b)};goog.object.getValues=function(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b};
goog.object.getKeys=function(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b};goog.object.getValueByKeys=function(a,b){for(var c=goog.isArrayLike(b),d=c?b:arguments,c=c?0:1;c<d.length&&(a=a[d[c]],goog.isDef(a));c++);return a};goog.object.containsKey=function(a,b){return null!==a&&b in a};goog.object.containsValue=function(a,b){for(var c in a)if(a[c]==b)return!0;return!1};goog.object.findKey=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return d};
goog.object.findValue=function(a,b,c){return(b=goog.object.findKey(a,b,c))&&a[b]};goog.object.isEmpty=function(a){for(var b in a)return!1;return!0};goog.object.clear=function(a){for(var b in a)delete a[b]};goog.object.remove=function(a,b){var c;(c=b in a)&&delete a[b];return c};goog.object.add=function(a,b,c){if(null!==a&&b in a)throw Error('The object already contains the key "'+b+'"');goog.object.set(a,b,c)};goog.object.get=function(a,b,c){return null!==a&&b in a?a[b]:c};
goog.object.set=function(a,b,c){a[b]=c};goog.object.setIfUndefined=function(a,b,c){return b in a?a[b]:a[b]=c};goog.object.setWithReturnValueIfNotSet=function(a,b,c){if(b in a)return a[b];c=c();return a[b]=c};goog.object.equals=function(a,b){for(var c in a)if(!(c in b)||a[c]!==b[c])return!1;for(c in b)if(!(c in a))return!1;return!0};goog.object.clone=function(a){var b={},c;for(c in a)b[c]=a[c];return b};
goog.object.unsafeClone=function(a){var b=goog.typeOf(a);if("object"==b||"array"==b){if(goog.isFunction(a.clone))return a.clone();var b="array"==b?[]:{},c;for(c in a)b[c]=goog.object.unsafeClone(a[c]);return b}return a};goog.object.transpose=function(a){var b={},c;for(c in a)b[a[c]]=c;return b};goog.object.PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
goog.object.extend=function(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<goog.object.PROTOTYPE_FIELDS_.length;f++)c=goog.object.PROTOTYPE_FIELDS_[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};
goog.object.create=function(a){var b=arguments.length;if(1==b&&goog.isArray(arguments[0]))return goog.object.create.apply(null,arguments[0]);if(b%2)throw Error("Uneven number of arguments");for(var c={},d=0;d<b;d+=2)c[arguments[d]]=arguments[d+1];return c};goog.object.createSet=function(a){var b=arguments.length;if(1==b&&goog.isArray(arguments[0]))return goog.object.createSet.apply(null,arguments[0]);for(var c={},d=0;d<b;d++)c[arguments[d]]=!0;return c};
goog.object.createImmutableView=function(a){var b=a;Object.isFrozen&&!Object.isFrozen(a)&&(b=Object.create(a),Object.freeze(b));return b};goog.object.isImmutableView=function(a){return!!Object.isFrozen&&Object.isFrozen(a)};
goog.object.getAllPropertyNames=function(a,b,c){if(!a)return[];if(!Object.getOwnPropertyNames||!Object.getPrototypeOf)return goog.object.getKeys(a);for(var d={};a&&(a!==Object.prototype||b)&&(a!==Function.prototype||c);){for(var e=Object.getOwnPropertyNames(a),f=0;f<e.length;f++)d[e[f]]=!0;a=Object.getPrototypeOf(a)}return goog.object.getKeys(d)};goog.math={};goog.math.Integer=function(a,b){this.bits_=[];this.sign_=b;for(var c=!0,d=a.length-1;0<=d;d--){var e=a[d]|0;c&&e==b||(this.bits_[d]=e,c=!1)}};goog.math.Integer.IntCache_={};goog.math.Integer.fromInt=function(a){if(-128<=a&&128>a){var b=goog.math.Integer.IntCache_[a];if(b)return b}b=new goog.math.Integer([a|0],0>a?-1:0);-128<=a&&128>a&&(goog.math.Integer.IntCache_[a]=b);return b};
goog.math.Integer.fromNumber=function(a){if(isNaN(a)||!isFinite(a))return goog.math.Integer.ZERO;if(0>a)return goog.math.Integer.fromNumber(-a).negate();for(var b=[],c=1,d=0;a>=c;d++)b[d]=a/c|0,c*=goog.math.Integer.TWO_PWR_32_DBL_;return new goog.math.Integer(b,0)};goog.math.Integer.fromBits=function(a){return new goog.math.Integer(a,a[a.length-1]&-2147483648?-1:0)};
goog.math.Integer.fromString=function(a,b){if(0==a.length)throw Error("number format error: empty string");var c=b||10;if(2>c||36<c)throw Error("radix out of range: "+c);if("-"==a.charAt(0))return goog.math.Integer.fromString(a.substring(1),c).negate();if(0<=a.indexOf("-"))throw Error('number format error: interior "-" character');for(var d=goog.math.Integer.fromNumber(Math.pow(c,8)),e=goog.math.Integer.ZERO,f=0;f<a.length;f+=8){var g=Math.min(8,a.length-f),h=parseInt(a.substring(f,f+g),c);8>g?(g=
goog.math.Integer.fromNumber(Math.pow(c,g)),e=e.multiply(g).add(goog.math.Integer.fromNumber(h))):(e=e.multiply(d),e=e.add(goog.math.Integer.fromNumber(h)))}return e};goog.math.Integer.TWO_PWR_32_DBL_=4294967296;goog.math.Integer.ZERO=goog.math.Integer.fromInt(0);goog.math.Integer.ONE=goog.math.Integer.fromInt(1);goog.math.Integer.TWO_PWR_24_=goog.math.Integer.fromInt(16777216);goog.math.Integer.prototype.toInt=function(){return 0<this.bits_.length?this.bits_[0]:this.sign_};
goog.math.Integer.prototype.toNumber=function(){if(this.isNegative())return-this.negate().toNumber();for(var a=0,b=1,c=0;c<this.bits_.length;c++)a+=this.getBitsUnsigned(c)*b,b*=goog.math.Integer.TWO_PWR_32_DBL_;return a};
goog.math.Integer.prototype.toString=function(a){a=a||10;if(2>a||36<a)throw Error("radix out of range: "+a);if(this.isZero())return"0";if(this.isNegative())return"-"+this.negate().toString(a);for(var b=goog.math.Integer.fromNumber(Math.pow(a,6)),c=this,d="";;){var e=c.divide(b),f=(c.subtract(e.multiply(b)).toInt()>>>0).toString(a),c=e;if(c.isZero())return f+d;for(;6>f.length;)f="0"+f;d=""+f+d}};goog.math.Integer.prototype.getBits=function(a){return 0>a?0:a<this.bits_.length?this.bits_[a]:this.sign_};
goog.math.Integer.prototype.getBitsUnsigned=function(a){a=this.getBits(a);return 0<=a?a:goog.math.Integer.TWO_PWR_32_DBL_+a};goog.math.Integer.prototype.getSign=function(){return this.sign_};goog.math.Integer.prototype.isZero=function(){if(0!=this.sign_)return!1;for(var a=0;a<this.bits_.length;a++)if(0!=this.bits_[a])return!1;return!0};goog.math.Integer.prototype.isNegative=function(){return-1==this.sign_};
goog.math.Integer.prototype.isOdd=function(){return 0==this.bits_.length&&-1==this.sign_||0<this.bits_.length&&0!=(this.bits_[0]&1)};goog.math.Integer.prototype.equals=function(a){if(this.sign_!=a.sign_)return!1;for(var b=Math.max(this.bits_.length,a.bits_.length),c=0;c<b;c++)if(this.getBits(c)!=a.getBits(c))return!1;return!0};goog.math.Integer.prototype.notEquals=function(a){return!this.equals(a)};goog.math.Integer.prototype.greaterThan=function(a){return 0<this.compare(a)};
goog.math.Integer.prototype.greaterThanOrEqual=function(a){return 0<=this.compare(a)};goog.math.Integer.prototype.lessThan=function(a){return 0>this.compare(a)};goog.math.Integer.prototype.lessThanOrEqual=function(a){return 0>=this.compare(a)};goog.math.Integer.prototype.compare=function(a){a=this.subtract(a);return a.isNegative()?-1:a.isZero()?0:1};
goog.math.Integer.prototype.shorten=function(a){var b=a-1>>5;a=(a-1)%32;for(var c=[],d=0;d<b;d++)c[d]=this.getBits(d);var d=31==a?4294967295:(1<<a+1)-1,e=this.getBits(b)&d;if(e&1<<a)return c[b]=e|4294967295-d,new goog.math.Integer(c,-1);c[b]=e;return new goog.math.Integer(c,0)};goog.math.Integer.prototype.negate=function(){return this.not().add(goog.math.Integer.ONE)};
goog.math.Integer.prototype.add=function(a){for(var b=Math.max(this.bits_.length,a.bits_.length),c=[],d=0,e=0;e<=b;e++){var f=this.getBits(e)>>>16,g=this.getBits(e)&65535,h=a.getBits(e)>>>16,k=a.getBits(e)&65535,g=d+g+k,f=(g>>>16)+f+h,d=f>>>16,g=g&65535,f=f&65535;c[e]=f<<16|g}return goog.math.Integer.fromBits(c)};goog.math.Integer.prototype.subtract=function(a){return this.add(a.negate())};
goog.math.Integer.prototype.multiply=function(a){if(this.isZero()||a.isZero())return goog.math.Integer.ZERO;if(this.isNegative())return a.isNegative()?this.negate().multiply(a.negate()):this.negate().multiply(a).negate();if(a.isNegative())return this.multiply(a.negate()).negate();if(this.lessThan(goog.math.Integer.TWO_PWR_24_)&&a.lessThan(goog.math.Integer.TWO_PWR_24_))return goog.math.Integer.fromNumber(this.toNumber()*a.toNumber());for(var b=this.bits_.length+a.bits_.length,c=[],d=0;d<2*b;d++)c[d]=
0;for(d=0;d<this.bits_.length;d++)for(var e=0;e<a.bits_.length;e++){var f=this.getBits(d)>>>16,g=this.getBits(d)&65535,h=a.getBits(e)>>>16,k=a.getBits(e)&65535;c[2*d+2*e]+=g*k;goog.math.Integer.carry16_(c,2*d+2*e);c[2*d+2*e+1]+=f*k;goog.math.Integer.carry16_(c,2*d+2*e+1);c[2*d+2*e+1]+=g*h;goog.math.Integer.carry16_(c,2*d+2*e+1);c[2*d+2*e+2]+=f*h;goog.math.Integer.carry16_(c,2*d+2*e+2)}for(d=0;d<b;d++)c[d]=c[2*d+1]<<16|c[2*d];for(d=b;d<2*b;d++)c[d]=0;return new goog.math.Integer(c,0)};
goog.math.Integer.carry16_=function(a,b){for(;(a[b]&65535)!=a[b];)a[b+1]+=a[b]>>>16,a[b]&=65535,b++};
goog.math.Integer.prototype.slowDivide_=function(a){if(this.isNegative()||a.isNegative())throw Error("slowDivide_ only works with positive integers.");for(var b=goog.math.Integer.ONE;a.lessThanOrEqual(this);)b=b.shiftLeft(1),a=a.shiftLeft(1);var c=b.shiftRight(1),d=a.shiftRight(1);a=a.shiftRight(2);for(b=b.shiftRight(2);!a.isZero();){var e=d.add(a);e.lessThanOrEqual(this)&&(c=c.add(b),d=e);a=a.shiftRight(1);b=b.shiftRight(1)}return c};
goog.math.Integer.prototype.divide=function(a){if(a.isZero())throw Error("division by zero");if(this.isZero())return goog.math.Integer.ZERO;if(this.isNegative())return a.isNegative()?this.negate().divide(a.negate()):this.negate().divide(a).negate();if(a.isNegative())return this.divide(a.negate()).negate();if(30<this.bits_.length)return this.slowDivide_(a);for(var b=goog.math.Integer.ZERO,c=this;c.greaterThanOrEqual(a);){for(var d=Math.max(1,Math.floor(c.toNumber()/a.toNumber())),e=Math.ceil(Math.log(d)/
Math.LN2),e=48>=e?1:Math.pow(2,e-48),f=goog.math.Integer.fromNumber(d),g=f.multiply(a);g.isNegative()||g.greaterThan(c);)d-=e,f=goog.math.Integer.fromNumber(d),g=f.multiply(a);f.isZero()&&(f=goog.math.Integer.ONE);b=b.add(f);c=c.subtract(g)}return b};goog.math.Integer.prototype.modulo=function(a){return this.subtract(this.divide(a).multiply(a))};goog.math.Integer.prototype.not=function(){for(var a=this.bits_.length,b=[],c=0;c<a;c++)b[c]=~this.bits_[c];return new goog.math.Integer(b,~this.sign_)};
goog.math.Integer.prototype.and=function(a){for(var b=Math.max(this.bits_.length,a.bits_.length),c=[],d=0;d<b;d++)c[d]=this.getBits(d)&a.getBits(d);return new goog.math.Integer(c,this.sign_&a.sign_)};goog.math.Integer.prototype.or=function(a){for(var b=Math.max(this.bits_.length,a.bits_.length),c=[],d=0;d<b;d++)c[d]=this.getBits(d)|a.getBits(d);return new goog.math.Integer(c,this.sign_|a.sign_)};
goog.math.Integer.prototype.xor=function(a){for(var b=Math.max(this.bits_.length,a.bits_.length),c=[],d=0;d<b;d++)c[d]=this.getBits(d)^a.getBits(d);return new goog.math.Integer(c,this.sign_^a.sign_)};goog.math.Integer.prototype.shiftLeft=function(a){var b=a>>5;a%=32;for(var c=this.bits_.length+b+(0<a?1:0),d=[],e=0;e<c;e++)d[e]=0<a?this.getBits(e-b)<<a|this.getBits(e-b-1)>>>32-a:this.getBits(e-b);return new goog.math.Integer(d,this.sign_)};
goog.math.Integer.prototype.shiftRight=function(a){var b=a>>5;a%=32;for(var c=this.bits_.length-b,d=[],e=0;e<c;e++)d[e]=0<a?this.getBits(e+b)>>>a|this.getBits(e+b+1)<<32-a:this.getBits(e+b);return new goog.math.Integer(d,this.sign_)};goog.string.StringBuffer=function(a,b){null!=a&&this.append.apply(this,arguments)};goog.string.StringBuffer.prototype.buffer_="";goog.string.StringBuffer.prototype.set=function(a){this.buffer_=""+a};goog.string.StringBuffer.prototype.append=function(a,b,c){this.buffer_+=String(a);if(null!=b)for(var d=1;d<arguments.length;d++)this.buffer_+=arguments[d];return this};goog.string.StringBuffer.prototype.clear=function(){this.buffer_=""};goog.string.StringBuffer.prototype.getLength=function(){return this.buffer_.length};
goog.string.StringBuffer.prototype.toString=function(){return this.buffer_};goog.debug={};goog.debug.Error=function(a){if(Error.captureStackTrace)Error.captureStackTrace(this,goog.debug.Error);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a));this.reportErrorToServer=!0};goog.inherits(goog.debug.Error,Error);goog.debug.Error.prototype.name="CustomError";goog.dom={};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.asserts={};goog.asserts.ENABLE_ASSERTS=goog.DEBUG;goog.asserts.AssertionError=function(a,b){b.unshift(a);goog.debug.Error.call(this,goog.string.subs.apply(null,b));b.shift();this.messagePattern=a};goog.inherits(goog.asserts.AssertionError,goog.debug.Error);goog.asserts.AssertionError.prototype.name="AssertionError";goog.asserts.DEFAULT_ERROR_HANDLER=function(a){throw a;};goog.asserts.errorHandler_=goog.asserts.DEFAULT_ERROR_HANDLER;
goog.asserts.doAssertFailure_=function(a,b,c,d){var e="Assertion failed";if(c){e+=": "+c;var f=d}else a&&(e+=": "+a,f=b);a=new goog.asserts.AssertionError(""+e,f||[]);goog.asserts.errorHandler_(a)};goog.asserts.setErrorHandler=function(a){goog.asserts.ENABLE_ASSERTS&&(goog.asserts.errorHandler_=a)};goog.asserts.assert=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!a&&goog.asserts.doAssertFailure_("",null,b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.fail=function(a,b){goog.asserts.ENABLE_ASSERTS&&goog.asserts.errorHandler_(new goog.asserts.AssertionError("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1)))};goog.asserts.assertNumber=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isNumber(a)&&goog.asserts.doAssertFailure_("Expected number but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.assertString=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isString(a)&&goog.asserts.doAssertFailure_("Expected string but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertFunction=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isFunction(a)&&goog.asserts.doAssertFailure_("Expected function but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.assertObject=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isObject(a)&&goog.asserts.doAssertFailure_("Expected object but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertArray=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isArray(a)&&goog.asserts.doAssertFailure_("Expected array but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.assertBoolean=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isBoolean(a)&&goog.asserts.doAssertFailure_("Expected boolean but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertElement=function(a,b,c){!goog.asserts.ENABLE_ASSERTS||goog.isObject(a)&&a.nodeType==goog.dom.NodeType.ELEMENT||goog.asserts.doAssertFailure_("Expected Element but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.assertInstanceof=function(a,b,c,d){!goog.asserts.ENABLE_ASSERTS||a instanceof b||goog.asserts.doAssertFailure_("Expected instanceof %s but got %s.",[goog.asserts.getType_(b),goog.asserts.getType_(a)],c,Array.prototype.slice.call(arguments,3));return a};goog.asserts.assertObjectPrototypeIsIntact=function(){for(var a in Object.prototype)goog.asserts.fail(a+" should not be enumerable in Object.prototype.")};
goog.asserts.getType_=function(a){return a instanceof Function?a.displayName||a.name||"unknown type name":a instanceof Object?a.constructor.displayName||a.constructor.name||Object.prototype.toString.call(a):null===a?"null":typeof a};goog.array={};goog.NATIVE_ARRAY_PROTOTYPES=goog.TRUSTED_SITE;goog.array.ASSUME_NATIVE_FUNCTIONS=!1;goog.array.peek=function(a){return a[a.length-1]};goog.array.last=goog.array.peek;
goog.array.indexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.indexOf)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(goog.isString(a))return goog.isString(b)&&1==b.length?a.indexOf(b,c):-1;for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};
goog.array.lastIndexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.lastIndexOf)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.lastIndexOf.call(a,b,null==c?a.length-1:c)}:function(a,b,c){c=null==c?a.length-1:c;0>c&&(c=Math.max(0,a.length+c));if(goog.isString(a))return goog.isString(b)&&1==b.length?a.lastIndexOf(b,c):-1;for(;0<=c;c--)if(c in a&&a[c]===b)return c;return-1};
goog.array.forEach=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.forEach)?function(a,b,c){goog.asserts.assert(null!=a.length);Array.prototype.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)};goog.array.forEachRight=function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,d=d-1;0<=d;--d)d in e&&b.call(c,e[d],d,a)};
goog.array.filter=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.filter)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.filter.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=[],f=0,g=goog.isString(a)?a.split(""):a,h=0;h<d;h++)if(h in g){var k=g[h];b.call(c,k,h,a)&&(e[f++]=k)}return e};
goog.array.map=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.map)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=Array(d),f=goog.isString(a)?a.split(""):a,g=0;g<d;g++)g in f&&(e[g]=b.call(c,f[g],g,a));return e};
goog.array.reduce=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduce)?function(a,b,c,d){goog.asserts.assert(null!=a.length);d&&(b=goog.bind(b,d));return Array.prototype.reduce.call(a,b,c)}:function(a,b,c,d){var e=c;goog.array.forEach(a,function(c,g){e=b.call(d,e,c,g,a)});return e};
goog.array.reduceRight=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduceRight)?function(a,b,c,d){goog.asserts.assert(null!=a.length);goog.asserts.assert(null!=b);d&&(b=goog.bind(b,d));return Array.prototype.reduceRight.call(a,b,c)}:function(a,b,c,d){var e=c;goog.array.forEachRight(a,function(c,g){e=b.call(d,e,c,g,a)});return e};
goog.array.some=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.some)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return!0;return!1};
goog.array.every=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.every)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.every.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&!b.call(c,e[f],f,a))return!1;return!0};goog.array.count=function(a,b,c){var d=0;goog.array.forEach(a,function(a,f,g){b.call(c,a,f,g)&&++d},c);return d};
goog.array.find=function(a,b,c){b=goog.array.findIndex(a,b,c);return 0>b?null:goog.isString(a)?a.charAt(b):a[b]};goog.array.findIndex=function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return f;return-1};goog.array.findRight=function(a,b,c){b=goog.array.findIndexRight(a,b,c);return 0>b?null:goog.isString(a)?a.charAt(b):a[b]};
goog.array.findIndexRight=function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,d=d-1;0<=d;d--)if(d in e&&b.call(c,e[d],d,a))return d;return-1};goog.array.contains=function(a,b){return 0<=goog.array.indexOf(a,b)};goog.array.isEmpty=function(a){return 0==a.length};goog.array.clear=function(a){if(!goog.isArray(a))for(var b=a.length-1;0<=b;b--)delete a[b];a.length=0};goog.array.insert=function(a,b){goog.array.contains(a,b)||a.push(b)};
goog.array.insertAt=function(a,b,c){goog.array.splice(a,c,0,b)};goog.array.insertArrayAt=function(a,b,c){goog.partial(goog.array.splice,a,c,0).apply(null,b)};goog.array.insertBefore=function(a,b,c){var d;2==arguments.length||0>(d=goog.array.indexOf(a,c))?a.push(b):goog.array.insertAt(a,b,d)};goog.array.remove=function(a,b){var c=goog.array.indexOf(a,b),d;(d=0<=c)&&goog.array.removeAt(a,c);return d};
goog.array.removeLast=function(a,b){var c=goog.array.lastIndexOf(a,b);return 0<=c?(goog.array.removeAt(a,c),!0):!1};goog.array.removeAt=function(a,b){goog.asserts.assert(null!=a.length);return 1==Array.prototype.splice.call(a,b,1).length};goog.array.removeIf=function(a,b,c){b=goog.array.findIndex(a,b,c);return 0<=b?(goog.array.removeAt(a,b),!0):!1};goog.array.removeAllIf=function(a,b,c){var d=0;goog.array.forEachRight(a,function(e,f){b.call(c,e,f,a)&&goog.array.removeAt(a,f)&&d++});return d};
goog.array.concat=function(a){return Array.prototype.concat.apply([],arguments)};goog.array.join=function(a){return Array.prototype.concat.apply([],arguments)};goog.array.toArray=function(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]};goog.array.clone=goog.array.toArray;goog.array.extend=function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(goog.isArrayLike(d)){var e=a.length||0,f=d.length||0;a.length=e+f;for(var g=0;g<f;g++)a[e+g]=d[g]}else a.push(d)}};
goog.array.splice=function(a,b,c,d){goog.asserts.assert(null!=a.length);return Array.prototype.splice.apply(a,goog.array.slice(arguments,1))};goog.array.slice=function(a,b,c){goog.asserts.assert(null!=a.length);return 2>=arguments.length?Array.prototype.slice.call(a,b):Array.prototype.slice.call(a,b,c)};
goog.array.removeDuplicates=function(a,b,c){b=b||a;var d=function(a){return goog.isObject(a)?"o"+goog.getUid(a):(typeof a).charAt(0)+a};c=c||d;for(var d={},e=0,f=0;f<a.length;){var g=a[f++],h=c(g);Object.prototype.hasOwnProperty.call(d,h)||(d[h]=!0,b[e++]=g)}b.length=e};goog.array.binarySearch=function(a,b,c){return goog.array.binarySearch_(a,c||goog.array.defaultCompare,!1,b)};goog.array.binarySelect=function(a,b,c){return goog.array.binarySearch_(a,b,!0,void 0,c)};
goog.array.binarySearch_=function(a,b,c,d,e){for(var f=0,g=a.length,h;f<g;){var k=f+g>>1;var l=c?b.call(e,a[k],k,a):b(d,a[k]);0<l?f=k+1:(g=k,h=!l)}return h?f:~f};goog.array.sort=function(a,b){a.sort(b||goog.array.defaultCompare)};goog.array.stableSort=function(a,b){for(var c=Array(a.length),d=0;d<a.length;d++)c[d]={index:d,value:a[d]};var e=b||goog.array.defaultCompare;goog.array.sort(c,function(a,b){return e(a.value,b.value)||a.index-b.index});for(d=0;d<a.length;d++)a[d]=c[d].value};
goog.array.sortByKey=function(a,b,c){var d=c||goog.array.defaultCompare;goog.array.sort(a,function(a,c){return d(b(a),b(c))})};goog.array.sortObjectsByKey=function(a,b,c){goog.array.sortByKey(a,function(a){return a[b]},c)};goog.array.isSorted=function(a,b,c){b=b||goog.array.defaultCompare;for(var d=1;d<a.length;d++){var e=b(a[d-1],a[d]);if(0<e||0==e&&c)return!1}return!0};
goog.array.equals=function(a,b,c){if(!goog.isArrayLike(a)||!goog.isArrayLike(b)||a.length!=b.length)return!1;var d=a.length;c=c||goog.array.defaultCompareEquality;for(var e=0;e<d;e++)if(!c(a[e],b[e]))return!1;return!0};goog.array.compare3=function(a,b,c){c=c||goog.array.defaultCompare;for(var d=Math.min(a.length,b.length),e=0;e<d;e++){var f=c(a[e],b[e]);if(0!=f)return f}return goog.array.defaultCompare(a.length,b.length)};goog.array.defaultCompare=function(a,b){return a>b?1:a<b?-1:0};
goog.array.inverseDefaultCompare=function(a,b){return-goog.array.defaultCompare(a,b)};goog.array.defaultCompareEquality=function(a,b){return a===b};goog.array.binaryInsert=function(a,b,c){c=goog.array.binarySearch(a,b,c);return 0>c?(goog.array.insertAt(a,b,-(c+1)),!0):!1};goog.array.binaryRemove=function(a,b,c){b=goog.array.binarySearch(a,b,c);return 0<=b?goog.array.removeAt(a,b):!1};
goog.array.bucket=function(a,b,c){for(var d={},e=0;e<a.length;e++){var f=a[e],g=b.call(c,f,e,a);goog.isDef(g)&&(d[g]||(d[g]=[])).push(f)}return d};goog.array.toObject=function(a,b,c){var d={};goog.array.forEach(a,function(e,f){d[b.call(c,e,f,a)]=e});return d};goog.array.range=function(a,b,c){var d=[],e=0,f=a;c=c||1;void 0!==b&&(e=a,f=b);if(0>c*(f-e))return[];if(0<c)for(a=e;a<f;a+=c)d.push(a);else for(a=e;a>f;a+=c)d.push(a);return d};
goog.array.repeat=function(a,b){for(var c=[],d=0;d<b;d++)c[d]=a;return c};goog.array.flatten=function(a){for(var b=[],c=0;c<arguments.length;c++){var d=arguments[c];if(goog.isArray(d))for(var e=0;e<d.length;e+=8192)for(var f=goog.array.slice(d,e,e+8192),f=goog.array.flatten.apply(null,f),g=0;g<f.length;g++)b.push(f[g]);else b.push(d)}return b};
goog.array.rotate=function(a,b){goog.asserts.assert(null!=a.length);a.length&&(b%=a.length,0<b?Array.prototype.unshift.apply(a,a.splice(-b,b)):0>b&&Array.prototype.push.apply(a,a.splice(0,-b)));return a};goog.array.moveItem=function(a,b,c){goog.asserts.assert(0<=b&&b<a.length);goog.asserts.assert(0<=c&&c<a.length);b=Array.prototype.splice.call(a,b,1);Array.prototype.splice.call(a,c,0,b[0])};
goog.array.zip=function(a){if(!arguments.length)return[];for(var b=[],c=arguments[0].length,d=1;d<arguments.length;d++)arguments[d].length<c&&(c=arguments[d].length);for(d=0;d<c;d++){for(var e=[],f=0;f<arguments.length;f++)e.push(arguments[f][d]);b.push(e)}return b};goog.array.shuffle=function(a,b){for(var c=b||Math.random,d=a.length-1;0<d;d--){var e=Math.floor(c()*(d+1)),f=a[d];a[d]=a[e];a[e]=f}};goog.array.copyByIndex=function(a,b){var c=[];goog.array.forEach(b,function(b){c.push(a[b])});return c};
goog.array.concatMap=function(a,b,c){return goog.array.concat.apply([],goog.array.map(a,b,c))};goog.reflect={};goog.reflect.object=function(a,b){return b};goog.reflect.objectProperty=function(a,b){return a};goog.reflect.sinkValue=function(a){goog.reflect.sinkValue[" "](a);return a};goog.reflect.sinkValue[" "]=goog.nullFunction;goog.reflect.canAccessProperty=function(a,b){try{return goog.reflect.sinkValue(a[b]),!0}catch(c){}return!1};goog.reflect.cache=function(a,b,c,d){d=d?d(b):b;return Object.prototype.hasOwnProperty.call(a,d)?a[d]:a[d]=c(b)};goog.math.Long=function(a,b){this.low_=a|0;this.high_=b|0};goog.math.Long.IntCache_={};goog.math.Long.valueCache_={};goog.math.Long.getCachedIntValue_=function(a){return goog.reflect.cache(goog.math.Long.IntCache_,a,function(a){return new goog.math.Long(a,0>a?-1:0)})};goog.math.Long.MAX_VALUE_FOR_RADIX_="  111111111111111111111111111111111111111111111111111111111111111 2021110011022210012102010021220101220221 13333333333333333333333333333333 1104332401304422434310311212 1540241003031030222122211 22341010611245052052300 777777777777777777777 67404283172107811827 9223372036854775807 1728002635214590697 41a792678515120367 10b269549075433c37 4340724c6c71dc7a7 160e2ad3246366807 7fffffffffffffff 33d3d8307b214008 16agh595df825fa7 ba643dci0ffeehh 5cbfjia3fh26ja7 2heiciiie82dh97 1adaibb21dckfa7 i6k448cf4192c2 acd772jnc9l0l7 64ie1focnn5g77 3igoecjbmca687 27c48l5b37oaop 1bk39f3ah3dmq7 q1se8f0m04isb hajppbc1fc207 bm03i95hia437 7vvvvvvvvvvvv 5hg4ck9jd4u37 3tdtk1v8j6tpp 2pijmikexrxp7 1y2p0ij32e8e7".split(" ");
goog.math.Long.MIN_VALUE_FOR_RADIX_="  -1000000000000000000000000000000000000000000000000000000000000000 -2021110011022210012102010021220101220222 -20000000000000000000000000000000 -1104332401304422434310311213 -1540241003031030222122212 -22341010611245052052301 -1000000000000000000000 -67404283172107811828 -9223372036854775808 -1728002635214590698 -41a792678515120368 -10b269549075433c38 -4340724c6c71dc7a8 -160e2ad3246366808 -8000000000000000 -33d3d8307b214009 -16agh595df825fa8 -ba643dci0ffeehi -5cbfjia3fh26ja8 -2heiciiie82dh98 -1adaibb21dckfa8 -i6k448cf4192c3 -acd772jnc9l0l8 -64ie1focnn5g78 -3igoecjbmca688 -27c48l5b37oaoq -1bk39f3ah3dmq8 -q1se8f0m04isc -hajppbc1fc208 -bm03i95hia438 -8000000000000 -5hg4ck9jd4u38 -3tdtk1v8j6tpq -2pijmikexrxp8 -1y2p0ij32e8e8".split(" ");
goog.math.Long.fromInt=function(a){var b=a|0;goog.asserts.assert(a===b,"value should be a 32-bit integer");return-128<=b&&128>b?goog.math.Long.getCachedIntValue_(b):new goog.math.Long(b,0>b?-1:0)};
goog.math.Long.fromNumber=function(a){return isNaN(a)?goog.math.Long.getZero():a<=-goog.math.Long.TWO_PWR_63_DBL_?goog.math.Long.getMinValue():a+1>=goog.math.Long.TWO_PWR_63_DBL_?goog.math.Long.getMaxValue():0>a?goog.math.Long.fromNumber(-a).negate():new goog.math.Long(a%goog.math.Long.TWO_PWR_32_DBL_|0,a/goog.math.Long.TWO_PWR_32_DBL_|0)};goog.math.Long.fromBits=function(a,b){return new goog.math.Long(a,b)};
goog.math.Long.fromString=function(a,b){if(0==a.length)throw Error("number format error: empty string");var c=b||10;if(2>c||36<c)throw Error("radix out of range: "+c);if("-"==a.charAt(0))return goog.math.Long.fromString(a.substring(1),c).negate();if(0<=a.indexOf("-"))throw Error('number format error: interior "-" character: '+a);for(var d=goog.math.Long.fromNumber(Math.pow(c,8)),e=goog.math.Long.getZero(),f=0;f<a.length;f+=8){var g=Math.min(8,a.length-f),h=parseInt(a.substring(f,f+g),c);8>g?(g=goog.math.Long.fromNumber(Math.pow(c,
g)),e=e.multiply(g).add(goog.math.Long.fromNumber(h))):(e=e.multiply(d),e=e.add(goog.math.Long.fromNumber(h)))}return e};goog.math.Long.isStringInRange=function(a,b){var c=b||10;if(2>c||36<c)throw Error("radix out of range: "+c);c="-"==a.charAt(0)?goog.math.Long.MIN_VALUE_FOR_RADIX_[c]:goog.math.Long.MAX_VALUE_FOR_RADIX_[c];return a.length<c.length?!0:a.length==c.length&&a<=c?!0:!1};goog.math.Long.TWO_PWR_16_DBL_=65536;goog.math.Long.TWO_PWR_32_DBL_=goog.math.Long.TWO_PWR_16_DBL_*goog.math.Long.TWO_PWR_16_DBL_;
goog.math.Long.TWO_PWR_64_DBL_=goog.math.Long.TWO_PWR_32_DBL_*goog.math.Long.TWO_PWR_32_DBL_;goog.math.Long.TWO_PWR_63_DBL_=goog.math.Long.TWO_PWR_64_DBL_/2;goog.math.Long.getZero=function(){return goog.math.Long.getCachedIntValue_(0)};goog.math.Long.getOne=function(){return goog.math.Long.getCachedIntValue_(1)};goog.math.Long.getNegOne=function(){return goog.math.Long.getCachedIntValue_(-1)};
goog.math.Long.getMaxValue=function(){return goog.reflect.cache(goog.math.Long.valueCache_,goog.math.Long.ValueCacheId_.MAX_VALUE,function(){return goog.math.Long.fromBits(-1,2147483647)})};goog.math.Long.getMinValue=function(){return goog.reflect.cache(goog.math.Long.valueCache_,goog.math.Long.ValueCacheId_.MIN_VALUE,function(){return goog.math.Long.fromBits(0,-2147483648)})};
goog.math.Long.getTwoPwr24=function(){return goog.reflect.cache(goog.math.Long.valueCache_,goog.math.Long.ValueCacheId_.TWO_PWR_24,function(){return goog.math.Long.fromInt(16777216)})};goog.math.Long.prototype.toInt=function(){return this.low_};goog.math.Long.prototype.toNumber=function(){return this.high_*goog.math.Long.TWO_PWR_32_DBL_+this.getLowBitsUnsigned()};
goog.math.Long.prototype.toString=function(a){a=a||10;if(2>a||36<a)throw Error("radix out of range: "+a);if(this.isZero())return"0";if(this.isNegative()){if(this.equals(goog.math.Long.getMinValue())){var b=goog.math.Long.fromNumber(a);var c=this.div(b);b=c.multiply(b).subtract(this);return c.toString(a)+b.toInt().toString(a)}return"-"+this.negate().toString(a)}c=goog.math.Long.fromNumber(Math.pow(a,6));b=this;for(var d="";;){var e=b.div(c),f=(b.subtract(e.multiply(c)).toInt()>>>0).toString(a);b=e;
if(b.isZero())return f+d;for(;6>f.length;)f="0"+f;d=""+f+d}};goog.math.Long.prototype.getHighBits=function(){return this.high_};goog.math.Long.prototype.getLowBits=function(){return this.low_};goog.math.Long.prototype.getLowBitsUnsigned=function(){return 0<=this.low_?this.low_:goog.math.Long.TWO_PWR_32_DBL_+this.low_};
goog.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(goog.math.Long.getMinValue())?64:this.negate().getNumBitsAbs();for(var a=0!=this.high_?this.high_:this.low_,b=31;0<b&&0==(a&1<<b);b--);return 0!=this.high_?b+33:b+1};goog.math.Long.prototype.isZero=function(){return 0==this.high_&&0==this.low_};goog.math.Long.prototype.isNegative=function(){return 0>this.high_};goog.math.Long.prototype.isOdd=function(){return 1==(this.low_&1)};
goog.math.Long.prototype.equals=function(a){return this.high_==a.high_&&this.low_==a.low_};goog.math.Long.prototype.notEquals=function(a){return this.high_!=a.high_||this.low_!=a.low_};goog.math.Long.prototype.lessThan=function(a){return 0>this.compare(a)};goog.math.Long.prototype.lessThanOrEqual=function(a){return 0>=this.compare(a)};goog.math.Long.prototype.greaterThan=function(a){return 0<this.compare(a)};goog.math.Long.prototype.greaterThanOrEqual=function(a){return 0<=this.compare(a)};
goog.math.Long.prototype.compare=function(a){if(this.equals(a))return 0;var b=this.isNegative(),c=a.isNegative();return b&&!c?-1:!b&&c?1:this.subtract(a).isNegative()?-1:1};goog.math.Long.prototype.negate=function(){return this.equals(goog.math.Long.getMinValue())?goog.math.Long.getMinValue():this.not().add(goog.math.Long.getOne())};
goog.math.Long.prototype.add=function(a){var b=this.high_>>>16,c=this.high_&65535,d=this.low_>>>16,e=a.high_>>>16,f=a.high_&65535,g=a.low_>>>16;a=0+((this.low_&65535)+(a.low_&65535));g=0+(a>>>16)+(d+g);d=0+(g>>>16);d+=c+f;b=0+(d>>>16)+(b+e)&65535;return goog.math.Long.fromBits((g&65535)<<16|a&65535,b<<16|d&65535)};goog.math.Long.prototype.subtract=function(a){return this.add(a.negate())};
goog.math.Long.prototype.multiply=function(a){if(this.isZero()||a.isZero())return goog.math.Long.getZero();if(this.equals(goog.math.Long.getMinValue()))return a.isOdd()?goog.math.Long.getMinValue():goog.math.Long.getZero();if(a.equals(goog.math.Long.getMinValue()))return this.isOdd()?goog.math.Long.getMinValue():goog.math.Long.getZero();if(this.isNegative())return a.isNegative()?this.negate().multiply(a.negate()):this.negate().multiply(a).negate();if(a.isNegative())return this.multiply(a.negate()).negate();
if(this.lessThan(goog.math.Long.getTwoPwr24())&&a.lessThan(goog.math.Long.getTwoPwr24()))return goog.math.Long.fromNumber(this.toNumber()*a.toNumber());var b=this.high_>>>16,c=this.high_&65535,d=this.low_>>>16,e=this.low_&65535,f=a.high_>>>16,g=a.high_&65535,h=a.low_>>>16;a=a.low_&65535;var k=0+e*a;var l=0+(k>>>16)+d*a;var m=0+(l>>>16);l=(l&65535)+e*h;m+=l>>>16;m+=c*a;var n=0+(m>>>16);m=(m&65535)+d*h;n+=m>>>16;m=(m&65535)+e*g;n=n+(m>>>16)+(b*a+c*h+d*g+e*f)&65535;return goog.math.Long.fromBits((l&
65535)<<16|k&65535,n<<16|m&65535)};
goog.math.Long.prototype.div=function(a){if(a.isZero())throw Error("division by zero");if(this.isZero())return goog.math.Long.getZero();if(this.equals(goog.math.Long.getMinValue())){if(a.equals(goog.math.Long.getOne())||a.equals(goog.math.Long.getNegOne()))return goog.math.Long.getMinValue();if(a.equals(goog.math.Long.getMinValue()))return goog.math.Long.getOne();var b=this.shiftRight(1).div(a).shiftLeft(1);if(b.equals(goog.math.Long.getZero()))return a.isNegative()?goog.math.Long.getOne():goog.math.Long.getNegOne();
var c=this.subtract(a.multiply(b));return b.add(c.div(a))}if(a.equals(goog.math.Long.getMinValue()))return goog.math.Long.getZero();if(this.isNegative())return a.isNegative()?this.negate().div(a.negate()):this.negate().div(a).negate();if(a.isNegative())return this.div(a.negate()).negate();var d=goog.math.Long.getZero();for(c=this;c.greaterThanOrEqual(a);){b=Math.max(1,Math.floor(c.toNumber()/a.toNumber()));for(var e=Math.ceil(Math.log(b)/Math.LN2),e=48>=e?1:Math.pow(2,e-48),f=goog.math.Long.fromNumber(b),
g=f.multiply(a);g.isNegative()||g.greaterThan(c);)b-=e,f=goog.math.Long.fromNumber(b),g=f.multiply(a);f.isZero()&&(f=goog.math.Long.getOne());d=d.add(f);c=c.subtract(g)}return d};goog.math.Long.prototype.modulo=function(a){return this.subtract(this.div(a).multiply(a))};goog.math.Long.prototype.not=function(){return goog.math.Long.fromBits(~this.low_,~this.high_)};goog.math.Long.prototype.and=function(a){return goog.math.Long.fromBits(this.low_&a.low_,this.high_&a.high_)};
goog.math.Long.prototype.or=function(a){return goog.math.Long.fromBits(this.low_|a.low_,this.high_|a.high_)};goog.math.Long.prototype.xor=function(a){return goog.math.Long.fromBits(this.low_^a.low_,this.high_^a.high_)};goog.math.Long.prototype.shiftLeft=function(a){a&=63;if(0==a)return this;var b=this.low_;return 32>a?goog.math.Long.fromBits(b<<a,this.high_<<a|b>>>32-a):goog.math.Long.fromBits(0,b<<a-32)};
goog.math.Long.prototype.shiftRight=function(a){a&=63;if(0==a)return this;var b=this.high_;return 32>a?goog.math.Long.fromBits(this.low_>>>a|b<<32-a,b>>a):goog.math.Long.fromBits(b>>a-32,0<=b?0:-1)};goog.math.Long.prototype.shiftRightUnsigned=function(a){a&=63;if(0==a)return this;var b=this.high_;return 32>a?goog.math.Long.fromBits(this.low_>>>a|b<<32-a,b>>>a):32==a?goog.math.Long.fromBits(b,0):goog.math.Long.fromBits(b>>>a-32,0)};goog.math.Long.ValueCacheId_={MAX_VALUE:1,MIN_VALUE:2,TWO_PWR_24:6};var cljs={core:{}};cljs.core._STAR_clojurescript_version_STAR_="1.9.562";cljs.core._STAR_unchecked_if_STAR_=!1;cljs.core._STAR_warn_on_infer_STAR_=!1;"undefined"===typeof cljs.core.PROTOCOL_SENTINEL&&(cljs.core.PROTOCOL_SENTINEL={});cljs.core._STAR_target_STAR_="default";cljs.core._STAR_ns_STAR_=null;cljs.core._STAR_out_STAR_=null;cljs.core._STAR_assert_STAR_=!0;
"undefined"===typeof cljs.core._STAR_print_fn_STAR_&&(cljs.core._STAR_print_fn_STAR_=function(a){throw Error("No *print-fn* fn set for evaluation environment");});"undefined"===typeof cljs.core._STAR_print_err_fn_STAR_&&(cljs.core._STAR_print_err_fn_STAR_=function(a){throw Error("No *print-err-fn* fn set for evaluation environment");});cljs.core.set_print_fn_BANG_=function(a){return cljs.core._STAR_print_fn_STAR_=a};
cljs.core.set_print_err_fn_BANG_=function(a){return cljs.core._STAR_print_err_fn_STAR_=a};cljs.core._STAR_flush_on_newline_STAR_=!0;cljs.core._STAR_print_newline_STAR_=!0;cljs.core._STAR_print_readably_STAR_=!0;cljs.core._STAR_print_meta_STAR_=!1;cljs.core._STAR_print_dup_STAR_=!1;cljs.core._STAR_print_namespace_maps_STAR_=!1;cljs.core._STAR_print_length_STAR_=null;cljs.core._STAR_print_level_STAR_=null;"undefined"===typeof cljs.core._STAR_loaded_libs_STAR_&&(cljs.core._STAR_loaded_libs_STAR_=null);
cljs.core.pr_opts=function(){return new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"flush-on-newline","flush-on-newline",-151457939),cljs.core._STAR_flush_on_newline_STAR_,new cljs.core.Keyword(null,"readably","readably",1129599760),cljs.core._STAR_print_readably_STAR_,new cljs.core.Keyword(null,"meta","meta",1499536964),cljs.core._STAR_print_meta_STAR_,new cljs.core.Keyword(null,"dup","dup",556298533),cljs.core._STAR_print_dup_STAR_,new cljs.core.Keyword(null,"print-length",
"print-length",1931866356),cljs.core._STAR_print_length_STAR_],null)};
cljs.core.enable_console_print_BANG_=function(){cljs.core._STAR_print_newline_STAR_=!1;cljs.core._STAR_print_fn_STAR_=function(){var a=function(a){return console.log.apply(console,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1?cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(a):cljs.core.into_array.call(null,a))},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,
c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();cljs.core._STAR_print_err_fn_STAR_=function(){var a=function(a){return console.error.apply(console,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1?cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(a):cljs.core.into_array.call(null,a))},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+
0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();return null};cljs.core.truth_=function(a){return null!=a&&!1!==a};cljs.core.not_native=null;cljs.core.identical_QMARK_=function(a,b){return a===b};cljs.core.nil_QMARK_=function(a){return null==a};
cljs.core.array_QMARK_=function(a){return"nodejs"===cljs.core._STAR_target_STAR_?Array.isArray(a):a instanceof Array};cljs.core.number_QMARK_=function(a){return"number"===typeof a};cljs.core.not=function(a){return null==a?!0:!1===a?!0:!1};cljs.core.some_QMARK_=function(a){return null!=a};cljs.core.object_QMARK_=function(a){return null!=a?a.constructor===Object:!1};cljs.core.string_QMARK_=function(a){return goog.isString(a)};cljs.core.char_QMARK_=function(a){return"string"===typeof a&&1===a.length};
cljs.core.any_QMARK_=function(a){return!0};cljs.core.native_satisfies_QMARK_=function(a,b){return a[goog.typeOf(null==b?null:b)]?!0:a._?!0:!1};cljs.core.is_proto_=function(a){return a.constructor.prototype===a};cljs.core._STAR_main_cli_fn_STAR_=null;cljs.core.type=function(a){return null==a?null:a.constructor};
cljs.core.missing_protocol=function(a,b){var c=cljs.core.type(b),c=cljs.core.truth_(cljs.core.truth_(c)?c.cljs$lang$type:c)?c.cljs$lang$ctorStr:goog.typeOf(b);return Error(["No protocol method ",a," defined for type ",c,": ",b].join(""))};cljs.core.type__GT_str=function(a){var b=a.cljs$lang$ctorStr;return cljs.core.truth_(b)?b:""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)};cljs.core.load_file=function(a){return cljs.core.truth_(COMPILED)?null:goog.nodeGlobalRequire(a)};
"undefined"!==typeof Symbol&&"function"===goog.typeOf(Symbol)?cljs.core.ITER_SYMBOL=Symbol.iterator:cljs.core.ITER_SYMBOL="@@iterator";cljs.core.CHAR_MAP={"]":"_RBRACK_","'":"_SINGLEQUOTE_","\x3d":"_EQ_",'"':"_DOUBLEQUOTE_","!":"_BANG_","*":"_STAR_","%":"_PERCENT_","|":"_BAR_","~":"_TILDE_","/":"_SLASH_","\\":"_BSLASH_","-":"_","?":"_QMARK_","\x26":"_AMPERSAND_",":":"_COLON_","\x3c":"_LT_","{":"_LBRACE_","}":"_RBRACE_","[":"_LBRACK_","#":"_SHARP_","^":"_CARET_","+":"_PLUS_","@":"_CIRCA_","\x3e":"_GT_"};
cljs.core.DEMUNGE_MAP={_RBRACE_:"}",_COLON_:":",_BANG_:"!",_QMARK_:"?",_BSLASH_:"\\\\",_SLASH_:"/",_PERCENT_:"%",_PLUS_:"+",_SHARP_:"#",_LBRACE_:"{",_BAR_:"|",_LBRACK_:"[",_EQ_:"\x3d",_:"-",_TILDE_:"~",_RBRACK_:"]",_GT_:"\x3e",_SINGLEQUOTE_:"'",_CIRCA_:"@",_AMPERSAND_:"\x26",_DOUBLEQUOTE_:'\\"',_CARET_:"^",_LT_:"\x3c",_STAR_:"*"};cljs.core.DEMUNGE_PATTERN=null;
cljs.core.system_time=function(){if("undefined"!==typeof performance&&null!=performance.now)return performance.now();if("undefined"!==typeof process&&null!=process.hrtime){var a=process.hrtime();return(1E9*a[0]+a[1])/1E6}return(new Date).getTime()};
cljs.core.make_array=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.make_array.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.make_array.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.make_array.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core.make_array.cljs$core$IFn$_invoke$arity$1=function(a){return Array(a)};cljs.core.make_array.cljs$core$IFn$_invoke$arity$2=function(a,b){return Array(b)};cljs.core.make_array.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){a=Array(b);b=a.length;for(var d=0;;)if(d<b)a[d]=cljs.core.apply.cljs$core$IFn$_invoke$arity$3?cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.make_array,null,c):cljs.core.apply.call(null,cljs.core.make_array,null,c),d+=1;else break;return a};
cljs.core.make_array.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.make_array.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.make_array.cljs$lang$maxFixedArity=2;cljs.core.aclone=function(a){for(var b=a.length,c=Array(b),d=0;;)if(d<b)c[d]=a[d],d+=1;else break;return c};cljs.core.array=function(a){for(var b=Array(arguments.length),c=0;;)if(c<b.length)b[c]=arguments[c],c+=1;else return b};
cljs.core.aget=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.aget.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.aget.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core.aget.cljs$core$IFn$_invoke$arity$2=function(a,b){return a[b]};
cljs.core.aget.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){var d=cljs.core.aget;a=a[b];return cljs.core.apply.cljs$core$IFn$_invoke$arity$3?cljs.core.apply.cljs$core$IFn$_invoke$arity$3(d,a,c):cljs.core.apply.call(null,d,a,c)};cljs.core.aget.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.aget.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.aget.cljs$lang$maxFixedArity=2;
cljs.core.aset=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return cljs.core.aset.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:return b=new cljs.core.IndexedSeq(b.slice(3),0,null),cljs.core.aset.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};cljs.core.aset.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return a[b]=c};
cljs.core.aset.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){var e=cljs.core.aset;a=a[b];return cljs.core.apply.cljs$core$IFn$_invoke$arity$4?cljs.core.apply.cljs$core$IFn$_invoke$arity$4(e,a,c,d):cljs.core.apply.call(null,e,a,c,d)};cljs.core.aset.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c),c=cljs.core.first(d),d=cljs.core.next(d);return cljs.core.aset.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};
cljs.core.aset.cljs$lang$maxFixedArity=3;cljs.core.alength=function(a){return a.length};
cljs.core.into_array=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.into_array.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.into_array.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.into_array.cljs$core$IFn$_invoke$arity$2(null,a)};cljs.core.into_array.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=function(a,b){a.push(b);return a},d=[];return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3?cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(c,d,b):cljs.core.reduce.call(null,c,d,b)};cljs.core.into_array.cljs$lang$maxFixedArity=2;
cljs.core.js_invoke=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return cljs.core.js_invoke.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};cljs.core.js_invoke.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return a[b].apply(a,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(c))};cljs.core.js_invoke.cljs$lang$maxFixedArity=2;
cljs.core.js_invoke.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.js_invoke.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.Fn=function(){};cljs.core.IFn=function(){};
cljs.core._invoke=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);
case 5:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);case 6:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$6(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);case 7:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$7(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6]);case 8:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$8(arguments[0],arguments[1],
arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7]);case 9:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$9(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8]);case 10:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$10(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9]);case 11:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$11(arguments[0],
arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9],arguments[10]);case 12:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$12(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9],arguments[10],arguments[11]);case 13:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$13(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],
arguments[7],arguments[8],arguments[9],arguments[10],arguments[11],arguments[12]);case 14:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$14(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9],arguments[10],arguments[11],arguments[12],arguments[13]);case 15:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$15(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],
arguments[8],arguments[9],arguments[10],arguments[11],arguments[12],arguments[13],arguments[14]);case 16:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$16(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9],arguments[10],arguments[11],arguments[12],arguments[13],arguments[14],arguments[15]);case 17:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$17(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],
arguments[5],arguments[6],arguments[7],arguments[8],arguments[9],arguments[10],arguments[11],arguments[12],arguments[13],arguments[14],arguments[15],arguments[16]);case 18:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$18(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9],arguments[10],arguments[11],arguments[12],arguments[13],arguments[14],arguments[15],arguments[16],arguments[17]);case 19:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$19(arguments[0],
arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9],arguments[10],arguments[11],arguments[12],arguments[13],arguments[14],arguments[15],arguments[16],arguments[17],arguments[18]);case 20:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$20(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9],arguments[10],arguments[11],arguments[12],arguments[13],arguments[14],
arguments[15],arguments[16],arguments[17],arguments[18],arguments[19]);case 21:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$21(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9],arguments[10],arguments[11],arguments[12],arguments[13],arguments[14],arguments[15],arguments[16],arguments[17],arguments[18],arguments[19],arguments[20]);case 22:return cljs.core._invoke.cljs$core$IFn$_invoke$arity$22(arguments[0],arguments[1],
arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9],arguments[10],arguments[11],arguments[12],arguments[13],arguments[14],arguments[15],arguments[16],arguments[17],arguments[18],arguments[19],arguments[20],arguments[21]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$1=function(a){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$1)return a.cljs$core$IFn$_invoke$arity$1(a);var b=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._invoke._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$2=function(a,b){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$2)return a.cljs$core$IFn$_invoke$arity$2(a,b);var c=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._invoke._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$3)return a.cljs$core$IFn$_invoke$arity$3(a,b,c);var d=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._invoke._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("IFn.-invoke",a);
};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$4)return a.cljs$core$IFn$_invoke$arity$4(a,b,c,d);var e=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=e)return e.cljs$core$IFn$_invoke$arity$4?e.cljs$core$IFn$_invoke$arity$4(a,b,c,d):e.call(null,a,b,c,d);e=cljs.core._invoke._;if(null!=e)return e.cljs$core$IFn$_invoke$arity$4?e.cljs$core$IFn$_invoke$arity$4(a,b,c,d):e.call(null,a,b,c,d);throw cljs.core.missing_protocol("IFn.-invoke",a);
};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$5)return a.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e);var f=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=f)return f.cljs$core$IFn$_invoke$arity$5?f.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e):f.call(null,a,b,c,d,e);f=cljs.core._invoke._;if(null!=f)return f.cljs$core$IFn$_invoke$arity$5?f.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e):f.call(null,a,b,c,d,e);throw cljs.core.missing_protocol("IFn.-invoke",a);
};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$6)return a.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f);var g=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=g)return g.cljs$core$IFn$_invoke$arity$6?g.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f):g.call(null,a,b,c,d,e,f);g=cljs.core._invoke._;if(null!=g)return g.cljs$core$IFn$_invoke$arity$6?g.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f):g.call(null,a,b,c,d,e,f);throw cljs.core.missing_protocol("IFn.-invoke",a);
};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$7=function(a,b,c,d,e,f,g){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$7)return a.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g);var h=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=h)return h.cljs$core$IFn$_invoke$arity$7?h.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g):h.call(null,a,b,c,d,e,f,g);h=cljs.core._invoke._;if(null!=h)return h.cljs$core$IFn$_invoke$arity$7?h.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g):h.call(null,a,b,c,d,e,f,g);throw cljs.core.missing_protocol("IFn.-invoke",
a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$8=function(a,b,c,d,e,f,g,h){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$8)return a.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h);var k=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=k)return k.cljs$core$IFn$_invoke$arity$8?k.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h):k.call(null,a,b,c,d,e,f,g,h);k=cljs.core._invoke._;if(null!=k)return k.cljs$core$IFn$_invoke$arity$8?k.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h):k.call(null,a,b,c,d,
e,f,g,h);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$9=function(a,b,c,d,e,f,g,h,k){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$9)return a.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,k);var l=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=l)return l.cljs$core$IFn$_invoke$arity$9?l.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,k):l.call(null,a,b,c,d,e,f,g,h,k);l=cljs.core._invoke._;if(null!=l)return l.cljs$core$IFn$_invoke$arity$9?l.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,k):l.call(null,
a,b,c,d,e,f,g,h,k);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$10=function(a,b,c,d,e,f,g,h,k,l){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$10)return a.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,k,l);var m=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=m)return m.cljs$core$IFn$_invoke$arity$10?m.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,k,l):m.call(null,a,b,c,d,e,f,g,h,k,l);m=cljs.core._invoke._;if(null!=m)return m.cljs$core$IFn$_invoke$arity$10?m.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,
h,k,l):m.call(null,a,b,c,d,e,f,g,h,k,l);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$11=function(a,b,c,d,e,f,g,h,k,l,m){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$11)return a.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,k,l,m);var n=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=n)return n.cljs$core$IFn$_invoke$arity$11?n.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,k,l,m):n.call(null,a,b,c,d,e,f,g,h,k,l,m);n=cljs.core._invoke._;if(null!=n)return n.cljs$core$IFn$_invoke$arity$11?n.cljs$core$IFn$_invoke$arity$11(a,b,c,
d,e,f,g,h,k,l,m):n.call(null,a,b,c,d,e,f,g,h,k,l,m);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$12=function(a,b,c,d,e,f,g,h,k,l,m,n){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$12)return a.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,k,l,m,n);var p=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=p)return p.cljs$core$IFn$_invoke$arity$12?p.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,k,l,m,n):p.call(null,a,b,c,d,e,f,g,h,k,l,m,n);p=cljs.core._invoke._;if(null!=p)return p.cljs$core$IFn$_invoke$arity$12?p.cljs$core$IFn$_invoke$arity$12(a,
b,c,d,e,f,g,h,k,l,m,n):p.call(null,a,b,c,d,e,f,g,h,k,l,m,n);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$13=function(a,b,c,d,e,f,g,h,k,l,m,n,p){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$13)return a.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,k,l,m,n,p);var q=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=q)return q.cljs$core$IFn$_invoke$arity$13?q.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,k,l,m,n,p):q.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p);q=cljs.core._invoke._;if(null!=q)return q.cljs$core$IFn$_invoke$arity$13?q.cljs$core$IFn$_invoke$arity$13(a,
b,c,d,e,f,g,h,k,l,m,n,p):q.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$14=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$14)return a.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,k,l,m,n,p,q);var r=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=r)return r.cljs$core$IFn$_invoke$arity$14?r.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,k,l,m,n,p,q):r.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q);r=cljs.core._invoke._;if(null!=r)return r.cljs$core$IFn$_invoke$arity$14?r.cljs$core$IFn$_invoke$arity$14(a,
b,c,d,e,f,g,h,k,l,m,n,p,q):r.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$15=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$15)return a.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r);var u=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=u)return u.cljs$core$IFn$_invoke$arity$15?u.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r):u.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r);u=cljs.core._invoke._;if(null!=u)return u.cljs$core$IFn$_invoke$arity$15?u.cljs$core$IFn$_invoke$arity$15(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r):u.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$16=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$16)return a.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u);var t=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=t)return t.cljs$core$IFn$_invoke$arity$16?t.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u):t.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u);t=cljs.core._invoke._;if(null!=t)return t.cljs$core$IFn$_invoke$arity$16?
t.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u):t.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$17=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$17)return a.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t);var v=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=v)return v.cljs$core$IFn$_invoke$arity$17?v.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t):v.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t);v=cljs.core._invoke._;if(null!=v)return v.cljs$core$IFn$_invoke$arity$17?
v.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t):v.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$18=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$18)return a.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v);var w=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=w)return w.cljs$core$IFn$_invoke$arity$18?w.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v):w.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v);w=cljs.core._invoke._;if(null!=w)return w.cljs$core$IFn$_invoke$arity$18?
w.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v):w.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$19=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$19)return a.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w);var x=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=x)return x.cljs$core$IFn$_invoke$arity$19?x.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w):x.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w);x=cljs.core._invoke._;if(null!=x)return x.cljs$core$IFn$_invoke$arity$19?
x.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w):x.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$20=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$20)return a.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x);var y=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=y)return y.cljs$core$IFn$_invoke$arity$20?y.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x):y.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x);y=cljs.core._invoke._;if(null!=y)return y.cljs$core$IFn$_invoke$arity$20?
y.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x):y.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$21=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$21)return a.cljs$core$IFn$_invoke$arity$21(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y);var z=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=z)return z.cljs$core$IFn$_invoke$arity$21?z.cljs$core$IFn$_invoke$arity$21(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y):z.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y);z=cljs.core._invoke._;if(null!=
z)return z.cljs$core$IFn$_invoke$arity$21?z.cljs$core$IFn$_invoke$arity$21(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y):z.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y);throw cljs.core.missing_protocol("IFn.-invoke",a);};
cljs.core._invoke.cljs$core$IFn$_invoke$arity$22=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z){if(null!=a&&null!=a.cljs$core$IFn$_invoke$arity$22)return a.cljs$core$IFn$_invoke$arity$22(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z);var A=cljs.core._invoke[goog.typeOf(null==a?null:a)];if(null!=A)return A.cljs$core$IFn$_invoke$arity$22?A.cljs$core$IFn$_invoke$arity$22(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z):A.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z);A=cljs.core._invoke._;if(null!=
A)return A.cljs$core$IFn$_invoke$arity$22?A.cljs$core$IFn$_invoke$arity$22(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z):A.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z);throw cljs.core.missing_protocol("IFn.-invoke",a);};cljs.core._invoke.cljs$lang$maxFixedArity=22;cljs.core.ICloneable=function(){};
cljs.core._clone=function(a){if(null!=a&&null!=a.cljs$core$ICloneable$_clone$arity$1)return a.cljs$core$ICloneable$_clone$arity$1(a);var b=cljs.core._clone[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._clone._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("ICloneable.-clone",a);};cljs.core.ICounted=function(){};
cljs.core._count=function(a){if(null!=a&&null!=a.cljs$core$ICounted$_count$arity$1)return a.cljs$core$ICounted$_count$arity$1(a);var b=cljs.core._count[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._count._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("ICounted.-count",a);};cljs.core.IEmptyableCollection=function(){};
cljs.core._empty=function(a){if(null!=a&&null!=a.cljs$core$IEmptyableCollection$_empty$arity$1)return a.cljs$core$IEmptyableCollection$_empty$arity$1(a);var b=cljs.core._empty[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._empty._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IEmptyableCollection.-empty",a);};
cljs.core.ICollection=function(){};
cljs.core._conj=function(a,b){if(null!=a&&null!=a.cljs$core$ICollection$_conj$arity$2)return a.cljs$core$ICollection$_conj$arity$2(a,b);var c=cljs.core._conj[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._conj._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("ICollection.-conj",a);};cljs.core.IIndexed=function(){};
cljs.core._nth=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core._nth.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core._nth.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core._nth.cljs$core$IFn$_invoke$arity$2=function(a,b){if(null!=a&&null!=a.cljs$core$IIndexed$_nth$arity$2)return a.cljs$core$IIndexed$_nth$arity$2(a,b);var c=cljs.core._nth[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._nth._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IIndexed.-nth",a);};
cljs.core._nth.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(null!=a&&null!=a.cljs$core$IIndexed$_nth$arity$3)return a.cljs$core$IIndexed$_nth$arity$3(a,b,c);var d=cljs.core._nth[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._nth._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("IIndexed.-nth",a);};
cljs.core._nth.cljs$lang$maxFixedArity=3;cljs.core.ASeq=function(){};cljs.core.ISeq=function(){};
cljs.core._first=function(a){if(null!=a&&null!=a.cljs$core$ISeq$_first$arity$1)return a.cljs$core$ISeq$_first$arity$1(a);var b=cljs.core._first[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._first._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("ISeq.-first",a);};
cljs.core._rest=function(a){if(null!=a&&null!=a.cljs$core$ISeq$_rest$arity$1)return a.cljs$core$ISeq$_rest$arity$1(a);var b=cljs.core._rest[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._rest._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("ISeq.-rest",a);};cljs.core.INext=function(){};
cljs.core._next=function(a){if(null!=a&&null!=a.cljs$core$INext$_next$arity$1)return a.cljs$core$INext$_next$arity$1(a);var b=cljs.core._next[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._next._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("INext.-next",a);};cljs.core.ILookup=function(){};
cljs.core._lookup=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core._lookup.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core._lookup.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core._lookup.cljs$core$IFn$_invoke$arity$2=function(a,b){if(null!=a&&null!=a.cljs$core$ILookup$_lookup$arity$2)return a.cljs$core$ILookup$_lookup$arity$2(a,b);var c=cljs.core._lookup[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._lookup._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("ILookup.-lookup",a);
};
cljs.core._lookup.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(null!=a&&null!=a.cljs$core$ILookup$_lookup$arity$3)return a.cljs$core$ILookup$_lookup$arity$3(a,b,c);var d=cljs.core._lookup[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._lookup._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("ILookup.-lookup",a);
};cljs.core._lookup.cljs$lang$maxFixedArity=3;cljs.core.IAssociative=function(){};
cljs.core._contains_key_QMARK_=function(a,b){if(null!=a&&null!=a.cljs$core$IAssociative$_contains_key_QMARK_$arity$2)return a.cljs$core$IAssociative$_contains_key_QMARK_$arity$2(a,b);var c=cljs.core._contains_key_QMARK_[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._contains_key_QMARK_._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IAssociative.-contains-key?",
a);};cljs.core._assoc=function(a,b,c){if(null!=a&&null!=a.cljs$core$IAssociative$_assoc$arity$3)return a.cljs$core$IAssociative$_assoc$arity$3(a,b,c);var d=cljs.core._assoc[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._assoc._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("IAssociative.-assoc",a);};
cljs.core.IFind=function(){};cljs.core._find=function(a,b){if(null!=a&&null!=a.cljs$core$IFind$_find$arity$2)return a.cljs$core$IFind$_find$arity$2(a,b);var c=cljs.core._find[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._find._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IFind.-find",a);};cljs.core.IMap=function(){};
cljs.core._dissoc=function(a,b){if(null!=a&&null!=a.cljs$core$IMap$_dissoc$arity$2)return a.cljs$core$IMap$_dissoc$arity$2(a,b);var c=cljs.core._dissoc[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._dissoc._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IMap.-dissoc",a);};cljs.core.IMapEntry=function(){};
cljs.core._key=function(a){if(null!=a&&null!=a.cljs$core$IMapEntry$_key$arity$1)return a.cljs$core$IMapEntry$_key$arity$1(a);var b=cljs.core._key[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._key._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IMapEntry.-key",a);};
cljs.core._val=function(a){if(null!=a&&null!=a.cljs$core$IMapEntry$_val$arity$1)return a.cljs$core$IMapEntry$_val$arity$1(a);var b=cljs.core._val[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._val._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IMapEntry.-val",a);};cljs.core.ISet=function(){};
cljs.core._disjoin=function(a,b){if(null!=a&&null!=a.cljs$core$ISet$_disjoin$arity$2)return a.cljs$core$ISet$_disjoin$arity$2(a,b);var c=cljs.core._disjoin[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._disjoin._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("ISet.-disjoin",a);};cljs.core.IStack=function(){};
cljs.core._peek=function(a){if(null!=a&&null!=a.cljs$core$IStack$_peek$arity$1)return a.cljs$core$IStack$_peek$arity$1(a);var b=cljs.core._peek[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._peek._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IStack.-peek",a);};
cljs.core._pop=function(a){if(null!=a&&null!=a.cljs$core$IStack$_pop$arity$1)return a.cljs$core$IStack$_pop$arity$1(a);var b=cljs.core._pop[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._pop._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IStack.-pop",a);};cljs.core.IVector=function(){};
cljs.core._assoc_n=function(a,b,c){if(null!=a&&null!=a.cljs$core$IVector$_assoc_n$arity$3)return a.cljs$core$IVector$_assoc_n$arity$3(a,b,c);var d=cljs.core._assoc_n[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._assoc_n._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("IVector.-assoc-n",a);};
cljs.core.IDeref=function(){};cljs.core._deref=function(a){if(null!=a&&null!=a.cljs$core$IDeref$_deref$arity$1)return a.cljs$core$IDeref$_deref$arity$1(a);var b=cljs.core._deref[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._deref._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IDeref.-deref",a);};
cljs.core.IDerefWithTimeout=function(){};
cljs.core._deref_with_timeout=function(a,b,c){if(null!=a&&null!=a.cljs$core$IDerefWithTimeout$_deref_with_timeout$arity$3)return a.cljs$core$IDerefWithTimeout$_deref_with_timeout$arity$3(a,b,c);var d=cljs.core._deref_with_timeout[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._deref_with_timeout._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,
a,b,c);throw cljs.core.missing_protocol("IDerefWithTimeout.-deref-with-timeout",a);};cljs.core.IMeta=function(){};
cljs.core._meta=function(a){if(null!=a&&null!=a.cljs$core$IMeta$_meta$arity$1)return a.cljs$core$IMeta$_meta$arity$1(a);var b=cljs.core._meta[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._meta._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IMeta.-meta",a);};cljs.core.IWithMeta=function(){};
cljs.core._with_meta=function(a,b){if(null!=a&&null!=a.cljs$core$IWithMeta$_with_meta$arity$2)return a.cljs$core$IWithMeta$_with_meta$arity$2(a,b);var c=cljs.core._with_meta[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._with_meta._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IWithMeta.-with-meta",a);};
cljs.core.IReduce=function(){};cljs.core._reduce=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core._reduce.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core._reduce.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core._reduce.cljs$core$IFn$_invoke$arity$2=function(a,b){if(null!=a&&null!=a.cljs$core$IReduce$_reduce$arity$2)return a.cljs$core$IReduce$_reduce$arity$2(a,b);var c=cljs.core._reduce[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._reduce._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IReduce.-reduce",a);
};
cljs.core._reduce.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(null!=a&&null!=a.cljs$core$IReduce$_reduce$arity$3)return a.cljs$core$IReduce$_reduce$arity$3(a,b,c);var d=cljs.core._reduce[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._reduce._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("IReduce.-reduce",a);
};cljs.core._reduce.cljs$lang$maxFixedArity=3;cljs.core.IKVReduce=function(){};
cljs.core._kv_reduce=function(a,b,c){if(null!=a&&null!=a.cljs$core$IKVReduce$_kv_reduce$arity$3)return a.cljs$core$IKVReduce$_kv_reduce$arity$3(a,b,c);var d=cljs.core._kv_reduce[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._kv_reduce._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("IKVReduce.-kv-reduce",
a);};cljs.core.IEquiv=function(){};cljs.core._equiv=function(a,b){if(null!=a&&null!=a.cljs$core$IEquiv$_equiv$arity$2)return a.cljs$core$IEquiv$_equiv$arity$2(a,b);var c=cljs.core._equiv[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._equiv._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IEquiv.-equiv",a);};
cljs.core.IHash=function(){};cljs.core._hash=function(a){if(null!=a&&null!=a.cljs$core$IHash$_hash$arity$1)return a.cljs$core$IHash$_hash$arity$1(a);var b=cljs.core._hash[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._hash._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IHash.-hash",a);};cljs.core.ISeqable=function(){};
cljs.core._seq=function(a){if(null!=a&&null!=a.cljs$core$ISeqable$_seq$arity$1)return a.cljs$core$ISeqable$_seq$arity$1(a);var b=cljs.core._seq[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._seq._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("ISeqable.-seq",a);};cljs.core.ISequential=function(){};cljs.core.IList=function(){};
cljs.core.IRecord=function(){};cljs.core.IReversible=function(){};
cljs.core._rseq=function(a){if(null!=a&&null!=a.cljs$core$IReversible$_rseq$arity$1)return a.cljs$core$IReversible$_rseq$arity$1(a);var b=cljs.core._rseq[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._rseq._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IReversible.-rseq",a);};cljs.core.ISorted=function(){};
cljs.core._sorted_seq=function(a,b){if(null!=a&&null!=a.cljs$core$ISorted$_sorted_seq$arity$2)return a.cljs$core$ISorted$_sorted_seq$arity$2(a,b);var c=cljs.core._sorted_seq[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._sorted_seq._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("ISorted.-sorted-seq",a);};
cljs.core._sorted_seq_from=function(a,b,c){if(null!=a&&null!=a.cljs$core$ISorted$_sorted_seq_from$arity$3)return a.cljs$core$ISorted$_sorted_seq_from$arity$3(a,b,c);var d=cljs.core._sorted_seq_from[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._sorted_seq_from._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("ISorted.-sorted-seq-from",
a);};cljs.core._entry_key=function(a,b){if(null!=a&&null!=a.cljs$core$ISorted$_entry_key$arity$2)return a.cljs$core$ISorted$_entry_key$arity$2(a,b);var c=cljs.core._entry_key[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._entry_key._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("ISorted.-entry-key",a);};
cljs.core._comparator=function(a){if(null!=a&&null!=a.cljs$core$ISorted$_comparator$arity$1)return a.cljs$core$ISorted$_comparator$arity$1(a);var b=cljs.core._comparator[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._comparator._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("ISorted.-comparator",a);};
cljs.core.IWriter=function(){};cljs.core._write=function(a,b){if(null!=a&&null!=a.cljs$core$IWriter$_write$arity$2)return a.cljs$core$IWriter$_write$arity$2(a,b);var c=cljs.core._write[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._write._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IWriter.-write",a);};
cljs.core._flush=function(a){if(null!=a&&null!=a.cljs$core$IWriter$_flush$arity$1)return a.cljs$core$IWriter$_flush$arity$1(a);var b=cljs.core._flush[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._flush._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IWriter.-flush",a);};cljs.core.IPrintWithWriter=function(){};
cljs.core._pr_writer=function(a,b,c){if(null!=a&&null!=a.cljs$core$IPrintWithWriter$_pr_writer$arity$3)return a.cljs$core$IPrintWithWriter$_pr_writer$arity$3(a,b,c);var d=cljs.core._pr_writer[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._pr_writer._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("IPrintWithWriter.-pr-writer",
a);};cljs.core.IPending=function(){};
cljs.core._realized_QMARK_=function(a){if(null!=a&&null!=a.cljs$core$IPending$_realized_QMARK_$arity$1)return a.cljs$core$IPending$_realized_QMARK_$arity$1(a);var b=cljs.core._realized_QMARK_[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._realized_QMARK_._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IPending.-realized?",a);
};cljs.core.IWatchable=function(){};
cljs.core._notify_watches=function(a,b,c){if(null!=a&&null!=a.cljs$core$IWatchable$_notify_watches$arity$3)return a.cljs$core$IWatchable$_notify_watches$arity$3(a,b,c);var d=cljs.core._notify_watches[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._notify_watches._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("IWatchable.-notify-watches",
a);};
cljs.core._add_watch=function(a,b,c){if(null!=a&&null!=a.cljs$core$IWatchable$_add_watch$arity$3)return a.cljs$core$IWatchable$_add_watch$arity$3(a,b,c);var d=cljs.core._add_watch[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._add_watch._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("IWatchable.-add-watch",a);
};
cljs.core._remove_watch=function(a,b){if(null!=a&&null!=a.cljs$core$IWatchable$_remove_watch$arity$2)return a.cljs$core$IWatchable$_remove_watch$arity$2(a,b);var c=cljs.core._remove_watch[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._remove_watch._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IWatchable.-remove-watch",a);
};cljs.core.IEditableCollection=function(){};
cljs.core._as_transient=function(a){if(null!=a&&null!=a.cljs$core$IEditableCollection$_as_transient$arity$1)return a.cljs$core$IEditableCollection$_as_transient$arity$1(a);var b=cljs.core._as_transient[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._as_transient._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IEditableCollection.-as-transient",
a);};cljs.core.ITransientCollection=function(){};
cljs.core._conj_BANG_=function(a,b){if(null!=a&&null!=a.cljs$core$ITransientCollection$_conj_BANG_$arity$2)return a.cljs$core$ITransientCollection$_conj_BANG_$arity$2(a,b);var c=cljs.core._conj_BANG_[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._conj_BANG_._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("ITransientCollection.-conj!",
a);};
cljs.core._persistent_BANG_=function(a){if(null!=a&&null!=a.cljs$core$ITransientCollection$_persistent_BANG_$arity$1)return a.cljs$core$ITransientCollection$_persistent_BANG_$arity$1(a);var b=cljs.core._persistent_BANG_[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._persistent_BANG_._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("ITransientCollection.-persistent!",a);
};cljs.core.ITransientAssociative=function(){};
cljs.core._assoc_BANG_=function(a,b,c){if(null!=a&&null!=a.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3)return a.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(a,b,c);var d=cljs.core._assoc_BANG_[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._assoc_BANG_._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("ITransientAssociative.-assoc!",
a);};cljs.core.ITransientMap=function(){};
cljs.core._dissoc_BANG_=function(a,b){if(null!=a&&null!=a.cljs$core$ITransientMap$_dissoc_BANG_$arity$2)return a.cljs$core$ITransientMap$_dissoc_BANG_$arity$2(a,b);var c=cljs.core._dissoc_BANG_[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._dissoc_BANG_._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("ITransientMap.-dissoc!",
a);};cljs.core.ITransientVector=function(){};
cljs.core._assoc_n_BANG_=function(a,b,c){if(null!=a&&null!=a.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3)return a.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3(a,b,c);var d=cljs.core._assoc_n_BANG_[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._assoc_n_BANG_._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("ITransientVector.-assoc-n!",
a);};
cljs.core._pop_BANG_=function(a){if(null!=a&&null!=a.cljs$core$ITransientVector$_pop_BANG_$arity$1)return a.cljs$core$ITransientVector$_pop_BANG_$arity$1(a);var b=cljs.core._pop_BANG_[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._pop_BANG_._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("ITransientVector.-pop!",a);};
cljs.core.ITransientSet=function(){};
cljs.core._disjoin_BANG_=function(a,b){if(null!=a&&null!=a.cljs$core$ITransientSet$_disjoin_BANG_$arity$2)return a.cljs$core$ITransientSet$_disjoin_BANG_$arity$2(a,b);var c=cljs.core._disjoin_BANG_[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._disjoin_BANG_._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("ITransientSet.-disjoin!",
a);};cljs.core.IComparable=function(){};
cljs.core._compare=function(a,b){if(null!=a&&null!=a.cljs$core$IComparable$_compare$arity$2)return a.cljs$core$IComparable$_compare$arity$2(a,b);var c=cljs.core._compare[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._compare._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IComparable.-compare",a);};
cljs.core.IChunk=function(){};
cljs.core._drop_first=function(a){if(null!=a&&null!=a.cljs$core$IChunk$_drop_first$arity$1)return a.cljs$core$IChunk$_drop_first$arity$1(a);var b=cljs.core._drop_first[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._drop_first._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IChunk.-drop-first",a);};
cljs.core.IChunkedSeq=function(){};
cljs.core._chunked_first=function(a){if(null!=a&&null!=a.cljs$core$IChunkedSeq$_chunked_first$arity$1)return a.cljs$core$IChunkedSeq$_chunked_first$arity$1(a);var b=cljs.core._chunked_first[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._chunked_first._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IChunkedSeq.-chunked-first",a);
};
cljs.core._chunked_rest=function(a){if(null!=a&&null!=a.cljs$core$IChunkedSeq$_chunked_rest$arity$1)return a.cljs$core$IChunkedSeq$_chunked_rest$arity$1(a);var b=cljs.core._chunked_rest[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._chunked_rest._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IChunkedSeq.-chunked-rest",a);
};cljs.core.IChunkedNext=function(){};
cljs.core._chunked_next=function(a){if(null!=a&&null!=a.cljs$core$IChunkedNext$_chunked_next$arity$1)return a.cljs$core$IChunkedNext$_chunked_next$arity$1(a);var b=cljs.core._chunked_next[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._chunked_next._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IChunkedNext.-chunked-next",a);
};cljs.core.INamed=function(){};cljs.core._name=function(a){if(null!=a&&null!=a.cljs$core$INamed$_name$arity$1)return a.cljs$core$INamed$_name$arity$1(a);var b=cljs.core._name[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._name._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("INamed.-name",a);};
cljs.core._namespace=function(a){if(null!=a&&null!=a.cljs$core$INamed$_namespace$arity$1)return a.cljs$core$INamed$_namespace$arity$1(a);var b=cljs.core._namespace[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._namespace._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("INamed.-namespace",a);};cljs.core.IAtom=function(){};
cljs.core.IReset=function(){};
cljs.core._reset_BANG_=function(a,b){if(null!=a&&null!=a.cljs$core$IReset$_reset_BANG_$arity$2)return a.cljs$core$IReset$_reset_BANG_$arity$2(a,b);var c=cljs.core._reset_BANG_[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._reset_BANG_._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IReset.-reset!",a);};
cljs.core.ISwap=function(){};
cljs.core._swap_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],
arguments[2],arguments[3],arguments[4]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){if(null!=a&&null!=a.cljs$core$ISwap$_swap_BANG_$arity$2)return a.cljs$core$ISwap$_swap_BANG_$arity$2(a,b);var c=cljs.core._swap_BANG_[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._swap_BANG_._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("ISwap.-swap!",
a);};
cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(null!=a&&null!=a.cljs$core$ISwap$_swap_BANG_$arity$3)return a.cljs$core$ISwap$_swap_BANG_$arity$3(a,b,c);var d=cljs.core._swap_BANG_[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._swap_BANG_._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("ISwap.-swap!",a);
};
cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){if(null!=a&&null!=a.cljs$core$ISwap$_swap_BANG_$arity$4)return a.cljs$core$ISwap$_swap_BANG_$arity$4(a,b,c,d);var e=cljs.core._swap_BANG_[goog.typeOf(null==a?null:a)];if(null!=e)return e.cljs$core$IFn$_invoke$arity$4?e.cljs$core$IFn$_invoke$arity$4(a,b,c,d):e.call(null,a,b,c,d);e=cljs.core._swap_BANG_._;if(null!=e)return e.cljs$core$IFn$_invoke$arity$4?e.cljs$core$IFn$_invoke$arity$4(a,b,c,d):e.call(null,a,b,c,d);throw cljs.core.missing_protocol("ISwap.-swap!",a);
};
cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){if(null!=a&&null!=a.cljs$core$ISwap$_swap_BANG_$arity$5)return a.cljs$core$ISwap$_swap_BANG_$arity$5(a,b,c,d,e);var f=cljs.core._swap_BANG_[goog.typeOf(null==a?null:a)];if(null!=f)return f.cljs$core$IFn$_invoke$arity$5?f.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e):f.call(null,a,b,c,d,e);f=cljs.core._swap_BANG_._;if(null!=f)return f.cljs$core$IFn$_invoke$arity$5?f.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e):f.call(null,a,b,c,d,e);throw cljs.core.missing_protocol("ISwap.-swap!",
a);};cljs.core._swap_BANG_.cljs$lang$maxFixedArity=5;cljs.core.IVolatile=function(){};
cljs.core._vreset_BANG_=function(a,b){if(null!=a&&null!=a.cljs$core$IVolatile$_vreset_BANG_$arity$2)return a.cljs$core$IVolatile$_vreset_BANG_$arity$2(a,b);var c=cljs.core._vreset_BANG_[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._vreset_BANG_._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IVolatile.-vreset!",
a);};cljs.core.IIterable=function(){};
cljs.core._iterator=function(a){if(null!=a&&null!=a.cljs$core$IIterable$_iterator$arity$1)return a.cljs$core$IIterable$_iterator$arity$1(a);var b=cljs.core._iterator[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._iterator._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IIterable.-iterator",a);};
cljs.core.StringBufferWriter=function(a){this.sb=a;this.cljs$lang$protocol_mask$partition0$=1073741824;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.StringBufferWriter.prototype.cljs$core$IWriter$_write$arity$2=function(a,b){return this.sb.append(b)};cljs.core.StringBufferWriter.prototype.cljs$core$IWriter$_flush$arity$1=function(a){return null};
cljs.core.StringBufferWriter.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"sb","sb",-1249746442,null)],null)};cljs.core.StringBufferWriter.cljs$lang$type=!0;cljs.core.StringBufferWriter.cljs$lang$ctorStr="cljs.core/StringBufferWriter";cljs.core.StringBufferWriter.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/StringBufferWriter")};cljs.core.__GT_StringBufferWriter=function(a){return new cljs.core.StringBufferWriter(a)};
cljs.core.pr_str_STAR_=function(a){var b=new goog.string.StringBuffer,c=new cljs.core.StringBufferWriter(b);a.cljs$core$IPrintWithWriter$_pr_writer$arity$3(null,c,cljs.core.pr_opts());c.cljs$core$IWriter$_flush$arity$1(null);return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)};cljs.core.int_rotate_left=function(a,b){return a<<b|a>>>-b};
"undefined"!==typeof Math.imul&&0!==Math.imul(4294967295,5)?cljs.core.imul=function(a,b){return Math.imul(a,b)}:cljs.core.imul=function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16&65535)*d+c*(b>>>16&65535)<<16>>>0)|0};cljs.core.m3_seed=0;cljs.core.m3_C1=-862048943;cljs.core.m3_C2=461845907;cljs.core.m3_mix_K1=function(a){return cljs.core.imul(cljs.core.int_rotate_left(cljs.core.imul(a|0,cljs.core.m3_C1),15),cljs.core.m3_C2)};
cljs.core.m3_mix_H1=function(a,b){return cljs.core.imul(cljs.core.int_rotate_left((a|0)^(b|0),13),5)+-430675100|0};cljs.core.m3_fmix=function(a,b){var c=(a|0)^b,c=cljs.core.imul(c^c>>>16,-2048144789),c=cljs.core.imul(c^c>>>13,-1028477387);return c^c>>>16};cljs.core.m3_hash_int=function(a){if(0===a)return a;a=cljs.core.m3_mix_K1(a);a=cljs.core.m3_mix_H1(cljs.core.m3_seed,a);return cljs.core.m3_fmix(a,4)};
cljs.core.m3_hash_unencoded_chars=function(a){a:{var b=1;for(var c=cljs.core.m3_seed;;)if(b<a.length){var d=b+2,c=cljs.core.m3_mix_H1(c,cljs.core.m3_mix_K1(a.charCodeAt(b-1)|a.charCodeAt(b)<<16));b=d}else{b=c;break a}}b=1===(a.length&1)?b^cljs.core.m3_mix_K1(a.charCodeAt(a.length-1)):b;return cljs.core.m3_fmix(b,cljs.core.imul(2,a.length))};cljs.core.string_hash_cache={};cljs.core.string_hash_cache_count=0;
cljs.core.hash_string_STAR_=function(a){if(null!=a){var b=a.length;if(0<b)for(var c=0,d=0;;)if(c<b)var e=c+1,d=cljs.core.imul(31,d)+a.charCodeAt(c),c=e;else return d;else return 0}else return 0};cljs.core.add_to_string_hash_cache=function(a){var b=cljs.core.hash_string_STAR_(a);cljs.core.string_hash_cache[a]=b;cljs.core.string_hash_cache_count+=1;return b};
cljs.core.hash_string=function(a){255<cljs.core.string_hash_cache_count&&(cljs.core.string_hash_cache={},cljs.core.string_hash_cache_count=0);if(null==a)return 0;var b=cljs.core.string_hash_cache[a];return"number"===typeof b?b:cljs.core.add_to_string_hash_cache(a)};
cljs.core.hash=function(a){if(null!=a&&(a.cljs$lang$protocol_mask$partition0$&4194304||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IHash$))return a.cljs$core$IHash$_hash$arity$1(null)^0;if("number"===typeof a){if(cljs.core.truth_(isFinite(a)))return Math.floor(a)%2147483647;switch(a){case Infinity:return 2146435072;case -Infinity:return-1048576;default:return 2146959360}}else return!0===a?1231:!1===a?1237:"string"===typeof a?cljs.core.m3_hash_int(cljs.core.hash_string(a)):a instanceof Date?a.valueOf()^
0:null==a?0:cljs.core._hash(a)^0};cljs.core.hash_combine=function(a,b){return a^b+2654435769+(a<<6)+(a>>2)};cljs.core.instance_QMARK_=function(a,b){return b instanceof a};cljs.core.symbol_QMARK_=function(a){return a instanceof cljs.core.Symbol};cljs.core.hash_symbol=function(a){return cljs.core.hash_combine(cljs.core.m3_hash_unencoded_chars(a.name),cljs.core.hash_string(a.ns))};
cljs.core.compare_symbols=function(a,b){if(a.str===b.str)return 0;if(cljs.core.truth_(function(){var c=cljs.core.not(a.ns);return c?b.ns:c}()))return-1;if(cljs.core.truth_(a.ns)){if(cljs.core.not(b.ns))return 1;var c=goog.array.defaultCompare(a.ns,b.ns);return 0===c?goog.array.defaultCompare(a.name,b.name):c}return goog.array.defaultCompare(a.name,b.name)};
cljs.core.Symbol=function(a,b,c,d,e){this.ns=a;this.name=b;this.str=c;this._hash=d;this._meta=e;this.cljs$lang$protocol_mask$partition0$=2154168321;this.cljs$lang$protocol_mask$partition1$=4096};cljs.core.Symbol.prototype.toString=function(){return this.str};cljs.core.Symbol.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};cljs.core.Symbol.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return b instanceof cljs.core.Symbol?this.str===b.str:!1};
cljs.core.Symbol.prototype.call=function(){var a=null,b=function(a,b){return cljs.core.get.cljs$core$IFn$_invoke$arity$2?cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,this):cljs.core.get.call(null,b,this)},c=function(a,b,c){return cljs.core.get.cljs$core$IFn$_invoke$arity$3?cljs.core.get.cljs$core$IFn$_invoke$arity$3(b,this,c):cljs.core.get.call(null,b,this,c)},a=function(a,e,f){switch(arguments.length){case 2:return b.call(this,a,e);case 3:return c.call(this,a,e,f)}throw Error("Invalid arity: "+
(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=b;a.cljs$core$IFn$_invoke$arity$3=c;return a}();cljs.core.Symbol.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.Symbol.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.get.cljs$core$IFn$_invoke$arity$2?cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,this):cljs.core.get.call(null,a,this)};
cljs.core.Symbol.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.get.cljs$core$IFn$_invoke$arity$3?cljs.core.get.cljs$core$IFn$_invoke$arity$3(a,this,b):cljs.core.get.call(null,a,this,b)};cljs.core.Symbol.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this._meta};cljs.core.Symbol.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.Symbol(this.ns,this.name,this.str,this._hash,b)};
cljs.core.Symbol.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this._hash;return null!=a?a:this._hash=a=cljs.core.hash_symbol(this)};cljs.core.Symbol.prototype.cljs$core$INamed$_name$arity$1=function(a){return this.name};cljs.core.Symbol.prototype.cljs$core$INamed$_namespace$arity$1=function(a){return this.ns};cljs.core.Symbol.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core._write(b,this.str)};
cljs.core.Symbol.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"ns","ns",2082130287,null),new cljs.core.Symbol(null,"name","name",-810760592,null),new cljs.core.Symbol(null,"str","str",-1564826950,null),cljs.core.with_meta(new cljs.core.Symbol(null,"_hash","_hash",-2130838312,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),new cljs.core.Symbol(null,
"_meta","_meta",-1716892533,null)],null)};cljs.core.Symbol.cljs$lang$type=!0;cljs.core.Symbol.cljs$lang$ctorStr="cljs.core/Symbol";cljs.core.Symbol.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Symbol")};cljs.core.__GT_Symbol=function(a,b,c,d,e){return new cljs.core.Symbol(a,b,c,d,e)};
cljs.core.symbol=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.symbol.cljs$core$IFn$_invoke$arity$1=function(a){if(a instanceof cljs.core.Symbol)return a;var b=a.indexOf("/");return 1>b?cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(null,a):cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(a.substring(0,b),a.substring(b+1,a.length))};
cljs.core.symbol.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=null!=a?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1("/"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""):b;return new cljs.core.Symbol(a,b,c,null,null)};cljs.core.symbol.cljs$lang$maxFixedArity=2;cljs.core.Var=function(a,b,c){this.val=a;this.sym=b;this._meta=c;this.cljs$lang$protocol_mask$partition0$=6717441;this.cljs$lang$protocol_mask$partition1$=0};
cljs.core.Var.prototype.isMacro=function(){return(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)).cljs$lang$macro};cljs.core.Var.prototype.toString=function(){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1("#'"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.sym)].join("")};cljs.core.Var.prototype.cljs$core$IDeref$_deref$arity$1=function(a){return this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)};
cljs.core.Var.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this._meta};cljs.core.Var.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.Var(this.val,this.sym,b)};cljs.core.Var.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){if(b instanceof cljs.core.Var){var c=this.sym,d=b.sym;return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2?cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(c,d):cljs.core._EQ_.call(null,c,d)}return!1};
cljs.core.Var.prototype.cljs$core$IHash$_hash$arity$1=function(a){return cljs.core.hash_symbol(this.sym)};cljs.core.Var.prototype.cljs$core$Fn$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Var.prototype.call=function(){var a=null,b=function(a){a=this;return(a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null)).call(null)},c=function(a,b){a=this;return(a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null)).call(null,b)},d=function(a,b,c){a=this;return(a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null)).call(null,b,c)},e=function(a,b,c,d){a=this;return(a.val.cljs$core$IFn$_invoke$arity$0?
a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null)).call(null,b,c,d)},f=function(a,b,c,d,e){a=this;return(a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null)).call(null,b,c,d,e)},g=function(a,b,c,d,e,f){a=this;return(a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null)).call(null,b,c,d,e,f)},h=function(a,b,c,d,e,f,g){a=this;return(a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null)).call(null,
b,c,d,e,f,g)},k=function(a,b,c,d,e,f,g,h){a=this;return(a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null)).call(null,b,c,d,e,f,g,h)},l=function(a,b,c,d,e,f,g,h,k){a=this;return(a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null)).call(null,b,c,d,e,f,g,h,k)},m=function(a,b,c,d,e,f,g,h,k,l){a=this;return(a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null)).call(null,b,c,d,e,f,g,h,k,
l)},n=function(a,b,c,d,e,f,g,h,k,l,m){a=this;return(a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null)).call(null,b,c,d,e,f,g,h,k,l,m)},p=function(a,b,c,d,e,f,g,h,k,l,m,n){a=this;return(a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null)).call(null,b,c,d,e,f,g,h,k,l,m,n)},q=function(a,b,c,d,e,f,g,h,k,l,m,n,p){a=this;return(a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null)).call(null,
b,c,d,e,f,g,h,k,l,m,n,p)},r=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){a=this;return(a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null)).call(null,b,c,d,e,f,g,h,k,l,m,n,p,q)},u=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){a=this;return(a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null)).call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r)},t=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){a=this;return(a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():
a.val.call(null)).call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u)},v=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){a=this;return(a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null)).call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t)},w=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){a=this;return(a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null)).call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v)},x=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,
v,w){a=this;return(a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null)).call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w)},y=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z){a=this;return(a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null)).call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z)},z=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x){a=this;return(a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():
a.val.call(null)).call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x)},A=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,A){a=this;a=a.val.cljs$core$IFn$_invoke$arity$0?a.val.cljs$core$IFn$_invoke$arity$0():a.val.call(null);return cljs.core.apply.cljs$core$IFn$_invoke$arity$22?cljs.core.apply.cljs$core$IFn$_invoke$arity$22(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,A):cljs.core.apply.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,A)},a=function(a,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q,S,V,T,U,R,X){switch(arguments.length){case 1:return b.call(this,
a);case 2:return c.call(this,a,B);case 3:return d.call(this,a,B,C);case 4:return e.call(this,a,B,C,G);case 5:return f.call(this,a,B,C,G,E);case 6:return g.call(this,a,B,C,G,E,D);case 7:return h.call(this,a,B,C,G,E,D,L);case 8:return k.call(this,a,B,C,G,E,D,L,F);case 9:return l.call(this,a,B,C,G,E,D,L,F,K);case 10:return m.call(this,a,B,C,G,E,D,L,F,K,M);case 11:return n.call(this,a,B,C,G,E,D,L,F,K,M,I);case 12:return p.call(this,a,B,C,G,E,D,L,F,K,M,I,H);case 13:return q.call(this,a,B,C,G,E,D,L,F,K,
M,I,H,P);case 14:return r.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O);case 15:return u.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O,N);case 16:return t.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q);case 17:return v.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q,S);case 18:return w.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q,S,V);case 19:return x.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q,S,V,T);case 20:return y.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q,S,V,T,U);case 21:return z.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q,
S,V,T,U,R);case 22:return A.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q,S,V,T,U,R,X)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;a.cljs$core$IFn$_invoke$arity$3=d;a.cljs$core$IFn$_invoke$arity$4=e;a.cljs$core$IFn$_invoke$arity$5=f;a.cljs$core$IFn$_invoke$arity$6=g;a.cljs$core$IFn$_invoke$arity$7=h;a.cljs$core$IFn$_invoke$arity$8=k;a.cljs$core$IFn$_invoke$arity$9=l;a.cljs$core$IFn$_invoke$arity$10=m;a.cljs$core$IFn$_invoke$arity$11=
n;a.cljs$core$IFn$_invoke$arity$12=p;a.cljs$core$IFn$_invoke$arity$13=q;a.cljs$core$IFn$_invoke$arity$14=r;a.cljs$core$IFn$_invoke$arity$15=u;a.cljs$core$IFn$_invoke$arity$16=t;a.cljs$core$IFn$_invoke$arity$17=v;a.cljs$core$IFn$_invoke$arity$18=w;a.cljs$core$IFn$_invoke$arity$19=x;a.cljs$core$IFn$_invoke$arity$20=y;a.cljs$core$IFn$_invoke$arity$21=z;a.cljs$core$IFn$_invoke$arity$22=A;return a}();cljs.core.Var.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$0=function(){return(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)).call(null)};cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)).call(null,a)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)).call(null,a,b)};cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)).call(null,a,b,c)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)).call(null,a,b,c,d)};cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){return(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)).call(null,a,b,c,d,e)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){return(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)).call(null,a,b,c,d,e,f)};cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$7=function(a,b,c,d,e,f,g){return(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)).call(null,a,b,c,d,e,f,g)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$8=function(a,b,c,d,e,f,g,h){return(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)).call(null,a,b,c,d,e,f,g,h)};cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$9=function(a,b,c,d,e,f,g,h,k){return(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)).call(null,a,b,c,d,e,f,g,h,k)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$10=function(a,b,c,d,e,f,g,h,k,l){return(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)).call(null,a,b,c,d,e,f,g,h,k,l)};cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$11=function(a,b,c,d,e,f,g,h,k,l,m){return(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)).call(null,a,b,c,d,e,f,g,h,k,l,m)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$12=function(a,b,c,d,e,f,g,h,k,l,m,n){return(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)).call(null,a,b,c,d,e,f,g,h,k,l,m,n)};cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$13=function(a,b,c,d,e,f,g,h,k,l,m,n,p){return(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)).call(null,a,b,c,d,e,f,g,h,k,l,m,n,p)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$14=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)).call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q)};cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$15=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)).call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$16=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)).call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u)};cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$17=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){return(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)).call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$18=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)).call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$19=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){return(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)).call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$20=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x){return(this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null)).call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x)};
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$21=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y){var z=this.val.cljs$core$IFn$_invoke$arity$0?this.val.cljs$core$IFn$_invoke$arity$0():this.val.call(null);return cljs.core.apply.cljs$core$IFn$_invoke$arity$22?cljs.core.apply.cljs$core$IFn$_invoke$arity$22(z,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y):cljs.core.apply.call(null,z,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y)};
cljs.core.Var.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"val","val",1769233139,null),new cljs.core.Symbol(null,"sym","sym",195671222,null),new cljs.core.Symbol(null,"_meta","_meta",-1716892533,null)],null)};cljs.core.Var.cljs$lang$type=!0;cljs.core.Var.cljs$lang$ctorStr="cljs.core/Var";cljs.core.Var.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Var")};
cljs.core.__GT_Var=function(a,b,c){return new cljs.core.Var(a,b,c)};cljs.core.var_QMARK_=function(a){return a instanceof cljs.core.Var};cljs.core.iterable_QMARK_=function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IIterable$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.IIterable,a):cljs.core.native_satisfies_QMARK_(cljs.core.IIterable,a)};cljs.core.clone=function(a){return cljs.core._clone(a)};
cljs.core.cloneable_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition1$&8192||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ICloneable$?!0:a.cljs$lang$protocol_mask$partition1$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.ICloneable,a):cljs.core.native_satisfies_QMARK_(cljs.core.ICloneable,a)};
cljs.core.seq=function(a){if(null==a)return null;if(null!=a&&(a.cljs$lang$protocol_mask$partition0$&8388608||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeqable$))return a.cljs$core$ISeqable$_seq$arity$1(null);if(cljs.core.array_QMARK_(a)||"string"===typeof a)return 0===a.length?null:new cljs.core.IndexedSeq(a,0,null);if(cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,a))return cljs.core._seq(a);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" is not ISeqable")].join(""));
};cljs.core.first=function(a){if(null==a)return null;if(null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$))return a.cljs$core$ISeq$_first$arity$1(null);a=cljs.core.seq(a);return null==a?null:cljs.core._first(a)};
cljs.core.rest=function(a){return null!=a?null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?a.cljs$core$ISeq$_rest$arity$1(null):(a=cljs.core.seq(a))?cljs.core._rest(a):cljs.core.List.EMPTY:cljs.core.List.EMPTY};cljs.core.next=function(a){return null==a?null:null!=a&&(a.cljs$lang$protocol_mask$partition0$&128||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$INext$)?a.cljs$core$INext$_next$arity$1(null):cljs.core.seq(cljs.core.rest(a))};
cljs.core._EQ_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core._EQ_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core._EQ_.cljs$core$IFn$_invoke$arity$1=function(a){return!0};
cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2=function(a,b){return null==a?null==b:a===b||cljs.core._equiv(a,b)};cljs.core._EQ_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;)if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,b))if(cljs.core.next(c))a=b,b=cljs.core.first(c),c=cljs.core.next(c);else return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(b,cljs.core.first(c));else return!1};
cljs.core._EQ_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core._EQ_.cljs$lang$maxFixedArity=2;cljs.core.ES6Iterator=function(a){this.s=a};cljs.core.ES6Iterator.prototype.next=function(){if(null!=this.s){var a=cljs.core.first(this.s);this.s=cljs.core.next(this.s);return{value:a,done:!1}}return{value:null,done:!0}};
cljs.core.ES6Iterator.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"s","s",-948495851,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.ES6Iterator.cljs$lang$type=!0;cljs.core.ES6Iterator.cljs$lang$ctorStr="cljs.core/ES6Iterator";
cljs.core.ES6Iterator.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ES6Iterator")};cljs.core.__GT_ES6Iterator=function(a){return new cljs.core.ES6Iterator(a)};cljs.core.es6_iterator=function(a){return new cljs.core.ES6Iterator(cljs.core.seq(a))};cljs.core.ES6IteratorSeq=function(a,b,c){this.value=a;this.iter=b;this._rest=c;this.cljs$lang$protocol_mask$partition0$=8388672;this.cljs$lang$protocol_mask$partition1$=0};
cljs.core.ES6IteratorSeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};cljs.core.ES6IteratorSeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){return this.value};cljs.core.ES6IteratorSeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){null==this._rest&&(this._rest=cljs.core.es6_iterator_seq.cljs$core$IFn$_invoke$arity$1?cljs.core.es6_iterator_seq.cljs$core$IFn$_invoke$arity$1(this.iter):cljs.core.es6_iterator_seq.call(null,this.iter));return this._rest};
cljs.core.ES6IteratorSeq.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"value","value",1946509744,null),new cljs.core.Symbol(null,"iter","iter",-1346195486,null),cljs.core.with_meta(new cljs.core.Symbol(null,"_rest","_rest",-2100466189,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.ES6IteratorSeq.cljs$lang$type=!0;
cljs.core.ES6IteratorSeq.cljs$lang$ctorStr="cljs.core/ES6IteratorSeq";cljs.core.ES6IteratorSeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ES6IteratorSeq")};cljs.core.__GT_ES6IteratorSeq=function(a,b,c){return new cljs.core.ES6IteratorSeq(a,b,c)};cljs.core.es6_iterator_seq=function(a){var b=a.next();return cljs.core.truth_(b.done)?cljs.core.List.EMPTY:new cljs.core.ES6IteratorSeq(b.value,a,null)};
cljs.core.mix_collection_hash=function(a,b){var c=cljs.core.m3_seed,d=cljs.core.m3_mix_K1(a),c=cljs.core.m3_mix_H1(c,d);return cljs.core.m3_fmix(c,b)};cljs.core.hash_ordered_coll=function(a){var b=0,c=1;for(a=cljs.core.seq(a);;)if(null!=a)b+=1,c=cljs.core.imul(31,c)+cljs.core.hash(cljs.core.first(a))|0,a=cljs.core.next(a);else return cljs.core.mix_collection_hash(c,b)};cljs.core.empty_ordered_hash=cljs.core.mix_collection_hash(1,0);
cljs.core.hash_unordered_coll=function(a){var b=0,c=0;for(a=cljs.core.seq(a);;)if(null!=a)b+=1,c=c+cljs.core.hash(cljs.core.first(a))|0,a=cljs.core.next(a);else return cljs.core.mix_collection_hash(c,b)};cljs.core.empty_unordered_hash=cljs.core.mix_collection_hash(0,0);cljs.core.ICounted["null"]=!0;cljs.core._count["null"]=function(a){return 0};Date.prototype.cljs$core$IEquiv$=cljs.core.PROTOCOL_SENTINEL;
Date.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return b instanceof Date&&this.valueOf()===b.valueOf()};Date.prototype.cljs$core$IComparable$=cljs.core.PROTOCOL_SENTINEL;
Date.prototype.cljs$core$IComparable$_compare$arity$2=function(a,b){if(b instanceof Date)return goog.array.defaultCompare(this.valueOf(),b.valueOf());throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Cannot compare "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" to "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};cljs.core.Inst=function(){};
cljs.core.inst_ms_STAR_=function(a){if(null!=a&&null!=a.cljs$core$Inst$inst_ms_STAR_$arity$1)return a.cljs$core$Inst$inst_ms_STAR_$arity$1(a);var b=cljs.core.inst_ms_STAR_[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core.inst_ms_STAR_._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("Inst.inst-ms*",a);};
Date.prototype.cljs$core$Inst$=cljs.core.PROTOCOL_SENTINEL;Date.prototype.cljs$core$Inst$inst_ms_STAR_$arity$1=function(a){return this.getTime()};cljs.core.inst_ms=function(a){return cljs.core.inst_ms_STAR_(a)};cljs.core.inst_QMARK_=function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.cljs$core$Inst$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.Inst,a):cljs.core.native_satisfies_QMARK_(cljs.core.Inst,a)};cljs.core.IEquiv.number=!0;
cljs.core._equiv.number=function(a,b){return a===b};cljs.core.Fn["function"]=!0;cljs.core.IMeta["function"]=!0;cljs.core._meta["function"]=function(a){return null};cljs.core.IHash._=!0;cljs.core._hash._=function(a){return goog.getUid(a)};cljs.core.inc=function(a){return a+1};cljs.core.Reduced=function(a){this.val=a;this.cljs$lang$protocol_mask$partition0$=32768;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.Reduced.prototype.cljs$core$IDeref$_deref$arity$1=function(a){return this.val};
cljs.core.Reduced.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"val","val",1769233139,null)],null)};cljs.core.Reduced.cljs$lang$type=!0;cljs.core.Reduced.cljs$lang$ctorStr="cljs.core/Reduced";cljs.core.Reduced.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Reduced")};cljs.core.__GT_Reduced=function(a){return new cljs.core.Reduced(a)};cljs.core.reduced=function(a){return new cljs.core.Reduced(a)};
cljs.core.reduced_QMARK_=function(a){return a instanceof cljs.core.Reduced};cljs.core.ensure_reduced=function(a){return cljs.core.reduced_QMARK_(a)?a:cljs.core.reduced(a)};cljs.core.unreduced=function(a){return cljs.core.reduced_QMARK_(a)?cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(a):cljs.core.deref.call(null,a):a};cljs.core.deref=function(a){return cljs.core._deref(a)};
cljs.core.ci_reduce=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.core._count(a);if(0===c)return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null);for(var d=cljs.core._nth.cljs$core$IFn$_invoke$arity$2(a,0),e=1;;)if(e<c){var f=cljs.core._nth.cljs$core$IFn$_invoke$arity$2(a,e),d=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,f):b.call(null,d,f);if(cljs.core.reduced_QMARK_(d))return cljs.core.deref(d);e+=1}else return d};
cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core._count(a),e=c;for(c=0;;)if(c<d){var f=cljs.core._nth.cljs$core$IFn$_invoke$arity$2(a,c),e=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(e,f):b.call(null,e,f);if(cljs.core.reduced_QMARK_(e))return cljs.core.deref(e);c+=1}else return e};
cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){for(var e=cljs.core._count(a);;)if(d<e){var f=cljs.core._nth.cljs$core$IFn$_invoke$arity$2(a,d);c=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,f):b.call(null,c,f);if(cljs.core.reduced_QMARK_(c))return cljs.core.deref(c);d+=1}else return c};cljs.core.ci_reduce.cljs$lang$maxFixedArity=4;
cljs.core.array_reduce=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=a.length;if(0===a.length)return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null);for(var d=a[0],e=1;;)if(e<c){var f=a[e],d=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,f):b.call(null,d,f);if(cljs.core.reduced_QMARK_(d))return cljs.core.deref(d);e+=1}else return d};
cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=a.length,e=c;for(c=0;;)if(c<d){var f=a[c],e=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(e,f):b.call(null,e,f);if(cljs.core.reduced_QMARK_(e))return cljs.core.deref(e);c+=1}else return e};
cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){for(var e=a.length;;)if(d<e){var f=a[d];c=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,f):b.call(null,c,f);if(cljs.core.reduced_QMARK_(c))return cljs.core.deref(c);d+=1}else return c};cljs.core.array_reduce.cljs$lang$maxFixedArity=4;
cljs.core.counted_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&2||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ICounted$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.ICounted,a):cljs.core.native_satisfies_QMARK_(cljs.core.ICounted,a)};
cljs.core.indexed_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&16||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IIndexed$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,a):cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,a)};
cljs.core._indexOf=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core._indexOf.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(a,b,0)};
cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core.count.cljs$core$IFn$_invoke$arity$1?cljs.core.count.cljs$core$IFn$_invoke$arity$1(a):cljs.core.count.call(null,a);if(c>=d)return-1;!(0<c)&&0>c&&(c+=d,c=0>c?0:c);for(;;)if(c<d){if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(a,c):cljs.core.nth.call(null,a,c),b))return c;c+=1}else return-1};
cljs.core._indexOf.cljs$lang$maxFixedArity=3;
cljs.core._lastIndexOf=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.count.cljs$core$IFn$_invoke$arity$1?cljs.core.count.cljs$core$IFn$_invoke$arity$1(a):cljs.core.count.call(null,a))};
cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core.count.cljs$core$IFn$_invoke$arity$1?cljs.core.count.cljs$core$IFn$_invoke$arity$1(a):cljs.core.count.call(null,a);if(0===d)return-1;0<c?(--d,c=d<c?d:c):c=0>c?d+c:c;for(;;)if(0<=c){if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(a,c):cljs.core.nth.call(null,a,c),b))return c;--c}else return-1};
cljs.core._lastIndexOf.cljs$lang$maxFixedArity=3;cljs.core.IndexedSeqIterator=function(a,b){this.arr=a;this.i=b};cljs.core.IndexedSeqIterator.prototype.hasNext=function(){return this.i<this.arr.length};cljs.core.IndexedSeqIterator.prototype.next=function(){var a=this.arr[this.i];this.i+=1;return a};
cljs.core.IndexedSeqIterator.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"arr","arr",2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.IndexedSeqIterator.cljs$lang$type=!0;cljs.core.IndexedSeqIterator.cljs$lang$ctorStr="cljs.core/IndexedSeqIterator";
cljs.core.IndexedSeqIterator.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/IndexedSeqIterator")};cljs.core.__GT_IndexedSeqIterator=function(a,b){return new cljs.core.IndexedSeqIterator(a,b)};cljs.core.IndexedSeq=function(a,b,c){this.arr=a;this.i=b;this.meta=c;this.cljs$lang$protocol_mask$partition0$=166592766;this.cljs$lang$protocol_mask$partition1$=8192};cljs.core.IndexedSeq.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};
cljs.core.IndexedSeq.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.IndexedSeq.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.IndexedSeq.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count.cljs$core$IFn$_invoke$arity$1?cljs.core.count.cljs$core$IFn$_invoke$arity$1(this):cljs.core.count.call(null,this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-
1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();cljs.core.IndexedSeq.prototype.cljs$core$IIndexed$_nth$arity$2=function(a,b){var c=b+this.i;if(0<=c&&c<this.arr.length)return this.arr[c];throw Error("Index out of bounds");};cljs.core.IndexedSeq.prototype.cljs$core$IIndexed$_nth$arity$3=function(a,b,c){a=b+this.i;return 0<=a&&a<this.arr.length?this.arr[a]:c};cljs.core.IndexedSeq.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.IndexedSeq.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.IndexedSeqIterator(this.arr,this.i)};cljs.core.IndexedSeq.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.IndexedSeq.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.IndexedSeq(this.arr,this.i,this.meta)};
cljs.core.IndexedSeq.prototype.cljs$core$INext$_next$arity$1=function(a){return this.i+1<this.arr.length?new cljs.core.IndexedSeq(this.arr,this.i+1,null):null};cljs.core.IndexedSeq.prototype.cljs$core$ICounted$_count$arity$1=function(a){a=this.arr.length-this.i;return 0>a?0:a};cljs.core.IndexedSeq.prototype.cljs$core$IReversible$_rseq$arity$1=function(a){a=this.cljs$core$ICounted$_count$arity$1(null);return 0<a?new cljs.core.RSeq(this,a-1,null):null};
cljs.core.IndexedSeq.prototype.cljs$core$IHash$_hash$arity$1=function(a){return cljs.core.hash_ordered_coll(this)};cljs.core.IndexedSeq.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential.cljs$core$IFn$_invoke$arity$2?cljs.core.equiv_sequential.cljs$core$IFn$_invoke$arity$2(this,b):cljs.core.equiv_sequential.call(null,this,b)};cljs.core.IndexedSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core.List.EMPTY};
cljs.core.IndexedSeq.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(this.arr,b,this.arr[this.i],this.i+1)};cljs.core.IndexedSeq.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(this.arr,b,c,this.i)};cljs.core.IndexedSeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){return this.arr[this.i]};
cljs.core.IndexedSeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){return this.i+1<this.arr.length?new cljs.core.IndexedSeq(this.arr,this.i+1,null):cljs.core.List.EMPTY};cljs.core.IndexedSeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this.i<this.arr.length?this:null};cljs.core.IndexedSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.IndexedSeq(this.arr,this.i,b)};
cljs.core.IndexedSeq.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons.cljs$core$IFn$_invoke$arity$2?cljs.core.cons.cljs$core$IFn$_invoke$arity$2(b,this):cljs.core.cons.call(null,b,this)};
cljs.core.IndexedSeq.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"arr","arr",2115492975,null),new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.Symbol(null,"meta","meta",-1154898805,null)],null)};cljs.core.IndexedSeq.cljs$lang$type=!0;cljs.core.IndexedSeq.cljs$lang$ctorStr="cljs.core/IndexedSeq";cljs.core.IndexedSeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/IndexedSeq")};
cljs.core.__GT_IndexedSeq=function(a,b,c){return new cljs.core.IndexedSeq(a,b,c)};cljs.core.IndexedSeq.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};
cljs.core.prim_seq=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(a,0)};cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2=function(a,b){return b<a.length?new cljs.core.IndexedSeq(a,b,null):null};cljs.core.prim_seq.cljs$lang$maxFixedArity=2;
cljs.core.array_seq=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.array_seq.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(a,0)};cljs.core.array_seq.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(a,b)};cljs.core.array_seq.cljs$lang$maxFixedArity=2;cljs.core.RSeq=function(a,b,c){this.ci=a;this.i=b;this.meta=c;this.cljs$lang$protocol_mask$partition0$=32374990;this.cljs$lang$protocol_mask$partition1$=8192};cljs.core.RSeq.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};
cljs.core.RSeq.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.RSeq.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.RSeq.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count.cljs$core$IFn$_invoke$arity$1?cljs.core.count.cljs$core$IFn$_invoke$arity$1(this):cljs.core.count.call(null,this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-
1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();cljs.core.RSeq.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.RSeq.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.RSeq(this.ci,this.i,this.meta)};cljs.core.RSeq.prototype.cljs$core$INext$_next$arity$1=function(a){return 0<this.i?new cljs.core.RSeq(this.ci,this.i-1,null):null};
cljs.core.RSeq.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.i+1};cljs.core.RSeq.prototype.cljs$core$IHash$_hash$arity$1=function(a){return cljs.core.hash_ordered_coll(this)};cljs.core.RSeq.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential.cljs$core$IFn$_invoke$arity$2?cljs.core.equiv_sequential.cljs$core$IFn$_invoke$arity$2(this,b):cljs.core.equiv_sequential.call(null,this,b)};
cljs.core.RSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.List.EMPTY,this.meta)};cljs.core.RSeq.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2?cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this):cljs.core.seq_reduce.call(null,b,this)};
cljs.core.RSeq.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3?cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this):cljs.core.seq_reduce.call(null,b,c,this)};cljs.core.RSeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){return cljs.core._nth.cljs$core$IFn$_invoke$arity$2(this.ci,this.i)};cljs.core.RSeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){return 0<this.i?new cljs.core.RSeq(this.ci,this.i-1,null):cljs.core.List.EMPTY};
cljs.core.RSeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};cljs.core.RSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.RSeq(this.ci,this.i,b)};cljs.core.RSeq.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons.cljs$core$IFn$_invoke$arity$2?cljs.core.cons.cljs$core$IFn$_invoke$arity$2(b,this):cljs.core.cons.call(null,b,this)};
cljs.core.RSeq.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"ci","ci",2049808339,null),new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.Symbol(null,"meta","meta",-1154898805,null)],null)};cljs.core.RSeq.cljs$lang$type=!0;cljs.core.RSeq.cljs$lang$ctorStr="cljs.core/RSeq";cljs.core.RSeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/RSeq")};
cljs.core.__GT_RSeq=function(a,b,c){return new cljs.core.RSeq(a,b,c)};cljs.core.RSeq.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};cljs.core.second=function(a){return cljs.core.first(cljs.core.next(a))};cljs.core.ffirst=function(a){return cljs.core.first(cljs.core.first(a))};cljs.core.nfirst=function(a){return cljs.core.next(cljs.core.first(a))};cljs.core.fnext=function(a){return cljs.core.first(cljs.core.next(a))};cljs.core.nnext=function(a){return cljs.core.next(cljs.core.next(a))};
cljs.core.last=function(a){for(;;){var b=cljs.core.next(a);if(null!=b)a=b;else return cljs.core.first(a)}};cljs.core.IEquiv._=!0;cljs.core._equiv._=function(a,b){return a===b};
cljs.core.conj=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.core.conj.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.conj.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core.conj.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.PersistentVector.EMPTY};cljs.core.conj.cljs$core$IFn$_invoke$arity$1=function(a){return a};cljs.core.conj.cljs$core$IFn$_invoke$arity$2=function(a,b){return null!=a?cljs.core._conj(a,b):cljs.core._conj(cljs.core.List.EMPTY,b)};
cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;)if(cljs.core.truth_(c))a=cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,b),b=cljs.core.first(c),c=cljs.core.next(c);else return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,b)};cljs.core.conj.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.conj.cljs$lang$maxFixedArity=2;
cljs.core.empty=function(a){return null==a?null:cljs.core._empty(a)};cljs.core.accumulating_seq_count=function(a){a=cljs.core.seq(a);for(var b=0;;){if(cljs.core.counted_QMARK_(a))return b+cljs.core._count(a);a=cljs.core.next(a);b+=1}};
cljs.core.count=function(a){return null!=a?null!=a&&(a.cljs$lang$protocol_mask$partition0$&2||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ICounted$)?a.cljs$core$ICounted$_count$arity$1(null):cljs.core.array_QMARK_(a)?a.length:"string"===typeof a?a.length:null!=a&&(a.cljs$lang$protocol_mask$partition0$&8388608||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeqable$)?cljs.core.accumulating_seq_count(a):cljs.core._count(a):0};
cljs.core.linear_traversal_nth=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2=function(a,b){for(;;){if(null==a)throw Error("Index out of bounds");if(0===b){if(cljs.core.seq(a))return cljs.core.first(a);throw Error("Index out of bounds");}if(cljs.core.indexed_QMARK_(a))return cljs.core._nth.cljs$core$IFn$_invoke$arity$2(a,b);if(cljs.core.seq(a)){var c=cljs.core.next(a),d=b-1;a=c;b=d}else throw Error("Index out of bounds");}};
cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3=function(a,b,c){for(;;){if(null==a)return c;if(0===b)return cljs.core.seq(a)?cljs.core.first(a):c;if(cljs.core.indexed_QMARK_(a))return cljs.core._nth.cljs$core$IFn$_invoke$arity$3(a,b,c);if(cljs.core.seq(a))a=cljs.core.next(a),--b;else return c}};cljs.core.linear_traversal_nth.cljs$lang$maxFixedArity=3;
cljs.core.nth=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.nth.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.nth.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.nth.cljs$core$IFn$_invoke$arity$2=function(a,b){if("number"!==typeof b)throw Error("Index argument to nth must be a number");if(null==a)return a;if(null!=a&&(a.cljs$lang$protocol_mask$partition0$&16||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IIndexed$))return a.cljs$core$IIndexed$_nth$arity$2(null,b);if(cljs.core.array_QMARK_(a)){if(0<=b&&b<a.length)return a[b];throw Error("Index out of bounds");}if("string"===typeof a){if(0<=b&&b<a.length)return a.charAt(b);throw Error("Index out of bounds");
}if(null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$))return cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2(a,b);if(cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,a))return cljs.core._nth.cljs$core$IFn$_invoke$arity$2(a,b);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("nth not supported on this type "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type__GT_str(cljs.core.type(a)))].join(""));};
cljs.core.nth.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if("number"!==typeof b)throw Error("Index argument to nth must be a number.");if(null==a)return c;if(null!=a&&(a.cljs$lang$protocol_mask$partition0$&16||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IIndexed$))return a.cljs$core$IIndexed$_nth$arity$3(null,b,c);if(cljs.core.array_QMARK_(a))return 0<=b&&b<a.length?a[b]:c;if("string"===typeof a)return 0<=b&&b<a.length?a.charAt(b):c;if(null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
a.cljs$core$ISeq$))return cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3(a,b,c);if(cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,a))return cljs.core._nth.cljs$core$IFn$_invoke$arity$2(a,b);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("nth not supported on this type "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type__GT_str(cljs.core.type(a)))].join(""));};cljs.core.nth.cljs$lang$maxFixedArity=3;
cljs.core.nthrest=function(a,b){for(var c=b,d=a;;)if(0<c&&cljs.core.seq(d))--c,d=cljs.core.rest(d);else return d};
cljs.core.get=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.get.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.get.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.get.cljs$core$IFn$_invoke$arity$2=function(a,b){return null==a?null:null!=a&&(a.cljs$lang$protocol_mask$partition0$&256||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ILookup$)?a.cljs$core$ILookup$_lookup$arity$2(null,b):cljs.core.array_QMARK_(a)?null!=b&&b<a.length?a[b|0]:null:"string"===typeof a?null!=b&&b<a.length?a.charAt(b|0):null:cljs.core.native_satisfies_QMARK_(cljs.core.ILookup,a)?cljs.core._lookup.cljs$core$IFn$_invoke$arity$2(a,b):null};
cljs.core.get.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return null!=a?null!=a&&(a.cljs$lang$protocol_mask$partition0$&256||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ILookup$)?a.cljs$core$ILookup$_lookup$arity$3(null,b,c):cljs.core.array_QMARK_(a)?null!=b&&0<=b&&b<a.length?a[b|0]:c:"string"===typeof a?null!=b&&0<=b&&b<a.length?a.charAt(b|0):c:cljs.core.native_satisfies_QMARK_(cljs.core.ILookup,a)?cljs.core._lookup.cljs$core$IFn$_invoke$arity$3(a,b,c):c:c};
cljs.core.get.cljs$lang$maxFixedArity=3;cljs.core.assoc=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:return b=new cljs.core.IndexedSeq(b.slice(3),0,null),cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};
cljs.core.assoc.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return null!=a?cljs.core._assoc(a,b,c):cljs.core.PersistentArrayMap.createAsIfByAssoc([b,c])};cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){for(;;)if(a=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,b,c),cljs.core.truth_(d))b=cljs.core.first(d),c=cljs.core.second(d),d=cljs.core.nnext(d);else return a};
cljs.core.assoc.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c),c=cljs.core.first(d),d=cljs.core.next(d);return cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};cljs.core.assoc.cljs$lang$maxFixedArity=3;
cljs.core.dissoc=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.dissoc.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core.dissoc.cljs$core$IFn$_invoke$arity$1=function(a){return a};
cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2=function(a,b){return null==a?null:cljs.core._dissoc(a,b)};cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;){if(null==a)return null;a=cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(a,b);if(cljs.core.truth_(c))b=cljs.core.first(c),c=cljs.core.next(c);else return a}};
cljs.core.dissoc.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.dissoc.cljs$lang$maxFixedArity=2;
cljs.core.fn_QMARK_=function(a){var b=goog.isFunction(a);return b?b:null!=a?cljs.core.PROTOCOL_SENTINEL===a.cljs$core$Fn$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.Fn,a):cljs.core.native_satisfies_QMARK_(cljs.core.Fn,a)};cljs.core.MetaFn=function(a,b){this.afn=a;this.meta=b;this.cljs$lang$protocol_mask$partition0$=393217;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.MetaFn.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};
cljs.core.MetaFn.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.MetaFn(this.afn,b)};cljs.core.MetaFn.prototype.cljs$core$Fn$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.MetaFn.prototype.call=function(){var a=null,b=function(a){a=this;return a.afn.cljs$core$IFn$_invoke$arity$0?a.afn.cljs$core$IFn$_invoke$arity$0():a.afn.call(null)},c=function(a,b){a=this;return a.afn.cljs$core$IFn$_invoke$arity$1?a.afn.cljs$core$IFn$_invoke$arity$1(b):a.afn.call(null,b)},d=function(a,b,c){a=this;return a.afn.cljs$core$IFn$_invoke$arity$2?a.afn.cljs$core$IFn$_invoke$arity$2(b,c):a.afn.call(null,b,c)},e=function(a,b,c,d){a=this;return a.afn.cljs$core$IFn$_invoke$arity$3?a.afn.cljs$core$IFn$_invoke$arity$3(b,
c,d):a.afn.call(null,b,c,d)},f=function(a,b,c,d,e){a=this;return a.afn.cljs$core$IFn$_invoke$arity$4?a.afn.cljs$core$IFn$_invoke$arity$4(b,c,d,e):a.afn.call(null,b,c,d,e)},g=function(a,b,c,d,e,f){a=this;return a.afn.cljs$core$IFn$_invoke$arity$5?a.afn.cljs$core$IFn$_invoke$arity$5(b,c,d,e,f):a.afn.call(null,b,c,d,e,f)},h=function(a,b,c,d,e,f,g){a=this;return a.afn.cljs$core$IFn$_invoke$arity$6?a.afn.cljs$core$IFn$_invoke$arity$6(b,c,d,e,f,g):a.afn.call(null,b,c,d,e,f,g)},k=function(a,b,c,d,e,f,g,
h){a=this;return a.afn.cljs$core$IFn$_invoke$arity$7?a.afn.cljs$core$IFn$_invoke$arity$7(b,c,d,e,f,g,h):a.afn.call(null,b,c,d,e,f,g,h)},l=function(a,b,c,d,e,f,g,h,k){a=this;return a.afn.cljs$core$IFn$_invoke$arity$8?a.afn.cljs$core$IFn$_invoke$arity$8(b,c,d,e,f,g,h,k):a.afn.call(null,b,c,d,e,f,g,h,k)},m=function(a,b,c,d,e,f,g,h,k,l){a=this;return a.afn.cljs$core$IFn$_invoke$arity$9?a.afn.cljs$core$IFn$_invoke$arity$9(b,c,d,e,f,g,h,k,l):a.afn.call(null,b,c,d,e,f,g,h,k,l)},n=function(a,b,c,d,e,f,g,
h,k,l,m){a=this;return a.afn.cljs$core$IFn$_invoke$arity$10?a.afn.cljs$core$IFn$_invoke$arity$10(b,c,d,e,f,g,h,k,l,m):a.afn.call(null,b,c,d,e,f,g,h,k,l,m)},p=function(a,b,c,d,e,f,g,h,k,l,m,n){a=this;return a.afn.cljs$core$IFn$_invoke$arity$11?a.afn.cljs$core$IFn$_invoke$arity$11(b,c,d,e,f,g,h,k,l,m,n):a.afn.call(null,b,c,d,e,f,g,h,k,l,m,n)},q=function(a,b,c,d,e,f,g,h,k,l,m,n,p){a=this;return a.afn.cljs$core$IFn$_invoke$arity$12?a.afn.cljs$core$IFn$_invoke$arity$12(b,c,d,e,f,g,h,k,l,m,n,p):a.afn.call(null,
b,c,d,e,f,g,h,k,l,m,n,p)},r=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){a=this;return a.afn.cljs$core$IFn$_invoke$arity$13?a.afn.cljs$core$IFn$_invoke$arity$13(b,c,d,e,f,g,h,k,l,m,n,p,q):a.afn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q)},u=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){a=this;return a.afn.cljs$core$IFn$_invoke$arity$14?a.afn.cljs$core$IFn$_invoke$arity$14(b,c,d,e,f,g,h,k,l,m,n,p,q,r):a.afn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r)},t=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){a=this;return a.afn.cljs$core$IFn$_invoke$arity$15?
a.afn.cljs$core$IFn$_invoke$arity$15(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u):a.afn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u)},v=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){a=this;return a.afn.cljs$core$IFn$_invoke$arity$16?a.afn.cljs$core$IFn$_invoke$arity$16(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t):a.afn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t)},w=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){a=this;return a.afn.cljs$core$IFn$_invoke$arity$17?a.afn.cljs$core$IFn$_invoke$arity$17(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,
v):a.afn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v)},x=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){a=this;return a.afn.cljs$core$IFn$_invoke$arity$18?a.afn.cljs$core$IFn$_invoke$arity$18(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w):a.afn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w)},y=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z){a=this;return a.afn.cljs$core$IFn$_invoke$arity$19?a.afn.cljs$core$IFn$_invoke$arity$19(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z):a.afn.call(null,b,c,d,e,f,g,h,k,l,m,n,
p,q,r,u,t,v,w,z)},z=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x){a=this;return a.afn.cljs$core$IFn$_invoke$arity$20?a.afn.cljs$core$IFn$_invoke$arity$20(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x):a.afn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x)},A=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,A){a=this;return cljs.core.apply.cljs$core$IFn$_invoke$arity$22?cljs.core.apply.cljs$core$IFn$_invoke$arity$22(a.afn,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,A):cljs.core.apply.call(null,a.afn,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,A)},a=function(a,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q,S,V,T,U,R,X){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,B);case 3:return d.call(this,a,B,C);case 4:return e.call(this,a,B,C,G);case 5:return f.call(this,a,B,C,G,E);case 6:return g.call(this,a,B,C,G,E,D);case 7:return h.call(this,a,B,C,G,E,D,L);case 8:return k.call(this,a,B,C,G,E,D,L,F);case 9:return l.call(this,a,B,C,G,E,D,L,F,K);case 10:return m.call(this,a,B,C,G,E,D,L,F,
K,M);case 11:return n.call(this,a,B,C,G,E,D,L,F,K,M,I);case 12:return p.call(this,a,B,C,G,E,D,L,F,K,M,I,H);case 13:return q.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P);case 14:return r.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O);case 15:return u.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O,N);case 16:return t.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q);case 17:return v.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q,S);case 18:return w.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q,S,V);case 19:return x.call(this,a,B,C,G,E,D,L,
F,K,M,I,H,P,O,N,Q,S,V,T);case 20:return y.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q,S,V,T,U);case 21:return z.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q,S,V,T,U,R);case 22:return A.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q,S,V,T,U,R,X)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;a.cljs$core$IFn$_invoke$arity$3=d;a.cljs$core$IFn$_invoke$arity$4=e;a.cljs$core$IFn$_invoke$arity$5=f;a.cljs$core$IFn$_invoke$arity$6=g;a.cljs$core$IFn$_invoke$arity$7=
h;a.cljs$core$IFn$_invoke$arity$8=k;a.cljs$core$IFn$_invoke$arity$9=l;a.cljs$core$IFn$_invoke$arity$10=m;a.cljs$core$IFn$_invoke$arity$11=n;a.cljs$core$IFn$_invoke$arity$12=p;a.cljs$core$IFn$_invoke$arity$13=q;a.cljs$core$IFn$_invoke$arity$14=r;a.cljs$core$IFn$_invoke$arity$15=u;a.cljs$core$IFn$_invoke$arity$16=t;a.cljs$core$IFn$_invoke$arity$17=v;a.cljs$core$IFn$_invoke$arity$18=w;a.cljs$core$IFn$_invoke$arity$19=x;a.cljs$core$IFn$_invoke$arity$20=y;a.cljs$core$IFn$_invoke$arity$21=z;a.cljs$core$IFn$_invoke$arity$22=
A;return a}();cljs.core.MetaFn.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$0=function(){return this.afn.cljs$core$IFn$_invoke$arity$0?this.afn.cljs$core$IFn$_invoke$arity$0():this.afn.call(null)};cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.afn.cljs$core$IFn$_invoke$arity$1?this.afn.cljs$core$IFn$_invoke$arity$1(a):this.afn.call(null,a)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.afn.cljs$core$IFn$_invoke$arity$2?this.afn.cljs$core$IFn$_invoke$arity$2(a,b):this.afn.call(null,a,b)};cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return this.afn.cljs$core$IFn$_invoke$arity$3?this.afn.cljs$core$IFn$_invoke$arity$3(a,b,c):this.afn.call(null,a,b,c)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return this.afn.cljs$core$IFn$_invoke$arity$4?this.afn.cljs$core$IFn$_invoke$arity$4(a,b,c,d):this.afn.call(null,a,b,c,d)};cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){return this.afn.cljs$core$IFn$_invoke$arity$5?this.afn.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e):this.afn.call(null,a,b,c,d,e)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){return this.afn.cljs$core$IFn$_invoke$arity$6?this.afn.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f):this.afn.call(null,a,b,c,d,e,f)};cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$7=function(a,b,c,d,e,f,g){return this.afn.cljs$core$IFn$_invoke$arity$7?this.afn.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g):this.afn.call(null,a,b,c,d,e,f,g)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$8=function(a,b,c,d,e,f,g,h){return this.afn.cljs$core$IFn$_invoke$arity$8?this.afn.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h):this.afn.call(null,a,b,c,d,e,f,g,h)};cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$9=function(a,b,c,d,e,f,g,h,k){return this.afn.cljs$core$IFn$_invoke$arity$9?this.afn.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,k):this.afn.call(null,a,b,c,d,e,f,g,h,k)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$10=function(a,b,c,d,e,f,g,h,k,l){return this.afn.cljs$core$IFn$_invoke$arity$10?this.afn.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,k,l):this.afn.call(null,a,b,c,d,e,f,g,h,k,l)};cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$11=function(a,b,c,d,e,f,g,h,k,l,m){return this.afn.cljs$core$IFn$_invoke$arity$11?this.afn.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,k,l,m):this.afn.call(null,a,b,c,d,e,f,g,h,k,l,m)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$12=function(a,b,c,d,e,f,g,h,k,l,m,n){return this.afn.cljs$core$IFn$_invoke$arity$12?this.afn.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,k,l,m,n):this.afn.call(null,a,b,c,d,e,f,g,h,k,l,m,n)};cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$13=function(a,b,c,d,e,f,g,h,k,l,m,n,p){return this.afn.cljs$core$IFn$_invoke$arity$13?this.afn.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,k,l,m,n,p):this.afn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$14=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return this.afn.cljs$core$IFn$_invoke$arity$14?this.afn.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,k,l,m,n,p,q):this.afn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$15=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return this.afn.cljs$core$IFn$_invoke$arity$15?this.afn.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r):this.afn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$16=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return this.afn.cljs$core$IFn$_invoke$arity$16?this.afn.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u):this.afn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$17=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){return this.afn.cljs$core$IFn$_invoke$arity$17?this.afn.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t):this.afn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$18=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return this.afn.cljs$core$IFn$_invoke$arity$18?this.afn.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v):this.afn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$19=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){return this.afn.cljs$core$IFn$_invoke$arity$19?this.afn.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w):this.afn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$20=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x){return this.afn.cljs$core$IFn$_invoke$arity$20?this.afn.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x):this.afn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x)};
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$21=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y){return cljs.core.apply.cljs$core$IFn$_invoke$arity$22?cljs.core.apply.cljs$core$IFn$_invoke$arity$22(this.afn,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y):cljs.core.apply.call(null,this.afn,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y)};
cljs.core.MetaFn.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"afn","afn",216963467,null),new cljs.core.Symbol(null,"meta","meta",-1154898805,null)],null)};cljs.core.MetaFn.cljs$lang$type=!0;cljs.core.MetaFn.cljs$lang$ctorStr="cljs.core/MetaFn";cljs.core.MetaFn.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/MetaFn")};
cljs.core.__GT_MetaFn=function(a,b){return new cljs.core.MetaFn(a,b)};cljs.core.with_meta=function(a,b){return goog.isFunction(a)?new cljs.core.MetaFn(a,b):null==a?null:cljs.core._with_meta(a,b)};
cljs.core.meta=function(a){var b=null!=a;return(b?null!=a?a.cljs$lang$protocol_mask$partition0$&131072||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IMeta$||(a.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_(cljs.core.IMeta,a)):cljs.core.native_satisfies_QMARK_(cljs.core.IMeta,a):b)?cljs.core._meta(a):null};cljs.core.peek=function(a){return null==a?null:cljs.core._peek(a)};cljs.core.pop=function(a){return null==a?null:cljs.core._pop(a)};
cljs.core.disj=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.disj.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.disj.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.disj.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core.disj.cljs$core$IFn$_invoke$arity$1=function(a){return a};
cljs.core.disj.cljs$core$IFn$_invoke$arity$2=function(a,b){return null==a?null:cljs.core._disjoin(a,b)};cljs.core.disj.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;){if(null==a)return null;a=cljs.core.disj.cljs$core$IFn$_invoke$arity$2(a,b);if(cljs.core.truth_(c))b=cljs.core.first(c),c=cljs.core.next(c);else return a}};
cljs.core.disj.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.disj.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.disj.cljs$lang$maxFixedArity=2;cljs.core.empty_QMARK_=function(a){return null==a||cljs.core.not(cljs.core.seq(a))};
cljs.core.coll_QMARK_=function(a){return null==a?!1:null!=a?a.cljs$lang$protocol_mask$partition0$&8||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ICollection$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.ICollection,a):cljs.core.native_satisfies_QMARK_(cljs.core.ICollection,a)};
cljs.core.set_QMARK_=function(a){return null==a?!1:null!=a?a.cljs$lang$protocol_mask$partition0$&4096||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISet$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.ISet,a):cljs.core.native_satisfies_QMARK_(cljs.core.ISet,a)};
cljs.core.associative_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&512||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IAssociative$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.IAssociative,a):cljs.core.native_satisfies_QMARK_(cljs.core.IAssociative,a)};
cljs.core.ifind_QMARK_=function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IFind$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.IFind,a):cljs.core.native_satisfies_QMARK_(cljs.core.IFind,a)};
cljs.core.sequential_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&16777216||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISequential$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,a):cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,a)};
cljs.core.sorted_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&268435456||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISorted$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.ISorted,a):cljs.core.native_satisfies_QMARK_(cljs.core.ISorted,a)};
cljs.core.reduceable_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&524288||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IReduce$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,a):cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,a)};
cljs.core.map_QMARK_=function(a){return null==a?!1:null!=a?a.cljs$lang$protocol_mask$partition0$&1024||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IMap$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.IMap,a):cljs.core.native_satisfies_QMARK_(cljs.core.IMap,a)};
cljs.core.record_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&67108864||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IRecord$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.IRecord,a):cljs.core.native_satisfies_QMARK_(cljs.core.IRecord,a)};
cljs.core.vector_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&16384||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IVector$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.IVector,a):cljs.core.native_satisfies_QMARK_(cljs.core.IVector,a)};cljs.core.chunked_seq_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition1$&512||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IChunkedSeq$?!0:!1:!1};
cljs.core.js_obj=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.core.js_obj.cljs$core$IFn$_invoke$arity$0();default:return b=new cljs.core.IndexedSeq(b.slice(0),0,null),cljs.core.js_obj.cljs$core$IFn$_invoke$arity$variadic(b)}};cljs.core.js_obj.cljs$core$IFn$_invoke$arity$0=function(){return{}};
cljs.core.js_obj.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.apply.cljs$core$IFn$_invoke$arity$2?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(goog.object.create,a):cljs.core.apply.call(null,goog.object.create,a)};cljs.core.js_obj.cljs$lang$applyTo=function(a){return cljs.core.js_obj.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};cljs.core.js_obj.cljs$lang$maxFixedArity=0;
cljs.core.js_keys=function(a){var b=[],c=function(a,b){return function(a,c,d){return b.push(c)}}(a,b);goog.object.forEach(a,c);return b};cljs.core.js_delete=function(a,b){return delete a[b]};cljs.core.array_copy=function(a,b,c,d,e){for(;;){if(0===e)return c;c[d]=a[b];d+=1;--e;b+=1}};cljs.core.array_copy_downward=function(a,b,c,d,e){b+=e-1;for(d+=e-1;;){if(0===e)return c;c[d]=a[b];--d;--e;--b}};cljs.core.lookup_sentinel={};cljs.core.false_QMARK_=function(a){return!1===a};
cljs.core.true_QMARK_=function(a){return!0===a};cljs.core.boolean_QMARK_=function(a){return!0===a||!1===a};cljs.core.undefined_QMARK_=function(a){return void 0===a};cljs.core.seq_QMARK_=function(a){return null==a?!1:null!=a?a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.ISeq,a):cljs.core.native_satisfies_QMARK_(cljs.core.ISeq,a)};
cljs.core.seqable_QMARK_=function(a){var b=null!=a?a.cljs$lang$protocol_mask$partition0$&8388608||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeqable$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,a):cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,a);return b?b:cljs.core.array_QMARK_(a)||"string"===typeof a};cljs.core.boolean$=function(a){return null==a?!1:!1===a?!1:!0};
cljs.core.ifn_QMARK_=function(a){var b=cljs.core.fn_QMARK_(a);return b?b:null!=a?a.cljs$lang$protocol_mask$partition0$&1||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IFn$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.IFn,a):cljs.core.native_satisfies_QMARK_(cljs.core.IFn,a)};cljs.core.integer_QMARK_=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity!==a&&parseFloat(a)===parseInt(a,10)};
cljs.core.int_QMARK_=function(a){return cljs.core.integer_QMARK_(a)||a instanceof goog.math.Integer||a instanceof goog.math.Long};cljs.core.pos_int_QMARK_=function(a){return cljs.core.integer_QMARK_(a)?0<a:a instanceof goog.math.Integer?cljs.core.not(a.isNegative())&&cljs.core.not(a.isZero()):a instanceof goog.math.Long?cljs.core.not(a.isNegative())&&cljs.core.not(a.isZero()):!1};
cljs.core.neg_int_QMARK_=function(a){return cljs.core.integer_QMARK_(a)?0>a:a instanceof goog.math.Integer?a.isNegative():a instanceof goog.math.Long?a.isNegative():!1};cljs.core.nat_int_QMARK_=function(a){var b;return cljs.core.integer_QMARK_(a)?!(0>a)||0===a:a instanceof goog.math.Integer||a instanceof goog.math.Long?(b=cljs.core.not(a.isNegative()))?b:a.isZero():!1};cljs.core.float_QMARK_=function(a){return"number"===typeof a};cljs.core.double_QMARK_=function(a){return"number"===typeof a};
cljs.core.infinite_QMARK_=function(a){return a===Number.POSITIVE_INFINITY||a===Number.NEGATIVE_INFINITY};cljs.core.contains_QMARK_=function(a,b){return cljs.core.get.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.lookup_sentinel)===cljs.core.lookup_sentinel?!1:!0};
cljs.core.find=function(a,b){return null!=a&&cljs.core.associative_QMARK_(a)&&cljs.core.contains_QMARK_(a,b)?cljs.core.ifind_QMARK_(a)?cljs.core._find(a,b):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,b)],null):null};
cljs.core.distinct_QMARK_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$1=function(a){return!0};cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$2=function(a,b){return!cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,b)};
cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,b))return!1;a=cljs.core.PersistentHashSet.createAsIfByAssoc([a,b]);for(b=c;;){var d=cljs.core.first(b);c=cljs.core.next(b);if(cljs.core.truth_(b)){if(cljs.core.contains_QMARK_(a,d))return!1;a=cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,d);b=c}else return!0}};
cljs.core.distinct_QMARK_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.distinct_QMARK_.cljs$lang$maxFixedArity=2;
cljs.core.compare=function(a,b){if(a===b)return 0;if(null==a)return-1;if(null==b)return 1;if("number"===typeof a){if("number"===typeof b)return goog.array.defaultCompare(a,b);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Cannot compare "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" to "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));}if(null!=a?a.cljs$lang$protocol_mask$partition1$&2048||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IComparable$||
(a.cljs$lang$protocol_mask$partition1$?0:cljs.core.native_satisfies_QMARK_(cljs.core.IComparable,a)):cljs.core.native_satisfies_QMARK_(cljs.core.IComparable,a))return cljs.core._compare(a,b);if("string"!==typeof a&&!cljs.core.array_QMARK_(a)&&!0!==a&&!1!==a||cljs.core.type(a)!==cljs.core.type(b))throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Cannot compare "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" to "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));
return goog.array.defaultCompare(a,b)};
cljs.core.compare_indexed=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 4:return cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.core.count(a),d=cljs.core.count(b);return c<d?-1:c>d?1:0===c?0:cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4(a,b,c,0)};cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){for(;;){var e=cljs.core.compare(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(a,d),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(b,d));if(0===e&&d+1<c)d+=1;else return e}};
cljs.core.compare_indexed.cljs$lang$maxFixedArity=4;cljs.core.fn__GT_comparator=function(a){return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,cljs.core.compare)?cljs.core.compare:function(b,c){var d=a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c);return"number"===typeof d?d:cljs.core.truth_(d)?-1:cljs.core.truth_(a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,b):a.call(null,c,b))?1:0}};
cljs.core.sort=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.sort.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.sort.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.sort.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.sort.cljs$core$IFn$_invoke$arity$2(cljs.core.compare,a)};cljs.core.sort.cljs$core$IFn$_invoke$arity$2=function(a,b){if(cljs.core.seq(b)){var c=cljs.core.to_array.cljs$core$IFn$_invoke$arity$1?cljs.core.to_array.cljs$core$IFn$_invoke$arity$1(b):cljs.core.to_array.call(null,b),d=cljs.core.fn__GT_comparator(a);goog.array.stableSort(c,d);return cljs.core.seq(c)}return cljs.core.List.EMPTY};
cljs.core.sort.cljs$lang$maxFixedArity=2;
cljs.core.sort_by=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.sort_by.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.sort_by.cljs$core$IFn$_invoke$arity$3(a,cljs.core.compare,b)};cljs.core.sort_by.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.sort.cljs$core$IFn$_invoke$arity$2(function(c,e){return cljs.core.fn__GT_comparator(b).call(null,a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c),a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(e):a.call(null,e))},c)};
cljs.core.sort_by.cljs$lang$maxFixedArity=3;
cljs.core.seq_reduce=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.core.seq(b);if(c){var d=cljs.core.first(c),c=cljs.core.next(c);return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3?cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(a,d,c):cljs.core.reduce.call(null,a,d,c)}return a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null)};
cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3=function(a,b,c){for(c=cljs.core.seq(c);;)if(c){var d=cljs.core.first(c);b=a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,d):a.call(null,b,d);if(cljs.core.reduced_QMARK_(b))return cljs.core.deref(b);c=cljs.core.next(c)}else return b};cljs.core.seq_reduce.cljs$lang$maxFixedArity=3;
cljs.core.shuffle=function(a){a=cljs.core.to_array.cljs$core$IFn$_invoke$arity$1?cljs.core.to_array.cljs$core$IFn$_invoke$arity$1(a):cljs.core.to_array.call(null,a);goog.array.shuffle(a);return cljs.core.vec.cljs$core$IFn$_invoke$arity$1?cljs.core.vec.cljs$core$IFn$_invoke$arity$1(a):cljs.core.vec.call(null,a)};
cljs.core.reduce=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.reduce.cljs$core$IFn$_invoke$arity$2=function(a,b){return null!=b&&(b.cljs$lang$protocol_mask$partition0$&524288||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$IReduce$)?b.cljs$core$IReduce$_reduce$arity$2(null,a):cljs.core.array_QMARK_(b)?cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2(b,a):"string"===typeof b?cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2(b,a):cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,b)?cljs.core._reduce.cljs$core$IFn$_invoke$arity$2(b,a):cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(a,
b)};
cljs.core.reduce.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return null!=c&&(c.cljs$lang$protocol_mask$partition0$&524288||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$IReduce$)?c.cljs$core$IReduce$_reduce$arity$3(null,a,b):cljs.core.array_QMARK_(c)?cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3(c,a,b):"string"===typeof c?cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3(c,a,b):cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,c)?cljs.core._reduce.cljs$core$IFn$_invoke$arity$3(c,a,b):cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(a,
b,c)};cljs.core.reduce.cljs$lang$maxFixedArity=3;cljs.core.reduce_kv=function(a,b,c){return null!=c?cljs.core._kv_reduce(c,a,b):b};cljs.core.identity=function(a){return a};
cljs.core.completing=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.completing.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.completing.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.completing.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.completing.cljs$core$IFn$_invoke$arity$2(a,cljs.core.identity)};
cljs.core.completing.cljs$core$IFn$_invoke$arity$2=function(a,b){return function(){var c=null,d=function(){return a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null)},e=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},f=function(b,c){return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c)},c=function(a,b){switch(arguments.length){case 0:return d.call(this);case 1:return e.call(this,
a);case 2:return f.call(this,a,b)}throw Error("Invalid arity: "+(arguments.length-1));};c.cljs$core$IFn$_invoke$arity$0=d;c.cljs$core$IFn$_invoke$arity$1=e;c.cljs$core$IFn$_invoke$arity$2=f;return c}()};cljs.core.completing.cljs$lang$maxFixedArity=2;
cljs.core.transduce=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return cljs.core.transduce.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};cljs.core.transduce.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(a,b,b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null),c)};
cljs.core.transduce.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){a=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b);c=cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(a,c,d);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c)};cljs.core.transduce.cljs$lang$maxFixedArity=4;
cljs.core._PLUS_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$0=function(){return 0};cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$1=function(a){return a};cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$2=function(a,b){return a+b};cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._PLUS_,a+b,c)};
cljs.core._PLUS_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core._PLUS_.cljs$lang$maxFixedArity=2;
cljs.core._=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core._.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core._.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core._.cljs$core$IFn$_invoke$arity$1=function(a){return-a};
cljs.core._.cljs$core$IFn$_invoke$arity$2=function(a,b){return a-b};cljs.core._.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._,a-b,c)};cljs.core._.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core._.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core._.cljs$lang$maxFixedArity=2;
cljs.core._STAR_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.core._STAR_.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core._STAR_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._STAR_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core._STAR_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core._STAR_.cljs$core$IFn$_invoke$arity$0=function(){return 1};cljs.core._STAR_.cljs$core$IFn$_invoke$arity$1=function(a){return a};cljs.core._STAR_.cljs$core$IFn$_invoke$arity$2=function(a,b){return a*b};cljs.core._STAR_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._STAR_,a*b,c)};
cljs.core._STAR_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core._STAR_.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core._STAR_.cljs$lang$maxFixedArity=2;
cljs.core._SLASH_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$1=function(a){return 1/a};cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$2=function(a,b){return a/b};cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._SLASH_,a/b,c)};cljs.core._SLASH_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
cljs.core._SLASH_.cljs$lang$maxFixedArity=2;cljs.core._LT_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core._LT_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._LT_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core._LT_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core._LT_.cljs$core$IFn$_invoke$arity$1=function(a){return!0};cljs.core._LT_.cljs$core$IFn$_invoke$arity$2=function(a,b){return a<b};cljs.core._LT_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;)if(a<b)if(cljs.core.next(c))a=b,b=cljs.core.first(c),c=cljs.core.next(c);else return b<cljs.core.first(c);else return!1};
cljs.core._LT_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core._LT_.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core._LT_.cljs$lang$maxFixedArity=2;
cljs.core._LT__EQ_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$1=function(a){return!0};
cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$2=function(a,b){return a<=b};cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;)if(a<=b)if(cljs.core.next(c))a=b,b=cljs.core.first(c),c=cljs.core.next(c);else return b<=cljs.core.first(c);else return!1};cljs.core._LT__EQ_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
cljs.core._LT__EQ_.cljs$lang$maxFixedArity=2;cljs.core._GT_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core._GT_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._GT_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core._GT_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core._GT_.cljs$core$IFn$_invoke$arity$1=function(a){return!0};cljs.core._GT_.cljs$core$IFn$_invoke$arity$2=function(a,b){return a>b};cljs.core._GT_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;)if(a>b)if(cljs.core.next(c))a=b,b=cljs.core.first(c),c=cljs.core.next(c);else return b>cljs.core.first(c);else return!1};
cljs.core._GT_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core._GT_.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core._GT_.cljs$lang$maxFixedArity=2;
cljs.core._GT__EQ_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$1=function(a){return!0};
cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$2=function(a,b){return a>=b};cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;)if(a>=b)if(cljs.core.next(c))a=b,b=cljs.core.first(c),c=cljs.core.next(c);else return b>=cljs.core.first(c);else return!1};cljs.core._GT__EQ_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
cljs.core._GT__EQ_.cljs$lang$maxFixedArity=2;cljs.core.dec=function(a){return a-1};
cljs.core.max=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.max.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.max.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.max.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core.max.cljs$core$IFn$_invoke$arity$1=function(a){return a};
cljs.core.max.cljs$core$IFn$_invoke$arity$2=function(a,b){return a>b?a:b};cljs.core.max.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.max,a>b?a:b,c)};cljs.core.max.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.max.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.max.cljs$lang$maxFixedArity=2;
cljs.core.min=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.min.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.min.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.min.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core.min.cljs$core$IFn$_invoke$arity$1=function(a){return a};
cljs.core.min.cljs$core$IFn$_invoke$arity$2=function(a,b){return a<b?a:b};cljs.core.min.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.min,a<b?a:b,c)};cljs.core.min.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.min.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.min.cljs$lang$maxFixedArity=2;cljs.core.byte$=function(a){return a};
cljs.core.char$=function(a){if("number"===typeof a)return String.fromCharCode(a);if("string"===typeof a&&1===a.length)return a;throw Error("Argument to char must be a character or number");};cljs.core.short$=function(a){return a};cljs.core.float$=function(a){return a};cljs.core.double$=function(a){return a};cljs.core.unchecked_byte=function(a){return a};cljs.core.unchecked_char=function(a){return a};cljs.core.unchecked_short=function(a){return a};cljs.core.unchecked_float=function(a){return a};
cljs.core.unchecked_double=function(a){return a};
cljs.core.unchecked_add=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],
b)}};cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$0=function(){return 0};cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$1=function(a){return a};cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$2=function(a,b){return a+b};cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_add,a+b,c)};
cljs.core.unchecked_add.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.unchecked_add.cljs$lang$maxFixedArity=2;
cljs.core.unchecked_add_int=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$variadic(arguments[0],
arguments[1],b)}};cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$0=function(){return 0};cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$1=function(a){return a};cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$2=function(a,b){return a+b};cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_add_int,a+b,c)};
cljs.core.unchecked_add_int.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.unchecked_add_int.cljs$lang$maxFixedArity=2;cljs.core.unchecked_dec=function(a){return a-1};cljs.core.unchecked_dec_int=function(a){return a-1};
cljs.core.unchecked_divide_int=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$1=function(a){return 1/a};cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$2=function(a,b){return a/b};cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_divide_int,a/b,c)};
cljs.core.unchecked_divide_int.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.unchecked_divide_int.cljs$lang$maxFixedArity=2;cljs.core.unchecked_inc=function(a){return a+1};cljs.core.unchecked_inc_int=function(a){return a+1};
cljs.core.unchecked_multiply=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$variadic(arguments[0],
arguments[1],b)}};cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$0=function(){return 1};cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$1=function(a){return a};cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$2=function(a,b){return a*b};cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_multiply,a*b,c)};
cljs.core.unchecked_multiply.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.unchecked_multiply.cljs$lang$maxFixedArity=2;
cljs.core.unchecked_multiply_int=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$variadic(arguments[0],
arguments[1],b)}};cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$0=function(){return 1};cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$1=function(a){return a};cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$2=function(a,b){return a*b};cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_multiply_int,a*b,c)};
cljs.core.unchecked_multiply_int.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.unchecked_multiply_int.cljs$lang$maxFixedArity=2;cljs.core.unchecked_negate=function(a){return-a};cljs.core.unchecked_negate_int=function(a){return-a};
cljs.core.unchecked_remainder_int=function(a,b){return cljs.core.mod.cljs$core$IFn$_invoke$arity$2?cljs.core.mod.cljs$core$IFn$_invoke$arity$2(a,b):cljs.core.mod.call(null,a,b)};
cljs.core.unchecked_subtract=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$1=function(a){return-a};cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$2=function(a,b){return a-b};cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_subtract,a-b,c)};
cljs.core.unchecked_subtract.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.unchecked_subtract.cljs$lang$maxFixedArity=2;
cljs.core.unchecked_subtract_int=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$1=function(a){return-a};cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$2=function(a,b){return a-b};cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_subtract_int,a-b,c)};
cljs.core.unchecked_subtract_int.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.unchecked_subtract_int.cljs$lang$maxFixedArity=2;cljs.core.fix=function(a){return 0<=a?Math.floor(a):Math.ceil(a)};cljs.core.int$=function(a){return a|0};cljs.core.unchecked_int=function(a){return cljs.core.fix(a)};cljs.core.long$=function(a){return cljs.core.fix(a)};
cljs.core.unchecked_long=function(a){return cljs.core.fix(a)};cljs.core.booleans=function(a){return a};cljs.core.bytes=function(a){return a};cljs.core.chars=function(a){return a};cljs.core.shorts=function(a){return a};cljs.core.ints=function(a){return a};cljs.core.floats=function(a){return a};cljs.core.doubles=function(a){return a};cljs.core.longs=function(a){return a};cljs.core.js_mod=function(a,b){return a%b};cljs.core.mod=function(a,b){return(a%b+b)%b};
cljs.core.quot=function(a,b){return cljs.core.fix((a-a%b)/b)};cljs.core.rem=function(a,b){var c=cljs.core.quot(a,b);return a-b*c};cljs.core.bit_xor=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$2=function(a,b){return a^b};cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_xor,a^b,c)};cljs.core.bit_xor.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.bit_xor.cljs$lang$maxFixedArity=2;
cljs.core.bit_and=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.bit_and.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.bit_and.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core.bit_and.cljs$core$IFn$_invoke$arity$2=function(a,b){return a&b};
cljs.core.bit_and.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_and,a&b,c)};cljs.core.bit_and.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.bit_and.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.bit_and.cljs$lang$maxFixedArity=2;
cljs.core.bit_or=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.bit_or.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.bit_or.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core.bit_or.cljs$core$IFn$_invoke$arity$2=function(a,b){return a|b};
cljs.core.bit_or.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_or,a|b,c)};cljs.core.bit_or.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.bit_or.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.bit_or.cljs$lang$maxFixedArity=2;
cljs.core.bit_and_not=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$2=function(a,b){return a&~b};
cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_and_not,a&~b,c)};cljs.core.bit_and_not.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.bit_and_not.cljs$lang$maxFixedArity=2;cljs.core.bit_clear=function(a,b){return a&~(1<<b)};
cljs.core.bit_flip=function(a,b){return a^1<<b};cljs.core.bit_not=function(a){return~a};cljs.core.bit_set=function(a,b){return a|1<<b};cljs.core.bit_test=function(a,b){return 0!=(a&1<<b)};cljs.core.bit_shift_left=function(a,b){return a<<b};cljs.core.bit_shift_right=function(a,b){return a>>b};cljs.core.bit_shift_right_zero_fill=function(a,b){return a>>>b};cljs.core.unsigned_bit_shift_right=function(a,b){return a>>>b};
cljs.core.bit_count=function(a){a-=a>>1&1431655765;a=(a&858993459)+(a>>2&858993459);return 16843009*(a+(a>>4)&252645135)>>24};
cljs.core._EQ__EQ_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$1=function(a){return!0};
cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core._equiv(a,b)};cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;)if(a===b)if(cljs.core.next(c))a=b,b=cljs.core.first(c),c=cljs.core.next(c);else return b===cljs.core.first(c);else return!1};cljs.core._EQ__EQ_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
cljs.core._EQ__EQ_.cljs$lang$maxFixedArity=2;cljs.core.pos_QMARK_=function(a){return 0<a};cljs.core.zero_QMARK_=function(a){return 0===a};cljs.core.neg_QMARK_=function(a){return 0>a};cljs.core.nthnext=function(a,b){for(var c=b,d=cljs.core.seq(a);;)if(d&&0<c)--c,d=cljs.core.next(d);else return d};
cljs.core.str=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.core.str.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:return b=new cljs.core.IndexedSeq(b.slice(1),0,null),cljs.core.str.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)}};cljs.core.str.cljs$core$IFn$_invoke$arity$0=function(){return""};
cljs.core.str.cljs$core$IFn$_invoke$arity$1=function(a){return null==a?"":""+a};cljs.core.str.cljs$core$IFn$_invoke$arity$variadic=function(a,b){for(var c=new goog.string.StringBuffer(""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)),d=b;;)if(cljs.core.truth_(d))c=c.append(""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(d))),d=cljs.core.next(d);else return c.toString()};
cljs.core.str.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);return cljs.core.str.cljs$core$IFn$_invoke$arity$variadic(b,a)};cljs.core.str.cljs$lang$maxFixedArity=1;
cljs.core.subs=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.subs.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.subs.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.subs.cljs$core$IFn$_invoke$arity$2=function(a,b){return a.substring(b)};cljs.core.subs.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return a.substring(b,c)};cljs.core.subs.cljs$lang$maxFixedArity=3;
cljs.core.equiv_sequential=function(a,b){return cljs.core.boolean$(cljs.core.sequential_QMARK_(b)?cljs.core.counted_QMARK_(a)&&cljs.core.counted_QMARK_(b)&&cljs.core.count(a)!==cljs.core.count(b)?!1:function(){for(var c=cljs.core.seq(a),d=cljs.core.seq(b);;){if(null==c)return null==d;if(null!=d&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(c),cljs.core.first(d)))c=cljs.core.next(c),d=cljs.core.next(d);else return!1}}():null)};
cljs.core.hash_coll=function(a){if(cljs.core.seq(a)){var b=cljs.core.hash(cljs.core.first(a));for(a=cljs.core.next(a);;){if(null==a)return b;b=cljs.core.hash_combine(b,cljs.core.hash(cljs.core.first(a)));a=cljs.core.next(a)}}else return 0};
cljs.core.hash_imap=function(a){var b=0;for(a=cljs.core.seq(a);;)if(a){var c=cljs.core.first(a),b=(b+(cljs.core.hash(cljs.core.key.cljs$core$IFn$_invoke$arity$1?cljs.core.key.cljs$core$IFn$_invoke$arity$1(c):cljs.core.key.call(null,c))^cljs.core.hash(cljs.core.val.cljs$core$IFn$_invoke$arity$1?cljs.core.val.cljs$core$IFn$_invoke$arity$1(c):cljs.core.val.call(null,c))))%4503599627370496;a=cljs.core.next(a)}else return b};
cljs.core.hash_iset=function(a){var b=0;for(a=cljs.core.seq(a);;)if(a){var c=cljs.core.first(a),b=(b+cljs.core.hash(c))%4503599627370496;a=cljs.core.next(a)}else return b};
cljs.core.extend_object_BANG_=function(a,b){for(var c=cljs.core.seq(b),d=null,e=0,f=0;;)if(f<e){var g=d.cljs$core$IIndexed$_nth$arity$2(null,f),h=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(g,0,null),g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(g,1,null),h=cljs.core.name.cljs$core$IFn$_invoke$arity$1?cljs.core.name.cljs$core$IFn$_invoke$arity$1(h):cljs.core.name.call(null,h);a[h]=g;f+=1}else if(c=cljs.core.seq(c))cljs.core.chunked_seq_QMARK_(c)?(e=cljs.core.chunk_first.cljs$core$IFn$_invoke$arity$1?
cljs.core.chunk_first.cljs$core$IFn$_invoke$arity$1(c):cljs.core.chunk_first.call(null,c),c=cljs.core.chunk_rest.cljs$core$IFn$_invoke$arity$1?cljs.core.chunk_rest.cljs$core$IFn$_invoke$arity$1(c):cljs.core.chunk_rest.call(null,c),d=e,e=cljs.core.count(e)):(e=cljs.core.first(c),d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,0,null),e=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,1,null),d=cljs.core.name.cljs$core$IFn$_invoke$arity$1?cljs.core.name.cljs$core$IFn$_invoke$arity$1(d):cljs.core.name.call(null,
d),a[d]=e,c=cljs.core.next(c),d=null,e=0),f=0;else break;return a};cljs.core.List=function(a,b,c,d,e){this.meta=a;this.first=b;this.rest=c;this.count=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=65937646;this.cljs$lang$protocol_mask$partition1$=8192};cljs.core.List.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.List.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.List.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.List.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,this.count)},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.List.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.List.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.List(this.meta,this.first,this.rest,this.count,this.__hash)};cljs.core.List.prototype.cljs$core$INext$_next$arity$1=function(a){return 1===this.count?null:this.rest};cljs.core.List.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.count};cljs.core.List.prototype.cljs$core$IStack$_peek$arity$1=function(a){return this.first};
cljs.core.List.prototype.cljs$core$IStack$_pop$arity$1=function(a){return this.cljs$core$ISeq$_rest$arity$1(null)};cljs.core.List.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};cljs.core.List.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};
cljs.core.List.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.List.EMPTY,this.meta)};cljs.core.List.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this)};cljs.core.List.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this)};cljs.core.List.prototype.cljs$core$ISeq$_first$arity$1=function(a){return this.first};
cljs.core.List.prototype.cljs$core$ISeq$_rest$arity$1=function(a){return 1===this.count?cljs.core.List.EMPTY:this.rest};cljs.core.List.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};cljs.core.List.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.List(b,this.first,this.rest,this.count,this.__hash)};cljs.core.List.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return new cljs.core.List(this.meta,b,this,this.count+1,null)};
cljs.core.List.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"first","first",996428481,null),new cljs.core.Symbol(null,"rest","rest",398835108,null),new cljs.core.Symbol(null,"count","count",-514511684,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"mutable","mutable",875778266),!0],null))],null)};cljs.core.List.cljs$lang$type=!0;cljs.core.List.cljs$lang$ctorStr="cljs.core/List";cljs.core.List.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/List")};cljs.core.__GT_List=function(a,b,c,d,e){return new cljs.core.List(a,b,c,d,e)};
cljs.core.list_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&33554432||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IList$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.IList,a):cljs.core.native_satisfies_QMARK_(cljs.core.IList,a)};cljs.core.List.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};
cljs.core.EmptyList=function(a){this.meta=a;this.cljs$lang$protocol_mask$partition0$=65937614;this.cljs$lang$protocol_mask$partition1$=8192};cljs.core.EmptyList.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.EmptyList.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.EmptyList.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.EmptyList.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.EmptyList.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.EmptyList.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.EmptyList(this.meta)};cljs.core.EmptyList.prototype.cljs$core$INext$_next$arity$1=function(a){return null};cljs.core.EmptyList.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 0};cljs.core.EmptyList.prototype.cljs$core$IStack$_peek$arity$1=function(a){return null};
cljs.core.EmptyList.prototype.cljs$core$IStack$_pop$arity$1=function(a){throw Error("Can't pop empty list");};cljs.core.EmptyList.prototype.cljs$core$IHash$_hash$arity$1=function(a){return cljs.core.empty_ordered_hash};cljs.core.EmptyList.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.list_QMARK_(b)||cljs.core.sequential_QMARK_(b)?null==cljs.core.seq(b):!1};cljs.core.EmptyList.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return this};
cljs.core.EmptyList.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this)};cljs.core.EmptyList.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this)};cljs.core.EmptyList.prototype.cljs$core$ISeq$_first$arity$1=function(a){return null};cljs.core.EmptyList.prototype.cljs$core$ISeq$_rest$arity$1=function(a){return cljs.core.List.EMPTY};
cljs.core.EmptyList.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return null};cljs.core.EmptyList.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.EmptyList(b)};cljs.core.EmptyList.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return new cljs.core.List(this.meta,b,null,1,null)};
cljs.core.EmptyList.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null)],null)};cljs.core.EmptyList.cljs$lang$type=!0;cljs.core.EmptyList.cljs$lang$ctorStr="cljs.core/EmptyList";cljs.core.EmptyList.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/EmptyList")};cljs.core.__GT_EmptyList=function(a){return new cljs.core.EmptyList(a)};cljs.core.List.EMPTY=new cljs.core.EmptyList(null);
cljs.core.EmptyList.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};cljs.core.reversible_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&134217728||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IReversible$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_(cljs.core.IReversible,a):cljs.core.native_satisfies_QMARK_(cljs.core.IReversible,a)};cljs.core.rseq=function(a){return cljs.core._rseq(a)};
cljs.core.reverse=function(a){return cljs.core.reversible_QMARK_(a)?cljs.core.rseq(a):cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,cljs.core.List.EMPTY,a)};cljs.core.list=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.list.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.core.list.cljs$core$IFn$_invoke$arity$variadic=function(a){if(a instanceof cljs.core.IndexedSeq&&0===a.i)var b=a.arr;else a:for(b=[];;)if(null!=a)b.push(a.cljs$core$ISeq$_first$arity$1(null)),a=a.cljs$core$INext$_next$arity$1(null);else break a;a=b.length;for(var c=cljs.core.List.EMPTY;;)if(0<a){var d=a-1,c=c.cljs$core$ICollection$_conj$arity$2(null,b[a-1]);a=d}else return c};cljs.core.list.cljs$lang$maxFixedArity=0;cljs.core.list.cljs$lang$applyTo=function(a){return cljs.core.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};
cljs.core.Cons=function(a,b,c,d){this.meta=a;this.first=b;this.rest=c;this.__hash=d;this.cljs$lang$protocol_mask$partition0$=65929452;this.cljs$lang$protocol_mask$partition1$=8192};cljs.core.Cons.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.Cons.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.Cons.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.Cons.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.Cons.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.Cons.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.Cons(this.meta,this.first,this.rest,this.__hash)};cljs.core.Cons.prototype.cljs$core$INext$_next$arity$1=function(a){return null==this.rest?null:cljs.core.seq(this.rest)};cljs.core.Cons.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};
cljs.core.Cons.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.Cons.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.List.EMPTY,this.meta)};cljs.core.Cons.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this)};
cljs.core.Cons.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this)};cljs.core.Cons.prototype.cljs$core$ISeq$_first$arity$1=function(a){return this.first};cljs.core.Cons.prototype.cljs$core$ISeq$_rest$arity$1=function(a){return null==this.rest?cljs.core.List.EMPTY:this.rest};cljs.core.Cons.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};
cljs.core.Cons.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.Cons(b,this.first,this.rest,this.__hash)};cljs.core.Cons.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return new cljs.core.Cons(null,b,this,null)};
cljs.core.Cons.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"first","first",996428481,null),new cljs.core.Symbol(null,"rest","rest",398835108,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};
cljs.core.Cons.cljs$lang$type=!0;cljs.core.Cons.cljs$lang$ctorStr="cljs.core/Cons";cljs.core.Cons.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Cons")};cljs.core.__GT_Cons=function(a,b,c,d){return new cljs.core.Cons(a,b,c,d)};cljs.core.Cons.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};
cljs.core.cons=function(a,b){return null==b||null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?new cljs.core.Cons(null,a,b,null):new cljs.core.Cons(null,a,cljs.core.seq(b),null)};cljs.core.hash_keyword=function(a){return cljs.core.hash_symbol(a)+2654435769|0};
cljs.core.compare_keywords=function(a,b){if(a.fqn===b.fqn)return 0;if(cljs.core.truth_(function(){var c=cljs.core.not(a.ns);return c?b.ns:c}()))return-1;if(cljs.core.truth_(a.ns)){if(cljs.core.not(b.ns))return 1;var c=goog.array.defaultCompare(a.ns,b.ns);return 0===c?goog.array.defaultCompare(a.name,b.name):c}return goog.array.defaultCompare(a.name,b.name)};
cljs.core.Keyword=function(a,b,c,d){this.ns=a;this.name=b;this.fqn=c;this._hash=d;this.cljs$lang$protocol_mask$partition0$=2153775105;this.cljs$lang$protocol_mask$partition1$=4096};cljs.core.Keyword.prototype.toString=function(){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(":"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.fqn)].join("")};cljs.core.Keyword.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.Keyword.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return b instanceof cljs.core.Keyword?this.fqn===b.fqn:!1};
cljs.core.Keyword.prototype.call=function(){var a=null,b=function(a,b){return cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,this)},c=function(a,b,c){return cljs.core.get.cljs$core$IFn$_invoke$arity$3(b,this,c)},a=function(a,e,f){switch(arguments.length){case 2:return b.call(this,a,e);case 3:return c.call(this,a,e,f)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=b;a.cljs$core$IFn$_invoke$arity$3=c;return a}();
cljs.core.Keyword.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.Keyword.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,this)};cljs.core.Keyword.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.get.cljs$core$IFn$_invoke$arity$3(a,this,b)};cljs.core.Keyword.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this._hash;return null!=a?a:this._hash=a=cljs.core.hash_keyword(this)};
cljs.core.Keyword.prototype.cljs$core$INamed$_name$arity$1=function(a){return this.name};cljs.core.Keyword.prototype.cljs$core$INamed$_namespace$arity$1=function(a){return this.ns};cljs.core.Keyword.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core._write(b,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(":"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.fqn)].join(""))};
cljs.core.Keyword.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"ns","ns",2082130287,null),new cljs.core.Symbol(null,"name","name",-810760592,null),new cljs.core.Symbol(null,"fqn","fqn",-1749334463,null),cljs.core.with_meta(new cljs.core.Symbol(null,"_hash","_hash",-2130838312,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};
cljs.core.Keyword.cljs$lang$type=!0;cljs.core.Keyword.cljs$lang$ctorStr="cljs.core/Keyword";cljs.core.Keyword.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Keyword")};cljs.core.__GT_Keyword=function(a,b,c,d){return new cljs.core.Keyword(a,b,c,d)};cljs.core.keyword_QMARK_=function(a){return a instanceof cljs.core.Keyword};cljs.core.keyword_identical_QMARK_=function(a,b){return a===b?!0:a instanceof cljs.core.Keyword&&b instanceof cljs.core.Keyword?a.fqn===b.fqn:!1};
cljs.core.symbol_identical_QMARK_=function(a,b){return a===b?!0:a instanceof cljs.core.Symbol&&b instanceof cljs.core.Symbol?a.str===b.str:!1};cljs.core.namespace=function(a){if(null!=a&&(a.cljs$lang$protocol_mask$partition1$&4096||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$INamed$))return a.cljs$core$INamed$_namespace$arity$1(null);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Doesn't support namespace: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));};
cljs.core.ident_QMARK_=function(a){return a instanceof cljs.core.Keyword||a instanceof cljs.core.Symbol};cljs.core.simple_ident_QMARK_=function(a){return cljs.core.ident_QMARK_(a)&&null==cljs.core.namespace(a)};cljs.core.qualified_ident_QMARK_=function(a){var b=cljs.core.ident_QMARK_(a);return b?(a=cljs.core.namespace(a),cljs.core.truth_(a)?!0:a):b};cljs.core.simple_symbol_QMARK_=function(a){return a instanceof cljs.core.Symbol&&null==cljs.core.namespace(a)};
cljs.core.qualified_symbol_QMARK_=function(a){var b=a instanceof cljs.core.Symbol;return b?(a=cljs.core.namespace(a),cljs.core.truth_(a)?!0:a):b};cljs.core.simple_keyword_QMARK_=function(a){return a instanceof cljs.core.Keyword&&null==cljs.core.namespace(a)};cljs.core.qualified_keyword_QMARK_=function(a){var b=a instanceof cljs.core.Keyword;return b?(a=cljs.core.namespace(a),cljs.core.truth_(a)?!0:a):b};
cljs.core.keyword=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.keyword.cljs$core$IFn$_invoke$arity$1=function(a){if(a instanceof cljs.core.Keyword)return a;if(a instanceof cljs.core.Symbol)return new cljs.core.Keyword(cljs.core.namespace(a),cljs.core.name.cljs$core$IFn$_invoke$arity$1?cljs.core.name.cljs$core$IFn$_invoke$arity$1(a):cljs.core.name.call(null,a),a.str,null);if("string"===typeof a){var b=a.split("/");return 2===b.length?new cljs.core.Keyword(b[0],b[1],a,null):new cljs.core.Keyword(null,b[0],a,null)}return null};
cljs.core.keyword.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=a instanceof cljs.core.Keyword?cljs.core.name.cljs$core$IFn$_invoke$arity$1?cljs.core.name.cljs$core$IFn$_invoke$arity$1(a):cljs.core.name.call(null,a):a instanceof cljs.core.Symbol?cljs.core.name.cljs$core$IFn$_invoke$arity$1?cljs.core.name.cljs$core$IFn$_invoke$arity$1(a):cljs.core.name.call(null,a):a,d=b instanceof cljs.core.Keyword?cljs.core.name.cljs$core$IFn$_invoke$arity$1?cljs.core.name.cljs$core$IFn$_invoke$arity$1(b):cljs.core.name.call(null,
b):b instanceof cljs.core.Symbol?cljs.core.name.cljs$core$IFn$_invoke$arity$1?cljs.core.name.cljs$core$IFn$_invoke$arity$1(b):cljs.core.name.call(null,b):b;return new cljs.core.Keyword(c,d,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(c)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),cljs.core.str.cljs$core$IFn$_invoke$arity$1("/")].join(""):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join(""),null)};cljs.core.keyword.cljs$lang$maxFixedArity=2;
cljs.core.LazySeq=function(a,b,c,d){this.meta=a;this.fn=b;this.s=c;this.__hash=d;this.cljs$lang$protocol_mask$partition0$=32374988;this.cljs$lang$protocol_mask$partition1$=1};cljs.core.LazySeq.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.LazySeq.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.LazySeq.prototype.sval=function(){null!=this.fn&&(this.s=this.fn.cljs$core$IFn$_invoke$arity$0?this.fn.cljs$core$IFn$_invoke$arity$0():this.fn.call(null),this.fn=null);return this.s};
cljs.core.LazySeq.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.LazySeq.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.LazySeq.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.LazySeq.prototype.cljs$core$INext$_next$arity$1=function(a){this.cljs$core$ISeqable$_seq$arity$1(null);return null==this.s?null:cljs.core.next(this.s)};cljs.core.LazySeq.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};
cljs.core.LazySeq.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.LazySeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.List.EMPTY,this.meta)};cljs.core.LazySeq.prototype.cljs$core$IPending$_realized_QMARK_$arity$1=function(a){return cljs.core.not(this.fn)};
cljs.core.LazySeq.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this)};cljs.core.LazySeq.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this)};cljs.core.LazySeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){this.cljs$core$ISeqable$_seq$arity$1(null);return null==this.s?null:cljs.core.first(this.s)};
cljs.core.LazySeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){this.cljs$core$ISeqable$_seq$arity$1(null);return null!=this.s?cljs.core.rest(this.s):cljs.core.List.EMPTY};cljs.core.LazySeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){this.sval();if(null==this.s)return null;for(a=this.s;;)if(a instanceof cljs.core.LazySeq)a=a.sval();else return this.s=a,cljs.core.seq(this.s)};
cljs.core.LazySeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.LazySeq(b,this.fn,this.s,this.__hash)};cljs.core.LazySeq.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.LazySeq.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,"fn","fn",465265323,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"s","s",-948495851,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.LazySeq.cljs$lang$type=!0;cljs.core.LazySeq.cljs$lang$ctorStr="cljs.core/LazySeq";cljs.core.LazySeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/LazySeq")};
cljs.core.__GT_LazySeq=function(a,b,c,d){return new cljs.core.LazySeq(a,b,c,d)};cljs.core.LazySeq.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};cljs.core.ChunkBuffer=function(a,b){this.buf=a;this.end=b;this.cljs$lang$protocol_mask$partition0$=2;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.ChunkBuffer.prototype.add=function(a){this.buf[this.end]=a;return this.end+=1};
cljs.core.ChunkBuffer.prototype.chunk=function(){var a=new cljs.core.ArrayChunk(this.buf,0,this.end);this.buf=null;return a};cljs.core.ChunkBuffer.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.end};
cljs.core.ChunkBuffer.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"buf","buf",1426618187,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"end","end",1372345569,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};
cljs.core.ChunkBuffer.cljs$lang$type=!0;cljs.core.ChunkBuffer.cljs$lang$ctorStr="cljs.core/ChunkBuffer";cljs.core.ChunkBuffer.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ChunkBuffer")};cljs.core.__GT_ChunkBuffer=function(a,b){return new cljs.core.ChunkBuffer(a,b)};cljs.core.chunk_buffer=function(a){return new cljs.core.ChunkBuffer(Array(a),0)};
cljs.core.ArrayChunk=function(a,b,c){this.arr=a;this.off=b;this.end=c;this.cljs$lang$protocol_mask$partition0$=524306;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.ArrayChunk.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.end-this.off};cljs.core.ArrayChunk.prototype.cljs$core$IIndexed$_nth$arity$2=function(a,b){return this.arr[this.off+b]};
cljs.core.ArrayChunk.prototype.cljs$core$IIndexed$_nth$arity$3=function(a,b,c){return 0<=b&&b<this.end-this.off?this.arr[this.off+b]:c};cljs.core.ArrayChunk.prototype.cljs$core$IChunk$=cljs.core.PROTOCOL_SENTINEL;cljs.core.ArrayChunk.prototype.cljs$core$IChunk$_drop_first$arity$1=function(a){if(this.off===this.end)throw Error("-drop-first of empty chunk");return new cljs.core.ArrayChunk(this.arr,this.off+1,this.end)};
cljs.core.ArrayChunk.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(this.arr,b,this.arr[this.off],this.off+1)};cljs.core.ArrayChunk.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(this.arr,b,c,this.off)};
cljs.core.ArrayChunk.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"arr","arr",2115492975,null),new cljs.core.Symbol(null,"off","off",-2047994980,null),new cljs.core.Symbol(null,"end","end",1372345569,null)],null)};cljs.core.ArrayChunk.cljs$lang$type=!0;cljs.core.ArrayChunk.cljs$lang$ctorStr="cljs.core/ArrayChunk";cljs.core.ArrayChunk.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ArrayChunk")};
cljs.core.__GT_ArrayChunk=function(a,b,c){return new cljs.core.ArrayChunk(a,b,c)};
cljs.core.array_chunk=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$1=function(a){return new cljs.core.ArrayChunk(a,0,a.length)};cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.ArrayChunk(a,b,a.length)};cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new cljs.core.ArrayChunk(a,b,c)};cljs.core.array_chunk.cljs$lang$maxFixedArity=3;
cljs.core.ChunkedCons=function(a,b,c,d){this.chunk=a;this.more=b;this.meta=c;this.__hash=d;this.cljs$lang$protocol_mask$partition0$=31850732;this.cljs$lang$protocol_mask$partition1$=1536};cljs.core.ChunkedCons.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.ChunkedCons.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.ChunkedCons.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.ChunkedCons.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.ChunkedCons.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.ChunkedCons.prototype.cljs$core$INext$_next$arity$1=function(a){if(1<cljs.core._count(this.chunk))return new cljs.core.ChunkedCons(cljs.core._drop_first(this.chunk),this.more,this.meta,null);a=cljs.core._seq(this.more);return null==a?null:a};cljs.core.ChunkedCons.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};
cljs.core.ChunkedCons.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.ChunkedCons.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.List.EMPTY,this.meta)};cljs.core.ChunkedCons.prototype.cljs$core$ISeq$_first$arity$1=function(a){return cljs.core._nth.cljs$core$IFn$_invoke$arity$2(this.chunk,0)};
cljs.core.ChunkedCons.prototype.cljs$core$ISeq$_rest$arity$1=function(a){return 1<cljs.core._count(this.chunk)?new cljs.core.ChunkedCons(cljs.core._drop_first(this.chunk),this.more,this.meta,null):null==this.more?cljs.core.List.EMPTY:this.more};cljs.core.ChunkedCons.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};cljs.core.ChunkedCons.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1=function(a){return this.chunk};
cljs.core.ChunkedCons.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1=function(a){return null==this.more?cljs.core.List.EMPTY:this.more};cljs.core.ChunkedCons.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.ChunkedCons(this.chunk,this.more,b,this.__hash)};cljs.core.ChunkedCons.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.ChunkedCons.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1=function(a){return null==this.more?null:this.more};
cljs.core.ChunkedCons.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"chunk","chunk",449371907,null),new cljs.core.Symbol(null,"more","more",-418290273,null),new cljs.core.Symbol(null,"meta","meta",-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};
cljs.core.ChunkedCons.cljs$lang$type=!0;cljs.core.ChunkedCons.cljs$lang$ctorStr="cljs.core/ChunkedCons";cljs.core.ChunkedCons.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ChunkedCons")};cljs.core.__GT_ChunkedCons=function(a,b,c,d){return new cljs.core.ChunkedCons(a,b,c,d)};cljs.core.ChunkedCons.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};
cljs.core.chunk_cons=function(a,b){return 0===cljs.core._count(a)?b:new cljs.core.ChunkedCons(a,b,null,null)};cljs.core.chunk_append=function(a,b){return a.add(b)};cljs.core.chunk=function(a){return a.chunk()};cljs.core.chunk_first=function(a){return cljs.core._chunked_first(a)};cljs.core.chunk_rest=function(a){return cljs.core._chunked_rest(a)};
cljs.core.chunk_next=function(a){return null!=a&&(a.cljs$lang$protocol_mask$partition1$&1024||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IChunkedNext$)?cljs.core._chunked_next(a):cljs.core.seq(cljs.core._chunked_rest(a))};cljs.core.to_array=function(a){for(var b=[];;)if(cljs.core.seq(a))b.push(cljs.core.first(a)),a=cljs.core.next(a);else return b};
cljs.core.to_array_2d=function(a){var b=Array(cljs.core.count(a)),c=0;for(a=cljs.core.seq(a);;)if(a)b[c]=cljs.core.to_array(cljs.core.first(a)),c+=1,a=cljs.core.next(a);else break;return b};
cljs.core.int_array=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.int_array.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.int_array.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.int_array.cljs$core$IFn$_invoke$arity$1=function(a){return"number"===typeof a?cljs.core.int_array.cljs$core$IFn$_invoke$arity$2(a,null):cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(a)};cljs.core.int_array.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=Array(a);if(cljs.core.seq_QMARK_(b))for(var d=0,e=cljs.core.seq(b);;)if(e&&d<a)c[d]=cljs.core.first(e),d+=1,e=cljs.core.next(e);else return c;else{for(d=0;;)if(d<a)c[d]=b,d+=1;else break;return c}};
cljs.core.int_array.cljs$lang$maxFixedArity=2;cljs.core.long_array=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.long_array.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.long_array.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.long_array.cljs$core$IFn$_invoke$arity$1=function(a){return"number"===typeof a?cljs.core.long_array.cljs$core$IFn$_invoke$arity$2(a,null):cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(a)};cljs.core.long_array.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=Array(a);if(cljs.core.seq_QMARK_(b))for(var d=0,e=cljs.core.seq(b);;)if(e&&d<a)c[d]=cljs.core.first(e),d+=1,e=cljs.core.next(e);else return c;else{for(d=0;;)if(d<a)c[d]=b,d+=1;else break;return c}};
cljs.core.long_array.cljs$lang$maxFixedArity=2;
cljs.core.double_array=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.double_array.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.double_array.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.double_array.cljs$core$IFn$_invoke$arity$1=function(a){return"number"===typeof a?cljs.core.double_array.cljs$core$IFn$_invoke$arity$2(a,null):cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(a)};cljs.core.double_array.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=Array(a);if(cljs.core.seq_QMARK_(b))for(var d=0,e=cljs.core.seq(b);;)if(e&&d<a)c[d]=cljs.core.first(e),d+=1,e=cljs.core.next(e);else return c;else{for(d=0;;)if(d<a)c[d]=b,d+=1;else break;return c}};
cljs.core.double_array.cljs$lang$maxFixedArity=2;
cljs.core.object_array=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.object_array.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.object_array.cljs$core$IFn$_invoke$arity$1=function(a){return"number"===typeof a?cljs.core.object_array.cljs$core$IFn$_invoke$arity$2(a,null):cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(a)};cljs.core.object_array.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=Array(a);if(cljs.core.seq_QMARK_(b))for(var d=0,e=cljs.core.seq(b);;)if(e&&d<a)c[d]=cljs.core.first(e),d+=1,e=cljs.core.next(e);else return c;else{for(d=0;;)if(d<a)c[d]=b,d+=1;else break;return c}};
cljs.core.object_array.cljs$lang$maxFixedArity=2;cljs.core.bounded_count=function(a,b){if(cljs.core.counted_QMARK_(b))return cljs.core.count(b);for(var c=0,d=cljs.core.seq(b);;)if(null!=d&&c<a)c+=1,d=cljs.core.next(d);else return c};
cljs.core.spread=function(a){return null==a?null:null==cljs.core.next(a)?cljs.core.seq(cljs.core.first(a)):cljs.core.cons(cljs.core.first(a),function(){var b=cljs.core.next(a);return cljs.core.spread.cljs$core$IFn$_invoke$arity$1?cljs.core.spread.cljs$core$IFn$_invoke$arity$1(b):cljs.core.spread.call(null,b)}())};
cljs.core.concat=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.core.concat.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.concat.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.concat.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core.concat.cljs$core$IFn$_invoke$arity$0=function(){return new cljs.core.LazySeq(null,function(){return null},null,null)};cljs.core.concat.cljs$core$IFn$_invoke$arity$1=function(a){return new cljs.core.LazySeq(null,function(){return a},null,null)};
cljs.core.concat.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq(a);return c?cljs.core.chunked_seq_QMARK_(c)?cljs.core.chunk_cons(cljs.core.chunk_first(c),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.chunk_rest(c),b)):cljs.core.cons(cljs.core.first(c),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.rest(c),b)):b},null,null)};
cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return function e(a,b){return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq(a);return c?cljs.core.chunked_seq_QMARK_(c)?cljs.core.chunk_cons(cljs.core.chunk_first(c),e(cljs.core.chunk_rest(c),b)):cljs.core.cons(cljs.core.first(c),e(cljs.core.rest(c),b)):cljs.core.truth_(b)?e(cljs.core.first(b),cljs.core.next(b)):null},null,null)}(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(a,b),c)};
cljs.core.concat.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.concat.cljs$lang$maxFixedArity=2;
cljs.core.list_STAR_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],
arguments[3]);default:return b=new cljs.core.IndexedSeq(b.slice(4),0,null),cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],arguments[3],b)}};cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.seq(a)};cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.cons(a,b)};cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.cons(a,cljs.core.cons(b,c))};
cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return cljs.core.cons(a,cljs.core.cons(b,cljs.core.cons(c,d)))};cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d,e){return cljs.core.cons(a,cljs.core.cons(b,cljs.core.cons(c,cljs.core.cons(d,cljs.core.spread(e)))))};
cljs.core.list_STAR_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c),c=cljs.core.first(d),e=cljs.core.next(d),d=cljs.core.first(e),e=cljs.core.next(e);return cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d,e)};cljs.core.list_STAR_.cljs$lang$maxFixedArity=4;cljs.core.transient$=function(a){return cljs.core._as_transient(a)};cljs.core.persistent_BANG_=function(a){return cljs.core._persistent_BANG_(a)};
cljs.core.conj_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],
arguments[1],b)}};cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.transient$(cljs.core.PersistentVector.EMPTY)};cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$1=function(a){return a};cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core._conj_BANG_(a,b)};cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;)if(a=cljs.core._conj_BANG_(a,b),cljs.core.truth_(c))b=cljs.core.first(c),c=cljs.core.next(c);else return a};
cljs.core.conj_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.conj_BANG_.cljs$lang$maxFixedArity=2;
cljs.core.assoc_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:return b=new cljs.core.IndexedSeq(b.slice(3),0,null),cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};
cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core._assoc_BANG_(a,b,c)};cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){for(;;)if(a=cljs.core._assoc_BANG_(a,b,c),cljs.core.truth_(d))b=cljs.core.first(d),c=cljs.core.second(d),d=cljs.core.nnext(d);else return a};
cljs.core.assoc_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c),c=cljs.core.first(d),d=cljs.core.next(d);return cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};cljs.core.assoc_BANG_.cljs$lang$maxFixedArity=3;
cljs.core.dissoc_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core._dissoc_BANG_(a,b)};
cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;)if(a=cljs.core._dissoc_BANG_(a,b),cljs.core.truth_(c))b=cljs.core.first(c),c=cljs.core.next(c);else return a};cljs.core.dissoc_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.dissoc_BANG_.cljs$lang$maxFixedArity=2;cljs.core.pop_BANG_=function(a){return cljs.core._pop_BANG_(a)};
cljs.core.disj_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core._disjoin_BANG_(a,b)};
cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){for(;;)if(a=cljs.core._disjoin_BANG_(a,b),cljs.core.truth_(c))b=cljs.core.first(c),c=cljs.core.next(c);else return a};cljs.core.disj_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.disj_BANG_.cljs$lang$maxFixedArity=2;
cljs.core.apply_to=function(a,b,c){var d=cljs.core.seq(c);if(0===b)return a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null);c=cljs.core._first(d);var e=cljs.core._rest(d);if(1===b)return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);var d=cljs.core._first(e),f=cljs.core._rest(e);if(2===b)return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,d):a.cljs$core$IFn$_invoke$arity$2?
a.cljs$core$IFn$_invoke$arity$2(c,d):a.call(null,c,d);var e=cljs.core._first(f),g=cljs.core._rest(f);if(3===b)return a.cljs$core$IFn$_invoke$arity$3?a.cljs$core$IFn$_invoke$arity$3(c,d,e):a.cljs$core$IFn$_invoke$arity$3?a.cljs$core$IFn$_invoke$arity$3(c,d,e):a.call(null,c,d,e);var f=cljs.core._first(g),h=cljs.core._rest(g);if(4===b)return a.cljs$core$IFn$_invoke$arity$4?a.cljs$core$IFn$_invoke$arity$4(c,d,e,f):a.cljs$core$IFn$_invoke$arity$4?a.cljs$core$IFn$_invoke$arity$4(c,d,e,f):a.call(null,c,
d,e,f);var g=cljs.core._first(h),k=cljs.core._rest(h);if(5===b)return a.cljs$core$IFn$_invoke$arity$5?a.cljs$core$IFn$_invoke$arity$5(c,d,e,f,g):a.cljs$core$IFn$_invoke$arity$5?a.cljs$core$IFn$_invoke$arity$5(c,d,e,f,g):a.call(null,c,d,e,f,g);var h=cljs.core._first(k),l=cljs.core._rest(k);if(6===b)return a.cljs$core$IFn$_invoke$arity$6?a.cljs$core$IFn$_invoke$arity$6(c,d,e,f,g,h):a.cljs$core$IFn$_invoke$arity$6?a.cljs$core$IFn$_invoke$arity$6(c,d,e,f,g,h):a.call(null,c,d,e,f,g,h);var k=cljs.core._first(l),
m=cljs.core._rest(l);if(7===b)return a.cljs$core$IFn$_invoke$arity$7?a.cljs$core$IFn$_invoke$arity$7(c,d,e,f,g,h,k):a.cljs$core$IFn$_invoke$arity$7?a.cljs$core$IFn$_invoke$arity$7(c,d,e,f,g,h,k):a.call(null,c,d,e,f,g,h,k);var l=cljs.core._first(m),n=cljs.core._rest(m);if(8===b)return a.cljs$core$IFn$_invoke$arity$8?a.cljs$core$IFn$_invoke$arity$8(c,d,e,f,g,h,k,l):a.cljs$core$IFn$_invoke$arity$8?a.cljs$core$IFn$_invoke$arity$8(c,d,e,f,g,h,k,l):a.call(null,c,d,e,f,g,h,k,l);var m=cljs.core._first(n),
p=cljs.core._rest(n);if(9===b)return a.cljs$core$IFn$_invoke$arity$9?a.cljs$core$IFn$_invoke$arity$9(c,d,e,f,g,h,k,l,m):a.cljs$core$IFn$_invoke$arity$9?a.cljs$core$IFn$_invoke$arity$9(c,d,e,f,g,h,k,l,m):a.call(null,c,d,e,f,g,h,k,l,m);var n=cljs.core._first(p),q=cljs.core._rest(p);if(10===b)return a.cljs$core$IFn$_invoke$arity$10?a.cljs$core$IFn$_invoke$arity$10(c,d,e,f,g,h,k,l,m,n):a.cljs$core$IFn$_invoke$arity$10?a.cljs$core$IFn$_invoke$arity$10(c,d,e,f,g,h,k,l,m,n):a.call(null,c,d,e,f,g,h,k,l,m,
n);var p=cljs.core._first(q),r=cljs.core._rest(q);if(11===b)return a.cljs$core$IFn$_invoke$arity$11?a.cljs$core$IFn$_invoke$arity$11(c,d,e,f,g,h,k,l,m,n,p):a.cljs$core$IFn$_invoke$arity$11?a.cljs$core$IFn$_invoke$arity$11(c,d,e,f,g,h,k,l,m,n,p):a.call(null,c,d,e,f,g,h,k,l,m,n,p);var q=cljs.core._first(r),u=cljs.core._rest(r);if(12===b)return a.cljs$core$IFn$_invoke$arity$12?a.cljs$core$IFn$_invoke$arity$12(c,d,e,f,g,h,k,l,m,n,p,q):a.cljs$core$IFn$_invoke$arity$12?a.cljs$core$IFn$_invoke$arity$12(c,
d,e,f,g,h,k,l,m,n,p,q):a.call(null,c,d,e,f,g,h,k,l,m,n,p,q);var r=cljs.core._first(u),t=cljs.core._rest(u);if(13===b)return a.cljs$core$IFn$_invoke$arity$13?a.cljs$core$IFn$_invoke$arity$13(c,d,e,f,g,h,k,l,m,n,p,q,r):a.cljs$core$IFn$_invoke$arity$13?a.cljs$core$IFn$_invoke$arity$13(c,d,e,f,g,h,k,l,m,n,p,q,r):a.call(null,c,d,e,f,g,h,k,l,m,n,p,q,r);var u=cljs.core._first(t),v=cljs.core._rest(t);if(14===b)return a.cljs$core$IFn$_invoke$arity$14?a.cljs$core$IFn$_invoke$arity$14(c,d,e,f,g,h,k,l,m,n,p,
q,r,u):a.cljs$core$IFn$_invoke$arity$14?a.cljs$core$IFn$_invoke$arity$14(c,d,e,f,g,h,k,l,m,n,p,q,r,u):a.call(null,c,d,e,f,g,h,k,l,m,n,p,q,r,u);var t=cljs.core._first(v),w=cljs.core._rest(v);if(15===b)return a.cljs$core$IFn$_invoke$arity$15?a.cljs$core$IFn$_invoke$arity$15(c,d,e,f,g,h,k,l,m,n,p,q,r,u,t):a.cljs$core$IFn$_invoke$arity$15?a.cljs$core$IFn$_invoke$arity$15(c,d,e,f,g,h,k,l,m,n,p,q,r,u,t):a.call(null,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t);var v=cljs.core._first(w),x=cljs.core._rest(w);if(16===b)return a.cljs$core$IFn$_invoke$arity$16?
a.cljs$core$IFn$_invoke$arity$16(c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v):a.cljs$core$IFn$_invoke$arity$16?a.cljs$core$IFn$_invoke$arity$16(c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v):a.call(null,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v);var w=cljs.core._first(x),y=cljs.core._rest(x);if(17===b)return a.cljs$core$IFn$_invoke$arity$17?a.cljs$core$IFn$_invoke$arity$17(c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w):a.cljs$core$IFn$_invoke$arity$17?a.cljs$core$IFn$_invoke$arity$17(c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w):a.call(null,c,d,e,f,g,h,k,
l,m,n,p,q,r,u,t,v,w);var x=cljs.core._first(y),z=cljs.core._rest(y);if(18===b)return a.cljs$core$IFn$_invoke$arity$18?a.cljs$core$IFn$_invoke$arity$18(c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x):a.cljs$core$IFn$_invoke$arity$18?a.cljs$core$IFn$_invoke$arity$18(c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x):a.call(null,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x);y=cljs.core._first(z);z=cljs.core._rest(z);if(19===b)return a.cljs$core$IFn$_invoke$arity$19?a.cljs$core$IFn$_invoke$arity$19(c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,
y):a.cljs$core$IFn$_invoke$arity$19?a.cljs$core$IFn$_invoke$arity$19(c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y):a.call(null,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y);var A=cljs.core._first(z);cljs.core._rest(z);if(20===b)return a.cljs$core$IFn$_invoke$arity$20?a.cljs$core$IFn$_invoke$arity$20(c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,A):a.cljs$core$IFn$_invoke$arity$20?a.cljs$core$IFn$_invoke$arity$20(c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,A):a.call(null,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,A);throw Error("Only up to 20 arguments supported on functions");
};
cljs.core.apply=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.apply.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.core.apply.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],
arguments[2],arguments[3],arguments[4]);default:return b=new cljs.core.IndexedSeq(b.slice(5),0,null),cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],b)}};cljs.core.apply.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=a.cljs$lang$maxFixedArity;if(a.cljs$lang$applyTo){var d=cljs.core.bounded_count(c+1,b);return d<=c?cljs.core.apply_to(a,d,b):a.cljs$lang$applyTo(b)}return a.apply(a,cljs.core.to_array(b))};
cljs.core.apply.cljs$core$IFn$_invoke$arity$3=function(a,b,c){b=cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2(b,c);c=a.cljs$lang$maxFixedArity;if(a.cljs$lang$applyTo){var d=cljs.core.bounded_count(c+1,b);return d<=c?cljs.core.apply_to(a,d,b):a.cljs$lang$applyTo(b)}return a.apply(a,cljs.core.to_array(b))};
cljs.core.apply.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){b=cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(b,c,d);c=a.cljs$lang$maxFixedArity;return a.cljs$lang$applyTo?(d=cljs.core.bounded_count(c+1,b),d<=c?cljs.core.apply_to(a,d,b):a.cljs$lang$applyTo(b)):a.apply(a,cljs.core.to_array(b))};
cljs.core.apply.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){b=cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(b,c,d,e);c=a.cljs$lang$maxFixedArity;return a.cljs$lang$applyTo?(d=cljs.core.bounded_count(c+1,b),d<=c?cljs.core.apply_to(a,d,b):a.cljs$lang$applyTo(b)):a.apply(a,cljs.core.to_array(b))};
cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d,e,f){b=cljs.core.cons(b,cljs.core.cons(c,cljs.core.cons(d,cljs.core.cons(e,cljs.core.spread(f)))));c=a.cljs$lang$maxFixedArity;return a.cljs$lang$applyTo?(d=cljs.core.bounded_count(c+1,b),d<=c?cljs.core.apply_to(a,d,b):a.cljs$lang$applyTo(b)):a.apply(a,cljs.core.to_array(b))};
cljs.core.apply.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c),c=cljs.core.first(d),e=cljs.core.next(d),d=cljs.core.first(e),f=cljs.core.next(e),e=cljs.core.first(f),f=cljs.core.next(f);return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d,e,f)};cljs.core.apply.cljs$lang$maxFixedArity=5;
cljs.core.vary_meta=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$5(arguments[0],
arguments[1],arguments[2],arguments[3],arguments[4]);case 6:return cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$6(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);default:return b=new cljs.core.IndexedSeq(b.slice(6),0,null),cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],b)}};
cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.with_meta(a,function(){var c=cljs.core.meta(a);return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c)}())};cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.with_meta(a,function(){var d=cljs.core.meta(a);return b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,c):b.call(null,d,c)}())};
cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return cljs.core.with_meta(a,function(){var e=cljs.core.meta(a);return b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(e,c,d):b.call(null,e,c,d)}())};cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){return cljs.core.with_meta(a,function(){var f=cljs.core.meta(a);return b.cljs$core$IFn$_invoke$arity$4?b.cljs$core$IFn$_invoke$arity$4(f,c,d,e):b.call(null,f,c,d,e)}())};
cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){return cljs.core.with_meta(a,function(){var g=cljs.core.meta(a);return b.cljs$core$IFn$_invoke$arity$5?b.cljs$core$IFn$_invoke$arity$5(g,c,d,e,f):b.call(null,g,c,d,e,f)}())};cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d,e,f,g){return cljs.core.with_meta(a,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(b,cljs.core.meta(a),c,d,e,cljs.core.array_seq([f,g],0)))};
cljs.core.vary_meta.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c),c=cljs.core.first(d),e=cljs.core.next(d),d=cljs.core.first(e),f=cljs.core.next(e),e=cljs.core.first(f),g=cljs.core.next(f),f=cljs.core.first(g),g=cljs.core.next(g);return cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d,e,f,g)};cljs.core.vary_meta.cljs$lang$maxFixedArity=6;
cljs.core.not_EQ_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$1=function(a){return!1};
cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2=function(a,b){return!cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,b)};cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.not(cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core._EQ_,a,b,c))};cljs.core.not_EQ_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
cljs.core.not_EQ_.cljs$lang$maxFixedArity=2;cljs.core.not_empty=function(a){return cljs.core.seq(a)?a:null};
cljs.core.nil_iter=function(){"undefined"===typeof cljs.core.t_cljs$core26863&&(cljs.core.t_cljs$core26863=function(a){this.meta26864=a;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.core.t_cljs$core26863.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.t_cljs$core26863(b)},cljs.core.t_cljs$core26863.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta26864},cljs.core.t_cljs$core26863.prototype.hasNext=
function(){return!1},cljs.core.t_cljs$core26863.prototype.next=function(){return Error("No such element")},cljs.core.t_cljs$core26863.prototype.remove=function(){return Error("Unsupported operation")},cljs.core.t_cljs$core26863.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta26864","meta26864",-1049435585,null)],null)},cljs.core.t_cljs$core26863.cljs$lang$type=!0,cljs.core.t_cljs$core26863.cljs$lang$ctorStr="cljs.core/t_cljs$core26863",
cljs.core.t_cljs$core26863.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/t_cljs$core26863")},cljs.core.__GT_t_cljs$core26863=function(a){return new cljs.core.t_cljs$core26863(a)});return new cljs.core.t_cljs$core26863(cljs.core.PersistentArrayMap.EMPTY)};cljs.core.StringIter=function(a,b){this.s=a;this.i=b};cljs.core.StringIter.prototype.hasNext=function(){return this.i<this.s.length};
cljs.core.StringIter.prototype.next=function(){var a=this.s.charAt(this.i);this.i+=1;return a};cljs.core.StringIter.prototype.remove=function(){return Error("Unsupported operation")};
cljs.core.StringIter.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"s","s",-948495851,null),cljs.core.with_meta(new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.StringIter.cljs$lang$type=!0;cljs.core.StringIter.cljs$lang$ctorStr="cljs.core/StringIter";
cljs.core.StringIter.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/StringIter")};cljs.core.__GT_StringIter=function(a,b){return new cljs.core.StringIter(a,b)};cljs.core.string_iter=function(a){return new cljs.core.StringIter(a,0)};cljs.core.ArrayIter=function(a,b){this.arr=a;this.i=b};cljs.core.ArrayIter.prototype.hasNext=function(){return this.i<this.arr.length};cljs.core.ArrayIter.prototype.next=function(){var a=this.arr[this.i];this.i+=1;return a};
cljs.core.ArrayIter.prototype.remove=function(){return Error("Unsupported operation")};cljs.core.ArrayIter.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"arr","arr",2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.ArrayIter.cljs$lang$type=!0;
cljs.core.ArrayIter.cljs$lang$ctorStr="cljs.core/ArrayIter";cljs.core.ArrayIter.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ArrayIter")};cljs.core.__GT_ArrayIter=function(a,b){return new cljs.core.ArrayIter(a,b)};cljs.core.array_iter=function(a){return new cljs.core.ArrayIter(a,0)};cljs.core.INIT={};cljs.core.START={};cljs.core.SeqIter=function(a,b){this._seq=a;this._next=b};
cljs.core.SeqIter.prototype.hasNext=function(){this._seq===cljs.core.INIT?(this._seq=cljs.core.START,this._next=cljs.core.seq(this._next)):this._seq===this._next&&(this._next=cljs.core.next(this._seq));return null!=this._next};cljs.core.SeqIter.prototype.next=function(){if(this.hasNext())return this._seq=this._next,cljs.core.first(this._next);throw Error("No such element");};cljs.core.SeqIter.prototype.remove=function(){return Error("Unsupported operation")};
cljs.core.SeqIter.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"_seq","_seq",-449557847,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"_next","_next",101877036,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};
cljs.core.SeqIter.cljs$lang$type=!0;cljs.core.SeqIter.cljs$lang$ctorStr="cljs.core/SeqIter";cljs.core.SeqIter.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/SeqIter")};cljs.core.__GT_SeqIter=function(a,b){return new cljs.core.SeqIter(a,b)};cljs.core.seq_iter=function(a){return new cljs.core.SeqIter(cljs.core.INIT,a)};
cljs.core.iter=function(a){if(null==a)return cljs.core.nil_iter();if("string"===typeof a)return cljs.core.string_iter(a);if(cljs.core.array_QMARK_(a))return cljs.core.array_iter(a);if(cljs.core.iterable_QMARK_(a))return cljs.core._iterator(a);if(cljs.core.seqable_QMARK_(a))return cljs.core.seq_iter(a);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Cannot create iterator from "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));};cljs.core.Many=function(a){this.vals=a};
cljs.core.Many.prototype.add=function(a){this.vals.push(a);return this};cljs.core.Many.prototype.remove=function(){return this.vals.shift()};cljs.core.Many.prototype.isEmpty=function(){return 0===this.vals.length};cljs.core.Many.prototype.toString=function(){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Many: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.vals)].join("")};
cljs.core.Many.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"vals","vals",-1886377036,null)],null)};cljs.core.Many.cljs$lang$type=!0;cljs.core.Many.cljs$lang$ctorStr="cljs.core/Many";cljs.core.Many.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Many")};cljs.core.__GT_Many=function(a){return new cljs.core.Many(a)};cljs.core.NONE={};cljs.core.Single=function(a){this.val=a};
cljs.core.Single.prototype.add=function(a){return this.val===cljs.core.NONE?(this.val=a,this):new cljs.core.Many([this.val,a])};cljs.core.Single.prototype.remove=function(){if(this.val===cljs.core.NONE)throw Error(""+cljs.core.str.cljs$core$IFn$_invoke$arity$1("Removing object from empty buffer"));var a=this.val;this.val=cljs.core.NONE;return a};cljs.core.Single.prototype.isEmpty=function(){return this.val===cljs.core.NONE};
cljs.core.Single.prototype.toString=function(){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Single: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.val)].join("")};cljs.core.Single.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"val","val",1769233139,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};
cljs.core.Single.cljs$lang$type=!0;cljs.core.Single.cljs$lang$ctorStr="cljs.core/Single";cljs.core.Single.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Single")};cljs.core.__GT_Single=function(a){return new cljs.core.Single(a)};cljs.core.Empty=function(){};cljs.core.Empty.prototype.add=function(a){return new cljs.core.Single(a)};
cljs.core.Empty.prototype.remove=function(){throw Error(""+cljs.core.str.cljs$core$IFn$_invoke$arity$1("Removing object from empty buffer"));};cljs.core.Empty.prototype.isEmpty=function(){return!0};cljs.core.Empty.prototype.toString=function(){return"Empty"};cljs.core.Empty.getBasis=function(){return cljs.core.PersistentVector.EMPTY};cljs.core.Empty.cljs$lang$type=!0;cljs.core.Empty.cljs$lang$ctorStr="cljs.core/Empty";
cljs.core.Empty.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Empty")};cljs.core.__GT_Empty=function(){return new cljs.core.Empty};cljs.core.EMPTY=new cljs.core.Empty;cljs.core.MultiIterator=function(a){this.iters=a};cljs.core.MultiIterator.prototype.hasNext=function(){for(var a=cljs.core.seq(this.iters);;)if(null!=a)if(cljs.core.first(a).hasNext())a=cljs.core.next(a);else return!1;else return!0};
cljs.core.MultiIterator.prototype.next=function(){for(var a=[],b=this.iters.length,c=0;;)if(c<b)a[c]=this.iters[c].next(),c+=1;else break;return cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(a,0)};cljs.core.MultiIterator.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"iters","iters",719353031,null)],null)};cljs.core.MultiIterator.cljs$lang$type=!0;cljs.core.MultiIterator.cljs$lang$ctorStr="cljs.core/MultiIterator";
cljs.core.MultiIterator.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/MultiIterator")};cljs.core.__GT_MultiIterator=function(a){return new cljs.core.MultiIterator(a)};
cljs.core.chunkIteratorSeq=function(a){return new cljs.core.LazySeq(null,function(){if(a.hasNext())for(var b=[],c=0;;)if(cljs.core.truth_(function(){var b=a.hasNext();return cljs.core.truth_(b)?32>c:b}()))b[c]=a.next(),c+=1;else return cljs.core.chunk_cons(cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3(b,0,c),cljs.core.chunkIteratorSeq.cljs$core$IFn$_invoke$arity$1?cljs.core.chunkIteratorSeq.cljs$core$IFn$_invoke$arity$1(a):cljs.core.chunkIteratorSeq.call(null,a));else return null},null,null)};
cljs.core.TransformerIterator=function(a,b,c,d,e,f){this.buffer=a;this._next=b;this.completed=c;this.xf=d;this.sourceIter=e;this.multi=f};
cljs.core.TransformerIterator.prototype.step=function(){if(this._next!==cljs.core.NONE)return!0;for(;;)if(this._next===cljs.core.NONE)if(this.buffer.isEmpty()){if(this.completed)return!1;if(this.sourceIter.hasNext()){if(this.multi)var a=cljs.core.apply.cljs$core$IFn$_invoke$arity$2(this.xf,cljs.core.cons(null,this.sourceIter.next()));else a=this.sourceIter.next(),a=this.xf.cljs$core$IFn$_invoke$arity$2?this.xf.cljs$core$IFn$_invoke$arity$2(null,a):this.xf.call(null,null,a);cljs.core.reduced_QMARK_(a)&&
(this.xf.cljs$core$IFn$_invoke$arity$1?this.xf.cljs$core$IFn$_invoke$arity$1(null):this.xf.call(null,null),this.completed=!0)}else this.xf.cljs$core$IFn$_invoke$arity$1?this.xf.cljs$core$IFn$_invoke$arity$1(null):this.xf.call(null,null),this.completed=!0}else this._next=this.buffer.remove();else return!0};cljs.core.TransformerIterator.prototype.hasNext=function(){return this.step()};
cljs.core.TransformerIterator.prototype.next=function(){if(this.hasNext()){var a=this._next;this._next=cljs.core.NONE;return a}throw Error("No such element");};cljs.core.TransformerIterator.prototype.remove=function(){return Error("Unsupported operation")};
cljs.core.TransformerIterator.getBasis=function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"buffer","buffer",-2037140571,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"_next","_next",101877036,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),
!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"completed","completed",1154475024,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"xf","xf",2042434515,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),new cljs.core.Symbol(null,"sourceIter","sourceIter",1068220306,null),new cljs.core.Symbol(null,"multi","multi",
1450238522,null)],null)};cljs.core.TransformerIterator.cljs$lang$type=!0;cljs.core.TransformerIterator.cljs$lang$ctorStr="cljs.core/TransformerIterator";cljs.core.TransformerIterator.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/TransformerIterator")};cljs.core.__GT_TransformerIterator=function(a,b,c,d,e,f){return new cljs.core.TransformerIterator(a,b,c,d,e,f)};cljs.core.TransformerIterator.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};
cljs.core.transformer_iterator=function(a,b,c){var d=new cljs.core.TransformerIterator(cljs.core.EMPTY,cljs.core.NONE,!1,null,b,c);d.xf=function(){var b=function(a){return function(){var b=null,c=function(b,c){a.buffer=a.buffer.add(c);return b},b=function(a,b){switch(arguments.length){case 0:return null;case 1:return a;case 2:return c.call(this,a,b)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$0=function(){return null};b.cljs$core$IFn$_invoke$arity$1=function(a){return a};
b.cljs$core$IFn$_invoke$arity$2=c;return b}()}(d);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)}();return d};cljs.core.TransformerIterator.create=function(a,b){return cljs.core.transformer_iterator(a,cljs.core.iter(b),!1)};
cljs.core.TransformerIterator.createMulti=function(a,b){for(var c=[],d=cljs.core.seq(b),e=null,f=0,g=0;;)if(g<f){var h=e.cljs$core$IIndexed$_nth$arity$2(null,g);c.push(cljs.core.iter(h));g+=1}else if(d=cljs.core.seq(d))e=d,cljs.core.chunked_seq_QMARK_(e)?(d=cljs.core.chunk_first(e),g=cljs.core.chunk_rest(e),e=d,f=cljs.core.count(d),d=g):(d=cljs.core.first(e),c.push(cljs.core.iter(d)),d=cljs.core.next(e),e=null,f=0),g=0;else break;return cljs.core.transformer_iterator(a,new cljs.core.MultiIterator(c),
!0)};cljs.core.sequence=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.sequence.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.sequence.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
cljs.core.sequence.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.seq_QMARK_(a)?a:(a=cljs.core.seq(a))?a:cljs.core.List.EMPTY};cljs.core.sequence.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.core.chunkIteratorSeq(cljs.core.TransformerIterator.create(a,b));return cljs.core.truth_(c)?c:cljs.core.List.EMPTY};
cljs.core.sequence.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){a=cljs.core.chunkIteratorSeq(cljs.core.TransformerIterator.createMulti(a,cljs.core.to_array(cljs.core.cons(b,c))));return cljs.core.truth_(a)?a:cljs.core.List.EMPTY};cljs.core.sequence.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.sequence.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.sequence.cljs$lang$maxFixedArity=2;
cljs.core.every_QMARK_=function(a,b){for(;;){if(null==cljs.core.seq(b))return!0;if(cljs.core.truth_(function(){var c=cljs.core.first(b);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c)}())){var c=a,d=cljs.core.next(b);a=c;b=d}else return!1}};cljs.core.not_every_QMARK_=function(a,b){return!cljs.core.every_QMARK_(a,b)};
cljs.core.some=function(a,b){for(;;)if(cljs.core.seq(b)){var c=cljs.core.first(b);c=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);if(cljs.core.truth_(c))return c;c=a;var d=cljs.core.next(b);a=c;b=d}else return null};cljs.core.not_any_QMARK_=function(a,b){return cljs.core.not(cljs.core.some(a,b))};
cljs.core.even_QMARK_=function(a){if(cljs.core.integer_QMARK_(a))return 0===(a&1);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Argument must be an integer: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));};cljs.core.odd_QMARK_=function(a){return!cljs.core.even_QMARK_(a)};
cljs.core.complement=function(a){return function(){var b=null,c=function(){return cljs.core.not(a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null))},d=function(b){return cljs.core.not(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b))},e=function(b,c){return cljs.core.not(a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c))},f=function(){var b=function(b,c,d){return cljs.core.not(cljs.core.apply.cljs$core$IFn$_invoke$arity$4(a,
b,c,d))},c=function(a,c,d){var e=null;if(2<arguments.length){for(var e=0,f=Array(arguments.length-2);e<f.length;)f[e]=arguments[e+2],++e;e=new cljs.core.IndexedSeq(f,0,null)}return b.call(this,a,c,e)};c.cljs$lang$maxFixedArity=2;c.cljs$lang$applyTo=function(a){var c=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.rest(a);return b(c,d,a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}(),b=function(a,b,k){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,
a);case 2:return e.call(this,a,b);default:var g=null;if(2<arguments.length){for(var g=0,h=Array(arguments.length-2);g<h.length;)h[g]=arguments[g+2],++g;g=new cljs.core.IndexedSeq(h,0,null)}return f.cljs$core$IFn$_invoke$arity$variadic(a,b,g)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$lang$maxFixedArity=2;b.cljs$lang$applyTo=f.cljs$lang$applyTo;b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;b.cljs$core$IFn$_invoke$arity$2=e;b.cljs$core$IFn$_invoke$arity$variadic=
f.cljs$core$IFn$_invoke$arity$variadic;return b}()};cljs.core.constantly=function(a){return function(){var b=function(b){if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;new cljs.core.IndexedSeq(e,0,null)}return a};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){cljs.core.seq(b);return a};b.cljs$core$IFn$_invoke$arity$variadic=function(b){return a};return b}()};
cljs.core.comp=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.core.comp.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.comp.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.comp.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.comp.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:return b=new cljs.core.IndexedSeq(b.slice(3),0,null),
cljs.core.comp.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};cljs.core.comp.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.identity};cljs.core.comp.cljs$core$IFn$_invoke$arity$1=function(a){return a};
cljs.core.comp.cljs$core$IFn$_invoke$arity$2=function(a,b){return function(){var c=null,d=function(){var c=b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c)},e=function(c){c=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c)},f=function(c,d){var e=b.cljs$core$IFn$_invoke$arity$2?
b.cljs$core$IFn$_invoke$arity$2(c,d):b.call(null,c,d);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(e):a.call(null,e)},g=function(c,d,e){c=b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(c,d,e):b.call(null,c,d,e);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c)},h=function(){var c=function(c,d,e,f){c=cljs.core.apply.cljs$core$IFn$_invoke$arity$5(b,c,d,e,f);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):
a.call(null,c)},d=function(a,b,d,e){var f=null;if(3<arguments.length){for(var f=0,g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return c.call(this,a,b,d,f)};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return c(b,d,e,a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}(),c=function(a,b,c,n){switch(arguments.length){case 0:return d.call(this);
case 1:return e.call(this,a);case 2:return f.call(this,a,b);case 3:return g.call(this,a,b,c);default:var k=null;if(3<arguments.length){for(var k=0,l=Array(arguments.length-3);k<l.length;)l[k]=arguments[k+3],++k;k=new cljs.core.IndexedSeq(l,0,null)}return h.cljs$core$IFn$_invoke$arity$variadic(a,b,c,k)}throw Error("Invalid arity: "+(arguments.length-1));};c.cljs$lang$maxFixedArity=3;c.cljs$lang$applyTo=h.cljs$lang$applyTo;c.cljs$core$IFn$_invoke$arity$0=d;c.cljs$core$IFn$_invoke$arity$1=e;c.cljs$core$IFn$_invoke$arity$2=
f;c.cljs$core$IFn$_invoke$arity$3=g;c.cljs$core$IFn$_invoke$arity$variadic=h.cljs$core$IFn$_invoke$arity$variadic;return c}()};
cljs.core.comp.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return function(){var d=null,e=function(){var d=c.cljs$core$IFn$_invoke$arity$0?c.cljs$core$IFn$_invoke$arity$0():c.call(null);d=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d)},f=function(d){d=c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d);d=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):
b.call(null,d);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d)},g=function(d,e){var f=c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(d,e):c.call(null,d,e);f=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(f):b.call(null,f);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(f):a.call(null,f)},h=function(d,e,f){d=c.cljs$core$IFn$_invoke$arity$3?c.cljs$core$IFn$_invoke$arity$3(d,e,f):c.call(null,d,e,f);d=b.cljs$core$IFn$_invoke$arity$1?
b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d)},k=function(){var d=function(d,e,f,g){d=cljs.core.apply.cljs$core$IFn$_invoke$arity$5(c,d,e,f,g);d=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d)},e=function(a,b,c,e){var f=null;if(3<arguments.length){for(var f=0,g=Array(arguments.length-
3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return d.call(this,a,b,c,f)};e.cljs$lang$maxFixedArity=3;e.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var c=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return d(b,c,e,a)};e.cljs$core$IFn$_invoke$arity$variadic=d;return e}(),d=function(a,b,c,d){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,
b);case 3:return h.call(this,a,b,c);default:var l=null;if(3<arguments.length){for(var l=0,m=Array(arguments.length-3);l<m.length;)m[l]=arguments[l+3],++l;l=new cljs.core.IndexedSeq(m,0,null)}return k.cljs$core$IFn$_invoke$arity$variadic(a,b,c,l)}throw Error("Invalid arity: "+(arguments.length-1));};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=k.cljs$lang$applyTo;d.cljs$core$IFn$_invoke$arity$0=e;d.cljs$core$IFn$_invoke$arity$1=f;d.cljs$core$IFn$_invoke$arity$2=g;d.cljs$core$IFn$_invoke$arity$3=
h;d.cljs$core$IFn$_invoke$arity$variadic=k.cljs$core$IFn$_invoke$arity$variadic;return d}()};
cljs.core.comp.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return function(a){return function(){var b=function(b){b=cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.first(a),b);for(var c=cljs.core.next(a);;)if(c)b=cljs.core.first(c).call(null,b),c=cljs.core.next(c);else return b},c=function(a){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return b.call(this,c)};c.cljs$lang$maxFixedArity=
0;c.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return b(a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}()}(cljs.core.reverse(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(a,b,c,d)))};cljs.core.comp.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c),c=cljs.core.first(d),d=cljs.core.next(d);return cljs.core.comp.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};cljs.core.comp.cljs$lang$maxFixedArity=3;
cljs.core.partial=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.partial.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.partial.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.partial.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.partial.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);
default:return b=new cljs.core.IndexedSeq(b.slice(4),0,null),cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],arguments[3],b)}};cljs.core.partial.cljs$core$IFn$_invoke$arity$1=function(a){return a};
cljs.core.partial.cljs$core$IFn$_invoke$arity$2=function(a,b){return function(){var c=null,d=function(){return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)},e=function(c){return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c)},f=function(c,d){return a.cljs$core$IFn$_invoke$arity$3?a.cljs$core$IFn$_invoke$arity$3(b,c,d):a.call(null,b,c,d)},g=function(c,d,e){return a.cljs$core$IFn$_invoke$arity$4?a.cljs$core$IFn$_invoke$arity$4(b,
c,d,e):a.call(null,b,c,d,e)},h=function(){var c=function(c,d,e,f){return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(a,b,c,d,e,cljs.core.array_seq([f],0))},d=function(a,b,d,e){var f=null;if(3<arguments.length){for(var f=0,g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return c.call(this,a,b,d,f)};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.next(a);
var e=cljs.core.first(a);a=cljs.core.rest(a);return c(b,d,e,a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}(),c=function(a,b,c,n){switch(arguments.length){case 0:return d.call(this);case 1:return e.call(this,a);case 2:return f.call(this,a,b);case 3:return g.call(this,a,b,c);default:var k=null;if(3<arguments.length){for(var k=0,l=Array(arguments.length-3);k<l.length;)l[k]=arguments[k+3],++k;k=new cljs.core.IndexedSeq(l,0,null)}return h.cljs$core$IFn$_invoke$arity$variadic(a,b,c,k)}throw Error("Invalid arity: "+
(arguments.length-1));};c.cljs$lang$maxFixedArity=3;c.cljs$lang$applyTo=h.cljs$lang$applyTo;c.cljs$core$IFn$_invoke$arity$0=d;c.cljs$core$IFn$_invoke$arity$1=e;c.cljs$core$IFn$_invoke$arity$2=f;c.cljs$core$IFn$_invoke$arity$3=g;c.cljs$core$IFn$_invoke$arity$variadic=h.cljs$core$IFn$_invoke$arity$variadic;return c}()};
cljs.core.partial.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return function(){var d=null,e=function(){return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c)},f=function(d){return a.cljs$core$IFn$_invoke$arity$3?a.cljs$core$IFn$_invoke$arity$3(b,c,d):a.call(null,b,c,d)},g=function(d,e){return a.cljs$core$IFn$_invoke$arity$4?a.cljs$core$IFn$_invoke$arity$4(b,c,d,e):a.call(null,b,c,d,e)},h=function(d,e,f){return a.cljs$core$IFn$_invoke$arity$5?a.cljs$core$IFn$_invoke$arity$5(b,
c,d,e,f):a.call(null,b,c,d,e,f)},k=function(){var d=function(d,e,f,g){return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(a,b,c,d,e,cljs.core.array_seq([f,g],0))},e=function(a,b,c,e){var f=null;if(3<arguments.length){for(var f=0,g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return d.call(this,a,b,c,f)};e.cljs$lang$maxFixedArity=3;e.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var c=cljs.core.first(a);a=cljs.core.next(a);
var e=cljs.core.first(a);a=cljs.core.rest(a);return d(b,c,e,a)};e.cljs$core$IFn$_invoke$arity$variadic=d;return e}(),d=function(a,b,c,d){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,b);case 3:return h.call(this,a,b,c);default:var l=null;if(3<arguments.length){for(var l=0,m=Array(arguments.length-3);l<m.length;)m[l]=arguments[l+3],++l;l=new cljs.core.IndexedSeq(m,0,null)}return k.cljs$core$IFn$_invoke$arity$variadic(a,b,c,l)}throw Error("Invalid arity: "+
(arguments.length-1));};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=k.cljs$lang$applyTo;d.cljs$core$IFn$_invoke$arity$0=e;d.cljs$core$IFn$_invoke$arity$1=f;d.cljs$core$IFn$_invoke$arity$2=g;d.cljs$core$IFn$_invoke$arity$3=h;d.cljs$core$IFn$_invoke$arity$variadic=k.cljs$core$IFn$_invoke$arity$variadic;return d}()};
cljs.core.partial.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return function(){var e=null,f=function(){return a.cljs$core$IFn$_invoke$arity$3?a.cljs$core$IFn$_invoke$arity$3(b,c,d):a.call(null,b,c,d)},g=function(e){return a.cljs$core$IFn$_invoke$arity$4?a.cljs$core$IFn$_invoke$arity$4(b,c,d,e):a.call(null,b,c,d,e)},h=function(e,f){return a.cljs$core$IFn$_invoke$arity$5?a.cljs$core$IFn$_invoke$arity$5(b,c,d,e,f):a.call(null,b,c,d,e,f)},k=function(e,f,g){return a.cljs$core$IFn$_invoke$arity$6?
a.cljs$core$IFn$_invoke$arity$6(b,c,d,e,f,g):a.call(null,b,c,d,e,f,g)},l=function(){var e=function(e,f,g,h){return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(a,b,c,d,e,cljs.core.array_seq([f,g,h],0))},f=function(a,b,c,d){var f=null;if(3<arguments.length){for(var f=0,g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return e.call(this,a,b,c,f)};f.cljs$lang$maxFixedArity=3;f.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);
var c=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.rest(a);return e(b,c,d,a)};f.cljs$core$IFn$_invoke$arity$variadic=e;return f}(),e=function(a,b,c,d){switch(arguments.length){case 0:return f.call(this);case 1:return g.call(this,a);case 2:return h.call(this,a,b);case 3:return k.call(this,a,b,c);default:var e=null;if(3<arguments.length){for(var e=0,m=Array(arguments.length-3);e<m.length;)m[e]=arguments[e+3],++e;e=new cljs.core.IndexedSeq(m,0,null)}return l.cljs$core$IFn$_invoke$arity$variadic(a,
b,c,e)}throw Error("Invalid arity: "+(arguments.length-1));};e.cljs$lang$maxFixedArity=3;e.cljs$lang$applyTo=l.cljs$lang$applyTo;e.cljs$core$IFn$_invoke$arity$0=f;e.cljs$core$IFn$_invoke$arity$1=g;e.cljs$core$IFn$_invoke$arity$2=h;e.cljs$core$IFn$_invoke$arity$3=k;e.cljs$core$IFn$_invoke$arity$variadic=l.cljs$core$IFn$_invoke$arity$variadic;return e}()};
cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d,e){return function(){var f=function(f){return cljs.core.apply.cljs$core$IFn$_invoke$arity$5(a,b,c,d,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(e,f))},g=function(a){var b=null;if(0<arguments.length){for(var b=0,c=Array(arguments.length-0);b<c.length;)c[b]=arguments[b+0],++b;b=new cljs.core.IndexedSeq(c,0,null)}return f.call(this,b)};g.cljs$lang$maxFixedArity=0;g.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return f(a)};
g.cljs$core$IFn$_invoke$arity$variadic=f;return g}()};cljs.core.partial.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c),c=cljs.core.first(d),e=cljs.core.next(d),d=cljs.core.first(e),e=cljs.core.next(e);return cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d,e)};cljs.core.partial.cljs$lang$maxFixedArity=4;
cljs.core.fnil=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.fnil.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.fnil.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.fnil.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.fnil.cljs$core$IFn$_invoke$arity$2=function(a,b){return function(){var c=null,d=function(c){c=null==c?b:c;return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c)},e=function(c,d){var e=null==c?b:c;return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(e,d):a.call(null,e,d)},f=function(c,d,e){c=null==c?b:c;return a.cljs$core$IFn$_invoke$arity$3?a.cljs$core$IFn$_invoke$arity$3(c,d,e):a.call(null,c,d,e)},g=function(){var c=function(c,d,e,f){return cljs.core.apply.cljs$core$IFn$_invoke$arity$5(a,
null==c?b:c,d,e,f)},d=function(a,b,d,e){var f=null;if(3<arguments.length){for(var f=0,g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return c.call(this,a,b,d,f)};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return c(b,d,e,a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}(),c=function(a,b,c,m){switch(arguments.length){case 1:return d.call(this,
a);case 2:return e.call(this,a,b);case 3:return f.call(this,a,b,c);default:var h=null;if(3<arguments.length){for(var h=0,k=Array(arguments.length-3);h<k.length;)k[h]=arguments[h+3],++h;h=new cljs.core.IndexedSeq(k,0,null)}return g.cljs$core$IFn$_invoke$arity$variadic(a,b,c,h)}throw Error("Invalid arity: "+(arguments.length-1));};c.cljs$lang$maxFixedArity=3;c.cljs$lang$applyTo=g.cljs$lang$applyTo;c.cljs$core$IFn$_invoke$arity$1=d;c.cljs$core$IFn$_invoke$arity$2=e;c.cljs$core$IFn$_invoke$arity$3=f;
c.cljs$core$IFn$_invoke$arity$variadic=g.cljs$core$IFn$_invoke$arity$variadic;return c}()};
cljs.core.fnil.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return function(){var d=null,e=function(d,e){var f=null==d?b:d,g=null==e?c:e;return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(f,g):a.call(null,f,g)},f=function(d,e,f){d=null==d?b:d;e=null==e?c:e;return a.cljs$core$IFn$_invoke$arity$3?a.cljs$core$IFn$_invoke$arity$3(d,e,f):a.call(null,d,e,f)},g=function(){var d=function(d,e,f,g){return cljs.core.apply.cljs$core$IFn$_invoke$arity$5(a,null==d?b:d,null==e?c:e,f,g)},e=function(a,
b,c,e){var f=null;if(3<arguments.length){for(var f=0,g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return d.call(this,a,b,c,f)};e.cljs$lang$maxFixedArity=3;e.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var c=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return d(b,c,e,a)};e.cljs$core$IFn$_invoke$arity$variadic=d;return e}(),d=function(a,b,c,d){switch(arguments.length){case 2:return e.call(this,
a,b);case 3:return f.call(this,a,b,c);default:var h=null;if(3<arguments.length){for(var h=0,k=Array(arguments.length-3);h<k.length;)k[h]=arguments[h+3],++h;h=new cljs.core.IndexedSeq(k,0,null)}return g.cljs$core$IFn$_invoke$arity$variadic(a,b,c,h)}throw Error("Invalid arity: "+(arguments.length-1));};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=g.cljs$lang$applyTo;d.cljs$core$IFn$_invoke$arity$2=e;d.cljs$core$IFn$_invoke$arity$3=f;d.cljs$core$IFn$_invoke$arity$variadic=g.cljs$core$IFn$_invoke$arity$variadic;
return d}()};
cljs.core.fnil.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return function(){var e=null,f=function(d,e){var f=null==d?b:d,g=null==e?c:e;return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(f,g):a.call(null,f,g)},g=function(e,f,g){e=null==e?b:e;f=null==f?c:f;g=null==g?d:g;return a.cljs$core$IFn$_invoke$arity$3?a.cljs$core$IFn$_invoke$arity$3(e,f,g):a.call(null,e,f,g)},h=function(){var e=function(e,f,g,h){return cljs.core.apply.cljs$core$IFn$_invoke$arity$5(a,null==e?b:e,null==
f?c:f,null==g?d:g,h)},f=function(a,b,c,d){var f=null;if(3<arguments.length){for(var f=0,g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return e.call(this,a,b,c,f)};f.cljs$lang$maxFixedArity=3;f.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var c=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.rest(a);return e(b,c,d,a)};f.cljs$core$IFn$_invoke$arity$variadic=e;return f}(),e=function(a,b,c,
d){switch(arguments.length){case 2:return f.call(this,a,b);case 3:return g.call(this,a,b,c);default:var e=null;if(3<arguments.length){for(var e=0,k=Array(arguments.length-3);e<k.length;)k[e]=arguments[e+3],++e;e=new cljs.core.IndexedSeq(k,0,null)}return h.cljs$core$IFn$_invoke$arity$variadic(a,b,c,e)}throw Error("Invalid arity: "+(arguments.length-1));};e.cljs$lang$maxFixedArity=3;e.cljs$lang$applyTo=h.cljs$lang$applyTo;e.cljs$core$IFn$_invoke$arity$2=f;e.cljs$core$IFn$_invoke$arity$3=g;e.cljs$core$IFn$_invoke$arity$variadic=
h.cljs$core$IFn$_invoke$arity$variadic;return e}()};cljs.core.fnil.cljs$lang$maxFixedArity=4;
cljs.core.map_indexed=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$1=function(a){return function(b){return function(c){return function(){var d=null,e=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},f=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},g=function(d,e){var f=cljs.core._vreset_BANG_(c,cljs.core._deref(c)+1);f=a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(f,e):a.call(null,f,e);return b.cljs$core$IFn$_invoke$arity$2?
b.cljs$core$IFn$_invoke$arity$2(d,f):b.call(null,d,f)},d=function(a,b){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+(arguments.length-1));};d.cljs$core$IFn$_invoke$arity$0=e;d.cljs$core$IFn$_invoke$arity$1=f;d.cljs$core$IFn$_invoke$arity$2=g;return d}()}(cljs.core.volatile_BANG_.cljs$core$IFn$_invoke$arity$1?cljs.core.volatile_BANG_.cljs$core$IFn$_invoke$arity$1(-1):cljs.core.volatile_BANG_.call(null,
-1))}};
cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2=function(a,b){return function d(b,f){return new cljs.core.LazySeq(null,function(){var e=cljs.core.seq(f);if(e){if(cljs.core.chunked_seq_QMARK_(e)){for(var h=cljs.core.chunk_first(e),k=cljs.core.count(h),l=cljs.core.chunk_buffer(k),m=0;;)if(m<k)cljs.core.chunk_append(l,function(){var d=b+m,e=cljs.core._nth.cljs$core$IFn$_invoke$arity$2(h,m);return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(d,e):a.call(null,d,e)}()),m+=1;else break;
return cljs.core.chunk_cons(cljs.core.chunk(l),d(b+k,cljs.core.chunk_rest(e)))}return cljs.core.cons(function(){var d=cljs.core.first(e);return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,d):a.call(null,b,d)}(),d(b+1,cljs.core.rest(e)))}return null},null,null)}(0,b)};cljs.core.map_indexed.cljs$lang$maxFixedArity=2;
cljs.core.keep=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.keep.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.keep.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.keep.cljs$core$IFn$_invoke$arity$1=function(a){return function(b){return function(){var c=null,d=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},e=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},f=function(c,d){var e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d);return null==e?c:b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,e):b.call(null,
c,e)},c=function(a,b){switch(arguments.length){case 0:return d.call(this);case 1:return e.call(this,a);case 2:return f.call(this,a,b)}throw Error("Invalid arity: "+(arguments.length-1));};c.cljs$core$IFn$_invoke$arity$0=d;c.cljs$core$IFn$_invoke$arity$1=e;c.cljs$core$IFn$_invoke$arity$2=f;return c}()}};
cljs.core.keep.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq(b);if(c){if(cljs.core.chunked_seq_QMARK_(c)){for(var d=cljs.core.chunk_first(c),e=cljs.core.count(d),f=cljs.core.chunk_buffer(e),g=0;;)if(g<e){var h=function(){var b=cljs.core._nth.cljs$core$IFn$_invoke$arity$2(d,g);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)}();null!=h&&cljs.core.chunk_append(f,h);g+=1}else break;return cljs.core.chunk_cons(cljs.core.chunk(f),
cljs.core.keep.cljs$core$IFn$_invoke$arity$2(a,cljs.core.chunk_rest(c)))}e=function(){var b=cljs.core.first(c);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)}();return null==e?cljs.core.keep.cljs$core$IFn$_invoke$arity$2(a,cljs.core.rest(c)):cljs.core.cons(e,cljs.core.keep.cljs$core$IFn$_invoke$arity$2(a,cljs.core.rest(c)))}return null},null,null)};cljs.core.keep.cljs$lang$maxFixedArity=2;
cljs.core.Atom=function(a,b,c,d){this.state=a;this.meta=b;this.validator=c;this.watches=d;this.cljs$lang$protocol_mask$partition1$=16386;this.cljs$lang$protocol_mask$partition0$=6455296};cljs.core.Atom.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};cljs.core.Atom.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return this===b};cljs.core.Atom.prototype.cljs$core$IDeref$_deref$arity$1=function(a){return this.state};
cljs.core.Atom.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};
cljs.core.Atom.prototype.cljs$core$IWatchable$_notify_watches$arity$3=function(a,b,c){for(var d,e=cljs.core.seq(this.watches),f=null,g=0,h=0;;)if(h<g)d=f.cljs$core$IIndexed$_nth$arity$2(null,h),a=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,0,null),d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,1,null),d.cljs$core$IFn$_invoke$arity$4?d.cljs$core$IFn$_invoke$arity$4(a,this,b,c):d.call(null,a,this,b,c),h+=1;else if(a=cljs.core.seq(e))e=a,cljs.core.chunked_seq_QMARK_(e)?(f=cljs.core.chunk_first(e),
e=cljs.core.chunk_rest(e),a=f,d=cljs.core.count(f),f=a,g=d):(f=cljs.core.first(e),a=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,0,null),d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,1,null),d.cljs$core$IFn$_invoke$arity$4?d.cljs$core$IFn$_invoke$arity$4(a,this,b,c):d.call(null,a,this,b,c),e=cljs.core.next(e),f=null,g=0),h=0;else return null};
cljs.core.Atom.prototype.cljs$core$IWatchable$_add_watch$arity$3=function(a,b,c){this.watches=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(this.watches,b,c);return this};cljs.core.Atom.prototype.cljs$core$IWatchable$_remove_watch$arity$2=function(a,b){return this.watches=cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(this.watches,b)};cljs.core.Atom.prototype.cljs$core$IHash$_hash$arity$1=function(a){return goog.getUid(this)};
cljs.core.Atom.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"state","state",-348086572,null),new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"validator","validator",-325659154,null),new cljs.core.Symbol(null,"watches","watches",1367433992,null)],null)};cljs.core.Atom.cljs$lang$type=!0;cljs.core.Atom.cljs$lang$ctorStr="cljs.core/Atom";
cljs.core.Atom.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Atom")};cljs.core.__GT_Atom=function(a,b,c,d){return new cljs.core.Atom(a,b,c,d)};cljs.core.atom=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.atom.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:return b=new cljs.core.IndexedSeq(b.slice(1),0,null),cljs.core.atom.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)}};
cljs.core.atom.cljs$core$IFn$_invoke$arity$1=function(a){return new cljs.core.Atom(a,null,null,null)};
cljs.core.atom.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,b):b,d=cljs.core.get.cljs$core$IFn$_invoke$arity$2(c,new cljs.core.Keyword(null,"meta","meta",1499536964)),c=cljs.core.get.cljs$core$IFn$_invoke$arity$2(c,new cljs.core.Keyword(null,"validator","validator",-1966190681));return new cljs.core.Atom(a,d,c,null)};
cljs.core.atom.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);return cljs.core.atom.cljs$core$IFn$_invoke$arity$variadic(b,a)};cljs.core.atom.cljs$lang$maxFixedArity=1;
cljs.core.reset_BANG_=function(a,b){if(a instanceof cljs.core.Atom){var c=a.validator;if(null!=c&&!cljs.core.truth_(c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(b):c.call(null,b)))throw Error("Validator rejected reference state");c=a.state;a.state=b;null!=a.watches&&cljs.core._notify_watches(a,c,b);return b}return cljs.core._reset_BANG_(a,b)};
cljs.core.swap_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:return b=new cljs.core.IndexedSeq(b.slice(4),0,
null),cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],arguments[3],b)}};cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){return a instanceof cljs.core.Atom?cljs.core.reset_BANG_(a,function(){var c=a.state;return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c)}()):cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$2(a,b)};
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return a instanceof cljs.core.Atom?cljs.core.reset_BANG_(a,function(){var d=a.state;return b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,c):b.call(null,d,c)}()):cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$3(a,b,c)};
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return a instanceof cljs.core.Atom?cljs.core.reset_BANG_(a,function(){var e=a.state;return b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(e,c,d):b.call(null,e,c,d)}()):cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$4(a,b,c,d)};
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d,e){return a instanceof cljs.core.Atom?cljs.core.reset_BANG_(a,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(b,a.state,c,d,e)):cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e)};
cljs.core.swap_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c),c=cljs.core.first(d),e=cljs.core.next(d),d=cljs.core.first(e),e=cljs.core.next(e);return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d,e)};cljs.core.swap_BANG_.cljs$lang$maxFixedArity=4;
cljs.core.compare_and_set_BANG_=function(a,b,c){return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a.cljs$core$IDeref$_deref$arity$1(null),b)?(cljs.core.reset_BANG_(a,c),!0):!1};cljs.core.set_validator_BANG_=function(a,b){if(null!=b&&cljs.core.not(function(){var c=cljs.core._deref(a);return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c)}()))throw Error("Validator rejected reference state");return a.validator=b};cljs.core.get_validator=function(a){return a.validator};
cljs.core.Volatile=function(a){this.state=a;this.cljs$lang$protocol_mask$partition0$=32768;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.Volatile.prototype.cljs$core$IVolatile$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Volatile.prototype.cljs$core$IVolatile$_vreset_BANG_$arity$2=function(a,b){return this.state=b};cljs.core.Volatile.prototype.cljs$core$IDeref$_deref$arity$1=function(a){return this.state};
cljs.core.Volatile.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"state","state",-348086572,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.Volatile.cljs$lang$type=!0;cljs.core.Volatile.cljs$lang$ctorStr="cljs.core/Volatile";
cljs.core.Volatile.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Volatile")};cljs.core.__GT_Volatile=function(a){return new cljs.core.Volatile(a)};cljs.core.volatile_BANG_=function(a){return new cljs.core.Volatile(a)};cljs.core.volatile_QMARK_=function(a){return a instanceof cljs.core.Volatile};cljs.core.vreset_BANG_=function(a,b){return cljs.core._vreset_BANG_(a,b)};
cljs.core.keep_indexed=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$1=function(a){return function(b){return function(c){return function(){var d=null,e=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},f=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},g=function(d,e){var f=cljs.core._vreset_BANG_(c,cljs.core._deref(c)+1),f=a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(f,e):a.call(null,f,e);return null==
f?d:b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,f):b.call(null,d,f)},d=function(a,b){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+(arguments.length-1));};d.cljs$core$IFn$_invoke$arity$0=e;d.cljs$core$IFn$_invoke$arity$1=f;d.cljs$core$IFn$_invoke$arity$2=g;return d}()}(cljs.core.volatile_BANG_(-1))}};
cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$2=function(a,b){return function d(b,f){return new cljs.core.LazySeq(null,function(){var e=cljs.core.seq(f);if(e){if(cljs.core.chunked_seq_QMARK_(e)){for(var h=cljs.core.chunk_first(e),k=cljs.core.count(h),l=cljs.core.chunk_buffer(k),m=0;;)if(m<k){var n=function(){var d=b+m,e=cljs.core._nth.cljs$core$IFn$_invoke$arity$2(h,m);return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(d,e):a.call(null,d,e)}();null!=n&&cljs.core.chunk_append(l,
n);m+=1}else break;return cljs.core.chunk_cons(cljs.core.chunk(l),d(b+k,cljs.core.chunk_rest(e)))}k=function(){var d=cljs.core.first(e);return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,d):a.call(null,b,d)}();return null==k?d(b+1,cljs.core.rest(e)):cljs.core.cons(k,d(b+1,cljs.core.rest(e)))}return null},null,null)}(0,b)};cljs.core.keep_indexed.cljs$lang$maxFixedArity=2;
cljs.core.every_pred=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.every_pred.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.every_pred.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.every_pred.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:return b=new cljs.core.IndexedSeq(b.slice(3),0,null),cljs.core.every_pred.cljs$core$IFn$_invoke$arity$variadic(arguments[0],
arguments[1],arguments[2],b)}};
cljs.core.every_pred.cljs$core$IFn$_invoke$arity$1=function(a){return function(){var b=null,c=function(b){return cljs.core.boolean$(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b))},d=function(b,c){return cljs.core.boolean$(function(){var d=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b);return cljs.core.truth_(d)?a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c):d}())},e=function(b,c,d){return cljs.core.boolean$(function(){var e=
a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b);return cljs.core.truth_(e)?(e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c),cljs.core.truth_(e)?a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d):e):e}())},f=function(){var c=function(c,d,e,f){return cljs.core.boolean$(function(){var g=b.cljs$core$IFn$_invoke$arity$3(c,d,e);return cljs.core.truth_(g)?cljs.core.every_QMARK_(a,f):g}())},d=function(a,b,
d,e){var f=null;if(3<arguments.length){for(var f=0,g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return c.call(this,a,b,d,f)};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return c(b,d,e,a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}(),b=function(a,b,k,l){switch(arguments.length){case 0:return!0;
case 1:return c.call(this,a);case 2:return d.call(this,a,b);case 3:return e.call(this,a,b,k);default:var g=null;if(3<arguments.length){for(var g=0,h=Array(arguments.length-3);g<h.length;)h[g]=arguments[g+3],++g;g=new cljs.core.IndexedSeq(h,0,null)}return f.cljs$core$IFn$_invoke$arity$variadic(a,b,k,g)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$lang$maxFixedArity=3;b.cljs$lang$applyTo=f.cljs$lang$applyTo;b.cljs$core$IFn$_invoke$arity$0=function(){return!0};b.cljs$core$IFn$_invoke$arity$1=
c;b.cljs$core$IFn$_invoke$arity$2=d;b.cljs$core$IFn$_invoke$arity$3=e;b.cljs$core$IFn$_invoke$arity$variadic=f.cljs$core$IFn$_invoke$arity$variadic;return b}()};
cljs.core.every_pred.cljs$core$IFn$_invoke$arity$2=function(a,b){return function(){var c=null,d=function(c){return cljs.core.boolean$(function(){var d=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);return cljs.core.truth_(d)?b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c):d}())},e=function(c,d){return cljs.core.boolean$(function(){var e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);return cljs.core.truth_(e)&&
(e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d),cljs.core.truth_(e))?(e=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c),cljs.core.truth_(e)?b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d):e):e}())},f=function(c,d,e){return cljs.core.boolean$(function(){var f=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);return cljs.core.truth_(f)&&(f=a.cljs$core$IFn$_invoke$arity$1?
a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d),cljs.core.truth_(f)&&(f=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(e):a.call(null,e),cljs.core.truth_(f)&&(f=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c),cljs.core.truth_(f))))?(f=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d),cljs.core.truth_(f)?b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(e):b.call(null,e):f):f}())},g=function(){var d=
function(d,e,f,g){return cljs.core.boolean$(function(){var h=c.cljs$core$IFn$_invoke$arity$3(d,e,f);return cljs.core.truth_(h)?cljs.core.every_QMARK_(function(c){return function(c){var d=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);return cljs.core.truth_(d)?b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c):d}}(h),g):h}())},e=function(a,b,c,e){var f=null;if(3<arguments.length){for(var f=0,g=Array(arguments.length-3);f<g.length;)g[f]=
arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return d.call(this,a,b,c,f)};e.cljs$lang$maxFixedArity=3;e.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var c=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return d(b,c,e,a)};e.cljs$core$IFn$_invoke$arity$variadic=d;return e}(),c=function(a,b,c,m){switch(arguments.length){case 0:return!0;case 1:return d.call(this,a);case 2:return e.call(this,a,b);case 3:return f.call(this,a,
b,c);default:var h=null;if(3<arguments.length){for(var h=0,k=Array(arguments.length-3);h<k.length;)k[h]=arguments[h+3],++h;h=new cljs.core.IndexedSeq(k,0,null)}return g.cljs$core$IFn$_invoke$arity$variadic(a,b,c,h)}throw Error("Invalid arity: "+(arguments.length-1));};c.cljs$lang$maxFixedArity=3;c.cljs$lang$applyTo=g.cljs$lang$applyTo;c.cljs$core$IFn$_invoke$arity$0=function(){return!0};c.cljs$core$IFn$_invoke$arity$1=d;c.cljs$core$IFn$_invoke$arity$2=e;c.cljs$core$IFn$_invoke$arity$3=f;c.cljs$core$IFn$_invoke$arity$variadic=
g.cljs$core$IFn$_invoke$arity$variadic;return c}()};
cljs.core.every_pred.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return function(){var d=null,e=function(d){return cljs.core.boolean$(function(){var e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d);return cljs.core.truth_(e)?(e=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d),cljs.core.truth_(e)?c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d):e):e}())},f=function(d,e){return cljs.core.boolean$(function(){var f=
a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d);return cljs.core.truth_(f)&&(f=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d),cljs.core.truth_(f)&&(f=c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d),cljs.core.truth_(f)&&(f=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(e):a.call(null,e),cljs.core.truth_(f))))?(f=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(e):b.call(null,
e),cljs.core.truth_(f)?c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(e):c.call(null,e):f):f}())},g=function(d,e,f){return cljs.core.boolean$(function(){var g=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d);return cljs.core.truth_(g)&&(g=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d),cljs.core.truth_(g)&&(g=c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d),cljs.core.truth_(g)&&(g=
a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(e):a.call(null,e),cljs.core.truth_(g)&&(g=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(e):b.call(null,e),cljs.core.truth_(g)&&(g=c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(e):c.call(null,e),cljs.core.truth_(g)&&(g=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(f):a.call(null,f),cljs.core.truth_(g)))))))?(g=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(f):b.call(null,
f),cljs.core.truth_(g)?c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(f):c.call(null,f):g):g}())},h=function(){var e=function(e,f,g,h){return cljs.core.boolean$(function(){var k=d.cljs$core$IFn$_invoke$arity$3(e,f,g);return cljs.core.truth_(k)?cljs.core.every_QMARK_(function(d){return function(d){var e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d);return cljs.core.truth_(e)?(e=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,
d),cljs.core.truth_(e)?c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d):e):e}}(k),h):k}())},f=function(a,b,c,d){var f=null;if(3<arguments.length){for(var f=0,g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return e.call(this,a,b,c,f)};f.cljs$lang$maxFixedArity=3;f.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var c=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.rest(a);
return e(b,c,d,a)};f.cljs$core$IFn$_invoke$arity$variadic=e;return f}(),d=function(a,b,c,d){switch(arguments.length){case 0:return!0;case 1:return e.call(this,a);case 2:return f.call(this,a,b);case 3:return g.call(this,a,b,c);default:var k=null;if(3<arguments.length){for(var k=0,l=Array(arguments.length-3);k<l.length;)l[k]=arguments[k+3],++k;k=new cljs.core.IndexedSeq(l,0,null)}return h.cljs$core$IFn$_invoke$arity$variadic(a,b,c,k)}throw Error("Invalid arity: "+(arguments.length-1));};d.cljs$lang$maxFixedArity=
3;d.cljs$lang$applyTo=h.cljs$lang$applyTo;d.cljs$core$IFn$_invoke$arity$0=function(){return!0};d.cljs$core$IFn$_invoke$arity$1=e;d.cljs$core$IFn$_invoke$arity$2=f;d.cljs$core$IFn$_invoke$arity$3=g;d.cljs$core$IFn$_invoke$arity$variadic=h.cljs$core$IFn$_invoke$arity$variadic;return d}()};
cljs.core.every_pred.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return function(a){return function(){var b=null,c=function(b){return cljs.core.every_QMARK_(function(a){return function(a){return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)}}(a),a)},d=function(b,c){return cljs.core.every_QMARK_(function(a){return function(a){var d=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b);return cljs.core.truth_(d)?a.cljs$core$IFn$_invoke$arity$1?
a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c):d}}(a),a)},e=function(b,c,d){return cljs.core.every_QMARK_(function(a){return function(a){var e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b);return cljs.core.truth_(e)?(e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c),cljs.core.truth_(e)?a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d):e):e}}(a),a)},l=function(){var c=function(c,d,e,f){return cljs.core.boolean$(function(){var g=
b.cljs$core$IFn$_invoke$arity$3(c,d,e);return cljs.core.truth_(g)?cljs.core.every_QMARK_(function(a,b){return function(a){return cljs.core.every_QMARK_(a,f)}}(g,a),a):g}())},d=function(a,b,d,e){var f=null;if(3<arguments.length){for(var f=0,g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return c.call(this,a,b,d,f)};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=
cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return c(b,d,e,a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}(),b=function(a,b,f,g){switch(arguments.length){case 0:return!0;case 1:return c.call(this,a);case 2:return d.call(this,a,b);case 3:return e.call(this,a,b,f);default:var h=null;if(3<arguments.length){for(var h=0,k=Array(arguments.length-3);h<k.length;)k[h]=arguments[h+3],++h;h=new cljs.core.IndexedSeq(k,0,null)}return l.cljs$core$IFn$_invoke$arity$variadic(a,b,f,h)}throw Error("Invalid arity: "+
(arguments.length-1));};b.cljs$lang$maxFixedArity=3;b.cljs$lang$applyTo=l.cljs$lang$applyTo;b.cljs$core$IFn$_invoke$arity$0=function(){return!0};b.cljs$core$IFn$_invoke$arity$1=c;b.cljs$core$IFn$_invoke$arity$2=d;b.cljs$core$IFn$_invoke$arity$3=e;b.cljs$core$IFn$_invoke$arity$variadic=l.cljs$core$IFn$_invoke$arity$variadic;return b}()}(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(a,b,c,d))};
cljs.core.every_pred.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c),c=cljs.core.first(d),d=cljs.core.next(d);return cljs.core.every_pred.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};cljs.core.every_pred.cljs$lang$maxFixedArity=3;
cljs.core.some_fn=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.some_fn.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.some_fn.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.some_fn.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:return b=new cljs.core.IndexedSeq(b.slice(3),0,null),cljs.core.some_fn.cljs$core$IFn$_invoke$arity$variadic(arguments[0],
arguments[1],arguments[2],b)}};
cljs.core.some_fn.cljs$core$IFn$_invoke$arity$1=function(a){return function(){var b=null,c=function(b){return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)},d=function(b,c){var d=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b);return cljs.core.truth_(d)?d:a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c)},e=function(b,c,d){b=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,
b);if(cljs.core.truth_(b))return b;c=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);return cljs.core.truth_(c)?c:a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d)},f=function(){var c=function(c,d,e,f){c=b.cljs$core$IFn$_invoke$arity$3(c,d,e);return cljs.core.truth_(c)?c:cljs.core.some(a,f)},d=function(a,b,d,e){var f=null;if(3<arguments.length){for(var f=0,g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,
0,null)}return c.call(this,a,b,d,f)};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return c(b,d,e,a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}(),b=function(a,b,k,l){switch(arguments.length){case 0:return null;case 1:return c.call(this,a);case 2:return d.call(this,a,b);case 3:return e.call(this,a,b,k);default:var g=null;if(3<arguments.length){for(var g=
0,h=Array(arguments.length-3);g<h.length;)h[g]=arguments[g+3],++g;g=new cljs.core.IndexedSeq(h,0,null)}return f.cljs$core$IFn$_invoke$arity$variadic(a,b,k,g)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$lang$maxFixedArity=3;b.cljs$lang$applyTo=f.cljs$lang$applyTo;b.cljs$core$IFn$_invoke$arity$0=function(){return null};b.cljs$core$IFn$_invoke$arity$1=c;b.cljs$core$IFn$_invoke$arity$2=d;b.cljs$core$IFn$_invoke$arity$3=e;b.cljs$core$IFn$_invoke$arity$variadic=f.cljs$core$IFn$_invoke$arity$variadic;
return b}()};
cljs.core.some_fn.cljs$core$IFn$_invoke$arity$2=function(a,b){return function(){var c=null,d=function(c){var d=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);return cljs.core.truth_(d)?d:b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c)},e=function(c,d){var e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);if(cljs.core.truth_(e))return e;e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,
d);if(cljs.core.truth_(e))return e;e=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c);return cljs.core.truth_(e)?e:b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d)},f=function(c,d,e){var f=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);if(cljs.core.truth_(f))return f;f=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d);if(cljs.core.truth_(f))return f;f=a.cljs$core$IFn$_invoke$arity$1?
a.cljs$core$IFn$_invoke$arity$1(e):a.call(null,e);if(cljs.core.truth_(f))return f;c=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c);if(cljs.core.truth_(c))return c;d=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d);return cljs.core.truth_(d)?d:b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(e):b.call(null,e)},g=function(){var d=function(d,e,f,g){d=c.cljs$core$IFn$_invoke$arity$3(d,e,f);return cljs.core.truth_(d)?d:
cljs.core.some(function(c){return function(c){var d=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);return cljs.core.truth_(d)?d:b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c)}}(d),g)},e=function(a,b,c,e){var f=null;if(3<arguments.length){for(var f=0,g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return d.call(this,a,b,c,f)};e.cljs$lang$maxFixedArity=3;e.cljs$lang$applyTo=function(a){var b=
cljs.core.first(a);a=cljs.core.next(a);var c=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return d(b,c,e,a)};e.cljs$core$IFn$_invoke$arity$variadic=d;return e}(),c=function(a,b,c,m){switch(arguments.length){case 0:return null;case 1:return d.call(this,a);case 2:return e.call(this,a,b);case 3:return f.call(this,a,b,c);default:var h=null;if(3<arguments.length){for(var h=0,k=Array(arguments.length-3);h<k.length;)k[h]=arguments[h+3],++h;h=new cljs.core.IndexedSeq(k,
0,null)}return g.cljs$core$IFn$_invoke$arity$variadic(a,b,c,h)}throw Error("Invalid arity: "+(arguments.length-1));};c.cljs$lang$maxFixedArity=3;c.cljs$lang$applyTo=g.cljs$lang$applyTo;c.cljs$core$IFn$_invoke$arity$0=function(){return null};c.cljs$core$IFn$_invoke$arity$1=d;c.cljs$core$IFn$_invoke$arity$2=e;c.cljs$core$IFn$_invoke$arity$3=f;c.cljs$core$IFn$_invoke$arity$variadic=g.cljs$core$IFn$_invoke$arity$variadic;return c}()};
cljs.core.some_fn.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return function(){var d=null,e=function(d){var e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d);if(cljs.core.truth_(e))return e;e=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d);return cljs.core.truth_(e)?e:c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d)},f=function(d,e){var f=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):
a.call(null,d);if(cljs.core.truth_(f))return f;f=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d);if(cljs.core.truth_(f))return f;f=c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d);if(cljs.core.truth_(f))return f;f=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(e):a.call(null,e);if(cljs.core.truth_(f))return f;f=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(e):b.call(null,e);return cljs.core.truth_(f)?
f:c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(e):c.call(null,e)},g=function(d,e,f){var g=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d);if(cljs.core.truth_(g))return g;g=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d);if(cljs.core.truth_(g))return g;d=c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d);if(cljs.core.truth_(d))return d;d=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(e):
a.call(null,e);if(cljs.core.truth_(d))return d;d=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(e):b.call(null,e);if(cljs.core.truth_(d))return d;e=c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(e):c.call(null,e);if(cljs.core.truth_(e))return e;e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(f):a.call(null,f);if(cljs.core.truth_(e))return e;e=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(f):b.call(null,f);return cljs.core.truth_(e)?
e:c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(f):c.call(null,f)},h=function(){var e=function(e,f,g,h){e=d.cljs$core$IFn$_invoke$arity$3(e,f,g);return cljs.core.truth_(e)?e:cljs.core.some(function(d){return function(d){var e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d);if(cljs.core.truth_(e))return e;e=b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d);return cljs.core.truth_(e)?e:c.cljs$core$IFn$_invoke$arity$1?
c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d)}}(e),h)},f=function(a,b,c,d){var f=null;if(3<arguments.length){for(var f=0,g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return e.call(this,a,b,c,f)};f.cljs$lang$maxFixedArity=3;f.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var c=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.rest(a);return e(b,c,d,a)};f.cljs$core$IFn$_invoke$arity$variadic=
e;return f}(),d=function(a,b,c,d){switch(arguments.length){case 0:return null;case 1:return e.call(this,a);case 2:return f.call(this,a,b);case 3:return g.call(this,a,b,c);default:var k=null;if(3<arguments.length){for(var k=0,l=Array(arguments.length-3);k<l.length;)l[k]=arguments[k+3],++k;k=new cljs.core.IndexedSeq(l,0,null)}return h.cljs$core$IFn$_invoke$arity$variadic(a,b,c,k)}throw Error("Invalid arity: "+(arguments.length-1));};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=h.cljs$lang$applyTo;
d.cljs$core$IFn$_invoke$arity$0=function(){return null};d.cljs$core$IFn$_invoke$arity$1=e;d.cljs$core$IFn$_invoke$arity$2=f;d.cljs$core$IFn$_invoke$arity$3=g;d.cljs$core$IFn$_invoke$arity$variadic=h.cljs$core$IFn$_invoke$arity$variadic;return d}()};
cljs.core.some_fn.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return function(a){return function(){var b=null,c=function(b){return cljs.core.some(function(a){return function(a){return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)}}(a),a)},d=function(b,c){return cljs.core.some(function(a){return function(a){var d=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b);return cljs.core.truth_(d)?d:a.cljs$core$IFn$_invoke$arity$1?
a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c)}}(a),a)},e=function(b,c,d){return cljs.core.some(function(a){return function(a){var e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b);if(cljs.core.truth_(e))return e;e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c);return cljs.core.truth_(e)?e:a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d)}}(a),a)},l=function(){var c=function(c,d,e,f){c=b.cljs$core$IFn$_invoke$arity$3(c,
d,e);return cljs.core.truth_(c)?c:cljs.core.some(function(a,b){return function(a){return cljs.core.some(a,f)}}(c,a),a)},d=function(a,b,d,e){var f=null;if(3<arguments.length){for(var f=0,g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return c.call(this,a,b,d,f)};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);
return c(b,d,e,a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}(),b=function(a,b,f,g){switch(arguments.length){case 0:return null;case 1:return c.call(this,a);case 2:return d.call(this,a,b);case 3:return e.call(this,a,b,f);default:var h=null;if(3<arguments.length){for(var h=0,k=Array(arguments.length-3);h<k.length;)k[h]=arguments[h+3],++h;h=new cljs.core.IndexedSeq(k,0,null)}return l.cljs$core$IFn$_invoke$arity$variadic(a,b,f,h)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$lang$maxFixedArity=
3;b.cljs$lang$applyTo=l.cljs$lang$applyTo;b.cljs$core$IFn$_invoke$arity$0=function(){return null};b.cljs$core$IFn$_invoke$arity$1=c;b.cljs$core$IFn$_invoke$arity$2=d;b.cljs$core$IFn$_invoke$arity$3=e;b.cljs$core$IFn$_invoke$arity$variadic=l.cljs$core$IFn$_invoke$arity$variadic;return b}()}(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(a,b,c,d))};
cljs.core.some_fn.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c),c=cljs.core.first(d),d=cljs.core.next(d);return cljs.core.some_fn.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};cljs.core.some_fn.cljs$lang$maxFixedArity=3;
cljs.core.map=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.map.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.map.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.map.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.map.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:return b=
new cljs.core.IndexedSeq(b.slice(4),0,null),cljs.core.map.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],arguments[3],b)}};
cljs.core.map.cljs$core$IFn$_invoke$arity$1=function(a){return function(b){return function(){var c=null,d=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},e=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},f=function(c,d){var e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d);return b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,e):b.call(null,c,
e)},g=function(){var c=function(c,d,e){d=cljs.core.apply.cljs$core$IFn$_invoke$arity$3(a,d,e);return b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,d):b.call(null,c,d)},d=function(a,b,d){var e=null;if(2<arguments.length){for(var e=0,f=Array(arguments.length-2);e<f.length;)f[e]=arguments[e+2],++e;e=new cljs.core.IndexedSeq(f,0,null)}return c.call(this,a,b,e)};d.cljs$lang$maxFixedArity=2;d.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);
a=cljs.core.rest(a);return c(b,d,a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}(),c=function(a,b,c){switch(arguments.length){case 0:return d.call(this);case 1:return e.call(this,a);case 2:return f.call(this,a,b);default:var h=null;if(2<arguments.length){for(var h=0,k=Array(arguments.length-2);h<k.length;)k[h]=arguments[h+2],++h;h=new cljs.core.IndexedSeq(k,0,null)}return g.cljs$core$IFn$_invoke$arity$variadic(a,b,h)}throw Error("Invalid arity: "+(arguments.length-1));};c.cljs$lang$maxFixedArity=
2;c.cljs$lang$applyTo=g.cljs$lang$applyTo;c.cljs$core$IFn$_invoke$arity$0=d;c.cljs$core$IFn$_invoke$arity$1=e;c.cljs$core$IFn$_invoke$arity$2=f;c.cljs$core$IFn$_invoke$arity$variadic=g.cljs$core$IFn$_invoke$arity$variadic;return c}()}};
cljs.core.map.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq(b);if(c){if(cljs.core.chunked_seq_QMARK_(c)){for(var d=cljs.core.chunk_first(c),e=cljs.core.count(d),f=cljs.core.chunk_buffer(e),g=0;;)if(g<e)cljs.core.chunk_append(f,function(){var b=cljs.core._nth.cljs$core$IFn$_invoke$arity$2(d,g);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)}()),g+=1;else break;return cljs.core.chunk_cons(cljs.core.chunk(f),
cljs.core.map.cljs$core$IFn$_invoke$arity$2(a,cljs.core.chunk_rest(c)))}return cljs.core.cons(function(){var b=cljs.core.first(c);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)}(),cljs.core.map.cljs$core$IFn$_invoke$arity$2(a,cljs.core.rest(c)))}return null},null,null)};
cljs.core.map.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new cljs.core.LazySeq(null,function(){var d=cljs.core.seq(b),e=cljs.core.seq(c);return d&&e?cljs.core.cons(function(){var b=cljs.core.first(d),c=cljs.core.first(e);return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c)}(),cljs.core.map.cljs$core$IFn$_invoke$arity$3(a,cljs.core.rest(d),cljs.core.rest(e))):null},null,null)};
cljs.core.map.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return new cljs.core.LazySeq(null,function(){var e=cljs.core.seq(b),f=cljs.core.seq(c),g=cljs.core.seq(d);return e&&f&&g?cljs.core.cons(function(){var b=cljs.core.first(e),c=cljs.core.first(f),d=cljs.core.first(g);return a.cljs$core$IFn$_invoke$arity$3?a.cljs$core$IFn$_invoke$arity$3(b,c,d):a.call(null,b,c,d)}(),cljs.core.map.cljs$core$IFn$_invoke$arity$4(a,cljs.core.rest(e),cljs.core.rest(f),cljs.core.rest(g))):null},null,null)};
cljs.core.map.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d,e){var f=function h(a){return new cljs.core.LazySeq(null,function(){var b=cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.seq,a);return cljs.core.every_QMARK_(cljs.core.identity,b)?cljs.core.cons(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,b),h(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.rest,b))):null},null,null)};return cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(b){return function(b){return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(a,
b)}}(f),f(cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(e,d,cljs.core.array_seq([c,b],0))))};cljs.core.map.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c),c=cljs.core.first(d),e=cljs.core.next(d),d=cljs.core.first(e),e=cljs.core.next(e);return cljs.core.map.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d,e)};cljs.core.map.cljs$lang$maxFixedArity=4;
cljs.core.take=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.take.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.take.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.take.cljs$core$IFn$_invoke$arity$1=function(a){if("number"!==typeof a)throw Error("Assert failed: (number? n)");return function(b){return function(a){return function(){var c=null,e=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},f=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},g=function(c,d){var e=cljs.core.deref(a),f=cljs.core._vreset_BANG_(a,cljs.core._deref(a)-1),e=0<e?b.cljs$core$IFn$_invoke$arity$2?
b.cljs$core$IFn$_invoke$arity$2(c,d):b.call(null,c,d):c;return 0<f?e:cljs.core.ensure_reduced(e)},c=function(a,b){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+(arguments.length-1));};c.cljs$core$IFn$_invoke$arity$0=e;c.cljs$core$IFn$_invoke$arity$1=f;c.cljs$core$IFn$_invoke$arity$2=g;return c}()}(cljs.core.volatile_BANG_(a))}};
cljs.core.take.cljs$core$IFn$_invoke$arity$2=function(a,b){if("number"!==typeof a)throw Error("Assert failed: (number? n)");return new cljs.core.LazySeq(null,function(){if(0<a){var c=cljs.core.seq(b);return c?cljs.core.cons(cljs.core.first(c),cljs.core.take.cljs$core$IFn$_invoke$arity$2(a-1,cljs.core.rest(c))):null}return null},null,null)};cljs.core.take.cljs$lang$maxFixedArity=2;
cljs.core.drop=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.drop.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.drop.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.drop.cljs$core$IFn$_invoke$arity$1=function(a){if("number"!==typeof a)throw Error("Assert failed: (number? n)");return function(b){return function(a){return function(){var c=null,e=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},f=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},g=function(c,d){var e=cljs.core.deref(a);cljs.core._vreset_BANG_(a,cljs.core._deref(a)-1);return 0<e?c:b.cljs$core$IFn$_invoke$arity$2?
b.cljs$core$IFn$_invoke$arity$2(c,d):b.call(null,c,d)},c=function(a,b){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+(arguments.length-1));};c.cljs$core$IFn$_invoke$arity$0=e;c.cljs$core$IFn$_invoke$arity$1=f;c.cljs$core$IFn$_invoke$arity$2=g;return c}()}(cljs.core.volatile_BANG_(a))}};
cljs.core.drop.cljs$core$IFn$_invoke$arity$2=function(a,b){if("number"!==typeof a)throw Error("Assert failed: (number? n)");return new cljs.core.LazySeq(null,function(c){return function(){return c(a,b)}}(function(a,b){for(;;){var c=cljs.core.seq(b);if(0<a&&c){var d=a-1,c=cljs.core.rest(c);a=d;b=c}else return c}}),null,null)};cljs.core.drop.cljs$lang$maxFixedArity=2;
cljs.core.drop_last=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.drop_last.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.drop_last.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2(1,a)};cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.map.cljs$core$IFn$_invoke$arity$3(function(a,b){return a},b,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(a,b))};cljs.core.drop_last.cljs$lang$maxFixedArity=2;
cljs.core.take_last=function(a,b){for(var c=cljs.core.seq(b),d=cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2(a,b));;)if(d)c=cljs.core.next(c),d=cljs.core.next(d);else return c};
cljs.core.drop_while=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.drop_while.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.drop_while.cljs$core$IFn$_invoke$arity$1=function(a){return function(b){return function(c){return function(){var d=null,e=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},f=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},g=function(d,e){var f=cljs.core.deref(c);if(cljs.core.truth_(cljs.core.truth_(f)?a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(e):a.call(null,e):f))return d;
cljs.core.vreset_BANG_(c,null);return b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,e):b.call(null,d,e)},d=function(a,b){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+(arguments.length-1));};d.cljs$core$IFn$_invoke$arity$0=e;d.cljs$core$IFn$_invoke$arity$1=f;d.cljs$core$IFn$_invoke$arity$2=g;return d}()}(cljs.core.volatile_BANG_(!0))}};
cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.LazySeq(null,function(c){return function(){return c(a,b)}}(function(a,b){for(;;){var c=cljs.core.seq(b);if(cljs.core.truth_(function(){var b=c;return b?(b=cljs.core.first(c),a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)):b}())){var d=a,g=cljs.core.rest(c);a=d;b=g}else return c}}),null,null)};cljs.core.drop_while.cljs$lang$maxFixedArity=2;
cljs.core.cycle=function(a){return new cljs.core.LazySeq(null,function(){var b=cljs.core.seq(a);return b?cljs.core.concat.cljs$core$IFn$_invoke$arity$2(b,cljs.core.cycle.cljs$core$IFn$_invoke$arity$1?cljs.core.cycle.cljs$core$IFn$_invoke$arity$1(b):cljs.core.cycle.call(null,b)):null},null,null)};
cljs.core.split_at=function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.take.cljs$core$IFn$_invoke$arity$2(a,b),cljs.core.drop.cljs$core$IFn$_invoke$arity$2(a,b)],null)};
cljs.core.repeat=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.repeat.cljs$core$IFn$_invoke$arity$1=function(a){return new cljs.core.LazySeq(null,function(){return cljs.core.cons(a,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(a))},null,null)};cljs.core.repeat.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.take.cljs$core$IFn$_invoke$arity$2(a,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(b))};cljs.core.repeat.cljs$lang$maxFixedArity=2;cljs.core.replicate=function(a,b){return cljs.core.take.cljs$core$IFn$_invoke$arity$2(a,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(b))};
cljs.core.repeatedly=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1=function(a){return new cljs.core.LazySeq(null,function(){return cljs.core.cons(a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null),cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1(a))},null,null)};cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.take.cljs$core$IFn$_invoke$arity$2(a,cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1(b))};cljs.core.repeatedly.cljs$lang$maxFixedArity=2;
cljs.core.iterate=function(a,b){return cljs.core.cons(b,new cljs.core.LazySeq(null,function(){var c=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b);return cljs.core.iterate.cljs$core$IFn$_invoke$arity$2?cljs.core.iterate.cljs$core$IFn$_invoke$arity$2(a,c):cljs.core.iterate.call(null,a,c)},null,null))};
cljs.core.interleave=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.core.interleave.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.interleave.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),cljs.core.interleave.cljs$core$IFn$_invoke$arity$variadic(arguments[0],
arguments[1],b)}};cljs.core.interleave.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.List.EMPTY};cljs.core.interleave.cljs$core$IFn$_invoke$arity$1=function(a){return new cljs.core.LazySeq(null,function(){return a},null,null)};
cljs.core.interleave.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq(a),d=cljs.core.seq(b);return c&&d?cljs.core.cons(cljs.core.first(c),cljs.core.cons(cljs.core.first(d),cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.rest(c),cljs.core.rest(d)))):null},null,null)};
cljs.core.interleave.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return new cljs.core.LazySeq(null,function(){var d=cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.seq,cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(c,b,cljs.core.array_seq([a],0)));return cljs.core.every_QMARK_(cljs.core.identity,d)?cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,d),cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.interleave,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.rest,
d))):null},null,null)};cljs.core.interleave.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.interleave.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.interleave.cljs$lang$maxFixedArity=2;
cljs.core.interpose=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.interpose.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.interpose.cljs$core$IFn$_invoke$arity$1=function(a){return function(b){return function(c){return function(){var d=null,e=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},f=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},g=function(d,e){if(cljs.core.truth_(cljs.core.deref(c))){var f=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,a):b.call(null,d,a);return cljs.core.reduced_QMARK_(f)?
f:b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(f,e):b.call(null,f,e)}cljs.core.vreset_BANG_(c,!0);return b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,e):b.call(null,d,e)},d=function(a,b){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+(arguments.length-1));};d.cljs$core$IFn$_invoke$arity$0=e;d.cljs$core$IFn$_invoke$arity$1=f;d.cljs$core$IFn$_invoke$arity$2=g;return d}()}(cljs.core.volatile_BANG_(!1))}};
cljs.core.interpose.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.drop.cljs$core$IFn$_invoke$arity$2(1,cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(a),b))};cljs.core.interpose.cljs$lang$maxFixedArity=2;
cljs.core.flatten1=function(a){return function c(a,e){return new cljs.core.LazySeq(null,function(){var d=cljs.core.seq(a);return d?cljs.core.cons(cljs.core.first(d),c(cljs.core.rest(d),e)):cljs.core.seq(e)?c(cljs.core.first(e),cljs.core.rest(e)):null},null,null)}(null,a)};
cljs.core.mapcat=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.mapcat.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:return b=new cljs.core.IndexedSeq(b.slice(1),0,null),cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)}};cljs.core.mapcat.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$1(a),cljs.core.cat)};
cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.map,a,b))};cljs.core.mapcat.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);return cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(b,a)};cljs.core.mapcat.cljs$lang$maxFixedArity=1;
cljs.core.filter=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.filter.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.filter.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.filter.cljs$core$IFn$_invoke$arity$1=function(a){return function(b){return function(){var c=null,d=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},e=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},f=function(c,d){return cljs.core.truth_(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d))?b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,d):
b.call(null,c,d):c},c=function(a,b){switch(arguments.length){case 0:return d.call(this);case 1:return e.call(this,a);case 2:return f.call(this,a,b)}throw Error("Invalid arity: "+(arguments.length-1));};c.cljs$core$IFn$_invoke$arity$0=d;c.cljs$core$IFn$_invoke$arity$1=e;c.cljs$core$IFn$_invoke$arity$2=f;return c}()}};
cljs.core.filter.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq(b);if(c){if(cljs.core.chunked_seq_QMARK_(c)){for(var d=cljs.core.chunk_first(c),e=cljs.core.count(d),f=cljs.core.chunk_buffer(e),g=0;;)if(g<e)cljs.core.truth_(function(){var b=cljs.core._nth.cljs$core$IFn$_invoke$arity$2(d,g);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)}())&&cljs.core.chunk_append(f,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(d,
g)),g+=1;else break;return cljs.core.chunk_cons(cljs.core.chunk(f),cljs.core.filter.cljs$core$IFn$_invoke$arity$2(a,cljs.core.chunk_rest(c)))}e=cljs.core.first(c);c=cljs.core.rest(c);return cljs.core.truth_(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(e):a.call(null,e))?cljs.core.cons(e,cljs.core.filter.cljs$core$IFn$_invoke$arity$2(a,c)):cljs.core.filter.cljs$core$IFn$_invoke$arity$2(a,c)}return null},null,null)};cljs.core.filter.cljs$lang$maxFixedArity=2;
cljs.core.remove=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.remove.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.remove.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};cljs.core.remove.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.filter.cljs$core$IFn$_invoke$arity$1(cljs.core.complement(a))};
cljs.core.remove.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.complement(a),b)};cljs.core.remove.cljs$lang$maxFixedArity=2;
cljs.core.tree_seq=function(a,b,c){return function e(c){return new cljs.core.LazySeq(null,function(){return cljs.core.cons(c,cljs.core.truth_(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c))?cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(e,cljs.core.array_seq([b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c)],0)):null)},null,null)}(c)};
cljs.core.flatten=function(a){return cljs.core.filter.cljs$core$IFn$_invoke$arity$2(function(a){return!cljs.core.sequential_QMARK_(a)},cljs.core.rest(cljs.core.tree_seq(cljs.core.sequential_QMARK_,cljs.core.seq,a)))};
cljs.core.into=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.core.into.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.into.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.into.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.into.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};cljs.core.into.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.PersistentVector.EMPTY};cljs.core.into.cljs$core$IFn$_invoke$arity$1=function(a){return a};
cljs.core.into.cljs$core$IFn$_invoke$arity$2=function(a,b){return null!=a?null!=a&&(a.cljs$lang$protocol_mask$partition1$&4||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IEditableCollection$)?cljs.core._with_meta(cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj_BANG_,cljs.core.transient$(a),b)),cljs.core.meta(a)):cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,a,b):cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,cljs.core.List.EMPTY,
b)};cljs.core.into.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return null!=a&&(a.cljs$lang$protocol_mask$partition1$&4||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IEditableCollection$)?cljs.core._with_meta(cljs.core.persistent_BANG_(cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(b,cljs.core.conj_BANG_,cljs.core.transient$(a),c)),cljs.core.meta(a)):cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(b,cljs.core.conj,a,c)};cljs.core.into.cljs$lang$maxFixedArity=3;
cljs.core.mapv=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.mapv.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.mapv.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:return b=new cljs.core.IndexedSeq(b.slice(4),0,null),cljs.core.mapv.cljs$core$IFn$_invoke$arity$variadic(arguments[0],
arguments[1],arguments[2],arguments[3],b)}};cljs.core.mapv.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(b,d){return cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(b,a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d))},cljs.core.transient$(cljs.core.PersistentVector.EMPTY),b))};
cljs.core.mapv.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$3(a,b,c))};cljs.core.mapv.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$4(a,b,c,d))};
cljs.core.mapv.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d,e){return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(cljs.core.map,a,b,c,d,cljs.core.array_seq([e],0)))};
cljs.core.mapv.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c),c=cljs.core.first(d),e=cljs.core.next(d),d=cljs.core.first(e),e=cljs.core.next(e);return cljs.core.mapv.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d,e)};cljs.core.mapv.cljs$lang$maxFixedArity=4;
cljs.core.filterv=function(a,b){return cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(b,d){return cljs.core.truth_(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d))?cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(b,d):b},cljs.core.transient$(cljs.core.PersistentVector.EMPTY),b))};
cljs.core.partition=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.partition.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.partition.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.partition.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};cljs.core.partition.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.partition.cljs$core$IFn$_invoke$arity$3(a,a,b)};
cljs.core.partition.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new cljs.core.LazySeq(null,function(){var d=cljs.core.seq(c);if(d){var e=cljs.core.take.cljs$core$IFn$_invoke$arity$2(a,d);return a===cljs.core.count(e)?cljs.core.cons(e,cljs.core.partition.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(b,d))):null}return null},null,null)};
cljs.core.partition.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return new cljs.core.LazySeq(null,function(){var e=cljs.core.seq(d);if(e){var f=cljs.core.take.cljs$core$IFn$_invoke$arity$2(a,e);if(a===cljs.core.count(f))return cljs.core.cons(f,cljs.core.partition.cljs$core$IFn$_invoke$arity$4(a,b,c,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(b,e)));e=cljs.core.take.cljs$core$IFn$_invoke$arity$2(a,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(f,c));return cljs.core._conj(cljs.core.List.EMPTY,
e)}return null},null,null)};cljs.core.partition.cljs$lang$maxFixedArity=4;
cljs.core.get_in=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.get_in.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.get_in.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.get,a,b)};cljs.core.get_in.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core.lookup_sentinel;for(b=cljs.core.seq(b);;)if(null!=b){a=cljs.core.get.cljs$core$IFn$_invoke$arity$3(a,cljs.core.first(b),d);if(d===a)return c;b=cljs.core.next(b)}else return a};cljs.core.get_in.cljs$lang$maxFixedArity=3;
cljs.core.assoc_in=function(a,b,c){b=cljs.core.seq(b);var d=cljs.core.first(b),e=cljs.core.next(b);return e?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,d,function(){var b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,d);return cljs.core.assoc_in.cljs$core$IFn$_invoke$arity$3?cljs.core.assoc_in.cljs$core$IFn$_invoke$arity$3(b,e,c):cljs.core.assoc_in.call(null,b,e,c)}()):cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,d,c)};
cljs.core.update_in=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.core.update_in.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);case 6:return cljs.core.update_in.cljs$core$IFn$_invoke$arity$6(arguments[0],
arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);default:return b=new cljs.core.IndexedSeq(b.slice(6),0,null),cljs.core.update_in.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],b)}};
cljs.core.update_in.cljs$core$IFn$_invoke$arity$3=function(a,b,c){b=cljs.core.seq(b);var d=cljs.core.first(b);return(b=cljs.core.next(b))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,d,cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,d),b,c)):cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,d,function(){var b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,d);return c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(b):c.call(null,b)}())};
cljs.core.update_in.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){b=cljs.core.seq(b);var e=cljs.core.first(b);return(b=cljs.core.next(b))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,e,cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,e),b,c,d)):cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,e,function(){var b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,e);return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(b,d):c.call(null,
b,d)}())};
cljs.core.update_in.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){b=cljs.core.seq(b);var f=cljs.core.first(b);return(b=cljs.core.next(b))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,f,cljs.core.update_in.cljs$core$IFn$_invoke$arity$5(cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,f),b,c,d,e)):cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,f,function(){var b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,f);return c.cljs$core$IFn$_invoke$arity$3?c.cljs$core$IFn$_invoke$arity$3(b,d,e):c.call(null,
b,d,e)}())};
cljs.core.update_in.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){b=cljs.core.seq(b);var g=cljs.core.first(b);return(b=cljs.core.next(b))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,g,cljs.core.update_in.cljs$core$IFn$_invoke$arity$6(cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,g),b,c,d,e,f)):cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,g,function(){var b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,g);return c.cljs$core$IFn$_invoke$arity$4?c.cljs$core$IFn$_invoke$arity$4(b,d,e,f):
c.call(null,b,d,e,f)}())};
cljs.core.update_in.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d,e,f,g){var h=cljs.core.seq(b);b=cljs.core.first(h);return(h=cljs.core.next(h))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(cljs.core.update_in,cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,b),h,c,d,cljs.core.array_seq([e,f,g],0))):cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(c,cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,b),
d,e,f,cljs.core.array_seq([g],0)))};cljs.core.update_in.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c),c=cljs.core.first(d),e=cljs.core.next(d),d=cljs.core.first(e),f=cljs.core.next(e),e=cljs.core.first(f),g=cljs.core.next(f),f=cljs.core.first(g),g=cljs.core.next(g);return cljs.core.update_in.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d,e,f,g)};cljs.core.update_in.cljs$lang$maxFixedArity=6;
cljs.core.update=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return cljs.core.update.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.update.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.core.update.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);case 6:return cljs.core.update.cljs$core$IFn$_invoke$arity$6(arguments[0],
arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);default:return b=new cljs.core.IndexedSeq(b.slice(6),0,null),cljs.core.update.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],b)}};
cljs.core.update.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,b,function(){var d=cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,b);return c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d)}())};
cljs.core.update.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,b,function(){var e=cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,b);return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(e,d):c.call(null,e,d)}())};
cljs.core.update.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,b,function(){var f=cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,b);return c.cljs$core$IFn$_invoke$arity$3?c.cljs$core$IFn$_invoke$arity$3(f,d,e):c.call(null,f,d,e)}())};
cljs.core.update.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,b,function(){var g=cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,b);return c.cljs$core$IFn$_invoke$arity$4?c.cljs$core$IFn$_invoke$arity$4(g,d,e,f):c.call(null,g,d,e,f)}())};
cljs.core.update.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d,e,f,g){return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(c,cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,b),d,e,f,cljs.core.array_seq([g],0)))};
cljs.core.update.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c),c=cljs.core.first(d),e=cljs.core.next(d),d=cljs.core.first(e),f=cljs.core.next(e),e=cljs.core.first(f),g=cljs.core.next(f),f=cljs.core.first(g),g=cljs.core.next(g);return cljs.core.update.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d,e,f,g)};cljs.core.update.cljs$lang$maxFixedArity=6;cljs.core.VectorNode=function(a,b){this.edit=a;this.arr=b};
cljs.core.VectorNode.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"edit","edit",-1302639,null),new cljs.core.Symbol(null,"arr","arr",2115492975,null)],null)};cljs.core.VectorNode.cljs$lang$type=!0;cljs.core.VectorNode.cljs$lang$ctorStr="cljs.core/VectorNode";cljs.core.VectorNode.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/VectorNode")};
cljs.core.__GT_VectorNode=function(a,b){return new cljs.core.VectorNode(a,b)};cljs.core.pv_fresh_node=function(a){return new cljs.core.VectorNode(a,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null])};cljs.core.pv_aget=function(a,b){return a.arr[b]};cljs.core.pv_aset=function(a,b,c){return a.arr[b]=c};cljs.core.pv_clone_node=function(a){return new cljs.core.VectorNode(a.edit,cljs.core.aclone(a.arr))};
cljs.core.tail_off=function(a){a=a.cnt;return 32>a?0:a-1>>>5<<5};cljs.core.new_path=function(a,b,c){for(;;){if(0===b)return c;var d=cljs.core.pv_fresh_node(a);cljs.core.pv_aset(d,0,c);c=d;b-=5}};
cljs.core.push_tail=function(a,b,c,d){var e=cljs.core.pv_clone_node(c),f=a.cnt-1>>>b&31;5===b?cljs.core.pv_aset(e,f,d):(c=cljs.core.pv_aget(c,f),null!=c?(b-=5,a=cljs.core.push_tail.cljs$core$IFn$_invoke$arity$4?cljs.core.push_tail.cljs$core$IFn$_invoke$arity$4(a,b,c,d):cljs.core.push_tail.call(null,a,b,c,d)):a=cljs.core.new_path(null,b-5,d),cljs.core.pv_aset(e,f,a));return e};
cljs.core.vector_index_out_of_bounds=function(a,b){throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No item "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" in vector of length "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};cljs.core.first_array_for_longvec=function(a){var b=a.root;for(a=a.shift;;)if(0<a)b=cljs.core.pv_aget(b,0),a-=5;else return b.arr};
cljs.core.unchecked_array_for=function(a,b){if(b>=cljs.core.tail_off(a))return a.tail;for(var c=a.root,d=a.shift;;)if(0<d)c=cljs.core.pv_aget(c,b>>>d&31),d-=5;else return c.arr};cljs.core.array_for=function(a,b){return 0<=b&&b<a.cnt?cljs.core.unchecked_array_for(a,b):cljs.core.vector_index_out_of_bounds(b,a.cnt)};
cljs.core.do_assoc=function(a,b,c,d,e){var f=cljs.core.pv_clone_node(c);if(0===b)cljs.core.pv_aset(f,d&31,e);else{var g=d>>>b&31;cljs.core.pv_aset(f,g,function(){var f=b-5,k=cljs.core.pv_aget(c,g);return cljs.core.do_assoc.cljs$core$IFn$_invoke$arity$5?cljs.core.do_assoc.cljs$core$IFn$_invoke$arity$5(a,f,k,d,e):cljs.core.do_assoc.call(null,a,f,k,d,e)}())}return f};
cljs.core.pop_tail=function(a,b,c){var d=a.cnt-2>>>b&31;if(5<b){b-=5;var e=cljs.core.pv_aget(c,d);a=cljs.core.pop_tail.cljs$core$IFn$_invoke$arity$3?cljs.core.pop_tail.cljs$core$IFn$_invoke$arity$3(a,b,e):cljs.core.pop_tail.call(null,a,b,e);if(null==a&&0===d)return null;c=cljs.core.pv_clone_node(c);cljs.core.pv_aset(c,d,a);return c}if(0===d)return null;c=cljs.core.pv_clone_node(c);cljs.core.pv_aset(c,d,null);return c};
cljs.core.RangedIterator=function(a,b,c,d,e,f){this.i=a;this.base=b;this.arr=c;this.v=d;this.start=e;this.end=f};cljs.core.RangedIterator.prototype.hasNext=function(){return this.i<this.end};cljs.core.RangedIterator.prototype.next=function(){32===this.i-this.base&&(this.arr=cljs.core.unchecked_array_for(this.v,this.i),this.base+=32);var a=this.arr[this.i&31];this.i+=1;return a};
cljs.core.RangedIterator.getBasis=function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"base","base",1825810849,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,
"arr","arr",2115492975,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),new cljs.core.Symbol(null,"v","v",1661996586,null),new cljs.core.Symbol(null,"start","start",1285322546,null),new cljs.core.Symbol(null,"end","end",1372345569,null)],null)};cljs.core.RangedIterator.cljs$lang$type=!0;cljs.core.RangedIterator.cljs$lang$ctorStr="cljs.core/RangedIterator";
cljs.core.RangedIterator.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/RangedIterator")};cljs.core.__GT_RangedIterator=function(a,b,c,d,e,f){return new cljs.core.RangedIterator(a,b,c,d,e,f)};cljs.core.ranged_iterator=function(a,b,c){return new cljs.core.RangedIterator(b,b-b%32,b<cljs.core.count(a)?cljs.core.unchecked_array_for(a,b):null,a,b,c)};
cljs.core.PersistentVector=function(a,b,c,d,e,f){this.meta=a;this.cnt=b;this.shift=c;this.root=d;this.tail=e;this.__hash=f;this.cljs$lang$protocol_mask$partition0$=167668511;this.cljs$lang$protocol_mask$partition1$=8196};cljs.core.PersistentVector.prototype.cljs$core$IFind$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentVector.prototype.cljs$core$IFind$_find$arity$2=function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,cljs.core.get.cljs$core$IFn$_invoke$arity$2(this,b)],null)};cljs.core.PersistentVector.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.PersistentVector.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.PersistentVector.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.PersistentVector.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.PersistentVector.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};cljs.core.PersistentVector.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){return"number"===typeof b?this.cljs$core$IIndexed$_nth$arity$3(null,b,c):c};
cljs.core.PersistentVector.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){a=0;for(var d=c;;)if(a<this.cnt){var e=cljs.core.unchecked_array_for(this,a);c=e.length;a:for(var f=0;;)if(f<c){var g=f+a,h=e[f],d=b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(d,g,h):b.call(null,d,g,h);if(cljs.core.reduced_QMARK_(d)){e=d;break a}f+=1}else{e=d;break a}if(cljs.core.reduced_QMARK_(e))return cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(e):
cljs.core.deref.call(null,e);a+=c;d=e}else return d};cljs.core.PersistentVector.prototype.cljs$core$IIndexed$_nth$arity$2=function(a,b){return cljs.core.array_for(this,b)[b&31]};cljs.core.PersistentVector.prototype.cljs$core$IIndexed$_nth$arity$3=function(a,b,c){return 0<=b&&b<this.cnt?cljs.core.unchecked_array_for(this,b)[b&31]:c};
cljs.core.PersistentVector.prototype.cljs$core$IVector$_assoc_n$arity$3=function(a,b,c){if(0<=b&&b<this.cnt)return cljs.core.tail_off(this)<=b?(a=cljs.core.aclone(this.tail),a[b&31]=c,new cljs.core.PersistentVector(this.meta,this.cnt,this.shift,this.root,a,null)):new cljs.core.PersistentVector(this.meta,this.cnt,this.shift,cljs.core.do_assoc(this,this.shift,this.root,b,c),this.tail,null);if(b===this.cnt)return this.cljs$core$ICollection$_conj$arity$2(null,c);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Index "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" out of bounds  [0,"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.cnt),cljs.core.str.cljs$core$IFn$_invoke$arity$1("]")].join(""));};cljs.core.PersistentVector.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentVector.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return cljs.core.ranged_iterator(this,0,this.cnt)};
cljs.core.PersistentVector.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.PersistentVector.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.PersistentVector(this.meta,this.cnt,this.shift,this.root,this.tail,this.__hash)};cljs.core.PersistentVector.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.cnt};
cljs.core.PersistentVector.prototype.cljs$core$IMapEntry$_key$arity$1=function(a){return this.cljs$core$IIndexed$_nth$arity$2(null,0)};cljs.core.PersistentVector.prototype.cljs$core$IMapEntry$_val$arity$1=function(a){return this.cljs$core$IIndexed$_nth$arity$2(null,1)};cljs.core.PersistentVector.prototype.cljs$core$IStack$_peek$arity$1=function(a){return 0<this.cnt?this.cljs$core$IIndexed$_nth$arity$2(null,this.cnt-1):null};
cljs.core.PersistentVector.prototype.cljs$core$IStack$_pop$arity$1=function(a){if(0===this.cnt)throw Error("Can't pop empty vector");if(1===this.cnt)return cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,this.meta);if(1<this.cnt-cljs.core.tail_off(this))return new cljs.core.PersistentVector(this.meta,this.cnt-1,this.shift,this.root,this.tail.slice(0,-1),null);a=cljs.core.unchecked_array_for(this,this.cnt-2);var b=cljs.core.pop_tail(this,this.shift,this.root),b=null==b?cljs.core.PersistentVector.EMPTY_NODE:
b,c=this.cnt-1;return 5<this.shift&&null==cljs.core.pv_aget(b,1)?new cljs.core.PersistentVector(this.meta,c,this.shift-5,cljs.core.pv_aget(b,0),a,null):new cljs.core.PersistentVector(this.meta,c,this.shift,b,a,null)};cljs.core.PersistentVector.prototype.cljs$core$IReversible$_rseq$arity$1=function(a){return 0<this.cnt?new cljs.core.RSeq(this,this.cnt-1,null):null};cljs.core.PersistentVector.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};
cljs.core.PersistentVector.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){if(b instanceof cljs.core.PersistentVector)if(this.cnt===cljs.core.count(b))for(var c=this.cljs$core$IIterable$_iterator$arity$1(null),d=cljs.core._iterator(b);;)if(c.hasNext()){var e=c.next(),f=d.next();if(!cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(e,f))return!1}else return!0;else return!1;else return cljs.core.equiv_sequential(this,b)};
cljs.core.PersistentVector.prototype.cljs$core$IEditableCollection$_as_transient$arity$1=function(a){return new cljs.core.TransientVector(this.cnt,this.shift,cljs.core.tv_editable_root.cljs$core$IFn$_invoke$arity$1?cljs.core.tv_editable_root.cljs$core$IFn$_invoke$arity$1(this.root):cljs.core.tv_editable_root.call(null,this.root),cljs.core.tv_editable_tail.cljs$core$IFn$_invoke$arity$1?cljs.core.tv_editable_tail.cljs$core$IFn$_invoke$arity$1(this.tail):cljs.core.tv_editable_tail.call(null,this.tail))};
cljs.core.PersistentVector.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,this.meta)};cljs.core.PersistentVector.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(this,b)};
cljs.core.PersistentVector.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){a=0;for(var d=c;;)if(a<this.cnt){var e=cljs.core.unchecked_array_for(this,a);c=e.length;a:for(var f=0;;)if(f<c){var g=e[f],d=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,g):b.call(null,d,g);if(cljs.core.reduced_QMARK_(d)){e=d;break a}f+=1}else{e=d;break a}if(cljs.core.reduced_QMARK_(e))return cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(e):cljs.core.deref.call(null,
e);a+=c;d=e}else return d};cljs.core.PersistentVector.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){if("number"===typeof b)return this.cljs$core$IVector$_assoc_n$arity$3(null,b,c);throw Error("Vector's key for assoc must be a number.");};cljs.core.PersistentVector.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2=function(a,b){return cljs.core.integer_QMARK_(b)?0<=b&&b<this.cnt:!1};
cljs.core.PersistentVector.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){if(0===this.cnt)return null;if(32>=this.cnt)return new cljs.core.IndexedSeq(this.tail,0,null);a=cljs.core.first_array_for_longvec(this);return cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4?cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(this,a,0,0):cljs.core.chunked_seq.call(null,this,a,0,0)};
cljs.core.PersistentVector.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.PersistentVector(b,this.cnt,this.shift,this.root,this.tail,this.__hash)};
cljs.core.PersistentVector.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){if(32>this.cnt-cljs.core.tail_off(this)){for(var c=this.tail.length,d=Array(c+1),e=0;;)if(e<c)d[e]=this.tail[e],e+=1;else break;d[c]=b;return new cljs.core.PersistentVector(this.meta,this.cnt+1,this.shift,this.root,d,null)}c=(d=this.cnt>>>5>1<<this.shift)?this.shift+5:this.shift;d?(d=cljs.core.pv_fresh_node(null),cljs.core.pv_aset(d,0,this.root),cljs.core.pv_aset(d,1,cljs.core.new_path(null,this.shift,new cljs.core.VectorNode(null,
this.tail)))):d=cljs.core.push_tail(this,this.shift,this.root,new cljs.core.VectorNode(null,this.tail));return new cljs.core.PersistentVector(this.meta,this.cnt+1,c,d,[b],null)};
cljs.core.PersistentVector.prototype.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$IIndexed$_nth$arity$2(null,c);case 3:return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$IIndexed$_nth$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)};return a}();
cljs.core.PersistentVector.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.PersistentVector.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$IIndexed$_nth$arity$2(null,a)};cljs.core.PersistentVector.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$IIndexed$_nth$arity$3(null,a,b)};
cljs.core.PersistentVector.getBasis=function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"cnt","cnt",1924510325,null),new cljs.core.Symbol(null,"shift","shift",-1657295705,null),new cljs.core.Symbol(null,"root","root",1191874074,null),new cljs.core.Symbol(null,"tail","tail",494507963,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.PersistentVector.cljs$lang$type=!0;cljs.core.PersistentVector.cljs$lang$ctorStr="cljs.core/PersistentVector";cljs.core.PersistentVector.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentVector")};cljs.core.__GT_PersistentVector=function(a,b,c,d,e,f){return new cljs.core.PersistentVector(a,b,c,d,e,f)};
cljs.core.PersistentVector.EMPTY_NODE=new cljs.core.VectorNode(null,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]);cljs.core.PersistentVector.EMPTY=new cljs.core.PersistentVector(null,0,5,cljs.core.PersistentVector.EMPTY_NODE,[],cljs.core.empty_ordered_hash);
cljs.core.PersistentVector.fromArray=function(a,b){var c=a.length,d=b?a:cljs.core.aclone(a);if(32>c)return new cljs.core.PersistentVector(null,c,5,cljs.core.PersistentVector.EMPTY_NODE,d,null);for(var e=d.slice(0,32),f=32,g=(new cljs.core.PersistentVector(null,32,5,cljs.core.PersistentVector.EMPTY_NODE,e,null)).cljs$core$IEditableCollection$_as_transient$arity$1(null);;)if(f<c)e=f+1,g=cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(g,d[f]),f=e;else return cljs.core.persistent_BANG_(g)};
cljs.core.PersistentVector.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};cljs.core.vec=function(a){return cljs.core.array_QMARK_(a)?cljs.core.PersistentVector.fromArray(a,!0):cljs.core._persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj_BANG_,cljs.core._as_transient(cljs.core.PersistentVector.EMPTY),a))};
cljs.core.vector=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.vector.cljs$core$IFn$_invoke$arity$variadic(b)};cljs.core.vector.cljs$core$IFn$_invoke$arity$variadic=function(a){return a instanceof cljs.core.IndexedSeq&&0===a.i?cljs.core.PersistentVector.fromArray(a.arr,!0):cljs.core.vec(a)};cljs.core.vector.cljs$lang$maxFixedArity=0;cljs.core.vector.cljs$lang$applyTo=function(a){return cljs.core.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};
cljs.core.ChunkedSeq=function(a,b,c,d,e,f){this.vec=a;this.node=b;this.i=c;this.off=d;this.meta=e;this.__hash=f;this.cljs$lang$protocol_mask$partition0$=32375020;this.cljs$lang$protocol_mask$partition1$=1536};cljs.core.ChunkedSeq.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.ChunkedSeq.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.ChunkedSeq.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.ChunkedSeq.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.ChunkedSeq.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.ChunkedSeq.prototype.cljs$core$INext$_next$arity$1=function(a){if(this.off+1<this.node.length){a=this.vec;var b=this.node,c=this.i,d=this.off+1;a=cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4?cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(a,b,c,d):cljs.core.chunked_seq.call(null,a,b,c,d);return null==a?null:a}return this.cljs$core$IChunkedNext$_chunked_next$arity$1(null)};
cljs.core.ChunkedSeq.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};cljs.core.ChunkedSeq.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.ChunkedSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,this.meta)};
cljs.core.ChunkedSeq.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){var c=this;return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(function(){var a=c.vec,b=c.i+c.off,f=cljs.core.count(c.vec);return cljs.core.subvec.cljs$core$IFn$_invoke$arity$3?cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(a,b,f):cljs.core.subvec.call(null,a,b,f)}(),b)};
cljs.core.ChunkedSeq.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){var d=this;return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(function(){var a=d.vec,b=d.i+d.off,c=cljs.core.count(d.vec);return cljs.core.subvec.cljs$core$IFn$_invoke$arity$3?cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(a,b,c):cljs.core.subvec.call(null,a,b,c)}(),b,c)};cljs.core.ChunkedSeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){return this.node[this.off]};
cljs.core.ChunkedSeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){if(this.off+1<this.node.length){a=this.vec;var b=this.node,c=this.i,d=this.off+1;a=cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4?cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(a,b,c,d):cljs.core.chunked_seq.call(null,a,b,c,d);return null==a?cljs.core.List.EMPTY:a}return this.cljs$core$IChunkedSeq$_chunked_rest$arity$1(null)};cljs.core.ChunkedSeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};
cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1=function(a){return cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$2(this.node,this.off)};
cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1=function(a){a=this.i+this.node.length;if(a<cljs.core._count(this.vec)){var b=this.vec,c=cljs.core.unchecked_array_for(this.vec,a);return cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4?cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(b,c,a,0):cljs.core.chunked_seq.call(null,b,c,a,0)}return cljs.core.List.EMPTY};
cljs.core.ChunkedSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5?cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5(this.vec,this.node,this.i,this.off,b):cljs.core.chunked_seq.call(null,this.vec,this.node,this.i,this.off,b)};cljs.core.ChunkedSeq.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1=function(a){a=this.i+this.node.length;if(a<cljs.core._count(this.vec)){var b=this.vec,c=cljs.core.unchecked_array_for(this.vec,a);return cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4?cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(b,c,a,0):cljs.core.chunked_seq.call(null,b,c,a,0)}return null};
cljs.core.ChunkedSeq.getBasis=function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"vec","vec",982683596,null),new cljs.core.Symbol(null,"node","node",-2073234571,null),new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.Symbol(null,"off","off",-2047994980,null),new cljs.core.Symbol(null,"meta","meta",-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.ChunkedSeq.cljs$lang$type=!0;cljs.core.ChunkedSeq.cljs$lang$ctorStr="cljs.core/ChunkedSeq";cljs.core.ChunkedSeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ChunkedSeq")};cljs.core.__GT_ChunkedSeq=function(a,b,c,d,e,f){return new cljs.core.ChunkedSeq(a,b,c,d,e,f)};cljs.core.ChunkedSeq.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};
cljs.core.chunked_seq=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new cljs.core.ChunkedSeq(a,cljs.core.array_for(a,b),b,c,null,null)};cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return new cljs.core.ChunkedSeq(a,b,c,d,null,null)};cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){return new cljs.core.ChunkedSeq(a,b,c,d,e,null)};cljs.core.chunked_seq.cljs$lang$maxFixedArity=5;
cljs.core.Subvec=function(a,b,c,d,e){this.meta=a;this.v=b;this.start=c;this.end=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=167666463;this.cljs$lang$protocol_mask$partition1$=8192};cljs.core.Subvec.prototype.cljs$core$IFind$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Subvec.prototype.cljs$core$IFind$_find$arity$2=function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,cljs.core.get.cljs$core$IFn$_invoke$arity$2(this,b)],null)};
cljs.core.Subvec.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.Subvec.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.Subvec.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.Subvec.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.Subvec.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};cljs.core.Subvec.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){return"number"===typeof b?this.cljs$core$IIndexed$_nth$arity$3(null,b,c):c};
cljs.core.Subvec.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){a=this.start;for(var d=0;;)if(a<this.end){var e=d,f=cljs.core._nth.cljs$core$IFn$_invoke$arity$2(this.v,a);c=b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(c,e,f):b.call(null,c,e,f);if(cljs.core.reduced_QMARK_(c))return cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(c):cljs.core.deref.call(null,c);d+=1;a+=1}else return c};
cljs.core.Subvec.prototype.cljs$core$IIndexed$_nth$arity$2=function(a,b){return 0>b||this.end<=this.start+b?cljs.core.vector_index_out_of_bounds(b,this.end-this.start):cljs.core._nth.cljs$core$IFn$_invoke$arity$2(this.v,this.start+b)};cljs.core.Subvec.prototype.cljs$core$IIndexed$_nth$arity$3=function(a,b,c){return 0>b||this.end<=this.start+b?c:cljs.core._nth.cljs$core$IFn$_invoke$arity$3(this.v,this.start+b,c)};
cljs.core.Subvec.prototype.cljs$core$IVector$_assoc_n$arity$3=function(a,b,c){a=this.start+b;if(0>b||this.end+1<=a)throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Index "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" out of bounds [0,"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.cljs$core$ICounted$_count$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1("]")].join(""));b=this.meta;c=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(this.v,
a,c);var d=this.start,e=this.end;a+=1;a=e>a?e:a;return cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5?cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5(b,c,d,a,null):cljs.core.build_subvec.call(null,b,c,d,a,null)};cljs.core.Subvec.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Subvec.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return cljs.core.ranged_iterator(this.v,this.start,this.end)};cljs.core.Subvec.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};
cljs.core.Subvec.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.Subvec(this.meta,this.v,this.start,this.end,this.__hash)};cljs.core.Subvec.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.end-this.start};cljs.core.Subvec.prototype.cljs$core$IStack$_peek$arity$1=function(a){return cljs.core._nth.cljs$core$IFn$_invoke$arity$2(this.v,this.end-1)};
cljs.core.Subvec.prototype.cljs$core$IStack$_pop$arity$1=function(a){if(this.start===this.end)throw Error("Can't pop empty vector");a=this.meta;var b=this.v,c=this.start,d=this.end-1;return cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5?cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5(a,b,c,d,null):cljs.core.build_subvec.call(null,a,b,c,d,null)};
cljs.core.Subvec.prototype.cljs$core$IReversible$_rseq$arity$1=function(a){return this.start!==this.end?new cljs.core.RSeq(this,this.end-this.start-1,null):null};cljs.core.Subvec.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};cljs.core.Subvec.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};
cljs.core.Subvec.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,this.meta)};cljs.core.Subvec.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(this,b)};cljs.core.Subvec.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(this,b,c)};
cljs.core.Subvec.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){if("number"===typeof b)return this.cljs$core$IVector$_assoc_n$arity$3(null,b,c);throw Error("Subvec's key for assoc must be a number.");};
cljs.core.Subvec.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){var b=this;return function(a){return function e(c){return c===b.end?null:cljs.core.cons(cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b.v,c),new cljs.core.LazySeq(null,function(a){return function(){return e(c+1)}}(a),null,null))}}(this)(b.start)};
cljs.core.Subvec.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5?cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5(b,this.v,this.start,this.end,this.__hash):cljs.core.build_subvec.call(null,b,this.v,this.start,this.end,this.__hash)};
cljs.core.Subvec.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){var c=this.meta,d=cljs.core._assoc_n(this.v,this.end,b),e=this.start,f=this.end+1;return cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5?cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5(c,d,e,f,null):cljs.core.build_subvec.call(null,c,d,e,f,null)};
cljs.core.Subvec.prototype.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$IIndexed$_nth$arity$2(null,c);case 3:return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$IIndexed$_nth$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)};return a}();
cljs.core.Subvec.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.Subvec.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$IIndexed$_nth$arity$2(null,a)};cljs.core.Subvec.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$IIndexed$_nth$arity$3(null,a,b)};
cljs.core.Subvec.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"v","v",1661996586,null),new cljs.core.Symbol(null,"start","start",1285322546,null),new cljs.core.Symbol(null,"end","end",1372345569,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable",
"mutable",875778266),!0],null))],null)};cljs.core.Subvec.cljs$lang$type=!0;cljs.core.Subvec.cljs$lang$ctorStr="cljs.core/Subvec";cljs.core.Subvec.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Subvec")};cljs.core.__GT_Subvec=function(a,b,c,d,e){return new cljs.core.Subvec(a,b,c,d,e)};cljs.core.Subvec.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};
cljs.core.build_subvec=function(a,b,c,d,e){for(;;)if(b instanceof cljs.core.Subvec)c=b.start+c,d=b.start+d,b=b.v;else{if(!cljs.core.vector_QMARK_(b))throw Error("v must satisfy IVector");var f=cljs.core.count(b);if(0>c||0>d||c>f||d>f)throw Error("Index out of bounds");return new cljs.core.Subvec(a,b,c,d,e)}};
cljs.core.subvec=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.subvec.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.subvec.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.count(a))};cljs.core.subvec.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.build_subvec(null,a,b,c,null)};cljs.core.subvec.cljs$lang$maxFixedArity=3;cljs.core.tv_ensure_editable=function(a,b){return a===b.edit?b:new cljs.core.VectorNode(a,cljs.core.aclone(b.arr))};cljs.core.tv_editable_root=function(a){return new cljs.core.VectorNode({},cljs.core.aclone(a.arr))};
cljs.core.tv_editable_tail=function(a){var b=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];cljs.core.array_copy(a,0,b,0,a.length);return b};
cljs.core.tv_push_tail=function(a,b,c,d){var e=cljs.core.tv_ensure_editable(a.root.edit,c),f=a.cnt-1>>>b&31;cljs.core.pv_aset(e,f,5===b?d:function(){var c=cljs.core.pv_aget(e,f);if(null!=c){var h=b-5;return cljs.core.tv_push_tail.cljs$core$IFn$_invoke$arity$4?cljs.core.tv_push_tail.cljs$core$IFn$_invoke$arity$4(a,h,c,d):cljs.core.tv_push_tail.call(null,a,h,c,d)}return cljs.core.new_path(a.root.edit,b-5,d)}());return e};
cljs.core.tv_pop_tail=function(a,b,c){c=cljs.core.tv_ensure_editable(a.root.edit,c);var d=a.cnt-2>>>b&31;if(5<b){b-=5;var e=cljs.core.pv_aget(c,d);a=cljs.core.tv_pop_tail.cljs$core$IFn$_invoke$arity$3?cljs.core.tv_pop_tail.cljs$core$IFn$_invoke$arity$3(a,b,e):cljs.core.tv_pop_tail.call(null,a,b,e);if(null==a&&0===d)return null;cljs.core.pv_aset(c,d,a);return c}if(0===d)return null;cljs.core.pv_aset(c,d,null);return c};
cljs.core.unchecked_editable_array_for=function(a,b){if(b>=cljs.core.tail_off(a))return a.tail;for(var c=a.root,d=c,e=a.shift;;)if(0<e)d=cljs.core.tv_ensure_editable(c.edit,cljs.core.pv_aget(d,b>>>e&31)),e-=5;else return d.arr};cljs.core.TransientVector=function(a,b,c,d){this.cnt=a;this.shift=b;this.root=c;this.tail=d;this.cljs$lang$protocol_mask$partition1$=88;this.cljs$lang$protocol_mask$partition0$=275};
cljs.core.TransientVector.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2=function(a,b){if(this.root.edit){if(32>this.cnt-cljs.core.tail_off(this))this.tail[this.cnt&31]=b;else{var c=new cljs.core.VectorNode(this.root.edit,this.tail),d=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];d[0]=b;this.tail=d;if(this.cnt>>>5>1<<this.shift){var d=[null,null,null,null,null,null,null,
null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],e=this.shift+5;d[0]=this.root;d[1]=cljs.core.new_path(this.root.edit,this.shift,c);this.root=new cljs.core.VectorNode(this.root.edit,d);this.shift=e}else this.root=cljs.core.tv_push_tail(this,this.shift,this.root,c)}this.cnt+=1;return this}throw Error("conj! after persistent!");};
cljs.core.TransientVector.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1=function(a){if(this.root.edit){this.root.edit=null;a=this.cnt-cljs.core.tail_off(this);var b=Array(a);cljs.core.array_copy(this.tail,0,b,0,a);return new cljs.core.PersistentVector(null,this.cnt,this.shift,this.root,b,null)}throw Error("persistent! called twice");};
cljs.core.TransientVector.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3=function(a,b,c){if("number"===typeof b)return this.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3(null,b,c);throw Error("TransientVector's key for assoc! must be a number.");};
cljs.core.TransientVector.prototype.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3=function(a,b,c){var d=this;if(d.root.edit){if(0<=b&&b<d.cnt)return cljs.core.tail_off(this)<=b?d.tail[b&31]=c:(a=function(a){return function g(a,e){var h=cljs.core.tv_ensure_editable(d.root.edit,e);if(0===a)cljs.core.pv_aset(h,b&31,c);else{var k=b>>>a&31;cljs.core.pv_aset(h,k,g(a-5,cljs.core.pv_aget(h,k)))}return h}}(this).call(null,d.shift,d.root),d.root=a),this;if(b===d.cnt)return this.cljs$core$ITransientCollection$_conj_BANG_$arity$2(null,
c);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Index "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" out of bounds for TransientVector of length"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d.cnt)].join(""));}throw Error("assoc! after persistent!");};
cljs.core.TransientVector.prototype.cljs$core$ITransientVector$_pop_BANG_$arity$1=function(a){if(this.root.edit){if(0===this.cnt)throw Error("Can't pop empty vector");if(1===this.cnt)this.cnt=0;else if(0<(this.cnt-1&31))--this.cnt;else{a=cljs.core.unchecked_editable_array_for(this,this.cnt-2);var b=cljs.core.tv_pop_tail(this,this.shift,this.root);b=null!=b?b:new cljs.core.VectorNode(this.root.edit,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,
null,null,null,null,null,null,null,null,null,null,null,null]);5<this.shift&&null==cljs.core.pv_aget(b,1)?(this.root=cljs.core.tv_ensure_editable(this.root.edit,cljs.core.pv_aget(b,0)),this.shift-=5):this.root=b;--this.cnt;this.tail=a}return this}throw Error("pop! after persistent!");};cljs.core.TransientVector.prototype.cljs$core$ICounted$_count$arity$1=function(a){if(this.root.edit)return this.cnt;throw Error("count after persistent!");};
cljs.core.TransientVector.prototype.cljs$core$IIndexed$_nth$arity$2=function(a,b){if(this.root.edit)return cljs.core.array_for(this,b)[b&31];throw Error("nth after persistent!");};cljs.core.TransientVector.prototype.cljs$core$IIndexed$_nth$arity$3=function(a,b,c){return 0<=b&&b<this.cnt?this.cljs$core$IIndexed$_nth$arity$2(null,b):c};cljs.core.TransientVector.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.core.TransientVector.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){return"number"===typeof b?this.cljs$core$IIndexed$_nth$arity$3(null,b,c):c};
cljs.core.TransientVector.prototype.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$ILookup$_lookup$arity$2(null,c);case 3:return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$ILookup$_lookup$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)};return a}();
cljs.core.TransientVector.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.TransientVector.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$ILookup$_lookup$arity$2(null,a)};cljs.core.TransientVector.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,a,b)};
cljs.core.TransientVector.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"cnt","cnt",1924510325,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"shift","shift",-1657295705,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),
cljs.core.with_meta(new cljs.core.Symbol(null,"root","root",1191874074,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"tail","tail",494507963,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.TransientVector.cljs$lang$type=!0;cljs.core.TransientVector.cljs$lang$ctorStr="cljs.core/TransientVector";
cljs.core.TransientVector.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/TransientVector")};cljs.core.__GT_TransientVector=function(a,b,c,d){return new cljs.core.TransientVector(a,b,c,d)};cljs.core.PersistentQueueIter=function(a,b){this.fseq=a;this.riter=b};cljs.core.PersistentQueueIter.prototype.hasNext=function(){var a=null!=this.fseq&&cljs.core.seq(this.fseq);return a?a:(a=null!=this.riter)?this.riter.hasNext():a};
cljs.core.PersistentQueueIter.prototype.next=function(){if(null!=this.fseq){var a=cljs.core.first(this.fseq);this.fseq=cljs.core.next(this.fseq);return a}if(null!=this.riter&&this.riter.hasNext())return this.riter.next();throw Error("No such element");};cljs.core.PersistentQueueIter.prototype.remove=function(){return Error("Unsupported operation")};
cljs.core.PersistentQueueIter.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"fseq","fseq",-1466412450,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),new cljs.core.Symbol(null,"riter","riter",-237834262,null)],null)};cljs.core.PersistentQueueIter.cljs$lang$type=!0;cljs.core.PersistentQueueIter.cljs$lang$ctorStr="cljs.core/PersistentQueueIter";
cljs.core.PersistentQueueIter.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentQueueIter")};cljs.core.__GT_PersistentQueueIter=function(a,b){return new cljs.core.PersistentQueueIter(a,b)};cljs.core.PersistentQueueSeq=function(a,b,c,d){this.meta=a;this.front=b;this.rear=c;this.__hash=d;this.cljs$lang$protocol_mask$partition0$=31850572;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.PersistentQueueSeq.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};
cljs.core.PersistentQueueSeq.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.PersistentQueueSeq.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.PersistentQueueSeq.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.PersistentQueueSeq.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.PersistentQueueSeq.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};cljs.core.PersistentQueueSeq.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};
cljs.core.PersistentQueueSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.List.EMPTY,this.meta)};cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){return cljs.core.first(this.front)};
cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){return(a=cljs.core.next(this.front))?new cljs.core.PersistentQueueSeq(this.meta,a,this.rear,null):null==this.rear?this.cljs$core$IEmptyableCollection$_empty$arity$1(null):new cljs.core.PersistentQueueSeq(this.meta,this.rear,null,null)};cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};
cljs.core.PersistentQueueSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.PersistentQueueSeq(b,this.front,this.rear,this.__hash)};cljs.core.PersistentQueueSeq.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.PersistentQueueSeq.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"front","front",117022539,null),new cljs.core.Symbol(null,"rear","rear",-900164830,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],
null)};cljs.core.PersistentQueueSeq.cljs$lang$type=!0;cljs.core.PersistentQueueSeq.cljs$lang$ctorStr="cljs.core/PersistentQueueSeq";cljs.core.PersistentQueueSeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentQueueSeq")};cljs.core.__GT_PersistentQueueSeq=function(a,b,c,d){return new cljs.core.PersistentQueueSeq(a,b,c,d)};cljs.core.PersistentQueueSeq.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};
cljs.core.PersistentQueue=function(a,b,c,d,e){this.meta=a;this.count=b;this.front=c;this.rear=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=31858766;this.cljs$lang$protocol_mask$partition1$=8192};cljs.core.PersistentQueue.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.PersistentQueue.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.PersistentQueue.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.PersistentQueue.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,this.count.cljs$core$IFn$_invoke$arity$1?this.count.cljs$core$IFn$_invoke$arity$1(this):this.count.call(null,this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-
1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();cljs.core.PersistentQueue.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentQueue.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.PersistentQueueIter(this.front,cljs.core._iterator(this.rear))};cljs.core.PersistentQueue.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};
cljs.core.PersistentQueue.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.PersistentQueue(this.meta,this.count,this.front,this.rear,this.__hash)};cljs.core.PersistentQueue.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.count};cljs.core.PersistentQueue.prototype.cljs$core$IStack$_peek$arity$1=function(a){return cljs.core.first(this.front)};
cljs.core.PersistentQueue.prototype.cljs$core$IStack$_pop$arity$1=function(a){return cljs.core.truth_(this.front)?(a=cljs.core.next(this.front))?new cljs.core.PersistentQueue(this.meta,this.count-1,a,this.rear,null):new cljs.core.PersistentQueue(this.meta,this.count-1,cljs.core.seq(this.rear),cljs.core.PersistentVector.EMPTY,null):this};cljs.core.PersistentQueue.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};
cljs.core.PersistentQueue.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.PersistentQueue.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.PersistentQueue.EMPTY,this.meta)};cljs.core.PersistentQueue.prototype.cljs$core$ISeq$_first$arity$1=function(a){return cljs.core.first(this.front)};cljs.core.PersistentQueue.prototype.cljs$core$ISeq$_rest$arity$1=function(a){return cljs.core.rest(cljs.core.seq(this))};
cljs.core.PersistentQueue.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){var b=this,c=cljs.core.seq(b.rear);return cljs.core.truth_(function(){var a=b.front;return cljs.core.truth_(a)?a:c}())?new cljs.core.PersistentQueueSeq(null,b.front,cljs.core.seq(c),null):null};cljs.core.PersistentQueue.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.PersistentQueue(b,this.count,this.front,this.rear,this.__hash)};
cljs.core.PersistentQueue.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){var c=this;return cljs.core.truth_(c.front)?new cljs.core.PersistentQueue(c.meta,c.count+1,c.front,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(function(){var a=c.rear;return cljs.core.truth_(a)?a:cljs.core.PersistentVector.EMPTY}(),b),null):new cljs.core.PersistentQueue(c.meta,c.count+1,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(c.front,b),cljs.core.PersistentVector.EMPTY,null)};
cljs.core.PersistentQueue.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"count","count",-514511684,null),new cljs.core.Symbol(null,"front","front",117022539,null),new cljs.core.Symbol(null,"rear","rear",-900164830,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"mutable","mutable",875778266),!0],null))],null)};cljs.core.PersistentQueue.cljs$lang$type=!0;cljs.core.PersistentQueue.cljs$lang$ctorStr="cljs.core/PersistentQueue";cljs.core.PersistentQueue.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentQueue")};cljs.core.__GT_PersistentQueue=function(a,b,c,d,e){return new cljs.core.PersistentQueue(a,b,c,d,e)};cljs.core.PersistentQueue.EMPTY=new cljs.core.PersistentQueue(null,0,null,cljs.core.PersistentVector.EMPTY,cljs.core.empty_ordered_hash);
cljs.core.PersistentQueue.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};cljs.core.NeverEquiv=function(){this.cljs$lang$protocol_mask$partition0$=2097152;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.NeverEquiv.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};cljs.core.NeverEquiv.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return!1};cljs.core.NeverEquiv.getBasis=function(){return cljs.core.PersistentVector.EMPTY};
cljs.core.NeverEquiv.cljs$lang$type=!0;cljs.core.NeverEquiv.cljs$lang$ctorStr="cljs.core/NeverEquiv";cljs.core.NeverEquiv.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/NeverEquiv")};cljs.core.__GT_NeverEquiv=function(){return new cljs.core.NeverEquiv};cljs.core.never_equiv=new cljs.core.NeverEquiv;
cljs.core.equiv_map=function(a,b){return cljs.core.boolean$(cljs.core.map_QMARK_(b)?cljs.core.count(a)===cljs.core.count(b)?cljs.core.every_QMARK_(function(a){return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(b,cljs.core.first(a),cljs.core.never_equiv),cljs.core.second(a))},a):null:null)};cljs.core.scan_array=function(a,b,c){for(var d=c.length,e=0;;)if(e<d){if(b===c[e])return e;e+=a}else return null};
cljs.core.obj_map_compare_keys=function(a,b){var c=cljs.core.hash(a),d=cljs.core.hash(b);return c<d?-1:c>d?1:0};cljs.core.obj_map__GT_hash_map=function(a,b,c){var d=a.keys,e=d.length,f=a.strobj;a=cljs.core.meta(a);for(var g=0,h=cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);;)if(g<e)var k=d[g],g=g+1,h=cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(h,k,f[k]);else return cljs.core._with_meta(cljs.core.persistent_BANG_(cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(h,b,c)),a)};
cljs.core.obj_clone=function(a,b){for(var c={},d=b.length,e=0;;)if(e<d){var f=b[e];c[f]=a[f];e+=1}else break;return c};cljs.core.ObjMap=function(a,b,c,d,e){this.meta=a;this.keys=b;this.strobj=c;this.update_count=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=16123663;this.cljs$lang$protocol_mask$partition1$=4};cljs.core.ObjMap.prototype.cljs$core$IFind$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.ObjMap.prototype.cljs$core$IFind$_find$arity$2=function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,cljs.core.get.cljs$core$IFn$_invoke$arity$2(this,b)],null)};cljs.core.ObjMap.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.ObjMap.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.ObjMap.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};cljs.core.ObjMap.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){return goog.isString(b)&&null!=cljs.core.scan_array(1,b,this.keys)?this.strobj[b]:c};
cljs.core.ObjMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){a=this.keys.sort(cljs.core.obj_map_compare_keys);for(var d=c;;)if(cljs.core.seq(a)){var e=c=cljs.core.first(a);c=this.strobj[c];c=b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(d,e,c):b.call(null,d,e,c);if(cljs.core.reduced_QMARK_(c))return cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(c):cljs.core.deref.call(null,c);a=cljs.core.rest(a);d=c}else return d};
cljs.core.ObjMap.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.ObjMap.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.keys.length};cljs.core.ObjMap.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_unordered_coll(this)};cljs.core.ObjMap.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_map(this,b)};
cljs.core.ObjMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1=function(a){return cljs.core.transient$(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashMap.EMPTY,this))};cljs.core.ObjMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.ObjMap.EMPTY,this.meta)};
cljs.core.ObjMap.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){if(goog.isString(b)&&null!=cljs.core.scan_array(1,b,this.keys)){var c=cljs.core.aclone(this.keys),d=cljs.core.obj_clone(this.strobj,this.keys);c.splice(cljs.core.scan_array(1,b,c),1);delete d[b];return new cljs.core.ObjMap(this.meta,c,d,this.update_count+1,null)}return this};
cljs.core.ObjMap.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){if(goog.isString(b)){if(this.update_count>cljs.core.ObjMap.HASHMAP_THRESHOLD||this.keys.length>=cljs.core.ObjMap.HASHMAP_THRESHOLD)return cljs.core.obj_map__GT_hash_map(this,b,c);if(null!=cljs.core.scan_array(1,b,this.keys))return a=cljs.core.obj_clone(this.strobj,this.keys),a[b]=c,new cljs.core.ObjMap(this.meta,this.keys,a,this.update_count+1,null);a=cljs.core.obj_clone(this.strobj,this.keys);var d=cljs.core.aclone(this.keys);
a[b]=c;d.push(b);return new cljs.core.ObjMap(this.meta,d,a,this.update_count+1,null)}return cljs.core.obj_map__GT_hash_map(this,b,c)};cljs.core.ObjMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2=function(a,b){return goog.isString(b)&&null!=cljs.core.scan_array(1,b,this.keys)?!0:!1};
cljs.core.ObjMap.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){var b=this;return 0<b.keys.length?cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(a){return function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b.strobj[a]],null)}}(this),b.keys.sort(cljs.core.obj_map_compare_keys)):null};cljs.core.ObjMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.ObjMap(b,this.keys,this.strobj,this.update_count,this.__hash)};
cljs.core.ObjMap.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_(b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,0),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,1)):cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this,b)};
cljs.core.ObjMap.prototype.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$ILookup$_lookup$arity$2(null,c);case 3:return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$ILookup$_lookup$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)};return a}();
cljs.core.ObjMap.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.ObjMap.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$ILookup$_lookup$arity$2(null,a)};cljs.core.ObjMap.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,a,b)};
cljs.core.ObjMap.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"keys","keys",-1586012071,null),new cljs.core.Symbol(null,"strobj","strobj",1088091283,null),new cljs.core.Symbol(null,"update-count","update-count",-411982269,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"mutable","mutable",875778266),!0],null))],null)};cljs.core.ObjMap.cljs$lang$type=!0;cljs.core.ObjMap.cljs$lang$ctorStr="cljs.core/ObjMap";cljs.core.ObjMap.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ObjMap")};cljs.core.__GT_ObjMap=function(a,b,c,d,e){return new cljs.core.ObjMap(a,b,c,d,e)};cljs.core.ObjMap.EMPTY=new cljs.core.ObjMap(null,[],{},0,cljs.core.empty_unordered_hash);cljs.core.ObjMap.HASHMAP_THRESHOLD=8;
cljs.core.ObjMap.fromObject=function(a,b){return new cljs.core.ObjMap(null,a,b,0,null)};cljs.core.RecordIter=function(a,b,c,d,e){this.i=a;this.record=b;this.base_count=c;this.fields=d;this.ext_map_iter=e};cljs.core.RecordIter.prototype.hasNext=function(){var a=this.i<this.base_count;return a?a:this.ext_map_iter.hasNext()};
cljs.core.RecordIter.prototype.next=function(){if(this.i<this.base_count){var a=cljs.core.nth.cljs$core$IFn$_invoke$arity$2(this.fields,this.i);this.i+=1;return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,cljs.core._lookup.cljs$core$IFn$_invoke$arity$2(this.record,a)],null)}return this.ext_map_iter.next()};cljs.core.RecordIter.prototype.remove=function(){return Error("Unsupported operation")};
cljs.core.RecordIter.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),new cljs.core.Symbol(null,"record","record",861424668,null),new cljs.core.Symbol(null,"base-count","base-count",-1180647182,null),new cljs.core.Symbol(null,"fields","fields",-291534703,null),new cljs.core.Symbol(null,
"ext-map-iter","ext-map-iter",-1215982757,null)],null)};cljs.core.RecordIter.cljs$lang$type=!0;cljs.core.RecordIter.cljs$lang$ctorStr="cljs.core/RecordIter";cljs.core.RecordIter.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/RecordIter")};cljs.core.__GT_RecordIter=function(a,b,c,d,e){return new cljs.core.RecordIter(a,b,c,d,e)};cljs.core.ES6EntriesIterator=function(a){this.s=a};
cljs.core.ES6EntriesIterator.prototype.next=function(){if(null!=this.s){var a=cljs.core.first(this.s),b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,0,null),a=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,1,null);this.s=cljs.core.next(this.s);return{value:[b,a],done:!1}}return{value:null,done:!0}};
cljs.core.ES6EntriesIterator.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"s","s",-948495851,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.ES6EntriesIterator.cljs$lang$type=!0;cljs.core.ES6EntriesIterator.cljs$lang$ctorStr="cljs.core/ES6EntriesIterator";
cljs.core.ES6EntriesIterator.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ES6EntriesIterator")};cljs.core.__GT_ES6EntriesIterator=function(a){return new cljs.core.ES6EntriesIterator(a)};cljs.core.es6_entries_iterator=function(a){return new cljs.core.ES6EntriesIterator(cljs.core.seq(a))};cljs.core.ES6SetEntriesIterator=function(a){this.s=a};
cljs.core.ES6SetEntriesIterator.prototype.next=function(){if(null!=this.s){var a=cljs.core.first(this.s);this.s=cljs.core.next(this.s);return{value:[a,a],done:!1}}return{value:null,done:!0}};
cljs.core.ES6SetEntriesIterator.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"s","s",-948495851,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.ES6SetEntriesIterator.cljs$lang$type=!0;cljs.core.ES6SetEntriesIterator.cljs$lang$ctorStr="cljs.core/ES6SetEntriesIterator";
cljs.core.ES6SetEntriesIterator.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ES6SetEntriesIterator")};cljs.core.__GT_ES6SetEntriesIterator=function(a){return new cljs.core.ES6SetEntriesIterator(a)};cljs.core.es6_set_entries_iterator=function(a){return new cljs.core.ES6SetEntriesIterator(cljs.core.seq(a))};cljs.core.array_index_of_nil_QMARK_=function(a){for(var b=a.length,c=0;;){if(b<=c)return-1;if(null==a[c])return c;c+=2}};
cljs.core.array_index_of_keyword_QMARK_=function(a,b){for(var c=a.length,d=b.fqn,e=0;;){if(c<=e)return-1;if(a[e]instanceof cljs.core.Keyword&&d===a[e].fqn)return e;e+=2}};cljs.core.array_index_of_symbol_QMARK_=function(a,b){for(var c=a.length,d=b.str,e=0;;){if(c<=e)return-1;if(a[e]instanceof cljs.core.Symbol&&d===a[e].str)return e;e+=2}};cljs.core.array_index_of_identical_QMARK_=function(a,b){for(var c=a.length,d=0;;){if(c<=d)return-1;if(b===a[d])return d;d+=2}};
cljs.core.array_index_of_equiv_QMARK_=function(a,b){for(var c=a.length,d=0;;){if(c<=d)return-1;if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(b,a[d]))return d;d+=2}};
cljs.core.array_index_of=function(a,b){return b instanceof cljs.core.Keyword?cljs.core.array_index_of_keyword_QMARK_(a,b):goog.isString(b)||"number"===typeof b?cljs.core.array_index_of_identical_QMARK_(a,b):b instanceof cljs.core.Symbol?cljs.core.array_index_of_symbol_QMARK_(a,b):null==b?cljs.core.array_index_of_nil_QMARK_(a):cljs.core.array_index_of_equiv_QMARK_(a,b)};cljs.core.array_map_index_of=function(a,b){return cljs.core.array_index_of(a.arr,b)};
cljs.core.array_extend_kv=function(a,b,c){for(var d=a.length,e=Array(d+2),f=0;;)if(f<d)e[f]=a[f],f+=1;else break;e[d]=b;e[d+1]=c;return e};cljs.core.array_map_extend_kv=function(a,b,c){return cljs.core.array_extend_kv(a.arr,b,c)};cljs.core.MapEntry=function(a,b,c){this.key=a;this.val=b;this.__hash=c;this.cljs$lang$protocol_mask$partition0$=32402207;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.MapEntry.prototype.cljs$core$IFind$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.MapEntry.prototype.cljs$core$IFind$_find$arity$2=function(a,b){return 0===b?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,this.key],null):1===b?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,this.val],null):null};
cljs.core.MapEntry.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.MapEntry.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.MapEntry.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$IIndexed$_nth$arity$3(null,b,null)};cljs.core.MapEntry.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){return this.cljs$core$IIndexed$_nth$arity$3(null,b,c)};cljs.core.MapEntry.prototype.cljs$core$IIndexed$_nth$arity$2=function(a,b){if(0===b)return this.key;if(1===b)return this.val;throw Error("Index out of bounds");};
cljs.core.MapEntry.prototype.cljs$core$IIndexed$_nth$arity$3=function(a,b,c){return 0===b?this.key:1===b?this.val:c};cljs.core.MapEntry.prototype.cljs$core$IVector$_assoc_n$arity$3=function(a,b,c){return(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val],null)).cljs$core$IVector$_assoc_n$arity$3(null,b,c)};cljs.core.MapEntry.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return null};
cljs.core.MapEntry.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 2};cljs.core.MapEntry.prototype.cljs$core$IMapEntry$_key$arity$1=function(a){return this.key};cljs.core.MapEntry.prototype.cljs$core$IMapEntry$_val$arity$1=function(a){return this.val};cljs.core.MapEntry.prototype.cljs$core$IStack$_peek$arity$1=function(a){return this.val};
cljs.core.MapEntry.prototype.cljs$core$IStack$_pop$arity$1=function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key],null)};cljs.core.MapEntry.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};cljs.core.MapEntry.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};
cljs.core.MapEntry.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core.PersistentVector.EMPTY};cljs.core.MapEntry.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(this,b)};cljs.core.MapEntry.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(this,b,c)};
cljs.core.MapEntry.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val],null),b,c)};cljs.core.MapEntry.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2=function(a,b){return 0===b||1===b};
cljs.core.MapEntry.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){a=this.key;return cljs.core._conj(cljs.core._conj(cljs.core.List.EMPTY,this.val),a)};cljs.core.MapEntry.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return cljs.core.with_meta(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val],null),b)};
cljs.core.MapEntry.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val,b],null)};
cljs.core.MapEntry.prototype.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$IIndexed$_nth$arity$2(null,c);case 3:return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$IIndexed$_nth$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)};return a}();
cljs.core.MapEntry.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.MapEntry.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$IIndexed$_nth$arity$2(null,a)};cljs.core.MapEntry.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$IIndexed$_nth$arity$3(null,a,b)};
cljs.core.MapEntry.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"key","key",124488940,null),new cljs.core.Symbol(null,"val","val",1769233139,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.MapEntry.cljs$lang$type=!0;
cljs.core.MapEntry.cljs$lang$ctorStr="cljs.core/MapEntry";cljs.core.MapEntry.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/MapEntry")};cljs.core.__GT_MapEntry=function(a,b,c){return new cljs.core.MapEntry(a,b,c)};cljs.core.PersistentArrayMapSeq=function(a,b,c){this.arr=a;this.i=b;this._meta=c;this.cljs$lang$protocol_mask$partition0$=32374990;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.PersistentArrayMapSeq.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};
cljs.core.PersistentArrayMapSeq.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.PersistentArrayMapSeq.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.PersistentArrayMapSeq.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this._meta};cljs.core.PersistentArrayMapSeq.prototype.cljs$core$INext$_next$arity$1=function(a){return this.i<this.arr.length-2?new cljs.core.PersistentArrayMapSeq(this.arr,this.i+2,this._meta):null};cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ICounted$_count$arity$1=function(a){return(this.arr.length-this.i)/2};cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IHash$_hash$arity$1=function(a){return cljs.core.hash_ordered_coll(this)};
cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.List.EMPTY,this._meta)};cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this)};
cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this)};cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.arr[this.i],this.arr[this.i+1]],null)};
cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){return this.i<this.arr.length-2?new cljs.core.PersistentArrayMapSeq(this.arr,this.i+2,this._meta):cljs.core.List.EMPTY};cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.PersistentArrayMapSeq(this.arr,this.i,b)};
cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};cljs.core.PersistentArrayMapSeq.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"arr","arr",2115492975,null),new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.Symbol(null,"_meta","_meta",-1716892533,null)],null)};cljs.core.PersistentArrayMapSeq.cljs$lang$type=!0;
cljs.core.PersistentArrayMapSeq.cljs$lang$ctorStr="cljs.core/PersistentArrayMapSeq";cljs.core.PersistentArrayMapSeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentArrayMapSeq")};cljs.core.__GT_PersistentArrayMapSeq=function(a,b,c){return new cljs.core.PersistentArrayMapSeq(a,b,c)};cljs.core.PersistentArrayMapSeq.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};
cljs.core.persistent_array_map_seq=function(a,b,c){return b<=a.length-2?new cljs.core.PersistentArrayMapSeq(a,b,c):null};cljs.core.PersistentArrayMapIterator=function(a,b,c){this.arr=a;this.i=b;this.cnt=c};cljs.core.PersistentArrayMapIterator.prototype.hasNext=function(){return this.i<this.cnt};cljs.core.PersistentArrayMapIterator.prototype.next=function(){var a=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.arr[this.i],this.arr[this.i+1]],null);this.i+=2;return a};
cljs.core.PersistentArrayMapIterator.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"arr","arr",2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),new cljs.core.Symbol(null,"cnt","cnt",1924510325,null)],null)};cljs.core.PersistentArrayMapIterator.cljs$lang$type=!0;
cljs.core.PersistentArrayMapIterator.cljs$lang$ctorStr="cljs.core/PersistentArrayMapIterator";cljs.core.PersistentArrayMapIterator.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentArrayMapIterator")};cljs.core.__GT_PersistentArrayMapIterator=function(a,b,c){return new cljs.core.PersistentArrayMapIterator(a,b,c)};
cljs.core.PersistentArrayMap=function(a,b,c,d){this.meta=a;this.cnt=b;this.arr=c;this.__hash=d;this.cljs$lang$protocol_mask$partition0$=16647951;this.cljs$lang$protocol_mask$partition1$=8196};cljs.core.PersistentArrayMap.prototype.cljs$core$IFind$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentArrayMap.prototype.cljs$core$IFind$_find$arity$2=function(a,b){var c=cljs.core.array_map_index_of(this,b);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.arr[c],cljs.core.get.cljs$core$IFn$_invoke$arity$2(this,b)],null)};cljs.core.PersistentArrayMap.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.PersistentArrayMap.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.PersistentArrayMap.prototype.keys=function(){return cljs.core.es6_iterator(cljs.core.keys.cljs$core$IFn$_invoke$arity$1?cljs.core.keys.cljs$core$IFn$_invoke$arity$1(this):cljs.core.keys.call(null,this))};cljs.core.PersistentArrayMap.prototype.entries=function(){return cljs.core.es6_entries_iterator(cljs.core.seq(this))};
cljs.core.PersistentArrayMap.prototype.values=function(){return cljs.core.es6_iterator(cljs.core.vals.cljs$core$IFn$_invoke$arity$1?cljs.core.vals.cljs$core$IFn$_invoke$arity$1(this):cljs.core.vals.call(null,this))};cljs.core.PersistentArrayMap.prototype.has=function(a){return cljs.core.contains_QMARK_(this,a)};cljs.core.PersistentArrayMap.prototype.get=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,a,b)};
cljs.core.PersistentArrayMap.prototype.forEach=function(a){for(var b,c,d=cljs.core.seq(this),e=null,f=0,g=0;;)if(g<f)b=e.cljs$core$IIndexed$_nth$arity$2(null,g),c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,0,null),b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,1,null),a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c),g+=1;else if(c=cljs.core.seq(d))d=c,cljs.core.chunked_seq_QMARK_(d)?(e=cljs.core.chunk_first(d),d=cljs.core.chunk_rest(d),c=e,b=cljs.core.count(e),
e=c,f=b):(e=cljs.core.first(d),c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,0,null),b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,1,null),a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c),d=cljs.core.next(d),e=null,f=0),g=0;else return null};cljs.core.PersistentArrayMap.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.core.PersistentArrayMap.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){a=cljs.core.array_map_index_of(this,b);return-1===a?c:this.arr[a+1]};
cljs.core.PersistentArrayMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){a=this.arr.length;for(var d=0;;)if(d<a){var e=this.arr[d],f=this.arr[d+1];c=b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(c,e,f):b.call(null,c,e,f);if(cljs.core.reduced_QMARK_(c))return cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(c):cljs.core.deref.call(null,c);d+=2}else return c};
cljs.core.PersistentArrayMap.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentArrayMap.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.PersistentArrayMapIterator(this.arr,0,2*this.cnt)};cljs.core.PersistentArrayMap.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};
cljs.core.PersistentArrayMap.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.PersistentArrayMap(this.meta,this.cnt,this.arr,this.__hash)};cljs.core.PersistentArrayMap.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.cnt};cljs.core.PersistentArrayMap.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_unordered_coll(this)};
cljs.core.PersistentArrayMap.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){if(null!=b&&(b.cljs$lang$protocol_mask$partition0$&1024||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$IMap$)){var c=this.arr.length;if(this.cnt===b.cljs$core$ICounted$_count$arity$1(null))for(var d=0;;)if(d<c){var e=b.cljs$core$ILookup$_lookup$arity$3(null,this.arr[d],cljs.core.lookup_sentinel);if(e!==cljs.core.lookup_sentinel)if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.arr[d+1],e))d+=2;else return!1;else return!1}else return!0;
else return!1}else return cljs.core.equiv_map(this,b)};cljs.core.PersistentArrayMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1=function(a){return new cljs.core.TransientArrayMap({},this.arr.length,cljs.core.aclone(this.arr))};cljs.core.PersistentArrayMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.PersistentArrayMap.EMPTY,this.meta)};
cljs.core.PersistentArrayMap.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this)};cljs.core.PersistentArrayMap.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this)};
cljs.core.PersistentArrayMap.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){if(0<=cljs.core.array_map_index_of(this,b)){var c=this.arr.length,d=c-2;if(0===d)return this.cljs$core$IEmptyableCollection$_empty$arity$1(null);for(var d=Array(d),e=0,f=0;;){if(e>=c)return new cljs.core.PersistentArrayMap(this.meta,this.cnt-1,d,null);cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(b,this.arr[e])||(d[f]=this.arr[e],d[f+1]=this.arr[e+1],f+=2);e+=2}}else return this};
cljs.core.PersistentArrayMap.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.array_map_index_of(this,b);if(-1===a)return this.cnt<cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD?(c=cljs.core.array_map_extend_kv(this,b,c),new cljs.core.PersistentArrayMap(this.meta,this.cnt+1,c,null)):cljs.core._with_meta(cljs.core._assoc(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashMap.EMPTY,this),b,c),this.meta);if(c===this.arr[a+1])return this;b=cljs.core.aclone(this.arr);
b[a+1]=c;return new cljs.core.PersistentArrayMap(this.meta,this.cnt,b,null)};cljs.core.PersistentArrayMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2=function(a,b){return-1!==cljs.core.array_map_index_of(this,b)};cljs.core.PersistentArrayMap.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.persistent_array_map_seq(this.arr,0,null)};
cljs.core.PersistentArrayMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.PersistentArrayMap(b,this.cnt,this.arr,this.__hash)};
cljs.core.PersistentArrayMap.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){if(cljs.core.vector_QMARK_(b))return this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,0),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,1));for(var c=this,d=cljs.core.seq(b);;){if(null==d)return c;var e=cljs.core.first(d);if(cljs.core.vector_QMARK_(e))c=c.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(e,0),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(e,
1)),d=cljs.core.next(d);else throw Error("conj on a map takes map entries or seqables of map entries");}};
cljs.core.PersistentArrayMap.prototype.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$ILookup$_lookup$arity$2(null,c);case 3:return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$ILookup$_lookup$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)};return a}();
cljs.core.PersistentArrayMap.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.PersistentArrayMap.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$ILookup$_lookup$arity$2(null,a)};cljs.core.PersistentArrayMap.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,a,b)};
cljs.core.PersistentArrayMap.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"cnt","cnt",1924510325,null),new cljs.core.Symbol(null,"arr","arr",2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};
cljs.core.PersistentArrayMap.cljs$lang$type=!0;cljs.core.PersistentArrayMap.cljs$lang$ctorStr="cljs.core/PersistentArrayMap";cljs.core.PersistentArrayMap.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentArrayMap")};cljs.core.__GT_PersistentArrayMap=function(a,b,c,d){return new cljs.core.PersistentArrayMap(a,b,c,d)};cljs.core.PersistentArrayMap.EMPTY=new cljs.core.PersistentArrayMap(null,0,[],cljs.core.empty_unordered_hash);
cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD=8;cljs.core.PersistentArrayMap.fromArray=function(a,b,c){a=b?a:cljs.core.aclone(a);if(!c){c=[];for(b=0;;)if(b<a.length){var d=a[b],e=a[b+1];-1===cljs.core.array_index_of(c,d)&&(c.push(d),c.push(e));b+=2}else break;a=c}return new cljs.core.PersistentArrayMap(null,a.length/2,a,null)};
cljs.core.PersistentArrayMap.createWithCheck=function(a){for(var b=[],c=0;;)if(c<a.length){var d=a[c],e=a[c+1];if(-1===cljs.core.array_index_of(b,d)){var f=b;f.push(d);f.push(e)}else throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Duplicate key: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join(""));c+=2}else break;return new cljs.core.PersistentArrayMap(null,a.length/2,a,null)};
cljs.core.PersistentArrayMap.createAsIfByAssoc=function(a){for(var b=[],c=0;;)if(c<a.length){var d=a[c],e=a[c+1],f=cljs.core.array_index_of(b,d);-1===f?(f=b,f.push(d),f.push(e)):b[f+1]=e;c+=2}else break;return new cljs.core.PersistentArrayMap(null,b.length/2,b,null)};cljs.core.PersistentArrayMap.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};
cljs.core.TransientArrayMap=function(a,b,c){this.editable_QMARK_=a;this.len=b;this.arr=c;this.cljs$lang$protocol_mask$partition0$=258;this.cljs$lang$protocol_mask$partition1$=56};cljs.core.TransientArrayMap.prototype.cljs$core$ICounted$_count$arity$1=function(a){if(cljs.core.truth_(this.editable_QMARK_))return cljs.core.quot(this.len,2);throw Error("count after persistent!");};
cljs.core.TransientArrayMap.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};cljs.core.TransientArrayMap.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){if(cljs.core.truth_(this.editable_QMARK_))return a=cljs.core.array_map_index_of(this,b),-1===a?c:this.arr[a+1];throw Error("lookup after persistent!");};
cljs.core.TransientArrayMap.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2=function(a,b){if(cljs.core.truth_(this.editable_QMARK_)){if(null!=b?b.cljs$lang$protocol_mask$partition0$&2048||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$IMapEntry$||(b.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_(cljs.core.IMapEntry,b)):cljs.core.native_satisfies_QMARK_(cljs.core.IMapEntry,b))return this.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(null,cljs.core.key.cljs$core$IFn$_invoke$arity$1?
cljs.core.key.cljs$core$IFn$_invoke$arity$1(b):cljs.core.key.call(null,b),cljs.core.val.cljs$core$IFn$_invoke$arity$1?cljs.core.val.cljs$core$IFn$_invoke$arity$1(b):cljs.core.val.call(null,b));for(var c=cljs.core.seq(b),d=this;;){var e=cljs.core.first(c);if(cljs.core.truth_(e))c=cljs.core.next(c),d=d.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(null,cljs.core.key.cljs$core$IFn$_invoke$arity$1?cljs.core.key.cljs$core$IFn$_invoke$arity$1(e):cljs.core.key.call(null,e),cljs.core.val.cljs$core$IFn$_invoke$arity$1?
cljs.core.val.cljs$core$IFn$_invoke$arity$1(e):cljs.core.val.call(null,e));else return d}}else throw Error("conj! after persistent!");};cljs.core.TransientArrayMap.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1=function(a){if(cljs.core.truth_(this.editable_QMARK_))return this.editable_QMARK_=!1,new cljs.core.PersistentArrayMap(null,cljs.core.quot(this.len,2),this.arr,null);throw Error("persistent! called twice");};
cljs.core.TransientArrayMap.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3=function(a,b,c){if(cljs.core.truth_(this.editable_QMARK_)){a=cljs.core.array_map_index_of(this,b);if(-1===a)return this.len+2<=2*cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD?(this.len+=2,this.arr.push(b),this.arr.push(c),this):cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(cljs.core.array__GT_transient_hash_map.cljs$core$IFn$_invoke$arity$2?cljs.core.array__GT_transient_hash_map.cljs$core$IFn$_invoke$arity$2(this.len,
this.arr):cljs.core.array__GT_transient_hash_map.call(null,this.len,this.arr),b,c);c!==this.arr[a+1]&&(this.arr[a+1]=c);return this}throw Error("assoc! after persistent!");};
cljs.core.TransientArrayMap.prototype.cljs$core$ITransientMap$_dissoc_BANG_$arity$2=function(a,b){if(cljs.core.truth_(this.editable_QMARK_)){var c=cljs.core.array_map_index_of(this,b);0<=c&&(this.arr[c]=this.arr[this.len-2],this.arr[c+1]=this.arr[this.len-1],c=this.arr,c.pop(),c.pop(),this.len-=2);return this}throw Error("dissoc! after persistent!");};
cljs.core.TransientArrayMap.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"editable?","editable?",-164945806,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"len","len",-1230778691,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),
!0],null)),new cljs.core.Symbol(null,"arr","arr",2115492975,null)],null)};cljs.core.TransientArrayMap.cljs$lang$type=!0;cljs.core.TransientArrayMap.cljs$lang$ctorStr="cljs.core/TransientArrayMap";cljs.core.TransientArrayMap.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/TransientArrayMap")};cljs.core.__GT_TransientArrayMap=function(a,b,c){return new cljs.core.TransientArrayMap(a,b,c)};
cljs.core.array__GT_transient_hash_map=function(a,b){for(var c=cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY),d=0;;)if(d<a)c=cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(c,b[d],b[d+1]),d+=2;else return c};cljs.core.Box=function(a){this.val=a};
cljs.core.Box.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"val","val",1769233139,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.Box.cljs$lang$type=!0;cljs.core.Box.cljs$lang$ctorStr="cljs.core/Box";cljs.core.Box.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Box")};
cljs.core.__GT_Box=function(a){return new cljs.core.Box(a)};cljs.core.key_test=function(a,b){return a===b?!0:cljs.core.keyword_identical_QMARK_(a,b)?!0:cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,b)};cljs.core.mask=function(a,b){return a>>>b&31};
cljs.core.clone_and_set=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 5:return cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3=function(a,b,c){a=cljs.core.aclone(a);a[b]=c;return a};cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){a=cljs.core.aclone(a);a[b]=c;a[d]=e;return a};cljs.core.clone_and_set.cljs$lang$maxFixedArity=5;cljs.core.remove_pair=function(a,b){var c=Array(a.length-2);cljs.core.array_copy(a,0,c,0,2*b);cljs.core.array_copy(a,2*(b+1),c,2*b,c.length-2*b);return c};
cljs.core.bitmap_indexed_node_index=function(a,b){return cljs.core.bit_count(a&b-1)};cljs.core.bitpos=function(a,b){return 1<<(a>>>b&31)};
cljs.core.edit_and_set=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 4:return cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 6:return cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){a=a.ensure_editable(b);a.arr[c]=d;return a};cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){a=a.ensure_editable(b);a.arr[c]=d;a.arr[e]=f;return a};cljs.core.edit_and_set.cljs$lang$maxFixedArity=6;
cljs.core.inode_kv_reduce=function(a,b,c){for(var d=a.length,e=0,f=c;;)if(e<d){c=a[e];if(null!=c){var g=a[e+1];c=b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(f,c,g):b.call(null,f,c,g)}else c=a[e+1],c=null!=c?c.kv_reduce(b,f):f;if(cljs.core.reduced_QMARK_(c))return cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(c):cljs.core.deref.call(null,c);e+=2;f=c}else return f};
cljs.core.NodeIterator=function(a,b,c,d){this.arr=a;this.i=b;this.next_entry=c;this.next_iter=d};cljs.core.NodeIterator.prototype.advance=function(){for(var a=this.arr.length;;)if(this.i<a){var b=this.arr[this.i],c=this.arr[this.i+1];null!=b?b=this.next_entry=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,c],null):null!=c?(b=cljs.core._iterator(c),b=b.hasNext()?this.next_iter=b:!1):b=!1;this.i+=2;if(b)return!0}else return!1};
cljs.core.NodeIterator.prototype.hasNext=function(){var a=null!=this.next_entry;return a?a:(a=null!=this.next_iter)?a:this.advance()};cljs.core.NodeIterator.prototype.next=function(){if(null!=this.next_entry){var a=this.next_entry;this.next_entry=null;return a}if(null!=this.next_iter)return a=this.next_iter.next(),this.next_iter.hasNext()||(this.next_iter=null),a;if(this.advance())return this.next();throw Error("No such element");};cljs.core.NodeIterator.prototype.remove=function(){return Error("Unsupported operation")};
cljs.core.NodeIterator.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"arr","arr",2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"next-entry","next-entry",1091342476,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"next-iter","next-iter",1526626239,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.NodeIterator.cljs$lang$type=!0;cljs.core.NodeIterator.cljs$lang$ctorStr="cljs.core/NodeIterator";cljs.core.NodeIterator.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/NodeIterator")};
cljs.core.__GT_NodeIterator=function(a,b,c,d){return new cljs.core.NodeIterator(a,b,c,d)};cljs.core.BitmapIndexedNode=function(a,b,c){this.edit=a;this.bitmap=b;this.arr=c};cljs.core.BitmapIndexedNode.prototype.ensure_editable=function(a){if(a===this.edit)return this;var b=cljs.core.bit_count(this.bitmap),c=Array(0>b?4:2*(b+1));cljs.core.array_copy(this.arr,0,c,0,2*b);return new cljs.core.BitmapIndexedNode(a,this.bitmap,c)};
cljs.core.BitmapIndexedNode.prototype.inode_without_BANG_=function(a,b,c,d,e){var f=1<<(c>>>b&31);if(0===(this.bitmap&f))return this;var g=cljs.core.bitmap_indexed_node_index(this.bitmap,f),h=this.arr[2*g],k=this.arr[2*g+1];return null==h?(b=k.inode_without_BANG_(a,b+5,c,d,e),b===k?this:null!=b?cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(this,a,2*g+1,b):this.bitmap===f?null:this.edit_and_remove_pair(a,f,g)):cljs.core.key_test(d,h)?(e.val=!0,this.edit_and_remove_pair(a,f,g)):this};
cljs.core.BitmapIndexedNode.prototype.edit_and_remove_pair=function(a,b,c){if(this.bitmap===b)return null;a=this.ensure_editable(a);var d=a.arr,e=d.length;a.bitmap^=b;cljs.core.array_copy(d,2*(c+1),d,2*c,e-2*(c+1));d[e-2]=null;d[e-1]=null;return a};cljs.core.BitmapIndexedNode.prototype.inode_seq=function(){return cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1?cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1(this.arr):cljs.core.create_inode_seq.call(null,this.arr)};
cljs.core.BitmapIndexedNode.prototype.kv_reduce=function(a,b){return cljs.core.inode_kv_reduce(this.arr,a,b)};cljs.core.BitmapIndexedNode.prototype.inode_lookup=function(a,b,c,d){var e=1<<(b>>>a&31);if(0===(this.bitmap&e))return d;var f=cljs.core.bitmap_indexed_node_index(this.bitmap,e),e=this.arr[2*f],f=this.arr[2*f+1];return null==e?f.inode_lookup(a+5,b,c,d):cljs.core.key_test(c,e)?f:d};
cljs.core.BitmapIndexedNode.prototype.inode_assoc_BANG_=function(a,b,c,d,e,f){var g=1<<(c>>>b&31),h=cljs.core.bitmap_indexed_node_index(this.bitmap,g);if(0===(this.bitmap&g)){var k=cljs.core.bit_count(this.bitmap);if(2*k<this.arr.length){var l=this.ensure_editable(a);var m=l.arr;f.val=!0;cljs.core.array_copy_downward(m,2*h,m,2*(h+1),2*(k-h));m[2*h]=d;m[2*h+1]=e;l.bitmap|=g;return l}if(16<=k){l=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,
null,null,null,null,null,null,null,null,null,null,null];l[c>>>b&31]=cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(a,b+5,c,d,e,f);for(h=g=0;;)if(32>g)0!==(this.bitmap>>>g&1)&&(l[g]=null!=this.arr[h]?cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(a,b+5,cljs.core.hash(this.arr[h]),this.arr[h],this.arr[h+1],f):this.arr[h+1],h+=2),g+=1;else break;return new cljs.core.ArrayNode(a,k+1,l)}m=Array(2*(k+4));cljs.core.array_copy(this.arr,0,m,0,2*h);m[2*h]=d;m[2*h+1]=e;cljs.core.array_copy(this.arr,
2*h,m,2*(h+1),2*(k-h));f.val=!0;l=this.ensure_editable(a);l.arr=m;l.bitmap|=g;return l}var n=this.arr[2*h],p=this.arr[2*h+1];if(null==n)return k=p.inode_assoc_BANG_(a,b+5,c,d,e,f),k===p?this:cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(this,a,2*h+1,k);if(cljs.core.key_test(d,n))return e===p?this:cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(this,a,2*h+1,e);f.val=!0;return cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6(this,a,2*h,null,2*h+1,function(){var f=b+5;return cljs.core.create_node.cljs$core$IFn$_invoke$arity$7?
cljs.core.create_node.cljs$core$IFn$_invoke$arity$7(a,f,n,p,c,d,e):cljs.core.create_node.call(null,a,f,n,p,c,d,e)}())};
cljs.core.BitmapIndexedNode.prototype.inode_assoc=function(a,b,c,d,e){var f=1<<(b>>>a&31),g=cljs.core.bitmap_indexed_node_index(this.bitmap,f);if(0===(this.bitmap&f)){var h=cljs.core.bit_count(this.bitmap);if(16<=h){f=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];f[b>>>a&31]=cljs.core.BitmapIndexedNode.EMPTY.inode_assoc(a+5,b,c,d,e);for(var k=g=0;;)if(32>g)0!==(this.bitmap>>>g&1)&&(f[g]=
null!=this.arr[k]?cljs.core.BitmapIndexedNode.EMPTY.inode_assoc(a+5,cljs.core.hash(this.arr[k]),this.arr[k],this.arr[k+1],e):this.arr[k+1],k+=2),g+=1;else break;return new cljs.core.ArrayNode(null,h+1,f)}k=Array(2*(h+1));cljs.core.array_copy(this.arr,0,k,0,2*g);k[2*g]=c;k[2*g+1]=d;cljs.core.array_copy(this.arr,2*g,k,2*(g+1),2*(h-g));e.val=!0;return new cljs.core.BitmapIndexedNode(null,this.bitmap|f,k)}var l=this.arr[2*g],m=this.arr[2*g+1];if(null==l)return h=m.inode_assoc(a+5,b,c,d,e),h===m?this:
new cljs.core.BitmapIndexedNode(null,this.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(this.arr,2*g+1,h));if(cljs.core.key_test(c,l))return d===m?this:new cljs.core.BitmapIndexedNode(null,this.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(this.arr,2*g+1,d));e.val=!0;return new cljs.core.BitmapIndexedNode(null,this.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5(this.arr,2*g,null,2*g+1,function(){var e=a+5;return cljs.core.create_node.cljs$core$IFn$_invoke$arity$6?
cljs.core.create_node.cljs$core$IFn$_invoke$arity$6(e,l,m,b,c,d):cljs.core.create_node.call(null,e,l,m,b,c,d)}()))};cljs.core.BitmapIndexedNode.prototype.inode_find=function(a,b,c,d){var e=1<<(b>>>a&31);if(0===(this.bitmap&e))return d;var f=cljs.core.bitmap_indexed_node_index(this.bitmap,e),e=this.arr[2*f],f=this.arr[2*f+1];return null==e?f.inode_find(a+5,b,c,d):cljs.core.key_test(c,e)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[e,f],null):d};
cljs.core.BitmapIndexedNode.prototype.inode_without=function(a,b,c){var d=1<<(b>>>a&31);if(0===(this.bitmap&d))return this;var e=cljs.core.bitmap_indexed_node_index(this.bitmap,d),f=this.arr[2*e],g=this.arr[2*e+1];return null==f?(a=g.inode_without(a+5,b,c),a===g?this:null!=a?new cljs.core.BitmapIndexedNode(null,this.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(this.arr,2*e+1,a)):this.bitmap===d?null:new cljs.core.BitmapIndexedNode(null,this.bitmap^d,cljs.core.remove_pair(this.arr,
e))):cljs.core.key_test(c,f)?new cljs.core.BitmapIndexedNode(null,this.bitmap^d,cljs.core.remove_pair(this.arr,e)):this};cljs.core.BitmapIndexedNode.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.BitmapIndexedNode.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.NodeIterator(this.arr,0,null,null)};
cljs.core.BitmapIndexedNode.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"edit","edit",-1302639,null),cljs.core.with_meta(new cljs.core.Symbol(null,"bitmap","bitmap",501334601,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"arr","arr",2115492975,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"mutable","mutable",875778266),!0],null))],null)};cljs.core.BitmapIndexedNode.cljs$lang$type=!0;cljs.core.BitmapIndexedNode.cljs$lang$ctorStr="cljs.core/BitmapIndexedNode";cljs.core.BitmapIndexedNode.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/BitmapIndexedNode")};cljs.core.__GT_BitmapIndexedNode=function(a,b,c){return new cljs.core.BitmapIndexedNode(a,b,c)};cljs.core.BitmapIndexedNode.EMPTY=new cljs.core.BitmapIndexedNode(null,0,[]);
cljs.core.pack_array_node=function(a,b,c){var d=a.arr,e=d.length;a=Array(2*(a.cnt-1));for(var f=0,g=1,h=0;;)if(f<e)f!==c&&null!=d[f]&&(a[g]=d[f],g+=2,h|=1<<f),f+=1;else return new cljs.core.BitmapIndexedNode(b,h,a)};cljs.core.ArrayNodeIterator=function(a,b,c){this.arr=a;this.i=b;this.next_iter=c};
cljs.core.ArrayNodeIterator.prototype.hasNext=function(){for(var a=this.arr.length;;){if(null!=this.next_iter&&this.next_iter.hasNext())return!0;if(this.i<a){var b=this.arr[this.i];this.i+=1;null!=b&&(this.next_iter=cljs.core._iterator(b))}else return!1}};cljs.core.ArrayNodeIterator.prototype.next=function(){if(this.hasNext())return this.next_iter.next();throw Error("No such element");};cljs.core.ArrayNodeIterator.prototype.remove=function(){return Error("Unsupported operation")};
cljs.core.ArrayNodeIterator.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"arr","arr",2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"next-iter","next-iter",1526626239,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"mutable","mutable",875778266),!0],null))],null)};cljs.core.ArrayNodeIterator.cljs$lang$type=!0;cljs.core.ArrayNodeIterator.cljs$lang$ctorStr="cljs.core/ArrayNodeIterator";cljs.core.ArrayNodeIterator.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ArrayNodeIterator")};cljs.core.__GT_ArrayNodeIterator=function(a,b,c){return new cljs.core.ArrayNodeIterator(a,b,c)};cljs.core.ArrayNode=function(a,b,c){this.edit=a;this.cnt=b;this.arr=c};
cljs.core.ArrayNode.prototype.ensure_editable=function(a){return a===this.edit?this:new cljs.core.ArrayNode(a,this.cnt,cljs.core.aclone(this.arr))};
cljs.core.ArrayNode.prototype.inode_without_BANG_=function(a,b,c,d,e){var f=c>>>b&31,g=this.arr[f];if(null==g)return this;b=g.inode_without_BANG_(a,b+5,c,d,e);if(b===g)return this;if(null==b){if(8>=this.cnt)return cljs.core.pack_array_node(this,a,f);a=cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(this,a,f,b);--a.cnt;return a}return cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(this,a,f,b)};
cljs.core.ArrayNode.prototype.inode_seq=function(){return cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1?cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1(this.arr):cljs.core.create_array_node_seq.call(null,this.arr)};
cljs.core.ArrayNode.prototype.kv_reduce=function(a,b){for(var c=this.arr.length,d=0,e=b;;)if(d<c){var f=this.arr[d];if(null!=f&&(e=f.kv_reduce(a,e),cljs.core.reduced_QMARK_(e)))return cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(e):cljs.core.deref.call(null,e);d+=1}else return e};cljs.core.ArrayNode.prototype.inode_lookup=function(a,b,c,d){var e=this.arr[b>>>a&31];return null!=e?e.inode_lookup(a+5,b,c,d):d};
cljs.core.ArrayNode.prototype.inode_assoc_BANG_=function(a,b,c,d,e,f){var g=c>>>b&31,h=this.arr[g];if(null==h)return a=cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(this,a,g,cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(a,b+5,c,d,e,f)),a.cnt+=1,a;b=h.inode_assoc_BANG_(a,b+5,c,d,e,f);return b===h?this:cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(this,a,g,b)};
cljs.core.ArrayNode.prototype.inode_assoc=function(a,b,c,d,e){var f=b>>>a&31,g=this.arr[f];if(null==g)return new cljs.core.ArrayNode(null,this.cnt+1,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(this.arr,f,cljs.core.BitmapIndexedNode.EMPTY.inode_assoc(a+5,b,c,d,e)));a=g.inode_assoc(a+5,b,c,d,e);return a===g?this:new cljs.core.ArrayNode(null,this.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(this.arr,f,a))};
cljs.core.ArrayNode.prototype.inode_find=function(a,b,c,d){var e=this.arr[b>>>a&31];return null!=e?e.inode_find(a+5,b,c,d):d};
cljs.core.ArrayNode.prototype.inode_without=function(a,b,c){var d=b>>>a&31,e=this.arr[d];return null!=e?(a=e.inode_without(a+5,b,c),a===e?this:null==a?8>=this.cnt?cljs.core.pack_array_node(this,null,d):new cljs.core.ArrayNode(null,this.cnt-1,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(this.arr,d,a)):new cljs.core.ArrayNode(null,this.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(this.arr,d,a))):this};cljs.core.ArrayNode.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.ArrayNode.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.ArrayNodeIterator(this.arr,0,null)};
cljs.core.ArrayNode.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"edit","edit",-1302639,null),cljs.core.with_meta(new cljs.core.Symbol(null,"cnt","cnt",1924510325,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"arr","arr",2115492975,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"mutable","mutable",875778266),!0],null))],null)};cljs.core.ArrayNode.cljs$lang$type=!0;cljs.core.ArrayNode.cljs$lang$ctorStr="cljs.core/ArrayNode";cljs.core.ArrayNode.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ArrayNode")};cljs.core.__GT_ArrayNode=function(a,b,c){return new cljs.core.ArrayNode(a,b,c)};cljs.core.hash_collision_node_find_index=function(a,b,c){b*=2;for(var d=0;;)if(d<b){if(cljs.core.key_test(c,a[d]))return d;d+=2}else return-1};
cljs.core.HashCollisionNode=function(a,b,c,d){this.edit=a;this.collision_hash=b;this.cnt=c;this.arr=d};cljs.core.HashCollisionNode.prototype.ensure_editable=function(a){if(a===this.edit)return this;var b=Array(2*(this.cnt+1));cljs.core.array_copy(this.arr,0,b,0,2*this.cnt);return new cljs.core.HashCollisionNode(a,this.collision_hash,this.cnt,b)};
cljs.core.HashCollisionNode.prototype.inode_without_BANG_=function(a,b,c,d,e){b=cljs.core.hash_collision_node_find_index(this.arr,this.cnt,d);if(-1===b)return this;e.val=!0;if(1===this.cnt)return null;a=this.ensure_editable(a);e=a.arr;e[b]=e[2*this.cnt-2];e[b+1]=e[2*this.cnt-1];e[2*this.cnt-1]=null;e[2*this.cnt-2]=null;--a.cnt;return a};
cljs.core.HashCollisionNode.prototype.inode_seq=function(){return cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1?cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1(this.arr):cljs.core.create_inode_seq.call(null,this.arr)};cljs.core.HashCollisionNode.prototype.kv_reduce=function(a,b){return cljs.core.inode_kv_reduce(this.arr,a,b)};
cljs.core.HashCollisionNode.prototype.inode_lookup=function(a,b,c,d){a=cljs.core.hash_collision_node_find_index(this.arr,this.cnt,c);return 0>a?d:cljs.core.key_test(c,this.arr[a])?this.arr[a+1]:d};
cljs.core.HashCollisionNode.prototype.inode_assoc_BANG_=function(a,b,c,d,e,f){if(c===this.collision_hash){b=cljs.core.hash_collision_node_find_index(this.arr,this.cnt,d);if(-1===b){if(this.arr.length>2*this.cnt)return a=cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6(this,a,2*this.cnt,d,2*this.cnt+1,e),f.val=!0,a.cnt+=1,a;b=this.arr.length;c=Array(b+2);cljs.core.array_copy(this.arr,0,c,0,b);c[b]=d;c[b+1]=e;f.val=!0;return this.ensure_editable_array(a,this.cnt+1,c)}return this.arr[b+1]===e?this:
cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(this,a,b+1,e)}return(new cljs.core.BitmapIndexedNode(a,1<<(this.collision_hash>>>b&31),[null,this,null,null])).inode_assoc_BANG_(a,b,c,d,e,f)};
cljs.core.HashCollisionNode.prototype.inode_assoc=function(a,b,c,d,e){return b===this.collision_hash?(a=cljs.core.hash_collision_node_find_index(this.arr,this.cnt,c),-1===a?(a=2*this.cnt,b=Array(a+2),cljs.core.array_copy(this.arr,0,b,0,a),b[a]=c,b[a+1]=d,e.val=!0,new cljs.core.HashCollisionNode(null,this.collision_hash,this.cnt+1,b)):cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.arr[a+1],d)?this:new cljs.core.HashCollisionNode(null,this.collision_hash,this.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(this.arr,
a+1,d))):(new cljs.core.BitmapIndexedNode(null,1<<(this.collision_hash>>>a&31),[null,this])).inode_assoc(a,b,c,d,e)};cljs.core.HashCollisionNode.prototype.ensure_editable_array=function(a,b,c){return a===this.edit?(this.arr=c,this.cnt=b,this):new cljs.core.HashCollisionNode(this.edit,this.collision_hash,b,c)};
cljs.core.HashCollisionNode.prototype.inode_find=function(a,b,c,d){a=cljs.core.hash_collision_node_find_index(this.arr,this.cnt,c);return 0>a?d:cljs.core.key_test(c,this.arr[a])?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.arr[a],this.arr[a+1]],null):d};
cljs.core.HashCollisionNode.prototype.inode_without=function(a,b,c){a=cljs.core.hash_collision_node_find_index(this.arr,this.cnt,c);return-1===a?this:1===this.cnt?null:new cljs.core.HashCollisionNode(null,this.collision_hash,this.cnt-1,cljs.core.remove_pair(this.arr,cljs.core.quot(a,2)))};cljs.core.HashCollisionNode.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.HashCollisionNode.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.NodeIterator(this.arr,0,null,null)};
cljs.core.HashCollisionNode.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"edit","edit",-1302639,null),cljs.core.with_meta(new cljs.core.Symbol(null,"collision-hash","collision-hash",-35831342,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"cnt","cnt",1924510325,null),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"arr","arr",2115492975,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.HashCollisionNode.cljs$lang$type=!0;cljs.core.HashCollisionNode.cljs$lang$ctorStr="cljs.core/HashCollisionNode";cljs.core.HashCollisionNode.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/HashCollisionNode")};
cljs.core.__GT_HashCollisionNode=function(a,b,c,d){return new cljs.core.HashCollisionNode(a,b,c,d)};
cljs.core.create_node=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 6:return cljs.core.create_node.cljs$core$IFn$_invoke$arity$6(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);case 7:return cljs.core.create_node.cljs$core$IFn$_invoke$arity$7(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};cljs.core.create_node.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){var g=cljs.core.hash(b);if(g===d)return new cljs.core.HashCollisionNode(null,g,2,[b,c,e,f]);var h=new cljs.core.Box(!1);return cljs.core.BitmapIndexedNode.EMPTY.inode_assoc(a,g,b,c,h).inode_assoc(a,d,e,f,h)};
cljs.core.create_node.cljs$core$IFn$_invoke$arity$7=function(a,b,c,d,e,f,g){var h=cljs.core.hash(c);if(h===e)return new cljs.core.HashCollisionNode(null,h,2,[c,d,f,g]);var k=new cljs.core.Box(!1);return cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(a,b,h,c,d,k).inode_assoc_BANG_(a,b,e,f,g,k)};cljs.core.create_node.cljs$lang$maxFixedArity=7;
cljs.core.NodeSeq=function(a,b,c,d,e){this.meta=a;this.nodes=b;this.i=c;this.s=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=32374860;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.NodeSeq.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.NodeSeq.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.NodeSeq.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.NodeSeq.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.NodeSeq.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.NodeSeq.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};cljs.core.NodeSeq.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.NodeSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.List.EMPTY,this.meta)};
cljs.core.NodeSeq.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this)};cljs.core.NodeSeq.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this)};
cljs.core.NodeSeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){return null==this.s?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.nodes[this.i],this.nodes[this.i+1]],null):cljs.core.first(this.s)};
cljs.core.NodeSeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){var b=this;a=null==b.s?function(){var a=b.nodes,d=b.i+2;return cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3?cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(a,d,null):cljs.core.create_inode_seq.call(null,a,d,null)}():function(){var a=b.nodes,d=b.i,e=cljs.core.next(b.s);return cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3?cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(a,d,e):cljs.core.create_inode_seq.call(null,
a,d,e)}();return null!=a?a:cljs.core.List.EMPTY};cljs.core.NodeSeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};cljs.core.NodeSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.NodeSeq(b,this.nodes,this.i,this.s,this.__hash)};cljs.core.NodeSeq.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.NodeSeq.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"nodes","nodes",-459054278,null),new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.Symbol(null,"s","s",-948495851,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable",
"mutable",875778266),!0],null))],null)};cljs.core.NodeSeq.cljs$lang$type=!0;cljs.core.NodeSeq.cljs$lang$ctorStr="cljs.core/NodeSeq";cljs.core.NodeSeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/NodeSeq")};cljs.core.__GT_NodeSeq=function(a,b,c,d,e){return new cljs.core.NodeSeq(a,b,c,d,e)};cljs.core.NodeSeq.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};
cljs.core.create_inode_seq=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 3:return cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(a,0,null)};
cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(null==c)for(c=a.length;;)if(b<c){if(null!=a[b])return new cljs.core.NodeSeq(null,a,b,null,null);var d=a[b+1];if(cljs.core.truth_(d)&&(d=d.inode_seq(),cljs.core.truth_(d)))return new cljs.core.NodeSeq(null,a,b+2,d,null);b+=2}else return null;else return new cljs.core.NodeSeq(null,a,b,c,null)};cljs.core.create_inode_seq.cljs$lang$maxFixedArity=3;
cljs.core.ArrayNodeSeq=function(a,b,c,d,e){this.meta=a;this.nodes=b;this.i=c;this.s=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=32374860;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.ArrayNodeSeq.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.ArrayNodeSeq.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.ArrayNodeSeq.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.ArrayNodeSeq.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.ArrayNodeSeq.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.ArrayNodeSeq.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};cljs.core.ArrayNodeSeq.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};
cljs.core.ArrayNodeSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.List.EMPTY,this.meta)};cljs.core.ArrayNodeSeq.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this)};cljs.core.ArrayNodeSeq.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this)};
cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){return cljs.core.first(this.s)};cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){a=this.nodes;var b=this.i,c=cljs.core.next(this.s);a=cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$4?cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$4(null,a,b,c):cljs.core.create_array_node_seq.call(null,null,a,b,c);return null!=a?a:cljs.core.List.EMPTY};
cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};cljs.core.ArrayNodeSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.ArrayNodeSeq(b,this.nodes,this.i,this.s,this.__hash)};cljs.core.ArrayNodeSeq.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.ArrayNodeSeq.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"nodes","nodes",-459054278,null),new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.Symbol(null,"s","s",-948495851,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable",
"mutable",875778266),!0],null))],null)};cljs.core.ArrayNodeSeq.cljs$lang$type=!0;cljs.core.ArrayNodeSeq.cljs$lang$ctorStr="cljs.core/ArrayNodeSeq";cljs.core.ArrayNodeSeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ArrayNodeSeq")};cljs.core.__GT_ArrayNodeSeq=function(a,b,c,d,e){return new cljs.core.ArrayNodeSeq(a,b,c,d,e)};cljs.core.ArrayNodeSeq.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};
cljs.core.create_array_node_seq=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 4:return cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$4(null,a,0,null)};cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){if(null==d)for(d=b.length;;)if(c<d){var e=b[c];if(cljs.core.truth_(e)&&(e=e.inode_seq(),cljs.core.truth_(e)))return new cljs.core.ArrayNodeSeq(a,b,c+1,e,null);c+=1}else return null;else return new cljs.core.ArrayNodeSeq(a,b,c,d,null)};
cljs.core.create_array_node_seq.cljs$lang$maxFixedArity=4;cljs.core.HashMapIter=function(a,b,c){this.nil_val=a;this.root_iter=b;this.seen=c};cljs.core.HashMapIter.prototype.hasNext=function(){return!this.seen||this.root_iter.hasNext()};cljs.core.HashMapIter.prototype.next=function(){if(this.seen)return this.root_iter.next();this.seen=!0;return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,this.nil_val],null)};cljs.core.HashMapIter.prototype.remove=function(){return Error("Unsupported operation")};
cljs.core.HashMapIter.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"nil-val","nil-val",-513933559,null),new cljs.core.Symbol(null,"root-iter","root-iter",1974672108,null),cljs.core.with_meta(new cljs.core.Symbol(null,"seen","seen",1121531738,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.HashMapIter.cljs$lang$type=!0;
cljs.core.HashMapIter.cljs$lang$ctorStr="cljs.core/HashMapIter";cljs.core.HashMapIter.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/HashMapIter")};cljs.core.__GT_HashMapIter=function(a,b,c){return new cljs.core.HashMapIter(a,b,c)};cljs.core.PersistentHashMap=function(a,b,c,d,e,f){this.meta=a;this.cnt=b;this.root=c;this.has_nil_QMARK_=d;this.nil_val=e;this.__hash=f;this.cljs$lang$protocol_mask$partition0$=16123663;this.cljs$lang$protocol_mask$partition1$=8196};
cljs.core.PersistentHashMap.prototype.cljs$core$IFind$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentHashMap.prototype.cljs$core$IFind$_find$arity$2=function(a,b){return this.has_nil_QMARK_?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,this.nil_val],null):this.root.inode_find(0,cljs.core.hash(b),b,null)};cljs.core.PersistentHashMap.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};
cljs.core.PersistentHashMap.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};cljs.core.PersistentHashMap.prototype.keys=function(){return cljs.core.es6_iterator(cljs.core.keys.cljs$core$IFn$_invoke$arity$1?cljs.core.keys.cljs$core$IFn$_invoke$arity$1(this):cljs.core.keys.call(null,this))};cljs.core.PersistentHashMap.prototype.entries=function(){return cljs.core.es6_entries_iterator(cljs.core.seq(this))};
cljs.core.PersistentHashMap.prototype.values=function(){return cljs.core.es6_iterator(cljs.core.vals.cljs$core$IFn$_invoke$arity$1?cljs.core.vals.cljs$core$IFn$_invoke$arity$1(this):cljs.core.vals.call(null,this))};cljs.core.PersistentHashMap.prototype.has=function(a){return cljs.core.contains_QMARK_(this,a)};cljs.core.PersistentHashMap.prototype.get=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,a,b)};
cljs.core.PersistentHashMap.prototype.forEach=function(a){for(var b,c,d=cljs.core.seq(this),e=null,f=0,g=0;;)if(g<f)b=e.cljs$core$IIndexed$_nth$arity$2(null,g),c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,0,null),b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,1,null),a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c),g+=1;else if(c=cljs.core.seq(d))d=c,cljs.core.chunked_seq_QMARK_(d)?(e=cljs.core.chunk_first(d),d=cljs.core.chunk_rest(d),c=e,b=cljs.core.count(e),
e=c,f=b):(e=cljs.core.first(d),c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,0,null),b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,1,null),a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c),d=cljs.core.next(d),e=null,f=0),g=0;else return null};cljs.core.PersistentHashMap.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.core.PersistentHashMap.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){return null==b?this.has_nil_QMARK_?this.nil_val:c:null==this.root?c:this.root.inode_lookup(0,cljs.core.hash(b),b,c)};
cljs.core.PersistentHashMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){a=this.has_nil_QMARK_?b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(c,null,this.nil_val):b.call(null,c,null,this.nil_val):c;return cljs.core.reduced_QMARK_(a)?cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(a):cljs.core.deref.call(null,a):null!=this.root?this.root.kv_reduce(b,a):a};cljs.core.PersistentHashMap.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentHashMap.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){a=this.root?cljs.core._iterator(this.root):cljs.core.nil_iter();return this.has_nil_QMARK_?new cljs.core.HashMapIter(this.nil_val,a,!1):a};cljs.core.PersistentHashMap.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};
cljs.core.PersistentHashMap.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.PersistentHashMap(this.meta,this.cnt,this.root,this.has_nil_QMARK_,this.nil_val,this.__hash)};cljs.core.PersistentHashMap.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.cnt};cljs.core.PersistentHashMap.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_unordered_coll(this)};
cljs.core.PersistentHashMap.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_map(this,b)};cljs.core.PersistentHashMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1=function(a){return new cljs.core.TransientHashMap({},this.root,this.cnt,this.has_nil_QMARK_,this.nil_val)};cljs.core.PersistentHashMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.PersistentHashMap.EMPTY,this.meta)};
cljs.core.PersistentHashMap.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){if(null==b)return this.has_nil_QMARK_?new cljs.core.PersistentHashMap(this.meta,this.cnt-1,this.root,!1,null,null):this;if(null==this.root)return this;var c=this.root.inode_without(0,cljs.core.hash(b),b);return c===this.root?this:new cljs.core.PersistentHashMap(this.meta,this.cnt-1,c,this.has_nil_QMARK_,this.nil_val,null)};
cljs.core.PersistentHashMap.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){if(null==b)return this.has_nil_QMARK_&&c===this.nil_val?this:new cljs.core.PersistentHashMap(this.meta,this.has_nil_QMARK_?this.cnt:this.cnt+1,this.root,!0,c,null);a=new cljs.core.Box(!1);b=(null==this.root?cljs.core.BitmapIndexedNode.EMPTY:this.root).inode_assoc(0,cljs.core.hash(b),b,c,a);return b===this.root?this:new cljs.core.PersistentHashMap(this.meta,a.val?this.cnt+1:this.cnt,b,this.has_nil_QMARK_,this.nil_val,
null)};cljs.core.PersistentHashMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2=function(a,b){return null==b?this.has_nil_QMARK_:null==this.root?!1:this.root.inode_lookup(0,cljs.core.hash(b),b,cljs.core.lookup_sentinel)!==cljs.core.lookup_sentinel};
cljs.core.PersistentHashMap.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return 0<this.cnt?(a=null!=this.root?this.root.inode_seq():null,this.has_nil_QMARK_?cljs.core.cons(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,this.nil_val],null),a):a):null};cljs.core.PersistentHashMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.PersistentHashMap(b,this.cnt,this.root,this.has_nil_QMARK_,this.nil_val,this.__hash)};
cljs.core.PersistentHashMap.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){if(cljs.core.vector_QMARK_(b))return this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,0),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,1));for(var c=this,d=cljs.core.seq(b);;){if(null==d)return c;var e=cljs.core.first(d);if(cljs.core.vector_QMARK_(e))c=c.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(e,0),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(e,
1)),d=cljs.core.next(d);else throw Error("conj on a map takes map entries or seqables of map entries");}};
cljs.core.PersistentHashMap.prototype.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$ILookup$_lookup$arity$2(null,c);case 3:return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$ILookup$_lookup$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)};return a}();
cljs.core.PersistentHashMap.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.PersistentHashMap.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$ILookup$_lookup$arity$2(null,a)};cljs.core.PersistentHashMap.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,a,b)};
cljs.core.PersistentHashMap.getBasis=function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"cnt","cnt",1924510325,null),new cljs.core.Symbol(null,"root","root",1191874074,null),cljs.core.with_meta(new cljs.core.Symbol(null,"has-nil?","has-nil?",825886722,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,
"boolean","boolean",-278886877,null)],null)),new cljs.core.Symbol(null,"nil-val","nil-val",-513933559,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.PersistentHashMap.cljs$lang$type=!0;cljs.core.PersistentHashMap.cljs$lang$ctorStr="cljs.core/PersistentHashMap";
cljs.core.PersistentHashMap.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentHashMap")};cljs.core.__GT_PersistentHashMap=function(a,b,c,d,e,f){return new cljs.core.PersistentHashMap(a,b,c,d,e,f)};cljs.core.PersistentHashMap.EMPTY=new cljs.core.PersistentHashMap(null,0,null,!1,null,cljs.core.empty_unordered_hash);
cljs.core.PersistentHashMap.fromArray=function(a,b){for(var c=b?a:cljs.core.aclone(a),d=c.length,e=0,f=cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);;)if(e<d)var g=e+2,f=cljs.core._assoc_BANG_(f,c[e],c[e+1]),e=g;else return cljs.core._persistent_BANG_(f)};cljs.core.PersistentHashMap.fromArrays=function(a,b){for(var c=a.length,d=0,e=cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);;)if(d<c)var f=d+1,e=e.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(null,a[d],b[d]),d=f;else return cljs.core.persistent_BANG_(e)};
cljs.core.PersistentHashMap.createWithCheck=function(a){for(var b=a.length,c=cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY),d=0;;)if(d<b){cljs.core._assoc_BANG_(c,a[d],a[d+1]);if(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core._count(c),d/2+1))throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Duplicate key: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a[d])].join(""));d+=2}else break;return cljs.core._persistent_BANG_(c)};
cljs.core.PersistentHashMap.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};cljs.core.TransientHashMap=function(a,b,c,d,e){this.edit=a;this.root=b;this.count=c;this.has_nil_QMARK_=d;this.nil_val=e;this.cljs$lang$protocol_mask$partition0$=258;this.cljs$lang$protocol_mask$partition1$=56};
cljs.core.TransientHashMap.prototype.conj_BANG_=function(a){if(this.edit){if(null!=a?a.cljs$lang$protocol_mask$partition0$&2048||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IMapEntry$||(a.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_(cljs.core.IMapEntry,a)):cljs.core.native_satisfies_QMARK_(cljs.core.IMapEntry,a))return this.assoc_BANG_(cljs.core.key.cljs$core$IFn$_invoke$arity$1?cljs.core.key.cljs$core$IFn$_invoke$arity$1(a):cljs.core.key.call(null,a),cljs.core.val.cljs$core$IFn$_invoke$arity$1?
cljs.core.val.cljs$core$IFn$_invoke$arity$1(a):cljs.core.val.call(null,a));a=cljs.core.seq(a);for(var b=this;;){var c=cljs.core.first(a);if(cljs.core.truth_(c))a=cljs.core.next(a),b=b.assoc_BANG_(cljs.core.key.cljs$core$IFn$_invoke$arity$1?cljs.core.key.cljs$core$IFn$_invoke$arity$1(c):cljs.core.key.call(null,c),cljs.core.val.cljs$core$IFn$_invoke$arity$1?cljs.core.val.cljs$core$IFn$_invoke$arity$1(c):cljs.core.val.call(null,c));else return b}}else throw Error("conj! after persistent");};
cljs.core.TransientHashMap.prototype.assoc_BANG_=function(a,b){if(this.edit){if(null==a)this.nil_val!==b&&(this.nil_val=b),this.has_nil_QMARK_||(this.count+=1,this.has_nil_QMARK_=!0);else{var c=new cljs.core.Box(!1),d=(null==this.root?cljs.core.BitmapIndexedNode.EMPTY:this.root).inode_assoc_BANG_(this.edit,0,cljs.core.hash(a),a,b,c);d!==this.root&&(this.root=d);c.val&&(this.count+=1)}return this}throw Error("assoc! after persistent!");};
cljs.core.TransientHashMap.prototype.without_BANG_=function(a){if(this.edit){if(null==a)this.has_nil_QMARK_&&(this.has_nil_QMARK_=!1,this.nil_val=null,--this.count);else if(null!=this.root){var b=new cljs.core.Box(!1);a=this.root.inode_without_BANG_(this.edit,0,cljs.core.hash(a),a,b);a!==this.root&&(this.root=a);b.val&&--this.count}return this}throw Error("dissoc! after persistent!");};
cljs.core.TransientHashMap.prototype.persistent_BANG_=function(){if(this.edit)return this.edit=null,new cljs.core.PersistentHashMap(null,this.count,this.root,this.has_nil_QMARK_,this.nil_val,null);throw Error("persistent! called twice");};cljs.core.TransientHashMap.prototype.cljs$core$ICounted$_count$arity$1=function(a){if(this.edit)return this.count;throw Error("count after persistent!");};
cljs.core.TransientHashMap.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return null==b?this.has_nil_QMARK_?this.nil_val:null:null==this.root?null:this.root.inode_lookup(0,cljs.core.hash(b),b)};cljs.core.TransientHashMap.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){return null==b?this.has_nil_QMARK_?this.nil_val:c:null==this.root?c:this.root.inode_lookup(0,cljs.core.hash(b),b,c)};
cljs.core.TransientHashMap.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2=function(a,b){return this.conj_BANG_(b)};cljs.core.TransientHashMap.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1=function(a){return this.persistent_BANG_()};cljs.core.TransientHashMap.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3=function(a,b,c){return this.assoc_BANG_(b,c)};cljs.core.TransientHashMap.prototype.cljs$core$ITransientMap$_dissoc_BANG_$arity$2=function(a,b){return this.without_BANG_(b)};
cljs.core.TransientHashMap.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"edit","edit",-1302639,null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"boolean","boolean",-278886877,null),new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"root","root",1191874074,
null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"count","count",-514511684,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"has-nil?","has-nil?",825886722,null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,
"boolean","boolean",-278886877,null),new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"nil-val","nil-val",-513933559,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.TransientHashMap.cljs$lang$type=!0;cljs.core.TransientHashMap.cljs$lang$ctorStr="cljs.core/TransientHashMap";
cljs.core.TransientHashMap.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/TransientHashMap")};cljs.core.__GT_TransientHashMap=function(a,b,c,d,e){return new cljs.core.TransientHashMap(a,b,c,d,e)};cljs.core.tree_map_seq_push=function(a,b,c){for(var d=b;;)if(null!=a)b=c?a.left:a.right,d=cljs.core.conj.cljs$core$IFn$_invoke$arity$2(d,a),a=b;else return d};
cljs.core.PersistentTreeMapSeq=function(a,b,c,d,e){this.meta=a;this.stack=b;this.ascending_QMARK_=c;this.cnt=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=32374862;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.PersistentTreeMapSeq.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.PersistentTreeMapSeq.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.PersistentTreeMapSeq.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.PersistentTreeMapSeq.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 0>this.cnt?cljs.core.count(cljs.core.next(this))+1:this.cnt};cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.List.EMPTY,this.meta)};cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this)};
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this)};cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){return cljs.core.peek(this.stack)};
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){a=cljs.core.first(this.stack);a=cljs.core.tree_map_seq_push(this.ascending_QMARK_?a.right:a.left,cljs.core.next(this.stack),this.ascending_QMARK_);return null!=a?new cljs.core.PersistentTreeMapSeq(null,a,this.ascending_QMARK_,this.cnt-1,null):cljs.core.List.EMPTY};cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.PersistentTreeMapSeq(b,this.stack,this.ascending_QMARK_,this.cnt,this.__hash)};cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.PersistentTreeMapSeq.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"stack","stack",847125597,null),cljs.core.with_meta(new cljs.core.Symbol(null,"ascending?","ascending?",-1938452653,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"boolean","boolean",-278886877,null)],null)),
new cljs.core.Symbol(null,"cnt","cnt",1924510325,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.PersistentTreeMapSeq.cljs$lang$type=!0;cljs.core.PersistentTreeMapSeq.cljs$lang$ctorStr="cljs.core/PersistentTreeMapSeq";cljs.core.PersistentTreeMapSeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentTreeMapSeq")};
cljs.core.__GT_PersistentTreeMapSeq=function(a,b,c,d,e){return new cljs.core.PersistentTreeMapSeq(a,b,c,d,e)};cljs.core.PersistentTreeMapSeq.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};cljs.core.create_tree_map_seq=function(a,b,c){return new cljs.core.PersistentTreeMapSeq(null,cljs.core.tree_map_seq_push(a,null,b),b,c,null)};
cljs.core.balance_left=function(a,b,c,d){return c instanceof cljs.core.RedNode?c.left instanceof cljs.core.RedNode?new cljs.core.RedNode(c.key,c.val,c.left.blacken(),new cljs.core.BlackNode(a,b,c.right,d,null),null):c.right instanceof cljs.core.RedNode?new cljs.core.RedNode(c.right.key,c.right.val,new cljs.core.BlackNode(c.key,c.val,c.left,c.right.left,null),new cljs.core.BlackNode(a,b,c.right.right,d,null),null):new cljs.core.BlackNode(a,b,c,d,null):new cljs.core.BlackNode(a,b,c,d,null)};
cljs.core.balance_right=function(a,b,c,d){return d instanceof cljs.core.RedNode?d.right instanceof cljs.core.RedNode?new cljs.core.RedNode(d.key,d.val,new cljs.core.BlackNode(a,b,c,d.left,null),d.right.blacken(),null):d.left instanceof cljs.core.RedNode?new cljs.core.RedNode(d.left.key,d.left.val,new cljs.core.BlackNode(a,b,c,d.left.left,null),new cljs.core.BlackNode(d.key,d.val,d.left.right,d.right,null),null):new cljs.core.BlackNode(a,b,c,d,null):new cljs.core.BlackNode(a,b,c,d,null)};
cljs.core.balance_left_del=function(a,b,c,d){if(c instanceof cljs.core.RedNode)return new cljs.core.RedNode(a,b,c.blacken(),d,null);if(d instanceof cljs.core.BlackNode)return cljs.core.balance_right(a,b,c,d.redden());if(d instanceof cljs.core.RedNode&&d.left instanceof cljs.core.BlackNode)return new cljs.core.RedNode(d.left.key,d.left.val,new cljs.core.BlackNode(a,b,c,d.left.left,null),cljs.core.balance_right(d.key,d.val,d.left.right,d.right.redden()),null);throw Error("red-black tree invariant violation");
};
cljs.core.balance_right_del=function(a,b,c,d){if(d instanceof cljs.core.RedNode)return new cljs.core.RedNode(a,b,c,d.blacken(),null);if(c instanceof cljs.core.BlackNode)return cljs.core.balance_left(a,b,c.redden(),d);if(c instanceof cljs.core.RedNode&&c.right instanceof cljs.core.BlackNode)return new cljs.core.RedNode(c.right.key,c.right.val,cljs.core.balance_left(c.key,c.val,c.left.redden(),c.right.left),new cljs.core.BlackNode(a,b,c.right.right,d,null),null);throw Error("red-black tree invariant violation");};
cljs.core.tree_map_kv_reduce=function(a,b,c){var d=null!=a.left?function(){var d=a.left;return cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3?cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3(d,b,c):cljs.core.tree_map_kv_reduce.call(null,d,b,c)}():c;if(cljs.core.reduced_QMARK_(d))return cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(d):cljs.core.deref.call(null,d);var e=function(){var c=a.key,e=a.val;return b.cljs$core$IFn$_invoke$arity$3?
b.cljs$core$IFn$_invoke$arity$3(d,c,e):b.call(null,d,c,e)}();if(cljs.core.reduced_QMARK_(e))return cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(e):cljs.core.deref.call(null,e);var f=null!=a.right?function(){var c=a.right;return cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3?cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3(c,b,e):cljs.core.tree_map_kv_reduce.call(null,c,b,e)}():e;return cljs.core.reduced_QMARK_(f)?cljs.core.deref.cljs$core$IFn$_invoke$arity$1?
cljs.core.deref.cljs$core$IFn$_invoke$arity$1(f):cljs.core.deref.call(null,f):f};cljs.core.BlackNode=function(a,b,c,d,e){this.key=a;this.val=b;this.left=c;this.right=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=32402207;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.BlackNode.prototype.cljs$core$IFind$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.BlackNode.prototype.cljs$core$IFind$_find$arity$2=function(a,b){return 0===b?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,this.key],null):1===b?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,this.val],null):null};
cljs.core.BlackNode.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.BlackNode.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();cljs.core.BlackNode.prototype.add_right=function(a){return a.balance_right(this)};
cljs.core.BlackNode.prototype.redden=function(){return new cljs.core.RedNode(this.key,this.val,this.left,this.right,null)};cljs.core.BlackNode.prototype.blacken=function(){return this};cljs.core.BlackNode.prototype.add_left=function(a){return a.balance_left(this)};cljs.core.BlackNode.prototype.replace=function(a,b,c,d){return new cljs.core.BlackNode(a,b,c,d,null)};cljs.core.BlackNode.prototype.balance_left=function(a){return new cljs.core.BlackNode(a.key,a.val,this,a.right,null)};
cljs.core.BlackNode.prototype.balance_right=function(a){return new cljs.core.BlackNode(a.key,a.val,a.left,this,null)};cljs.core.BlackNode.prototype.remove_left=function(a){return cljs.core.balance_left_del(this.key,this.val,a,this.right)};cljs.core.BlackNode.prototype.kv_reduce=function(a,b){return cljs.core.tree_map_kv_reduce(this,a,b)};cljs.core.BlackNode.prototype.remove_right=function(a){return cljs.core.balance_right_del(this.key,this.val,this.left,a)};
cljs.core.BlackNode.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$IIndexed$_nth$arity$3(null,b,null)};cljs.core.BlackNode.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){return this.cljs$core$IIndexed$_nth$arity$3(null,b,c)};cljs.core.BlackNode.prototype.cljs$core$IIndexed$_nth$arity$2=function(a,b){if(0===b)return this.key;if(1===b)return this.val;throw Error("Index out of bounds");};
cljs.core.BlackNode.prototype.cljs$core$IIndexed$_nth$arity$3=function(a,b,c){return 0===b?this.key:1===b?this.val:c};cljs.core.BlackNode.prototype.cljs$core$IVector$_assoc_n$arity$3=function(a,b,c){return(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val],null)).cljs$core$IVector$_assoc_n$arity$3(null,b,c)};cljs.core.BlackNode.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return null};
cljs.core.BlackNode.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 2};cljs.core.BlackNode.prototype.cljs$core$IMapEntry$_key$arity$1=function(a){return this.key};cljs.core.BlackNode.prototype.cljs$core$IMapEntry$_val$arity$1=function(a){return this.val};cljs.core.BlackNode.prototype.cljs$core$IStack$_peek$arity$1=function(a){return this.val};
cljs.core.BlackNode.prototype.cljs$core$IStack$_pop$arity$1=function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key],null)};cljs.core.BlackNode.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};cljs.core.BlackNode.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};
cljs.core.BlackNode.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core.PersistentVector.EMPTY};cljs.core.BlackNode.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(this,b)};cljs.core.BlackNode.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(this,b,c)};
cljs.core.BlackNode.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val],null),b,c)};cljs.core.BlackNode.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2=function(a,b){return 0===b||1===b};
cljs.core.BlackNode.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){a=this.key;return cljs.core._conj(cljs.core._conj(cljs.core.List.EMPTY,this.val),a)};cljs.core.BlackNode.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return cljs.core._with_meta(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val],null),b)};
cljs.core.BlackNode.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val,b],null)};
cljs.core.BlackNode.prototype.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$IIndexed$_nth$arity$2(null,c);case 3:return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$IIndexed$_nth$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)};return a}();
cljs.core.BlackNode.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.BlackNode.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$IIndexed$_nth$arity$2(null,a)};cljs.core.BlackNode.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$IIndexed$_nth$arity$3(null,a,b)};
cljs.core.BlackNode.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"key","key",124488940,null),new cljs.core.Symbol(null,"val","val",1769233139,null),new cljs.core.Symbol(null,"left","left",1241415590,null),new cljs.core.Symbol(null,"right","right",1187949694,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"mutable","mutable",875778266),!0],null))],null)};cljs.core.BlackNode.cljs$lang$type=!0;cljs.core.BlackNode.cljs$lang$ctorStr="cljs.core/BlackNode";cljs.core.BlackNode.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/BlackNode")};cljs.core.__GT_BlackNode=function(a,b,c,d,e){return new cljs.core.BlackNode(a,b,c,d,e)};cljs.core.BlackNode.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};
cljs.core.RedNode=function(a,b,c,d,e){this.key=a;this.val=b;this.left=c;this.right=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=32402207;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.RedNode.prototype.cljs$core$IFind$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.RedNode.prototype.cljs$core$IFind$_find$arity$2=function(a,b){return 0===b?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,this.key],null):1===b?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,this.val],null):null};
cljs.core.RedNode.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.RedNode.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.RedNode.prototype.add_right=function(a){return new cljs.core.RedNode(this.key,this.val,this.left,a,null)};cljs.core.RedNode.prototype.redden=function(){throw Error("red-black tree invariant violation");};cljs.core.RedNode.prototype.blacken=function(){return new cljs.core.BlackNode(this.key,this.val,this.left,this.right,null)};cljs.core.RedNode.prototype.add_left=function(a){return new cljs.core.RedNode(this.key,this.val,a,this.right,null)};
cljs.core.RedNode.prototype.replace=function(a,b,c,d){return new cljs.core.RedNode(a,b,c,d,null)};
cljs.core.RedNode.prototype.balance_left=function(a){return this.left instanceof cljs.core.RedNode?new cljs.core.RedNode(this.key,this.val,this.left.blacken(),new cljs.core.BlackNode(a.key,a.val,this.right,a.right,null),null):this.right instanceof cljs.core.RedNode?new cljs.core.RedNode(this.right.key,this.right.val,new cljs.core.BlackNode(this.key,this.val,this.left,this.right.left,null),new cljs.core.BlackNode(a.key,a.val,this.right.right,a.right,null),null):new cljs.core.BlackNode(a.key,a.val,
this,a.right,null)};
cljs.core.RedNode.prototype.balance_right=function(a){return this.right instanceof cljs.core.RedNode?new cljs.core.RedNode(this.key,this.val,new cljs.core.BlackNode(a.key,a.val,a.left,this.left,null),this.right.blacken(),null):this.left instanceof cljs.core.RedNode?new cljs.core.RedNode(this.left.key,this.left.val,new cljs.core.BlackNode(a.key,a.val,a.left,this.left.left,null),new cljs.core.BlackNode(this.key,this.val,this.left.right,this.right,null),null):new cljs.core.BlackNode(a.key,a.val,a.left,
this,null)};cljs.core.RedNode.prototype.remove_left=function(a){return new cljs.core.RedNode(this.key,this.val,a,this.right,null)};cljs.core.RedNode.prototype.kv_reduce=function(a,b){return cljs.core.tree_map_kv_reduce(this,a,b)};cljs.core.RedNode.prototype.remove_right=function(a){return new cljs.core.RedNode(this.key,this.val,this.left,a,null)};cljs.core.RedNode.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$IIndexed$_nth$arity$3(null,b,null)};
cljs.core.RedNode.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){return this.cljs$core$IIndexed$_nth$arity$3(null,b,c)};cljs.core.RedNode.prototype.cljs$core$IIndexed$_nth$arity$2=function(a,b){if(0===b)return this.key;if(1===b)return this.val;throw Error("Index out of bounds");};cljs.core.RedNode.prototype.cljs$core$IIndexed$_nth$arity$3=function(a,b,c){return 0===b?this.key:1===b?this.val:c};
cljs.core.RedNode.prototype.cljs$core$IVector$_assoc_n$arity$3=function(a,b,c){return(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val],null)).cljs$core$IVector$_assoc_n$arity$3(null,b,c)};cljs.core.RedNode.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return null};cljs.core.RedNode.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 2};cljs.core.RedNode.prototype.cljs$core$IMapEntry$_key$arity$1=function(a){return this.key};
cljs.core.RedNode.prototype.cljs$core$IMapEntry$_val$arity$1=function(a){return this.val};cljs.core.RedNode.prototype.cljs$core$IStack$_peek$arity$1=function(a){return this.val};cljs.core.RedNode.prototype.cljs$core$IStack$_pop$arity$1=function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key],null)};cljs.core.RedNode.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};
cljs.core.RedNode.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.RedNode.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core.PersistentVector.EMPTY};cljs.core.RedNode.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(this,b)};
cljs.core.RedNode.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(this,b,c)};cljs.core.RedNode.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val],null),b,c)};
cljs.core.RedNode.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2=function(a,b){return 0===b||1===b};cljs.core.RedNode.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){a=this.key;return cljs.core._conj(cljs.core._conj(cljs.core.List.EMPTY,this.val),a)};cljs.core.RedNode.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return cljs.core._with_meta(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val],null),b)};
cljs.core.RedNode.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[this.key,this.val,b],null)};
cljs.core.RedNode.prototype.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$IIndexed$_nth$arity$2(null,c);case 3:return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$IIndexed$_nth$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$IIndexed$_nth$arity$3(null,c,d)};return a}();
cljs.core.RedNode.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.RedNode.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$IIndexed$_nth$arity$2(null,a)};cljs.core.RedNode.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$IIndexed$_nth$arity$3(null,a,b)};
cljs.core.RedNode.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"key","key",124488940,null),new cljs.core.Symbol(null,"val","val",1769233139,null),new cljs.core.Symbol(null,"left","left",1241415590,null),new cljs.core.Symbol(null,"right","right",1187949694,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable",
"mutable",875778266),!0],null))],null)};cljs.core.RedNode.cljs$lang$type=!0;cljs.core.RedNode.cljs$lang$ctorStr="cljs.core/RedNode";cljs.core.RedNode.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/RedNode")};cljs.core.__GT_RedNode=function(a,b,c,d,e){return new cljs.core.RedNode(a,b,c,d,e)};cljs.core.RedNode.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};
cljs.core.tree_map_add=function(a,b,c,d,e){if(null==b)return new cljs.core.RedNode(c,d,null,null,null);var f=function(){var d=b.key;return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,d):a.call(null,c,d)}();if(0===f)return e[0]=b,null;if(0>f)return f=function(){var f=b.left;return cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5?cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5(a,f,c,d,e):cljs.core.tree_map_add.call(null,a,f,c,d,e)}(),null!=f?b.add_left(f):null;f=function(){var f=
b.right;return cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5?cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5(a,f,c,d,e):cljs.core.tree_map_add.call(null,a,f,c,d,e)}();return null!=f?b.add_right(f):null};
cljs.core.tree_map_append=function(a,b){if(null==a)return b;if(null==b)return a;if(a instanceof cljs.core.RedNode){if(b instanceof cljs.core.RedNode){var c=function(){var c=a.right,e=b.left;return cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2?cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(c,e):cljs.core.tree_map_append.call(null,c,e)}();return c instanceof cljs.core.RedNode?new cljs.core.RedNode(c.key,c.val,new cljs.core.RedNode(a.key,a.val,a.left,c.left,null),new cljs.core.RedNode(b.key,
b.val,c.right,b.right,null),null):new cljs.core.RedNode(a.key,a.val,a.left,new cljs.core.RedNode(b.key,b.val,c,b.right,null),null)}return new cljs.core.RedNode(a.key,a.val,a.left,function(){var c=a.right;return cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2?cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(c,b):cljs.core.tree_map_append.call(null,c,b)}(),null)}if(b instanceof cljs.core.RedNode)return new cljs.core.RedNode(b.key,b.val,function(){var c=b.left;return cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2?
cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(a,c):cljs.core.tree_map_append.call(null,a,c)}(),b.right,null);c=function(){var c=a.right,e=b.left;return cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2?cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(c,e):cljs.core.tree_map_append.call(null,c,e)}();return c instanceof cljs.core.RedNode?new cljs.core.RedNode(c.key,c.val,new cljs.core.BlackNode(a.key,a.val,a.left,c.left,null),new cljs.core.BlackNode(b.key,b.val,c.right,b.right,
null),null):cljs.core.balance_left_del(a.key,a.val,a.left,new cljs.core.BlackNode(b.key,b.val,c,b.right,null))};
cljs.core.tree_map_remove=function(a,b,c,d){if(null!=b){var e=function(){var d=b.key;return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,d):a.call(null,c,d)}();if(0===e)return d[0]=b,cljs.core.tree_map_append(b.left,b.right);if(0>e)return e=function(){var e=b.left;return cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4?cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4(a,e,c,d):cljs.core.tree_map_remove.call(null,a,e,c,d)}(),null!=e||null!=d[0]?b.left instanceof cljs.core.BlackNode?
cljs.core.balance_left_del(b.key,b.val,e,b.right):new cljs.core.RedNode(b.key,b.val,e,b.right,null):null;e=function(){var e=b.right;return cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4?cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4(a,e,c,d):cljs.core.tree_map_remove.call(null,a,e,c,d)}();return null!=e||null!=d[0]?b.right instanceof cljs.core.BlackNode?cljs.core.balance_right_del(b.key,b.val,b.left,e):new cljs.core.RedNode(b.key,b.val,b.left,e,null):null}return null};
cljs.core.tree_map_replace=function(a,b,c,d){var e=b.key,f=a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,e):a.call(null,c,e);return 0===f?b.replace(e,d,b.left,b.right):0>f?b.replace(e,b.val,function(){var e=b.left;return cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4?cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4(a,e,c,d):cljs.core.tree_map_replace.call(null,a,e,c,d)}(),b.right):b.replace(e,b.val,b.left,function(){var e=b.right;return cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4?
cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4(a,e,c,d):cljs.core.tree_map_replace.call(null,a,e,c,d)}())};cljs.core.PersistentTreeMap=function(a,b,c,d,e){this.comp=a;this.tree=b;this.cnt=c;this.meta=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=418776847;this.cljs$lang$protocol_mask$partition1$=8192};cljs.core.PersistentTreeMap.prototype.cljs$core$IFind$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentTreeMap.prototype.cljs$core$IFind$_find$arity$2=function(a,b){return this.entry_at(b)};
cljs.core.PersistentTreeMap.prototype.forEach=function(a){for(var b,c,d=cljs.core.seq(this),e=null,f=0,g=0;;)if(g<f)b=e.cljs$core$IIndexed$_nth$arity$2(null,g),c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,0,null),b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,1,null),a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c),g+=1;else if(c=cljs.core.seq(d))d=c,cljs.core.chunked_seq_QMARK_(d)?(e=cljs.core.chunk_first(d),d=cljs.core.chunk_rest(d),c=e,b=cljs.core.count(e),
e=c,f=b):(e=cljs.core.first(d),c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,0,null),b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,1,null),a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c),d=cljs.core.next(d),e=null,f=0),g=0;else return null};cljs.core.PersistentTreeMap.prototype.get=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,a,b)};cljs.core.PersistentTreeMap.prototype.entries=function(){return cljs.core.es6_entries_iterator(cljs.core.seq(this))};
cljs.core.PersistentTreeMap.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.PersistentTreeMap.prototype.keys=function(){return cljs.core.es6_iterator(cljs.core.keys.cljs$core$IFn$_invoke$arity$1?cljs.core.keys.cljs$core$IFn$_invoke$arity$1(this):cljs.core.keys.call(null,this))};
cljs.core.PersistentTreeMap.prototype.values=function(){return cljs.core.es6_iterator(cljs.core.vals.cljs$core$IFn$_invoke$arity$1?cljs.core.vals.cljs$core$IFn$_invoke$arity$1(this):cljs.core.vals.call(null,this))};cljs.core.PersistentTreeMap.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.PersistentTreeMap.prototype.entry_at=function(a){for(var b=this.tree;;)if(null!=b){var c=a;var d=b.key;c=this.comp.cljs$core$IFn$_invoke$arity$2?this.comp.cljs$core$IFn$_invoke$arity$2(c,d):this.comp.call(null,c,d);if(0===c)return b;b=0>c?b.left:b.right}else return null};cljs.core.PersistentTreeMap.prototype.has=function(a){return cljs.core.contains_QMARK_(this,a)};
cljs.core.PersistentTreeMap.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};cljs.core.PersistentTreeMap.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){a=this.entry_at(b);return null!=a?a.val:c};cljs.core.PersistentTreeMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3=function(a,b,c){return null!=this.tree?cljs.core.tree_map_kv_reduce(this.tree,b,c):c};
cljs.core.PersistentTreeMap.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.PersistentTreeMap.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.PersistentTreeMap(this.comp,this.tree,this.cnt,this.meta,this.__hash)};cljs.core.PersistentTreeMap.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.cnt};
cljs.core.PersistentTreeMap.prototype.cljs$core$IReversible$_rseq$arity$1=function(a){return 0<this.cnt?cljs.core.create_tree_map_seq(this.tree,!1,this.cnt):null};cljs.core.PersistentTreeMap.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_unordered_coll(this)};cljs.core.PersistentTreeMap.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_map(this,b)};
cljs.core.PersistentTreeMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return new cljs.core.PersistentTreeMap(this.comp,null,0,this.meta,0)};
cljs.core.PersistentTreeMap.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){var c=[null],d=cljs.core.tree_map_remove(this.comp,this.tree,b,c);return null==d?null==cljs.core.nth.cljs$core$IFn$_invoke$arity$2(c,0)?this:new cljs.core.PersistentTreeMap(this.comp,null,0,this.meta,null):new cljs.core.PersistentTreeMap(this.comp,d.blacken(),this.cnt-1,this.meta,null)};
cljs.core.PersistentTreeMap.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=[null];var d=cljs.core.tree_map_add(this.comp,this.tree,b,c,a);return null==d?(a=cljs.core.nth.cljs$core$IFn$_invoke$arity$2(a,0),cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(c,a.val)?this:new cljs.core.PersistentTreeMap(this.comp,cljs.core.tree_map_replace(this.comp,this.tree,b,c),this.cnt,this.meta,null)):new cljs.core.PersistentTreeMap(this.comp,d.blacken(),this.cnt+1,this.meta,null)};
cljs.core.PersistentTreeMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2=function(a,b){return null!=this.entry_at(b)};cljs.core.PersistentTreeMap.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return 0<this.cnt?cljs.core.create_tree_map_seq(this.tree,!0,this.cnt):null};cljs.core.PersistentTreeMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.PersistentTreeMap(this.comp,this.tree,this.cnt,b,this.__hash)};
cljs.core.PersistentTreeMap.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){if(cljs.core.vector_QMARK_(b))return this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,0),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,1));for(var c=this,d=cljs.core.seq(b);;){if(null==d)return c;var e=cljs.core.first(d);if(cljs.core.vector_QMARK_(e))c=c.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(e,0),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(e,
1)),d=cljs.core.next(d);else throw Error("conj on a map takes map entries or seqables of map entries");}};
cljs.core.PersistentTreeMap.prototype.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$ILookup$_lookup$arity$2(null,c);case 3:return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$ILookup$_lookup$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)};return a}();
cljs.core.PersistentTreeMap.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.PersistentTreeMap.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$ILookup$_lookup$arity$2(null,a)};cljs.core.PersistentTreeMap.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,a,b)};
cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_sorted_seq$arity$2=function(a,b){return 0<this.cnt?cljs.core.create_tree_map_seq(this.tree,b,this.cnt):null};
cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_sorted_seq_from$arity$3=function(a,b,c){if(0<this.cnt){a=null;for(var d=this.tree;;)if(null!=d){var e=b;var f=d.key;e=this.comp.cljs$core$IFn$_invoke$arity$2?this.comp.cljs$core$IFn$_invoke$arity$2(e,f):this.comp.call(null,e,f);if(0===e)return new cljs.core.PersistentTreeMapSeq(null,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,d),c,-1,null);cljs.core.truth_(c)?0>e?(a=cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,d),d=d.left):d=d.right:0<
e?(a=cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,d),d=d.right):d=d.left}else return null==a?null:new cljs.core.PersistentTreeMapSeq(null,a,c,-1,null)}else return null};cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_entry_key$arity$2=function(a,b){return cljs.core.key.cljs$core$IFn$_invoke$arity$1?cljs.core.key.cljs$core$IFn$_invoke$arity$1(b):cljs.core.key.call(null,b)};cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_comparator$arity$1=function(a){return this.comp};
cljs.core.PersistentTreeMap.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"comp","comp",-1462482139,null),new cljs.core.Symbol(null,"tree","tree",1444219499,null),new cljs.core.Symbol(null,"cnt","cnt",1924510325,null),new cljs.core.Symbol(null,"meta","meta",-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"mutable","mutable",875778266),!0],null))],null)};cljs.core.PersistentTreeMap.cljs$lang$type=!0;cljs.core.PersistentTreeMap.cljs$lang$ctorStr="cljs.core/PersistentTreeMap";cljs.core.PersistentTreeMap.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentTreeMap")};cljs.core.__GT_PersistentTreeMap=function(a,b,c,d,e){return new cljs.core.PersistentTreeMap(a,b,c,d,e)};cljs.core.PersistentTreeMap.EMPTY=new cljs.core.PersistentTreeMap(cljs.core.compare,null,0,null,cljs.core.empty_unordered_hash);
cljs.core.PersistentTreeMap.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};cljs.core.hash_map=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.hash_map.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.core.hash_map.cljs$core$IFn$_invoke$arity$variadic=function(a){a=cljs.core.seq(a);for(var b=cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);;)if(a){var c=cljs.core.nnext(a),b=cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(b,cljs.core.first(a),cljs.core.second(a));a=c}else return cljs.core.persistent_BANG_(b)};cljs.core.hash_map.cljs$lang$maxFixedArity=0;cljs.core.hash_map.cljs$lang$applyTo=function(a){return cljs.core.hash_map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};
cljs.core.array_map=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.array_map.cljs$core$IFn$_invoke$arity$variadic(b)};cljs.core.array_map.cljs$core$IFn$_invoke$arity$variadic=function(a){a=a instanceof cljs.core.IndexedSeq&&0===a.i?a.arr:cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(a);return cljs.core.PersistentArrayMap.createAsIfByAssoc(a)};
cljs.core.array_map.cljs$lang$maxFixedArity=0;cljs.core.array_map.cljs$lang$applyTo=function(a){return cljs.core.array_map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};cljs.core.obj_map=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.obj_map.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.core.obj_map.cljs$core$IFn$_invoke$arity$variadic=function(a){var b=[],c={};for(a=cljs.core.seq(a);;)if(a)b.push(cljs.core.first(a)),c[cljs.core.first(a)]=cljs.core.second(a),a=cljs.core.nnext(a);else return cljs.core.ObjMap.fromObject(b,c)};cljs.core.obj_map.cljs$lang$maxFixedArity=0;cljs.core.obj_map.cljs$lang$applyTo=function(a){return cljs.core.obj_map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};
cljs.core.sorted_map=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.sorted_map.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.core.sorted_map.cljs$core$IFn$_invoke$arity$variadic=function(a){a=cljs.core.seq(a);for(var b=cljs.core.PersistentTreeMap.EMPTY;;)if(a){var c=cljs.core.nnext(a),b=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(b,cljs.core.first(a),cljs.core.second(a));a=c}else return b};cljs.core.sorted_map.cljs$lang$maxFixedArity=0;cljs.core.sorted_map.cljs$lang$applyTo=function(a){return cljs.core.sorted_map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};
cljs.core.sorted_map_by=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return cljs.core.sorted_map_by.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
cljs.core.sorted_map_by.cljs$core$IFn$_invoke$arity$variadic=function(a,b){for(var c=cljs.core.seq(b),d=new cljs.core.PersistentTreeMap(cljs.core.fn__GT_comparator(a),null,0,null,0);;)if(c)var e=cljs.core.nnext(c),d=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(d,cljs.core.first(c),cljs.core.second(c)),c=e;else return d};cljs.core.sorted_map_by.cljs$lang$maxFixedArity=1;
cljs.core.sorted_map_by.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);return cljs.core.sorted_map_by.cljs$core$IFn$_invoke$arity$variadic(b,a)};cljs.core.KeySeq=function(a,b){this.mseq=a;this._meta=b;this.cljs$lang$protocol_mask$partition0$=32374988;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.KeySeq.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};
cljs.core.KeySeq.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.KeySeq.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.KeySeq.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.KeySeq.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this._meta};
cljs.core.KeySeq.prototype.cljs$core$INext$_next$arity$1=function(a){a=(null!=this.mseq?this.mseq.cljs$lang$protocol_mask$partition0$&128||cljs.core.PROTOCOL_SENTINEL===this.mseq.cljs$core$INext$||(this.mseq.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_(cljs.core.INext,this.mseq)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,this.mseq))?this.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(this.mseq);return null==a?null:new cljs.core.KeySeq(a,this._meta)};
cljs.core.KeySeq.prototype.cljs$core$IHash$_hash$arity$1=function(a){return cljs.core.hash_ordered_coll(this)};cljs.core.KeySeq.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.KeySeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.List.EMPTY,this._meta)};
cljs.core.KeySeq.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this)};cljs.core.KeySeq.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this)};cljs.core.KeySeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){return this.mseq.cljs$core$ISeq$_first$arity$1(null).cljs$core$IMapEntry$_key$arity$1(null)};
cljs.core.KeySeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){a=(null!=this.mseq?this.mseq.cljs$lang$protocol_mask$partition0$&128||cljs.core.PROTOCOL_SENTINEL===this.mseq.cljs$core$INext$||(this.mseq.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_(cljs.core.INext,this.mseq)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,this.mseq))?this.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(this.mseq);return null!=a?new cljs.core.KeySeq(a,this._meta):cljs.core.List.EMPTY};
cljs.core.KeySeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};cljs.core.KeySeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.KeySeq(this.mseq,b)};cljs.core.KeySeq.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.KeySeq.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"mseq","mseq",1602647196,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"not-native","not-native",-236392494,null)],null)),new cljs.core.Symbol(null,"_meta","_meta",-1716892533,null)],null)};cljs.core.KeySeq.cljs$lang$type=!0;
cljs.core.KeySeq.cljs$lang$ctorStr="cljs.core/KeySeq";cljs.core.KeySeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/KeySeq")};cljs.core.__GT_KeySeq=function(a,b){return new cljs.core.KeySeq(a,b)};cljs.core.KeySeq.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};cljs.core.keys=function(a){return(a=cljs.core.seq(a))?new cljs.core.KeySeq(a,null):null};cljs.core.key=function(a){return cljs.core._key(a)};
cljs.core.ValSeq=function(a,b){this.mseq=a;this._meta=b;this.cljs$lang$protocol_mask$partition0$=32374988;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.ValSeq.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.ValSeq.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.ValSeq.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.ValSeq.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.ValSeq.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this._meta};
cljs.core.ValSeq.prototype.cljs$core$INext$_next$arity$1=function(a){a=(null!=this.mseq?this.mseq.cljs$lang$protocol_mask$partition0$&128||cljs.core.PROTOCOL_SENTINEL===this.mseq.cljs$core$INext$||(this.mseq.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_(cljs.core.INext,this.mseq)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,this.mseq))?this.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(this.mseq);return null==a?null:new cljs.core.ValSeq(a,this._meta)};
cljs.core.ValSeq.prototype.cljs$core$IHash$_hash$arity$1=function(a){return cljs.core.hash_ordered_coll(this)};cljs.core.ValSeq.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.ValSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.List.EMPTY,this._meta)};
cljs.core.ValSeq.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(b,this)};cljs.core.ValSeq.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(b,c,this)};cljs.core.ValSeq.prototype.cljs$core$ISeq$_first$arity$1=function(a){return this.mseq.cljs$core$ISeq$_first$arity$1(null).cljs$core$IMapEntry$_val$arity$1(null)};
cljs.core.ValSeq.prototype.cljs$core$ISeq$_rest$arity$1=function(a){a=(null!=this.mseq?this.mseq.cljs$lang$protocol_mask$partition0$&128||cljs.core.PROTOCOL_SENTINEL===this.mseq.cljs$core$INext$||(this.mseq.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_(cljs.core.INext,this.mseq)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,this.mseq))?this.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(this.mseq);return null!=a?new cljs.core.ValSeq(a,this._meta):cljs.core.List.EMPTY};
cljs.core.ValSeq.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return this};cljs.core.ValSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.ValSeq(this.mseq,b)};cljs.core.ValSeq.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.ValSeq.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"mseq","mseq",1602647196,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"not-native","not-native",-236392494,null)],null)),new cljs.core.Symbol(null,"_meta","_meta",-1716892533,null)],null)};cljs.core.ValSeq.cljs$lang$type=!0;
cljs.core.ValSeq.cljs$lang$ctorStr="cljs.core/ValSeq";cljs.core.ValSeq.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ValSeq")};cljs.core.__GT_ValSeq=function(a,b){return new cljs.core.ValSeq(a,b)};cljs.core.ValSeq.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};cljs.core.vals=function(a){return(a=cljs.core.seq(a))?new cljs.core.ValSeq(a,null):null};cljs.core.val=function(a){return cljs.core._val(a)};
cljs.core.merge=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.truth_(cljs.core.some(cljs.core.identity,a))?cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(function(a,c){return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.truth_(a)?a:cljs.core.PersistentArrayMap.EMPTY,c)},a):null};cljs.core.merge.cljs$lang$maxFixedArity=0;cljs.core.merge.cljs$lang$applyTo=function(a){return cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};
cljs.core.merge_with=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic=function(a,b){if(cljs.core.truth_(cljs.core.some(cljs.core.identity,b))){var c=function(a){return function(b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(a,cljs.core.truth_(b)?b:cljs.core.PersistentArrayMap.EMPTY,cljs.core.seq(c))}}(function(b,c){var d=cljs.core.first(c),e=cljs.core.second(c);return cljs.core.contains_QMARK_(b,d)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(b,d,function(){var c=cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,
d);return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,e):a.call(null,c,e)}()):cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(b,d,e)});return cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(c,b)}return null};cljs.core.merge_with.cljs$lang$maxFixedArity=1;cljs.core.merge_with.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);return cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(b,a)};
cljs.core.select_keys=function(a,b){for(var c=cljs.core.PersistentArrayMap.EMPTY,d=cljs.core.seq(b);;)if(d)var e=cljs.core.first(d),f=cljs.core.get.cljs$core$IFn$_invoke$arity$3(a,e,new cljs.core.Keyword("cljs.core","not-found","cljs.core/not-found",-1572889185)),c=cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(f,new cljs.core.Keyword("cljs.core","not-found","cljs.core/not-found",-1572889185))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(c,e,f):c,d=cljs.core.next(d);else return cljs.core._with_meta(c,
cljs.core.meta(a))};cljs.core.HashSetIter=function(a){this.iter=a};cljs.core.HashSetIter.prototype.hasNext=function(){return this.iter.hasNext()};cljs.core.HashSetIter.prototype.next=function(){if(this.iter.hasNext())return this.iter.next().tail[0];throw Error("No such element");};cljs.core.HashSetIter.prototype.remove=function(){return Error("Unsupported operation")};
cljs.core.HashSetIter.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"iter","iter",-1346195486,null)],null)};cljs.core.HashSetIter.cljs$lang$type=!0;cljs.core.HashSetIter.cljs$lang$ctorStr="cljs.core/HashSetIter";cljs.core.HashSetIter.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/HashSetIter")};cljs.core.__GT_HashSetIter=function(a){return new cljs.core.HashSetIter(a)};
cljs.core.PersistentHashSet=function(a,b,c){this.meta=a;this.hash_map=b;this.__hash=c;this.cljs$lang$protocol_mask$partition0$=15077647;this.cljs$lang$protocol_mask$partition1$=8196};cljs.core.PersistentHashSet.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.PersistentHashSet.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};cljs.core.PersistentHashSet.prototype.keys=function(){return cljs.core.es6_iterator(cljs.core.seq(this))};
cljs.core.PersistentHashSet.prototype.entries=function(){return cljs.core.es6_set_entries_iterator(cljs.core.seq(this))};cljs.core.PersistentHashSet.prototype.values=function(){return cljs.core.es6_iterator(cljs.core.seq(this))};cljs.core.PersistentHashSet.prototype.has=function(a){return cljs.core.contains_QMARK_(this,a)};
cljs.core.PersistentHashSet.prototype.forEach=function(a){for(var b,c,d=cljs.core.seq(this),e=null,f=0,g=0;;)if(g<f)b=e.cljs$core$IIndexed$_nth$arity$2(null,g),c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,0,null),b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,1,null),a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c),g+=1;else if(c=cljs.core.seq(d))d=c,cljs.core.chunked_seq_QMARK_(d)?(e=cljs.core.chunk_first(d),d=cljs.core.chunk_rest(d),c=e,b=cljs.core.count(e),
e=c,f=b):(e=cljs.core.first(d),c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,0,null),b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,1,null),a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c),d=cljs.core.next(d),e=null,f=0),g=0;else return null};cljs.core.PersistentHashSet.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.core.PersistentHashSet.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){return cljs.core._contains_key_QMARK_(this.hash_map,b)?b:c};cljs.core.PersistentHashSet.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentHashSet.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.HashSetIter(cljs.core._iterator(this.hash_map))};cljs.core.PersistentHashSet.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};
cljs.core.PersistentHashSet.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.PersistentHashSet(this.meta,this.hash_map,this.__hash)};cljs.core.PersistentHashSet.prototype.cljs$core$ICounted$_count$arity$1=function(a){return cljs.core._count(this.hash_map)};cljs.core.PersistentHashSet.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_unordered_coll(this)};
cljs.core.PersistentHashSet.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.set_QMARK_(b)&&cljs.core.count(this)===cljs.core.count(b)&&cljs.core.every_QMARK_(function(a){return function(b){return cljs.core.contains_QMARK_(a,b)}}(this),b)};cljs.core.PersistentHashSet.prototype.cljs$core$IEditableCollection$_as_transient$arity$1=function(a){return new cljs.core.TransientHashSet(cljs.core._as_transient(this.hash_map))};
cljs.core.PersistentHashSet.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.PersistentHashSet.EMPTY,this.meta)};cljs.core.PersistentHashSet.prototype.cljs$core$ISet$_disjoin$arity$2=function(a,b){return new cljs.core.PersistentHashSet(this.meta,cljs.core._dissoc(this.hash_map,b),null)};cljs.core.PersistentHashSet.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.keys(this.hash_map)};
cljs.core.PersistentHashSet.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.PersistentHashSet(b,this.hash_map,this.__hash)};cljs.core.PersistentHashSet.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return new cljs.core.PersistentHashSet(this.meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(this.hash_map,b,null),null)};
cljs.core.PersistentHashSet.prototype.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$ILookup$_lookup$arity$2(null,c);case 3:return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$ILookup$_lookup$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)};return a}();
cljs.core.PersistentHashSet.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.PersistentHashSet.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$ILookup$_lookup$arity$2(null,a)};cljs.core.PersistentHashSet.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,a,b)};
cljs.core.PersistentHashSet.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"hash-map","hash-map",-439030950,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.PersistentHashSet.cljs$lang$type=!0;
cljs.core.PersistentHashSet.cljs$lang$ctorStr="cljs.core/PersistentHashSet";cljs.core.PersistentHashSet.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentHashSet")};cljs.core.__GT_PersistentHashSet=function(a,b,c){return new cljs.core.PersistentHashSet(a,b,c)};cljs.core.PersistentHashSet.EMPTY=new cljs.core.PersistentHashSet(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.empty_unordered_hash);
cljs.core.PersistentHashSet.fromArray=function(a,b){var c,d=a.length;if(d<=cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD){b||cljs.core.aclone(a);var e=0;for(c=cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);;)if(e<d){var f=e+1;c=cljs.core._assoc_BANG_(c,a[e],null);e=f}else return new cljs.core.PersistentHashSet(null,cljs.core._persistent_BANG_(c),null)}else for(e=0,c=cljs.core.transient$(cljs.core.PersistentHashSet.EMPTY);;)if(e<d)f=e+1,c=cljs.core._conj_BANG_(c,a[e]),e=f;else return cljs.core._persistent_BANG_(c)};
cljs.core.PersistentHashSet.createWithCheck=function(a){for(var b=a.length,c=cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY),d=0;;)if(d<b){cljs.core._conj_BANG_(c,a[d]);if(!cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(c),d+1))throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Duplicate key: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a[d])].join(""));d+=1}else break;return cljs.core._persistent_BANG_(c)};
cljs.core.PersistentHashSet.createAsIfByAssoc=function(a){for(var b=a.length,c=cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY),d=0;;)if(d<b)cljs.core._conj_BANG_(c,a[d]),d+=1;else break;return cljs.core._persistent_BANG_(c)};cljs.core.PersistentHashSet.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};cljs.core.TransientHashSet=function(a){this.transient_map=a;this.cljs$lang$protocol_mask$partition1$=136;this.cljs$lang$protocol_mask$partition0$=259};
cljs.core.TransientHashSet.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2=function(a,b){this.transient_map=cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(this.transient_map,b,null);return this};cljs.core.TransientHashSet.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1=function(a){return new cljs.core.PersistentHashSet(null,cljs.core.persistent_BANG_(this.transient_map),null)};
cljs.core.TransientHashSet.prototype.cljs$core$ITransientSet$_disjoin_BANG_$arity$2=function(a,b){this.transient_map=cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$2(this.transient_map,b);return this};cljs.core.TransientHashSet.prototype.cljs$core$ICounted$_count$arity$1=function(a){return cljs.core.count(this.transient_map)};cljs.core.TransientHashSet.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.core.TransientHashSet.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){return cljs.core._lookup.cljs$core$IFn$_invoke$arity$3(this.transient_map,b,cljs.core.lookup_sentinel)===cljs.core.lookup_sentinel?c:b};
cljs.core.TransientHashSet.prototype.call=function(){var a=null,b=function(a,b){return cljs.core._lookup.cljs$core$IFn$_invoke$arity$3(this.transient_map,b,cljs.core.lookup_sentinel)===cljs.core.lookup_sentinel?null:b},c=function(a,b,c){return cljs.core._lookup.cljs$core$IFn$_invoke$arity$3(this.transient_map,b,cljs.core.lookup_sentinel)===cljs.core.lookup_sentinel?c:b},a=function(a,e,f){switch(arguments.length){case 2:return b.call(this,a,e);case 3:return c.call(this,a,e,f)}throw Error("Invalid arity: "+
(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=b;a.cljs$core$IFn$_invoke$arity$3=c;return a}();cljs.core.TransientHashSet.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.TransientHashSet.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core._lookup.cljs$core$IFn$_invoke$arity$3(this.transient_map,a,cljs.core.lookup_sentinel)===cljs.core.lookup_sentinel?null:a};
cljs.core.TransientHashSet.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core._lookup.cljs$core$IFn$_invoke$arity$3(this.transient_map,a,cljs.core.lookup_sentinel)===cljs.core.lookup_sentinel?b:a};
cljs.core.TransientHashSet.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"transient-map","transient-map",351764893,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.TransientHashSet.cljs$lang$type=!0;cljs.core.TransientHashSet.cljs$lang$ctorStr="cljs.core/TransientHashSet";
cljs.core.TransientHashSet.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/TransientHashSet")};cljs.core.__GT_TransientHashSet=function(a){return new cljs.core.TransientHashSet(a)};cljs.core.PersistentTreeSet=function(a,b,c){this.meta=a;this.tree_map=b;this.__hash=c;this.cljs$lang$protocol_mask$partition0$=417730831;this.cljs$lang$protocol_mask$partition1$=8192};cljs.core.PersistentTreeSet.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};
cljs.core.PersistentTreeSet.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};cljs.core.PersistentTreeSet.prototype.keys=function(){return cljs.core.es6_iterator(cljs.core.seq(this))};cljs.core.PersistentTreeSet.prototype.entries=function(){return cljs.core.es6_set_entries_iterator(cljs.core.seq(this))};cljs.core.PersistentTreeSet.prototype.values=function(){return cljs.core.es6_iterator(cljs.core.seq(this))};
cljs.core.PersistentTreeSet.prototype.has=function(a){return cljs.core.contains_QMARK_(this,a)};
cljs.core.PersistentTreeSet.prototype.forEach=function(a){for(var b,c,d=cljs.core.seq(this),e=null,f=0,g=0;;)if(g<f)b=e.cljs$core$IIndexed$_nth$arity$2(null,g),c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,0,null),b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,1,null),a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c),g+=1;else if(c=cljs.core.seq(d))d=c,cljs.core.chunked_seq_QMARK_(d)?(e=cljs.core.chunk_first(d),d=cljs.core.chunk_rest(d),c=e,b=cljs.core.count(e),
e=c,f=b):(e=cljs.core.first(d),c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,0,null),b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,1,null),a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c),d=cljs.core.next(d),e=null,f=0),g=0;else return null};cljs.core.PersistentTreeSet.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.core.PersistentTreeSet.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){a=this.tree_map.entry_at(b);return null!=a?a.key:c};cljs.core.PersistentTreeSet.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.PersistentTreeSet.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.PersistentTreeSet(this.meta,this.tree_map,this.__hash)};cljs.core.PersistentTreeSet.prototype.cljs$core$ICounted$_count$arity$1=function(a){return cljs.core.count(this.tree_map)};
cljs.core.PersistentTreeSet.prototype.cljs$core$IReversible$_rseq$arity$1=function(a){return 0<cljs.core.count(this.tree_map)?cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.key,cljs.core.rseq(this.tree_map)):null};cljs.core.PersistentTreeSet.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_unordered_coll(this)};
cljs.core.PersistentTreeSet.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.set_QMARK_(b)&&cljs.core.count(this)===cljs.core.count(b)&&cljs.core.every_QMARK_(function(a){return function(b){return cljs.core.contains_QMARK_(a,b)}}(this),b)};cljs.core.PersistentTreeSet.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return new cljs.core.PersistentTreeSet(this.meta,cljs.core._empty(this.tree_map),0)};
cljs.core.PersistentTreeSet.prototype.cljs$core$ISet$_disjoin$arity$2=function(a,b){return new cljs.core.PersistentTreeSet(this.meta,cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(this.tree_map,b),null)};cljs.core.PersistentTreeSet.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.keys(this.tree_map)};cljs.core.PersistentTreeSet.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.PersistentTreeSet(b,this.tree_map,this.__hash)};
cljs.core.PersistentTreeSet.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return new cljs.core.PersistentTreeSet(this.meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(this.tree_map,b,null),null)};
cljs.core.PersistentTreeSet.prototype.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return this.cljs$core$ILookup$_lookup$arity$2(null,c);case 3:return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$2=function(a,c){return this.cljs$core$ILookup$_lookup$arity$2(null,c)};a.cljs$core$IFn$_invoke$arity$3=function(a,c,d){return this.cljs$core$ILookup$_lookup$arity$3(null,c,d)};return a}();
cljs.core.PersistentTreeSet.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};cljs.core.PersistentTreeSet.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return this.cljs$core$ILookup$_lookup$arity$2(null,a)};cljs.core.PersistentTreeSet.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,a,b)};
cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_sorted_seq$arity$2=function(a,b){return cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.key,cljs.core._sorted_seq(this.tree_map,b))};cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_sorted_seq_from$arity$3=function(a,b,c){return cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.key,cljs.core._sorted_seq_from(this.tree_map,b,c))};cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_entry_key$arity$2=function(a,b){return b};
cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_comparator$arity$1=function(a){return cljs.core._comparator(this.tree_map)};
cljs.core.PersistentTreeSet.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"tree-map","tree-map",1373073049,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.PersistentTreeSet.cljs$lang$type=!0;
cljs.core.PersistentTreeSet.cljs$lang$ctorStr="cljs.core/PersistentTreeSet";cljs.core.PersistentTreeSet.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/PersistentTreeSet")};cljs.core.__GT_PersistentTreeSet=function(a,b,c){return new cljs.core.PersistentTreeSet(a,b,c)};cljs.core.PersistentTreeSet.EMPTY=new cljs.core.PersistentTreeSet(null,cljs.core.PersistentTreeMap.EMPTY,cljs.core.empty_unordered_hash);cljs.core.PersistentTreeSet.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};
cljs.core.set_from_indexed_seq=function(a){a=a.arr;a:for(var b=0,c=cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);;)if(b<a.length)var d=b+1,c=c.cljs$core$ITransientCollection$_conj_BANG_$arity$2(null,a[b]),b=d;else break a;return c.cljs$core$ITransientCollection$_persistent_BANG_$arity$1(null)};
cljs.core.set=function(a){a=cljs.core.seq(a);if(null==a)return cljs.core.PersistentHashSet.EMPTY;if(a instanceof cljs.core.IndexedSeq&&0===a.i)return cljs.core.PersistentHashSet.createAsIfByAssoc(a.arr);for(var b=cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);;)if(null!=a){var c=cljs.core.next(a),b=b.cljs$core$ITransientCollection$_conj_BANG_$arity$2(null,a.cljs$core$ISeq$_first$arity$1(null));a=c}else return cljs.core.persistent_BANG_(b)};
cljs.core.hash_set=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.core.hash_set.cljs$core$IFn$_invoke$arity$0();default:return b=new cljs.core.IndexedSeq(b.slice(0),0,null),cljs.core.hash_set.cljs$core$IFn$_invoke$arity$variadic(b)}};cljs.core.hash_set.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.PersistentHashSet.EMPTY};cljs.core.hash_set.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.set(a)};
cljs.core.hash_set.cljs$lang$applyTo=function(a){return cljs.core.hash_set.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};cljs.core.hash_set.cljs$lang$maxFixedArity=0;cljs.core.sorted_set=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.sorted_set.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.core.sorted_set.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,cljs.core.PersistentTreeSet.EMPTY,a)};cljs.core.sorted_set.cljs$lang$maxFixedArity=0;cljs.core.sorted_set.cljs$lang$applyTo=function(a){return cljs.core.sorted_set.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};
cljs.core.sorted_set_by=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return cljs.core.sorted_set_by.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};cljs.core.sorted_set_by.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,new cljs.core.PersistentTreeSet(null,cljs.core.sorted_map_by(a),0),b)};
cljs.core.sorted_set_by.cljs$lang$maxFixedArity=1;cljs.core.sorted_set_by.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);return cljs.core.sorted_set_by.cljs$core$IFn$_invoke$arity$variadic(b,a)};
cljs.core.replace=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.replace.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.replace.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.replace.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.map.cljs$core$IFn$_invoke$arity$1(function(b){var c=cljs.core.find(a,b);return cljs.core.truth_(c)?cljs.core.val(c):b})};
cljs.core.replace.cljs$core$IFn$_invoke$arity$2=function(a,b){if(cljs.core.vector_QMARK_(b)){var c=cljs.core.count(b);return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(b){return function(b,c){var d=cljs.core.find(a,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(b,c));return cljs.core.truth_(d)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(b,c,cljs.core.second(d)):b}}(c),b,cljs.core.take.cljs$core$IFn$_invoke$arity$2(c,cljs.core.iterate(cljs.core.inc,0)))}return cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(b){var c=
cljs.core.find(a,b);return cljs.core.truth_(c)?cljs.core.second(c):b},b)};cljs.core.replace.cljs$lang$maxFixedArity=2;
cljs.core.distinct=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.core.distinct.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.distinct.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.distinct.cljs$core$IFn$_invoke$arity$0=function(){return function(a){return function(b){return function(){var c=null,d=function(){return a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null)},e=function(b){return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)},f=function(c,d){if(cljs.core.contains_QMARK_(cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(b):cljs.core.deref.call(null,b),d))return c;
cljs.core._vreset_BANG_(b,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core._deref(b),d));return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,d):a.call(null,c,d)},c=function(a,b){switch(arguments.length){case 0:return d.call(this);case 1:return e.call(this,a);case 2:return f.call(this,a,b)}throw Error("Invalid arity: "+(arguments.length-1));};c.cljs$core$IFn$_invoke$arity$0=d;c.cljs$core$IFn$_invoke$arity$1=e;c.cljs$core$IFn$_invoke$arity$2=f;return c}()}(cljs.core.volatile_BANG_(cljs.core.PersistentHashSet.EMPTY))}};
cljs.core.distinct.cljs$core$IFn$_invoke$arity$1=function(a){return function c(a,e){return new cljs.core.LazySeq(null,function(){return function(a,d){for(;;){var e=a,f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,0,null);if(e=cljs.core.seq(e))if(cljs.core.contains_QMARK_(d,f))f=cljs.core.rest(e),e=d,a=f,d=e;else return cljs.core.cons(f,c(cljs.core.rest(e),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(d,f)));else return null}}.call(null,a,e)},null,null)}(a,cljs.core.PersistentHashSet.EMPTY)};
cljs.core.distinct.cljs$lang$maxFixedArity=1;cljs.core.butlast=function(a){for(var b=cljs.core.PersistentVector.EMPTY;;)if(cljs.core.next(a))b=cljs.core.conj.cljs$core$IFn$_invoke$arity$2(b,cljs.core.first(a)),a=cljs.core.next(a);else return cljs.core.seq(b)};
cljs.core.name=function(a){if(null!=a&&(a.cljs$lang$protocol_mask$partition1$&4096||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$INamed$))return a.cljs$core$INamed$_name$arity$1(null);if("string"===typeof a)return a;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Doesn't support name: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));};
cljs.core.zipmap=function(a,b){for(var c=cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.seq(a),e=cljs.core.seq(b);;)if(d&&e)c=cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(c,cljs.core.first(d),cljs.core.first(e)),d=cljs.core.next(d),e=cljs.core.next(e);else return cljs.core.persistent_BANG_(c)};
cljs.core.max_key=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.max_key.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.max_key.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:return b=new cljs.core.IndexedSeq(b.slice(3),0,null),cljs.core.max_key.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};
cljs.core.max_key.cljs$core$IFn$_invoke$arity$2=function(a,b){return b};cljs.core.max_key.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b))>(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c))?b:c};
cljs.core.max_key.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(b,c){return cljs.core.max_key.cljs$core$IFn$_invoke$arity$3(a,b,c)},cljs.core.max_key.cljs$core$IFn$_invoke$arity$3(a,b,c),d)};
cljs.core.max_key.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c),c=cljs.core.first(d),d=cljs.core.next(d);return cljs.core.max_key.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};cljs.core.max_key.cljs$lang$maxFixedArity=3;
cljs.core.min_key=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.min_key.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.min_key.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:return b=new cljs.core.IndexedSeq(b.slice(3),0,null),cljs.core.min_key.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};
cljs.core.min_key.cljs$core$IFn$_invoke$arity$2=function(a,b){return b};cljs.core.min_key.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b))<(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):a.call(null,c))?b:c};
cljs.core.min_key.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(b,c){return cljs.core.min_key.cljs$core$IFn$_invoke$arity$3(a,b,c)},cljs.core.min_key.cljs$core$IFn$_invoke$arity$3(a,b,c),d)};
cljs.core.min_key.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c),c=cljs.core.first(d),d=cljs.core.next(d);return cljs.core.min_key.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};cljs.core.min_key.cljs$lang$maxFixedArity=3;cljs.core.ArrayList=function(a){this.arr=a};cljs.core.ArrayList.prototype.add=function(a){return this.arr.push(a)};cljs.core.ArrayList.prototype.size=function(){return this.arr.length};
cljs.core.ArrayList.prototype.clear=function(){return this.arr=[]};cljs.core.ArrayList.prototype.isEmpty=function(){return 0===this.arr.length};cljs.core.ArrayList.prototype.toArray=function(){return this.arr};
cljs.core.ArrayList.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"arr","arr",2115492975,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.ArrayList.cljs$lang$type=!0;cljs.core.ArrayList.cljs$lang$ctorStr="cljs.core/ArrayList";
cljs.core.ArrayList.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/ArrayList")};cljs.core.__GT_ArrayList=function(a){return new cljs.core.ArrayList(a)};cljs.core.array_list=function(){return new cljs.core.ArrayList([])};
cljs.core.partition_all=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.partition_all.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.partition_all.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.partition_all.cljs$core$IFn$_invoke$arity$1=function(a){return function(b){return function(c){return function(){var d=null,e=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},f=function(a){if(!cljs.core.truth_(c.isEmpty())){var d=cljs.core.vec(c.toArray());c.clear();a=cljs.core.unreduced(b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(a,d):b.call(null,a,d))}return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):
b.call(null,a)},g=function(d,e){c.add(e);if(a===c.size()){var f=cljs.core.vec(c.toArray());c.clear();return b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,f):b.call(null,d,f)}return d},d=function(a,b){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+(arguments.length-1));};d.cljs$core$IFn$_invoke$arity$0=e;d.cljs$core$IFn$_invoke$arity$1=f;d.cljs$core$IFn$_invoke$arity$2=g;return d}()}(cljs.core.array_list())}};
cljs.core.partition_all.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3(a,a,b)};cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new cljs.core.LazySeq(null,function(){var d=cljs.core.seq(c);return d?cljs.core.cons(cljs.core.take.cljs$core$IFn$_invoke$arity$2(a,d),cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(b,d))):null},null,null)};
cljs.core.partition_all.cljs$lang$maxFixedArity=3;
cljs.core.take_while=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.take_while.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.take_while.cljs$core$IFn$_invoke$arity$1=function(a){return function(b){return function(){var c=null,d=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},e=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},f=function(c,d){return cljs.core.truth_(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d))?b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,
d):b.call(null,c,d):cljs.core.reduced(c)},c=function(a,b){switch(arguments.length){case 0:return d.call(this);case 1:return e.call(this,a);case 2:return f.call(this,a,b)}throw Error("Invalid arity: "+(arguments.length-1));};c.cljs$core$IFn$_invoke$arity$0=d;c.cljs$core$IFn$_invoke$arity$1=e;c.cljs$core$IFn$_invoke$arity$2=f;return c}()}};
cljs.core.take_while.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq(b);return c?cljs.core.truth_(function(){var b=cljs.core.first(c);return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)}())?cljs.core.cons(cljs.core.first(c),cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(a,cljs.core.rest(c))):null:null},null,null)};cljs.core.take_while.cljs$lang$maxFixedArity=2;
cljs.core.mk_bound_fn=function(a,b,c){return function(d){var e=cljs.core._comparator(a);d=cljs.core._entry_key(a,d);e=e.cljs$core$IFn$_invoke$arity$2?e.cljs$core$IFn$_invoke$arity$2(d,c):e.call(null,d,c);return b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(e,0):b.call(null,e,0)}};
cljs.core.subseq=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return cljs.core.subseq.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 5:return cljs.core.subseq.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};
cljs.core.subseq.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core.mk_bound_fn(a,b,c);return cljs.core.truth_(cljs.core.PersistentHashSet.createAsIfByAssoc([cljs.core._GT_,cljs.core._GT__EQ_]).call(null,b))?(a=cljs.core._sorted_seq_from(a,c,!0),cljs.core.truth_(a)?(b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,0,null),cljs.core.truth_(d.cljs$core$IFn$_invoke$arity$1?d.cljs$core$IFn$_invoke$arity$1(b):d.call(null,b))?a:cljs.core.next(a)):null):cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(d,cljs.core._sorted_seq(a,
!0))};cljs.core.subseq.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){var f=cljs.core._sorted_seq_from(a,c,!0);if(cljs.core.truth_(f)){var g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,0,null);return cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(cljs.core.mk_bound_fn(a,d,e),cljs.core.truth_(cljs.core.mk_bound_fn(a,b,c).call(null,g))?f:cljs.core.next(f))}return null};cljs.core.subseq.cljs$lang$maxFixedArity=5;
cljs.core.rsubseq=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 5:return cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};
cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core.mk_bound_fn(a,b,c);return cljs.core.truth_(cljs.core.PersistentHashSet.createAsIfByAssoc([cljs.core._LT_,cljs.core._LT__EQ_]).call(null,b))?(a=cljs.core._sorted_seq_from(a,c,!1),cljs.core.truth_(a)?(b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(a,0,null),cljs.core.truth_(d.cljs$core$IFn$_invoke$arity$1?d.cljs$core$IFn$_invoke$arity$1(b):d.call(null,b))?a:cljs.core.next(a)):null):cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(d,cljs.core._sorted_seq(a,
!1))};cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){var f=cljs.core._sorted_seq_from(a,e,!1);if(cljs.core.truth_(f)){var g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,0,null);return cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(cljs.core.mk_bound_fn(a,b,c),cljs.core.truth_(cljs.core.mk_bound_fn(a,d,e).call(null,g))?f:cljs.core.next(f))}return null};cljs.core.rsubseq.cljs$lang$maxFixedArity=5;cljs.core.RangeIterator=function(a,b,c){this.i=a;this.end=b;this.step=c};
cljs.core.RangeIterator.prototype.hasNext=function(){return 0<this.step?this.i<this.end:this.i>this.end};cljs.core.RangeIterator.prototype.next=function(){var a=this.i;this.i+=this.step;return a};
cljs.core.RangeIterator.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),new cljs.core.Symbol(null,"end","end",1372345569,null),new cljs.core.Symbol(null,"step","step",-1365547645,null)],null)};cljs.core.RangeIterator.cljs$lang$type=!0;
cljs.core.RangeIterator.cljs$lang$ctorStr="cljs.core/RangeIterator";cljs.core.RangeIterator.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/RangeIterator")};cljs.core.__GT_RangeIterator=function(a,b,c){return new cljs.core.RangeIterator(a,b,c)};cljs.core.Range=function(a,b,c,d,e){this.meta=a;this.start=b;this.end=c;this.step=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=32375006;this.cljs$lang$protocol_mask$partition1$=8192};
cljs.core.Range.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.Range.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.Range.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.Range.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.Range.prototype.cljs$core$IIndexed$_nth$arity$2=function(a,b){if(b<this.cljs$core$ICounted$_count$arity$1(null))return this.start+b*this.step;if(this.start>this.end&&0===this.step)return this.start;throw Error("Index out of bounds");};cljs.core.Range.prototype.cljs$core$IIndexed$_nth$arity$3=function(a,b,c){return b<this.cljs$core$ICounted$_count$arity$1(null)?this.start+b*this.step:this.start>this.end&&0===this.step?this.start:c};cljs.core.Range.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Range.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RangeIterator(this.start,this.end,this.step)};cljs.core.Range.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};cljs.core.Range.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.Range(this.meta,this.start,this.end,this.step,this.__hash)};
cljs.core.Range.prototype.cljs$core$INext$_next$arity$1=function(a){return 0<this.step?this.start+this.step<this.end?new cljs.core.Range(this.meta,this.start+this.step,this.end,this.step,null):null:this.start+this.step>this.end?new cljs.core.Range(this.meta,this.start+this.step,this.end,this.step,null):null};cljs.core.Range.prototype.cljs$core$ICounted$_count$arity$1=function(a){return cljs.core.not(this.cljs$core$ISeqable$_seq$arity$1(null))?0:Math.ceil((this.end-this.start)/this.step)};
cljs.core.Range.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_ordered_coll(this)};cljs.core.Range.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.equiv_sequential(this,b)};cljs.core.Range.prototype.cljs$core$IEmptyableCollection$_empty$arity$1=function(a){return cljs.core._with_meta(cljs.core.List.EMPTY,this.meta)};
cljs.core.Range.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(this,b)};
cljs.core.Range.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){for(a=this.start;;)if(0<this.step?a<this.end:a>this.end){c=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,a):b.call(null,c,a);if(cljs.core.reduced_QMARK_(c))return cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(c):cljs.core.deref.call(null,c);a+=this.step}else return c};
cljs.core.Range.prototype.cljs$core$ISeq$_first$arity$1=function(a){return null==this.cljs$core$ISeqable$_seq$arity$1(null)?null:this.start};cljs.core.Range.prototype.cljs$core$ISeq$_rest$arity$1=function(a){return null!=this.cljs$core$ISeqable$_seq$arity$1(null)?new cljs.core.Range(this.meta,this.start+this.step,this.end,this.step,null):cljs.core.List.EMPTY};
cljs.core.Range.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return 0<this.step?this.start<this.end?this:null:0>this.step?this.start>this.end?this:null:this.start===this.end?null:this};cljs.core.Range.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.Range(b,this.start,this.end,this.step,this.__hash)};cljs.core.Range.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.cons(b,this)};
cljs.core.Range.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"start","start",1285322546,null),new cljs.core.Symbol(null,"end","end",1372345569,null),new cljs.core.Symbol(null,"step","step",-1365547645,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"mutable","mutable",875778266),!0],null))],null)};cljs.core.Range.cljs$lang$type=!0;cljs.core.Range.cljs$lang$ctorStr="cljs.core/Range";cljs.core.Range.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Range")};cljs.core.__GT_Range=function(a,b,c,d,e){return new cljs.core.Range(a,b,c,d,e)};cljs.core.Range.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};
cljs.core.range=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.core.range.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.range.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.range.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.range.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};cljs.core.range.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.range.cljs$core$IFn$_invoke$arity$3(0,Number.MAX_VALUE,1)};cljs.core.range.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.range.cljs$core$IFn$_invoke$arity$3(0,a,1)};cljs.core.range.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.range.cljs$core$IFn$_invoke$arity$3(a,b,1)};
cljs.core.range.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new cljs.core.Range(null,a,b,c,null)};cljs.core.range.cljs$lang$maxFixedArity=3;
cljs.core.take_nth=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.take_nth.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.take_nth.cljs$core$IFn$_invoke$arity$1=function(a){if("number"!==typeof a)throw Error("Assert failed: (number? n)");return function(b){return function(c){return function(){var d=null,e=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},f=function(a){return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},g=function(d,e){var f=cljs.core._vreset_BANG_(c,cljs.core._deref(c)+1);return 0===cljs.core.rem(f,a)?b.cljs$core$IFn$_invoke$arity$2?
b.cljs$core$IFn$_invoke$arity$2(d,e):b.call(null,d,e):d},d=function(a,b){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+(arguments.length-1));};d.cljs$core$IFn$_invoke$arity$0=e;d.cljs$core$IFn$_invoke$arity$1=f;d.cljs$core$IFn$_invoke$arity$2=g;return d}()}(cljs.core.volatile_BANG_(-1))}};
cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2=function(a,b){if("number"!==typeof a)throw Error("Assert failed: (number? n)");return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq(b);return c?cljs.core.cons(cljs.core.first(c),cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2(a,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(a,c))):null},null,null)};cljs.core.take_nth.cljs$lang$maxFixedArity=2;
cljs.core.split_with=function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(a,b),cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2(a,b)],null)};
cljs.core.partition_by=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.partition_by.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.partition_by.cljs$core$IFn$_invoke$arity$1=function(a){return function(b){var c=cljs.core.array_list(),d=cljs.core.volatile_BANG_(new cljs.core.Keyword("cljs.core","none","cljs.core/none",926646439));return function(c,d){return function(){var e=null,f=function(){return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)},k=function(a){if(!cljs.core.truth_(c.isEmpty())){var d=cljs.core.vec(c.toArray());c.clear();a=cljs.core.unreduced(b.cljs$core$IFn$_invoke$arity$2?
b.cljs$core$IFn$_invoke$arity$2(a,d):b.call(null,a,d))}return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a)},l=function(e,f){var g=cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(d):cljs.core.deref.call(null,d),h=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(f):a.call(null,f);cljs.core.vreset_BANG_(d,h);if(cljs.core.keyword_identical_QMARK_(g,new cljs.core.Keyword("cljs.core","none","cljs.core/none",
926646439))||cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(h,g))return c.add(f),e;g=cljs.core.vec(c.toArray());c.clear();g=b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(e,g):b.call(null,e,g);cljs.core.reduced_QMARK_(g)||c.add(f);return g},e=function(a,b){switch(arguments.length){case 0:return f.call(this);case 1:return k.call(this,a);case 2:return l.call(this,a,b)}throw Error("Invalid arity: "+(arguments.length-1));};e.cljs$core$IFn$_invoke$arity$0=f;e.cljs$core$IFn$_invoke$arity$1=
k;e.cljs$core$IFn$_invoke$arity$2=l;return e}()}(c,d)}};
cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq(b);if(c){var d=cljs.core.first(c),e=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d),d=cljs.core.cons(d,cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(function(b,c,d,e){return function(b){return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(c,a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b))}}(d,e,c,
c),cljs.core.next(c)));return cljs.core.cons(d,cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2(a,cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2(cljs.core.count(d),c))))}return null},null,null)};cljs.core.partition_by.cljs$lang$maxFixedArity=2;
cljs.core.frequencies=function(a){return cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a,c){return cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(a,c,cljs.core.get.cljs$core$IFn$_invoke$arity$3(a,c,0)+1)},cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),a))};
cljs.core.reductions=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.reductions.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.reductions.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.reductions.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq(b);if(c)return cljs.core.reductions.cljs$core$IFn$_invoke$arity$3(a,cljs.core.first(c),cljs.core.rest(c));c=a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null);return cljs.core._conj(cljs.core.List.EMPTY,c)},null,null)};
cljs.core.reductions.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(cljs.core.reduced_QMARK_(b)){var d=cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(b):cljs.core.deref.call(null,b);return cljs.core._conj(cljs.core.List.EMPTY,d)}return cljs.core.cons(b,new cljs.core.LazySeq(null,function(){var d=cljs.core.seq(c);return d?cljs.core.reductions.cljs$core$IFn$_invoke$arity$3(a,function(){var c=cljs.core.first(d);return a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,
c):a.call(null,b,c)}(),cljs.core.rest(d)):null},null,null))};cljs.core.reductions.cljs$lang$maxFixedArity=3;
cljs.core.juxt=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.juxt.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.juxt.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.juxt.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:return b=new cljs.core.IndexedSeq(b.slice(3),0,null),cljs.core.juxt.cljs$core$IFn$_invoke$arity$variadic(arguments[0],
arguments[1],arguments[2],b)}};
cljs.core.juxt.cljs$core$IFn$_invoke$arity$1=function(a){return function(){var b=null,c=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null)],null)},d=function(b){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)],null)},e=function(b,c){return new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c)],null)},f=function(b,c,d){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a.cljs$core$IFn$_invoke$arity$3?a.cljs$core$IFn$_invoke$arity$3(b,c,d):a.call(null,b,c,d)],null)},g=function(){var b=function(b,c,d,e){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.cljs$core$IFn$_invoke$arity$5(a,
b,c,d,e)],null)},c=function(a,c,d,e){var f=null;if(3<arguments.length){for(var f=0,g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return b.call(this,a,c,d,f)};c.cljs$lang$maxFixedArity=3;c.cljs$lang$applyTo=function(a){var c=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return b(c,d,e,a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}(),b=function(a,b,l,m){switch(arguments.length){case 0:return c.call(this);
case 1:return d.call(this,a);case 2:return e.call(this,a,b);case 3:return f.call(this,a,b,l);default:var h=null;if(3<arguments.length){for(var h=0,k=Array(arguments.length-3);h<k.length;)k[h]=arguments[h+3],++h;h=new cljs.core.IndexedSeq(k,0,null)}return g.cljs$core$IFn$_invoke$arity$variadic(a,b,l,h)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$lang$maxFixedArity=3;b.cljs$lang$applyTo=g.cljs$lang$applyTo;b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;b.cljs$core$IFn$_invoke$arity$2=
e;b.cljs$core$IFn$_invoke$arity$3=f;b.cljs$core$IFn$_invoke$arity$variadic=g.cljs$core$IFn$_invoke$arity$variadic;return b}()};
cljs.core.juxt.cljs$core$IFn$_invoke$arity$2=function(a,b){return function(){var c=null,d=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null),b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)],null)},e=function(c){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(c):
a.call(null,c),b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(c):b.call(null,c)],null)},f=function(c,d){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,d):a.call(null,c,d),b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(c,d):b.call(null,c,d)],null)},g=function(c,d,e){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a.cljs$core$IFn$_invoke$arity$3?
a.cljs$core$IFn$_invoke$arity$3(c,d,e):a.call(null,c,d,e),b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(c,d,e):b.call(null,c,d,e)],null)},h=function(){var c=function(c,d,e,f){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.cljs$core$IFn$_invoke$arity$5(a,c,d,e,f),cljs.core.apply.cljs$core$IFn$_invoke$arity$5(b,c,d,e,f)],null)},d=function(a,b,d,e){var f=null;if(3<arguments.length){for(var f=0,g=Array(arguments.length-3);f<g.length;)g[f]=
arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return c.call(this,a,b,d,f)};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return c(b,d,e,a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}(),c=function(a,b,c,n){switch(arguments.length){case 0:return d.call(this);case 1:return e.call(this,a);case 2:return f.call(this,a,b);case 3:return g.call(this,
a,b,c);default:var k=null;if(3<arguments.length){for(var k=0,l=Array(arguments.length-3);k<l.length;)l[k]=arguments[k+3],++k;k=new cljs.core.IndexedSeq(l,0,null)}return h.cljs$core$IFn$_invoke$arity$variadic(a,b,c,k)}throw Error("Invalid arity: "+(arguments.length-1));};c.cljs$lang$maxFixedArity=3;c.cljs$lang$applyTo=h.cljs$lang$applyTo;c.cljs$core$IFn$_invoke$arity$0=d;c.cljs$core$IFn$_invoke$arity$1=e;c.cljs$core$IFn$_invoke$arity$2=f;c.cljs$core$IFn$_invoke$arity$3=g;c.cljs$core$IFn$_invoke$arity$variadic=
h.cljs$core$IFn$_invoke$arity$variadic;return c}()};
cljs.core.juxt.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return function(){var d=null,e=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null),b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null),c.cljs$core$IFn$_invoke$arity$0?c.cljs$core$IFn$_invoke$arity$0():c.call(null)],null)},f=function(d){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d),b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(d):b.call(null,d),c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d)],null)},g=function(d,e){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(d,e):a.call(null,d,e),b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(d,
e):b.call(null,d,e),c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(d,e):c.call(null,d,e)],null)},h=function(d,e,f){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a.cljs$core$IFn$_invoke$arity$3?a.cljs$core$IFn$_invoke$arity$3(d,e,f):a.call(null,d,e,f),b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(d,e,f):b.call(null,d,e,f),c.cljs$core$IFn$_invoke$arity$3?c.cljs$core$IFn$_invoke$arity$3(d,e,f):c.call(null,d,e,f)],null)},k=function(){var d=
function(d,e,f,g){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.cljs$core$IFn$_invoke$arity$5(a,d,e,f,g),cljs.core.apply.cljs$core$IFn$_invoke$arity$5(b,d,e,f,g),cljs.core.apply.cljs$core$IFn$_invoke$arity$5(c,d,e,f,g)],null)},e=function(a,b,c,e){var f=null;if(3<arguments.length){for(var f=0,g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return d.call(this,a,b,c,f)};e.cljs$lang$maxFixedArity=
3;e.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);var c=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return d(b,c,e,a)};e.cljs$core$IFn$_invoke$arity$variadic=d;return e}(),d=function(a,b,c,d){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,b);case 3:return h.call(this,a,b,c);default:var l=null;if(3<arguments.length){for(var l=0,m=Array(arguments.length-3);l<m.length;)m[l]=
arguments[l+3],++l;l=new cljs.core.IndexedSeq(m,0,null)}return k.cljs$core$IFn$_invoke$arity$variadic(a,b,c,l)}throw Error("Invalid arity: "+(arguments.length-1));};d.cljs$lang$maxFixedArity=3;d.cljs$lang$applyTo=k.cljs$lang$applyTo;d.cljs$core$IFn$_invoke$arity$0=e;d.cljs$core$IFn$_invoke$arity$1=f;d.cljs$core$IFn$_invoke$arity$2=g;d.cljs$core$IFn$_invoke$arity$3=h;d.cljs$core$IFn$_invoke$arity$variadic=k.cljs$core$IFn$_invoke$arity$variadic;return d}()};
cljs.core.juxt.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return function(a){return function(){var b=null,c=function(){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a){return function(a,b){return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null))}}(a),cljs.core.PersistentVector.EMPTY,a)},d=function(b){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a){return function(a,c){return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,
c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(b):c.call(null,b))}}(a),cljs.core.PersistentVector.EMPTY,a)},e=function(b,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a){return function(a,d){return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(b,c):d.call(null,b,c))}}(a),cljs.core.PersistentVector.EMPTY,a)},l=function(b,c,d){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a){return function(a,
e){return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,e.cljs$core$IFn$_invoke$arity$3?e.cljs$core$IFn$_invoke$arity$3(b,c,d):e.call(null,b,c,d))}}(a),cljs.core.PersistentVector.EMPTY,a)},m=function(){var b=function(b,c,d,e){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a){return function(a,f){return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(a,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,b,c,d,e))}}(a),cljs.core.PersistentVector.EMPTY,a)},c=function(a,c,d,e){var f=null;if(3<
arguments.length){for(var f=0,g=Array(arguments.length-3);f<g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return b.call(this,a,c,d,f)};c.cljs$lang$maxFixedArity=3;c.cljs$lang$applyTo=function(a){var c=cljs.core.first(a);a=cljs.core.next(a);var d=cljs.core.first(a);a=cljs.core.next(a);var e=cljs.core.first(a);a=cljs.core.rest(a);return b(c,d,e,a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}(),b=function(a,b,f,g){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,
a);case 2:return e.call(this,a,b);case 3:return l.call(this,a,b,f);default:var h=null;if(3<arguments.length){for(var h=0,k=Array(arguments.length-3);h<k.length;)k[h]=arguments[h+3],++h;h=new cljs.core.IndexedSeq(k,0,null)}return m.cljs$core$IFn$_invoke$arity$variadic(a,b,f,h)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$lang$maxFixedArity=3;b.cljs$lang$applyTo=m.cljs$lang$applyTo;b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;b.cljs$core$IFn$_invoke$arity$2=e;
b.cljs$core$IFn$_invoke$arity$3=l;b.cljs$core$IFn$_invoke$arity$variadic=m.cljs$core$IFn$_invoke$arity$variadic;return b}()}(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(a,b,c,d))};cljs.core.juxt.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);var d=cljs.core.next(c),c=cljs.core.first(d),d=cljs.core.next(d);return cljs.core.juxt.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};cljs.core.juxt.cljs$lang$maxFixedArity=3;
cljs.core.dorun=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.dorun.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.dorun.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.dorun.cljs$core$IFn$_invoke$arity$1=function(a){for(;;)if(cljs.core.seq(a))a=cljs.core.next(a);else return null};cljs.core.dorun.cljs$core$IFn$_invoke$arity$2=function(a,b){for(;;)if(cljs.core.seq(b)&&0<a){var c=a-1,d=cljs.core.next(b);a=c;b=d}else return null};cljs.core.dorun.cljs$lang$maxFixedArity=2;
cljs.core.doall=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.doall.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.doall.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.doall.cljs$core$IFn$_invoke$arity$1=function(a){cljs.core.dorun.cljs$core$IFn$_invoke$arity$1(a);return a};cljs.core.doall.cljs$core$IFn$_invoke$arity$2=function(a,b){cljs.core.dorun.cljs$core$IFn$_invoke$arity$2(a,b);return b};cljs.core.doall.cljs$lang$maxFixedArity=2;cljs.core.regexp_QMARK_=function(a){return a instanceof RegExp};
cljs.core.re_matches=function(a,b){if("string"===typeof b){var c=a.exec(b);return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(c),b)?1===cljs.core.count(c)?cljs.core.first(c):cljs.core.vec(c):null}throw new TypeError("re-matches must match against a string.");};cljs.core.re_find=function(a,b){if("string"===typeof b){var c=a.exec(b);return null==c?null:1===cljs.core.count(c)?cljs.core.first(c):cljs.core.vec(c)}throw new TypeError("re-find must match against a string.");};
cljs.core.re_seq=function(a,b){var c=cljs.core.re_find(a,b),d=b.search(a),e=cljs.core.coll_QMARK_(c)?cljs.core.first(c):c,f=cljs.core.subs.cljs$core$IFn$_invoke$arity$2(b,d+cljs.core.count(e));return cljs.core.truth_(c)?new cljs.core.LazySeq(null,function(b,c,d,e){return function(){return cljs.core.cons(b,cljs.core.seq(e)?cljs.core.re_seq.cljs$core$IFn$_invoke$arity$2?cljs.core.re_seq.cljs$core$IFn$_invoke$arity$2(a,e):cljs.core.re_seq.call(null,a,e):null)}}(c,d,e,f),null,null):null};
cljs.core.re_pattern=function(a){if(a instanceof RegExp)return a;var b=cljs.core.re_find(/^\(\?([idmsux]*)\)/,a),c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,0,null),b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(b,1,null);a=cljs.core.subs.cljs$core$IFn$_invoke$arity$2(a,cljs.core.count(c));c=RegExp;b=cljs.core.truth_(b)?b:"";return new c(a,b)};
cljs.core.pr_sequential_writer=function(a,b,c,d,e,f,g){var h=cljs.core._STAR_print_level_STAR_;cljs.core._STAR_print_level_STAR_=null==cljs.core._STAR_print_level_STAR_?null:cljs.core._STAR_print_level_STAR_-1;try{if(null!=cljs.core._STAR_print_level_STAR_&&0>cljs.core._STAR_print_level_STAR_)return cljs.core._write(a,"#");cljs.core._write(a,c);if(0===(new cljs.core.Keyword(null,"print-length","print-length",1931866356)).cljs$core$IFn$_invoke$arity$1(f))cljs.core.seq(g)&&cljs.core._write(a,function(){var a=
(new cljs.core.Keyword(null,"more-marker","more-marker",-14717935)).cljs$core$IFn$_invoke$arity$1(f);return cljs.core.truth_(a)?a:"..."}());else{if(cljs.core.seq(g)){var k=cljs.core.first(g);b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(k,a,f):b.call(null,k,a,f)}for(var l=cljs.core.next(g),m=(new cljs.core.Keyword(null,"print-length","print-length",1931866356)).cljs$core$IFn$_invoke$arity$1(f)-1;;)if(!l||null!=m&&0===m){cljs.core.seq(l)&&0===m&&(cljs.core._write(a,d),cljs.core._write(a,
function(){var a=(new cljs.core.Keyword(null,"more-marker","more-marker",-14717935)).cljs$core$IFn$_invoke$arity$1(f);return cljs.core.truth_(a)?a:"..."}()));break}else{cljs.core._write(a,d);var n=cljs.core.first(l);c=a;g=f;b.cljs$core$IFn$_invoke$arity$3?b.cljs$core$IFn$_invoke$arity$3(n,c,g):b.call(null,n,c,g);var p=cljs.core.next(l);c=m-1;l=p;m=c}}return cljs.core._write(a,e)}finally{cljs.core._STAR_print_level_STAR_=h}};
cljs.core.write_all=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic=function(a,b){for(var c,d=cljs.core.seq(b),e=null,f=0,g=0;;)if(g<f)c=e.cljs$core$IIndexed$_nth$arity$2(null,g),cljs.core._write(a,c),g+=1;else if(d=cljs.core.seq(d))e=d,cljs.core.chunked_seq_QMARK_(e)?(d=cljs.core.chunk_first(e),e=cljs.core.chunk_rest(e),c=d,f=cljs.core.count(d),d=e,e=c):(c=cljs.core.first(e),cljs.core._write(a,c),d=cljs.core.next(e),e=null,f=0),g=0;else return null};cljs.core.write_all.cljs$lang$maxFixedArity=1;
cljs.core.write_all.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);return cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(b,a)};cljs.core.string_print=function(a){cljs.core._STAR_print_fn_STAR_.cljs$core$IFn$_invoke$arity$1?cljs.core._STAR_print_fn_STAR_.cljs$core$IFn$_invoke$arity$1(a):cljs.core._STAR_print_fn_STAR_.call(null,a);return null};cljs.core.flush=function(){return null};
cljs.core.char_escapes=function(){return{'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"}}();cljs.core.quote_string=function(a){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1('"'),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.replace(RegExp('[\\\\"\b\f\n\r\t]',"g"),function(a){return cljs.core.char_escapes[a]})),cljs.core.str.cljs$core$IFn$_invoke$arity$1('"')].join("")};
cljs.core.print_meta_QMARK_=function(a,b){var c=cljs.core.boolean$(cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,new cljs.core.Keyword(null,"meta","meta",1499536964)));return c?(c=null!=b?b.cljs$lang$protocol_mask$partition0$&131072||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$IMeta$?!0:!1:!1)?null!=cljs.core.meta(b):c:c};
cljs.core.pr_writer_impl=function(a,b,c){if(null==a)return cljs.core._write(b,"nil");if(cljs.core.print_meta_QMARK_(c,a)){cljs.core._write(b,"^");var d=cljs.core.meta(a);cljs.core.pr_writer.cljs$core$IFn$_invoke$arity$3?cljs.core.pr_writer.cljs$core$IFn$_invoke$arity$3(d,b,c):cljs.core.pr_writer.call(null,d,b,c);cljs.core._write(b," ")}if(a.cljs$lang$type)return a.cljs$lang$ctorPrWriter(a,b,c);if(null!=a&&(a.cljs$lang$protocol_mask$partition0$&2147483648||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IPrintWithWriter$))return a.cljs$core$IPrintWithWriter$_pr_writer$arity$3(null,
b,c);if(!0===a||!1===a||"number"===typeof a)return cljs.core._write(b,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a));if(cljs.core.object_QMARK_(a)){cljs.core._write(b,"#js ");var d=cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(b),a[b]],null)},cljs.core.js_keys(a)),e=cljs.core.pr_writer;return cljs.core.print_map.cljs$core$IFn$_invoke$arity$4?cljs.core.print_map.cljs$core$IFn$_invoke$arity$4(d,
e,b,c):cljs.core.print_map.call(null,d,e,b,c)}if(cljs.core.array_QMARK_(a))return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"#js ["," ","]",c,a);if(goog.isString(a))return cljs.core.truth_((new cljs.core.Keyword(null,"readably","readably",1129599760)).cljs$core$IFn$_invoke$arity$1(c))?cljs.core._write(b,cljs.core.quote_string(a)):cljs.core._write(b,a);if(goog.isFunction(a)){var f=a.name;c=cljs.core.truth_(function(){var a=null==f;return a?a:goog.string.isEmpty(f)}())?"Function":f;return cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(b,
cljs.core.array_seq(["#object[",c,' "',""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),'"]'],0))}if(a instanceof Date)return c=function(a,b){for(var c=""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a);;)if(cljs.core.count(c)<b)c=[cljs.core.str.cljs$core$IFn$_invoke$arity$1("0"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join("");else return c},cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(b,cljs.core.array_seq(['#inst "',""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.getUTCFullYear()),
"-",c(a.getUTCMonth()+1,2),"-",c(a.getUTCDate(),2),"T",c(a.getUTCHours(),2),":",c(a.getUTCMinutes(),2),":",c(a.getUTCSeconds(),2),".",c(a.getUTCMilliseconds(),3),"-",'00:00"'],0));if(cljs.core.regexp_QMARK_(a))return cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(b,cljs.core.array_seq(['#"',a.source,'"'],0));if(cljs.core.truth_(a.constructor.cljs$lang$ctorStr))return cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(b,cljs.core.array_seq(["#object[",a.constructor.cljs$lang$ctorStr.replace(RegExp("/",
"g"),"."),"]"],0));f=a.constructor.name;c=cljs.core.truth_(function(){var a=null==f;return a?a:goog.string.isEmpty(f)}())?"Object":f;return cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(b,cljs.core.array_seq(["#object[",c," ",""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),"]"],0))};
cljs.core.pr_writer=function(a,b,c){var d=(new cljs.core.Keyword(null,"alt-impl","alt-impl",670969595)).cljs$core$IFn$_invoke$arity$1(c);return cljs.core.truth_(d)?(c=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(c,new cljs.core.Keyword(null,"fallback-impl","fallback-impl",-1501286995),cljs.core.pr_writer_impl),d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c)):cljs.core.pr_writer_impl(a,b,c)};
cljs.core.pr_seq_writer=function(a,b,c){cljs.core.pr_writer(cljs.core.first(a),b,c);a=cljs.core.seq(cljs.core.next(a));for(var d=null,e=0,f=0;;)if(f<e){var g=d.cljs$core$IIndexed$_nth$arity$2(null,f);cljs.core._write(b," ");cljs.core.pr_writer(g,b,c);f+=1}else if(a=cljs.core.seq(a))d=a,cljs.core.chunked_seq_QMARK_(d)?(a=cljs.core.chunk_first(d),d=cljs.core.chunk_rest(d),g=a,e=cljs.core.count(a),a=d,d=g):(g=cljs.core.first(d),cljs.core._write(b," "),cljs.core.pr_writer(g,b,c),a=cljs.core.next(d),d=
null,e=0),f=0;else return null};cljs.core.pr_sb_with_opts=function(a,b){var c=new goog.string.StringBuffer,d=new cljs.core.StringBufferWriter(c);cljs.core.pr_seq_writer(a,d,b);d.cljs$core$IWriter$_flush$arity$1(null);return c};cljs.core.pr_str_with_opts=function(a,b){return cljs.core.empty_QMARK_(a)?"":""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_sb_with_opts(a,b))};
cljs.core.prn_str_with_opts=function(a,b){if(cljs.core.empty_QMARK_(a))return"\n";var c=cljs.core.pr_sb_with_opts(a,b);c.append("\n");return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)};cljs.core.pr_with_opts=function(a,b){return cljs.core.string_print(cljs.core.pr_str_with_opts(a,b))};
cljs.core.newline=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.core.newline.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.newline.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};cljs.core.newline.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.newline.cljs$core$IFn$_invoke$arity$1(null)};
cljs.core.newline.cljs$core$IFn$_invoke$arity$1=function(a){cljs.core.string_print("\n");return cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,new cljs.core.Keyword(null,"flush-on-newline","flush-on-newline",-151457939)))?cljs.core.flush():null};cljs.core.newline.cljs$lang$maxFixedArity=1;cljs.core.pr_str=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.pr_str_with_opts(a,cljs.core.pr_opts())};cljs.core.pr_str.cljs$lang$maxFixedArity=0;cljs.core.pr_str.cljs$lang$applyTo=function(a){return cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};cljs.core.prn_str=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.prn_str.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.core.prn_str.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.prn_str_with_opts(a,cljs.core.pr_opts())};cljs.core.prn_str.cljs$lang$maxFixedArity=0;cljs.core.prn_str.cljs$lang$applyTo=function(a){return cljs.core.prn_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};cljs.core.pr=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.core.pr.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.pr_with_opts(a,cljs.core.pr_opts())};cljs.core.pr.cljs$lang$maxFixedArity=0;cljs.core.pr.cljs$lang$applyTo=function(a){return cljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};
cljs.core.print=function(){var a=function(a){return cljs.core.pr_with_opts(a,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,"readably","readably",1129599760),!1))},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=
a;return b}();cljs.core.print_str=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.print_str.cljs$core$IFn$_invoke$arity$variadic(b)};cljs.core.print_str.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.pr_str_with_opts(a,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,"readably","readably",1129599760),!1))};
cljs.core.print_str.cljs$lang$maxFixedArity=0;cljs.core.print_str.cljs$lang$applyTo=function(a){return cljs.core.print_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};cljs.core.println=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.core.println.cljs$core$IFn$_invoke$arity$variadic=function(a){cljs.core.pr_with_opts(a,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,"readably","readably",1129599760),!1));return cljs.core._STAR_print_newline_STAR_?cljs.core.newline.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_opts()):null};cljs.core.println.cljs$lang$maxFixedArity=0;cljs.core.println.cljs$lang$applyTo=function(a){return cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};
cljs.core.println_str=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.println_str.cljs$core$IFn$_invoke$arity$variadic(b)};cljs.core.println_str.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.prn_str_with_opts(a,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,"readably","readably",1129599760),!1))};
cljs.core.println_str.cljs$lang$maxFixedArity=0;cljs.core.println_str.cljs$lang$applyTo=function(a){return cljs.core.println_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};cljs.core.prn=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.prn.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.core.prn.cljs$core$IFn$_invoke$arity$variadic=function(a){cljs.core.pr_with_opts(a,cljs.core.pr_opts());return cljs.core._STAR_print_newline_STAR_?cljs.core.newline.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_opts()):null};cljs.core.prn.cljs$lang$maxFixedArity=0;cljs.core.prn.cljs$lang$applyTo=function(a){return cljs.core.prn.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};
cljs.core.strip_ns=function(a){return a instanceof cljs.core.Symbol?cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(null,cljs.core.name(a)):cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(null,cljs.core.name(a))};
cljs.core.lift_ns=function(a){if(cljs.core._STAR_print_namespace_maps_STAR_){var b=cljs.core.seq(a),c=cljs.core.seq(b),d=cljs.core.first(c);cljs.core.next(c);cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,0,null);cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,1,null);c=cljs.core.empty(a);for(a=null;;){d=a;b=cljs.core.seq(b);a=cljs.core.first(b);var e=cljs.core.next(b),f=a;a=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,0,null);b=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,1,null);if(cljs.core.truth_(f))if(a instanceof
cljs.core.Keyword||a instanceof cljs.core.Symbol)if(cljs.core.truth_(d))if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(d,cljs.core.namespace(a)))c=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(c,cljs.core.strip_ns(a),b),a=d,b=e;else return null;else if(d=cljs.core.namespace(a),cljs.core.truth_(d))c=cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(c,cljs.core.strip_ns(a),b),a=d,b=e;else return null;else return null;else return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[d,c],null)}}else return null};
cljs.core.print_prefix_map=function(a,b,c,d,e){return cljs.core.pr_sequential_writer(d,function(a,b,d){var e=cljs.core.key(a);c.cljs$core$IFn$_invoke$arity$3?c.cljs$core$IFn$_invoke$arity$3(e,b,d):c.call(null,e,b,d);cljs.core._write(b," ");a=cljs.core.val(a);return c.cljs$core$IFn$_invoke$arity$3?c.cljs$core$IFn$_invoke$arity$3(a,b,d):c.call(null,a,b,d)},[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1("{")].join(""),", ","}",e,cljs.core.seq(b))};
cljs.core.print_map=function(a,b,c,d){var e=cljs.core.lift_ns(a),f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,0,null),e=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,1,null);return cljs.core.truth_(f)?cljs.core.print_prefix_map([cljs.core.str.cljs$core$IFn$_invoke$arity$1("#:"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(f)].join(""),e,b,c,d):cljs.core.print_prefix_map(null,a,b,c,d)};cljs.core.Volatile.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Volatile.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){cljs.core._write(b,"#object [cljs.core.Volatile ");cljs.core.pr_writer(new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"val","val",128701612),this.state],null),b,c);return cljs.core._write(b,"]")};cljs.core.Var.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Var.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){cljs.core._write(b,"#'");return cljs.core.pr_writer(this.sym,b,c)};cljs.core.IndexedSeq.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.IndexedSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.LazySeq.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.LazySeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};
cljs.core.NodeSeq.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.NodeSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.BlackNode.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.BlackNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"["," ","]",c,this)};cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};
cljs.core.ES6IteratorSeq.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.ES6IteratorSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.PersistentTreeSet.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentTreeSet.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"#{"," ","}",c,this)};cljs.core.ChunkedSeq.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.ChunkedSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.ObjMap.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.ObjMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.print_map(this,cljs.core.pr_writer,b,c)};cljs.core.Cons.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Cons.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.RSeq.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.RSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.PersistentHashMap.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentHashMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.print_map(this,cljs.core.pr_writer,b,c)};cljs.core.ArrayNodeSeq.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.ArrayNodeSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.Subvec.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Subvec.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"["," ","]",c,this)};cljs.core.PersistentTreeMap.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentTreeMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.print_map(this,cljs.core.pr_writer,b,c)};cljs.core.PersistentHashSet.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentHashSet.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"#{"," ","}",c,this)};cljs.core.ChunkedCons.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.ChunkedCons.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.Atom.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Atom.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){cljs.core._write(b,"#object [cljs.core.Atom ");cljs.core.pr_writer(new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"val","val",128701612),this.state],null),b,c);return cljs.core._write(b,"]")};cljs.core.ValSeq.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.ValSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.RedNode.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.RedNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"["," ","]",c,this)};cljs.core.PersistentVector.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentVector.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"["," ","]",c,this)};cljs.core.PersistentQueueSeq.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentQueueSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};
cljs.core.EmptyList.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.EmptyList.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core._write(b,"()")};cljs.core.PersistentQueue.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentQueue.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"#queue ["," ","]",c,cljs.core.seq(this))};
cljs.core.PersistentArrayMap.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentArrayMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.print_map(this,cljs.core.pr_writer,b,c)};cljs.core.Range.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Range.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};
cljs.core.TransformerIterator.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.TransformerIterator.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.KeySeq.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.KeySeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.List.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.List.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.Symbol.prototype.cljs$core$IComparable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Symbol.prototype.cljs$core$IComparable$_compare$arity$2=function(a,b){if(b instanceof cljs.core.Symbol)return cljs.core.compare_symbols(this,b);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Cannot compare "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" to "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};cljs.core.Keyword.prototype.cljs$core$IComparable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Keyword.prototype.cljs$core$IComparable$_compare$arity$2=function(a,b){if(b instanceof cljs.core.Keyword)return cljs.core.compare_keywords(this,b);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Cannot compare "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" to "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};cljs.core.Subvec.prototype.cljs$core$IComparable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Subvec.prototype.cljs$core$IComparable$_compare$arity$2=function(a,b){if(cljs.core.vector_QMARK_(b))return cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(this,b);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Cannot compare "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" to "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};cljs.core.PersistentVector.prototype.cljs$core$IComparable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentVector.prototype.cljs$core$IComparable$_compare$arity$2=function(a,b){if(cljs.core.vector_QMARK_(b))return cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(this,b);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Cannot compare "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" to "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};
cljs.core.alter_meta_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return cljs.core.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};cljs.core.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return a.meta=cljs.core.apply.cljs$core$IFn$_invoke$arity$3(b,a.meta,c)};cljs.core.alter_meta_BANG_.cljs$lang$maxFixedArity=2;
cljs.core.alter_meta_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a),c=cljs.core.next(a);a=cljs.core.first(c);c=cljs.core.next(c);return cljs.core.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.core.reset_meta_BANG_=function(a,b){return a.meta=b};cljs.core.add_watch=function(a,b,c){cljs.core._add_watch(a,b,c);return a};cljs.core.remove_watch=function(a,b){cljs.core._remove_watch(a,b);return a};cljs.core.gensym_counter=null;
cljs.core.gensym=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};cljs.core.gensym.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.gensym.cljs$core$IFn$_invoke$arity$1("G__")};
cljs.core.gensym.cljs$core$IFn$_invoke$arity$1=function(a){null==cljs.core.gensym_counter&&(cljs.core.gensym_counter=cljs.core.atom.cljs$core$IFn$_invoke$arity$1?cljs.core.atom.cljs$core$IFn$_invoke$arity$1(0):cljs.core.atom.call(null,0));return cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(cljs.core.gensym_counter,cljs.core.inc))].join(""))};
cljs.core.gensym.cljs$lang$maxFixedArity=1;cljs.core.fixture1=1;cljs.core.fixture2=2;cljs.core.Delay=function(a,b){this.f=a;this.value=b;this.cljs$lang$protocol_mask$partition0$=32768;this.cljs$lang$protocol_mask$partition1$=1};cljs.core.Delay.prototype.cljs$core$IDeref$_deref$arity$1=function(a){cljs.core.truth_(this.f)&&(this.value=this.f.cljs$core$IFn$_invoke$arity$0?this.f.cljs$core$IFn$_invoke$arity$0():this.f.call(null),this.f=null);return this.value};
cljs.core.Delay.prototype.cljs$core$IPending$_realized_QMARK_$arity$1=function(a){return cljs.core.not(this.f)};
cljs.core.Delay.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"f","f",43394975,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"value","value",1946509744,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};
cljs.core.Delay.cljs$lang$type=!0;cljs.core.Delay.cljs$lang$ctorStr="cljs.core/Delay";cljs.core.Delay.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Delay")};cljs.core.__GT_Delay=function(a,b){return new cljs.core.Delay(a,b)};cljs.core.delay_QMARK_=function(a){return a instanceof cljs.core.Delay};
cljs.core.force=function(a){return cljs.core.delay_QMARK_(a)?cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(a):cljs.core.deref.call(null,a):a};cljs.core.realized_QMARK_=function(a){return cljs.core._realized_QMARK_(a)};cljs.core.preserving_reduced=function(a){return function(b,c){var d=a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c);return cljs.core.reduced_QMARK_(d)?cljs.core.reduced(d):d}};
cljs.core.cat=function(a){return function(b){return function(){var c=null,d=function(){return a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null)},e=function(b){return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)},f=function(a,c){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(b,a,c)},c=function(a,b){switch(arguments.length){case 0:return d.call(this);case 1:return e.call(this,a);case 2:return f.call(this,a,b)}throw Error("Invalid arity: "+
(arguments.length-1));};c.cljs$core$IFn$_invoke$arity$0=d;c.cljs$core$IFn$_invoke$arity$1=e;c.cljs$core$IFn$_invoke$arity$2=f;return c}()}(cljs.core.preserving_reduced(a))};
cljs.core.halt_when=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.halt_when.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.halt_when.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.halt_when.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.halt_when.cljs$core$IFn$_invoke$arity$2(a,null)};
cljs.core.halt_when.cljs$core$IFn$_invoke$arity$2=function(a,b){return function(c){return function(){var d=null,e=function(){return c.cljs$core$IFn$_invoke$arity$0?c.cljs$core$IFn$_invoke$arity$0():c.call(null)},f=function(a){return cljs.core.map_QMARK_(a)&&cljs.core.contains_QMARK_(a,new cljs.core.Keyword("cljs.core","halt","cljs.core/halt",-1049036715))?(new cljs.core.Keyword("cljs.core","halt","cljs.core/halt",-1049036715)).cljs$core$IFn$_invoke$arity$1(a):c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(a):
c.call(null,a)},g=function(d,e){return cljs.core.truth_(a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(e):a.call(null,e))?cljs.core.reduced(new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("cljs.core","halt","cljs.core/halt",-1049036715),cljs.core.truth_(b)?function(){var a=c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(d):c.call(null,d);return b.cljs$core$IFn$_invoke$arity$2?b.cljs$core$IFn$_invoke$arity$2(a,e):b.call(null,a,e)}():e],null)):c.cljs$core$IFn$_invoke$arity$2?
c.cljs$core$IFn$_invoke$arity$2(d,e):c.call(null,d,e)},d=function(a,b){switch(arguments.length){case 0:return e.call(this);case 1:return f.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+(arguments.length-1));};d.cljs$core$IFn$_invoke$arity$0=e;d.cljs$core$IFn$_invoke$arity$1=f;d.cljs$core$IFn$_invoke$arity$2=g;return d}()}};cljs.core.halt_when.cljs$lang$maxFixedArity=2;
cljs.core.dedupe=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.core.dedupe.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.dedupe.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.dedupe.cljs$core$IFn$_invoke$arity$0=function(){return function(a){return function(b){return function(){var c=null,d=function(){return a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null)},e=function(b){return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(b):a.call(null,b)},f=function(c,d){var e=cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(b):cljs.core.deref.call(null,b);cljs.core.vreset_BANG_(b,d);
return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(e,d)?c:a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,d):a.call(null,c,d)},c=function(a,b){switch(arguments.length){case 0:return d.call(this);case 1:return e.call(this,a);case 2:return f.call(this,a,b)}throw Error("Invalid arity: "+(arguments.length-1));};c.cljs$core$IFn$_invoke$arity$0=d;c.cljs$core$IFn$_invoke$arity$1=e;c.cljs$core$IFn$_invoke$arity$2=f;return c}()}(cljs.core.volatile_BANG_(new cljs.core.Keyword("cljs.core",
"none","cljs.core/none",926646439)))}};cljs.core.dedupe.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.sequence.cljs$core$IFn$_invoke$arity$2(cljs.core.dedupe.cljs$core$IFn$_invoke$arity$0(),a)};cljs.core.dedupe.cljs$lang$maxFixedArity=1;
cljs.core.random_sample=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.random_sample.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.random_sample.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.random_sample.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.filter.cljs$core$IFn$_invoke$arity$1(function(b){return(cljs.core.rand.cljs$core$IFn$_invoke$arity$0?cljs.core.rand.cljs$core$IFn$_invoke$arity$0():cljs.core.rand.call(null))<a})};
cljs.core.random_sample.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.filter.cljs$core$IFn$_invoke$arity$2(function(b){return(cljs.core.rand.cljs$core$IFn$_invoke$arity$0?cljs.core.rand.cljs$core$IFn$_invoke$arity$0():cljs.core.rand.call(null))<a},b)};cljs.core.random_sample.cljs$lang$maxFixedArity=2;cljs.core.Eduction=function(a,b){this.xform=a;this.coll=b;this.cljs$lang$protocol_mask$partition0$=2173173760;this.cljs$lang$protocol_mask$partition1$=0};
cljs.core.Eduction.prototype.indexOf=function(){var a=null,b=function(a){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,0)},c=function(a,b){return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.Eduction.prototype.lastIndexOf=function(){var a=null,b=function(a){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,cljs.core.count(this))},c=function(a,b){return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(this,a,b)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;return a}();
cljs.core.Eduction.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Eduction.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return cljs.core.TransformerIterator.create(this.xform,this)};cljs.core.Eduction.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq(cljs.core.sequence.cljs$core$IFn$_invoke$arity$2(this.xform,this.coll))};
cljs.core.Eduction.prototype.cljs$core$IReduce$_reduce$arity$2=function(a,b){return cljs.core.transduce.cljs$core$IFn$_invoke$arity$3(this.xform,cljs.core.completing.cljs$core$IFn$_invoke$arity$1(b),this.coll)};cljs.core.Eduction.prototype.cljs$core$IReduce$_reduce$arity$3=function(a,b,c){return cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(this.xform,cljs.core.completing.cljs$core$IFn$_invoke$arity$1(b),c,this.coll)};
cljs.core.Eduction.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer(b,cljs.core.pr_writer,"("," ",")",c,this)};cljs.core.Eduction.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"xform","xform",-85179481,null),new cljs.core.Symbol(null,"coll","coll",-1006698606,null)],null)};cljs.core.Eduction.cljs$lang$type=!0;cljs.core.Eduction.cljs$lang$ctorStr="cljs.core/Eduction";
cljs.core.Eduction.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Eduction")};cljs.core.__GT_Eduction=function(a,b){return new cljs.core.Eduction(a,b)};cljs.core.Eduction.prototype[cljs.core.ITER_SYMBOL]=function(){return cljs.core.es6_iterator(this)};cljs.core.eduction=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.core.eduction.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.core.eduction.cljs$core$IFn$_invoke$arity$variadic=function(a){return new cljs.core.Eduction(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.comp,cljs.core.butlast(a)),cljs.core.last(a))};cljs.core.eduction.cljs$lang$maxFixedArity=0;cljs.core.eduction.cljs$lang$applyTo=function(a){return cljs.core.eduction.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(a))};
cljs.core.run_BANG_=function(a,b){cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(b,d){return a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d)},null,b);return null};cljs.core.IEncodeJS=function(){};
cljs.core._clj__GT_js=function(a){if(null!=a&&null!=a.cljs$core$IEncodeJS$_clj__GT_js$arity$1)return a.cljs$core$IEncodeJS$_clj__GT_js$arity$1(a);var b=cljs.core._clj__GT_js[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._clj__GT_js._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IEncodeJS.-clj-\x3ejs",a);};
cljs.core._key__GT_js=function(a){if(null!=a&&null!=a.cljs$core$IEncodeJS$_key__GT_js$arity$1)return a.cljs$core$IEncodeJS$_key__GT_js$arity$1(a);var b=cljs.core._key__GT_js[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._key__GT_js._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IEncodeJS.-key-\x3ejs",a);};
cljs.core.key__GT_js=function(a){return(null!=a?cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IEncodeJS$||(a.cljs$lang$protocol_mask$partition$?0:cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,a)):cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,a))?cljs.core._clj__GT_js(a):"string"===typeof a||"number"===typeof a||a instanceof cljs.core.Keyword||a instanceof cljs.core.Symbol?cljs.core.clj__GT_js.cljs$core$IFn$_invoke$arity$1?cljs.core.clj__GT_js.cljs$core$IFn$_invoke$arity$1(a):cljs.core.clj__GT_js.call(null,
a):cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.array_seq([a],0))};
cljs.core.clj__GT_js=function(a){if(null==a)return null;if(null!=a?cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IEncodeJS$||(a.cljs$lang$protocol_mask$partition$?0:cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,a)):cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,a))return cljs.core._clj__GT_js(a);if(a instanceof cljs.core.Keyword)return cljs.core.name(a);if(a instanceof cljs.core.Symbol)return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a);if(cljs.core.map_QMARK_(a)){var b={};a=cljs.core.seq(a);
for(var c=null,d=0,e=0;;)if(e<d){var f=c.cljs$core$IIndexed$_nth$arity$2(null,e),g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,0,null),f=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,1,null);b[cljs.core.key__GT_js(g)]=cljs.core.clj__GT_js.cljs$core$IFn$_invoke$arity$1?cljs.core.clj__GT_js.cljs$core$IFn$_invoke$arity$1(f):cljs.core.clj__GT_js.call(null,f);e+=1}else if(a=cljs.core.seq(a))cljs.core.chunked_seq_QMARK_(a)?(d=cljs.core.chunk_first(a),a=cljs.core.chunk_rest(a),c=d,d=cljs.core.count(d)):
(d=cljs.core.first(a),c=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,0,null),d=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(d,1,null),b[cljs.core.key__GT_js(c)]=cljs.core.clj__GT_js.cljs$core$IFn$_invoke$arity$1?cljs.core.clj__GT_js.cljs$core$IFn$_invoke$arity$1(d):cljs.core.clj__GT_js.call(null,d),a=cljs.core.next(a),c=null,d=0),e=0;else break;return b}if(cljs.core.coll_QMARK_(a)){b=[];a=cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.clj__GT_js,a));c=null;for(e=d=0;;)if(e<d)g=
c.cljs$core$IIndexed$_nth$arity$2(null,e),b.push(g),e+=1;else if(a=cljs.core.seq(a))c=a,cljs.core.chunked_seq_QMARK_(c)?(a=cljs.core.chunk_first(c),e=cljs.core.chunk_rest(c),c=a,d=cljs.core.count(a),a=e):(a=cljs.core.first(c),b.push(a),a=cljs.core.next(c),c=null,d=0),e=0;else break;return b}return a};cljs.core.IEncodeClojure=function(){};
cljs.core._js__GT_clj=function(a,b){if(null!=a&&null!=a.cljs$core$IEncodeClojure$_js__GT_clj$arity$2)return a.cljs$core$IEncodeClojure$_js__GT_clj$arity$2(a,b);var c=cljs.core._js__GT_clj[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._js__GT_clj._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IEncodeClojure.-js-\x3eclj",
a);};cljs.core.js__GT_clj=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:return b=new cljs.core.IndexedSeq(b.slice(1),0,null),cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)}};
cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic(a,cljs.core.array_seq([new cljs.core.Keyword(null,"keywordize-keys","keywordize-keys",1310784252),!1],0))};
cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,b):b,d=cljs.core.get.cljs$core$IFn$_invoke$arity$2(c,new cljs.core.Keyword(null,"keywordize-keys","keywordize-keys",1310784252)),e=cljs.core.truth_(d)?cljs.core.keyword:cljs.core.str;return function(a,c,d,e){return function m(f){return(null!=f?cljs.core.PROTOCOL_SENTINEL===
f.cljs$core$IEncodeClojure$||(f.cljs$lang$protocol_mask$partition$?0:cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeClojure,f)):cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeClojure,f))?cljs.core._js__GT_clj(f,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.array_map,b)):cljs.core.seq_QMARK_(f)?cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(m,f)):cljs.core.coll_QMARK_(f)?cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.empty(f),cljs.core.map.cljs$core$IFn$_invoke$arity$2(m,
f)):cljs.core.array_QMARK_(f)?cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2(m,f)):cljs.core.type(f)===Object?cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,function(){return function(a,b,c,d){return function v(e){return new cljs.core.LazySeq(null,function(a,b,c,d){return function(){for(;;){var a=cljs.core.seq(e);if(a){if(cljs.core.chunked_seq_QMARK_(a)){var b=cljs.core.chunk_first(a),c=cljs.core.count(b),g=cljs.core.chunk_buffer(c);a:for(var h=0;;)if(h<
c){var k=cljs.core._nth.cljs$core$IFn$_invoke$arity$2(b,h);cljs.core.chunk_append(g,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d.cljs$core$IFn$_invoke$arity$1?d.cljs$core$IFn$_invoke$arity$1(k):d.call(null,k),m(f[k])],null));h+=1}else{b=!0;break a}return b?cljs.core.chunk_cons(cljs.core.chunk(g),v(cljs.core.chunk_rest(a))):cljs.core.chunk_cons(cljs.core.chunk(g),null)}g=cljs.core.first(a);return cljs.core.cons(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[d.cljs$core$IFn$_invoke$arity$1?d.cljs$core$IFn$_invoke$arity$1(g):d.call(null,g),m(f[g])],null),v(cljs.core.rest(a)))}return null}}}(a,b,c,d),null,null)}}(a,c,d,e)(cljs.core.js_keys(f))}()):f}}(b,c,d,e)(a)};cljs.core.js__GT_clj.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);return cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic(b,a)};cljs.core.js__GT_clj.cljs$lang$maxFixedArity=1;
cljs.core.memoize=function(a){return function(b){return function(){var c=function(c){var d=cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(b):cljs.core.deref.call(null,b),c,cljs.core.lookup_sentinel);d===cljs.core.lookup_sentinel&&(d=cljs.core.apply.cljs$core$IFn$_invoke$arity$2(a,c),cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(b,cljs.core.assoc,c,d));return d},d=function(a){var b=null;if(0<arguments.length){for(var b=
0,d=Array(arguments.length-0);b<d.length;)d[b]=arguments[b+0],++b;b=new cljs.core.IndexedSeq(d,0,null)}return c.call(this,b)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return c(a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}()}(function(){var a=cljs.core.PersistentArrayMap.EMPTY;return cljs.core.atom.cljs$core$IFn$_invoke$arity$1?cljs.core.atom.cljs$core$IFn$_invoke$arity$1(a):cljs.core.atom.call(null,a)}())};
cljs.core.trampoline=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.trampoline.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:return b=new cljs.core.IndexedSeq(b.slice(1),0,null),cljs.core.trampoline.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)}};
cljs.core.trampoline.cljs$core$IFn$_invoke$arity$1=function(a){for(;;)if(a=a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null),!cljs.core.fn_QMARK_(a))return a};cljs.core.trampoline.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.trampoline.cljs$core$IFn$_invoke$arity$1(function(){return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(a,b)})};
cljs.core.trampoline.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);return cljs.core.trampoline.cljs$core$IFn$_invoke$arity$variadic(b,a)};cljs.core.trampoline.cljs$lang$maxFixedArity=1;
cljs.core.rand=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.core.rand.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.rand.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};cljs.core.rand.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.rand.cljs$core$IFn$_invoke$arity$1(1)};
cljs.core.rand.cljs$core$IFn$_invoke$arity$1=function(a){return Math.random()*a};cljs.core.rand.cljs$lang$maxFixedArity=1;cljs.core.rand_int=function(a){return Math.floor(Math.random()*a)};cljs.core.rand_nth=function(a){return cljs.core.nth.cljs$core$IFn$_invoke$arity$2(a,cljs.core.rand_int(cljs.core.count(a)))};
cljs.core.group_by=function(a,b){return cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(b,d){var c=a.cljs$core$IFn$_invoke$arity$1?a.cljs$core$IFn$_invoke$arity$1(d):a.call(null,d);return cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(b,c,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(b,c,cljs.core.PersistentVector.EMPTY),d))},cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),b))};
cljs.core.make_hierarchy=function(){return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"parents","parents",-2027538891),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"descendants","descendants",1824886031),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"ancestors","ancestors",-776045424),cljs.core.PersistentArrayMap.EMPTY],null)};cljs.core._global_hierarchy=null;
cljs.core.get_global_hierarchy=function(){if(null==cljs.core._global_hierarchy){var a=cljs.core;var b=cljs.core.make_hierarchy();b=cljs.core.atom.cljs$core$IFn$_invoke$arity$1?cljs.core.atom.cljs$core$IFn$_invoke$arity$1(b):cljs.core.atom.call(null,b);a._global_hierarchy=b}return cljs.core._global_hierarchy};
cljs.core.swap_global_hierarchy_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return cljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};cljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.swap_BANG_,cljs.core.get_global_hierarchy(),a,b)};
cljs.core.swap_global_hierarchy_BANG_.cljs$lang$maxFixedArity=1;cljs.core.swap_global_hierarchy_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);return cljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic(b,a)};
cljs.core.isa_QMARK_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(function(){var a=cljs.core.get_global_hierarchy();return cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(a):cljs.core.deref.call(null,a)}(),a,b)};
cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(b,c);if(!d&&!(d=cljs.core.contains_QMARK_((new cljs.core.Keyword(null,"ancestors","ancestors",-776045424)).cljs$core$IFn$_invoke$arity$1(a).call(null,b),c))&&(d=cljs.core.vector_QMARK_(c))&&(d=cljs.core.vector_QMARK_(b)))if(d=cljs.core.count(c)===cljs.core.count(b))for(var d=!0,e=0;;)if(d&&e!==cljs.core.count(c))d=cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(a,b.cljs$core$IFn$_invoke$arity$1?
b.cljs$core$IFn$_invoke$arity$1(e):b.call(null,e),c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(e):c.call(null,e)),e+=1;else return d;else return d;else return d};cljs.core.isa_QMARK_.cljs$lang$maxFixedArity=3;
cljs.core.parents=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.parents.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.parents.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.parents.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.parents.cljs$core$IFn$_invoke$arity$2(function(){var a=cljs.core.get_global_hierarchy();return cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(a):cljs.core.deref.call(null,a)}(),a)};
cljs.core.parents.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.not_empty(cljs.core.get.cljs$core$IFn$_invoke$arity$2((new cljs.core.Keyword(null,"parents","parents",-2027538891)).cljs$core$IFn$_invoke$arity$1(a),b))};cljs.core.parents.cljs$lang$maxFixedArity=2;
cljs.core.ancestors=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.ancestors.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.ancestors.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2(function(){var a=cljs.core.get_global_hierarchy();return cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(a):cljs.core.deref.call(null,a)}(),a)};
cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.not_empty(cljs.core.get.cljs$core$IFn$_invoke$arity$2((new cljs.core.Keyword(null,"ancestors","ancestors",-776045424)).cljs$core$IFn$_invoke$arity$1(a),b))};cljs.core.ancestors.cljs$lang$maxFixedArity=2;
cljs.core.descendants=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.descendants.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.descendants.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.descendants.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.descendants.cljs$core$IFn$_invoke$arity$2(function(){var a=cljs.core.get_global_hierarchy();return cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(a):cljs.core.deref.call(null,a)}(),a)};
cljs.core.descendants.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.not_empty(cljs.core.get.cljs$core$IFn$_invoke$arity$2((new cljs.core.Keyword(null,"descendants","descendants",1824886031)).cljs$core$IFn$_invoke$arity$1(a),b))};cljs.core.descendants.cljs$lang$maxFixedArity=2;
cljs.core.derive=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.derive.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.derive.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.derive.cljs$core$IFn$_invoke$arity$2=function(a,b){if(!cljs.core.truth_(cljs.core.namespace(b)))throw Error("Assert failed: (namespace parent)");cljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.derive,cljs.core.array_seq([a,b],0));return null};
cljs.core.derive.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(!cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(b,c))throw Error("Assert failed: (not\x3d tag parent)");var d=(new cljs.core.Keyword(null,"parents","parents",-2027538891)).cljs$core$IFn$_invoke$arity$1(a),e=(new cljs.core.Keyword(null,"descendants","descendants",1824886031)).cljs$core$IFn$_invoke$arity$1(a),f=(new cljs.core.Keyword(null,"ancestors","ancestors",-776045424)).cljs$core$IFn$_invoke$arity$1(a),g=function(a,b,c){return function(d,
e,f,g,h){return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a,b,c){return function(a,b){return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,cljs.core.get.cljs$core$IFn$_invoke$arity$3(h,b,cljs.core.PersistentHashSet.EMPTY),cljs.core.cons(g,h.cljs$core$IFn$_invoke$arity$1?h.cljs$core$IFn$_invoke$arity$1(g):h.call(null,g))))}}(a,b,c),d,cljs.core.cons(e,f.cljs$core$IFn$_invoke$arity$1?f.cljs$core$IFn$_invoke$arity$1(e):f.call(null,
e)))}}(d,e,f);if(cljs.core.contains_QMARK_(d.cljs$core$IFn$_invoke$arity$1?d.cljs$core$IFn$_invoke$arity$1(b):d.call(null,b),c))b=null;else{if(cljs.core.contains_QMARK_(f.cljs$core$IFn$_invoke$arity$1?f.cljs$core$IFn$_invoke$arity$1(b):f.call(null,b),c))throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1("already has"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),cljs.core.str.cljs$core$IFn$_invoke$arity$1("as ancestor")].join(""));if(cljs.core.contains_QMARK_(f.cljs$core$IFn$_invoke$arity$1?
f.cljs$core$IFn$_invoke$arity$1(c):f.call(null,c),b))throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Cyclic derivation:"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),cljs.core.str.cljs$core$IFn$_invoke$arity$1("has"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1("as ancestor")].join(""));b=new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"parents","parents",-2027538891),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3((new cljs.core.Keyword(null,
"parents","parents",-2027538891)).cljs$core$IFn$_invoke$arity$1(a),b,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(d,b,cljs.core.PersistentHashSet.EMPTY),c)),new cljs.core.Keyword(null,"ancestors","ancestors",-776045424),g((new cljs.core.Keyword(null,"ancestors","ancestors",-776045424)).cljs$core$IFn$_invoke$arity$1(a),b,e,c,f),new cljs.core.Keyword(null,"descendants","descendants",1824886031),g((new cljs.core.Keyword(null,"descendants","descendants",1824886031)).cljs$core$IFn$_invoke$arity$1(a),
c,f,b,e)],null)}return cljs.core.truth_(b)?b:a};cljs.core.derive.cljs$lang$maxFixedArity=3;
cljs.core.underive=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.underive.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.underive.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.underive.cljs$core$IFn$_invoke$arity$2=function(a,b){cljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.underive,cljs.core.array_seq([a,b],0));return null};
cljs.core.underive.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=(new cljs.core.Keyword(null,"parents","parents",-2027538891)).cljs$core$IFn$_invoke$arity$1(a),e=cljs.core.truth_(d.cljs$core$IFn$_invoke$arity$1?d.cljs$core$IFn$_invoke$arity$1(b):d.call(null,b))?cljs.core.disj.cljs$core$IFn$_invoke$arity$2(d.cljs$core$IFn$_invoke$arity$1?d.cljs$core$IFn$_invoke$arity$1(b):d.call(null,b),c):cljs.core.PersistentHashSet.EMPTY,f=cljs.core.truth_(cljs.core.not_empty(e))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(d,
b,e):cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(d,b),g=cljs.core.flatten(cljs.core.map.cljs$core$IFn$_invoke$arity$2(function(a,b,c){return function(a){return cljs.core.cons(cljs.core.first(a),cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(cljs.core.first(a),cljs.core.second(a)))}}(d,e,f),cljs.core.seq(f)));return cljs.core.contains_QMARK_(d.cljs$core$IFn$_invoke$arity$1?d.cljs$core$IFn$_invoke$arity$1(b):d.call(null,b),c)?cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a,b,c,d){return function(a,
b){return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.derive,a,b)}}(d,e,f,g),cljs.core.make_hierarchy(),cljs.core.partition.cljs$core$IFn$_invoke$arity$2(2,g)):a};cljs.core.underive.cljs$lang$maxFixedArity=3;
cljs.core.reset_cache=function(a,b,c,d){cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(a,function(a){return cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(b):cljs.core.deref.call(null,b)});return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(c,function(a){return cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(d):cljs.core.deref.call(null,d)})};
cljs.core.prefers_STAR_=function(a,b,c){var d=(cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(c):cljs.core.deref.call(null,c)).call(null,a),d=cljs.core.truth_(cljs.core.truth_(d)?d.cljs$core$IFn$_invoke$arity$1?d.cljs$core$IFn$_invoke$arity$1(b):d.call(null,b):d)?!0:null;if(cljs.core.truth_(d))return d;d=function(){for(var d=cljs.core.parents.cljs$core$IFn$_invoke$arity$1(b);;)if(0<cljs.core.count(d))cljs.core.truth_(function(){var b=cljs.core.first(d);
return cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3?cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3(a,b,c):cljs.core.prefers_STAR_.call(null,a,b,c)}()),d=cljs.core.rest(d);else return null}();if(cljs.core.truth_(d))return d;d=function(){for(var d=cljs.core.parents.cljs$core$IFn$_invoke$arity$1(a);;)if(0<cljs.core.count(d))cljs.core.truth_(function(){var a=cljs.core.first(d);return cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3?cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3(a,
b,c):cljs.core.prefers_STAR_.call(null,a,b,c)}()),d=cljs.core.rest(d);else return null}();return cljs.core.truth_(d)?d:!1};cljs.core.dominates=function(a,b,c,d){c=cljs.core.prefers_STAR_(a,b,c);return cljs.core.truth_(c)?c:cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(d,a,b)};
cljs.core.find_and_cache_best_method=function(a,b,c,d,e,f,g,h){var k=cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(d,f){var g=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,0,null);cljs.core.nth.cljs$core$IFn$_invoke$arity$3(f,1,null);if(cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(c):cljs.core.deref.call(null,c),b,g)){var h=cljs.core.truth_(function(){var a=null==d;return a?a:cljs.core.dominates(g,
cljs.core.first(d),e,cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(c):cljs.core.deref.call(null,c))}())?f:d;if(!cljs.core.truth_(cljs.core.dominates(cljs.core.first(h),g,e,cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(c):cljs.core.deref.call(null,c))))throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Multiple methods in multimethod '"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1("' match dispatch value: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" -\x3e "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(g),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" and "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(", and neither is preferred")].join(""));return h}return d},null,cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(d):cljs.core.deref.call(null,d)),l=
function(){var a=(a=null==k)?(cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(d):cljs.core.deref.call(null,d)).call(null,h):a;return cljs.core.truth_(a)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,a],null):k}();if(cljs.core.truth_(l)){if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(g):cljs.core.deref.call(null,g),cljs.core.deref.cljs$core$IFn$_invoke$arity$1?
cljs.core.deref.cljs$core$IFn$_invoke$arity$1(c):cljs.core.deref.call(null,c)))return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(f,cljs.core.assoc,b,cljs.core.second(l)),cljs.core.second(l);cljs.core.reset_cache(f,d,g,c);return cljs.core.find_and_cache_best_method.cljs$core$IFn$_invoke$arity$8?cljs.core.find_and_cache_best_method.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h):cljs.core.find_and_cache_best_method.call(null,a,b,c,d,e,f,g,h)}return null};cljs.core.IMultiFn=function(){};
cljs.core._reset=function(a){if(null!=a&&null!=a.cljs$core$IMultiFn$_reset$arity$1)return a.cljs$core$IMultiFn$_reset$arity$1(a);var b=cljs.core._reset[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._reset._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IMultiFn.-reset",a);};
cljs.core._add_method=function(a,b,c){if(null!=a&&null!=a.cljs$core$IMultiFn$_add_method$arity$3)return a.cljs$core$IMultiFn$_add_method$arity$3(a,b,c);var d=cljs.core._add_method[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._add_method._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("IMultiFn.-add-method",
a);};
cljs.core._remove_method=function(a,b){if(null!=a&&null!=a.cljs$core$IMultiFn$_remove_method$arity$2)return a.cljs$core$IMultiFn$_remove_method$arity$2(a,b);var c=cljs.core._remove_method[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._remove_method._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IMultiFn.-remove-method",a);
};
cljs.core._prefer_method=function(a,b,c){if(null!=a&&null!=a.cljs$core$IMultiFn$_prefer_method$arity$3)return a.cljs$core$IMultiFn$_prefer_method$arity$3(a,b,c);var d=cljs.core._prefer_method[goog.typeOf(null==a?null:a)];if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);d=cljs.core._prefer_method._;if(null!=d)return d.cljs$core$IFn$_invoke$arity$3?d.cljs$core$IFn$_invoke$arity$3(a,b,c):d.call(null,a,b,c);throw cljs.core.missing_protocol("IMultiFn.-prefer-method",a);
};cljs.core._get_method=function(a,b){if(null!=a&&null!=a.cljs$core$IMultiFn$_get_method$arity$2)return a.cljs$core$IMultiFn$_get_method$arity$2(a,b);var c=cljs.core._get_method[goog.typeOf(null==a?null:a)];if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);c=cljs.core._get_method._;if(null!=c)return c.cljs$core$IFn$_invoke$arity$2?c.cljs$core$IFn$_invoke$arity$2(a,b):c.call(null,a,b);throw cljs.core.missing_protocol("IMultiFn.-get-method",a);};
cljs.core._methods=function(a){if(null!=a&&null!=a.cljs$core$IMultiFn$_methods$arity$1)return a.cljs$core$IMultiFn$_methods$arity$1(a);var b=cljs.core._methods[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._methods._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IMultiFn.-methods",a);};
cljs.core._prefers=function(a){if(null!=a&&null!=a.cljs$core$IMultiFn$_prefers$arity$1)return a.cljs$core$IMultiFn$_prefers$arity$1(a);var b=cljs.core._prefers[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._prefers._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IMultiFn.-prefers",a);};
cljs.core._default_dispatch_val=function(a){if(null!=a&&null!=a.cljs$core$IMultiFn$_default_dispatch_val$arity$1)return a.cljs$core$IMultiFn$_default_dispatch_val$arity$1(a);var b=cljs.core._default_dispatch_val[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._default_dispatch_val._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IMultiFn.-default-dispatch-val",
a);};cljs.core._dispatch_fn=function(a){if(null!=a&&null!=a.cljs$core$IMultiFn$_dispatch_fn$arity$1)return a.cljs$core$IMultiFn$_dispatch_fn$arity$1(a);var b=cljs.core._dispatch_fn[goog.typeOf(null==a?null:a)];if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);b=cljs.core._dispatch_fn._;if(null!=b)return b.cljs$core$IFn$_invoke$arity$1?b.cljs$core$IFn$_invoke$arity$1(a):b.call(null,a);throw cljs.core.missing_protocol("IMultiFn.-dispatch-fn",a);};
cljs.core.throw_no_method_error=function(a,b){throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No method in multimethod '"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1("' for dispatch value: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};
cljs.core.MultiFn=function(a,b,c,d,e,f,g,h){this.name=a;this.dispatch_fn=b;this.default_dispatch_val=c;this.hierarchy=d;this.method_table=e;this.prefer_table=f;this.method_cache=g;this.cached_hierarchy=h;this.cljs$lang$protocol_mask$partition0$=4194305;this.cljs$lang$protocol_mask$partition1$=4352};
cljs.core.MultiFn.prototype.call=function(){var a=null,b=function(a){a=this;var b=a.dispatch_fn.cljs$core$IFn$_invoke$arity$0?a.dispatch_fn.cljs$core$IFn$_invoke$arity$0():a.dispatch_fn.call(null),c=this.cljs$core$IMultiFn$_get_method$arity$2(null,b);cljs.core.truth_(c)||cljs.core.throw_no_method_error(a.name,b);return c.cljs$core$IFn$_invoke$arity$0?c.cljs$core$IFn$_invoke$arity$0():c.call(null)},c=function(a,b){a=this;var c=a.dispatch_fn.cljs$core$IFn$_invoke$arity$1?a.dispatch_fn.cljs$core$IFn$_invoke$arity$1(b):
a.dispatch_fn.call(null,b),d=this.cljs$core$IMultiFn$_get_method$arity$2(null,c);cljs.core.truth_(d)||cljs.core.throw_no_method_error(a.name,c);return d.cljs$core$IFn$_invoke$arity$1?d.cljs$core$IFn$_invoke$arity$1(b):d.call(null,b)},d=function(a,b,c){a=this;var d=a.dispatch_fn.cljs$core$IFn$_invoke$arity$2?a.dispatch_fn.cljs$core$IFn$_invoke$arity$2(b,c):a.dispatch_fn.call(null,b,c),e=this.cljs$core$IMultiFn$_get_method$arity$2(null,d);cljs.core.truth_(e)||cljs.core.throw_no_method_error(a.name,
d);return e.cljs$core$IFn$_invoke$arity$2?e.cljs$core$IFn$_invoke$arity$2(b,c):e.call(null,b,c)},e=function(a,b,c,d){a=this;var e=a.dispatch_fn.cljs$core$IFn$_invoke$arity$3?a.dispatch_fn.cljs$core$IFn$_invoke$arity$3(b,c,d):a.dispatch_fn.call(null,b,c,d),f=this.cljs$core$IMultiFn$_get_method$arity$2(null,e);cljs.core.truth_(f)||cljs.core.throw_no_method_error(a.name,e);return f.cljs$core$IFn$_invoke$arity$3?f.cljs$core$IFn$_invoke$arity$3(b,c,d):f.call(null,b,c,d)},f=function(a,b,c,d,e){a=this;var f=
a.dispatch_fn.cljs$core$IFn$_invoke$arity$4?a.dispatch_fn.cljs$core$IFn$_invoke$arity$4(b,c,d,e):a.dispatch_fn.call(null,b,c,d,e),g=this.cljs$core$IMultiFn$_get_method$arity$2(null,f);cljs.core.truth_(g)||cljs.core.throw_no_method_error(a.name,f);return g.cljs$core$IFn$_invoke$arity$4?g.cljs$core$IFn$_invoke$arity$4(b,c,d,e):g.call(null,b,c,d,e)},g=function(a,b,c,d,e,f){a=this;var g=a.dispatch_fn.cljs$core$IFn$_invoke$arity$5?a.dispatch_fn.cljs$core$IFn$_invoke$arity$5(b,c,d,e,f):a.dispatch_fn.call(null,
b,c,d,e,f),h=this.cljs$core$IMultiFn$_get_method$arity$2(null,g);cljs.core.truth_(h)||cljs.core.throw_no_method_error(a.name,g);return h.cljs$core$IFn$_invoke$arity$5?h.cljs$core$IFn$_invoke$arity$5(b,c,d,e,f):h.call(null,b,c,d,e,f)},h=function(a,b,c,d,e,f,g){a=this;var h=a.dispatch_fn.cljs$core$IFn$_invoke$arity$6?a.dispatch_fn.cljs$core$IFn$_invoke$arity$6(b,c,d,e,f,g):a.dispatch_fn.call(null,b,c,d,e,f,g),k=this.cljs$core$IMultiFn$_get_method$arity$2(null,h);cljs.core.truth_(k)||cljs.core.throw_no_method_error(a.name,
h);return k.cljs$core$IFn$_invoke$arity$6?k.cljs$core$IFn$_invoke$arity$6(b,c,d,e,f,g):k.call(null,b,c,d,e,f,g)},k=function(a,b,c,d,e,f,g,h){a=this;var k=a.dispatch_fn.cljs$core$IFn$_invoke$arity$7?a.dispatch_fn.cljs$core$IFn$_invoke$arity$7(b,c,d,e,f,g,h):a.dispatch_fn.call(null,b,c,d,e,f,g,h),l=this.cljs$core$IMultiFn$_get_method$arity$2(null,k);cljs.core.truth_(l)||cljs.core.throw_no_method_error(a.name,k);return l.cljs$core$IFn$_invoke$arity$7?l.cljs$core$IFn$_invoke$arity$7(b,c,d,e,f,g,h):l.call(null,
b,c,d,e,f,g,h)},l=function(a,b,c,d,e,f,g,h,k){a=this;var l=a.dispatch_fn.cljs$core$IFn$_invoke$arity$8?a.dispatch_fn.cljs$core$IFn$_invoke$arity$8(b,c,d,e,f,g,h,k):a.dispatch_fn.call(null,b,c,d,e,f,g,h,k),m=this.cljs$core$IMultiFn$_get_method$arity$2(null,l);cljs.core.truth_(m)||cljs.core.throw_no_method_error(a.name,l);return m.cljs$core$IFn$_invoke$arity$8?m.cljs$core$IFn$_invoke$arity$8(b,c,d,e,f,g,h,k):m.call(null,b,c,d,e,f,g,h,k)},m=function(a,b,c,d,e,f,g,h,k,l){a=this;var m=a.dispatch_fn.cljs$core$IFn$_invoke$arity$9?
a.dispatch_fn.cljs$core$IFn$_invoke$arity$9(b,c,d,e,f,g,h,k,l):a.dispatch_fn.call(null,b,c,d,e,f,g,h,k,l),n=this.cljs$core$IMultiFn$_get_method$arity$2(null,m);cljs.core.truth_(n)||cljs.core.throw_no_method_error(a.name,m);return n.cljs$core$IFn$_invoke$arity$9?n.cljs$core$IFn$_invoke$arity$9(b,c,d,e,f,g,h,k,l):n.call(null,b,c,d,e,f,g,h,k,l)},n=function(a,b,c,d,e,f,g,h,k,l,m){a=this;var n=a.dispatch_fn.cljs$core$IFn$_invoke$arity$10?a.dispatch_fn.cljs$core$IFn$_invoke$arity$10(b,c,d,e,f,g,h,k,l,m):
a.dispatch_fn.call(null,b,c,d,e,f,g,h,k,l,m),p=this.cljs$core$IMultiFn$_get_method$arity$2(null,n);cljs.core.truth_(p)||cljs.core.throw_no_method_error(a.name,n);return p.cljs$core$IFn$_invoke$arity$10?p.cljs$core$IFn$_invoke$arity$10(b,c,d,e,f,g,h,k,l,m):p.call(null,b,c,d,e,f,g,h,k,l,m)},p=function(a,b,c,d,e,f,g,h,k,l,m,n){a=this;var p=a.dispatch_fn.cljs$core$IFn$_invoke$arity$11?a.dispatch_fn.cljs$core$IFn$_invoke$arity$11(b,c,d,e,f,g,h,k,l,m,n):a.dispatch_fn.call(null,b,c,d,e,f,g,h,k,l,m,n),q=
this.cljs$core$IMultiFn$_get_method$arity$2(null,p);cljs.core.truth_(q)||cljs.core.throw_no_method_error(a.name,p);return q.cljs$core$IFn$_invoke$arity$11?q.cljs$core$IFn$_invoke$arity$11(b,c,d,e,f,g,h,k,l,m,n):q.call(null,b,c,d,e,f,g,h,k,l,m,n)},q=function(a,b,c,d,e,f,g,h,k,l,m,n,p){a=this;var q=a.dispatch_fn.cljs$core$IFn$_invoke$arity$12?a.dispatch_fn.cljs$core$IFn$_invoke$arity$12(b,c,d,e,f,g,h,k,l,m,n,p):a.dispatch_fn.call(null,b,c,d,e,f,g,h,k,l,m,n,p),r=this.cljs$core$IMultiFn$_get_method$arity$2(null,
q);cljs.core.truth_(r)||cljs.core.throw_no_method_error(a.name,q);return r.cljs$core$IFn$_invoke$arity$12?r.cljs$core$IFn$_invoke$arity$12(b,c,d,e,f,g,h,k,l,m,n,p):r.call(null,b,c,d,e,f,g,h,k,l,m,n,p)},r=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){a=this;var r=a.dispatch_fn.cljs$core$IFn$_invoke$arity$13?a.dispatch_fn.cljs$core$IFn$_invoke$arity$13(b,c,d,e,f,g,h,k,l,m,n,p,q):a.dispatch_fn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q),u=this.cljs$core$IMultiFn$_get_method$arity$2(null,r);cljs.core.truth_(u)||cljs.core.throw_no_method_error(a.name,
r);return u.cljs$core$IFn$_invoke$arity$13?u.cljs$core$IFn$_invoke$arity$13(b,c,d,e,f,g,h,k,l,m,n,p,q):u.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q)},u=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){a=this;var u=a.dispatch_fn.cljs$core$IFn$_invoke$arity$14?a.dispatch_fn.cljs$core$IFn$_invoke$arity$14(b,c,d,e,f,g,h,k,l,m,n,p,q,r):a.dispatch_fn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r),t=this.cljs$core$IMultiFn$_get_method$arity$2(null,u);cljs.core.truth_(t)||cljs.core.throw_no_method_error(a.name,u);return t.cljs$core$IFn$_invoke$arity$14?
t.cljs$core$IFn$_invoke$arity$14(b,c,d,e,f,g,h,k,l,m,n,p,q,r):t.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r)},t=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){a=this;var t=a.dispatch_fn.cljs$core$IFn$_invoke$arity$15?a.dispatch_fn.cljs$core$IFn$_invoke$arity$15(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u):a.dispatch_fn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u),v=this.cljs$core$IMultiFn$_get_method$arity$2(null,t);cljs.core.truth_(v)||cljs.core.throw_no_method_error(a.name,t);return v.cljs$core$IFn$_invoke$arity$15?v.cljs$core$IFn$_invoke$arity$15(b,
c,d,e,f,g,h,k,l,m,n,p,q,r,u):v.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u)},v=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){a=this;var v=a.dispatch_fn.cljs$core$IFn$_invoke$arity$16?a.dispatch_fn.cljs$core$IFn$_invoke$arity$16(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t):a.dispatch_fn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t),w=this.cljs$core$IMultiFn$_get_method$arity$2(null,v);cljs.core.truth_(w)||cljs.core.throw_no_method_error(a.name,v);return w.cljs$core$IFn$_invoke$arity$16?w.cljs$core$IFn$_invoke$arity$16(b,
c,d,e,f,g,h,k,l,m,n,p,q,r,u,t):w.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t)},w=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){a=this;var w=a.dispatch_fn.cljs$core$IFn$_invoke$arity$17?a.dispatch_fn.cljs$core$IFn$_invoke$arity$17(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v):a.dispatch_fn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v),z=this.cljs$core$IMultiFn$_get_method$arity$2(null,w);cljs.core.truth_(z)||cljs.core.throw_no_method_error(a.name,w);return z.cljs$core$IFn$_invoke$arity$17?z.cljs$core$IFn$_invoke$arity$17(b,
c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v):z.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v)},x=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){a=this;var z=a.dispatch_fn.cljs$core$IFn$_invoke$arity$18?a.dispatch_fn.cljs$core$IFn$_invoke$arity$18(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w):a.dispatch_fn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w),x=this.cljs$core$IMultiFn$_get_method$arity$2(null,z);cljs.core.truth_(x)||cljs.core.throw_no_method_error(a.name,z);return x.cljs$core$IFn$_invoke$arity$18?x.cljs$core$IFn$_invoke$arity$18(b,
c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w):x.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w)},y=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z){a=this;var x=a.dispatch_fn.cljs$core$IFn$_invoke$arity$19?a.dispatch_fn.cljs$core$IFn$_invoke$arity$19(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z):a.dispatch_fn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z),A=this.cljs$core$IMultiFn$_get_method$arity$2(null,x);cljs.core.truth_(A)||cljs.core.throw_no_method_error(a.name,x);return A.cljs$core$IFn$_invoke$arity$19?A.cljs$core$IFn$_invoke$arity$19(b,
c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z):A.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z)},z=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x){a=this;var A=a.dispatch_fn.cljs$core$IFn$_invoke$arity$20?a.dispatch_fn.cljs$core$IFn$_invoke$arity$20(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x):a.dispatch_fn.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x),y=this.cljs$core$IMultiFn$_get_method$arity$2(null,A);cljs.core.truth_(y)||cljs.core.throw_no_method_error(a.name,A);return y.cljs$core$IFn$_invoke$arity$20?
y.cljs$core$IFn$_invoke$arity$20(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x):y.call(null,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x)},A=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,A){a=this;var y=cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(a.dispatch_fn,b,c,d,e,cljs.core.array_seq([f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,A],0)),E=this.cljs$core$IMultiFn$_get_method$arity$2(null,y);cljs.core.truth_(E)||cljs.core.throw_no_method_error(a.name,y);return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(E,
b,c,d,e,cljs.core.array_seq([f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,A],0))},a=function(a,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q,S,V,T,U,R,X){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,B);case 3:return d.call(this,a,B,C);case 4:return e.call(this,a,B,C,G);case 5:return f.call(this,a,B,C,G,E);case 6:return g.call(this,a,B,C,G,E,D);case 7:return h.call(this,a,B,C,G,E,D,L);case 8:return k.call(this,a,B,C,G,E,D,L,F);case 9:return l.call(this,a,B,C,G,E,D,L,F,K);case 10:return m.call(this,
a,B,C,G,E,D,L,F,K,M);case 11:return n.call(this,a,B,C,G,E,D,L,F,K,M,I);case 12:return p.call(this,a,B,C,G,E,D,L,F,K,M,I,H);case 13:return q.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P);case 14:return r.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O);case 15:return u.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O,N);case 16:return t.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q);case 17:return v.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q,S);case 18:return w.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q,S,V);case 19:return x.call(this,
a,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q,S,V,T);case 20:return y.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q,S,V,T,U);case 21:return z.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q,S,V,T,U,R);case 22:return A.call(this,a,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q,S,V,T,U,R,X)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=c;a.cljs$core$IFn$_invoke$arity$3=d;a.cljs$core$IFn$_invoke$arity$4=e;a.cljs$core$IFn$_invoke$arity$5=f;a.cljs$core$IFn$_invoke$arity$6=
g;a.cljs$core$IFn$_invoke$arity$7=h;a.cljs$core$IFn$_invoke$arity$8=k;a.cljs$core$IFn$_invoke$arity$9=l;a.cljs$core$IFn$_invoke$arity$10=m;a.cljs$core$IFn$_invoke$arity$11=n;a.cljs$core$IFn$_invoke$arity$12=p;a.cljs$core$IFn$_invoke$arity$13=q;a.cljs$core$IFn$_invoke$arity$14=r;a.cljs$core$IFn$_invoke$arity$15=u;a.cljs$core$IFn$_invoke$arity$16=t;a.cljs$core$IFn$_invoke$arity$17=v;a.cljs$core$IFn$_invoke$arity$18=w;a.cljs$core$IFn$_invoke$arity$19=x;a.cljs$core$IFn$_invoke$arity$20=y;a.cljs$core$IFn$_invoke$arity$21=
z;a.cljs$core$IFn$_invoke$arity$22=A;return a}();cljs.core.MultiFn.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone(b)))};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$0=function(){var a=this.dispatch_fn.cljs$core$IFn$_invoke$arity$0?this.dispatch_fn.cljs$core$IFn$_invoke$arity$0():this.dispatch_fn.call(null),b=this.cljs$core$IMultiFn$_get_method$arity$2(null,a);cljs.core.truth_(b)||cljs.core.throw_no_method_error(this.name,a);return b.cljs$core$IFn$_invoke$arity$0?b.cljs$core$IFn$_invoke$arity$0():b.call(null)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$1=function(a){var b=this.dispatch_fn.cljs$core$IFn$_invoke$arity$1?this.dispatch_fn.cljs$core$IFn$_invoke$arity$1(a):this.dispatch_fn.call(null,a),c=this.cljs$core$IMultiFn$_get_method$arity$2(null,b);cljs.core.truth_(c)||cljs.core.throw_no_method_error(this.name,b);return c.cljs$core$IFn$_invoke$arity$1?c.cljs$core$IFn$_invoke$arity$1(a):c.call(null,a)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=this.dispatch_fn.cljs$core$IFn$_invoke$arity$2?this.dispatch_fn.cljs$core$IFn$_invoke$arity$2(a,b):this.dispatch_fn.call(null,a,b),d=this.cljs$core$IMultiFn$_get_method$arity$2(null,c);cljs.core.truth_(d)||cljs.core.throw_no_method_error(this.name,c);return d.cljs$core$IFn$_invoke$arity$2?d.cljs$core$IFn$_invoke$arity$2(a,b):d.call(null,a,b)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=this.dispatch_fn.cljs$core$IFn$_invoke$arity$3?this.dispatch_fn.cljs$core$IFn$_invoke$arity$3(a,b,c):this.dispatch_fn.call(null,a,b,c),e=this.cljs$core$IMultiFn$_get_method$arity$2(null,d);cljs.core.truth_(e)||cljs.core.throw_no_method_error(this.name,d);return e.cljs$core$IFn$_invoke$arity$3?e.cljs$core$IFn$_invoke$arity$3(a,b,c):e.call(null,a,b,c)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){var e=this.dispatch_fn.cljs$core$IFn$_invoke$arity$4?this.dispatch_fn.cljs$core$IFn$_invoke$arity$4(a,b,c,d):this.dispatch_fn.call(null,a,b,c,d),f=this.cljs$core$IMultiFn$_get_method$arity$2(null,e);cljs.core.truth_(f)||cljs.core.throw_no_method_error(this.name,e);return f.cljs$core$IFn$_invoke$arity$4?f.cljs$core$IFn$_invoke$arity$4(a,b,c,d):f.call(null,a,b,c,d)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){var f=this.dispatch_fn.cljs$core$IFn$_invoke$arity$5?this.dispatch_fn.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e):this.dispatch_fn.call(null,a,b,c,d,e),g=this.cljs$core$IMultiFn$_get_method$arity$2(null,f);cljs.core.truth_(g)||cljs.core.throw_no_method_error(this.name,f);return g.cljs$core$IFn$_invoke$arity$5?g.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e):g.call(null,a,b,c,d,e)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){var g=this.dispatch_fn.cljs$core$IFn$_invoke$arity$6?this.dispatch_fn.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f):this.dispatch_fn.call(null,a,b,c,d,e,f),h=this.cljs$core$IMultiFn$_get_method$arity$2(null,g);cljs.core.truth_(h)||cljs.core.throw_no_method_error(this.name,g);return h.cljs$core$IFn$_invoke$arity$6?h.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f):h.call(null,a,b,c,d,e,f)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$7=function(a,b,c,d,e,f,g){var h=this.dispatch_fn.cljs$core$IFn$_invoke$arity$7?this.dispatch_fn.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g):this.dispatch_fn.call(null,a,b,c,d,e,f,g),k=this.cljs$core$IMultiFn$_get_method$arity$2(null,h);cljs.core.truth_(k)||cljs.core.throw_no_method_error(this.name,h);return k.cljs$core$IFn$_invoke$arity$7?k.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g):k.call(null,a,b,c,d,e,f,g)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$8=function(a,b,c,d,e,f,g,h){var k=this.dispatch_fn.cljs$core$IFn$_invoke$arity$8?this.dispatch_fn.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h),l=this.cljs$core$IMultiFn$_get_method$arity$2(null,k);cljs.core.truth_(l)||cljs.core.throw_no_method_error(this.name,k);return l.cljs$core$IFn$_invoke$arity$8?l.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h):l.call(null,a,b,c,d,e,f,g,h)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$9=function(a,b,c,d,e,f,g,h,k){var l=this.dispatch_fn.cljs$core$IFn$_invoke$arity$9?this.dispatch_fn.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,k):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h,k),m=this.cljs$core$IMultiFn$_get_method$arity$2(null,l);cljs.core.truth_(m)||cljs.core.throw_no_method_error(this.name,l);return m.cljs$core$IFn$_invoke$arity$9?m.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,k):m.call(null,a,b,c,d,e,f,g,h,k)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$10=function(a,b,c,d,e,f,g,h,k,l){var m=this.dispatch_fn.cljs$core$IFn$_invoke$arity$10?this.dispatch_fn.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,k,l):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h,k,l),n=this.cljs$core$IMultiFn$_get_method$arity$2(null,m);cljs.core.truth_(n)||cljs.core.throw_no_method_error(this.name,m);return n.cljs$core$IFn$_invoke$arity$10?n.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,k,l):n.call(null,a,b,c,d,e,f,g,h,
k,l)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$11=function(a,b,c,d,e,f,g,h,k,l,m){var n=this.dispatch_fn.cljs$core$IFn$_invoke$arity$11?this.dispatch_fn.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,k,l,m):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h,k,l,m),p=this.cljs$core$IMultiFn$_get_method$arity$2(null,n);cljs.core.truth_(p)||cljs.core.throw_no_method_error(this.name,n);return p.cljs$core$IFn$_invoke$arity$11?p.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,k,l,m):p.call(null,a,b,c,d,
e,f,g,h,k,l,m)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$12=function(a,b,c,d,e,f,g,h,k,l,m,n){var p=this.dispatch_fn.cljs$core$IFn$_invoke$arity$12?this.dispatch_fn.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,k,l,m,n):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h,k,l,m,n),q=this.cljs$core$IMultiFn$_get_method$arity$2(null,p);cljs.core.truth_(q)||cljs.core.throw_no_method_error(this.name,p);return q.cljs$core$IFn$_invoke$arity$12?q.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,k,l,m,n):q.call(null,
a,b,c,d,e,f,g,h,k,l,m,n)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$13=function(a,b,c,d,e,f,g,h,k,l,m,n,p){var q=this.dispatch_fn.cljs$core$IFn$_invoke$arity$13?this.dispatch_fn.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,k,l,m,n,p):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p),r=this.cljs$core$IMultiFn$_get_method$arity$2(null,q);cljs.core.truth_(r)||cljs.core.throw_no_method_error(this.name,q);return r.cljs$core$IFn$_invoke$arity$13?r.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,k,l,m,n,p):r.call(null,
a,b,c,d,e,f,g,h,k,l,m,n,p)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$14=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){var r=this.dispatch_fn.cljs$core$IFn$_invoke$arity$14?this.dispatch_fn.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,k,l,m,n,p,q):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q),u=this.cljs$core$IMultiFn$_get_method$arity$2(null,r);cljs.core.truth_(u)||cljs.core.throw_no_method_error(this.name,r);return u.cljs$core$IFn$_invoke$arity$14?u.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,k,l,m,n,
p,q):u.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$15=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){var u=this.dispatch_fn.cljs$core$IFn$_invoke$arity$15?this.dispatch_fn.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r),t=this.cljs$core$IMultiFn$_get_method$arity$2(null,u);cljs.core.truth_(t)||cljs.core.throw_no_method_error(this.name,u);return t.cljs$core$IFn$_invoke$arity$15?t.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,k,
l,m,n,p,q,r):t.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$16=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){var t=this.dispatch_fn.cljs$core$IFn$_invoke$arity$16?this.dispatch_fn.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u),v=this.cljs$core$IMultiFn$_get_method$arity$2(null,t);cljs.core.truth_(v)||cljs.core.throw_no_method_error(this.name,t);return v.cljs$core$IFn$_invoke$arity$16?v.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,
g,h,k,l,m,n,p,q,r,u):v.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$17=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){var v=this.dispatch_fn.cljs$core$IFn$_invoke$arity$17?this.dispatch_fn.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t),w=this.cljs$core$IMultiFn$_get_method$arity$2(null,v);cljs.core.truth_(w)||cljs.core.throw_no_method_error(this.name,v);return w.cljs$core$IFn$_invoke$arity$17?w.cljs$core$IFn$_invoke$arity$17(a,b,c,
d,e,f,g,h,k,l,m,n,p,q,r,u,t):w.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$18=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){var w=this.dispatch_fn.cljs$core$IFn$_invoke$arity$18?this.dispatch_fn.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v),x=this.cljs$core$IMultiFn$_get_method$arity$2(null,w);cljs.core.truth_(x)||cljs.core.throw_no_method_error(this.name,w);return x.cljs$core$IFn$_invoke$arity$18?x.cljs$core$IFn$_invoke$arity$18(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v):x.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$19=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){var x=this.dispatch_fn.cljs$core$IFn$_invoke$arity$19?this.dispatch_fn.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w),y=this.cljs$core$IMultiFn$_get_method$arity$2(null,x);cljs.core.truth_(y)||cljs.core.throw_no_method_error(this.name,x);return y.cljs$core$IFn$_invoke$arity$19?y.cljs$core$IFn$_invoke$arity$19(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w):y.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$20=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x){var y=this.dispatch_fn.cljs$core$IFn$_invoke$arity$20?this.dispatch_fn.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x):this.dispatch_fn.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x),z=this.cljs$core$IMultiFn$_get_method$arity$2(null,y);cljs.core.truth_(z)||cljs.core.throw_no_method_error(this.name,y);return z.cljs$core$IFn$_invoke$arity$20?z.cljs$core$IFn$_invoke$arity$20(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x):z.call(null,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x)};
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$21=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y){var z=cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(this.dispatch_fn,a,b,c,d,cljs.core.array_seq([e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y],0)),A=this.cljs$core$IMultiFn$_get_method$arity$2(null,z);cljs.core.truth_(A)||cljs.core.throw_no_method_error(this.name,z);return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(A,a,b,c,d,cljs.core.array_seq([e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y],
0))};
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_prefer_method$arity$3=function(a,b,c){if(cljs.core.truth_(cljs.core.prefers_STAR_(b,c,this.prefer_table)))throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Preference conflict in multimethod '"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.name),cljs.core.str.cljs$core$IFn$_invoke$arity$1("': "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" is already preferred to "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(this.prefer_table,
function(a){return function(a){return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(a,b,cljs.core.PersistentHashSet.EMPTY),c))}}(this));return cljs.core.reset_cache(this.method_cache,this.method_table,this.cached_hierarchy,this.hierarchy)};cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_default_dispatch_val$arity$1=function(a){return this.default_dispatch_val};
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_remove_method$arity$2=function(a,b){cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(this.method_table,cljs.core.dissoc,b);cljs.core.reset_cache(this.method_cache,this.method_table,this.cached_hierarchy,this.hierarchy);return this};
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_methods$arity$1=function(a){return cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(this.method_table):cljs.core.deref.call(null,this.method_table)};cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_prefers$arity$1=function(a){return cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(this.prefer_table):cljs.core.deref.call(null,this.prefer_table)};
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_dispatch_fn$arity$1=function(a){return this.dispatch_fn};cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_add_method$arity$3=function(a,b,c){cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(this.method_table,cljs.core.assoc,b,c);cljs.core.reset_cache(this.method_cache,this.method_table,this.cached_hierarchy,this.hierarchy);return this};
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_reset$arity$1=function(a){cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(this.method_table,function(a){return function(a){return cljs.core.PersistentArrayMap.EMPTY}}(this));cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(this.method_cache,function(a){return function(a){return cljs.core.PersistentArrayMap.EMPTY}}(this));cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(this.prefer_table,function(a){return function(a){return cljs.core.PersistentArrayMap.EMPTY}}(this));
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(this.cached_hierarchy,function(a){return function(a){return null}}(this));return this};
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_get_method$arity$2=function(a,b){cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(this.cached_hierarchy):cljs.core.deref.call(null,this.cached_hierarchy),cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(this.hierarchy):cljs.core.deref.call(null,this.hierarchy))||cljs.core.reset_cache(this.method_cache,this.method_table,this.cached_hierarchy,
this.hierarchy);var c=(cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(this.method_cache):cljs.core.deref.call(null,this.method_cache)).call(null,b);return cljs.core.truth_(c)?c:cljs.core.find_and_cache_best_method(this.name,b,this.hierarchy,this.method_table,this.prefer_table,this.method_cache,this.cached_hierarchy,this.default_dispatch_val)};cljs.core.MultiFn.prototype.cljs$core$INamed$_name$arity$1=function(a){return cljs.core._name(this.name)};
cljs.core.MultiFn.prototype.cljs$core$INamed$_namespace$arity$1=function(a){return cljs.core._namespace(this.name)};cljs.core.MultiFn.prototype.cljs$core$IHash$_hash$arity$1=function(a){return goog.getUid(this)};
cljs.core.MultiFn.getBasis=function(){return new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"name","name",-810760592,null),new cljs.core.Symbol(null,"dispatch-fn","dispatch-fn",-1401088155,null),new cljs.core.Symbol(null,"default-dispatch-val","default-dispatch-val",-1231201266,null),new cljs.core.Symbol(null,"hierarchy","hierarchy",587061186,null),new cljs.core.Symbol(null,"method-table","method-table",-1878263165,null),new cljs.core.Symbol(null,
"prefer-table","prefer-table",462168584,null),new cljs.core.Symbol(null,"method-cache","method-cache",1230193905,null),new cljs.core.Symbol(null,"cached-hierarchy","cached-hierarchy",-1085460203,null)],null)};cljs.core.MultiFn.cljs$lang$type=!0;cljs.core.MultiFn.cljs$lang$ctorStr="cljs.core/MultiFn";cljs.core.MultiFn.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/MultiFn")};cljs.core.__GT_MultiFn=function(a,b,c,d,e,f,g,h){return new cljs.core.MultiFn(a,b,c,d,e,f,g,h)};
cljs.core.remove_all_methods=function(a){return cljs.core._reset(a)};cljs.core.remove_method=function(a,b){return cljs.core._remove_method(a,b)};cljs.core.prefer_method=function(a,b,c){return cljs.core._prefer_method(a,b,c)};cljs.core.methods$=function(a){return cljs.core._methods(a)};cljs.core.get_method=function(a,b){return cljs.core._get_method(a,b)};cljs.core.prefers=function(a){return cljs.core._prefers(a)};cljs.core.default_dispatch_val=function(a){return cljs.core._default_dispatch_val(a)};
cljs.core.dispatch_fn=function(a){return cljs.core._dispatch_fn(a)};cljs.core.IUUID=function(){};cljs.core.UUID=function(a,b){this.uuid=a;this.__hash=b;this.cljs$lang$protocol_mask$partition0$=2153775104;this.cljs$lang$protocol_mask$partition1$=2048};cljs.core.UUID.prototype.cljs$core$IUUID$=cljs.core.PROTOCOL_SENTINEL;cljs.core.UUID.prototype.toString=function(){return this.uuid};cljs.core.UUID.prototype.equiv=function(a){return this.cljs$core$IEquiv$_equiv$arity$2(null,a)};
cljs.core.UUID.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return b instanceof cljs.core.UUID&&this.uuid===b.uuid};cljs.core.UUID.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core._write(b,[cljs.core.str.cljs$core$IFn$_invoke$arity$1('#uuid "'),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.uuid),cljs.core.str.cljs$core$IFn$_invoke$arity$1('"')].join(""))};
cljs.core.UUID.prototype.cljs$core$IHash$_hash$arity$1=function(a){null==this.__hash&&(this.__hash=cljs.core.hash(this.uuid));return this.__hash};cljs.core.UUID.prototype.cljs$core$IComparable$_compare$arity$2=function(a,b){return goog.array.defaultCompare(this.uuid,b.uuid)};
cljs.core.UUID.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"uuid","uuid",-504564192,null),cljs.core.with_meta(new cljs.core.Symbol(null,"__hash","__hash",-1328796629,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.UUID.cljs$lang$type=!0;cljs.core.UUID.cljs$lang$ctorStr="cljs.core/UUID";
cljs.core.UUID.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/UUID")};cljs.core.__GT_UUID=function(a,b){return new cljs.core.UUID(a,b)};cljs.core.uuid=function(a){return new cljs.core.UUID(a,null)};
cljs.core.random_uuid=function(){var a=function(){return cljs.core.rand_int(16).toString(16)},b=(8|3&cljs.core.rand_int(16)).toString(16);return cljs.core.uuid([cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("4"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),
cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a())].join(""))};cljs.core.uuid_QMARK_=function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IUUID$?!0:!1:!1};
cljs.core.pr_writer_ex_info=function(a,b,c){cljs.core._write(b,"#error {:message ");cljs.core.pr_writer(a.message,b,c);cljs.core.truth_(a.data)&&(cljs.core._write(b,", :data "),cljs.core.pr_writer(a.data,b,c));cljs.core.truth_(a.cause)&&(cljs.core._write(b,", :cause "),cljs.core.pr_writer(a.cause,b,c));return cljs.core._write(b,"}")};
cljs.core.ExceptionInfo=function(a,b,c){var d=Error(a);this.message=a;this.data=b;this.cause=c;this.name=d.name;this.description=d.description;this.number=d.number;this.fileName=d.fileName;this.lineNumber=d.lineNumber;this.columnNumber=d.columnNumber;this.stack=d.stack;return this};cljs.core.ExceptionInfo.prototype.__proto__=Error.prototype;cljs.core.ExceptionInfo.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.ExceptionInfo.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_writer_ex_info(this,b,c)};cljs.core.ExceptionInfo.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};
cljs.core.ex_info=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(a,b,null)};cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new cljs.core.ExceptionInfo(a,b,c)};cljs.core.ex_info.cljs$lang$maxFixedArity=3;cljs.core.ex_data=function(a){return a instanceof cljs.core.ExceptionInfo?a.data:null};cljs.core.ex_message=function(a){return a instanceof Error?a.message:null};
cljs.core.ex_cause=function(a){return a instanceof cljs.core.ExceptionInfo?a.cause:null};cljs.core.comparator=function(a){return function(b,c){return cljs.core.truth_(a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(b,c):a.call(null,b,c))?-1:cljs.core.truth_(a.cljs$core$IFn$_invoke$arity$2?a.cljs$core$IFn$_invoke$arity$2(c,b):a.call(null,c,b))?1:0}};
cljs.core.special_symbol_QMARK_=function(a){return cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,23,[new cljs.core.Symbol(null,"\x26","\x26",-2144855648,null),null,new cljs.core.Symbol(null,"defrecord*","defrecord*",-1936366207,null),null,new cljs.core.Symbol(null,"try","try",-1273693247,null),null,new cljs.core.Symbol(null,"ns*","ns*",1840949383,null),null,new cljs.core.Symbol(null,"finally","finally",-1065347064,null),null,new cljs.core.Symbol(null,
"loop*","loop*",615029416,null),null,new cljs.core.Symbol(null,"do","do",1686842252,null),null,new cljs.core.Symbol(null,"letfn*","letfn*",-110097810,null),null,new cljs.core.Symbol(null,"if","if",1181717262,null),null,new cljs.core.Symbol(null,"new","new",-444906321,null),null,new cljs.core.Symbol(null,"ns","ns",2082130287,null),null,new cljs.core.Symbol(null,"deftype*","deftype*",962659890,null),null,new cljs.core.Symbol(null,"let*","let*",1920721458,null),null,new cljs.core.Symbol(null,"js*","js*",
-1134233646,null),null,new cljs.core.Symbol(null,"fn*","fn*",-752876845,null),null,new cljs.core.Symbol(null,"recur","recur",1202958259,null),null,new cljs.core.Symbol(null,"set!","set!",250714521,null),null,new cljs.core.Symbol(null,".",".",1975675962,null),null,new cljs.core.Symbol(null,"var","var",870848730,null),null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),null,new cljs.core.Symbol(null,"catch","catch",-1616370245,null),null,new cljs.core.Symbol(null,"throw","throw",595905694,
null),null,new cljs.core.Symbol(null,"def","def",597100991,null),null],null),null),a)};cljs.core.test=function(a){a=a.cljs$lang$test;return cljs.core.truth_(a)?(a.cljs$core$IFn$_invoke$arity$0?a.cljs$core$IFn$_invoke$arity$0():a.call(null),new cljs.core.Keyword(null,"ok","ok",967785236)):new cljs.core.Keyword(null,"no-test","no-test",-1679482642)};
cljs.core.TaggedLiteral=function(a,b){this.tag=a;this.form=b;this.cljs$lang$protocol_mask$partition0$=2153775360;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.TaggedLiteral.prototype.toString=function(){return cljs.core.pr_str_STAR_(this)};cljs.core.TaggedLiteral.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return b instanceof cljs.core.TaggedLiteral&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.tag,b.tag)&&cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.form,b.form)};
cljs.core.TaggedLiteral.prototype.cljs$core$IHash$_hash$arity$1=function(a){return 31*cljs.core.hash(this.tag)+cljs.core.hash(this.form)};cljs.core.TaggedLiteral.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};cljs.core.TaggedLiteral.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "tag":return this.tag;case "form":return this.form;default:return c}};
cljs.core.TaggedLiteral.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){cljs.core._write(b,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("#"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.tag),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" ")].join(""));return cljs.core.pr_writer(this.form,b,c)};
cljs.core.TaggedLiteral.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"tag","tag",350170304,null),new cljs.core.Symbol(null,"form","form",16469056,null)],null)};cljs.core.TaggedLiteral.cljs$lang$type=!0;cljs.core.TaggedLiteral.cljs$lang$ctorStr="cljs.core/TaggedLiteral";cljs.core.TaggedLiteral.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/TaggedLiteral")};
cljs.core.__GT_TaggedLiteral=function(a,b){return new cljs.core.TaggedLiteral(a,b)};cljs.core.tagged_literal_QMARK_=function(a){return a instanceof cljs.core.TaggedLiteral};cljs.core.tagged_literal=function(a,b){if(!(a instanceof cljs.core.Symbol))throw Error("Assert failed: (symbol? tag)");return new cljs.core.TaggedLiteral(a,b)};cljs.core.js_reserved_arr="arguments abstract await boolean break byte case catch char class const continue debugger default delete do double else enum export extends final finally float for function goto if implements import in instanceof int interface let long native new package private protected public return short static super switch synchronized this throw throws transient try typeof var void volatile while with yield methods null constructor".split(" ");
cljs.core.js_reserved=null;cljs.core.js_reserved_QMARK_=function(a){null==cljs.core.js_reserved&&(cljs.core.js_reserved=cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(function(a,c){goog.object.set(a,c,!0);return a},{},cljs.core.js_reserved_arr));return cljs.core.js_reserved.hasOwnProperty(a)};
cljs.core.demunge_pattern=function(){cljs.core.truth_(cljs.core.DEMUNGE_PATTERN)||(cljs.core.DEMUNGE_PATTERN=function(){for(var a=cljs.core.sort.cljs$core$IFn$_invoke$arity$2(function(a,b){return b.length-a.length},cljs.core.js_keys(cljs.core.DEMUNGE_MAP)),b="";;)if(cljs.core.seq(a))var c=cljs.core.next(a),d=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(function(){var a=b;return""!==b?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1("|")].join(""):a}()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(a))].join(""),
a=c,b=d;else return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1("|\\$")].join("")}());return cljs.core.DEMUNGE_PATTERN};cljs.core.munge_str=function(a){for(var b=new goog.string.StringBuffer,c=0;;)if(c<a.length){var d=a.charAt(c),e=goog.object.get(cljs.core.CHAR_MAP,d);null!=e?b.append(e):b.append(d);c+=1}else break;return b.toString()};
cljs.core.munge=function(a){var b=cljs.core.munge_str(""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)),b=".."===b?"_DOT__DOT_":cljs.core.truth_(cljs.core.js_reserved_QMARK_(b))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1("$")].join(""):b;return a instanceof cljs.core.Symbol?cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(b):""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)};
cljs.core.demunge_str=function(a){var b=new RegExp(cljs.core.demunge_pattern(),"g");a=cljs.core.truth_(goog.string.endsWith(a,"$"))?a.substring(0,a.length-1):a;for(var c="",d=0;;){var e=b.exec(a);if(cljs.core.truth_(e))e=cljs.core.nth.cljs$core$IFn$_invoke$arity$3(e,0,null),c=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.substring(d,b.lastIndex-e.length)),cljs.core.str.cljs$core$IFn$_invoke$arity$1("$"===e?"/":goog.object.get(cljs.core.DEMUNGE_MAP,e))].join(""),
d=b.lastIndex;else return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.substring(d,a.length))].join("")}};cljs.core.demunge=function(a){return(a instanceof cljs.core.Symbol?cljs.core.symbol:cljs.core.str).call(null,"_DOT__DOT_"===""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)?"..":cljs.core.demunge_str(""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)))};cljs.core.ns_lookup=function(a,b){return function(){return goog.object.get(a,b)}};
cljs.core.Namespace=function(a,b){this.obj=a;this.name=b;this.cljs$lang$protocol_mask$partition0$=6291456;this.cljs$lang$protocol_mask$partition1$=0};
cljs.core.Namespace.prototype.findInternedVar=function(a){var b=cljs.core.munge(""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a));if(goog.object.containsKey(this.obj,b)){a=cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.name),""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a));var c=new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"ns","ns",441598760),this],null);return new cljs.core.Var(cljs.core.ns_lookup(this.obj,b),a,c)}return null};
cljs.core.Namespace.prototype.getName=function(){return this.name};cljs.core.Namespace.prototype.toString=function(){return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.name)};cljs.core.Namespace.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return b instanceof cljs.core.Namespace?cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this.name,b.name):!1};cljs.core.Namespace.prototype.cljs$core$IHash$_hash$arity$1=function(a){return cljs.core.hash(this.name)};
cljs.core.Namespace.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"obj","obj",-1672671807,null),new cljs.core.Symbol(null,"name","name",-810760592,null)],null)};cljs.core.Namespace.cljs$lang$type=!0;cljs.core.Namespace.cljs$lang$ctorStr="cljs.core/Namespace";cljs.core.Namespace.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write(b,"cljs.core/Namespace")};
cljs.core.__GT_Namespace=function(a,b){return new cljs.core.Namespace(a,b)};cljs.core.NS_CACHE=null;cljs.core.find_ns_obj_STAR_=function(a,b){for(;;){if(null==a)return null;if(null==b)return a;var c=a;var d=cljs.core.first(b);c=goog.object.get(c,d);d=cljs.core.next(b);a=c;b=d}};
cljs.core.find_ns_obj=function(a){var b=cljs.core.munge(""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)).split(".");switch(cljs.core._STAR_target_STAR_){case "nodejs":return COMPILED?cljs.core.find_ns_obj_STAR_(function(){try{var a=function(){var a=cljs.core.first(b);return eval(a)}();return cljs.core.truth_(cljs.core.truth_(a)?cljs.core.object_QMARK_(a):a)?a:null}catch(d){if(d instanceof ReferenceError)return null;throw d;}}(),cljs.core.next(b)):cljs.core.find_ns_obj_STAR_(global,b);case "default":return cljs.core.find_ns_obj_STAR_(goog.global,
b);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("find-ns-obj not supported for target "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core._STAR_target_STAR_)].join(""));}};
cljs.core.ns_interns_STAR_=function(a){var b=cljs.core.find_ns_obj(a),c=new cljs.core.Namespace(b,a),c=function(b,c){return function(d,e){var f=cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.demunge(e));return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(d,f,new cljs.core.Var(function(a,b,c){return function(){return goog.object.get(b,e)}}(f,b,c),cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(f)),
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"ns","ns",441598760),c],null)))}}(b,c);return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(c,cljs.core.PersistentArrayMap.EMPTY,cljs.core.js_keys(b))};
cljs.core.create_ns=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.create_ns.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.create_ns.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(a,cljs.core.find_ns_obj(a))};cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.Namespace(b,a)};cljs.core.create_ns.cljs$lang$maxFixedArity=2;
cljs.core.find_ns=function(a){if(null==cljs.core.NS_CACHE){var b=cljs.core;var c=cljs.core.PersistentArrayMap.EMPTY;c=cljs.core.atom.cljs$core$IFn$_invoke$arity$1?cljs.core.atom.cljs$core$IFn$_invoke$arity$1(c):cljs.core.atom.call(null,c);b.NS_CACHE=c}b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(cljs.core.NS_CACHE):cljs.core.deref.call(null,cljs.core.NS_CACHE),a);if(null!=b)return b;b=cljs.core.find_ns_obj(a);
if(null==b)return null;b=cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(a,b);cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.NS_CACHE,cljs.core.assoc,a,b);return b};
cljs.core.find_macros_ns=function(a){if(null==cljs.core.NS_CACHE){var b=cljs.core;var c=cljs.core.PersistentArrayMap.EMPTY;c=cljs.core.atom.cljs$core$IFn$_invoke$arity$1?cljs.core.atom.cljs$core$IFn$_invoke$arity$1(c):cljs.core.atom.call(null,c);b.NS_CACHE=c}b=cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref.cljs$core$IFn$_invoke$arity$1?cljs.core.deref.cljs$core$IFn$_invoke$arity$1(cljs.core.NS_CACHE):cljs.core.deref.call(null,cljs.core.NS_CACHE),a);if(null!=b)return b;b=""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a);
a=goog.string.contains(b,"$macros")?a:cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1("$macros")].join(""));b=cljs.core.find_ns_obj(a);if(null==b)return null;b=cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(a,b);cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.NS_CACHE,cljs.core.assoc,a,b);return b};cljs.core.ns_name=function(a){return a.name};var javelin={core:{}};javelin.core._STAR_tx_STAR_=null;javelin.core.last_rank=cljs.core.atom.call(null,0);javelin.core.propagate_STAR_=function(a){for(;;){var b=a.shift();if(cljs.core.truth_(b)){var c=b.prev;var d=b.thunk;d=cljs.core.truth_(d)?d.call(null):b.state;if(cljs.core.not_EQ_.call(null,d,c))for(b.prev=d,cljs.core._notify_watches.call(null,b,c,d),b=b.sinks,c=b.length,d=0;;)if(d<c)goog.array.binaryInsert(a,b[d],javelin.core.cmp_rank),d+=1;else break}else return null}};
javelin.core.deref_STAR_=function(a){return cljs.core.truth_(javelin.core.cell_QMARK_.call(null,a))?cljs.core.deref.call(null,a):a};javelin.core.next_rank=function(){return cljs.core.swap_BANG_.call(null,javelin.core.last_rank,cljs.core.inc)};javelin.core.cmp_rank=function(a,b){var c=a.rank,d=b.rank;return cljs.core._EQ_.call(null,c,d)?0:c-d};javelin.core.add_sync_BANG_=function(a){return goog.array.binaryInsert(javelin.core._STAR_tx_STAR_,a,javelin.core.cmp_rank)};
javelin.core.safe_nth=function(a,b){try{return cljs.core.nth.call(null,a,b)}catch(c){if(c instanceof Error)return null;throw c;}};javelin.core.propagate_BANG_=function(a){cljs.core.truth_(javelin.core._STAR_tx_STAR_)?javelin.core.add_sync_BANG_.call(null,a):javelin.core.propagate_STAR_.call(null,[a]);return a};
javelin.core.destroy_cell_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return javelin.core.destroy_cell_BANG_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return javelin.core.destroy_cell_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
javelin.core.destroy_cell_BANG_.cljs$core$IFn$_invoke$arity$1=function(a){return javelin.core.destroy_cell_BANG_.call(null,a,null)};
javelin.core.destroy_cell_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=a.sources;a.sources=[];a.update=null;a.thunk=null;cljs.core.truth_(b)||(a.watches=cljs.core.PersistentArrayMap.EMPTY,a.numwatches=0);for(var d=c.length,e=0;;)if(e<d){var f=javelin.core.cell_QMARK_.call(null,c[e]);if(cljs.core.truth_(f)){var g=f;goog.array.removeIf(g.sinks,function(b,c,d,e,f){return function(b){return cljs.core._EQ_.call(null,b,a)}}(e,g,f,d,c))}e+=1}else return null};
javelin.core.destroy_cell_BANG_.cljs$lang$maxFixedArity=2;
javelin.core.set_formula_BANG__STAR_=function(a,b,c,d){if(cljs.core.truth_(b)){a.constant=!0;c.push(b);a.sources=c;b=a.sources.length;for(c=0;;)if(c<b){var e=a.sources[c];if(cljs.core.truth_(javelin.core.cell_QMARK_.call(null,e))&&(cljs.core.truth_(function(){var b=a.constant;return cljs.core.truth_(b)?cljs.core.not.call(null,e.constant):b}())&&(a.constant=!1),e.sinks.push(a),e.rank>a.rank))for(var f=[e];;){var g=f.shift();if(cljs.core.truth_(g))g.rank=javelin.core.next_rank.call(null),f=f.concat(g.sinks);
else break}c+=1}else break;a.thunk=function(){for(var b=a.sources.slice(),c=javelin.core.deref_STAR_.call(null,b.pop()),d=b.length,e=0;;)if(e<d)b[e]=javelin.core.deref_STAR_.call(null,b[e]),e+=1;else break;return a.state=c.apply(null,b)};a.update=d}return javelin.core.propagate_BANG_.call(null,a)};
javelin.core.set_formula_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return javelin.core.set_formula_BANG_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return javelin.core.set_formula_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return javelin.core.set_formula_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return javelin.core.set_formula_BANG_.cljs$core$IFn$_invoke$arity$4(arguments[0],
arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};javelin.core.set_formula_BANG_.cljs$core$IFn$_invoke$arity$1=function(a){javelin.core.destroy_cell_BANG_.call(null,a,!0);return javelin.core.set_formula_BANG__STAR_.call(null,a,null,null,null)};
javelin.core.set_formula_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){javelin.core.destroy_cell_BANG_.call(null,a,!0);return javelin.core.set_formula_BANG__STAR_.call(null,a,b,[],null)};javelin.core.set_formula_BANG_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){javelin.core.destroy_cell_BANG_.call(null,a,!0);return javelin.core.set_formula_BANG__STAR_.call(null,a,b,cljs.core.into_array.call(null,c),null)};
javelin.core.set_formula_BANG_.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){javelin.core.destroy_cell_BANG_.call(null,a,!0);return javelin.core.set_formula_BANG__STAR_.call(null,a,b,cljs.core.into_array.call(null,c),d)};javelin.core.set_formula_BANG_.cljs$lang$maxFixedArity=4;
javelin.core.Cell=function(a,b,c,d,e,f,g,h,k,l,m){this.meta=a;this.state=b;this.rank=c;this.prev=d;this.sources=e;this.sinks=f;this.thunk=g;this.watches=h;this.update=k;this.constant=l;this.numwatches=m;this.cljs$lang$protocol_mask$partition0$=2147909632;this.cljs$lang$protocol_mask$partition1$=98306};
javelin.core.Cell.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.write_all.call(null,b,"#object [javelin.core.Cell ",cljs.core.pr_str.call(null,this.state),"]")};javelin.core.Cell.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new javelin.core.Cell(b,this.state,this.rank,this.prev,this.sources,this.sinks,this.thunk,this.watches,this.update,this.constant,this.numwatches)};javelin.core.Cell.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};
javelin.core.Cell.prototype.cljs$core$IDeref$_deref$arity$1=function(a){return this.state};javelin.core.Cell.prototype.cljs$core$IReset$_reset_BANG_$arity$2=function(a,b){if(cljs.core.truth_(javelin.core.lens_QMARK_.call(null,this)))this.update.call(null,b);else if(cljs.core.truth_(javelin.core.input_QMARK_.call(null,this)))this.state=b,javelin.core.propagate_BANG_.call(null,this);else throw Error("can't swap! or reset! formula cell");return this.state};
javelin.core.Cell.prototype.cljs$core$ISwap$_swap_BANG_$arity$2=function(a,b){return cljs.core.reset_BANG_.call(null,this,b.call(null,this.state))};javelin.core.Cell.prototype.cljs$core$ISwap$_swap_BANG_$arity$3=function(a,b,c){return cljs.core.reset_BANG_.call(null,this,b.call(null,this.state,c))};javelin.core.Cell.prototype.cljs$core$ISwap$_swap_BANG_$arity$4=function(a,b,c,d){return cljs.core.reset_BANG_.call(null,this,b.call(null,this.state,c,d))};
javelin.core.Cell.prototype.cljs$core$ISwap$_swap_BANG_$arity$5=function(a,b,c,d,e){return cljs.core.reset_BANG_.call(null,this,cljs.core.apply.call(null,b,this.state,c,d,e))};
javelin.core.Cell.prototype.cljs$core$IWatchable$_notify_watches$arity$3=function(a,b,c){if(0<this.numwatches)for(var d=cljs.core.seq.call(null,this.watches),e=null,f=0,g=0;;)if(g<f){var h=cljs.core._nth.call(null,e,g);a=cljs.core.nth.call(null,h,0,null);h=cljs.core.nth.call(null,h,1,null);h.call(null,a,this,b,c);g+=1}else if(a=cljs.core.seq.call(null,d))d=a,cljs.core.chunked_seq_QMARK_.call(null,d)?(e=cljs.core.chunk_first.call(null,d),d=cljs.core.chunk_rest.call(null,d),a=e,h=cljs.core.count.call(null,
e),e=a,f=h):(e=cljs.core.first.call(null,d),a=cljs.core.nth.call(null,e,0,null),h=cljs.core.nth.call(null,e,1,null),h.call(null,a,this,b,c),d=cljs.core.next.call(null,d),e=null,f=0),g=0;else return null;else return null};javelin.core.Cell.prototype.cljs$core$IWatchable$_add_watch$arity$3=function(a,b,c){cljs.core.contains_QMARK_.call(null,this.watches,b)||(this.numwatches+=1);return this.watches=cljs.core.assoc.call(null,this.watches,b,c)};
javelin.core.Cell.prototype.cljs$core$IWatchable$_remove_watch$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,this.watches,b)?(--this.numwatches,this.watches=cljs.core.dissoc.call(null,this.watches,b)):null};
javelin.core.Cell.getBasis=function(){return new cljs.core.PersistentVector(null,11,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"state","state",-348086572,null),new cljs.core.Symbol(null,"rank","rank",-66196975,null),new cljs.core.Symbol(null,"prev","prev",43462301,null),new cljs.core.Symbol(null,"sources","sources",1319365103,null),new cljs.core.Symbol(null,"sinks","sinks",-1243609492,null),new cljs.core.Symbol(null,
"thunk","thunk",74255732,null),new cljs.core.Symbol(null,"watches","watches",1367433992,null),new cljs.core.Symbol(null,"update","update",-1608859373,null),new cljs.core.Symbol(null,"constant","constant",1260922224,null),new cljs.core.Symbol(null,"numwatches","numwatches",2058987374,null)],null)};javelin.core.Cell.cljs$lang$type=!0;javelin.core.Cell.cljs$lang$ctorStr="javelin.core/Cell";javelin.core.Cell.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"javelin.core/Cell")};
javelin.core.__GT_Cell=function(a,b,c,d,e,f,g,h,k,l,m){return new javelin.core.Cell(a,b,c,d,e,f,g,h,k,l,m)};javelin.core.cell_QMARK_=function(a){return cljs.core._EQ_.call(null,cljs.core.type.call(null,a),javelin.core.Cell)?a:null};javelin.core.formula_QMARK_=function(a){return cljs.core.truth_(function(){var b=javelin.core.cell_QMARK_.call(null,a);return cljs.core.truth_(b)?a.thunk:b}())?a:null};
javelin.core.lens_QMARK_=function(a){return cljs.core.truth_(function(){var b=javelin.core.cell_QMARK_.call(null,a);return cljs.core.truth_(b)?a.update:b}())?a:null};javelin.core.input_QMARK_=function(a){return cljs.core.truth_(function(){var b=javelin.core.cell_QMARK_.call(null,a);return cljs.core.truth_(b)?cljs.core.not.call(null,javelin.core.formula_QMARK_.call(null,a)):b}())?a:null};
javelin.core.constant_QMARK_=function(a){return cljs.core.truth_(function(){var b=javelin.core.cell_QMARK_.call(null,a);return cljs.core.truth_(b)?a.constant:b}())?a:null};javelin.core.set_cell_BANG_=function(a,b){a.state=b;return javelin.core.set_formula_BANG_.call(null,a)};
javelin.core.formula=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return javelin.core.formula.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return javelin.core.formula.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
javelin.core.formula.cljs$core$IFn$_invoke$arity$1=function(a){return javelin.core.formula.call(null,a,null)};javelin.core.formula.cljs$core$IFn$_invoke$arity$2=function(a,b){return function(){return javelin.core.set_formula_BANG__STAR_.call(null,javelin.core.cell.call(null,new cljs.core.Keyword("javelin.core","none","javelin.core/none",1150337088)),a,Array.prototype.slice.call(arguments),b)}};javelin.core.formula.cljs$lang$maxFixedArity=2;
javelin.core.lens=function(a,b){return javelin.core.formula.call(null,cljs.core.identity,b).call(null,a)};javelin.core.cell=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return javelin.core.cell.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:return b=new cljs.core.IndexedSeq(b.slice(1),0,null),javelin.core.cell.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)}};
javelin.core.cell.cljs$core$IFn$_invoke$arity$1=function(a){return new javelin.core.Cell(null,a,javelin.core.next_rank.call(null),a,[],[],null,cljs.core.PersistentArrayMap.EMPTY,null,!1,0)};
javelin.core.cell.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"meta","meta",1499536964));return new javelin.core.Cell(c,a,javelin.core.next_rank.call(null),a,[],[],null,cljs.core.PersistentArrayMap.EMPTY,null,!1,0)};
javelin.core.cell.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return javelin.core.cell.cljs$core$IFn$_invoke$arity$variadic(b,a)};javelin.core.cell.cljs$lang$maxFixedArity=1;javelin.core.lift=javelin.core.formula;
javelin.core.dosync_STAR_=function(a){if(cljs.core.truth_(javelin.core._STAR_tx_STAR_))return a.call(null);var b=javelin.core._STAR_tx_STAR_;javelin.core._STAR_tx_STAR_=[];try{a.call(null);var c=javelin.core._STAR_tx_STAR_,d=javelin.core._STAR_tx_STAR_;javelin.core._STAR_tx_STAR_=null;try{return javelin.core.propagate_STAR_.call(null,c)}finally{javelin.core._STAR_tx_STAR_=d}}finally{javelin.core._STAR_tx_STAR_=b}};
javelin.core.alts_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return javelin.core.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic(b)};
javelin.core.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a){var b=cljs.core.atom.call(null,cljs.core.repeat.call(null,cljs.core.count.call(null,a),new cljs.core.Keyword("javelin.core","none","javelin.core/none",1150337088))),c=function(a){return function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.not_EQ_.call(null,a,b),b],null)}}(b),d=function(a,b){return function(a,c){return cljs.core.distinct.call(null,cljs.core.map.call(null,
cljs.core.second,cljs.core.filter.call(null,cljs.core.first,cljs.core.map.call(null,b,a,c))))}}(b,c),b=function(a,b,c){return function(){var b=function(b){var d=c.call(null,cljs.core.deref.call(null,a),b);cljs.core.reset_BANG_.call(null,a,b);return d},d=function(a){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return b.call(this,c)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);
return b(a)};d.cljs$core$IFn$_invoke$arity$variadic=b;return d}()}(b,c,d);return cljs.core.apply.call(null,javelin.core.formula.call(null,b),a)};javelin.core.alts_BANG_.cljs$lang$maxFixedArity=0;javelin.core.alts_BANG_.cljs$lang$applyTo=function(a){return javelin.core.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
javelin.core.cell_map=function(a,b){var c=javelin.core.formula.call(null,cljs.core.seq).call(null,b);return cljs.core.map.call(null,function(b){return function(c){return javelin.core.formula.call(null,cljs.core.comp.call(null,a,javelin.core.safe_nth)).call(null,b,c)}}(c),cljs.core.range.call(null,0,cljs.core.count.call(null,cljs.core.deref.call(null,c))))};
javelin.core.cell_doseq_STAR_=function(a,b){var c=cljs.core.atom.call(null,0);return javelin.core.formula.call(null,function(c){return function(d){d=cljs.core.count.call(null,d);if(cljs.core.deref.call(null,c)<d){for(var e=d-cljs.core.deref.call(null,c),g=0;;)if(g<e)b.call(null,javelin.core.formula.call(null,javelin.core.safe_nth).call(null,a,g+cljs.core.deref.call(null,c))),g+=1;else break;return cljs.core.reset_BANG_.call(null,c,d)}return null}}(c)).call(null,a)};goog.structs={};goog.structs.getCount=function(a){return a.getCount&&"function"==typeof a.getCount?a.getCount():goog.isArrayLike(a)||goog.isString(a)?a.length:goog.object.getCount(a)};goog.structs.getValues=function(a){if(a.getValues&&"function"==typeof a.getValues)return a.getValues();if(goog.isString(a))return a.split("");if(goog.isArrayLike(a)){for(var b=[],c=a.length,d=0;d<c;d++)b.push(a[d]);return b}return goog.object.getValues(a)};
goog.structs.getKeys=function(a){if(a.getKeys&&"function"==typeof a.getKeys)return a.getKeys();if(!a.getValues||"function"!=typeof a.getValues){if(goog.isArrayLike(a)||goog.isString(a)){var b=[];a=a.length;for(var c=0;c<a;c++)b.push(c);return b}return goog.object.getKeys(a)}};
goog.structs.contains=function(a,b){return a.contains&&"function"==typeof a.contains?a.contains(b):a.containsValue&&"function"==typeof a.containsValue?a.containsValue(b):goog.isArrayLike(a)||goog.isString(a)?goog.array.contains(a,b):goog.object.containsValue(a,b)};goog.structs.isEmpty=function(a){return a.isEmpty&&"function"==typeof a.isEmpty?a.isEmpty():goog.isArrayLike(a)||goog.isString(a)?goog.array.isEmpty(a):goog.object.isEmpty(a)};
goog.structs.clear=function(a){a.clear&&"function"==typeof a.clear?a.clear():goog.isArrayLike(a)?goog.array.clear(a):goog.object.clear(a)};goog.structs.forEach=function(a,b,c){if(a.forEach&&"function"==typeof a.forEach)a.forEach(b,c);else if(goog.isArrayLike(a)||goog.isString(a))goog.array.forEach(a,b,c);else for(var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length,g=0;g<f;g++)b.call(c,e[g],d&&d[g],a)};
goog.structs.filter=function(a,b,c){if("function"==typeof a.filter)return a.filter(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.filter(a,b,c);var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length;if(d){var g={};for(var h=0;h<f;h++)b.call(c,e[h],d[h],a)&&(g[d[h]]=e[h])}else for(g=[],h=0;h<f;h++)b.call(c,e[h],void 0,a)&&g.push(e[h]);return g};
goog.structs.map=function(a,b,c){if("function"==typeof a.map)return a.map(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.map(a,b,c);var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length;if(d){var g={};for(var h=0;h<f;h++)g[d[h]]=b.call(c,e[h],d[h],a)}else for(g=[],h=0;h<f;h++)g[h]=b.call(c,e[h],void 0,a);return g};
goog.structs.some=function(a,b,c){if("function"==typeof a.some)return a.some(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.some(a,b,c);for(var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length,g=0;g<f;g++)if(b.call(c,e[g],d&&d[g],a))return!0;return!1};
goog.structs.every=function(a,b,c){if("function"==typeof a.every)return a.every(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.every(a,b,c);for(var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length,g=0;g<f;g++)if(!b.call(c,e[g],d&&d[g],a))return!1;return!0};goog.functions={};goog.functions.constant=function(a){return function(){return a}};goog.functions.FALSE=goog.functions.constant(!1);goog.functions.TRUE=goog.functions.constant(!0);goog.functions.NULL=goog.functions.constant(null);goog.functions.identity=function(a,b){return a};goog.functions.error=function(a){return function(){throw Error(a);}};goog.functions.fail=function(a){return function(){throw a;}};
goog.functions.lock=function(a,b){b=b||0;return function(){return a.apply(this,Array.prototype.slice.call(arguments,0,b))}};goog.functions.nth=function(a){return function(){return arguments[a]}};goog.functions.partialRight=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=Array.prototype.slice.call(arguments);b.push.apply(b,c);return a.apply(this,b)}};goog.functions.withReturnValue=function(a,b){return goog.functions.sequence(a,goog.functions.constant(b))};
goog.functions.equalTo=function(a,b){return function(c){return b?a==c:a===c}};goog.functions.compose=function(a,b){var c=arguments,d=c.length;return function(){var a;d&&(a=c[d-1].apply(this,arguments));for(var b=d-2;0<=b;b--)a=c[b].call(this,a);return a}};goog.functions.sequence=function(a){var b=arguments,c=b.length;return function(){for(var a,e=0;e<c;e++)a=b[e].apply(this,arguments);return a}};
goog.functions.and=function(a){var b=arguments,c=b.length;return function(){for(var a=0;a<c;a++)if(!b[a].apply(this,arguments))return!1;return!0}};goog.functions.or=function(a){var b=arguments,c=b.length;return function(){for(var a=0;a<c;a++)if(b[a].apply(this,arguments))return!0;return!1}};goog.functions.not=function(a){return function(){return!a.apply(this,arguments)}};
goog.functions.create=function(a,b){var c=function(){};c.prototype=a.prototype;c=new c;a.apply(c,Array.prototype.slice.call(arguments,1));return c};goog.functions.CACHE_RETURN_VALUE=!0;goog.functions.cacheReturnValue=function(a){var b=!1,c;return function(){if(!goog.functions.CACHE_RETURN_VALUE)return a();b||(c=a(),b=!0);return c}};goog.functions.once=function(a){var b=a;return function(){if(b){var a=b;b=null;a()}}};
goog.functions.debounce=function(a,b,c){var d=0;return function(e){goog.global.clearTimeout(d);var f=arguments;d=goog.global.setTimeout(function(){a.apply(c,f)},b)}};goog.functions.throttle=function(a,b,c){var d=0,e=!1,f=[],g=function(){d=0;e&&(e=!1,h())},h=function(){d=goog.global.setTimeout(g,b);a.apply(c,f)};return function(a){f=arguments;d?e=!0:h()}};goog.functions.rateLimit=function(a,b,c){var d=0,e=function(){d=0};return function(f){d||(d=goog.global.setTimeout(e,b),a.apply(c,arguments))}};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(a,b,c){return Math.min(Math.max(a,b),c)};goog.math.modulo=function(a,b){var c=a%b;return 0>c*b?c+b:c};goog.math.lerp=function(a,b,c){return a+c*(b-a)};goog.math.nearlyEquals=function(a,b,c){return Math.abs(a-b)<=(c||1E-6)};goog.math.standardAngle=function(a){return goog.math.modulo(a,360)};
goog.math.standardAngleInRadians=function(a){return goog.math.modulo(a,2*Math.PI)};goog.math.toRadians=function(a){return a*Math.PI/180};goog.math.toDegrees=function(a){return 180*a/Math.PI};goog.math.angleDx=function(a,b){return b*Math.cos(goog.math.toRadians(a))};goog.math.angleDy=function(a,b){return b*Math.sin(goog.math.toRadians(a))};goog.math.angle=function(a,b,c,d){return goog.math.standardAngle(goog.math.toDegrees(Math.atan2(d-b,c-a)))};
goog.math.angleDifference=function(a,b){var c=goog.math.standardAngle(b)-goog.math.standardAngle(a);180<c?c-=360:-180>=c&&(c=360+c);return c};goog.math.sign=function(a){return 0<a?1:0>a?-1:a};
goog.math.longestCommonSubsequence=function(a,b,c,d){c=c||function(a,b){return a==b};d=d||function(b,c){return a[b]};for(var e=a.length,f=b.length,g=[],h=0;h<e+1;h++)g[h]=[],g[h][0]=0;for(var k=0;k<f+1;k++)g[0][k]=0;for(h=1;h<=e;h++)for(k=1;k<=f;k++)c(a[h-1],b[k-1])?g[h][k]=g[h-1][k-1]+1:g[h][k]=Math.max(g[h-1][k],g[h][k-1]);for(var l=[],h=e,k=f;0<h&&0<k;)c(a[h-1],b[k-1])?(l.unshift(d(h-1,k-1)),h--,k--):g[h-1][k]>g[h][k-1]?h--:k--;return l};
goog.math.sum=function(a){return goog.array.reduce(arguments,function(a,c){return a+c},0)};goog.math.average=function(a){return goog.math.sum.apply(null,arguments)/arguments.length};goog.math.sampleVariance=function(a){var b=arguments.length;if(2>b)return 0;var c=goog.math.average.apply(null,arguments);return goog.math.sum.apply(null,goog.array.map(arguments,function(a){return Math.pow(a-c,2)}))/(b-1)};goog.math.standardDeviation=function(a){return Math.sqrt(goog.math.sampleVariance.apply(null,arguments))};
goog.math.isInt=function(a){return isFinite(a)&&0==a%1};goog.math.isFiniteNumber=function(a){return isFinite(a)};goog.math.isNegativeZero=function(a){return 0==a&&0>1/a};goog.math.log10Floor=function(a){if(0<a){var b=Math.round(Math.log(a)*Math.LOG10E);return b-(parseFloat("1e"+b)>a?1:0)}return 0==a?-Infinity:NaN};goog.math.safeFloor=function(a,b){goog.asserts.assert(!goog.isDef(b)||0<b);return Math.floor(a+(b||2E-15))};
goog.math.safeCeil=function(a,b){goog.asserts.assert(!goog.isDef(b)||0<b);return Math.ceil(a-(b||2E-15))};goog.iter={};goog.iter.StopIteration="StopIteration"in goog.global?goog.global.StopIteration:{message:"StopIteration",stack:""};goog.iter.Iterator=function(){};goog.iter.Iterator.prototype.next=function(){throw goog.iter.StopIteration;};goog.iter.Iterator.prototype.__iterator__=function(a){return this};
goog.iter.toIterator=function(a){if(a instanceof goog.iter.Iterator)return a;if("function"==typeof a.__iterator__)return a.__iterator__(!1);if(goog.isArrayLike(a)){var b=0,c=new goog.iter.Iterator;c.next=function(){for(;;){if(b>=a.length)throw goog.iter.StopIteration;if(b in a)return a[b++];b++}};return c}throw Error("Not implemented");};
goog.iter.forEach=function(a,b,c){if(goog.isArrayLike(a))try{goog.array.forEach(a,b,c)}catch(d){if(d!==goog.iter.StopIteration)throw d;}else{a=goog.iter.toIterator(a);try{for(;;)b.call(c,a.next(),void 0,a)}catch(d){if(d!==goog.iter.StopIteration)throw d;}}};goog.iter.filter=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){for(;;){var a=d.next();if(b.call(c,a,void 0,d))return a}};return a};
goog.iter.filterFalse=function(a,b,c){return goog.iter.filter(a,goog.functions.not(b),c)};goog.iter.range=function(a,b,c){var d=0,e=a,f=c||1;1<arguments.length&&(d=a,e=b);if(0==f)throw Error("Range step argument must not be zero");var g=new goog.iter.Iterator;g.next=function(){if(0<f&&d>=e||0>f&&d<=e)throw goog.iter.StopIteration;var a=d;d+=f;return a};return g};goog.iter.join=function(a,b){return goog.iter.toArray(a).join(b)};
goog.iter.map=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){var a=d.next();return b.call(c,a,void 0,d)};return a};goog.iter.reduce=function(a,b,c,d){var e=c;goog.iter.forEach(a,function(a){e=b.call(d,e,a)});return e};goog.iter.some=function(a,b,c){a=goog.iter.toIterator(a);try{for(;;)if(b.call(c,a.next(),void 0,a))return!0}catch(d){if(d!==goog.iter.StopIteration)throw d;}return!1};
goog.iter.every=function(a,b,c){a=goog.iter.toIterator(a);try{for(;;)if(!b.call(c,a.next(),void 0,a))return!1}catch(d){if(d!==goog.iter.StopIteration)throw d;}return!0};goog.iter.chain=function(a){return goog.iter.chainFromIterable(arguments)};
goog.iter.chainFromIterable=function(a){var b=goog.iter.toIterator(a);a=new goog.iter.Iterator;var c=null;a.next=function(){for(;;){if(null==c){var a=b.next();c=goog.iter.toIterator(a)}try{return c.next()}catch(e){if(e!==goog.iter.StopIteration)throw e;c=null}}};return a};goog.iter.dropWhile=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;var e=!0;a.next=function(){for(;;){var a=d.next();if(!e||!b.call(c,a,void 0,d))return e=!1,a}};return a};
goog.iter.takeWhile=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){var a=d.next();if(b.call(c,a,void 0,d))return a;throw goog.iter.StopIteration;};return a};goog.iter.toArray=function(a){if(goog.isArrayLike(a))return goog.array.toArray(a);a=goog.iter.toIterator(a);var b=[];goog.iter.forEach(a,function(a){b.push(a)});return b};
goog.iter.equals=function(a,b,c){a=goog.iter.zipLongest({},a,b);var d=c||goog.array.defaultCompareEquality;return goog.iter.every(a,function(a){return d(a[0],a[1])})};goog.iter.nextOrValue=function(a,b){try{return goog.iter.toIterator(a).next()}catch(c){if(c!=goog.iter.StopIteration)throw c;return b}};
goog.iter.product=function(a){if(goog.array.some(arguments,function(a){return!a.length})||!arguments.length)return new goog.iter.Iterator;var b=new goog.iter.Iterator,c=arguments,d=goog.array.repeat(0,c.length);b.next=function(){if(d){for(var a=goog.array.map(d,function(a,b){return c[b][a]}),b=d.length-1;0<=b;b--){goog.asserts.assert(d);if(d[b]<c[b].length-1){d[b]++;break}if(0==b){d=null;break}d[b]=0}return a}throw goog.iter.StopIteration;};return b};
goog.iter.cycle=function(a){var b=goog.iter.toIterator(a),c=[],d=0;a=new goog.iter.Iterator;var e=!1;a.next=function(){var a=null;if(!e)try{return a=b.next(),c.push(a),a}catch(g){if(g!=goog.iter.StopIteration||goog.array.isEmpty(c))throw g;e=!0}a=c[d];d=(d+1)%c.length;return a};return a};goog.iter.count=function(a,b){var c=a||0,d=goog.isDef(b)?b:1,e=new goog.iter.Iterator;e.next=function(){var a=c;c+=d;return a};return e};
goog.iter.repeat=function(a){var b=new goog.iter.Iterator;b.next=goog.functions.constant(a);return b};goog.iter.accumulate=function(a){var b=goog.iter.toIterator(a),c=0;a=new goog.iter.Iterator;a.next=function(){return c+=b.next()};return a};goog.iter.zip=function(a){var b=arguments,c=new goog.iter.Iterator;if(0<b.length){var d=goog.array.map(b,goog.iter.toIterator);c.next=function(){return goog.array.map(d,function(a){return a.next()})}}return c};
goog.iter.zipLongest=function(a,b){var c=goog.array.slice(arguments,1),d=new goog.iter.Iterator;if(0<c.length){var e=goog.array.map(c,goog.iter.toIterator);d.next=function(){var b=!1,c=goog.array.map(e,function(c){try{var d=c.next();b=!0}catch(l){if(l!==goog.iter.StopIteration)throw l;d=a}return d});if(!b)throw goog.iter.StopIteration;return c}}return d};goog.iter.compress=function(a,b){var c=goog.iter.toIterator(b);return goog.iter.filter(a,function(){return!!c.next()})};
goog.iter.GroupByIterator_=function(a,b){this.iterator=goog.iter.toIterator(a);this.keyFunc=b||goog.functions.identity};goog.inherits(goog.iter.GroupByIterator_,goog.iter.Iterator);goog.iter.GroupByIterator_.prototype.next=function(){for(;this.currentKey==this.targetKey;)this.currentValue=this.iterator.next(),this.currentKey=this.keyFunc(this.currentValue);this.targetKey=this.currentKey;return[this.currentKey,this.groupItems_(this.targetKey)]};
goog.iter.GroupByIterator_.prototype.groupItems_=function(a){for(var b=[];this.currentKey==a;){b.push(this.currentValue);try{this.currentValue=this.iterator.next()}catch(c){if(c!==goog.iter.StopIteration)throw c;break}this.currentKey=this.keyFunc(this.currentValue)}return b};goog.iter.groupBy=function(a,b){return new goog.iter.GroupByIterator_(a,b)};
goog.iter.starMap=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){var a=goog.iter.toArray(d.next());return b.apply(c,goog.array.concat(a,void 0,d))};return a};
goog.iter.tee=function(a,b){var c=goog.iter.toIterator(a),d=goog.isNumber(b)?b:2,e=goog.array.map(goog.array.range(d),function(){return[]}),f=function(){var a=c.next();goog.array.forEach(e,function(b){b.push(a)})};return goog.array.map(e,function(a){var b=new goog.iter.Iterator;b.next=function(){goog.array.isEmpty(a)&&f();goog.asserts.assert(!goog.array.isEmpty(a));return a.shift()};return b})};goog.iter.enumerate=function(a,b){return goog.iter.zip(goog.iter.count(b),a)};
goog.iter.limit=function(a,b){goog.asserts.assert(goog.math.isInt(b)&&0<=b);var c=goog.iter.toIterator(a),d=new goog.iter.Iterator,e=b;d.next=function(){if(0<e--)return c.next();throw goog.iter.StopIteration;};return d};goog.iter.consume=function(a,b){goog.asserts.assert(goog.math.isInt(b)&&0<=b);for(var c=goog.iter.toIterator(a);0<b--;)goog.iter.nextOrValue(c,null);return c};
goog.iter.slice=function(a,b,c){goog.asserts.assert(goog.math.isInt(b)&&0<=b);a=goog.iter.consume(a,b);goog.isNumber(c)&&(goog.asserts.assert(goog.math.isInt(c)&&c>=b),a=goog.iter.limit(a,c-b));return a};goog.iter.hasDuplicates_=function(a){var b=[];goog.array.removeDuplicates(a,b);return a.length!=b.length};goog.iter.permutations=function(a,b){var c=goog.iter.toArray(a),d=goog.isNumber(b)?b:c.length,c=goog.array.repeat(c,d),c=goog.iter.product.apply(void 0,c);return goog.iter.filter(c,function(a){return!goog.iter.hasDuplicates_(a)})};
goog.iter.combinations=function(a,b){function c(a){return d[a]}var d=goog.iter.toArray(a),e=goog.iter.range(d.length),e=goog.iter.permutations(e,b),f=goog.iter.filter(e,function(a){return goog.array.isSorted(a)}),e=new goog.iter.Iterator;e.next=function(){return goog.array.map(f.next(),c)};return e};
goog.iter.combinationsWithReplacement=function(a,b){function c(a){return d[a]}var d=goog.iter.toArray(a),e=goog.array.range(d.length),e=goog.array.repeat(e,b),e=goog.iter.product.apply(void 0,e),f=goog.iter.filter(e,function(a){return goog.array.isSorted(a)}),e=new goog.iter.Iterator;e.next=function(){return goog.array.map(f.next(),c)};return e};goog.structs.Map=function(a,b){this.map_={};this.keys_=[];this.version_=this.count_=0;var c=arguments.length;if(1<c){if(c%2)throw Error("Uneven number of arguments");for(var d=0;d<c;d+=2)this.set(arguments[d],arguments[d+1])}else a&&this.addAll(a)};goog.structs.Map.prototype.getCount=function(){return this.count_};goog.structs.Map.prototype.getValues=function(){this.cleanupKeysArray_();for(var a=[],b=0;b<this.keys_.length;b++)a.push(this.map_[this.keys_[b]]);return a};
goog.structs.Map.prototype.getKeys=function(){this.cleanupKeysArray_();return this.keys_.concat()};goog.structs.Map.prototype.containsKey=function(a){return goog.structs.Map.hasKey_(this.map_,a)};goog.structs.Map.prototype.containsValue=function(a){for(var b=0;b<this.keys_.length;b++){var c=this.keys_[b];if(goog.structs.Map.hasKey_(this.map_,c)&&this.map_[c]==a)return!0}return!1};
goog.structs.Map.prototype.equals=function(a,b){if(this===a)return!0;if(this.count_!=a.getCount())return!1;var c=b||goog.structs.Map.defaultEquals;this.cleanupKeysArray_();for(var d,e=0;d=this.keys_[e];e++)if(!c(this.get(d),a.get(d)))return!1;return!0};goog.structs.Map.defaultEquals=function(a,b){return a===b};goog.structs.Map.prototype.isEmpty=function(){return 0==this.count_};goog.structs.Map.prototype.clear=function(){this.map_={};this.version_=this.count_=this.keys_.length=0};
goog.structs.Map.prototype.remove=function(a){return goog.structs.Map.hasKey_(this.map_,a)?(delete this.map_[a],this.count_--,this.version_++,this.keys_.length>2*this.count_&&this.cleanupKeysArray_(),!0):!1};
goog.structs.Map.prototype.cleanupKeysArray_=function(){var a,b;if(this.count_!=this.keys_.length){for(a=b=0;b<this.keys_.length;){var c=this.keys_[b];goog.structs.Map.hasKey_(this.map_,c)&&(this.keys_[a++]=c);b++}this.keys_.length=a}if(this.count_!=this.keys_.length){var d={};for(a=b=0;b<this.keys_.length;)c=this.keys_[b],goog.structs.Map.hasKey_(d,c)||(this.keys_[a++]=c,d[c]=1),b++;this.keys_.length=a}};
goog.structs.Map.prototype.get=function(a,b){return goog.structs.Map.hasKey_(this.map_,a)?this.map_[a]:b};goog.structs.Map.prototype.set=function(a,b){goog.structs.Map.hasKey_(this.map_,a)||(this.count_++,this.keys_.push(a),this.version_++);this.map_[a]=b};goog.structs.Map.prototype.addAll=function(a){if(a instanceof goog.structs.Map){var b=a.getKeys();a=a.getValues()}else b=goog.object.getKeys(a),a=goog.object.getValues(a);for(var c=0;c<b.length;c++)this.set(b[c],a[c])};
goog.structs.Map.prototype.forEach=function(a,b){for(var c=this.getKeys(),d=0;d<c.length;d++){var e=c[d],f=this.get(e);a.call(b,f,e,this)}};goog.structs.Map.prototype.clone=function(){return new goog.structs.Map(this)};goog.structs.Map.prototype.transpose=function(){for(var a=new goog.structs.Map,b=0;b<this.keys_.length;b++){var c=this.keys_[b];a.set(this.map_[c],c)}return a};
goog.structs.Map.prototype.toObject=function(){this.cleanupKeysArray_();for(var a={},b=0;b<this.keys_.length;b++){var c=this.keys_[b];a[c]=this.map_[c]}return a};goog.structs.Map.prototype.getKeyIterator=function(){return this.__iterator__(!0)};goog.structs.Map.prototype.getValueIterator=function(){return this.__iterator__(!1)};
goog.structs.Map.prototype.__iterator__=function(a){this.cleanupKeysArray_();var b=0,c=this.version_,d=this,e=new goog.iter.Iterator;e.next=function(){if(c!=d.version_)throw Error("The map has changed since the iterator was created");if(b>=d.keys_.length)throw goog.iter.StopIteration;var e=d.keys_[b++];return a?e:d.map_[e]};return e};goog.structs.Map.hasKey_=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};goog.uri={};goog.uri.utils={};goog.uri.utils.CharCode_={AMPERSAND:38,EQUAL:61,HASH:35,QUESTION:63};goog.uri.utils.buildFromEncodedParts=function(a,b,c,d,e,f,g){var h="";a&&(h+=a+":");c&&(h+="//",b&&(h+=b+"@"),h+=c,d&&(h+=":"+d));e&&(h+=e);f&&(h+="?"+f);g&&(h+="#"+g);return h};goog.uri.utils.splitRe_=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#([\s\S]*))?$/;
goog.uri.utils.ComponentIndex={SCHEME:1,USER_INFO:2,DOMAIN:3,PORT:4,PATH:5,QUERY_DATA:6,FRAGMENT:7};goog.uri.utils.split=function(a){return a.match(goog.uri.utils.splitRe_)};goog.uri.utils.decodeIfPossible_=function(a,b){return a?b?decodeURI(a):decodeURIComponent(a):a};goog.uri.utils.getComponentByIndex_=function(a,b){return goog.uri.utils.split(b)[a]||null};goog.uri.utils.getScheme=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.SCHEME,a)};
goog.uri.utils.getEffectiveScheme=function(a){a=goog.uri.utils.getScheme(a);!a&&goog.global.self&&goog.global.self.location&&(a=goog.global.self.location.protocol,a=a.substr(0,a.length-1));return a?a.toLowerCase():""};goog.uri.utils.getUserInfoEncoded=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.USER_INFO,a)};goog.uri.utils.getUserInfo=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getUserInfoEncoded(a))};
goog.uri.utils.getDomainEncoded=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.DOMAIN,a)};goog.uri.utils.getDomain=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getDomainEncoded(a),!0)};goog.uri.utils.getPort=function(a){return Number(goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PORT,a))||null};goog.uri.utils.getPathEncoded=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PATH,a)};
goog.uri.utils.getPath=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getPathEncoded(a),!0)};goog.uri.utils.getQueryData=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.QUERY_DATA,a)};goog.uri.utils.getFragmentEncoded=function(a){var b=a.indexOf("#");return 0>b?null:a.substr(b+1)};goog.uri.utils.setFragmentEncoded=function(a,b){return goog.uri.utils.removeFragment(a)+(b?"#"+b:"")};goog.uri.utils.getFragment=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getFragmentEncoded(a))};
goog.uri.utils.getHost=function(a){a=goog.uri.utils.split(a);return goog.uri.utils.buildFromEncodedParts(a[goog.uri.utils.ComponentIndex.SCHEME],a[goog.uri.utils.ComponentIndex.USER_INFO],a[goog.uri.utils.ComponentIndex.DOMAIN],a[goog.uri.utils.ComponentIndex.PORT])};goog.uri.utils.getOrigin=function(a){a=goog.uri.utils.split(a);return goog.uri.utils.buildFromEncodedParts(a[goog.uri.utils.ComponentIndex.SCHEME],null,a[goog.uri.utils.ComponentIndex.DOMAIN],a[goog.uri.utils.ComponentIndex.PORT])};
goog.uri.utils.getPathAndAfter=function(a){a=goog.uri.utils.split(a);return goog.uri.utils.buildFromEncodedParts(null,null,null,null,a[goog.uri.utils.ComponentIndex.PATH],a[goog.uri.utils.ComponentIndex.QUERY_DATA],a[goog.uri.utils.ComponentIndex.FRAGMENT])};goog.uri.utils.removeFragment=function(a){var b=a.indexOf("#");return 0>b?a:a.substr(0,b)};
goog.uri.utils.haveSameDomain=function(a,b){var c=goog.uri.utils.split(a),d=goog.uri.utils.split(b);return c[goog.uri.utils.ComponentIndex.DOMAIN]==d[goog.uri.utils.ComponentIndex.DOMAIN]&&c[goog.uri.utils.ComponentIndex.SCHEME]==d[goog.uri.utils.ComponentIndex.SCHEME]&&c[goog.uri.utils.ComponentIndex.PORT]==d[goog.uri.utils.ComponentIndex.PORT]};
goog.uri.utils.assertNoFragmentsOrQueries_=function(a){goog.asserts.assert(0>a.indexOf("#")&&0>a.indexOf("?"),"goog.uri.utils: Fragment or query identifiers are not supported: [%s]",a)};goog.uri.utils.parseQueryData=function(a,b){if(a)for(var c=a.split("\x26"),d=0;d<c.length;d++){var e=c[d].indexOf("\x3d"),f=null;if(0<=e){var g=c[d].substring(0,e);f=c[d].substring(e+1)}else g=c[d];b(g,f?goog.string.urlDecode(f):"")}};
goog.uri.utils.splitQueryData_=function(a){var b=a.indexOf("#");0>b&&(b=a.length);var c=a.indexOf("?");if(0>c||c>b){c=b;var d=""}else d=a.substring(c+1,b);return[a.substr(0,c),d,a.substr(b)]};goog.uri.utils.joinQueryData_=function(a){return a[0]+(a[1]?"?"+a[1]:"")+a[2]};goog.uri.utils.appendQueryData_=function(a,b){return b?a?a+"\x26"+b:b:a};goog.uri.utils.appendQueryDataToUri_=function(a,b){if(!b)return a;var c=goog.uri.utils.splitQueryData_(a);c[1]=goog.uri.utils.appendQueryData_(c[1],b);return goog.uri.utils.joinQueryData_(c)};
goog.uri.utils.appendKeyValuePairs_=function(a,b,c){goog.asserts.assertString(a);if(goog.isArray(b)){goog.asserts.assertArray(b);for(var d=0;d<b.length;d++)goog.uri.utils.appendKeyValuePairs_(a,String(b[d]),c)}else null!=b&&c.push(a+(""===b?"":"\x3d"+goog.string.urlEncode(b)))};
goog.uri.utils.buildQueryData=function(a,b){goog.asserts.assert(0==Math.max(a.length-(b||0),0)%2,"goog.uri.utils: Key/value lists must be even in length.");for(var c=[],d=b||0;d<a.length;d+=2)goog.uri.utils.appendKeyValuePairs_(a[d],a[d+1],c);return c.join("\x26")};goog.uri.utils.buildQueryDataFromMap=function(a){var b=[],c;for(c in a)goog.uri.utils.appendKeyValuePairs_(c,a[c],b);return b.join("\x26")};
goog.uri.utils.appendParams=function(a,b){var c=2==arguments.length?goog.uri.utils.buildQueryData(arguments[1],0):goog.uri.utils.buildQueryData(arguments,1);return goog.uri.utils.appendQueryDataToUri_(a,c)};goog.uri.utils.appendParamsFromMap=function(a,b){var c=goog.uri.utils.buildQueryDataFromMap(b);return goog.uri.utils.appendQueryDataToUri_(a,c)};
goog.uri.utils.appendParam=function(a,b,c){c=goog.isDefAndNotNull(c)?"\x3d"+goog.string.urlEncode(c):"";return goog.uri.utils.appendQueryDataToUri_(a,b+c)};goog.uri.utils.findParam_=function(a,b,c,d){for(var e=c.length;0<=(b=a.indexOf(c,b))&&b<d;){var f=a.charCodeAt(b-1);if(f==goog.uri.utils.CharCode_.AMPERSAND||f==goog.uri.utils.CharCode_.QUESTION)if(f=a.charCodeAt(b+e),!f||f==goog.uri.utils.CharCode_.EQUAL||f==goog.uri.utils.CharCode_.AMPERSAND||f==goog.uri.utils.CharCode_.HASH)return b;b+=e+1}return-1};
goog.uri.utils.hashOrEndRe_=/#|$/;goog.uri.utils.hasParam=function(a,b){return 0<=goog.uri.utils.findParam_(a,0,b,a.search(goog.uri.utils.hashOrEndRe_))};goog.uri.utils.getParamValue=function(a,b){var c=a.search(goog.uri.utils.hashOrEndRe_),d=goog.uri.utils.findParam_(a,0,b,c);if(0>d)return null;var e=a.indexOf("\x26",d);if(0>e||e>c)e=c;d+=b.length+1;return goog.string.urlDecode(a.substr(d,e-d))};
goog.uri.utils.getParamValues=function(a,b){for(var c=a.search(goog.uri.utils.hashOrEndRe_),d=0,e,f=[];0<=(e=goog.uri.utils.findParam_(a,d,b,c));){d=a.indexOf("\x26",e);if(0>d||d>c)d=c;e+=b.length+1;f.push(goog.string.urlDecode(a.substr(e,d-e)))}return f};goog.uri.utils.trailingQueryPunctuationRe_=/[?&]($|#)/;
goog.uri.utils.removeParam=function(a,b){for(var c=a.search(goog.uri.utils.hashOrEndRe_),d=0,e,f=[];0<=(e=goog.uri.utils.findParam_(a,d,b,c));)f.push(a.substring(d,e)),d=Math.min(a.indexOf("\x26",e)+1||c,c);f.push(a.substr(d));return f.join("").replace(goog.uri.utils.trailingQueryPunctuationRe_,"$1")};goog.uri.utils.setParam=function(a,b,c){return goog.uri.utils.appendParam(goog.uri.utils.removeParam(a,b),b,c)};
goog.uri.utils.setParamsFromMap=function(a,b){var c=goog.uri.utils.splitQueryData_(a),d=c[1],e=[];d&&goog.array.forEach(d.split("\x26"),function(a){var c=a.indexOf("\x3d"),c=0<=c?a.substr(0,c):a;b.hasOwnProperty(c)||e.push(a)});c[1]=goog.uri.utils.appendQueryData_(e.join("\x26"),goog.uri.utils.buildQueryDataFromMap(b));return goog.uri.utils.joinQueryData_(c)};
goog.uri.utils.appendPath=function(a,b){goog.uri.utils.assertNoFragmentsOrQueries_(a);goog.string.endsWith(a,"/")&&(a=a.substr(0,a.length-1));goog.string.startsWith(b,"/")&&(b=b.substr(1));return goog.string.buildString(a,"/",b)};
goog.uri.utils.setPath=function(a,b){goog.string.startsWith(b,"/")||(b="/"+b);var c=goog.uri.utils.split(a);return goog.uri.utils.buildFromEncodedParts(c[goog.uri.utils.ComponentIndex.SCHEME],c[goog.uri.utils.ComponentIndex.USER_INFO],c[goog.uri.utils.ComponentIndex.DOMAIN],c[goog.uri.utils.ComponentIndex.PORT],b,c[goog.uri.utils.ComponentIndex.QUERY_DATA],c[goog.uri.utils.ComponentIndex.FRAGMENT])};goog.uri.utils.StandardQueryParam={RANDOM:"zx"};
goog.uri.utils.makeUnique=function(a){return goog.uri.utils.setParam(a,goog.uri.utils.StandardQueryParam.RANDOM,goog.string.getRandomString())};goog.Uri=function(a,b){this.domain_=this.userInfo_=this.scheme_="";this.port_=null;this.fragment_=this.path_="";this.ignoreCase_=this.isReadOnly_=!1;var c;a instanceof goog.Uri?(this.ignoreCase_=goog.isDef(b)?b:a.getIgnoreCase(),this.setScheme(a.getScheme()),this.setUserInfo(a.getUserInfo()),this.setDomain(a.getDomain()),this.setPort(a.getPort()),this.setPath(a.getPath()),this.setQueryData(a.getQueryData().clone()),this.setFragment(a.getFragment())):a&&(c=goog.uri.utils.split(String(a)))?(this.ignoreCase_=
!!b,this.setScheme(c[goog.uri.utils.ComponentIndex.SCHEME]||"",!0),this.setUserInfo(c[goog.uri.utils.ComponentIndex.USER_INFO]||"",!0),this.setDomain(c[goog.uri.utils.ComponentIndex.DOMAIN]||"",!0),this.setPort(c[goog.uri.utils.ComponentIndex.PORT]),this.setPath(c[goog.uri.utils.ComponentIndex.PATH]||"",!0),this.setQueryData(c[goog.uri.utils.ComponentIndex.QUERY_DATA]||"",!0),this.setFragment(c[goog.uri.utils.ComponentIndex.FRAGMENT]||"",!0)):(this.ignoreCase_=!!b,this.queryData_=new goog.Uri.QueryData(null,
null,this.ignoreCase_))};goog.Uri.preserveParameterTypesCompatibilityFlag=!1;goog.Uri.RANDOM_PARAM=goog.uri.utils.StandardQueryParam.RANDOM;
goog.Uri.prototype.toString=function(){var a=[],b=this.getScheme();b&&a.push(goog.Uri.encodeSpecialChars_(b,goog.Uri.reDisallowedInSchemeOrUserInfo_,!0),":");var c=this.getDomain();if(c||"file"==b)a.push("//"),(b=this.getUserInfo())&&a.push(goog.Uri.encodeSpecialChars_(b,goog.Uri.reDisallowedInSchemeOrUserInfo_,!0),"@"),a.push(goog.Uri.removeDoubleEncoding_(goog.string.urlEncode(c))),c=this.getPort(),null!=c&&a.push(":",String(c));if(c=this.getPath())this.hasDomain()&&"/"!=c.charAt(0)&&a.push("/"),
a.push(goog.Uri.encodeSpecialChars_(c,"/"==c.charAt(0)?goog.Uri.reDisallowedInAbsolutePath_:goog.Uri.reDisallowedInRelativePath_,!0));(c=this.getEncodedQuery())&&a.push("?",c);(c=this.getFragment())&&a.push("#",goog.Uri.encodeSpecialChars_(c,goog.Uri.reDisallowedInFragment_));return a.join("")};
goog.Uri.prototype.resolve=function(a){var b=this.clone(),c=a.hasScheme();c?b.setScheme(a.getScheme()):c=a.hasUserInfo();c?b.setUserInfo(a.getUserInfo()):c=a.hasDomain();c?b.setDomain(a.getDomain()):c=a.hasPort();var d=a.getPath();if(c)b.setPort(a.getPort());else if(c=a.hasPath()){if("/"!=d.charAt(0))if(this.hasDomain()&&!this.hasPath())d="/"+d;else{var e=b.getPath().lastIndexOf("/");-1!=e&&(d=b.getPath().substr(0,e+1)+d)}d=goog.Uri.removeDotSegments(d)}c?b.setPath(d):c=a.hasQuery();c?b.setQueryData(a.getQueryData().clone()):
c=a.hasFragment();c&&b.setFragment(a.getFragment());return b};goog.Uri.prototype.clone=function(){return new goog.Uri(this)};goog.Uri.prototype.getScheme=function(){return this.scheme_};goog.Uri.prototype.setScheme=function(a,b){this.enforceReadOnly();if(this.scheme_=b?goog.Uri.decodeOrEmpty_(a,!0):a)this.scheme_=this.scheme_.replace(/:$/,"");return this};goog.Uri.prototype.hasScheme=function(){return!!this.scheme_};goog.Uri.prototype.getUserInfo=function(){return this.userInfo_};
goog.Uri.prototype.setUserInfo=function(a,b){this.enforceReadOnly();this.userInfo_=b?goog.Uri.decodeOrEmpty_(a):a;return this};goog.Uri.prototype.hasUserInfo=function(){return!!this.userInfo_};goog.Uri.prototype.getDomain=function(){return this.domain_};goog.Uri.prototype.setDomain=function(a,b){this.enforceReadOnly();this.domain_=b?goog.Uri.decodeOrEmpty_(a,!0):a;return this};goog.Uri.prototype.hasDomain=function(){return!!this.domain_};goog.Uri.prototype.getPort=function(){return this.port_};
goog.Uri.prototype.setPort=function(a){this.enforceReadOnly();if(a){a=Number(a);if(isNaN(a)||0>a)throw Error("Bad port number "+a);this.port_=a}else this.port_=null;return this};goog.Uri.prototype.hasPort=function(){return null!=this.port_};goog.Uri.prototype.getPath=function(){return this.path_};goog.Uri.prototype.setPath=function(a,b){this.enforceReadOnly();this.path_=b?goog.Uri.decodeOrEmpty_(a,!0):a;return this};goog.Uri.prototype.hasPath=function(){return!!this.path_};
goog.Uri.prototype.hasQuery=function(){return""!==this.queryData_.toString()};goog.Uri.prototype.setQueryData=function(a,b){this.enforceReadOnly();a instanceof goog.Uri.QueryData?(this.queryData_=a,this.queryData_.setIgnoreCase(this.ignoreCase_)):(b||(a=goog.Uri.encodeSpecialChars_(a,goog.Uri.reDisallowedInQuery_)),this.queryData_=new goog.Uri.QueryData(a,null,this.ignoreCase_));return this};goog.Uri.prototype.setQuery=function(a,b){return this.setQueryData(a,b)};
goog.Uri.prototype.getEncodedQuery=function(){return this.queryData_.toString()};goog.Uri.prototype.getDecodedQuery=function(){return this.queryData_.toDecodedString()};goog.Uri.prototype.getQueryData=function(){return this.queryData_};goog.Uri.prototype.getQuery=function(){return this.getEncodedQuery()};goog.Uri.prototype.setParameterValue=function(a,b){this.enforceReadOnly();this.queryData_.set(a,b);return this};
goog.Uri.prototype.setParameterValues=function(a,b){this.enforceReadOnly();goog.isArray(b)||(b=[String(b)]);this.queryData_.setValues(a,b);return this};goog.Uri.prototype.getParameterValues=function(a){return this.queryData_.getValues(a)};goog.Uri.prototype.getParameterValue=function(a){return this.queryData_.get(a)};goog.Uri.prototype.getFragment=function(){return this.fragment_};goog.Uri.prototype.setFragment=function(a,b){this.enforceReadOnly();this.fragment_=b?goog.Uri.decodeOrEmpty_(a):a;return this};
goog.Uri.prototype.hasFragment=function(){return!!this.fragment_};goog.Uri.prototype.hasSameDomainAs=function(a){return(!this.hasDomain()&&!a.hasDomain()||this.getDomain()==a.getDomain())&&(!this.hasPort()&&!a.hasPort()||this.getPort()==a.getPort())};goog.Uri.prototype.makeUnique=function(){this.enforceReadOnly();this.setParameterValue(goog.Uri.RANDOM_PARAM,goog.string.getRandomString());return this};goog.Uri.prototype.removeParameter=function(a){this.enforceReadOnly();this.queryData_.remove(a);return this};
goog.Uri.prototype.setReadOnly=function(a){this.isReadOnly_=a;return this};goog.Uri.prototype.isReadOnly=function(){return this.isReadOnly_};goog.Uri.prototype.enforceReadOnly=function(){if(this.isReadOnly_)throw Error("Tried to modify a read-only Uri");};goog.Uri.prototype.setIgnoreCase=function(a){this.ignoreCase_=a;this.queryData_&&this.queryData_.setIgnoreCase(a);return this};goog.Uri.prototype.getIgnoreCase=function(){return this.ignoreCase_};
goog.Uri.parse=function(a,b){return a instanceof goog.Uri?a.clone():new goog.Uri(a,b)};goog.Uri.create=function(a,b,c,d,e,f,g,h){h=new goog.Uri(null,h);a&&h.setScheme(a);b&&h.setUserInfo(b);c&&h.setDomain(c);d&&h.setPort(d);e&&h.setPath(e);f&&h.setQueryData(f);g&&h.setFragment(g);return h};goog.Uri.resolve=function(a,b){a instanceof goog.Uri||(a=goog.Uri.parse(a));b instanceof goog.Uri||(b=goog.Uri.parse(b));return a.resolve(b)};
goog.Uri.removeDotSegments=function(a){if(".."==a||"."==a)return"";if(goog.string.contains(a,"./")||goog.string.contains(a,"/.")){var b=goog.string.startsWith(a,"/");a=a.split("/");for(var c=[],d=0;d<a.length;){var e=a[d++];"."==e?b&&d==a.length&&c.push(""):".."==e?((1<c.length||1==c.length&&""!=c[0])&&c.pop(),b&&d==a.length&&c.push("")):(c.push(e),b=!0)}return c.join("/")}return a};goog.Uri.decodeOrEmpty_=function(a,b){return a?b?decodeURI(a.replace(/%25/g,"%2525")):decodeURIComponent(a):""};
goog.Uri.encodeSpecialChars_=function(a,b,c){return goog.isString(a)?(a=encodeURI(a).replace(b,goog.Uri.encodeChar_),c&&(a=goog.Uri.removeDoubleEncoding_(a)),a):null};goog.Uri.encodeChar_=function(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)};goog.Uri.removeDoubleEncoding_=function(a){return a.replace(/%25([0-9a-fA-F]{2})/g,"%$1")};goog.Uri.reDisallowedInSchemeOrUserInfo_=/[#\/\?@]/g;goog.Uri.reDisallowedInRelativePath_=/[\#\?:]/g;
goog.Uri.reDisallowedInAbsolutePath_=/[\#\?]/g;goog.Uri.reDisallowedInQuery_=/[\#\?@]/g;goog.Uri.reDisallowedInFragment_=/#/g;goog.Uri.haveSameDomain=function(a,b){var c=goog.uri.utils.split(a),d=goog.uri.utils.split(b);return c[goog.uri.utils.ComponentIndex.DOMAIN]==d[goog.uri.utils.ComponentIndex.DOMAIN]&&c[goog.uri.utils.ComponentIndex.PORT]==d[goog.uri.utils.ComponentIndex.PORT]};goog.Uri.QueryData=function(a,b,c){this.count_=this.keyMap_=null;this.encodedQuery_=a||null;this.ignoreCase_=!!c};
goog.Uri.QueryData.prototype.ensureKeyMapInitialized_=function(){if(!this.keyMap_&&(this.keyMap_=new goog.structs.Map,this.count_=0,this.encodedQuery_)){var a=this;goog.uri.utils.parseQueryData(this.encodedQuery_,function(b,c){a.add(goog.string.urlDecode(b),c)})}};
goog.Uri.QueryData.createFromMap=function(a,b,c){b=goog.structs.getKeys(a);if("undefined"==typeof b)throw Error("Keys are undefined");c=new goog.Uri.QueryData(null,null,c);a=goog.structs.getValues(a);for(var d=0;d<b.length;d++){var e=b[d],f=a[d];goog.isArray(f)?c.setValues(e,f):c.add(e,f)}return c};
goog.Uri.QueryData.createFromKeysValues=function(a,b,c,d){if(a.length!=b.length)throw Error("Mismatched lengths for keys/values");c=new goog.Uri.QueryData(null,null,d);for(d=0;d<a.length;d++)c.add(a[d],b[d]);return c};goog.Uri.QueryData.prototype.getCount=function(){this.ensureKeyMapInitialized_();return this.count_};
goog.Uri.QueryData.prototype.add=function(a,b){this.ensureKeyMapInitialized_();this.invalidateCache_();a=this.getKeyName_(a);var c=this.keyMap_.get(a);c||this.keyMap_.set(a,c=[]);c.push(b);this.count_=goog.asserts.assertNumber(this.count_)+1;return this};
goog.Uri.QueryData.prototype.remove=function(a){this.ensureKeyMapInitialized_();a=this.getKeyName_(a);return this.keyMap_.containsKey(a)?(this.invalidateCache_(),this.count_=goog.asserts.assertNumber(this.count_)-this.keyMap_.get(a).length,this.keyMap_.remove(a)):!1};goog.Uri.QueryData.prototype.clear=function(){this.invalidateCache_();this.keyMap_=null;this.count_=0};goog.Uri.QueryData.prototype.isEmpty=function(){this.ensureKeyMapInitialized_();return 0==this.count_};
goog.Uri.QueryData.prototype.containsKey=function(a){this.ensureKeyMapInitialized_();a=this.getKeyName_(a);return this.keyMap_.containsKey(a)};goog.Uri.QueryData.prototype.containsValue=function(a){var b=this.getValues();return goog.array.contains(b,a)};goog.Uri.QueryData.prototype.forEach=function(a,b){this.ensureKeyMapInitialized_();this.keyMap_.forEach(function(c,d){goog.array.forEach(c,function(c){a.call(b,c,d,this)},this)},this)};
goog.Uri.QueryData.prototype.getKeys=function(){this.ensureKeyMapInitialized_();for(var a=this.keyMap_.getValues(),b=this.keyMap_.getKeys(),c=[],d=0;d<b.length;d++)for(var e=a[d],f=0;f<e.length;f++)c.push(b[d]);return c};goog.Uri.QueryData.prototype.getValues=function(a){this.ensureKeyMapInitialized_();var b=[];if(goog.isString(a))this.containsKey(a)&&(b=goog.array.concat(b,this.keyMap_.get(this.getKeyName_(a))));else{a=this.keyMap_.getValues();for(var c=0;c<a.length;c++)b=goog.array.concat(b,a[c])}return b};
goog.Uri.QueryData.prototype.set=function(a,b){this.ensureKeyMapInitialized_();this.invalidateCache_();a=this.getKeyName_(a);this.containsKey(a)&&(this.count_=goog.asserts.assertNumber(this.count_)-this.keyMap_.get(a).length);this.keyMap_.set(a,[b]);this.count_=goog.asserts.assertNumber(this.count_)+1;return this};goog.Uri.QueryData.prototype.get=function(a,b){var c=a?this.getValues(a):[];return goog.Uri.preserveParameterTypesCompatibilityFlag?0<c.length?c[0]:b:0<c.length?String(c[0]):b};
goog.Uri.QueryData.prototype.setValues=function(a,b){this.remove(a);0<b.length&&(this.invalidateCache_(),this.keyMap_.set(this.getKeyName_(a),goog.array.clone(b)),this.count_=goog.asserts.assertNumber(this.count_)+b.length)};
goog.Uri.QueryData.prototype.toString=function(){if(this.encodedQuery_)return this.encodedQuery_;if(!this.keyMap_)return"";for(var a=[],b=this.keyMap_.getKeys(),c=0;c<b.length;c++)for(var d=b[c],e=goog.string.urlEncode(d),d=this.getValues(d),f=0;f<d.length;f++){var g=e;""!==d[f]&&(g+="\x3d"+goog.string.urlEncode(d[f]));a.push(g)}return this.encodedQuery_=a.join("\x26")};goog.Uri.QueryData.prototype.toDecodedString=function(){return goog.Uri.decodeOrEmpty_(this.toString())};
goog.Uri.QueryData.prototype.invalidateCache_=function(){this.encodedQuery_=null};goog.Uri.QueryData.prototype.filterKeys=function(a){this.ensureKeyMapInitialized_();this.keyMap_.forEach(function(b,c){goog.array.contains(a,c)||this.remove(c)},this);return this};goog.Uri.QueryData.prototype.clone=function(){var a=new goog.Uri.QueryData;a.encodedQuery_=this.encodedQuery_;this.keyMap_&&(a.keyMap_=this.keyMap_.clone(),a.count_=this.count_);return a};
goog.Uri.QueryData.prototype.getKeyName_=function(a){a=String(a);this.ignoreCase_&&(a=a.toLowerCase());return a};goog.Uri.QueryData.prototype.setIgnoreCase=function(a){a&&!this.ignoreCase_&&(this.ensureKeyMapInitialized_(),this.invalidateCache_(),this.keyMap_.forEach(function(a,c){var b=c.toLowerCase();c!=b&&(this.remove(c),this.setValues(b,a))},this));this.ignoreCase_=a};
goog.Uri.QueryData.prototype.extend=function(a){for(var b=0;b<arguments.length;b++)goog.structs.forEach(arguments[b],function(a,b){this.add(b,a)},this)};var clojure={set:{}};clojure.set.bubble_max_key=function(a,b){var c=cljs.core.apply.call(null,cljs.core.max_key,a,b);return cljs.core.cons.call(null,c,cljs.core.remove.call(null,function(a){return function(b){return a===b}}(c),b))};
clojure.set.union=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return clojure.set.union.cljs$core$IFn$_invoke$arity$0();case 1:return clojure.set.union.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return clojure.set.union.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),clojure.set.union.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
clojure.set.union.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.PersistentHashSet.EMPTY};clojure.set.union.cljs$core$IFn$_invoke$arity$1=function(a){return a};clojure.set.union.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.count.call(null,a)<cljs.core.count.call(null,b)?cljs.core.reduce.call(null,cljs.core.conj,b,a):cljs.core.reduce.call(null,cljs.core.conj,a,b)};
clojure.set.union.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){a=clojure.set.bubble_max_key.call(null,cljs.core.count,cljs.core.conj.call(null,c,b,a));return cljs.core.reduce.call(null,cljs.core.into,cljs.core.first.call(null,a),cljs.core.rest.call(null,a))};
clojure.set.union.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return clojure.set.union.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};clojure.set.union.cljs$lang$maxFixedArity=2;
clojure.set.intersection=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return clojure.set.intersection.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return clojure.set.intersection.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),clojure.set.intersection.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
clojure.set.intersection.cljs$core$IFn$_invoke$arity$1=function(a){return a};clojure.set.intersection.cljs$core$IFn$_invoke$arity$2=function(a,b){for(;;)if(cljs.core.count.call(null,b)<cljs.core.count.call(null,a)){var c=a;a=b;b=c}else return cljs.core.reduce.call(null,function(a,b){return function(a,c){return cljs.core.contains_QMARK_.call(null,b,c)?a:cljs.core.disj.call(null,a,c)}}(a,b),a,a)};
clojure.set.intersection.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){a=clojure.set.bubble_max_key.call(null,function(a){return-cljs.core.count.call(null,a)},cljs.core.conj.call(null,c,b,a));return cljs.core.reduce.call(null,clojure.set.intersection,cljs.core.first.call(null,a),cljs.core.rest.call(null,a))};
clojure.set.intersection.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return clojure.set.intersection.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};clojure.set.intersection.cljs$lang$maxFixedArity=2;
clojure.set.difference=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return clojure.set.difference.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return clojure.set.difference.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),clojure.set.difference.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
clojure.set.difference.cljs$core$IFn$_invoke$arity$1=function(a){return a};clojure.set.difference.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.count.call(null,a)<cljs.core.count.call(null,b)?cljs.core.reduce.call(null,function(a,d){return cljs.core.contains_QMARK_.call(null,b,d)?cljs.core.disj.call(null,a,d):a},a,a):cljs.core.reduce.call(null,cljs.core.disj,a,b)};
clojure.set.difference.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.call(null,clojure.set.difference,a,cljs.core.conj.call(null,c,b))};clojure.set.difference.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return clojure.set.difference.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};clojure.set.difference.cljs$lang$maxFixedArity=2;
clojure.set.select=function(a,b){return cljs.core.reduce.call(null,function(b,d){return cljs.core.truth_(a.call(null,d))?b:cljs.core.disj.call(null,b,d)},b,b)};clojure.set.project=function(a,b){return cljs.core.set.call(null,cljs.core.map.call(null,function(a){return cljs.core.select_keys.call(null,a,b)},a))};
clojure.set.rename_keys=function(a,b){return cljs.core.reduce.call(null,function(b,d){var c=cljs.core.nth.call(null,d,0,null),f=cljs.core.nth.call(null,d,1,null);return cljs.core.contains_QMARK_.call(null,a,c)?cljs.core.assoc.call(null,b,f,cljs.core.get.call(null,a,c)):b},cljs.core.apply.call(null,cljs.core.dissoc,a,cljs.core.keys.call(null,b)),b)};clojure.set.rename=function(a,b){return cljs.core.set.call(null,cljs.core.map.call(null,function(a){return clojure.set.rename_keys.call(null,a,b)},a))};
clojure.set.index=function(a,b){return cljs.core.reduce.call(null,function(a,d){var c=cljs.core.select_keys.call(null,d,b);return cljs.core.assoc.call(null,a,c,cljs.core.conj.call(null,cljs.core.get.call(null,a,c,cljs.core.PersistentHashSet.EMPTY),d))},cljs.core.PersistentArrayMap.EMPTY,a)};
clojure.set.map_invert=function(a){return cljs.core.reduce.call(null,function(a,c){var b=cljs.core.nth.call(null,c,0,null),e=cljs.core.nth.call(null,c,1,null);return cljs.core.assoc.call(null,a,e,b)},cljs.core.PersistentArrayMap.EMPTY,a)};
clojure.set.join=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return clojure.set.join.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return clojure.set.join.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
clojure.set.join.cljs$core$IFn$_invoke$arity$2=function(a,b){if(cljs.core.seq.call(null,a)&&cljs.core.seq.call(null,b)){var c=clojure.set.intersection.call(null,cljs.core.set.call(null,cljs.core.keys.call(null,cljs.core.first.call(null,a))),cljs.core.set.call(null,cljs.core.keys.call(null,cljs.core.first.call(null,b)))),d=cljs.core.count.call(null,a)<=cljs.core.count.call(null,b)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null):new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null),e=cljs.core.nth.call(null,d,0,null),f=cljs.core.nth.call(null,d,1,null),g=clojure.set.index.call(null,e,c);return cljs.core.reduce.call(null,function(a,b,c,d,e){return function(f,g){var h=e.call(null,cljs.core.select_keys.call(null,g,a));return cljs.core.truth_(h)?cljs.core.reduce.call(null,function(a,b,c,d,e,f){return function(a,b){return cljs.core.conj.call(null,a,cljs.core.merge.call(null,b,g))}}(h,a,b,c,d,e),f,h):f}}(c,d,e,f,g),cljs.core.PersistentHashSet.EMPTY,
f)}return cljs.core.PersistentHashSet.EMPTY};
clojure.set.join.cljs$core$IFn$_invoke$arity$3=function(a,b,c){a=cljs.core.count.call(null,a)<=cljs.core.count.call(null,b)?new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,clojure.set.map_invert.call(null,c)],null):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a,c],null);b=cljs.core.nth.call(null,a,0,null);c=cljs.core.nth.call(null,a,1,null);var d=cljs.core.nth.call(null,a,2,null),e=clojure.set.index.call(null,b,cljs.core.vals.call(null,
d));return cljs.core.reduce.call(null,function(a,b,c,d,e){return function(f,g){var h=e.call(null,clojure.set.rename_keys.call(null,cljs.core.select_keys.call(null,g,cljs.core.keys.call(null,d)),d));return cljs.core.truth_(h)?cljs.core.reduce.call(null,function(a,b,c,d,e,f){return function(a,b){return cljs.core.conj.call(null,a,cljs.core.merge.call(null,b,g))}}(h,a,b,c,d,e),f,h):f}}(a,b,c,d,e),cljs.core.PersistentHashSet.EMPTY,c)};clojure.set.join.cljs$lang$maxFixedArity=3;
clojure.set.subset_QMARK_=function(a,b){return cljs.core.count.call(null,a)<=cljs.core.count.call(null,b)&&cljs.core.every_QMARK_.call(null,function(a){return cljs.core.contains_QMARK_.call(null,b,a)},a)};clojure.set.superset_QMARK_=function(a,b){return cljs.core.count.call(null,a)>=cljs.core.count.call(null,b)&&cljs.core.every_QMARK_.call(null,function(b){return cljs.core.contains_QMARK_.call(null,a,b)},b)};clojure.string={};clojure.string.seq_reverse=function(a){return cljs.core.reduce.call(null,cljs.core.conj,cljs.core.List.EMPTY,a)};clojure.string.re_surrogate_pair=RegExp("([\\uD800-\\uDBFF])([\\uDC00-\\uDFFF])","g");clojure.string.reverse=function(a){return a.replace(clojure.string.re_surrogate_pair,"$2$1").split("").reverse().join("")};
clojure.string.replace_all=function(a,b,c){var d=RegExp,e=b.source;var f=cljs.core.truth_(b.ignoreCase)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1("g"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("i")].join(""):"g",f=cljs.core.truth_(b.multiline)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(f),cljs.core.str.cljs$core$IFn$_invoke$arity$1("m")].join(""):f;b=cljs.core.truth_(b.unicode)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(f),cljs.core.str.cljs$core$IFn$_invoke$arity$1("u")].join(""):f;d=new d(e,
b);return a.replace(d,c)};
clojure.string.replace_with=function(a){return function(){var b=function(b){b=cljs.core.drop_last.call(null,2,b);return cljs.core._EQ_.call(null,cljs.core.count.call(null,b),1)?a.call(null,cljs.core.first.call(null,b)):a.call(null,cljs.core.vec.call(null,b))},c=function(a){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return b.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(a){a=
cljs.core.seq(a);return b(a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}()};
clojure.string.replace=function(a,b,c){if("string"===typeof b)return a.replace(new RegExp(goog.string.regExpEscape(b),"g"),c);if(b instanceof RegExp)return"string"===typeof c?clojure.string.replace_all.call(null,a,b,c):clojure.string.replace_all.call(null,a,b,clojure.string.replace_with.call(null,c));throw[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid match arg: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("");};clojure.string.replace_first=function(a,b,c){return a.replace(b,c)};
clojure.string.join=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return clojure.string.join.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return clojure.string.join.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
clojure.string.join.cljs$core$IFn$_invoke$arity$1=function(a){var b=new goog.string.StringBuffer;for(a=cljs.core.seq.call(null,a);;)if(null!=a)b=b.append(""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,a))),a=cljs.core.next.call(null,a);else return b.toString()};
clojure.string.join.cljs$core$IFn$_invoke$arity$2=function(a,b){for(var c=new goog.string.StringBuffer,d=cljs.core.seq.call(null,b);;)if(null!=d)c.append(""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,d))),d=cljs.core.next.call(null,d),null!=d&&c.append(a);else return c.toString()};clojure.string.join.cljs$lang$maxFixedArity=2;clojure.string.upper_case=function(a){return a.toUpperCase()};clojure.string.lower_case=function(a){return a.toLowerCase()};
clojure.string.capitalize=function(a){return 2>cljs.core.count.call(null,a)?clojure.string.upper_case.call(null,a):[cljs.core.str.cljs$core$IFn$_invoke$arity$1(clojure.string.upper_case.call(null,cljs.core.subs.call(null,a,0,1))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(clojure.string.lower_case.call(null,cljs.core.subs.call(null,a,1)))].join("")};clojure.string.pop_last_while_empty=function(a){for(;;)if(""===cljs.core.peek.call(null,a))a=cljs.core.pop.call(null,a);else return a};
clojure.string.discard_trailing_if_needed=function(a,b){return 0===a&&1<cljs.core.count.call(null,b)?clojure.string.pop_last_while_empty.call(null,b):b};
clojure.string.split_with_empty_regex=function(a,b){if(0>=b||b>=2+cljs.core.count.call(null,a))return cljs.core.conj.call(null,cljs.core.vec.call(null,cljs.core.cons.call(null,"",cljs.core.map.call(null,cljs.core.str,cljs.core.seq.call(null,a)))),"");var c=cljs.core._EQ__EQ_;if(cljs.core.truth_(c.call(null,1,b)))return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null);if(cljs.core.truth_(c.call(null,2,b)))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
["",a],null);c=b-2;return cljs.core.conj.call(null,cljs.core.vec.call(null,cljs.core.cons.call(null,"",cljs.core.subvec.call(null,cljs.core.vec.call(null,cljs.core.map.call(null,cljs.core.str,cljs.core.seq.call(null,a))),0,c))),cljs.core.subs.call(null,a,c))};
clojure.string.split=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return clojure.string.split.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return clojure.string.split.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
clojure.string.split.cljs$core$IFn$_invoke$arity$2=function(a,b){return clojure.string.split.call(null,a,b,0)};
clojure.string.split.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return clojure.string.discard_trailing_if_needed.call(null,c,"/(?:)/"===""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)?clojure.string.split_with_empty_regex.call(null,a,c):1>c?cljs.core.vec.call(null,(""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)).split(b)):function(){for(var d=a,e=c,f=cljs.core.PersistentVector.EMPTY;;){if(1===e)return cljs.core.conj.call(null,f,d);var g=cljs.core.re_find.call(null,b,d);if(null!=g)var h=d.indexOf(g),
g=d.substring(h+cljs.core.count.call(null,g)),e=e-1,f=cljs.core.conj.call(null,f,d.substring(0,h)),d=g;else return cljs.core.conj.call(null,f,d)}}())};clojure.string.split.cljs$lang$maxFixedArity=3;clojure.string.split_lines=function(a){return clojure.string.split.call(null,a,/\n|\r\n/)};clojure.string.trim=function(a){return goog.string.trim(a)};clojure.string.triml=function(a){return goog.string.trimLeft(a)};clojure.string.trimr=function(a){return goog.string.trimRight(a)};
clojure.string.trim_newline=function(a){for(var b=a.length;;){if(0===b)return"";var c=cljs.core.get.call(null,a,b-1);if("\n"===c||"\r"===c)--b;else return a.substring(0,b)}};clojure.string.blank_QMARK_=function(a){return goog.string.isEmptySafe(a)};
clojure.string.escape=function(a,b){for(var c=new goog.string.StringBuffer,d=a.length,e=0;;){if(d===e)return c.toString();var f=a.charAt(e),g=cljs.core.get.call(null,b,f);null!=g?c.append(""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(g)):c.append(f);e+=1}};
clojure.string.index_of=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return clojure.string.index_of.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return clojure.string.index_of.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
clojure.string.index_of.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=a.indexOf(b);return 0>c?null:c};clojure.string.index_of.cljs$core$IFn$_invoke$arity$3=function(a,b,c){a=a.indexOf(b,c);return 0>a?null:a};clojure.string.index_of.cljs$lang$maxFixedArity=3;
clojure.string.last_index_of=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=a.lastIndexOf(b);return 0>c?null:c};clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$3=function(a,b,c){a=a.lastIndexOf(b,c);return 0>a?null:a};clojure.string.last_index_of.cljs$lang$maxFixedArity=3;clojure.string.starts_with_QMARK_=function(a,b){return goog.string.startsWith(a,b)};clojure.string.ends_with_QMARK_=function(a,b){return goog.string.endsWith(a,b)};
clojure.string.includes_QMARK_=function(a,b){return goog.string.contains(a,b)};cljs.reader={};cljs.reader.PushbackReader=function(){};cljs.reader.read_char=function(a){if(null!=a&&null!=a.cljs$reader$PushbackReader$read_char$arity$1)return a.cljs$reader$PushbackReader$read_char$arity$1(a);var b=cljs.reader.read_char[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.reader.read_char._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"PushbackReader.read-char",a);};
cljs.reader.unread=function(a,b){if(null!=a&&null!=a.cljs$reader$PushbackReader$unread$arity$2)return a.cljs$reader$PushbackReader$unread$arity$2(a,b);var c=cljs.reader.unread[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.reader.unread._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"PushbackReader.unread",a);};cljs.reader.StringPushbackReader=function(a,b,c){this.s=a;this.buffer=b;this.idx=c};
cljs.reader.StringPushbackReader.prototype.cljs$reader$PushbackReader$=cljs.core.PROTOCOL_SENTINEL;cljs.reader.StringPushbackReader.prototype.cljs$reader$PushbackReader$read_char$arity$1=function(a){return 0===this.buffer.length?(this.idx+=1,this.s[this.idx]):this.buffer.pop()};cljs.reader.StringPushbackReader.prototype.cljs$reader$PushbackReader$unread$arity$2=function(a,b){return this.buffer.push(b)};
cljs.reader.StringPushbackReader.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"s","s",-948495851,null),new cljs.core.Symbol(null,"buffer","buffer",-2037140571,null),cljs.core.with_meta(new cljs.core.Symbol(null,"idx","idx",-1600747296,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.reader.StringPushbackReader.cljs$lang$type=!0;
cljs.reader.StringPushbackReader.cljs$lang$ctorStr="cljs.reader/StringPushbackReader";cljs.reader.StringPushbackReader.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.reader/StringPushbackReader")};cljs.reader.__GT_StringPushbackReader=function(a,b,c){return new cljs.reader.StringPushbackReader(a,b,c)};cljs.reader.push_back_reader=function(a){return new cljs.reader.StringPushbackReader(a,[],-1)};
cljs.reader.whitespace_QMARK_=function(a){var b=goog.string.isBreakingWhitespace(a);return cljs.core.truth_(b)?b:","===a};cljs.reader.numeric_QMARK_=function(a){return goog.string.isNumeric(a)};cljs.reader.comment_prefix_QMARK_=function(a){return";"===a};cljs.reader.number_literal_QMARK_=function(a,b){return cljs.reader.numeric_QMARK_.call(null,b)||("+"===b||"-"===b)&&cljs.reader.numeric_QMARK_.call(null,function(){var b=cljs.reader.read_char.call(null,a);cljs.reader.unread.call(null,a,b);return b}())};
cljs.reader.reader_error=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return cljs.reader.reader_error.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};cljs.reader.reader_error.cljs$core$IFn$_invoke$arity$variadic=function(a,b){throw Error(cljs.core.apply.call(null,cljs.core.str,b));};cljs.reader.reader_error.cljs$lang$maxFixedArity=1;
cljs.reader.reader_error.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return cljs.reader.reader_error.cljs$core$IFn$_invoke$arity$variadic(b,a)};cljs.reader.macro_terminating_QMARK_=function(a){var b="#"!==a;return b&&(b="'"!==a)?(b=":"!==a)?cljs.reader.macros.call(null,a):b:b};
cljs.reader.read_token=function(a,b){for(var c=new goog.string.StringBuffer(b),d=cljs.reader.read_char.call(null,a);;){if(null==d||cljs.reader.whitespace_QMARK_.call(null,d)||cljs.reader.macro_terminating_QMARK_.call(null,d))return cljs.reader.unread.call(null,a,d),c.toString();c.append(d);d=cljs.reader.read_char.call(null,a)}};cljs.reader.skip_line=function(a,b){for(;;){var c=cljs.reader.read_char.call(null,a);if("\n"===c||"\r"===c||null==c)return a}};
cljs.reader.int_pattern=cljs.core.re_pattern.call(null,"^([-+]?)(?:(0)|([1-9][0-9]*)|0[xX]([0-9A-Fa-f]+)|0([0-7]+)|([1-9][0-9]?)[rR]([0-9A-Za-z]+))(N)?$");cljs.reader.ratio_pattern=cljs.core.re_pattern.call(null,"^([-+]?[0-9]+)/([0-9]+)$");cljs.reader.float_pattern=cljs.core.re_pattern.call(null,"^([-+]?[0-9]+(\\.[0-9]*)?([eE][-+]?[0-9]+)?)(M)?$");cljs.reader.symbol_pattern=cljs.core.re_pattern.call(null,"^[:]?([^0-9/].*/)?([^0-9/][^/]*)$");
cljs.reader.re_matches_STAR_=function(a,b){var c=a.exec(b);return null!=c&&c[0]===b?1===c.length?c[0]:c:null};
cljs.reader.match_int=function(a){a=cljs.reader.re_matches_STAR_.call(null,cljs.reader.int_pattern,a);var b=a[2];if(null!=(cljs.core._EQ_.call(null,b,"")?null:b))return 0;var b=cljs.core.truth_(a[3])?[a[3],10]:cljs.core.truth_(a[4])?[a[4],16]:cljs.core.truth_(a[5])?[a[5],8]:cljs.core.truth_(a[6])?[a[7],parseInt(a[6],10)]:[null,null],c=b[0];if(null==c)return null;b=parseInt(c,b[1]);return"-"===a[1]?-b:b};
cljs.reader.match_ratio=function(a){a=cljs.reader.re_matches_STAR_.call(null,cljs.reader.ratio_pattern,a);var b=a[2];return parseInt(a[1],10)/parseInt(b,10)};cljs.reader.match_float=function(a){return parseFloat(a)};
cljs.reader.match_number=function(a){return cljs.core.truth_(cljs.reader.re_matches_STAR_.call(null,cljs.reader.int_pattern,a))?cljs.reader.match_int.call(null,a):cljs.core.truth_(cljs.reader.re_matches_STAR_.call(null,cljs.reader.ratio_pattern,a))?cljs.reader.match_ratio.call(null,a):cljs.core.truth_(cljs.reader.re_matches_STAR_.call(null,cljs.reader.float_pattern,a))?cljs.reader.match_float.call(null,a):null};
cljs.reader.escape_char_map=function(a){return"t"===a?"\t":"r"===a?"\r":"n"===a?"\n":"\\"===a?"\\":'"'===a?'"':"b"===a?"\b":"f"===a?"\f":null};cljs.reader.read_2_chars=function(a){return(new goog.string.StringBuffer(cljs.reader.read_char.call(null,a),cljs.reader.read_char.call(null,a))).toString()};
cljs.reader.read_4_chars=function(a){return(new goog.string.StringBuffer(cljs.reader.read_char.call(null,a),cljs.reader.read_char.call(null,a),cljs.reader.read_char.call(null,a),cljs.reader.read_char.call(null,a))).toString()};cljs.reader.unicode_2_pattern=cljs.core.re_pattern.call(null,"^[0-9A-Fa-f]{2}$");cljs.reader.unicode_4_pattern=cljs.core.re_pattern.call(null,"^[0-9A-Fa-f]{4}$");
cljs.reader.validate_unicode_escape=function(a,b,c,d){return cljs.core.truth_(cljs.core.re_matches.call(null,a,d))?d:cljs.reader.reader_error.call(null,b,"Unexpected unicode escape \\",c,d)};cljs.reader.make_unicode_char=function(a){a=parseInt(a,16);return String.fromCharCode(a)};
cljs.reader.escape_char=function(a,b){var c=cljs.reader.read_char.call(null,b),d=cljs.reader.escape_char_map.call(null,c);return cljs.core.truth_(d)?d:"x"===c?cljs.reader.make_unicode_char.call(null,cljs.reader.validate_unicode_escape.call(null,cljs.reader.unicode_2_pattern,b,c,cljs.reader.read_2_chars.call(null,b))):"u"===c?cljs.reader.make_unicode_char.call(null,cljs.reader.validate_unicode_escape.call(null,cljs.reader.unicode_4_pattern,b,c,cljs.reader.read_4_chars.call(null,b))):cljs.reader.numeric_QMARK_.call(null,
c)?String.fromCharCode(c):cljs.reader.reader_error.call(null,b,"Unexpected unicode escape \\",c)};cljs.reader.read_past=function(a,b){for(var c=cljs.reader.read_char.call(null,b);;)if(cljs.core.truth_(a.call(null,c)))c=cljs.reader.read_char.call(null,b);else return c};
cljs.reader.read_delimited_list=function(a,b,c){for(var d=[];;){var e=cljs.reader.read_past.call(null,cljs.reader.whitespace_QMARK_,b);cljs.core.truth_(e)||cljs.reader.reader_error.call(null,b,"EOF while reading");if(a===e)return d;var f=cljs.reader.macros.call(null,e);cljs.core.truth_(f)?e=f.call(null,b,e):(cljs.reader.unread.call(null,b,e),e=cljs.reader.read.call(null,b,!0,null,c));e!==b&&d.push(e)}};
cljs.reader.not_implemented=function(a,b){return cljs.reader.reader_error.call(null,a,"Reader for ",b," not implemented yet")};cljs.reader.read_dispatch=function(a,b){var c=cljs.reader.read_char.call(null,a),d=cljs.reader.dispatch_macros.call(null,c);if(cljs.core.truth_(d))return d.call(null,a,b);d=cljs.reader.maybe_read_tagged_type.call(null,a,c);return cljs.core.truth_(d)?d:cljs.reader.reader_error.call(null,a,"No dispatch macro for ",c)};
cljs.reader.read_unmatched_delimiter=function(a,b){return cljs.reader.reader_error.call(null,a,"Unmatched delimiter ",b)};cljs.reader.read_list=function(a,b){for(var c=cljs.reader.read_delimited_list.call(null,")",a,!0),d=c.length,e=cljs.core.List.EMPTY;;)if(0<d)var f=d-1,e=cljs.core._conj.call(null,e,c[d-1]),d=f;else return e};cljs.reader.read_comment=cljs.reader.skip_line;cljs.reader.read_vector=function(a,b){return cljs.core.vec.call(null,cljs.reader.read_delimited_list.call(null,"]",a,!0))};
cljs.reader.read_map=function(a,b){var c=cljs.reader.read_delimited_list.call(null,"}",a,!0),d=c.length;cljs.core.odd_QMARK_.call(null,d)&&cljs.reader.reader_error.call(null,a,"Map literal must contain an even number of forms");return d<=2*cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD?cljs.core.PersistentArrayMap.createWithCheck(c):cljs.core.PersistentHashMap.createWithCheck(c)};
cljs.reader.read_number=function(a,b){for(var c=new goog.string.StringBuffer(b),d=cljs.reader.read_char.call(null,a);;){if(cljs.core.truth_(function(){var a=null==d;return a?a:(a=cljs.reader.whitespace_QMARK_.call(null,d))?a:cljs.reader.macros.call(null,d)}())){cljs.reader.unread.call(null,a,d);var e=c.toString(),c=cljs.reader.match_number.call(null,e);return cljs.core.truth_(c)?c:cljs.reader.reader_error.call(null,a,"Invalid number format [",e,"]")}c.append(d);d=e=cljs.reader.read_char.call(null,
a)}};cljs.reader.read_string_STAR_=function(a,b){for(var c=new goog.string.StringBuffer,d=cljs.reader.read_char.call(null,a);;){if(null==d)return cljs.reader.reader_error.call(null,a,"EOF while reading");if("\\"===d)c.append(cljs.reader.escape_char.call(null,c,a));else{if('"'===d)return c.toString();c.append(d)}d=cljs.reader.read_char.call(null,a)}};
cljs.reader.read_raw_string_STAR_=function(a,b){for(var c=new goog.string.StringBuffer,d=cljs.reader.read_char.call(null,a);;){if(null==d)return cljs.reader.reader_error.call(null,a,"EOF while reading");if("\\"===d){c.append(d);var e=cljs.reader.read_char.call(null,a);if(null==e)return cljs.reader.reader_error.call(null,a,"EOF while reading");var f=function(){var a=c;a.append(e);return a}(),g=cljs.reader.read_char.call(null,a)}else{if('"'===d)return c.toString();f=function(){var a=c;a.append(d);return a}();
g=cljs.reader.read_char.call(null,a)}c=f;d=g}};cljs.reader.special_symbols=function(a,b){return"nil"===a?null:"true"===a?!0:"false"===a?!1:"/"===a?new cljs.core.Symbol(null,"/","/",-1371932971,null):b};
cljs.reader.read_symbol=function(a,b){var c=cljs.reader.read_token.call(null,a,b);return cljs.core.truth_(function(){var a=goog.string.contains(c,"/");return cljs.core.truth_(a)?1!==c.length:a}())?cljs.core.symbol.call(null,cljs.core.subs.call(null,c,0,c.indexOf("/")),cljs.core.subs.call(null,c,c.indexOf("/")+1,c.length)):cljs.reader.special_symbols.call(null,c,cljs.core.symbol.call(null,c))};
cljs.reader.read_literal=function(a,b){var c=cljs.reader.read_token.call(null,a,b),d=cljs.core.subs.call(null,c,1);return 1===d.length?d:"tab"===d?"\t":"return"===d?"\r":"newline"===d?"\n":"space"===d?" ":"backspace"===d?"\b":"formfeed"===d?"\f":"u"===d.charAt(0)?cljs.reader.make_unicode_char.call(null,cljs.core.subs.call(null,d,1)):"o"===d.charAt(0)?cljs.reader.not_implemented.call(null,a,c):cljs.reader.reader_error.call(null,a,"Unknown character literal: ",c)};
cljs.reader.read_keyword=function(a,b){var c=cljs.reader.read_token.call(null,a,cljs.reader.read_char.call(null,a)),d=cljs.reader.re_matches_STAR_.call(null,cljs.reader.symbol_pattern,c),c=d[0],e=d[1],d=d[2];return void 0!==e&&":/"===e.substring(e.length-2,e.length)||":"===d[d.length-1]||-1!==c.indexOf("::",1)?cljs.reader.reader_error.call(null,a,"Invalid token: ",c):null!=e&&0<e.length?cljs.core.keyword.call(null,e.substring(0,e.indexOf("/")),d):cljs.core.keyword.call(null,c)};
cljs.reader.desugar_meta=function(a){return a instanceof cljs.core.Symbol?new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),a],null):"string"===typeof a?new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),a],null):a instanceof cljs.core.Keyword?cljs.core.PersistentArrayMap.createAsIfByAssoc([a,!0]):a};
cljs.reader.wrapping_reader=function(a){return function(b,c){return cljs.core._conj.call(null,function(){var a=cljs.reader.read.call(null,b,!0,null,!0);return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),a)}};cljs.reader.throwing_reader=function(a){return function(b,c){return cljs.reader.reader_error.call(null,b,a)}};
cljs.reader.read_meta=function(a,b){var c=cljs.reader.desugar_meta.call(null,cljs.reader.read.call(null,a,!0,null,!0));cljs.core.map_QMARK_.call(null,c)||cljs.reader.reader_error.call(null,a,"Metadata must be Symbol,Keyword,String or Map");var d=cljs.reader.read.call(null,a,!0,null,!0);return(null!=d?d.cljs$lang$protocol_mask$partition0$&262144||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$IWithMeta$||(d.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IWithMeta,
d)):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IWithMeta,d))?cljs.core.with_meta.call(null,d,cljs.core.merge.call(null,cljs.core.meta.call(null,d),c)):cljs.reader.reader_error.call(null,a,"Metadata can only be applied to IWithMetas")};cljs.reader.read_set=function(a,b){return cljs.core.PersistentHashSet.createWithCheck(cljs.reader.read_delimited_list.call(null,"}",a,!0))};
cljs.reader.read_regex=function(a,b){return cljs.core.re_pattern.call(null,cljs.reader.read_raw_string_STAR_.call(null,a,b))};cljs.reader.read_discard=function(a,b){cljs.reader.read.call(null,a,!0,null,!0);return a};
cljs.reader.macros=function(a){return'"'===a?cljs.reader.read_string_STAR_:":"===a?cljs.reader.read_keyword:";"===a?cljs.reader.read_comment:"'"===a?cljs.reader.wrapping_reader.call(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null)):"@"===a?cljs.reader.wrapping_reader.call(null,new cljs.core.Symbol(null,"deref","deref",1494944732,null)):"^"===a?cljs.reader.read_meta:"`"===a?cljs.reader.not_implemented:"~"===a?cljs.reader.not_implemented:"("===a?cljs.reader.read_list:")"===a?cljs.reader.read_unmatched_delimiter:
"["===a?cljs.reader.read_vector:"]"===a?cljs.reader.read_unmatched_delimiter:"{"===a?cljs.reader.read_map:"}"===a?cljs.reader.read_unmatched_delimiter:"\\"===a?cljs.reader.read_literal:"#"===a?cljs.reader.read_dispatch:null};cljs.reader.dispatch_macros=function(a){return"{"===a?cljs.reader.read_set:"\x3c"===a?cljs.reader.throwing_reader.call(null,"Unreadable form"):'"'===a?cljs.reader.read_regex:"!"===a?cljs.reader.read_comment:"_"===a?cljs.reader.read_discard:null};
cljs.reader.read=function(a,b,c,d){for(;;){d=cljs.reader.read_char.call(null,a);if(null==d)return cljs.core.truth_(b)?cljs.reader.reader_error.call(null,a,"EOF while reading"):c;if(!cljs.reader.whitespace_QMARK_.call(null,d))if(cljs.reader.comment_prefix_QMARK_.call(null,d))a=cljs.reader.read_comment.call(null,a,d);else{var e=cljs.reader.macros.call(null,d);d=cljs.core.truth_(e)?e.call(null,a,d):cljs.reader.number_literal_QMARK_.call(null,a,d)?cljs.reader.read_number.call(null,a,d):cljs.reader.read_symbol.call(null,
a,d);if(d!==a)return d}}};cljs.reader.read_string=function(a){if("string"!==typeof a)throw Error("Cannot read from non-string object.");a=cljs.reader.push_back_reader.call(null,a);return cljs.reader.read.call(null,a,!1,null,!1)};
cljs.reader.zero_fill_right_and_truncate=function(a,b){if(cljs.core._EQ_.call(null,b,cljs.core.count.call(null,a)))return a;if(b<cljs.core.count.call(null,a))return cljs.core.subs.call(null,a,0,b);for(var c=new goog.string.StringBuffer(a);;)if(c.getLength()<b)c=c.append("0");else return c.toString()};cljs.reader.divisible_QMARK_=function(a,b){return 0===cljs.core.mod.call(null,a,b)};
cljs.reader.indivisible_QMARK_=function(a,b){return cljs.core.not.call(null,cljs.reader.divisible_QMARK_.call(null,a,b))};cljs.reader.leap_year_QMARK_=function(a){var b=cljs.reader.divisible_QMARK_.call(null,a,4);return cljs.core.truth_(b)?(b=cljs.reader.indivisible_QMARK_.call(null,a,100),cljs.core.truth_(b)?b:cljs.reader.divisible_QMARK_.call(null,a,400)):b};
cljs.reader.days_in_month=function(){var a=new cljs.core.PersistentVector(null,13,5,cljs.core.PersistentVector.EMPTY_NODE,[null,31,28,31,30,31,30,31,31,30,31,30,31],null),b=new cljs.core.PersistentVector(null,13,5,cljs.core.PersistentVector.EMPTY_NODE,[null,31,29,31,30,31,30,31,31,30,31,30,31],null);return function(a,b){return function(c,d){return cljs.core.get.call(null,cljs.core.truth_(d)?b:a,c)}}(a,b)}();cljs.reader.timestamp_regex=/(\d\d\d\d)(?:-(\d\d)(?:-(\d\d)(?:[T](\d\d)(?::(\d\d)(?::(\d\d)(?:[.](\d+))?)?)?)?)?)?(?:[Z]|([-+])(\d\d):(\d\d))?/;
cljs.reader.parse_int=function(a){a=parseInt(a,10);return cljs.core.not.call(null,isNaN(a))?a:null};
cljs.reader.check=function(a,b,c,d){a<=b&&b<=c||cljs.reader.reader_error.call(null,null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" Failed:  "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1("\x3c\x3d"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1("\x3c\x3d"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(""));return b};
cljs.reader.parse_and_validate_timestamp=function(a){var b=cljs.core.re_matches.call(null,cljs.reader.timestamp_regex,a);cljs.core.nth.call(null,b,0,null);var c=cljs.core.nth.call(null,b,1,null),d=cljs.core.nth.call(null,b,2,null),e=cljs.core.nth.call(null,b,3,null),f=cljs.core.nth.call(null,b,4,null),g=cljs.core.nth.call(null,b,5,null),h=cljs.core.nth.call(null,b,6,null),k=cljs.core.nth.call(null,b,7,null),l=cljs.core.nth.call(null,b,8,null),m=cljs.core.nth.call(null,b,9,null),n=cljs.core.nth.call(null,
b,10,null);if(cljs.core.not.call(null,b))return cljs.reader.reader_error.call(null,null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Unrecognized date/time syntax: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));a=cljs.reader.parse_int.call(null,c);var b=function(){var a=cljs.reader.parse_int.call(null,d);return cljs.core.truth_(a)?a:1}(),c=function(){var a=cljs.reader.parse_int.call(null,e);return cljs.core.truth_(a)?a:1}(),p=function(){var a=cljs.reader.parse_int.call(null,f);return cljs.core.truth_(a)?
a:0}(),q=function(){var a=cljs.reader.parse_int.call(null,g);return cljs.core.truth_(a)?a:0}(),r=function(){var a=cljs.reader.parse_int.call(null,h);return cljs.core.truth_(a)?a:0}(),u=function(){var a=cljs.reader.parse_int.call(null,cljs.reader.zero_fill_right_and_truncate.call(null,k,3));return cljs.core.truth_(a)?a:0}(),l=cljs.core._EQ_.call(null,l,"-")?-1:1,t=function(){var a=cljs.reader.parse_int.call(null,m);return cljs.core.truth_(a)?a:0}(),v=function(){var a=cljs.reader.parse_int.call(null,
n);return cljs.core.truth_(a)?a:0}(),l=l*(60*t+v);return new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[a,cljs.reader.check.call(null,1,b,12,"timestamp month field must be in range 1..12"),cljs.reader.check.call(null,1,c,cljs.reader.days_in_month.call(null,b,cljs.reader.leap_year_QMARK_.call(null,a)),"timestamp day field must be in range 1..last day in month"),cljs.reader.check.call(null,0,p,23,"timestamp hour field must be in range 0..23"),cljs.reader.check.call(null,
0,q,59,"timestamp minute field must be in range 0..59"),cljs.reader.check.call(null,0,r,cljs.core._EQ_.call(null,q,59)?60:59,"timestamp second field must be in range 0..60"),cljs.reader.check.call(null,0,u,999,"timestamp millisecond field must be in range 0..999"),l],null)};
cljs.reader.parse_timestamp=function(a){var b=cljs.reader.parse_and_validate_timestamp.call(null,a);if(cljs.core.truth_(b)){a=cljs.core.nth.call(null,b,0,null);var c=cljs.core.nth.call(null,b,1,null),d=cljs.core.nth.call(null,b,2,null),e=cljs.core.nth.call(null,b,3,null),f=cljs.core.nth.call(null,b,4,null),g=cljs.core.nth.call(null,b,5,null),h=cljs.core.nth.call(null,b,6,null),b=cljs.core.nth.call(null,b,7,null);return new Date(Date.UTC(a,c-1,d,e,f,g,h)-6E4*b)}return cljs.reader.reader_error.call(null,
null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Unrecognized date/time syntax: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""))};cljs.reader.read_date=function(a){return"string"===typeof a?cljs.reader.parse_timestamp.call(null,a):cljs.reader.reader_error.call(null,null,"Instance literal expects a string for its timestamp.")};
cljs.reader.read_queue=function(a){return cljs.core.vector_QMARK_.call(null,a)?cljs.core.into.call(null,cljs.core.PersistentQueue.EMPTY,a):cljs.reader.reader_error.call(null,null,"Queue literal expects a vector for its elements.")};
cljs.reader.read_js=function(a){if(cljs.core.vector_QMARK_.call(null,a)){var b=[];a=cljs.core.seq.call(null,a);for(var c=null,d=0,e=0;;)if(e<d){var f=cljs.core._nth.call(null,c,e);b.push(f);e+=1}else if(a=cljs.core.seq.call(null,a))c=a,cljs.core.chunked_seq_QMARK_.call(null,c)?(a=cljs.core.chunk_first.call(null,c),e=cljs.core.chunk_rest.call(null,c),c=a,d=cljs.core.count.call(null,a),a=e):(a=cljs.core.first.call(null,c),b.push(a),a=cljs.core.next.call(null,c),c=null,d=0),e=0;else break;return b}if(cljs.core.map_QMARK_.call(null,
a)){b={};a=cljs.core.seq.call(null,a);c=null;for(e=d=0;;)if(e<d){var g=cljs.core._nth.call(null,c,e),f=cljs.core.nth.call(null,g,0,null),g=cljs.core.nth.call(null,g,1,null);b[cljs.core.name.call(null,f)]=g;e+=1}else if(a=cljs.core.seq.call(null,a))cljs.core.chunked_seq_QMARK_.call(null,a)?(d=cljs.core.chunk_first.call(null,a),a=cljs.core.chunk_rest.call(null,a),c=d,d=cljs.core.count.call(null,d)):(d=cljs.core.first.call(null,a),c=cljs.core.nth.call(null,d,0,null),d=cljs.core.nth.call(null,d,1,null),
b[cljs.core.name.call(null,c)]=d,a=cljs.core.next.call(null,a),c=null,d=0),e=0;else break;return b}return cljs.reader.reader_error.call(null,null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("JS literal expects a vector or map containing "),cljs.core.str.cljs$core$IFn$_invoke$arity$1("only string or unqualified keyword keys")].join(""))};cljs.reader.read_uuid=function(a){return"string"===typeof a?cljs.core.uuid.call(null,a):cljs.reader.reader_error.call(null,null,"UUID literal expects a string as its representation.")};
cljs.reader._STAR_tag_table_STAR_=cljs.core.atom.call(null,cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,4,["inst",cljs.reader.read_date,"uuid",cljs.reader.read_uuid,"queue",cljs.reader.read_queue,"js",cljs.reader.read_js],null),cljs.core.PersistentArrayMap.EMPTY));cljs.reader._STAR_default_data_reader_fn_STAR_=cljs.core.atom.call(null,null);
cljs.reader.maybe_read_tagged_type=function(a,b){var c=cljs.reader.read_symbol.call(null,a,b),d=cljs.core.get.call(null,cljs.core.deref.call(null,cljs.reader._STAR_tag_table_STAR_),""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)),e=cljs.core.deref.call(null,cljs.reader._STAR_default_data_reader_fn_STAR_);return cljs.core.truth_(d)?d.call(null,cljs.reader.read.call(null,a,!0,null,!1)):cljs.core.truth_(e)?e.call(null,c,cljs.reader.read.call(null,a,!0,null,!1)):cljs.reader.reader_error.call(null,a,
"Could not find tag parser for ",""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)," in ",cljs.core.pr_str.call(null,cljs.core.keys.call(null,cljs.core.deref.call(null,cljs.reader._STAR_tag_table_STAR_))))};cljs.reader.register_tag_parser_BANG_=function(a,b){var c=""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),d=cljs.core.get.call(null,cljs.core.deref.call(null,cljs.reader._STAR_tag_table_STAR_),c);cljs.core.swap_BANG_.call(null,cljs.reader._STAR_tag_table_STAR_,cljs.core.assoc,c,b);return d};
cljs.reader.deregister_tag_parser_BANG_=function(a){a=""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a);var b=cljs.core.get.call(null,cljs.core.deref.call(null,cljs.reader._STAR_tag_table_STAR_),a);cljs.core.swap_BANG_.call(null,cljs.reader._STAR_tag_table_STAR_,cljs.core.dissoc,a);return b};
cljs.reader.register_default_tag_parser_BANG_=function(a){var b=cljs.core.deref.call(null,cljs.reader._STAR_default_data_reader_fn_STAR_);cljs.core.swap_BANG_.call(null,cljs.reader._STAR_default_data_reader_fn_STAR_,function(b){return function(b){return a}}(b));return b};
cljs.reader.deregister_default_tag_parser_BANG_=function(){var a=cljs.core.deref.call(null,cljs.reader._STAR_default_data_reader_fn_STAR_);cljs.core.swap_BANG_.call(null,cljs.reader._STAR_default_data_reader_fn_STAR_,function(a){return function(a){return null}}(a));return a};var hoplon={core:{}};cljs.core.enable_console_print_BANG_.call(null);hoplon.core.prerendering_QMARK_=(new goog.Uri(window.location.href)).getParameterValue("prerendering");hoplon.core.static_elements=cljs.core.reduce.call(null,function(a,b){return cljs.core.assoc.call(null,a,b.getAttribute("static-id"),b)},cljs.core.PersistentArrayMap.EMPTY,document.querySelector("[static-id]"));
hoplon.core.do_watch=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return hoplon.core.do_watch.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return hoplon.core.do_watch.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
hoplon.core.do_watch.cljs$core$IFn$_invoke$arity$2=function(a,b){return hoplon.core.do_watch.call(null,a,null,b)};hoplon.core.do_watch.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core.gensym.call(null);c.call(null,b,cljs.core.deref.call(null,a));cljs.core.add_watch.call(null,a,d,function(a){return function(a,b,d,e){return c.call(null,d,e)}}(d));return d};hoplon.core.do_watch.cljs$lang$maxFixedArity=3;
hoplon.core.bust_cache=function(a){a=cljs.core.reverse.call(null,clojure.string.split.call(null,a,/\//));a=cljs.core.seq.call(null,a);var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);var c=clojure.string.split.call(null,b,/\./,2),b=cljs.core.nth.call(null,c,0,null),c=cljs.core.nth.call(null,c,1,null);return clojure.string.join.call(null,"/",cljs.core.reverse.call(null,cljs.core.conj.call(null,a,clojure.string.join.call(null,".",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1("."),cljs.core.str.cljs$core$IFn$_invoke$arity$1("6689760ad98a4426bfd6517c22588425")].join(""),c],null)))))};hoplon.core.normalize_class=function(a){var b=function(a){return cljs.core.zipmap.call(null,a,cljs.core.repeat.call(null,!0))};return cljs.core.map_QMARK_.call(null,a)?a:b.call(null,"string"===typeof a?a.split(/\s+/):cljs.core.seq.call(null,a))};
hoplon.core.child_vec=function(a){a=a.childNodes;for(var b=a.length,c=0,d=cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY);;){var e=(e=cljs.core._EQ_.call(null,c,b))?cljs.core.persistent_BANG_.call(null,d):e;if(cljs.core.truth_(e))return e;e=c+1;d=cljs.core.conj_BANG_.call(null,d,a.item(c));c=e}};
hoplon.core.vflatten=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return hoplon.core.vflatten.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return hoplon.core.vflatten.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
hoplon.core.vflatten.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.persistent_BANG_.call(null,hoplon.core.vflatten.call(null,a,cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY)))};
hoplon.core.vflatten.cljs$core$IFn$_invoke$arity$2=function(a,b){for(var c=cljs.core.count.call(null,a),d=0;;){if(cljs.core._EQ_.call(null,d,c))return b;var e=cljs.core.nth.call(null,a,d);cljs.core.sequential_QMARK_.call(null,e)?hoplon.core.vflatten.call(null,e,b):cljs.core.conj_BANG_.call(null,b,e);d+=1}};hoplon.core.vflatten.cljs$lang$maxFixedArity=2;hoplon.core.INode=function(){};
hoplon.core.node=function(a){if(null!=a&&null!=a.hoplon$core$INode$node$arity$1)return a.hoplon$core$INode$node$arity$1(a);var b=hoplon.core.node[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=hoplon.core.node._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"INode.node",a);};hoplon.core.INode.string=!0;hoplon.core.node.string=function(a){return hoplon.core.$text.call(null,a)};hoplon.core.INode.number=!0;
hoplon.core.node.number=function(a){return hoplon.core.$text.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a))};hoplon.core.__GT_node=function(a){return(null!=a?cljs.core.PROTOCOL_SENTINEL===a.hoplon$core$INode$||(a.cljs$lang$protocol_mask$partition$?0:cljs.core.native_satisfies_QMARK_.call(null,hoplon.core.INode,a)):cljs.core.native_satisfies_QMARK_.call(null,hoplon.core.INode,a))?hoplon.core.node.call(null,a):a};hoplon.core.removeChild=Element.prototype.removeChild;
hoplon.core.appendChild=Element.prototype.appendChild;hoplon.core.insertBefore=Element.prototype.insertBefore;hoplon.core.replaceChild=Element.prototype.replaceChild;hoplon.core.setAttribute=Element.prototype.setAttribute;
hoplon.core.merge_kids=function(a,b,c){b=cljs.core.mapv.call(null,hoplon.core.__GT_node,cljs.core.reduce.call(null,function(a,b){return null==b?a:cljs.core.conj.call(null,a,b)},cljs.core.PersistentVector.EMPTY,hoplon.core.vflatten.call(null,c)));var d=cljs.core.set.call(null,b);c=cljs.core.seq.call(null,b);cljs.core.first.call(null,c);cljs.core.next.call(null,c);c=hoplon.core.child_vec.call(null,a);var e=cljs.core.seq.call(null,c);cljs.core.first.call(null,e);cljs.core.next.call(null,e);e=b;for(b=
c;;){e=cljs.core.seq.call(null,e);c=cljs.core.first.call(null,e);var e=cljs.core.next.call(null,e),f=c;c=e;var g=cljs.core.seq.call(null,b),e=cljs.core.first.call(null,g),g=cljs.core.next.call(null,g),h=e,k=g,l=b;if(cljs.core.truth_(function(){var a=f;return cljs.core.truth_(a)?a:h}()))b=cljs.core._EQ_.call(null,f,h)?k:cljs.core.not.call(null,h)?function(){var b=k;hoplon.core.appendChild.call(a,f);return b}():cljs.core.not.call(null,f)?function(){var b=k;cljs.core.truth_(d.call(null,h))||hoplon.core.removeChild.call(a,
h);return b}():function(){var b=l;hoplon.core.insertBefore.call(a,f,h);return b}(),e=c;else return null}};hoplon.core.ensure_kids_BANG_=function(a){if(!cljs.core.truth_(a.hoplonKids)){var b=cljs.core.atom.call(null,hoplon.core.child_vec.call(null,a));a.hoplonKids=b;hoplon.core.do_watch.call(null,b,cljs.core.partial.call(null,hoplon.core.merge_kids,a))}return a};hoplon.core.remove_all_kids_BANG_=function(a){a.hoplonKids=null;return hoplon.core.merge_kids.call(null,a,null,null)};
hoplon.core.native_QMARK_=function(a){return a instanceof Element&&null==a.hoplonKids};hoplon.core.managed_QMARK_=function(a){return cljs.core.not.call(null,hoplon.core.native_QMARK_.call(null,a))};
hoplon.core.managed_append_child=function(a,b,c){hoplon.core.ensure_kids_BANG_.call(null,a);a=c.call(null,a);c=cljs.core.count.call(null,cljs.core.deref.call(null,a));cljs.core.truth_(javelin.core.cell_QMARK_.call(null,b))?hoplon.core.do_watch.call(null,b,function(a,b,c){return function(c,d){return cljs.core.swap_BANG_.call(null,a,cljs.core.assoc,b,d)}}(a,c,b)):cljs.core.swap_BANG_.call(null,a,cljs.core.assoc,c,b);return b};
hoplon.core.set_appendChild_BANG_=function(a,b){return a.appendChild=function(a){var c=this;cljs.core.truth_(a.parentNode)&&a.parentNode.removeChild(a);if(cljs.core.truth_(function(){var b=hoplon.core.native_QMARK_.call(null,c);return cljs.core.truth_(b)?cljs.core.not.call(null,javelin.core.cell_QMARK_.call(null,a)):b}()))return hoplon.core.appendChild.call(c,a);if(cljs.core.truth_(function(){var b=hoplon.core.native_QMARK_.call(null,c);return cljs.core.truth_(b)?javelin.core.cell_QMARK_.call(null,
a):b}())||cljs.core.truth_(hoplon.core.managed_QMARK_.call(null,c)))return hoplon.core.managed_append_child.call(null,c,a,b);throw cljs.core.ex_info.call(null,"Unexpected child type",new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"reason","reason",-2070751759),new cljs.core.Keyword("hoplon.core","unexpected-child-type","hoplon.core/unexpected-child-type",1756641127),new cljs.core.Keyword(null,"child","child",623967545),a,new cljs.core.Keyword(null,"native?","native?",-1916990868),
hoplon.core.native_QMARK_.call(null,a),new cljs.core.Keyword(null,"managed?","managed?",-1222195407),hoplon.core.managed_QMARK_.call(null,a),new cljs.core.Keyword(null,"this","this",-611633625),c],null));}};
hoplon.core.set_removeChild_BANG_=function(a,b){return a.removeChild=function(a){hoplon.core.ensure_kids_BANG_.call(null,this);cljs.core.swap_BANG_.call(null,b.call(null,this),function(a,b){return function(b){return cljs.core.into.call(null,cljs.core.PersistentVector.EMPTY,cljs.core.remove.call(null,cljs.core.partial.call(null,cljs.core._EQ_,a),b))}}(a,this));return a}};
hoplon.core.set_insertBefore_BANG_=function(a,b){return a.insertBefore=function(a,d){hoplon.core.ensure_kids_BANG_.call(null,this);cljs.core.not.call(null,d)?cljs.core.swap_BANG_.call(null,b.call(null,this),cljs.core.conj,a):cljs.core.not_EQ_.call(null,a,d)&&cljs.core.swap_BANG_.call(null,b.call(null,this),function(a,b){return function(c){return cljs.core.vec.call(null,cljs.core.mapcat.call(null,function(a,b){return function(b){return cljs.core._EQ_.call(null,b,d)?new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null):new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[b],null)}}(a,b),c))}}(a,this));return a}};
hoplon.core.set_replaceChild_BANG_=function(a,b){return a.replaceChild=function(a,d){hoplon.core.ensure_kids_BANG_.call(null,this);cljs.core.swap_BANG_.call(null,b.call(null,this),function(b,c){return function(d){return cljs.core.mapv.call(null,function(b,c){return function(c){return cljs.core._EQ_.call(null,c,b)?a:c}}(b,c),d)}}(d,this));return d}};
hoplon.core.set_setAttribute_BANG_=function(a,b){return a.setAttribute=function(a,d){var c=cljs.core.keyword.call(null,a),f=b.call(null,this);var g=cljs.core.truth_(f)?cljs.core.contains_QMARK_.call(null,cljs.core.deref.call(null,f),c):f;cljs.core.truth_(g)?cljs.core.swap_BANG_.call(null,f,cljs.core.assoc,c,d):hoplon.core.setAttribute.call(this,a,d)}};hoplon.core.set_appendChild_BANG_.call(null,Element.prototype,function(a){return a.hoplonKids});
hoplon.core.set_removeChild_BANG_.call(null,Element.prototype,function(a){return a.hoplonKids});hoplon.core.set_insertBefore_BANG_.call(null,Element.prototype,function(a){return a.hoplonKids});hoplon.core.set_replaceChild_BANG_.call(null,Element.prototype,function(a){return a.hoplonKids});hoplon.core.ICustomElement=function(){};
hoplon.core._set_attributes_BANG_=function(a,b){if(null!=a&&null!=a.hoplon$core$ICustomElement$_set_attributes_BANG_$arity$2)return a.hoplon$core$ICustomElement$_set_attributes_BANG_$arity$2(a,b);var c=hoplon.core._set_attributes_BANG_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=hoplon.core._set_attributes_BANG_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"ICustomElement.-set-attributes!",a);};
hoplon.core._set_styles_BANG_=function(a,b){if(null!=a&&null!=a.hoplon$core$ICustomElement$_set_styles_BANG_$arity$2)return a.hoplon$core$ICustomElement$_set_styles_BANG_$arity$2(a,b);var c=hoplon.core._set_styles_BANG_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=hoplon.core._set_styles_BANG_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"ICustomElement.-set-styles!",a);};
hoplon.core._append_child_BANG_=function(a,b){if(null!=a&&null!=a.hoplon$core$ICustomElement$_append_child_BANG_$arity$2)return a.hoplon$core$ICustomElement$_append_child_BANG_$arity$2(a,b);var c=hoplon.core._append_child_BANG_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=hoplon.core._append_child_BANG_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"ICustomElement.-append-child!",a);};
hoplon.core._remove_child_BANG_=function(a,b){if(null!=a&&null!=a.hoplon$core$ICustomElement$_remove_child_BANG_$arity$2)return a.hoplon$core$ICustomElement$_remove_child_BANG_$arity$2(a,b);var c=hoplon.core._remove_child_BANG_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=hoplon.core._remove_child_BANG_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"ICustomElement.-remove-child!",a);};
hoplon.core._replace_child_BANG_=function(a,b,c){if(null!=a&&null!=a.hoplon$core$ICustomElement$_replace_child_BANG_$arity$3)return a.hoplon$core$ICustomElement$_replace_child_BANG_$arity$3(a,b,c);var d=hoplon.core._replace_child_BANG_[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=hoplon.core._replace_child_BANG_._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"ICustomElement.-replace-child!",a);};
hoplon.core._insert_before_BANG_=function(a,b,c){if(null!=a&&null!=a.hoplon$core$ICustomElement$_insert_before_BANG_$arity$3)return a.hoplon$core$ICustomElement$_insert_before_BANG_$arity$3(a,b,c);var d=hoplon.core._insert_before_BANG_[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=hoplon.core._insert_before_BANG_._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"ICustomElement.-insert-before!",a);};
hoplon.core.set_attributes_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return hoplon.core.set_attributes_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(3),0,null),hoplon.core.set_attributes_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};
hoplon.core.set_attributes_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){return hoplon.core._set_attributes_BANG_.call(null,a,b)};hoplon.core.set_attributes_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return hoplon.core.set_attributes_BANG_.call(null,a,cljs.core.apply.call(null,cljs.core.hash_map,b,c,d))};
hoplon.core.set_attributes_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c),c=cljs.core.first.call(null,d),d=cljs.core.next.call(null,d);return hoplon.core.set_attributes_BANG_.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};hoplon.core.set_attributes_BANG_.cljs$lang$maxFixedArity=3;
hoplon.core.set_styles_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return hoplon.core.set_styles_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(3),0,null),hoplon.core.set_styles_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};
hoplon.core.set_styles_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){return hoplon.core._set_styles_BANG_.call(null,a,b)};hoplon.core.set_styles_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return hoplon.core.set_styles_BANG_.call(null,a,cljs.core.apply.call(null,cljs.core.hash_map,b,c,d))};
hoplon.core.set_styles_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c),c=cljs.core.first.call(null,d),d=cljs.core.next.call(null,d);return hoplon.core.set_styles_BANG_.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};hoplon.core.set_styles_BANG_.cljs$lang$maxFixedArity=3;hoplon.core.append_child_BANG_=function(a,b){return hoplon.core._append_child_BANG_.call(null,a,b)};
hoplon.core.remove_child_BANG_=function(a,b){return hoplon.core._remove_child_BANG_.call(null,a,b)};hoplon.core.replace_child_BANG_=function(a,b,c){return hoplon.core._replace_child_BANG_.call(null,a,b,c)};hoplon.core.insert_before_BANG_=function(a,b,c){return hoplon.core._insert_before_BANG_.call(null,a,b,c)};hoplon.core.ICustomAttribute=function(){};
hoplon.core._attr_BANG_=function(a,b,c){if(null!=a&&null!=a.hoplon$core$ICustomAttribute$_attr_BANG_$arity$3)return a.hoplon$core$ICustomAttribute$_attr_BANG_$arity$3(a,b,c);var d=hoplon.core._attr_BANG_[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=hoplon.core._attr_BANG_._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"ICustomAttribute.-attr!",a);};
hoplon.core.attribute_QMARK_=function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.hoplon$core$ICustomAttribute$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,hoplon.core.ICustomAttribute,a):cljs.core.native_satisfies_QMARK_.call(null,hoplon.core.ICustomAttribute,a)};cljs.core.Keyword.prototype.hoplon$core$ICustomAttribute$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Keyword.prototype.hoplon$core$ICustomAttribute$_attr_BANG_$arity$3=function(a,b,c){return cljs.core.truth_(javelin.core.cell_QMARK_.call(null,c))?hoplon.core.do_watch.call(null,c,function(a){return function(c,d){return hoplon.core.do_BANG_.call(null,b,a,d)}}(this)):cljs.core.fn_QMARK_.call(null,c)?hoplon.core.on_BANG_.call(null,b,this,c):hoplon.core.do_BANG_.call(null,b,this,c)};hoplon.core.is_ie8=cljs.core.not.call(null,goog.object.get(window,"Node"));
hoplon.core._head_STAR_=hoplon.core.is_ie8?function(a){return a.documentElement.firstChild}:function(a){return a.head};hoplon.core.vector_QMARK__STAR_=hoplon.core.is_ie8?function(a){try{return cljs.core.vector_QMARK_.call(null,a)}catch(b){if(b instanceof Error)return null;throw b;}}:cljs.core.vector_QMARK_;hoplon.core.seq_QMARK__STAR_=hoplon.core.is_ie8?function(a){try{return cljs.core.seq_QMARK_.call(null,a)}catch(b){if(b instanceof Error)return null;throw b;}}:cljs.core.seq_QMARK_;
hoplon.core.safe_nth=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return hoplon.core.safe_nth.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return hoplon.core.safe_nth.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
hoplon.core.safe_nth.cljs$core$IFn$_invoke$arity$2=function(a,b){return hoplon.core.safe_nth.call(null,a,b,null)};hoplon.core.safe_nth.cljs$core$IFn$_invoke$arity$3=function(a,b,c){try{return cljs.core.nth.call(null,a,b,c)}catch(d){if(d instanceof Error)return c;throw d;}};hoplon.core.safe_nth.cljs$lang$maxFixedArity=3;
hoplon.core.timeout=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return hoplon.core.timeout.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return hoplon.core.timeout.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
hoplon.core.timeout.cljs$core$IFn$_invoke$arity$1=function(a){return hoplon.core.timeout.call(null,a,0)};hoplon.core.timeout.cljs$core$IFn$_invoke$arity$2=function(a,b){return window.setTimeout(a,b)};hoplon.core.timeout.cljs$lang$maxFixedArity=2;
hoplon.core.when_dom=function(a,b){if(a instanceof Element){var c=goog.object.get(a,"_hoplonWhenDom");if(cljs.core.truth_(c))return c.push(b);goog.object.set(a,"_hoplonWhenDom",[b]);return setTimeout(function(b){return function(){return function(b){return function g(){if(cljs.core.not.call(null,document.documentElement.contains(a)))return setTimeout(function(a){return function(){return g.call(null)}}(b),20);for(var c=cljs.core.seq.call(null,goog.object.get(a,"_hoplonWhenDom")),d=null,e=0,m=0;;)if(m<
e)cljs.core._nth.call(null,d,m).call(null),m+=1;else if(c=cljs.core.seq.call(null,c))d=c,cljs.core.chunked_seq_QMARK_.call(null,d)?(c=cljs.core.chunk_first.call(null,d),m=cljs.core.chunk_rest.call(null,d),d=c,e=cljs.core.count.call(null,c),c=m):(cljs.core.first.call(null,d).call(null),c=cljs.core.next.call(null,d),d=null,e=0),m=0;else break;return goog.object.set(a,"_hoplonWhenDom",null)}}(b).call(null)}}(c),0)}return setTimeout(function(){return b.call(null)},0)};
hoplon.core.parse_args=function(a){for(var b=cljs.core.transient$.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY),d=cljs.core.seq.call(null,a),e=cljs.core.first.call(null,d),f=cljs.core.next.call(null,d),g=b,h=c,k=a;;){var l=g,m=h,n=k,p=cljs.core.seq.call(null,n),q=cljs.core.first.call(null,p),r=cljs.core.next.call(null,p),u=q,t=r;if(cljs.core.not.call(null,function(){var a=u;return cljs.core.truth_(a)?a:t}()))return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.persistent_BANG_.call(null,l),cljs.core.persistent_BANG_.call(null,m)],null);cljs.core.map_QMARK_.call(null,u)?(g=cljs.core.reduce_kv.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H,P,O){return function(a,b,c){return cljs.core.assoc_BANG_.call(null,a,b,c)}}(g,h,k,l,m,n,p,q,r,u,t,b,c,a,a,d,e,f,e,f),l,u),h=m,m=t):cljs.core.truth_(hoplon.core.attribute_QMARK_.call(null,u))?(g=cljs.core.assoc_BANG_.call(null,l,u,cljs.core.first.call(null,t)),
h=m,m=cljs.core.rest.call(null,t)):(cljs.core.truth_(hoplon.core.seq_QMARK__STAR_.call(null,u))?(g=l,h=cljs.core.reduce.call(null,cljs.core.conj_BANG_,m,hoplon.core.vflatten.call(null,u))):cljs.core.truth_(hoplon.core.vector_QMARK__STAR_.call(null,u))?(g=l,h=cljs.core.reduce.call(null,cljs.core.conj_BANG_,m,hoplon.core.vflatten.call(null,u))):(g=l,h=cljs.core.conj_BANG_.call(null,m,u)),m=t);k=m}};
hoplon.core.add_attributes_BANG_=function(a,b){return cljs.core.reduce_kv.call(null,function(a,b,e){hoplon.core._attr_BANG_.call(null,b,a,e);return a},a,b)};
hoplon.core.add_children_BANG_=function(a,b){var c=cljs.core.seq.call(null,b);cljs.core.first.call(null,c);cljs.core.next.call(null,c);for(var c=cljs.core.seq.call(null,hoplon.core.vflatten.call(null,b)),d=null,e=0,f=0;;)if(f<e){var g=cljs.core._nth.call(null,d,f),g=hoplon.core.__GT_node.call(null,g);cljs.core.truth_(g)&&hoplon.core.append_child_BANG_.call(null,a,g);f+=1}else if(c=cljs.core.seq.call(null,c))cljs.core.chunked_seq_QMARK_.call(null,c)?(e=cljs.core.chunk_first.call(null,c),c=cljs.core.chunk_rest.call(null,
c),d=e,e=cljs.core.count.call(null,e)):(d=cljs.core.first.call(null,c),d=hoplon.core.__GT_node.call(null,d),cljs.core.truth_(d)&&hoplon.core.append_child_BANG_.call(null,a,d),c=cljs.core.next.call(null,c),d=null,e=0),f=0;else break;return a};Element.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;Element.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.write_all.call(null,b,"#\x3cElement: ",this.tagName,"\x3e")};
Element.prototype.cljs$core$IFn$=cljs.core.PROTOCOL_SENTINEL;
Element.prototype.call=function(){var a=function(a,b){var c=hoplon.core.parse_args.call(null,b),d=cljs.core.nth.call(null,c,0,null),c=cljs.core.nth.call(null,c,1,null);hoplon.core.add_attributes_BANG_.call(null,this,d);hoplon.core.add_children_BANG_.call(null,this,c);return this},b=function(b,d){var c=null;if(1<arguments.length){for(var c=0,f=Array(arguments.length-1);c<f.length;)f[c]=arguments[c+1],++c;c=new cljs.core.IndexedSeq(f,0,null)}return a.call(this,b,c)};b.cljs$lang$maxFixedArity=1;b.cljs$lang$applyTo=
function(b){var c=cljs.core.first(b);b=cljs.core.rest(b);return a(c,b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();Element.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone.call(null,b)))};
Element.prototype.cljs$core$IFn$_invoke$arity$2=function(){var a=function(a){var b=hoplon.core.parse_args.call(null,a);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);hoplon.core.add_attributes_BANG_.call(null,this,a);hoplon.core.add_children_BANG_.call(null,this,b);return this},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=
0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();Element.prototype.hoplon$core$ICustomElement$=cljs.core.PROTOCOL_SENTINEL;
Element.prototype.hoplon$core$ICustomElement$_set_attributes_BANG_$arity$2=function(a,b){for(var c,d,e=cljs.core.seq.call(null,b),f=null,g=0,h=0;;)if(h<g)c=cljs.core._nth.call(null,f,h),d=cljs.core.nth.call(null,c,0,null),c=cljs.core.nth.call(null,c,1,null),d=cljs.core.name.call(null,d),cljs.core.not.call(null,c)?this.removeAttribute(d):this.setAttribute(d,cljs.core._EQ_.call(null,!0,c)?d:c),h+=1;else if(e=cljs.core.seq.call(null,e))cljs.core.chunked_seq_QMARK_.call(null,e)?(d=cljs.core.chunk_first.call(null,
e),e=cljs.core.chunk_rest.call(null,e),c=d,d=cljs.core.count.call(null,d),f=c,g=d):(c=cljs.core.first.call(null,e),d=cljs.core.nth.call(null,c,0,null),c=cljs.core.nth.call(null,c,1,null),d=cljs.core.name.call(null,d),cljs.core.not.call(null,c)?this.removeAttribute(d):this.setAttribute(d,cljs.core._EQ_.call(null,!0,c)?d:c),e=cljs.core.next.call(null,e),f=null,g=0),h=0;else return null};
Element.prototype.hoplon$core$ICustomElement$_set_styles_BANG_$arity$2=function(a,b){for(var c,d,e=cljs.core.seq.call(null,b),f=null,g=0,h=0;;)if(h<g)c=cljs.core._nth.call(null,f,h),d=cljs.core.nth.call(null,c,0,null),c=cljs.core.nth.call(null,c,1,null),goog.object.set(this.style,cljs.core.name.call(null,d),""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)),h+=1;else if(d=cljs.core.seq.call(null,e))e=d,cljs.core.chunked_seq_QMARK_.call(null,e)?(f=cljs.core.chunk_first.call(null,e),e=cljs.core.chunk_rest.call(null,
e),d=f,c=cljs.core.count.call(null,f),f=d,g=c):(f=cljs.core.first.call(null,e),d=cljs.core.nth.call(null,f,0,null),c=cljs.core.nth.call(null,f,1,null),goog.object.set(this.style,cljs.core.name.call(null,d),""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)),e=cljs.core.next.call(null,e),f=null,g=0),h=0;else return null};
Element.prototype.hoplon$core$ICustomElement$_append_child_BANG_$arity$2=function(a,b){if(hoplon.core.is_ie8)try{return this.appendChild(b)}catch(c){if(c instanceof Error)return null;throw c;}else return this.appendChild(b)};Element.prototype.hoplon$core$ICustomElement$_remove_child_BANG_$arity$2=function(a,b){return this.removeChild(b)};Element.prototype.hoplon$core$ICustomElement$_replace_child_BANG_$arity$3=function(a,b,c){return this.replaceChild(b,c)};
Element.prototype.hoplon$core$ICustomElement$_insert_before_BANG_$arity$3=function(a,b,c){return this.insertBefore(b,c)};
hoplon.core.make_singleton_ctor=function(a){return function(){var b=function(b){var c=hoplon.core.parse_args.call(null,b);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);hoplon.core.add_attributes_BANG_.call(null,a,b);return cljs.core.not.call(null,(new cljs.core.Keyword(null,"static","static",1214358571)).cljs$core$IFn$_invoke$arity$1(b))?(hoplon.core.remove_all_kids_BANG_.call(null,a),hoplon.core.add_children_BANG_.call(null,a,c)):null},c=function(a){var c=null;if(0<arguments.length){for(var c=
0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return b.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return b(a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}()};
hoplon.core.make_elem_ctor=function(a){var b=function(){var b=function(b){return cljs.core.apply.call(null,document.createElement(a),b)},d=function(a){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return b.call(this,c)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return b(a)};d.cljs$core$IFn$_invoke$arity$variadic=b;return d}();return hoplon.core.is_ie8?function(a){return function(){var b=
function(b){try{return cljs.core.apply.call(null,a,b)}catch(g){if(g instanceof Error)return cljs.core.apply.call(null,hoplon.core.make_elem_ctor.call(null,"div"),b);throw g;}},c=function(a){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return b.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return b(a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}()}(b):
b};hoplon.core.html=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return hoplon.core.html.cljs$core$IFn$_invoke$arity$variadic(b)};hoplon.core.html.cljs$core$IFn$_invoke$arity$variadic=function(a){return hoplon.core.add_attributes_BANG_.call(null,document.documentElement,cljs.core.nth.call(null,hoplon.core.parse_args.call(null,a),0))};hoplon.core.html.cljs$lang$maxFixedArity=0;
hoplon.core.html.cljs$lang$applyTo=function(a){return hoplon.core.html.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};hoplon.core.head=hoplon.core.make_singleton_ctor.call(null,hoplon.core._head_STAR_.call(null,document));hoplon.core.body=hoplon.core.make_singleton_ctor.call(null,document.body);hoplon.core.a=hoplon.core.make_elem_ctor.call(null,"a");hoplon.core.abbr=hoplon.core.make_elem_ctor.call(null,"abbr");hoplon.core.address=hoplon.core.make_elem_ctor.call(null,"address");
hoplon.core.area=hoplon.core.make_elem_ctor.call(null,"area");hoplon.core.article=hoplon.core.make_elem_ctor.call(null,"article");hoplon.core.aside=hoplon.core.make_elem_ctor.call(null,"aside");hoplon.core.audio=hoplon.core.make_elem_ctor.call(null,"audio");hoplon.core.b=hoplon.core.make_elem_ctor.call(null,"b");hoplon.core.base=hoplon.core.make_elem_ctor.call(null,"base");hoplon.core.bdi=hoplon.core.make_elem_ctor.call(null,"bdi");hoplon.core.bdo=hoplon.core.make_elem_ctor.call(null,"bdo");
hoplon.core.blockquote=hoplon.core.make_elem_ctor.call(null,"blockquote");hoplon.core.br=hoplon.core.make_elem_ctor.call(null,"br");hoplon.core.button=hoplon.core.make_elem_ctor.call(null,"button");hoplon.core.canvas=hoplon.core.make_elem_ctor.call(null,"canvas");hoplon.core.caption=hoplon.core.make_elem_ctor.call(null,"caption");hoplon.core.cite=hoplon.core.make_elem_ctor.call(null,"cite");hoplon.core.code=hoplon.core.make_elem_ctor.call(null,"code");
hoplon.core.col=hoplon.core.make_elem_ctor.call(null,"col");hoplon.core.colgroup=hoplon.core.make_elem_ctor.call(null,"colgroup");hoplon.core.data=hoplon.core.make_elem_ctor.call(null,"data");hoplon.core.datalist=hoplon.core.make_elem_ctor.call(null,"datalist");hoplon.core.dd=hoplon.core.make_elem_ctor.call(null,"dd");hoplon.core.del=hoplon.core.make_elem_ctor.call(null,"del");hoplon.core.details=hoplon.core.make_elem_ctor.call(null,"details");
hoplon.core.dfn=hoplon.core.make_elem_ctor.call(null,"dfn");hoplon.core.dialog=hoplon.core.make_elem_ctor.call(null,"dialog");hoplon.core.div=hoplon.core.make_elem_ctor.call(null,"div");hoplon.core.dl=hoplon.core.make_elem_ctor.call(null,"dl");hoplon.core.dt=hoplon.core.make_elem_ctor.call(null,"dt");hoplon.core.em=hoplon.core.make_elem_ctor.call(null,"em");hoplon.core.embed=hoplon.core.make_elem_ctor.call(null,"embed");hoplon.core.fieldset=hoplon.core.make_elem_ctor.call(null,"fieldset");
hoplon.core.figcaption=hoplon.core.make_elem_ctor.call(null,"figcaption");hoplon.core.figure=hoplon.core.make_elem_ctor.call(null,"figure");hoplon.core.footer=hoplon.core.make_elem_ctor.call(null,"footer");hoplon.core.form=hoplon.core.make_elem_ctor.call(null,"form");hoplon.core.h1=hoplon.core.make_elem_ctor.call(null,"h1");hoplon.core.h2=hoplon.core.make_elem_ctor.call(null,"h2");hoplon.core.h3=hoplon.core.make_elem_ctor.call(null,"h3");hoplon.core.h4=hoplon.core.make_elem_ctor.call(null,"h4");
hoplon.core.h5=hoplon.core.make_elem_ctor.call(null,"h5");hoplon.core.h6=hoplon.core.make_elem_ctor.call(null,"h6");hoplon.core.header=hoplon.core.make_elem_ctor.call(null,"header");hoplon.core.hgroup=hoplon.core.make_elem_ctor.call(null,"hgroup");hoplon.core.hr=hoplon.core.make_elem_ctor.call(null,"hr");hoplon.core.i=hoplon.core.make_elem_ctor.call(null,"i");hoplon.core.iframe=hoplon.core.make_elem_ctor.call(null,"iframe");hoplon.core.img=hoplon.core.make_elem_ctor.call(null,"img");
hoplon.core.input=hoplon.core.make_elem_ctor.call(null,"input");hoplon.core.ins=hoplon.core.make_elem_ctor.call(null,"ins");hoplon.core.kbd=hoplon.core.make_elem_ctor.call(null,"kbd");hoplon.core.keygen=hoplon.core.make_elem_ctor.call(null,"keygen");hoplon.core.label=hoplon.core.make_elem_ctor.call(null,"label");hoplon.core.legend=hoplon.core.make_elem_ctor.call(null,"legend");hoplon.core.li=hoplon.core.make_elem_ctor.call(null,"li");hoplon.core.link=hoplon.core.make_elem_ctor.call(null,"link");
hoplon.core.main=hoplon.core.make_elem_ctor.call(null,"main");hoplon.core.html_map=hoplon.core.make_elem_ctor.call(null,"map");hoplon.core.mark=hoplon.core.make_elem_ctor.call(null,"mark");hoplon.core.menu=hoplon.core.make_elem_ctor.call(null,"menu");hoplon.core.menuitem=hoplon.core.make_elem_ctor.call(null,"menuitem");hoplon.core.html_meta=hoplon.core.make_elem_ctor.call(null,"meta");hoplon.core.meter=hoplon.core.make_elem_ctor.call(null,"meter");
hoplon.core.multicol=hoplon.core.make_elem_ctor.call(null,"multicol");hoplon.core.nav=hoplon.core.make_elem_ctor.call(null,"nav");hoplon.core.noframes=hoplon.core.make_elem_ctor.call(null,"noframes");hoplon.core.noscript=hoplon.core.make_elem_ctor.call(null,"noscript");hoplon.core.html_object=hoplon.core.make_elem_ctor.call(null,"object");hoplon.core.ol=hoplon.core.make_elem_ctor.call(null,"ol");hoplon.core.optgroup=hoplon.core.make_elem_ctor.call(null,"optgroup");
hoplon.core.option=hoplon.core.make_elem_ctor.call(null,"option");hoplon.core.output=hoplon.core.make_elem_ctor.call(null,"output");hoplon.core.p=hoplon.core.make_elem_ctor.call(null,"p");hoplon.core.param=hoplon.core.make_elem_ctor.call(null,"param");hoplon.core.picture=hoplon.core.make_elem_ctor.call(null,"picture");hoplon.core.pre=hoplon.core.make_elem_ctor.call(null,"pre");hoplon.core.progress=hoplon.core.make_elem_ctor.call(null,"progress");
hoplon.core.q=hoplon.core.make_elem_ctor.call(null,"q");hoplon.core.rp=hoplon.core.make_elem_ctor.call(null,"rp");hoplon.core.rt=hoplon.core.make_elem_ctor.call(null,"rt");hoplon.core.rtc=hoplon.core.make_elem_ctor.call(null,"rtc");hoplon.core.ruby=hoplon.core.make_elem_ctor.call(null,"ruby");hoplon.core.s=hoplon.core.make_elem_ctor.call(null,"s");hoplon.core.samp=hoplon.core.make_elem_ctor.call(null,"samp");hoplon.core.script=hoplon.core.make_elem_ctor.call(null,"script");
hoplon.core.section=hoplon.core.make_elem_ctor.call(null,"section");hoplon.core.select=hoplon.core.make_elem_ctor.call(null,"select");hoplon.core.shadow=hoplon.core.make_elem_ctor.call(null,"shadow");hoplon.core.small=hoplon.core.make_elem_ctor.call(null,"small");hoplon.core.source=hoplon.core.make_elem_ctor.call(null,"source");hoplon.core.span=hoplon.core.make_elem_ctor.call(null,"span");hoplon.core.strong=hoplon.core.make_elem_ctor.call(null,"strong");
hoplon.core.style=hoplon.core.make_elem_ctor.call(null,"style");hoplon.core.sub=hoplon.core.make_elem_ctor.call(null,"sub");hoplon.core.summary=hoplon.core.make_elem_ctor.call(null,"summary");hoplon.core.sup=hoplon.core.make_elem_ctor.call(null,"sup");hoplon.core.table=hoplon.core.make_elem_ctor.call(null,"table");hoplon.core.tbody=hoplon.core.make_elem_ctor.call(null,"tbody");hoplon.core.td=hoplon.core.make_elem_ctor.call(null,"td");hoplon.core.template=hoplon.core.make_elem_ctor.call(null,"template");
hoplon.core.textarea=hoplon.core.make_elem_ctor.call(null,"textarea");hoplon.core.tfoot=hoplon.core.make_elem_ctor.call(null,"tfoot");hoplon.core.th=hoplon.core.make_elem_ctor.call(null,"th");hoplon.core.thead=hoplon.core.make_elem_ctor.call(null,"thead");hoplon.core.html_time=hoplon.core.make_elem_ctor.call(null,"time");hoplon.core.title=hoplon.core.make_elem_ctor.call(null,"title");hoplon.core.tr=hoplon.core.make_elem_ctor.call(null,"tr");hoplon.core.track=hoplon.core.make_elem_ctor.call(null,"track");
hoplon.core.u=hoplon.core.make_elem_ctor.call(null,"u");hoplon.core.ul=hoplon.core.make_elem_ctor.call(null,"ul");hoplon.core.html_var=hoplon.core.make_elem_ctor.call(null,"var");hoplon.core.video=hoplon.core.make_elem_ctor.call(null,"video");hoplon.core.wbr=hoplon.core.make_elem_ctor.call(null,"wbr");hoplon.core.spliced=cljs.core.vector;hoplon.core.$text=function(a){return document.createTextNode(a)};hoplon.core.$comment=function(a){return document.createComment(a)};hoplon.core._LT__BANG___=hoplon.core.$comment;
hoplon.core.___GT_=new cljs.core.Keyword("hoplon.core","--\x3e","hoplon.core/--\x3e",1031510657);hoplon.core.add_initfn_BANG_=function(a){return window.addEventListener("load",function(){return setTimeout(function(){return a.call(null)},0)})};hoplon.core.page_load=function(){return document.dispatchEvent("page-load")};hoplon.core.on_page_load=function(a){return document.addEventListener("page-load",a)};
hoplon.core.add_initfn_BANG_.call(null,function(){return document.body.addEventListener("submit",function(a){var b=a.target;return cljs.core.truth_(function(){var a=b.getAttribute("action");return cljs.core.truth_(a)?a:b.getAttribute("method")}())?null:a.preventDefault()})});
"undefined"===typeof hoplon.core.do_BANG_&&(hoplon.core.do_BANG_=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"default","default",-1987822328),new cljs.core.Keyword("hoplon.core","default",
"hoplon.core/default",-778824365)],null),new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));return new cljs.core.MultiFn(cljs.core.symbol.call(null,"hoplon.core","do!"),function(a,b,c,d,e){return function(a,b,c){a=cljs.core.namespace.call(null,b);return cljs.core.truth_(a)?cljs.core.keyword.call(null,a,"*"):b}}(a,b,c,d,e),new cljs.core.Keyword("hoplon.core","default","hoplon.core/default",-778824365),e,a,b,c,d)}());
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword("hoplon.core","default","hoplon.core/default",-778824365),function(a,b,c){return hoplon.core.do_BANG_.call(null,a,new cljs.core.Keyword(null,"attr","attr",-604132353),cljs.core.PersistentArrayMap.createAsIfByAssoc([b,c]))});cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword("css","*","css/*",-1295355419),function(a,b,c){return hoplon.core.set_styles_BANG_.call(null,a,b,c)});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword("html","*","html/*",-1283138243),function(a,b,c){return hoplon.core.set_attributes_BANG_.call(null,a,b,c)});cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword("svg","*","svg/*",-1295405562),function(a,b,c){return hoplon.core.set_attributes_BANG_.call(null,a,b,c)});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"attr","attr",-604132353),function(a,b,c){return hoplon.core.set_attributes_BANG_.call(null,a,c)});cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"css","css",1135045163),function(a,b,c){return hoplon.core.set_styles_BANG_.call(null,a,c)});
"undefined"===typeof hoplon.core.on_BANG_&&(hoplon.core.on_BANG_=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"default","default",-1987822328),new cljs.core.Keyword("hoplon.core","default",
"hoplon.core/default",-778824365)],null),new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));return new cljs.core.MultiFn(cljs.core.symbol.call(null,"hoplon.core","on!"),function(a,b,c,d,e){return function(a,b,c){a=cljs.core.namespace.call(null,b);return cljs.core.truth_(a)?cljs.core.keyword.call(null,a,"*"):b}}(a,b,c,d,e),new cljs.core.Keyword("hoplon.core","default","hoplon.core/default",-778824365),e,a,b,c,d)}());
cljs.core._add_method.call(null,hoplon.core.on_BANG_,new cljs.core.Keyword("hoplon.core","default","hoplon.core/default",-778824365),function(a,b,c){return hoplon.core.when_dom.call(null,a,function(){return a.addEventListener(cljs.core.name.call(null,b),c)})});cljs.core._add_method.call(null,hoplon.core.on_BANG_,new cljs.core.Keyword("html","*","html/*",-1283138243),function(a,b,c){return hoplon.core.when_dom.call(null,a,function(){return a.addEventListener(cljs.core.name.call(null,b),c)})});
hoplon.core.loop_tpl_STAR_=function(a,b){var c=cljs.core.atom.call(null,cljs.core.List.EMPTY),d=javelin.core.formula.call(null,function(a){return function(a,b){return a.call(null,b)}}(c)).call(null,cljs.core.seq,a),e=function(a,b){return function(c){return javelin.core.formula.call(null,function(a,b){return function(a,b,c){return b.call(null,a,c)}}(a,b)).call(null,b,hoplon.core.safe_nth,c)}}(c,d),f=function(a,b,c){return function(a){var b=cljs.core.first.call(null,cljs.core.deref.call(null,a));cljs.core.swap_BANG_.call(null,
a,cljs.core.rest);return b}}(c,d,e),g=javelin.core.cell.call(null,cljs.core.PersistentVector.EMPTY);hoplon.core.do_watch.call(null,d,function(a,c,d,e,f){return function(d,g){var h=cljs.core.count.call(null,d),k=cljs.core.count.call(null,g),l=k-h;if(0<l)for(var h=cljs.core.seq.call(null,cljs.core.range.call(null,h,k)),k=null,m=l=0;;)if(m<l){var n=cljs.core._nth.call(null,k,m);var p=function(){var a=f.call(null,c);return cljs.core.truth_(a)?a:b.call(null,e.call(null,n))}();cljs.core.swap_BANG_.call(null,
a,cljs.core.conj,p);m+=1}else if(h=cljs.core.seq.call(null,h))k=h,cljs.core.chunked_seq_QMARK_.call(null,k)?(h=cljs.core.chunk_first.call(null,k),m=cljs.core.chunk_rest.call(null,k),k=h,l=cljs.core.count.call(null,h),h=m):(n=cljs.core.first.call(null,k),h=function(){var a=f.call(null,c);return cljs.core.truth_(a)?a:b.call(null,e.call(null,n))}(),cljs.core.swap_BANG_.call(null,a,cljs.core.conj,h),h=cljs.core.next.call(null,k),k=null,l=0),m=0;else return null;else if(0>l)for(h=-l,k=0;;)if(k<h)l=cljs.core.peek.call(null,
cljs.core.deref.call(null,a)),cljs.core.swap_BANG_.call(null,a,cljs.core.pop),cljs.core.swap_BANG_.call(null,c,cljs.core.conj,l),k+=1;else return null;else return null}}(g,c,d,e,f));return g};hoplon.core.route_cell=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return hoplon.core.route_cell.cljs$core$IFn$_invoke$arity$variadic(b)};
hoplon.core.route_cell.cljs$core$IFn$_invoke$arity$variadic=function(a){var b=cljs.core.nth.call(null,a,0,null),c=javelin.core.cell.call(null,window.location.hash),d=javelin.core.formula.call(null,function(a,b,c){return function(a,b,c){a=a.call(null,c);c=cljs.core.truth_(a)?c:a;return cljs.core.truth_(c)?c:b}}(c,a,b)).call(null,cljs.core.seq,b,c);window.addEventListener("hashchange",function(a,b,c,d){return function(){return cljs.core.reset_BANG_.call(null,b,window.location.hash)}}(d,c,a,b));return d};
hoplon.core.route_cell.cljs$lang$maxFixedArity=0;hoplon.core.route_cell.cljs$lang$applyTo=function(a){return hoplon.core.route_cell.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};hoplon.jquery={};hoplon.jquery.set_attributes_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return hoplon.jquery.set_attributes_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(3),0,null),hoplon.jquery.set_attributes_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};
hoplon.jquery.set_attributes_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){for(var c,d,e=jQuery(a),f=cljs.core.seq.call(null,b),g=null,h=0,k=0;;)if(k<h)c=cljs.core._nth.call(null,g,k),d=cljs.core.nth.call(null,c,0,null),c=cljs.core.nth.call(null,c,1,null),d=cljs.core.name.call(null,d),cljs.core.not.call(null,c)?e.removeAttr(d):e.attr(d,cljs.core._EQ_.call(null,!0,c)?d:c),k+=1;else if(f=cljs.core.seq.call(null,f))cljs.core.chunked_seq_QMARK_.call(null,f)?(d=cljs.core.chunk_first.call(null,f),f=
cljs.core.chunk_rest.call(null,f),c=d,d=cljs.core.count.call(null,d),g=c,h=d):(c=cljs.core.first.call(null,f),d=cljs.core.nth.call(null,c,0,null),c=cljs.core.nth.call(null,c,1,null),d=cljs.core.name.call(null,d),cljs.core.not.call(null,c)?e.removeAttr(d):e.attr(d,cljs.core._EQ_.call(null,!0,c)?d:c),f=cljs.core.next.call(null,f),g=null,h=0),k=0;else return null};
hoplon.jquery.set_attributes_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return hoplon.jquery.set_attributes_BANG_.call(null,a,cljs.core.apply.call(null,cljs.core.hash_map,b,c,d))};
hoplon.jquery.set_attributes_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c),c=cljs.core.first.call(null,d),d=cljs.core.next.call(null,d);return hoplon.jquery.set_attributes_BANG_.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};hoplon.jquery.set_attributes_BANG_.cljs$lang$maxFixedArity=3;
hoplon.jquery.set_styles_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return hoplon.jquery.set_styles_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(3),0,null),hoplon.jquery.set_styles_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};
hoplon.jquery.set_styles_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){for(var c,d,e=jQuery(a),f=cljs.core.seq.call(null,b),g=null,h=0,k=0;;)if(k<h)c=cljs.core._nth.call(null,g,k),d=cljs.core.nth.call(null,c,0,null),c=cljs.core.nth.call(null,c,1,null),e.css(cljs.core.name.call(null,d),""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)),k+=1;else if(d=cljs.core.seq.call(null,f))f=d,cljs.core.chunked_seq_QMARK_.call(null,f)?(g=cljs.core.chunk_first.call(null,f),f=cljs.core.chunk_rest.call(null,f),
d=g,c=cljs.core.count.call(null,g),g=d,h=c):(g=cljs.core.first.call(null,f),d=cljs.core.nth.call(null,g,0,null),c=cljs.core.nth.call(null,g,1,null),e.css(cljs.core.name.call(null,d),""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)),f=cljs.core.next.call(null,f),g=null,h=0),k=0;else return null};hoplon.jquery.set_styles_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return hoplon.jquery.set_styles_BANG_.call(null,a,cljs.core.apply.call(null,cljs.core.hash_map,b,c,d))};
hoplon.jquery.set_styles_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c),c=cljs.core.first.call(null,d),d=cljs.core.next.call(null,d);return hoplon.jquery.set_styles_BANG_.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};hoplon.jquery.set_styles_BANG_.cljs$lang$maxFixedArity=3;
hoplon.jquery.text_val_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return hoplon.jquery.text_val_BANG_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return hoplon.jquery.text_val_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
hoplon.jquery.text_val_BANG_.cljs$core$IFn$_invoke$arity$1=function(a){return a.val()};hoplon.jquery.text_val_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(b);return cljs.core.not_EQ_.call(null,c,hoplon.jquery.text_val_BANG_.call(null,a))?a.val(c):null};hoplon.jquery.text_val_BANG_.cljs$lang$maxFixedArity=2;
hoplon.jquery.check_val_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return hoplon.jquery.check_val_BANG_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return hoplon.jquery.check_val_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
hoplon.jquery.check_val_BANG_.cljs$core$IFn$_invoke$arity$1=function(a){return a.is(":checked")};hoplon.jquery.check_val_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){return a.prop("checked",cljs.core.boolean$.call(null,b))};hoplon.jquery.check_val_BANG_.cljs$lang$maxFixedArity=2;
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword("hoplon.core","default","hoplon.core/default",-778824365),function(a,b,c){return hoplon.core.do_BANG_.call(null,a,new cljs.core.Keyword(null,"attr","attr",-604132353),cljs.core.PersistentArrayMap.createAsIfByAssoc([b,c]))});cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword("css","*","css/*",-1295355419),function(a,b,c){return hoplon.jquery.set_styles_BANG_.call(null,a,b,c)});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword("html","*","html/*",-1283138243),function(a,b,c){return hoplon.jquery.set_attributes_BANG_.call(null,a,b,c)});cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword("svg","*","svg/*",-1295405562),function(a,b,c){return hoplon.jquery.set_attributes_BANG_.call(null,a,b,c)});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword("attr","*","attr/*",-1283077225),function(a,b,c){return hoplon.jquery.set_attributes_BANG_.call(null,a,c)});cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword("prop","*","prop/*",-1283942139),function(a,b,c){return jQuery(a).prop(cljs.core.name.call(null,b),c)});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword("data","*","data/*",-1283013312),function(a,b,c){return jQuery(a).data(cljs.core.name.call(null,b),c)});cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"attr","attr",-604132353),function(a,b,c){return hoplon.jquery.set_attributes_BANG_.call(null,a,c)});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"css","css",1135045163),function(a,b,c){return hoplon.jquery.set_styles_BANG_.call(null,a,c)});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"value","value",305978217),function(){var a=function(a,b,e){a=jQuery(a);return cljs.core.apply.call(null,cljs.core._EQ_.call(null,"checkbox",a.attr("type"))?hoplon.jquery.check_val_BANG_:hoplon.jquery.text_val_BANG_,a,e)},b=function(b,d,e){var c=null;if(2<arguments.length){for(var c=0,g=Array(arguments.length-2);c<g.length;)g[c]=arguments[c+2],++c;c=new cljs.core.IndexedSeq(g,0,null)}return a.call(this,b,d,c)};b.cljs$lang$maxFixedArity=
2;b.cljs$lang$applyTo=function(b){var c=cljs.core.first(b);b=cljs.core.next(b);var e=cljs.core.first(b);b=cljs.core.rest(b);return a(c,e,b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}());
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"class","class",-2030961996),function(a,b,c){a=jQuery(a);c=hoplon.core.normalize_class.call(null,c);b=cljs.core.seq.call(null,c);for(var d=null,e=0,f=0;;)if(f<e){var g=cljs.core._nth.call(null,d,f);c=cljs.core.nth.call(null,g,0,null);g=cljs.core.nth.call(null,g,1,null);a.toggleClass(cljs.core.name.call(null,c),cljs.core.boolean$.call(null,g));f+=1}else if(c=cljs.core.seq.call(null,b))b=c,cljs.core.chunked_seq_QMARK_.call(null,
b)?(d=cljs.core.chunk_first.call(null,b),b=cljs.core.chunk_rest.call(null,b),c=d,g=cljs.core.count.call(null,d),d=c,e=g):(d=cljs.core.first.call(null,b),c=cljs.core.nth.call(null,d,0,null),g=cljs.core.nth.call(null,d,1,null),a.toggleClass(cljs.core.name.call(null,c),cljs.core.boolean$.call(null,g)),b=cljs.core.next.call(null,b),d=null,e=0),f=0;else return null});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"toggle","toggle",1291842030),function(a,b,c){return jQuery(a).toggle(cljs.core.boolean$.call(null,c))});cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"slide-toggle","slide-toggle",968641513),function(a,b,c){return cljs.core.truth_(c)?jQuery(a).hide().slideDown("fast"):jQuery(a).slideUp("fast")});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"fade-toggle","fade-toggle",-1468421852),function(a,b,c){return cljs.core.truth_(c)?jQuery(a).hide().fadeIn("fast"):jQuery(a).fadeOut("fast")});cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"focus","focus",234677911),function(a,b,c){return setTimeout(function(){return cljs.core.truth_(c)?jQuery(a).focus():jQuery(a).focusout()},0)});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"select","select",1147833503),function(a,b,c){return jQuery(a).select()});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"focus-select","focus-select",1107982934),function(a,b,c){return cljs.core.truth_(c)?(hoplon.core.do_BANG_.call(null,a,new cljs.core.Keyword(null,"focus","focus",234677911),c),hoplon.core.do_BANG_.call(null,a,new cljs.core.Keyword(null,"select","select",1147833503),c)):null});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"text","text",-1790561697),function(a,b,c){return jQuery(a).text(""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(c))});cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"html","html",-998796897),function(a,b,c){return jQuery(a).html(c)});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"scroll-to","scroll-to",-34957602),function(a,b,c){return cljs.core.truth_(c)?(b=jQuery("body,html"),a=jQuery(a),b.animate(cljs.core.clj__GT_js.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"scrollTop","scrollTop",-1143661921),a.offset().top],null)))):null});jQuery.Event.prototype.cljs$core$IDeref$=cljs.core.PROTOCOL_SENTINEL;jQuery.Event.prototype.cljs$core$IDeref$_deref$arity$1=function(a){return jQuery(this.target).val()};
cljs.core._add_method.call(null,hoplon.core.on_BANG_,new cljs.core.Keyword("hoplon.core","default","hoplon.core/default",-778824365),function(a,b,c){return hoplon.core.when_dom.call(null,a,function(){return jQuery(a).on(cljs.core.name.call(null,b),c)})});cljs.core._add_method.call(null,hoplon.core.on_BANG_,new cljs.core.Keyword("html","*","html/*",-1283138243),function(a,b,c){return hoplon.core.when_dom.call(null,a,function(){return jQuery(a).on(cljs.core.name.call(null,b),c)})});hoplon.svg={};cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword("xlink","*","xlink/*",-1176139752),function(a,b,c){return a.setAttributeNS("http://www.w3.org/1999/xlink",cljs.core.name.call(null,b),c)});
hoplon.svg.make_svg_ctor=function(a){return function(b){return function(){var c=function(c){return cljs.core.apply.call(null,hoplon.core.ensure_kids_BANG_.call(null,document.createElementNS(b,a)),c)},d=function(a){var b=null;if(0<arguments.length){for(var b=0,d=Array(arguments.length-0);b<d.length;)d[b]=arguments[b+0],++b;b=new cljs.core.IndexedSeq(d,0,null)}return c.call(this,b)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return c(a)};d.cljs$core$IFn$_invoke$arity$variadic=
c;return d}()}("http://www.w3.org/2000/svg")};hoplon.svg.a=hoplon.svg.make_svg_ctor.call(null,"a");hoplon.svg.altGlyph=hoplon.svg.make_svg_ctor.call(null,"altGlyph");hoplon.svg.altGlyphDef=hoplon.svg.make_svg_ctor.call(null,"altGlyphDef");hoplon.svg.altGlyphItem=hoplon.svg.make_svg_ctor.call(null,"altGlyphItem");hoplon.svg.animate=hoplon.svg.make_svg_ctor.call(null,"animate");hoplon.svg.animateColor=hoplon.svg.make_svg_ctor.call(null,"animateColor");
hoplon.svg.animateMotion=hoplon.svg.make_svg_ctor.call(null,"animateMotion");hoplon.svg.animateTransform=hoplon.svg.make_svg_ctor.call(null,"animateTransform");hoplon.svg.circle=hoplon.svg.make_svg_ctor.call(null,"circle");hoplon.svg.clipPath=hoplon.svg.make_svg_ctor.call(null,"clipPath");hoplon.svg.color_profile=hoplon.svg.make_svg_ctor.call(null,"color-profile");hoplon.svg.cursor=hoplon.svg.make_svg_ctor.call(null,"cursor");hoplon.svg.defs=hoplon.svg.make_svg_ctor.call(null,"defs");
hoplon.svg.desc=hoplon.svg.make_svg_ctor.call(null,"desc");hoplon.svg.ellipse=hoplon.svg.make_svg_ctor.call(null,"ellipse");hoplon.svg.feBlend=hoplon.svg.make_svg_ctor.call(null,"feBlend");hoplon.svg.feColorMatrix=hoplon.svg.make_svg_ctor.call(null,"feColorMatrix");hoplon.svg.feComponentTransfer=hoplon.svg.make_svg_ctor.call(null,"feComponentTransfer");hoplon.svg.feComposite=hoplon.svg.make_svg_ctor.call(null,"feComposite");hoplon.svg.feConvolveMatrix=hoplon.svg.make_svg_ctor.call(null,"feConvolveMatrix");
hoplon.svg.feDiffuseLighting=hoplon.svg.make_svg_ctor.call(null,"feDiffuseLighting");hoplon.svg.feDisplacementMap=hoplon.svg.make_svg_ctor.call(null,"feDisplacementMap");hoplon.svg.feDistantLight=hoplon.svg.make_svg_ctor.call(null,"feDistantLight");hoplon.svg.feFlood=hoplon.svg.make_svg_ctor.call(null,"feFlood");hoplon.svg.feFuncA=hoplon.svg.make_svg_ctor.call(null,"feFuncA");hoplon.svg.feFuncB=hoplon.svg.make_svg_ctor.call(null,"feFuncB");hoplon.svg.feFuncG=hoplon.svg.make_svg_ctor.call(null,"feFuncG");
hoplon.svg.feFuncR=hoplon.svg.make_svg_ctor.call(null,"feFuncR");hoplon.svg.feGaussianBlur=hoplon.svg.make_svg_ctor.call(null,"feGaussianBlur");hoplon.svg.feImage=hoplon.svg.make_svg_ctor.call(null,"feImage");hoplon.svg.feMerge=hoplon.svg.make_svg_ctor.call(null,"feMerge");hoplon.svg.feMergeNode=hoplon.svg.make_svg_ctor.call(null,"feMergeNode");hoplon.svg.feMorphology=hoplon.svg.make_svg_ctor.call(null,"feMorphology");hoplon.svg.feOffset=hoplon.svg.make_svg_ctor.call(null,"feOffset");
hoplon.svg.fePointLight=hoplon.svg.make_svg_ctor.call(null,"fePointLight");hoplon.svg.feSpecularLighting=hoplon.svg.make_svg_ctor.call(null,"feSpecularLighting");hoplon.svg.feSpotLight=hoplon.svg.make_svg_ctor.call(null,"feSpotLight");hoplon.svg.feTile=hoplon.svg.make_svg_ctor.call(null,"feTile");hoplon.svg.feTurbulence=hoplon.svg.make_svg_ctor.call(null,"feTurbulence");hoplon.svg.filter=hoplon.svg.make_svg_ctor.call(null,"filter");hoplon.svg.font=hoplon.svg.make_svg_ctor.call(null,"font");
hoplon.svg.font_face=hoplon.svg.make_svg_ctor.call(null,"font-face");hoplon.svg.font_face_format=hoplon.svg.make_svg_ctor.call(null,"font-face-format");hoplon.svg.font_face_name=hoplon.svg.make_svg_ctor.call(null,"font-face-name");hoplon.svg.font_face_src=hoplon.svg.make_svg_ctor.call(null,"font-face-src");hoplon.svg.font_face_uri=hoplon.svg.make_svg_ctor.call(null,"font-face-uri");hoplon.svg.foreignObject=hoplon.svg.make_svg_ctor.call(null,"foreignObject");
hoplon.svg.g=hoplon.svg.make_svg_ctor.call(null,"g");hoplon.svg.glyph=hoplon.svg.make_svg_ctor.call(null,"glyph");hoplon.svg.glyphRef=hoplon.svg.make_svg_ctor.call(null,"glyphRef");hoplon.svg.hkern=hoplon.svg.make_svg_ctor.call(null,"hkern");hoplon.svg.image=hoplon.svg.make_svg_ctor.call(null,"image");hoplon.svg.line=hoplon.svg.make_svg_ctor.call(null,"line");hoplon.svg.linearGradient=hoplon.svg.make_svg_ctor.call(null,"linearGradient");hoplon.svg.marker=hoplon.svg.make_svg_ctor.call(null,"marker");
hoplon.svg.mask=hoplon.svg.make_svg_ctor.call(null,"mask");hoplon.svg.metadata=hoplon.svg.make_svg_ctor.call(null,"metadata");hoplon.svg.missing_glyph=hoplon.svg.make_svg_ctor.call(null,"missing-glyph");hoplon.svg.mpath=hoplon.svg.make_svg_ctor.call(null,"mpath");hoplon.svg.path=hoplon.svg.make_svg_ctor.call(null,"path");hoplon.svg.pattern=hoplon.svg.make_svg_ctor.call(null,"pattern");hoplon.svg.polygon=hoplon.svg.make_svg_ctor.call(null,"polygon");
hoplon.svg.polyline=hoplon.svg.make_svg_ctor.call(null,"polyline");hoplon.svg.radialGradient=hoplon.svg.make_svg_ctor.call(null,"radialGradient");hoplon.svg.rect=hoplon.svg.make_svg_ctor.call(null,"rect");hoplon.svg.script=hoplon.svg.make_svg_ctor.call(null,"script");hoplon.svg.set=hoplon.svg.make_svg_ctor.call(null,"set");hoplon.svg.stop=hoplon.svg.make_svg_ctor.call(null,"stop");hoplon.svg.style=hoplon.svg.make_svg_ctor.call(null,"style");hoplon.svg.svg=hoplon.svg.make_svg_ctor.call(null,"svg");
hoplon.svg.switch$=hoplon.svg.make_svg_ctor.call(null,"switch");hoplon.svg.symbol=hoplon.svg.make_svg_ctor.call(null,"symbol");hoplon.svg.text=hoplon.svg.make_svg_ctor.call(null,"text");hoplon.svg.textPath=hoplon.svg.make_svg_ctor.call(null,"textPath");hoplon.svg.title=hoplon.svg.make_svg_ctor.call(null,"title");hoplon.svg.tref=hoplon.svg.make_svg_ctor.call(null,"tref");hoplon.svg.tspan=hoplon.svg.make_svg_ctor.call(null,"tspan");hoplon.svg.use=hoplon.svg.make_svg_ctor.call(null,"use");
hoplon.svg.view=hoplon.svg.make_svg_ctor.call(null,"view");hoplon.svg.vkern=hoplon.svg.make_svg_ctor.call(null,"vkern");var weathergen={time:{}};
weathergen.time.campaign_time__GT_ms=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"day","day",-274800446));var c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"hour","hour",-555989214)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"minute","minute",-642875969)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"second","second",-444702010)),b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"millisecond","millisecond",-540123566));return 1E3*(60*(60*(24*a+c)+d)+e)+b};
weathergen.time.ms__GT_campaign_time=function(a){var b=cljs.core.long$.call(null,a/24/60/60/1E3),c=cljs.core.long$.call(null,cljs.core.mod.call(null,a,864E5)/60/60/1E3),d=cljs.core.long$.call(null,cljs.core.mod.call(null,a,36E5)/60/1E3),e=cljs.core.long$.call(null,cljs.core.mod.call(null,a,6E4)/1E3);a=cljs.core.mod.call(null,a,1E3);return new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"day","day",-274800446),b+1,new cljs.core.Keyword(null,"hour","hour",-555989214),c,new cljs.core.Keyword(null,
"minute","minute",-642875969),d,new cljs.core.Keyword(null,"second","second",-444702010),e,new cljs.core.Keyword(null,"millisecond","millisecond",-540123566),a],null)};
weathergen.time.minutes__GT_campaign_time=function(a){var b=Math.floor(a/24/60)|0,c=Math.floor(cljs.core.mod.call(null,a,1440)/60)|0;a=Math.floor(cljs.core.mod.call(null,a,60))|0;return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"day","day",-274800446),b+1,new cljs.core.Keyword(null,"hour","hour",-555989214),c,new cljs.core.Keyword(null,"minute","minute",-642875969),a],null)};
weathergen.time.campaign_time__GT_minutes=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"day","day",-274800446));var c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"hour","hour",-555989214)),b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"minute","minute",-642875969));return 60*(24*(a-1)+c)+b};
weathergen.time.add_minutes=function(a,b){return weathergen.time.minutes__GT_campaign_time.call(null,weathergen.time.campaign_time__GT_minutes.call(null,a)+b)};
weathergen.time.difference_hms=function(a,b){var c=weathergen.time.ms__GT_campaign_time.call(null,weathergen.time.campaign_time__GT_ms.call(null,b)-weathergen.time.campaign_time__GT_ms.call(null,a)),c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"day","day",-274800446));cljs.core.get.call(null,c,new cljs.core.Keyword(null,"hour","hour",-555989214));
return cljs.core.update.call(null,cljs.core.dissoc.call(null,c,new cljs.core.Keyword(null,"day","day",-274800446)),new cljs.core.Keyword(null,"hour","hour",-555989214),cljs.core._PLUS_,24*(d-1))};goog.Thenable=function(){};goog.Thenable.prototype.then=function(a,b,c){};goog.Thenable.IMPLEMENTED_BY_PROP="$goog_Thenable";goog.Thenable.addImplementation=function(a){a.prototype.then=a.prototype.then;COMPILED?a.prototype[goog.Thenable.IMPLEMENTED_BY_PROP]=!0:a.prototype.$goog_Thenable=!0};goog.Thenable.isImplementedBy=function(a){if(!a)return!1;try{return COMPILED?!!a[goog.Thenable.IMPLEMENTED_BY_PROP]:!!a.$goog_Thenable}catch(b){return!1}};goog.async={};goog.async.FreeList=function(a,b,c){this.limit_=c;this.create_=a;this.reset_=b;this.occupants_=0;this.head_=null};goog.async.FreeList.prototype.get=function(){if(0<this.occupants_){this.occupants_--;var a=this.head_;this.head_=a.next;a.next=null}else a=this.create_();return a};goog.async.FreeList.prototype.put=function(a){this.reset_(a);this.occupants_<this.limit_&&(this.occupants_++,a.next=this.head_,this.head_=a)};goog.async.FreeList.prototype.occupants=function(){return this.occupants_};goog.async.WorkQueue=function(){this.workTail_=this.workHead_=null};goog.async.WorkQueue.DEFAULT_MAX_UNUSED=100;goog.async.WorkQueue.freelist_=new goog.async.FreeList(function(){return new goog.async.WorkItem},function(a){a.reset()},goog.async.WorkQueue.DEFAULT_MAX_UNUSED);goog.async.WorkQueue.prototype.add=function(a,b){var c=this.getUnusedItem_();c.set(a,b);this.workTail_?this.workTail_.next=c:(goog.asserts.assert(!this.workHead_),this.workHead_=c);this.workTail_=c};
goog.async.WorkQueue.prototype.remove=function(){var a=null;this.workHead_&&(a=this.workHead_,this.workHead_=this.workHead_.next,this.workHead_||(this.workTail_=null),a.next=null);return a};goog.async.WorkQueue.prototype.returnUnused=function(a){goog.async.WorkQueue.freelist_.put(a)};goog.async.WorkQueue.prototype.getUnusedItem_=function(){return goog.async.WorkQueue.freelist_.get()};goog.async.WorkItem=function(){this.next=this.scope=this.fn=null};
goog.async.WorkItem.prototype.set=function(a,b){this.fn=a;this.scope=b;this.next=null};goog.async.WorkItem.prototype.reset=function(){this.next=this.scope=this.fn=null};goog.debug.entryPointRegistry={};goog.debug.EntryPointMonitor=function(){};goog.debug.entryPointRegistry.refList_=[];goog.debug.entryPointRegistry.monitors_=[];goog.debug.entryPointRegistry.monitorsMayExist_=!1;goog.debug.entryPointRegistry.register=function(a){goog.debug.entryPointRegistry.refList_[goog.debug.entryPointRegistry.refList_.length]=a;if(goog.debug.entryPointRegistry.monitorsMayExist_)for(var b=goog.debug.entryPointRegistry.monitors_,c=0;c<b.length;c++)a(goog.bind(b[c].wrap,b[c]))};
goog.debug.entryPointRegistry.monitorAll=function(a){goog.debug.entryPointRegistry.monitorsMayExist_=!0;for(var b=goog.bind(a.wrap,a),c=0;c<goog.debug.entryPointRegistry.refList_.length;c++)goog.debug.entryPointRegistry.refList_[c](b);goog.debug.entryPointRegistry.monitors_.push(a)};
goog.debug.entryPointRegistry.unmonitorAllIfPossible=function(a){var b=goog.debug.entryPointRegistry.monitors_;goog.asserts.assert(a==b[b.length-1],"Only the most recent monitor can be unwrapped.");a=goog.bind(a.unwrap,a);for(var c=0;c<goog.debug.entryPointRegistry.refList_.length;c++)goog.debug.entryPointRegistry.refList_[c](a);b.length--};goog.dom.HtmlElement=function(){};goog.dom.TagName=function(a){this.tagName_=a};goog.dom.TagName.prototype.toString=function(){return this.tagName_};goog.dom.TagName.A=new goog.dom.TagName("A");goog.dom.TagName.ABBR=new goog.dom.TagName("ABBR");goog.dom.TagName.ACRONYM=new goog.dom.TagName("ACRONYM");goog.dom.TagName.ADDRESS=new goog.dom.TagName("ADDRESS");goog.dom.TagName.APPLET=new goog.dom.TagName("APPLET");goog.dom.TagName.AREA=new goog.dom.TagName("AREA");goog.dom.TagName.ARTICLE=new goog.dom.TagName("ARTICLE");
goog.dom.TagName.ASIDE=new goog.dom.TagName("ASIDE");goog.dom.TagName.AUDIO=new goog.dom.TagName("AUDIO");goog.dom.TagName.B=new goog.dom.TagName("B");goog.dom.TagName.BASE=new goog.dom.TagName("BASE");goog.dom.TagName.BASEFONT=new goog.dom.TagName("BASEFONT");goog.dom.TagName.BDI=new goog.dom.TagName("BDI");goog.dom.TagName.BDO=new goog.dom.TagName("BDO");goog.dom.TagName.BIG=new goog.dom.TagName("BIG");goog.dom.TagName.BLOCKQUOTE=new goog.dom.TagName("BLOCKQUOTE");goog.dom.TagName.BODY=new goog.dom.TagName("BODY");
goog.dom.TagName.BR=new goog.dom.TagName("BR");goog.dom.TagName.BUTTON=new goog.dom.TagName("BUTTON");goog.dom.TagName.CANVAS=new goog.dom.TagName("CANVAS");goog.dom.TagName.CAPTION=new goog.dom.TagName("CAPTION");goog.dom.TagName.CENTER=new goog.dom.TagName("CENTER");goog.dom.TagName.CITE=new goog.dom.TagName("CITE");goog.dom.TagName.CODE=new goog.dom.TagName("CODE");goog.dom.TagName.COL=new goog.dom.TagName("COL");goog.dom.TagName.COLGROUP=new goog.dom.TagName("COLGROUP");
goog.dom.TagName.COMMAND=new goog.dom.TagName("COMMAND");goog.dom.TagName.DATA=new goog.dom.TagName("DATA");goog.dom.TagName.DATALIST=new goog.dom.TagName("DATALIST");goog.dom.TagName.DD=new goog.dom.TagName("DD");goog.dom.TagName.DEL=new goog.dom.TagName("DEL");goog.dom.TagName.DETAILS=new goog.dom.TagName("DETAILS");goog.dom.TagName.DFN=new goog.dom.TagName("DFN");goog.dom.TagName.DIALOG=new goog.dom.TagName("DIALOG");goog.dom.TagName.DIR=new goog.dom.TagName("DIR");goog.dom.TagName.DIV=new goog.dom.TagName("DIV");
goog.dom.TagName.DL=new goog.dom.TagName("DL");goog.dom.TagName.DT=new goog.dom.TagName("DT");goog.dom.TagName.EM=new goog.dom.TagName("EM");goog.dom.TagName.EMBED=new goog.dom.TagName("EMBED");goog.dom.TagName.FIELDSET=new goog.dom.TagName("FIELDSET");goog.dom.TagName.FIGCAPTION=new goog.dom.TagName("FIGCAPTION");goog.dom.TagName.FIGURE=new goog.dom.TagName("FIGURE");goog.dom.TagName.FONT=new goog.dom.TagName("FONT");goog.dom.TagName.FOOTER=new goog.dom.TagName("FOOTER");goog.dom.TagName.FORM=new goog.dom.TagName("FORM");
goog.dom.TagName.FRAME=new goog.dom.TagName("FRAME");goog.dom.TagName.FRAMESET=new goog.dom.TagName("FRAMESET");goog.dom.TagName.H1=new goog.dom.TagName("H1");goog.dom.TagName.H2=new goog.dom.TagName("H2");goog.dom.TagName.H3=new goog.dom.TagName("H3");goog.dom.TagName.H4=new goog.dom.TagName("H4");goog.dom.TagName.H5=new goog.dom.TagName("H5");goog.dom.TagName.H6=new goog.dom.TagName("H6");goog.dom.TagName.HEAD=new goog.dom.TagName("HEAD");goog.dom.TagName.HEADER=new goog.dom.TagName("HEADER");
goog.dom.TagName.HGROUP=new goog.dom.TagName("HGROUP");goog.dom.TagName.HR=new goog.dom.TagName("HR");goog.dom.TagName.HTML=new goog.dom.TagName("HTML");goog.dom.TagName.I=new goog.dom.TagName("I");goog.dom.TagName.IFRAME=new goog.dom.TagName("IFRAME");goog.dom.TagName.IMG=new goog.dom.TagName("IMG");goog.dom.TagName.INPUT=new goog.dom.TagName("INPUT");goog.dom.TagName.INS=new goog.dom.TagName("INS");goog.dom.TagName.ISINDEX=new goog.dom.TagName("ISINDEX");goog.dom.TagName.KBD=new goog.dom.TagName("KBD");
goog.dom.TagName.KEYGEN=new goog.dom.TagName("KEYGEN");goog.dom.TagName.LABEL=new goog.dom.TagName("LABEL");goog.dom.TagName.LEGEND=new goog.dom.TagName("LEGEND");goog.dom.TagName.LI=new goog.dom.TagName("LI");goog.dom.TagName.LINK=new goog.dom.TagName("LINK");goog.dom.TagName.MAP=new goog.dom.TagName("MAP");goog.dom.TagName.MARK=new goog.dom.TagName("MARK");goog.dom.TagName.MATH=new goog.dom.TagName("MATH");goog.dom.TagName.MENU=new goog.dom.TagName("MENU");goog.dom.TagName.META=new goog.dom.TagName("META");
goog.dom.TagName.METER=new goog.dom.TagName("METER");goog.dom.TagName.NAV=new goog.dom.TagName("NAV");goog.dom.TagName.NOFRAMES=new goog.dom.TagName("NOFRAMES");goog.dom.TagName.NOSCRIPT=new goog.dom.TagName("NOSCRIPT");goog.dom.TagName.OBJECT=new goog.dom.TagName("OBJECT");goog.dom.TagName.OL=new goog.dom.TagName("OL");goog.dom.TagName.OPTGROUP=new goog.dom.TagName("OPTGROUP");goog.dom.TagName.OPTION=new goog.dom.TagName("OPTION");goog.dom.TagName.OUTPUT=new goog.dom.TagName("OUTPUT");
goog.dom.TagName.P=new goog.dom.TagName("P");goog.dom.TagName.PARAM=new goog.dom.TagName("PARAM");goog.dom.TagName.PRE=new goog.dom.TagName("PRE");goog.dom.TagName.PROGRESS=new goog.dom.TagName("PROGRESS");goog.dom.TagName.Q=new goog.dom.TagName("Q");goog.dom.TagName.RP=new goog.dom.TagName("RP");goog.dom.TagName.RT=new goog.dom.TagName("RT");goog.dom.TagName.RUBY=new goog.dom.TagName("RUBY");goog.dom.TagName.S=new goog.dom.TagName("S");goog.dom.TagName.SAMP=new goog.dom.TagName("SAMP");
goog.dom.TagName.SCRIPT=new goog.dom.TagName("SCRIPT");goog.dom.TagName.SECTION=new goog.dom.TagName("SECTION");goog.dom.TagName.SELECT=new goog.dom.TagName("SELECT");goog.dom.TagName.SMALL=new goog.dom.TagName("SMALL");goog.dom.TagName.SOURCE=new goog.dom.TagName("SOURCE");goog.dom.TagName.SPAN=new goog.dom.TagName("SPAN");goog.dom.TagName.STRIKE=new goog.dom.TagName("STRIKE");goog.dom.TagName.STRONG=new goog.dom.TagName("STRONG");goog.dom.TagName.STYLE=new goog.dom.TagName("STYLE");
goog.dom.TagName.SUB=new goog.dom.TagName("SUB");goog.dom.TagName.SUMMARY=new goog.dom.TagName("SUMMARY");goog.dom.TagName.SUP=new goog.dom.TagName("SUP");goog.dom.TagName.SVG=new goog.dom.TagName("SVG");goog.dom.TagName.TABLE=new goog.dom.TagName("TABLE");goog.dom.TagName.TBODY=new goog.dom.TagName("TBODY");goog.dom.TagName.TD=new goog.dom.TagName("TD");goog.dom.TagName.TEMPLATE=new goog.dom.TagName("TEMPLATE");goog.dom.TagName.TEXTAREA=new goog.dom.TagName("TEXTAREA");goog.dom.TagName.TFOOT=new goog.dom.TagName("TFOOT");
goog.dom.TagName.TH=new goog.dom.TagName("TH");goog.dom.TagName.THEAD=new goog.dom.TagName("THEAD");goog.dom.TagName.TIME=new goog.dom.TagName("TIME");goog.dom.TagName.TITLE=new goog.dom.TagName("TITLE");goog.dom.TagName.TR=new goog.dom.TagName("TR");goog.dom.TagName.TRACK=new goog.dom.TagName("TRACK");goog.dom.TagName.TT=new goog.dom.TagName("TT");goog.dom.TagName.U=new goog.dom.TagName("U");goog.dom.TagName.UL=new goog.dom.TagName("UL");goog.dom.TagName.VAR=new goog.dom.TagName("VAR");
goog.dom.TagName.VIDEO=new goog.dom.TagName("VIDEO");goog.dom.TagName.WBR=new goog.dom.TagName("WBR");goog.labs={};goog.labs.userAgent={};goog.labs.userAgent.util={};goog.labs.userAgent.util.getNativeUserAgentString_=function(){var a=goog.labs.userAgent.util.getNavigator_();return a&&(a=a.userAgent)?a:""};goog.labs.userAgent.util.getNavigator_=function(){return goog.global.navigator};goog.labs.userAgent.util.userAgent_=goog.labs.userAgent.util.getNativeUserAgentString_();goog.labs.userAgent.util.setUserAgent=function(a){goog.labs.userAgent.util.userAgent_=a||goog.labs.userAgent.util.getNativeUserAgentString_()};
goog.labs.userAgent.util.getUserAgent=function(){return goog.labs.userAgent.util.userAgent_};goog.labs.userAgent.util.matchUserAgent=function(a){var b=goog.labs.userAgent.util.getUserAgent();return goog.string.contains(b,a)};goog.labs.userAgent.util.matchUserAgentIgnoreCase=function(a){var b=goog.labs.userAgent.util.getUserAgent();return goog.string.caseInsensitiveContains(b,a)};
goog.labs.userAgent.util.extractVersionTuples=function(a){for(var b=RegExp("(\\w[\\w ]+)/([^\\s]+)\\s*(?:\\((.*?)\\))?","g"),c=[],d;d=b.exec(a);)c.push([d[1],d[2],d[3]||void 0]);return c};goog.labs.userAgent.browser={};goog.labs.userAgent.browser.matchOpera_=function(){return goog.labs.userAgent.util.matchUserAgent("Opera")};goog.labs.userAgent.browser.matchIE_=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")};goog.labs.userAgent.browser.matchEdge_=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")};goog.labs.userAgent.browser.matchFirefox_=function(){return goog.labs.userAgent.util.matchUserAgent("Firefox")};
goog.labs.userAgent.browser.matchSafari_=function(){return goog.labs.userAgent.util.matchUserAgent("Safari")&&!(goog.labs.userAgent.browser.matchChrome_()||goog.labs.userAgent.browser.matchCoast_()||goog.labs.userAgent.browser.matchOpera_()||goog.labs.userAgent.browser.matchEdge_()||goog.labs.userAgent.browser.isSilk()||goog.labs.userAgent.util.matchUserAgent("Android"))};goog.labs.userAgent.browser.matchCoast_=function(){return goog.labs.userAgent.util.matchUserAgent("Coast")};
goog.labs.userAgent.browser.matchIosWebview_=function(){return(goog.labs.userAgent.util.matchUserAgent("iPad")||goog.labs.userAgent.util.matchUserAgent("iPhone"))&&!goog.labs.userAgent.browser.matchSafari_()&&!goog.labs.userAgent.browser.matchChrome_()&&!goog.labs.userAgent.browser.matchCoast_()&&goog.labs.userAgent.util.matchUserAgent("AppleWebKit")};
goog.labs.userAgent.browser.matchChrome_=function(){return(goog.labs.userAgent.util.matchUserAgent("Chrome")||goog.labs.userAgent.util.matchUserAgent("CriOS"))&&!goog.labs.userAgent.browser.matchEdge_()};goog.labs.userAgent.browser.matchAndroidBrowser_=function(){return goog.labs.userAgent.util.matchUserAgent("Android")&&!(goog.labs.userAgent.browser.isChrome()||goog.labs.userAgent.browser.isFirefox()||goog.labs.userAgent.browser.isOpera()||goog.labs.userAgent.browser.isSilk())};
goog.labs.userAgent.browser.isOpera=goog.labs.userAgent.browser.matchOpera_;goog.labs.userAgent.browser.isIE=goog.labs.userAgent.browser.matchIE_;goog.labs.userAgent.browser.isEdge=goog.labs.userAgent.browser.matchEdge_;goog.labs.userAgent.browser.isFirefox=goog.labs.userAgent.browser.matchFirefox_;goog.labs.userAgent.browser.isSafari=goog.labs.userAgent.browser.matchSafari_;goog.labs.userAgent.browser.isCoast=goog.labs.userAgent.browser.matchCoast_;goog.labs.userAgent.browser.isIosWebview=goog.labs.userAgent.browser.matchIosWebview_;
goog.labs.userAgent.browser.isChrome=goog.labs.userAgent.browser.matchChrome_;goog.labs.userAgent.browser.isAndroidBrowser=goog.labs.userAgent.browser.matchAndroidBrowser_;goog.labs.userAgent.browser.isSilk=function(){return goog.labs.userAgent.util.matchUserAgent("Silk")};
goog.labs.userAgent.browser.getVersion=function(){function a(a){a=goog.array.find(a,d);return c[a]||""}var b=goog.labs.userAgent.util.getUserAgent();if(goog.labs.userAgent.browser.isIE())return goog.labs.userAgent.browser.getIEVersion_(b);var b=goog.labs.userAgent.util.extractVersionTuples(b),c={};goog.array.forEach(b,function(a){c[a[0]]=a[1]});var d=goog.partial(goog.object.containsKey,c);return goog.labs.userAgent.browser.isOpera()?a(["Version","Opera"]):goog.labs.userAgent.browser.isEdge()?a(["Edge"]):
goog.labs.userAgent.browser.isChrome()?a(["Chrome","CriOS"]):(b=b[2])&&b[1]||""};goog.labs.userAgent.browser.isVersionOrHigher=function(a){return 0<=goog.string.compareVersions(goog.labs.userAgent.browser.getVersion(),a)};
goog.labs.userAgent.browser.getIEVersion_=function(a){var b=/rv: *([\d\.]*)/.exec(a);if(b&&b[1])return b[1];var b="",c=/MSIE +([\d\.]+)/.exec(a);if(c&&c[1])if(a=/Trident\/(\d.\d)/.exec(a),"7.0"==c[1])if(a&&a[1])switch(a[1]){case "4.0":b="8.0";break;case "5.0":b="9.0";break;case "6.0":b="10.0";break;case "7.0":b="11.0"}else b="7.0";else b=c[1];return b};goog.labs.userAgent.engine={};goog.labs.userAgent.engine.isPresto=function(){return goog.labs.userAgent.util.matchUserAgent("Presto")};goog.labs.userAgent.engine.isTrident=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")};goog.labs.userAgent.engine.isEdge=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")};
goog.labs.userAgent.engine.isWebKit=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase("WebKit")&&!goog.labs.userAgent.engine.isEdge()};goog.labs.userAgent.engine.isGecko=function(){return goog.labs.userAgent.util.matchUserAgent("Gecko")&&!goog.labs.userAgent.engine.isWebKit()&&!goog.labs.userAgent.engine.isTrident()&&!goog.labs.userAgent.engine.isEdge()};
goog.labs.userAgent.engine.getVersion=function(){var a=goog.labs.userAgent.util.getUserAgent();if(a){var a=goog.labs.userAgent.util.extractVersionTuples(a),b=goog.labs.userAgent.engine.getEngineTuple_(a);if(b)return"Gecko"==b[0]?goog.labs.userAgent.engine.getVersionForKey_(a,"Firefox"):b[1];var a=a[0],c;if(a&&(c=a[2])&&(c=/Trident\/([^\s;]+)/.exec(c)))return c[1]}return""};
goog.labs.userAgent.engine.getEngineTuple_=function(a){if(!goog.labs.userAgent.engine.isEdge())return a[1];for(var b=0;b<a.length;b++){var c=a[b];if("Edge"==c[0])return c}};goog.labs.userAgent.engine.isVersionOrHigher=function(a){return 0<=goog.string.compareVersions(goog.labs.userAgent.engine.getVersion(),a)};goog.labs.userAgent.engine.getVersionForKey_=function(a,b){var c=goog.array.find(a,function(a){return b==a[0]});return c&&c[1]||""};goog.async.throwException=function(a){goog.global.setTimeout(function(){throw a;},0)};goog.async.nextTick=function(a,b,c){var d=a;b&&(d=goog.bind(a,b));d=goog.async.nextTick.wrapCallback_(d);goog.isFunction(goog.global.setImmediate)&&(c||goog.async.nextTick.useSetImmediate_())?goog.global.setImmediate(d):(goog.async.nextTick.setImmediate_||(goog.async.nextTick.setImmediate_=goog.async.nextTick.getSetImmediateEmulator_()),goog.async.nextTick.setImmediate_(d))};
goog.async.nextTick.useSetImmediate_=function(){return goog.global.Window&&goog.global.Window.prototype&&!goog.labs.userAgent.browser.isEdge()&&goog.global.Window.prototype.setImmediate==goog.global.setImmediate?!1:!0};
goog.async.nextTick.getSetImmediateEmulator_=function(){var a=goog.global.MessageChannel;"undefined"===typeof a&&"undefined"!==typeof window&&window.postMessage&&window.addEventListener&&!goog.labs.userAgent.engine.isPresto()&&(a=function(){var a=document.createElement("IFRAME");a.style.display="none";a.src="";document.documentElement.appendChild(a);var b=a.contentWindow,a=b.document;a.open();a.write("");a.close();var c="callImmediate"+Math.random(),d="file:"==b.location.protocol?"*":b.location.protocol+
"//"+b.location.host,a=goog.bind(function(a){if(("*"==d||a.origin==d)&&a.data==c)this.port1.onmessage()},this);b.addEventListener("message",a,!1);this.port1={};this.port2={postMessage:function(){b.postMessage(c,d)}}});if("undefined"!==typeof a&&!goog.labs.userAgent.browser.isIE()){var b=new a,c={},d=c;b.port1.onmessage=function(){if(goog.isDef(c.next)){c=c.next;var a=c.cb;c.cb=null;a()}};return function(a){d.next={cb:a};d=d.next;b.port2.postMessage(0)}}return"undefined"!==typeof document&&"onreadystatechange"in
document.createElement("SCRIPT")?function(a){var b=document.createElement("SCRIPT");b.onreadystatechange=function(){b.onreadystatechange=null;b.parentNode.removeChild(b);b=null;a();a=null};document.documentElement.appendChild(b)}:function(a){goog.global.setTimeout(a,0)}};goog.async.nextTick.wrapCallback_=goog.functions.identity;goog.debug.entryPointRegistry.register(function(a){goog.async.nextTick.wrapCallback_=a});goog.async.run=function(a,b){goog.async.run.schedule_||goog.async.run.initializeRunner_();goog.async.run.workQueueScheduled_||(goog.async.run.schedule_(),goog.async.run.workQueueScheduled_=!0);goog.async.run.workQueue_.add(a,b)};goog.async.run.initializeRunner_=function(){if(-1!=String(goog.global.Promise).indexOf("[native code]")){var a=goog.global.Promise.resolve(void 0);goog.async.run.schedule_=function(){a.then(goog.async.run.processWorkQueue)}}else goog.async.run.schedule_=function(){goog.async.nextTick(goog.async.run.processWorkQueue)}};
goog.async.run.forceNextTick=function(a){goog.async.run.schedule_=function(){goog.async.nextTick(goog.async.run.processWorkQueue);a&&a(goog.async.run.processWorkQueue)}};goog.async.run.workQueueScheduled_=!1;goog.async.run.workQueue_=new goog.async.WorkQueue;goog.DEBUG&&(goog.async.run.resetQueue=function(){goog.async.run.workQueueScheduled_=!1;goog.async.run.workQueue_=new goog.async.WorkQueue});
goog.async.run.processWorkQueue=function(){for(var a;a=goog.async.run.workQueue_.remove();){try{a.fn.call(a.scope)}catch(b){goog.async.throwException(b)}goog.async.run.workQueue_.returnUnused(a)}goog.async.run.workQueueScheduled_=!1};goog.promise={};goog.promise.Resolver=function(){};goog.Promise=function(a,b){this.state_=goog.Promise.State_.PENDING;this.result_=void 0;this.callbackEntriesTail_=this.callbackEntries_=this.parent_=null;this.executing_=!1;0<goog.Promise.UNHANDLED_REJECTION_DELAY?this.unhandledRejectionId_=0:0==goog.Promise.UNHANDLED_REJECTION_DELAY&&(this.hadUnhandledRejection_=!1);goog.Promise.LONG_STACK_TRACES&&(this.stack_=[],this.addStackTrace_(Error("created")),this.currentStep_=0);if(a!=goog.nullFunction)try{var c=this;a.call(b,function(a){c.resolve_(goog.Promise.State_.FULFILLED,
a)},function(a){if(goog.DEBUG&&!(a instanceof goog.Promise.CancellationError))try{if(a instanceof Error)throw a;throw Error("Promise rejected.");}catch(e){}c.resolve_(goog.Promise.State_.REJECTED,a)})}catch(d){this.resolve_(goog.Promise.State_.REJECTED,d)}};goog.Promise.LONG_STACK_TRACES=!1;goog.Promise.UNHANDLED_REJECTION_DELAY=0;goog.Promise.State_={PENDING:0,BLOCKED:1,FULFILLED:2,REJECTED:3};
goog.Promise.CallbackEntry_=function(){this.next=this.context=this.onRejected=this.onFulfilled=this.child=null;this.always=!1};goog.Promise.CallbackEntry_.prototype.reset=function(){this.context=this.onRejected=this.onFulfilled=this.child=null;this.always=!1};goog.Promise.DEFAULT_MAX_UNUSED=100;goog.Promise.freelist_=new goog.async.FreeList(function(){return new goog.Promise.CallbackEntry_},function(a){a.reset()},goog.Promise.DEFAULT_MAX_UNUSED);
goog.Promise.getCallbackEntry_=function(a,b,c){var d=goog.Promise.freelist_.get();d.onFulfilled=a;d.onRejected=b;d.context=c;return d};goog.Promise.returnEntry_=function(a){goog.Promise.freelist_.put(a)};goog.Promise.resolve=function(a){if(a instanceof goog.Promise)return a;var b=new goog.Promise(goog.nullFunction);b.resolve_(goog.Promise.State_.FULFILLED,a);return b};goog.Promise.reject=function(a){return new goog.Promise(function(b,c){c(a)})};
goog.Promise.resolveThen_=function(a,b,c){goog.Promise.maybeThen_(a,b,c,null)||goog.async.run(goog.partial(b,a))};goog.Promise.race=function(a){return new goog.Promise(function(b,c){a.length||b(void 0);for(var d=0,e;d<a.length;d++)e=a[d],goog.Promise.resolveThen_(e,b,c)})};
goog.Promise.all=function(a){return new goog.Promise(function(b,c){var d=a.length,e=[];if(d)for(var f=function(a,c){d--;e[a]=c;0==d&&b(e)},g=function(a){c(a)},h=0,k;h<a.length;h++)k=a[h],goog.Promise.resolveThen_(k,goog.partial(f,h),g);else b(e)})};
goog.Promise.allSettled=function(a){return new goog.Promise(function(b,c){var d=a.length,e=[];if(d)for(var f=function(a,c,f){d--;e[a]=c?{fulfilled:!0,value:f}:{fulfilled:!1,reason:f};0==d&&b(e)},g=0,h;g<a.length;g++)h=a[g],goog.Promise.resolveThen_(h,goog.partial(f,g,!0),goog.partial(f,g,!1));else b(e)})};
goog.Promise.firstFulfilled=function(a){return new goog.Promise(function(b,c){var d=a.length,e=[];if(d)for(var f=function(a){b(a)},g=function(a,b){d--;e[a]=b;0==d&&c(e)},h=0,k;h<a.length;h++)k=a[h],goog.Promise.resolveThen_(k,f,goog.partial(g,h));else b(void 0)})};goog.Promise.withResolver=function(){var a,b,c=new goog.Promise(function(c,e){a=c;b=e});return new goog.Promise.Resolver_(c,a,b)};
goog.Promise.prototype.then=function(a,b,c){null!=a&&goog.asserts.assertFunction(a,"opt_onFulfilled should be a function.");null!=b&&goog.asserts.assertFunction(b,"opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?");goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("then"));return this.addChildPromise_(goog.isFunction(a)?a:null,goog.isFunction(b)?b:null,c)};goog.Thenable.addImplementation(goog.Promise);
goog.Promise.prototype.thenVoid=function(a,b,c){null!=a&&goog.asserts.assertFunction(a,"opt_onFulfilled should be a function.");null!=b&&goog.asserts.assertFunction(b,"opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?");goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("then"));this.addCallbackEntry_(goog.Promise.getCallbackEntry_(a||goog.nullFunction,b||null,c))};
goog.Promise.prototype.thenAlways=function(a,b){goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("thenAlways"));var c=goog.Promise.getCallbackEntry_(a,a,b);c.always=!0;this.addCallbackEntry_(c);return this};goog.Promise.prototype.thenCatch=function(a,b){goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("thenCatch"));return this.addChildPromise_(null,a,b)};
goog.Promise.prototype.cancel=function(a){this.state_==goog.Promise.State_.PENDING&&goog.async.run(function(){var b=new goog.Promise.CancellationError(a);this.cancelInternal_(b)},this)};goog.Promise.prototype.cancelInternal_=function(a){this.state_==goog.Promise.State_.PENDING&&(this.parent_?(this.parent_.cancelChild_(this,a),this.parent_=null):this.resolve_(goog.Promise.State_.REJECTED,a))};
goog.Promise.prototype.cancelChild_=function(a,b){if(this.callbackEntries_){for(var c=0,d=null,e=null,f=this.callbackEntries_;f&&(f.always||(c++,f.child==a&&(d=f),!(d&&1<c)));f=f.next)d||(e=f);d&&(this.state_==goog.Promise.State_.PENDING&&1==c?this.cancelInternal_(b):(e?this.removeEntryAfter_(e):this.popEntry_(),this.executeCallback_(d,goog.Promise.State_.REJECTED,b)))}};
goog.Promise.prototype.addCallbackEntry_=function(a){this.hasEntry_()||this.state_!=goog.Promise.State_.FULFILLED&&this.state_!=goog.Promise.State_.REJECTED||this.scheduleCallbacks_();this.queueEntry_(a)};
goog.Promise.prototype.addChildPromise_=function(a,b,c){var d=goog.Promise.getCallbackEntry_(null,null,null);d.child=new goog.Promise(function(e,f){d.onFulfilled=a?function(b){try{var d=a.call(c,b);e(d)}catch(k){f(k)}}:e;d.onRejected=b?function(a){try{var d=b.call(c,a);!goog.isDef(d)&&a instanceof goog.Promise.CancellationError?f(a):e(d)}catch(k){f(k)}}:f});d.child.parent_=this;this.addCallbackEntry_(d);return d.child};
goog.Promise.prototype.unblockAndFulfill_=function(a){goog.asserts.assert(this.state_==goog.Promise.State_.BLOCKED);this.state_=goog.Promise.State_.PENDING;this.resolve_(goog.Promise.State_.FULFILLED,a)};goog.Promise.prototype.unblockAndReject_=function(a){goog.asserts.assert(this.state_==goog.Promise.State_.BLOCKED);this.state_=goog.Promise.State_.PENDING;this.resolve_(goog.Promise.State_.REJECTED,a)};
goog.Promise.prototype.resolve_=function(a,b){this.state_==goog.Promise.State_.PENDING&&(this===b&&(a=goog.Promise.State_.REJECTED,b=new TypeError("Promise cannot resolve to itself")),this.state_=goog.Promise.State_.BLOCKED,goog.Promise.maybeThen_(b,this.unblockAndFulfill_,this.unblockAndReject_,this)||(this.result_=b,this.state_=a,this.parent_=null,this.scheduleCallbacks_(),a!=goog.Promise.State_.REJECTED||b instanceof goog.Promise.CancellationError||goog.Promise.addUnhandledRejection_(this,b)))};
goog.Promise.maybeThen_=function(a,b,c,d){if(a instanceof goog.Promise)return a.thenVoid(b,c,d),!0;if(goog.Thenable.isImplementedBy(a))return a.then(b,c,d),!0;if(goog.isObject(a))try{var e=a.then;if(goog.isFunction(e))return goog.Promise.tryThen_(a,e,b,c,d),!0}catch(f){return c.call(d,f),!0}return!1};goog.Promise.tryThen_=function(a,b,c,d,e){var f=!1,g=function(a){f||(f=!0,c.call(e,a))},h=function(a){f||(f=!0,d.call(e,a))};try{b.call(a,g,h)}catch(k){h(k)}};
goog.Promise.prototype.scheduleCallbacks_=function(){this.executing_||(this.executing_=!0,goog.async.run(this.executeCallbacks_,this))};goog.Promise.prototype.hasEntry_=function(){return!!this.callbackEntries_};goog.Promise.prototype.queueEntry_=function(a){goog.asserts.assert(null!=a.onFulfilled);this.callbackEntriesTail_?this.callbackEntriesTail_.next=a:this.callbackEntries_=a;this.callbackEntriesTail_=a};
goog.Promise.prototype.popEntry_=function(){var a=null;this.callbackEntries_&&(a=this.callbackEntries_,this.callbackEntries_=a.next,a.next=null);this.callbackEntries_||(this.callbackEntriesTail_=null);null!=a&&goog.asserts.assert(null!=a.onFulfilled);return a};goog.Promise.prototype.removeEntryAfter_=function(a){goog.asserts.assert(this.callbackEntries_);goog.asserts.assert(null!=a);a.next==this.callbackEntriesTail_&&(this.callbackEntriesTail_=a);a.next=a.next.next};
goog.Promise.prototype.executeCallbacks_=function(){for(var a;a=this.popEntry_();)goog.Promise.LONG_STACK_TRACES&&this.currentStep_++,this.executeCallback_(a,this.state_,this.result_);this.executing_=!1};
goog.Promise.prototype.executeCallback_=function(a,b,c){b==goog.Promise.State_.REJECTED&&a.onRejected&&!a.always&&this.removeUnhandledRejection_();if(a.child)a.child.parent_=null,goog.Promise.invokeCallback_(a,b,c);else try{a.always?a.onFulfilled.call(a.context):goog.Promise.invokeCallback_(a,b,c)}catch(d){goog.Promise.handleRejection_.call(null,d)}goog.Promise.returnEntry_(a)};
goog.Promise.invokeCallback_=function(a,b,c){b==goog.Promise.State_.FULFILLED?a.onFulfilled.call(a.context,c):a.onRejected&&a.onRejected.call(a.context,c)};goog.Promise.prototype.addStackTrace_=function(a){if(goog.Promise.LONG_STACK_TRACES&&goog.isString(a.stack)){var b=a.stack.split("\n",4)[3];a=a.message;a+=Array(11-a.length).join(" ");this.stack_.push(a+b)}};
goog.Promise.prototype.appendLongStack_=function(a){if(goog.Promise.LONG_STACK_TRACES&&a&&goog.isString(a.stack)&&this.stack_.length){for(var b=["Promise trace:"],c=this;c;c=c.parent_){for(var d=this.currentStep_;0<=d;d--)b.push(c.stack_[d]);b.push("Value: ["+(c.state_==goog.Promise.State_.REJECTED?"REJECTED":"FULFILLED")+"] \x3c"+String(c.result_)+"\x3e")}a.stack+="\n\n"+b.join("\n")}};
goog.Promise.prototype.removeUnhandledRejection_=function(){if(0<goog.Promise.UNHANDLED_REJECTION_DELAY)for(var a=this;a&&a.unhandledRejectionId_;a=a.parent_)goog.global.clearTimeout(a.unhandledRejectionId_),a.unhandledRejectionId_=0;else if(0==goog.Promise.UNHANDLED_REJECTION_DELAY)for(a=this;a&&a.hadUnhandledRejection_;a=a.parent_)a.hadUnhandledRejection_=!1};
goog.Promise.addUnhandledRejection_=function(a,b){0<goog.Promise.UNHANDLED_REJECTION_DELAY?a.unhandledRejectionId_=goog.global.setTimeout(function(){a.appendLongStack_(b);goog.Promise.handleRejection_.call(null,b)},goog.Promise.UNHANDLED_REJECTION_DELAY):0==goog.Promise.UNHANDLED_REJECTION_DELAY&&(a.hadUnhandledRejection_=!0,goog.async.run(function(){a.hadUnhandledRejection_&&(a.appendLongStack_(b),goog.Promise.handleRejection_.call(null,b))}))};goog.Promise.handleRejection_=goog.async.throwException;
goog.Promise.setUnhandledRejectionHandler=function(a){goog.Promise.handleRejection_=a};goog.Promise.CancellationError=function(a){goog.debug.Error.call(this,a)};goog.inherits(goog.Promise.CancellationError,goog.debug.Error);goog.Promise.CancellationError.prototype.name="cancel";goog.Promise.Resolver_=function(a,b,c){this.promise=a;this.resolve=b;this.reject=c};goog.disposable={};goog.disposable.IDisposable=function(){};goog.disposable.IDisposable.prototype.dispose=goog.abstractMethod;goog.disposable.IDisposable.prototype.isDisposed=goog.abstractMethod;goog.Disposable=function(){goog.Disposable.MONITORING_MODE!=goog.Disposable.MonitoringMode.OFF&&(goog.Disposable.INCLUDE_STACK_ON_CREATION&&(this.creationStack=Error().stack),goog.Disposable.instances_[goog.getUid(this)]=this);this.disposed_=this.disposed_;this.onDisposeCallbacks_=this.onDisposeCallbacks_};goog.Disposable.MonitoringMode={OFF:0,PERMANENT:1,INTERACTIVE:2};goog.Disposable.MONITORING_MODE=0;goog.Disposable.INCLUDE_STACK_ON_CREATION=!0;goog.Disposable.instances_={};
goog.Disposable.getUndisposedObjects=function(){var a=[],b;for(b in goog.Disposable.instances_)goog.Disposable.instances_.hasOwnProperty(b)&&a.push(goog.Disposable.instances_[Number(b)]);return a};goog.Disposable.clearUndisposedObjects=function(){goog.Disposable.instances_={}};goog.Disposable.prototype.disposed_=!1;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_=!0,this.disposeInternal(),goog.Disposable.MONITORING_MODE!=goog.Disposable.MonitoringMode.OFF)){var a=goog.getUid(this);if(goog.Disposable.MONITORING_MODE==goog.Disposable.MonitoringMode.PERMANENT&&!goog.Disposable.instances_.hasOwnProperty(a))throw Error(this+" did not call the goog.Disposable base constructor or was disposed of after a clearUndisposedObjects call");delete goog.Disposable.instances_[a]}};
goog.Disposable.prototype.registerDisposable=function(a){this.addOnDisposeCallback(goog.partial(goog.dispose,a))};goog.Disposable.prototype.addOnDisposeCallback=function(a,b){this.disposed_?goog.isDef(b)?a.call(b):a():(this.onDisposeCallbacks_||(this.onDisposeCallbacks_=[]),this.onDisposeCallbacks_.push(goog.isDef(b)?goog.bind(a,b):a))};goog.Disposable.prototype.disposeInternal=function(){if(this.onDisposeCallbacks_)for(;this.onDisposeCallbacks_.length;)this.onDisposeCallbacks_.shift()()};
goog.Disposable.isDisposed=function(a){return a&&"function"==typeof a.isDisposed?a.isDisposed():!1};goog.dispose=function(a){a&&"function"==typeof a.dispose&&a.dispose()};goog.disposeAll=function(a){for(var b=0,c=arguments.length;b<c;++b){var d=arguments[b];goog.isArrayLike(d)?goog.disposeAll.apply(null,d):goog.dispose(d)}};goog.labs.userAgent.platform={};goog.labs.userAgent.platform.isAndroid=function(){return goog.labs.userAgent.util.matchUserAgent("Android")};goog.labs.userAgent.platform.isIpod=function(){return goog.labs.userAgent.util.matchUserAgent("iPod")};goog.labs.userAgent.platform.isIphone=function(){return goog.labs.userAgent.util.matchUserAgent("iPhone")&&!goog.labs.userAgent.util.matchUserAgent("iPod")&&!goog.labs.userAgent.util.matchUserAgent("iPad")};goog.labs.userAgent.platform.isIpad=function(){return goog.labs.userAgent.util.matchUserAgent("iPad")};
goog.labs.userAgent.platform.isIos=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpad()||goog.labs.userAgent.platform.isIpod()};goog.labs.userAgent.platform.isMacintosh=function(){return goog.labs.userAgent.util.matchUserAgent("Macintosh")};goog.labs.userAgent.platform.isLinux=function(){return goog.labs.userAgent.util.matchUserAgent("Linux")};goog.labs.userAgent.platform.isWindows=function(){return goog.labs.userAgent.util.matchUserAgent("Windows")};
goog.labs.userAgent.platform.isChromeOS=function(){return goog.labs.userAgent.util.matchUserAgent("CrOS")};
goog.labs.userAgent.platform.getVersion=function(){var a=goog.labs.userAgent.util.getUserAgent();var b="";goog.labs.userAgent.platform.isWindows()?(b=/Windows (?:NT|Phone) ([0-9.]+)/,b=(a=b.exec(a))?a[1]:"0.0"):goog.labs.userAgent.platform.isIos()?(b=/(?:iPhone|iPod|iPad|CPU)\s+OS\s+(\S+)/,b=(a=b.exec(a))&&a[1].replace(/_/g,".")):goog.labs.userAgent.platform.isMacintosh()?(b=/Mac OS X ([0-9_.]+)/,b=(a=b.exec(a))?a[1].replace(/_/g,"."):"10"):goog.labs.userAgent.platform.isAndroid()?(b=/Android\s+([^\);]+)(\)|;)/,
b=(a=b.exec(a))&&a[1]):goog.labs.userAgent.platform.isChromeOS()&&(b=/(?:CrOS\s+(?:i686|x86_64)\s+([0-9.]+))/,b=(a=b.exec(a))&&a[1]);return b||""};goog.labs.userAgent.platform.isVersionOrHigher=function(a){return 0<=goog.string.compareVersions(goog.labs.userAgent.platform.getVersion(),a)};goog.userAgent={};goog.userAgent.ASSUME_IE=!1;goog.userAgent.ASSUME_EDGE=!1;goog.userAgent.ASSUME_GECKO=!1;goog.userAgent.ASSUME_WEBKIT=!1;goog.userAgent.ASSUME_MOBILE_WEBKIT=!1;goog.userAgent.ASSUME_OPERA=!1;goog.userAgent.ASSUME_ANY_VERSION=!1;goog.userAgent.BROWSER_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_GECKO||goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_OPERA;goog.userAgent.getUserAgentString=function(){return goog.labs.userAgent.util.getUserAgent()};
goog.userAgent.getNavigator=function(){return goog.global.navigator||null};goog.userAgent.OPERA=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_OPERA:goog.labs.userAgent.browser.isOpera();goog.userAgent.IE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_IE:goog.labs.userAgent.browser.isIE();goog.userAgent.EDGE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_EDGE:goog.labs.userAgent.engine.isEdge();goog.userAgent.EDGE_OR_IE=goog.userAgent.EDGE||goog.userAgent.IE;
goog.userAgent.GECKO=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_GECKO:goog.labs.userAgent.engine.isGecko();goog.userAgent.WEBKIT=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_MOBILE_WEBKIT:goog.labs.userAgent.engine.isWebKit();goog.userAgent.isMobile_=function(){return goog.userAgent.WEBKIT&&goog.labs.userAgent.util.matchUserAgent("Mobile")};goog.userAgent.MOBILE=goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.isMobile_();goog.userAgent.SAFARI=goog.userAgent.WEBKIT;
goog.userAgent.determinePlatform_=function(){var a=goog.userAgent.getNavigator();return a&&a.platform||""};goog.userAgent.PLATFORM=goog.userAgent.determinePlatform_();goog.userAgent.ASSUME_MAC=!1;goog.userAgent.ASSUME_WINDOWS=!1;goog.userAgent.ASSUME_LINUX=!1;goog.userAgent.ASSUME_X11=!1;goog.userAgent.ASSUME_ANDROID=!1;goog.userAgent.ASSUME_IPHONE=!1;goog.userAgent.ASSUME_IPAD=!1;goog.userAgent.ASSUME_IPOD=!1;
goog.userAgent.PLATFORM_KNOWN_=goog.userAgent.ASSUME_MAC||goog.userAgent.ASSUME_WINDOWS||goog.userAgent.ASSUME_LINUX||goog.userAgent.ASSUME_X11||goog.userAgent.ASSUME_ANDROID||goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD||goog.userAgent.ASSUME_IPOD;goog.userAgent.MAC=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_MAC:goog.labs.userAgent.platform.isMacintosh();goog.userAgent.WINDOWS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_WINDOWS:goog.labs.userAgent.platform.isWindows();
goog.userAgent.isLegacyLinux_=function(){return goog.labs.userAgent.platform.isLinux()||goog.labs.userAgent.platform.isChromeOS()};goog.userAgent.LINUX=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_LINUX:goog.userAgent.isLegacyLinux_();goog.userAgent.isX11_=function(){var a=goog.userAgent.getNavigator();return!!a&&goog.string.contains(a.appVersion||"","X11")};goog.userAgent.X11=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_X11:goog.userAgent.isX11_();
goog.userAgent.ANDROID=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_ANDROID:goog.labs.userAgent.platform.isAndroid();goog.userAgent.IPHONE=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE:goog.labs.userAgent.platform.isIphone();goog.userAgent.IPAD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad();goog.userAgent.IPOD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPOD:goog.labs.userAgent.platform.isIpod();
goog.userAgent.IOS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD||goog.userAgent.ASSUME_IPOD:goog.labs.userAgent.platform.isIos();goog.userAgent.determineVersion_=function(){var a="",b=goog.userAgent.getVersionRegexResult_();b&&(a=b?b[1]:"");return goog.userAgent.IE&&(b=goog.userAgent.getDocumentMode_(),null!=b&&b>parseFloat(a))?String(b):a};
goog.userAgent.getVersionRegexResult_=function(){var a=goog.userAgent.getUserAgentString();if(goog.userAgent.GECKO)return/rv\:([^\);]+)(\)|;)/.exec(a);if(goog.userAgent.EDGE)return/Edge\/([\d\.]+)/.exec(a);if(goog.userAgent.IE)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(goog.userAgent.WEBKIT)return/WebKit\/(\S+)/.exec(a);if(goog.userAgent.OPERA)return/(?:Version)[ \/]?(\S+)/.exec(a)};goog.userAgent.getDocumentMode_=function(){var a=goog.global.document;return a?a.documentMode:void 0};
goog.userAgent.VERSION=goog.userAgent.determineVersion_();goog.userAgent.compare=function(a,b){return goog.string.compareVersions(a,b)};goog.userAgent.isVersionOrHigherCache_={};goog.userAgent.isVersionOrHigher=function(a){return goog.userAgent.ASSUME_ANY_VERSION||goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_,a,function(){return 0<=goog.string.compareVersions(goog.userAgent.VERSION,a)})};goog.userAgent.isVersion=goog.userAgent.isVersionOrHigher;
goog.userAgent.isDocumentModeOrHigher=function(a){return Number(goog.userAgent.DOCUMENT_MODE)>=a};goog.userAgent.isDocumentMode=goog.userAgent.isDocumentModeOrHigher;goog.userAgent.DOCUMENT_MODE=function(){var a=goog.global.document,b=goog.userAgent.getDocumentMode_();if(a&&goog.userAgent.IE)return b||("CSS1Compat"==a.compatMode?parseInt(goog.userAgent.VERSION,10):5)}();goog.events={};
goog.events.BrowserFeature={HAS_W3C_BUTTON:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),HAS_W3C_EVENT_SUPPORT:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),SET_KEY_CODE_TO_PREVENT_DEFAULT:goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),HAS_NAVIGATOR_ONLINE_PROPERTY:!goog.userAgent.WEBKIT||goog.userAgent.isVersionOrHigher("528"),HAS_HTML5_NETWORK_EVENT_SUPPORT:goog.userAgent.GECKO&&goog.userAgent.isVersionOrHigher("1.9b")||goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("8")||
goog.userAgent.OPERA&&goog.userAgent.isVersionOrHigher("9.5")||goog.userAgent.WEBKIT&&goog.userAgent.isVersionOrHigher("528"),HTML5_NETWORK_EVENTS_FIRE_ON_BODY:goog.userAgent.GECKO&&!goog.userAgent.isVersionOrHigher("8")||goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),TOUCH_ENABLED:"ontouchstart"in goog.global||!!(goog.global.document&&document.documentElement&&"ontouchstart"in document.documentElement)||!(!goog.global.navigator||!goog.global.navigator.msMaxTouchPoints)};goog.events.EventId=function(a){this.id=a};goog.events.EventId.prototype.toString=function(){return this.id};goog.events.Event=function(a,b){this.type=a instanceof goog.events.EventId?String(a):a;this.currentTarget=this.target=b;this.defaultPrevented=this.propagationStopped_=!1;this.returnValue_=!0};goog.events.Event.prototype.stopPropagation=function(){this.propagationStopped_=!0};goog.events.Event.prototype.preventDefault=function(){this.defaultPrevented=!0;this.returnValue_=!1};goog.events.Event.stopPropagation=function(a){a.stopPropagation()};goog.events.Event.preventDefault=function(a){a.preventDefault()};goog.events.getVendorPrefixedName_=function(a){return goog.userAgent.WEBKIT?"webkit"+a:goog.userAgent.OPERA?"o"+a.toLowerCase():a.toLowerCase()};
goog.events.EventType={CLICK:"click",RIGHTCLICK:"rightclick",DBLCLICK:"dblclick",MOUSEDOWN:"mousedown",MOUSEUP:"mouseup",MOUSEOVER:"mouseover",MOUSEOUT:"mouseout",MOUSEMOVE:"mousemove",MOUSEENTER:"mouseenter",MOUSELEAVE:"mouseleave",SELECTIONCHANGE:"selectionchange",SELECTSTART:"selectstart",WHEEL:"wheel",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",RESET:"reset",SELECT:"select",SUBMIT:"submit",INPUT:"input",PROPERTYCHANGE:"propertychange",DRAGSTART:"dragstart",DRAG:"drag",DRAGENTER:"dragenter",DRAGOVER:"dragover",DRAGLEAVE:"dragleave",DROP:"drop",DRAGEND:"dragend",TOUCHSTART:"touchstart",TOUCHMOVE:"touchmove",TOUCHEND:"touchend",TOUCHCANCEL:"touchcancel",BEFOREUNLOAD:"beforeunload",CONSOLEMESSAGE:"consolemessage",CONTEXTMENU:"contextmenu",DEVICEMOTION:"devicemotion",DEVICEORIENTATION:"deviceorientation",DOMCONTENTLOADED:"DOMContentLoaded",
ERROR:"error",HELP:"help",LOAD:"load",LOSECAPTURE:"losecapture",ORIENTATIONCHANGE:"orientationchange",READYSTATECHANGE:"readystatechange",RESIZE:"resize",SCROLL:"scroll",UNLOAD:"unload",CANPLAY:"canplay",CANPLAYTHROUGH:"canplaythrough",DURATIONCHANGE:"durationchange",EMPTIED:"emptied",ENDED:"ended",LOADEDDATA:"loadeddata",LOADEDMETADATA:"loadedmetadata",PAUSE:"pause",PLAY:"play",PLAYING:"playing",RATECHANGE:"ratechange",SEEKED:"seeked",SEEKING:"seeking",STALLED:"stalled",SUSPEND:"suspend",TIMEUPDATE:"timeupdate",
VOLUMECHANGE:"volumechange",WAITING:"waiting",SOURCEOPEN:"sourceopen",SOURCEENDED:"sourceended",SOURCECLOSED:"sourceclosed",ABORT:"abort",UPDATE:"update",UPDATESTART:"updatestart",UPDATEEND:"updateend",HASHCHANGE:"hashchange",PAGEHIDE:"pagehide",PAGESHOW:"pageshow",POPSTATE:"popstate",COPY:"copy",PASTE:"paste",CUT:"cut",BEFORECOPY:"beforecopy",BEFORECUT:"beforecut",BEFOREPASTE:"beforepaste",ONLINE:"online",OFFLINE:"offline",MESSAGE:"message",CONNECT:"connect",INSTALL:"install",ACTIVATE:"activate",
FETCH:"fetch",FOREIGNFETCH:"foreignfetch",MESSAGEERROR:"messageerror",STATECHANGE:"statechange",UPDATEFOUND:"updatefound",CONTROLLERCHANGE:"controllerchange",ANIMATIONSTART:goog.events.getVendorPrefixedName_("AnimationStart"),ANIMATIONEND:goog.events.getVendorPrefixedName_("AnimationEnd"),ANIMATIONITERATION:goog.events.getVendorPrefixedName_("AnimationIteration"),TRANSITIONEND:goog.events.getVendorPrefixedName_("TransitionEnd"),POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTERCANCEL:"pointercancel",
POINTERMOVE:"pointermove",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",GOTPOINTERCAPTURE:"gotpointercapture",LOSTPOINTERCAPTURE:"lostpointercapture",MSGESTURECHANGE:"MSGestureChange",MSGESTUREEND:"MSGestureEnd",MSGESTUREHOLD:"MSGestureHold",MSGESTURESTART:"MSGestureStart",MSGESTURETAP:"MSGestureTap",MSGOTPOINTERCAPTURE:"MSGotPointerCapture",MSINERTIASTART:"MSInertiaStart",MSLOSTPOINTERCAPTURE:"MSLostPointerCapture",MSPOINTERCANCEL:"MSPointerCancel",
MSPOINTERDOWN:"MSPointerDown",MSPOINTERENTER:"MSPointerEnter",MSPOINTERHOVER:"MSPointerHover",MSPOINTERLEAVE:"MSPointerLeave",MSPOINTERMOVE:"MSPointerMove",MSPOINTEROUT:"MSPointerOut",MSPOINTEROVER:"MSPointerOver",MSPOINTERUP:"MSPointerUp",TEXT:"text",TEXTINPUT:goog.userAgent.IE?"textinput":"textInput",COMPOSITIONSTART:"compositionstart",COMPOSITIONUPDATE:"compositionupdate",COMPOSITIONEND:"compositionend",BEFOREINPUT:"beforeinput",EXIT:"exit",LOADABORT:"loadabort",LOADCOMMIT:"loadcommit",LOADREDIRECT:"loadredirect",
LOADSTART:"loadstart",LOADSTOP:"loadstop",RESPONSIVE:"responsive",SIZECHANGED:"sizechanged",UNRESPONSIVE:"unresponsive",VISIBILITYCHANGE:"visibilitychange",STORAGE:"storage",DOMSUBTREEMODIFIED:"DOMSubtreeModified",DOMNODEINSERTED:"DOMNodeInserted",DOMNODEREMOVED:"DOMNodeRemoved",DOMNODEREMOVEDFROMDOCUMENT:"DOMNodeRemovedFromDocument",DOMNODEINSERTEDINTODOCUMENT:"DOMNodeInsertedIntoDocument",DOMATTRMODIFIED:"DOMAttrModified",DOMCHARACTERDATAMODIFIED:"DOMCharacterDataModified",BEFOREPRINT:"beforeprint",
AFTERPRINT:"afterprint"};goog.events.BrowserEvent=function(a,b){goog.events.Event.call(this,a?a.type:"");this.relatedTarget=this.currentTarget=this.target=null;this.button=this.screenY=this.screenX=this.clientY=this.clientX=this.offsetY=this.offsetX=0;this.key="";this.charCode=this.keyCode=0;this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.state=null;this.platformModifierKey=!1;this.event_=null;a&&this.init(a,b)};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.init=function(a,b){var c=this.type=a.type,d=a.changedTouches?a.changedTouches[0]:null;this.target=a.target||a.srcElement;this.currentTarget=b;var e=a.relatedTarget;e?goog.userAgent.GECKO&&(goog.reflect.canAccessProperty(e,"nodeName")||(e=null)):c==goog.events.EventType.MOUSEOVER?e=a.fromElement:c==goog.events.EventType.MOUSEOUT&&(e=a.toElement);this.relatedTarget=e;goog.isNull(d)?(this.offsetX=goog.userAgent.WEBKIT||void 0!==a.offsetX?a.offsetX:a.layerX,this.offsetY=
goog.userAgent.WEBKIT||void 0!==a.offsetY?a.offsetY:a.layerY,this.clientX=void 0!==a.clientX?a.clientX:a.pageX,this.clientY=void 0!==a.clientY?a.clientY:a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0):(this.clientX=void 0!==d.clientX?d.clientX:d.pageX,this.clientY=void 0!==d.clientY?d.clientY:d.pageY,this.screenX=d.screenX||0,this.screenY=d.screenY||0);this.button=a.button;this.keyCode=a.keyCode||0;this.key=a.key||"";this.charCode=a.charCode||("keypress"==c?a.keyCode:0);this.ctrlKey=
a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.platformModifierKey=goog.userAgent.MAC?a.metaKey:a.ctrlKey;this.state=a.state;this.event_=a;a.defaultPrevented&&this.preventDefault()};goog.events.BrowserEvent.prototype.isButton=function(a){return goog.events.BrowserFeature.HAS_W3C_BUTTON?this.event_.button==a:"click"==this.type?a==goog.events.BrowserEvent.MouseButton.LEFT:!!(this.event_.button&goog.events.BrowserEvent.IEButtonMap[a])};
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);this.event_.stopPropagation?this.event_.stopPropagation():this.event_.cancelBubble=!0};
goog.events.BrowserEvent.prototype.preventDefault=function(){goog.events.BrowserEvent.superClass_.preventDefault.call(this);var a=this.event_;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,goog.events.BrowserFeature.SET_KEY_CODE_TO_PREVENT_DEFAULT)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};goog.events.BrowserEvent.prototype.getBrowserEvent=function(){return this.event_};goog.events.Listenable=function(){};goog.events.Listenable.IMPLEMENTED_BY_PROP="closure_listenable_"+(1E6*Math.random()|0);goog.events.Listenable.addImplementation=function(a){a.prototype[goog.events.Listenable.IMPLEMENTED_BY_PROP]=!0};goog.events.Listenable.isImplementedBy=function(a){return!(!a||!a[goog.events.Listenable.IMPLEMENTED_BY_PROP])};goog.events.ListenableKey=function(){};goog.events.ListenableKey.counter_=0;goog.events.ListenableKey.reserveKey=function(){return++goog.events.ListenableKey.counter_};goog.events.Listener=function(a,b,c,d,e,f){goog.events.Listener.ENABLE_MONITORING&&(this.creationStack=Error().stack);this.listener=a;this.proxy=b;this.src=c;this.type=d;this.capture=!!e;this.handler=f;this.key=goog.events.ListenableKey.reserveKey();this.removed=this.callOnce=!1};goog.events.Listener.ENABLE_MONITORING=!1;goog.events.Listener.prototype.markAsRemoved=function(){this.removed=!0;this.handler=this.src=this.proxy=this.listener=null};goog.events.ListenerMap=function(a){this.src=a;this.listeners={};this.typeCount_=0};goog.events.ListenerMap.prototype.getTypeCount=function(){return this.typeCount_};goog.events.ListenerMap.prototype.getListenerCount=function(){var a=0,b;for(b in this.listeners)a+=this.listeners[b].length;return a};
goog.events.ListenerMap.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.listeners[f];a||(a=this.listeners[f]=[],this.typeCount_++);var g=goog.events.ListenerMap.findListenerIndex_(a,b,d,e);-1<g?(b=a[g],c||(b.callOnce=!1)):(b=new goog.events.Listener(b,null,this.src,f,!!d,e),b.callOnce=c,a.push(b));return b};
goog.events.ListenerMap.prototype.remove=function(a,b,c,d){a=a.toString();if(!(a in this.listeners))return!1;var e=this.listeners[a];b=goog.events.ListenerMap.findListenerIndex_(e,b,c,d);return-1<b?(e[b].markAsRemoved(),goog.array.removeAt(e,b),0==e.length&&(delete this.listeners[a],this.typeCount_--),!0):!1};
goog.events.ListenerMap.prototype.removeByKey=function(a){var b=a.type;if(!(b in this.listeners))return!1;var c=goog.array.remove(this.listeners[b],a);c&&(a.markAsRemoved(),0==this.listeners[b].length&&(delete this.listeners[b],this.typeCount_--));return c};goog.events.ListenerMap.prototype.removeAll=function(a){a=a&&a.toString();var b=0,c;for(c in this.listeners)if(!a||c==a){for(var d=this.listeners[c],e=0;e<d.length;e++)++b,d[e].markAsRemoved();delete this.listeners[c];this.typeCount_--}return b};
goog.events.ListenerMap.prototype.getListeners=function(a,b){var c=this.listeners[a.toString()],d=[];if(c)for(var e=0;e<c.length;++e){var f=c[e];f.capture==b&&d.push(f)}return d};goog.events.ListenerMap.prototype.getListener=function(a,b,c,d){a=this.listeners[a.toString()];var e=-1;a&&(e=goog.events.ListenerMap.findListenerIndex_(a,b,c,d));return-1<e?a[e]:null};
goog.events.ListenerMap.prototype.hasListener=function(a,b){var c=goog.isDef(a),d=c?a.toString():"",e=goog.isDef(b);return goog.object.some(this.listeners,function(a,g){for(var f=0;f<a.length;++f)if(!(c&&a[f].type!=d||e&&a[f].capture!=b))return!0;return!1})};goog.events.ListenerMap.findListenerIndex_=function(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e];if(!f.removed&&f.listener==b&&f.capture==!!c&&f.handler==d)return e}return-1};goog.events.LISTENER_MAP_PROP_="closure_lm_"+(1E6*Math.random()|0);goog.events.onString_="on";goog.events.onStringMap_={};goog.events.CaptureSimulationMode={OFF_AND_FAIL:0,OFF_AND_SILENT:1,ON:2};goog.events.CAPTURE_SIMULATION_MODE=2;goog.events.listenerCountEstimate_=0;
goog.events.listen=function(a,b,c,d,e){if(goog.isArray(b)){for(var f=0;f<b.length;f++)goog.events.listen(a,b[f],c,d,e);return null}c=goog.events.wrapListener(c);return goog.events.Listenable.isImplementedBy(a)?a.listen(b,c,d,e):goog.events.listen_(a,b,c,!1,d,e)};
goog.events.listen_=function(a,b,c,d,e,f){if(!b)throw Error("Invalid event type");var g=!!e;if(g&&!goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT){if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.OFF_AND_FAIL)return goog.asserts.fail("Can not register capture listener in IE8-."),null;if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.OFF_AND_SILENT)return null}var h=goog.events.getListenerMap_(a);h||(a[goog.events.LISTENER_MAP_PROP_]=h=new goog.events.ListenerMap(a));
c=h.add(b,c,d,e,f);if(c.proxy)return c;d=goog.events.getProxy();c.proxy=d;d.src=a;d.listener=c;if(a.addEventListener)a.addEventListener(b.toString(),d,g);else if(a.attachEvent)a.attachEvent(goog.events.getOnString_(b.toString()),d);else throw Error("addEventListener and attachEvent are unavailable.");goog.events.listenerCountEstimate_++;return c};
goog.events.getProxy=function(){var a=goog.events.handleBrowserEvent_,b=goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT?function(c){return a.call(b.src,b.listener,c)}:function(c){c=a.call(b.src,b.listener,c);if(!c)return c};return b};
goog.events.listenOnce=function(a,b,c,d,e){if(goog.isArray(b)){for(var f=0;f<b.length;f++)goog.events.listenOnce(a,b[f],c,d,e);return null}c=goog.events.wrapListener(c);return goog.events.Listenable.isImplementedBy(a)?a.listenOnce(b,c,d,e):goog.events.listen_(a,b,c,!0,d,e)};goog.events.listenWithWrapper=function(a,b,c,d,e){b.listen(a,c,d,e)};
goog.events.unlisten=function(a,b,c,d,e){if(goog.isArray(b)){for(var f=0;f<b.length;f++)goog.events.unlisten(a,b[f],c,d,e);return null}c=goog.events.wrapListener(c);if(goog.events.Listenable.isImplementedBy(a))return a.unlisten(b,c,d,e);if(!a)return!1;d=!!d;if(a=goog.events.getListenerMap_(a))if(b=a.getListener(b,c,d,e))return goog.events.unlistenByKey(b);return!1};
goog.events.unlistenByKey=function(a){if(goog.isNumber(a)||!a||a.removed)return!1;var b=a.src;if(goog.events.Listenable.isImplementedBy(b))return b.unlistenByKey(a);var c=a.type,d=a.proxy;b.removeEventListener?b.removeEventListener(c,d,a.capture):b.detachEvent&&b.detachEvent(goog.events.getOnString_(c),d);goog.events.listenerCountEstimate_--;(c=goog.events.getListenerMap_(b))?(c.removeByKey(a),0==c.getTypeCount()&&(c.src=null,b[goog.events.LISTENER_MAP_PROP_]=null)):a.markAsRemoved();return!0};
goog.events.unlistenWithWrapper=function(a,b,c,d,e){b.unlisten(a,c,d,e)};goog.events.removeAll=function(a,b){if(!a)return 0;if(goog.events.Listenable.isImplementedBy(a))return a.removeAllListeners(b);var c=goog.events.getListenerMap_(a);if(!c)return 0;var d=0,e=b&&b.toString(),f;for(f in c.listeners)if(!e||f==e)for(var g=c.listeners[f].concat(),h=0;h<g.length;++h)goog.events.unlistenByKey(g[h])&&++d;return d};
goog.events.getListeners=function(a,b,c){return goog.events.Listenable.isImplementedBy(a)?a.getListeners(b,c):a?(a=goog.events.getListenerMap_(a))?a.getListeners(b,c):[]:[]};goog.events.getListener=function(a,b,c,d,e){c=goog.events.wrapListener(c);d=!!d;return goog.events.Listenable.isImplementedBy(a)?a.getListener(b,c,d,e):a?(a=goog.events.getListenerMap_(a))?a.getListener(b,c,d,e):null:null};
goog.events.hasListener=function(a,b,c){if(goog.events.Listenable.isImplementedBy(a))return a.hasListener(b,c);a=goog.events.getListenerMap_(a);return!!a&&a.hasListener(b,c)};goog.events.expose=function(a){var b=[],c;for(c in a)a[c]&&a[c].id?b.push(c+" \x3d "+a[c]+" ("+a[c].id+")"):b.push(c+" \x3d "+a[c]);return b.join("\n")};goog.events.getOnString_=function(a){return a in goog.events.onStringMap_?goog.events.onStringMap_[a]:goog.events.onStringMap_[a]=goog.events.onString_+a};
goog.events.fireListeners=function(a,b,c,d){return goog.events.Listenable.isImplementedBy(a)?a.fireListeners(b,c,d):goog.events.fireListeners_(a,b,c,d)};goog.events.fireListeners_=function(a,b,c,d){var e=!0;if(a=goog.events.getListenerMap_(a))if(b=a.listeners[b.toString()])for(b=b.concat(),a=0;a<b.length;a++){var f=b[a];f&&f.capture==c&&!f.removed&&(f=goog.events.fireListener(f,d),e=e&&!1!==f)}return e};
goog.events.fireListener=function(a,b){var c=a.listener,d=a.handler||a.src;a.callOnce&&goog.events.unlistenByKey(a);return c.call(d,b)};goog.events.getTotalListenerCount=function(){return goog.events.listenerCountEstimate_};goog.events.dispatchEvent=function(a,b){goog.asserts.assert(goog.events.Listenable.isImplementedBy(a),"Can not use goog.events.dispatchEvent with non-goog.events.Listenable instance.");return a.dispatchEvent(b)};
goog.events.protectBrowserEventEntryPoint=function(a){goog.events.handleBrowserEvent_=a.protectEntryPoint(goog.events.handleBrowserEvent_)};
goog.events.handleBrowserEvent_=function(a,b){var c;if(a.removed)return!0;if(!goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT){var d=b||goog.getObjectByName("window.event"),e=new goog.events.BrowserEvent(d,this),f=!0;if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.ON){if(!goog.events.isMarkedIeEvent_(d)){goog.events.markIeEvent_(d);d=[];for(c=e.currentTarget;c;c=c.parentNode)d.push(c);for(var g=a.type,h=d.length-1;!e.propagationStopped_&&0<=h;h--)e.currentTarget=d[h],c=
goog.events.fireListeners_(d[h],g,!0,e),f=f&&c;for(h=0;!e.propagationStopped_&&h<d.length;h++)e.currentTarget=d[h],c=goog.events.fireListeners_(d[h],g,!1,e),f=f&&c}}else f=goog.events.fireListener(a,e);return f}return goog.events.fireListener(a,new goog.events.BrowserEvent(b,this))};goog.events.markIeEvent_=function(a){var b=!1;if(0==a.keyCode)try{a.keyCode=-1;return}catch(c){b=!0}if(b||void 0==a.returnValue)a.returnValue=!0};goog.events.isMarkedIeEvent_=function(a){return 0>a.keyCode||void 0!=a.returnValue};
goog.events.uniqueIdCounter_=0;goog.events.getUniqueId=function(a){return a+"_"+goog.events.uniqueIdCounter_++};goog.events.getListenerMap_=function(a){a=a[goog.events.LISTENER_MAP_PROP_];return a instanceof goog.events.ListenerMap?a:null};goog.events.LISTENER_WRAPPER_PROP_="__closure_events_fn_"+(1E9*Math.random()>>>0);
goog.events.wrapListener=function(a){goog.asserts.assert(a,"Listener can not be null.");if(goog.isFunction(a))return a;goog.asserts.assert(a.handleEvent,"An object listener must have handleEvent method.");a[goog.events.LISTENER_WRAPPER_PROP_]||(a[goog.events.LISTENER_WRAPPER_PROP_]=function(b){return a.handleEvent(b)});return a[goog.events.LISTENER_WRAPPER_PROP_]};goog.debug.entryPointRegistry.register(function(a){goog.events.handleBrowserEvent_=a(goog.events.handleBrowserEvent_)});goog.events.EventTarget=function(){goog.Disposable.call(this);this.eventTargetListeners_=new goog.events.ListenerMap(this);this.actualEventTarget_=this;this.parentEventTarget_=null};goog.inherits(goog.events.EventTarget,goog.Disposable);goog.events.Listenable.addImplementation(goog.events.EventTarget);goog.events.EventTarget.MAX_ANCESTORS_=1E3;goog.events.EventTarget.prototype.getParentEventTarget=function(){return this.parentEventTarget_};
goog.events.EventTarget.prototype.setParentEventTarget=function(a){this.parentEventTarget_=a};goog.events.EventTarget.prototype.addEventListener=function(a,b,c,d){goog.events.listen(this,a,b,c,d)};goog.events.EventTarget.prototype.removeEventListener=function(a,b,c,d){goog.events.unlisten(this,a,b,c,d)};
goog.events.EventTarget.prototype.dispatchEvent=function(a){this.assertInitialized_();var b=this.getParentEventTarget();if(b){var c=[];for(var d=1;b;b=b.getParentEventTarget())c.push(b),goog.asserts.assert(++d<goog.events.EventTarget.MAX_ANCESTORS_,"infinite loop")}return goog.events.EventTarget.dispatchEventInternal_(this.actualEventTarget_,a,c)};
goog.events.EventTarget.prototype.disposeInternal=function(){goog.events.EventTarget.superClass_.disposeInternal.call(this);this.removeAllListeners();this.parentEventTarget_=null};goog.events.EventTarget.prototype.listen=function(a,b,c,d){this.assertInitialized_();return this.eventTargetListeners_.add(String(a),b,!1,c,d)};goog.events.EventTarget.prototype.listenOnce=function(a,b,c,d){return this.eventTargetListeners_.add(String(a),b,!0,c,d)};
goog.events.EventTarget.prototype.unlisten=function(a,b,c,d){return this.eventTargetListeners_.remove(String(a),b,c,d)};goog.events.EventTarget.prototype.unlistenByKey=function(a){return this.eventTargetListeners_.removeByKey(a)};goog.events.EventTarget.prototype.removeAllListeners=function(a){return this.eventTargetListeners_?this.eventTargetListeners_.removeAll(a):0};
goog.events.EventTarget.prototype.fireListeners=function(a,b,c){a=this.eventTargetListeners_.listeners[String(a)];if(!a)return!0;a=a.concat();for(var d=!0,e=0;e<a.length;++e){var f=a[e];if(f&&!f.removed&&f.capture==b){var g=f.listener,h=f.handler||f.src;f.callOnce&&this.unlistenByKey(f);d=!1!==g.call(h,c)&&d}}return d&&0!=c.returnValue_};goog.events.EventTarget.prototype.getListeners=function(a,b){return this.eventTargetListeners_.getListeners(String(a),b)};
goog.events.EventTarget.prototype.getListener=function(a,b,c,d){return this.eventTargetListeners_.getListener(String(a),b,c,d)};goog.events.EventTarget.prototype.hasListener=function(a,b){var c=goog.isDef(a)?String(a):void 0;return this.eventTargetListeners_.hasListener(c,b)};goog.events.EventTarget.prototype.setTargetForTesting=function(a){this.actualEventTarget_=a};goog.events.EventTarget.prototype.assertInitialized_=function(){goog.asserts.assert(this.eventTargetListeners_,"Event target is not initialized. Did you call the superclass (goog.events.EventTarget) constructor?")};
goog.events.EventTarget.dispatchEventInternal_=function(a,b,c){var d=b.type||b;if(goog.isString(b))b=new goog.events.Event(b,a);else if(b instanceof goog.events.Event)b.target=b.target||a;else{var e=b;b=new goog.events.Event(d,a);goog.object.extend(b,e)}var e=!0;if(c)for(var f=c.length-1;!b.propagationStopped_&&0<=f;f--){var g=b.currentTarget=c[f];e=g.fireListeners(d,!0,b)&&e}b.propagationStopped_||(g=b.currentTarget=a,e=g.fireListeners(d,!0,b)&&e,b.propagationStopped_||(e=g.fireListeners(d,!1,b)&&
e));if(c)for(f=0;!b.propagationStopped_&&f<c.length;f++)g=b.currentTarget=c[f],e=g.fireListeners(d,!1,b)&&e;return e};goog.Timer=function(a,b){goog.events.EventTarget.call(this);this.interval_=a||1;this.timerObject_=b||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.INVALID_TIMEOUT_ID_=-1;goog.Timer.prototype.enabled=!1;goog.Timer.defaultTimerObject=goog.global;goog.Timer.intervalScale=.8;goog.Timer.prototype.timer_=null;goog.Timer.prototype.getInterval=function(){return this.interval_};
goog.Timer.prototype.setInterval=function(a){this.interval_=a;this.timer_&&this.enabled?(this.stop(),this.start()):this.timer_&&this.stop()};
goog.Timer.prototype.tick_=function(){if(this.enabled){var a=goog.now()-this.last_;0<a&&a<this.interval_*goog.Timer.intervalScale?this.timer_=this.timerObject_.setTimeout(this.boundTick_,this.interval_-a):(this.timer_&&(this.timerObject_.clearTimeout(this.timer_),this.timer_=null),this.dispatchTick(),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=!0;this.timer_||(this.timer_=this.timerObject_.setTimeout(this.boundTick_,this.interval_),this.last_=goog.now())};goog.Timer.prototype.stop=function(){this.enabled=!1;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(a,b,c){if(goog.isFunction(a))c&&(a=goog.bind(a,c));else if(a&&"function"==typeof a.handleEvent)a=goog.bind(a.handleEvent,a);else throw Error("Invalid listener argument");return Number(b)>goog.Timer.MAX_TIMEOUT_?goog.Timer.INVALID_TIMEOUT_ID_:goog.Timer.defaultTimerObject.setTimeout(a,b||0)};goog.Timer.clear=function(a){goog.Timer.defaultTimerObject.clearTimeout(a)};
goog.Timer.promise=function(a,b){var c=null;return(new goog.Promise(function(d,e){c=goog.Timer.callOnce(function(){d(b)},a);c==goog.Timer.INVALID_TIMEOUT_ID_&&e(Error("Failed to schedule timer."))})).thenCatch(function(a){goog.Timer.clear(c);throw a;})};goog.json={};goog.json.USE_NATIVE_JSON=!1;goog.json.TRY_NATIVE_JSON=!1;goog.json.isValid=function(a){return/^\s*$/.test(a)?!1:/^[\],:{}\s\u2028\u2029]*$/.test(a.replace(/\\["\\\/bfnrtu]/g,"@").replace(/(?:"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)[\s\u2028\u2029]*(?=:|,|]|}|$)/g,"]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g,""))};goog.json.errorLogger_=goog.nullFunction;goog.json.setErrorLogger=function(a){goog.json.errorLogger_=a};
goog.json.parse=goog.json.USE_NATIVE_JSON?goog.global.JSON.parse:function(a){if(goog.json.TRY_NATIVE_JSON)try{return goog.global.JSON.parse(a)}catch(d){var b=d}a=String(a);if(goog.json.isValid(a))try{var c=eval("("+a+")");b&&goog.json.errorLogger_("Invalid JSON: "+a,b);return c}catch(d){}throw Error("Invalid JSON string: "+a);};
goog.json.unsafeParse=goog.json.USE_NATIVE_JSON?goog.global.JSON.parse:function(a){if(goog.json.TRY_NATIVE_JSON)try{return goog.global.JSON.parse(a)}catch(d){var b=d}var c=eval("("+a+")");b&&goog.json.errorLogger_("Invalid JSON: "+a,b);return c};goog.json.serialize=goog.json.USE_NATIVE_JSON?goog.global.JSON.stringify:function(a,b){return(new goog.json.Serializer(b)).serialize(a)};goog.json.Serializer=function(a){this.replacer_=a};
goog.json.Serializer.prototype.serialize=function(a){var b=[];this.serializeInternal(a,b);return b.join("")};
goog.json.Serializer.prototype.serializeInternal=function(a,b){if(null==a)b.push("null");else{if("object"==typeof a){if(goog.isArray(a)){this.serializeArray(a,b);return}if(a instanceof String||a instanceof Number||a instanceof Boolean)a=a.valueOf();else{this.serializeObject_(a,b);return}}switch(typeof a){case "string":this.serializeString_(a,b);break;case "number":this.serializeNumber_(a,b);break;case "boolean":b.push(String(a));break;case "function":b.push("null");break;default:throw Error("Unknown type: "+
typeof a);}}};goog.json.Serializer.charToJsonCharCache_={'"':'\\"',"\\":"\\\\","/":"\\/","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\u000b"};goog.json.Serializer.charsToReplace_=/\uffff/.test("")?/[\\\"\x00-\x1f\x7f-\uffff]/g:/[\\\"\x00-\x1f\x7f-\xff]/g;
goog.json.Serializer.prototype.serializeString_=function(a,b){b.push('"',a.replace(goog.json.Serializer.charsToReplace_,function(a){var b=goog.json.Serializer.charToJsonCharCache_[a];b||(b="\\u"+(a.charCodeAt(0)|65536).toString(16).substr(1),goog.json.Serializer.charToJsonCharCache_[a]=b);return b}),'"')};goog.json.Serializer.prototype.serializeNumber_=function(a,b){b.push(isFinite(a)&&!isNaN(a)?String(a):"null")};
goog.json.Serializer.prototype.serializeArray=function(a,b){var c=a.length;b.push("[");for(var d="",e=0;e<c;e++)b.push(d),d=a[e],this.serializeInternal(this.replacer_?this.replacer_.call(a,String(e),d):d,b),d=",";b.push("]")};
goog.json.Serializer.prototype.serializeObject_=function(a,b){b.push("{");var c="",d;for(d in a)if(Object.prototype.hasOwnProperty.call(a,d)){var e=a[d];"function"!=typeof e&&(b.push(c),this.serializeString_(d,b),b.push(":"),this.serializeInternal(this.replacer_?this.replacer_.call(a,d,e):e,b),c=",")}b.push("}")};goog.debug.LOGGING_ENABLED=goog.DEBUG;goog.debug.FORCE_SLOPPY_STACKS=!1;goog.debug.catchErrors=function(a,b,c){c=c||goog.global;var d=c.onerror,e=!!b;goog.userAgent.WEBKIT&&!goog.userAgent.isVersionOrHigher("535.3")&&(e=!e);c.onerror=function(b,c,h,k,l){d&&d(b,c,h,k,l);a({message:b,fileName:c,line:h,col:k,error:l});return e}};
goog.debug.expose=function(a,b){if("undefined"==typeof a)return"undefined";if(null==a)return"NULL";var c=[],d;for(d in a)if(b||!goog.isFunction(a[d])){var e=d+" \x3d ";try{e+=a[d]}catch(f){e+="*** "+f+" ***"}c.push(e)}return c.join("\n")};
goog.debug.deepExpose=function(a,b){var c=[],d=[],e={},f=function(a,g){var h=g+"  ";try{if(goog.isDef(a))if(goog.isNull(a))c.push("NULL");else if(goog.isString(a))c.push('"'+a.replace(/\n/g,"\n"+g)+'"');else if(goog.isFunction(a))c.push(String(a).replace(/\n/g,"\n"+g));else if(goog.isObject(a)){goog.hasUid(a)||d.push(a);var k=goog.getUid(a);if(e[k])c.push("*** reference loop detected (id\x3d"+k+") ***");else{e[k]=!0;c.push("{");for(var n in a)if(b||!goog.isFunction(a[n]))c.push("\n"),c.push(h),c.push(n+
" \x3d "),f(a[n],h);c.push("\n"+g+"}");delete e[k]}}else c.push(a);else c.push("undefined")}catch(p){c.push("*** "+p+" ***")}};f(a,"");for(var g=0;g<d.length;g++)goog.removeUid(d[g]);return c.join("")};goog.debug.exposeArray=function(a){for(var b=[],c=0;c<a.length;c++)goog.isArray(a[c])?b.push(goog.debug.exposeArray(a[c])):b.push(a[c]);return"[ "+b.join(", ")+" ]"};
goog.debug.normalizeErrorObject=function(a){var b=goog.getObjectByName("window.location.href");if(goog.isString(a))return{message:a,name:"Unknown error",lineNumber:"Not available",fileName:b,stack:"Not available"};var c=!1;try{var d=a.lineNumber||a.line||"Not available"}catch(f){d="Not available",c=!0}try{var e=a.fileName||a.filename||a.sourceURL||goog.global.$googDebugFname||b}catch(f){e="Not available",c=!0}return!c&&a.lineNumber&&a.fileName&&a.stack&&a.message&&a.name?a:{message:a.message||"Not available",
name:a.name||"UnknownError",lineNumber:d,fileName:e,stack:a.stack||"Not available"}};goog.debug.enhanceError=function(a,b){if(a instanceof Error)var c=a;else c=Error(a),Error.captureStackTrace&&Error.captureStackTrace(c,goog.debug.enhanceError);c.stack||(c.stack=goog.debug.getStacktrace(goog.debug.enhanceError));if(b){for(var d=0;c["message"+d];)++d;c["message"+d]=String(b)}return c};
goog.debug.getStacktraceSimple=function(a){if(!goog.debug.FORCE_SLOPPY_STACKS){var b=goog.debug.getNativeStackTrace_(goog.debug.getStacktraceSimple);if(b)return b}for(var b=[],c=arguments.callee.caller,d=0;c&&(!a||d<a);){b.push(goog.debug.getFunctionName(c));b.push("()\n");try{c=c.caller}catch(e){b.push("[exception trying to get caller]\n");break}d++;if(d>=goog.debug.MAX_STACK_DEPTH){b.push("[...long stack...]");break}}a&&d>=a?b.push("[...reached max depth limit...]"):b.push("[end]");return b.join("")};
goog.debug.MAX_STACK_DEPTH=50;goog.debug.getNativeStackTrace_=function(a){var b=Error();if(Error.captureStackTrace)return Error.captureStackTrace(b,a),String(b.stack);try{throw b;}catch(c){b=c}return(a=b.stack)?String(a):null};goog.debug.getStacktrace=function(a){var b;goog.debug.FORCE_SLOPPY_STACKS||(b=goog.debug.getNativeStackTrace_(a||goog.debug.getStacktrace));b||(b=goog.debug.getStacktraceHelper_(a||arguments.callee.caller,[]));return b};
goog.debug.getStacktraceHelper_=function(a,b){var c=[];if(goog.array.contains(b,a))c.push("[...circular reference...]");else if(a&&b.length<goog.debug.MAX_STACK_DEPTH){c.push(goog.debug.getFunctionName(a)+"(");for(var d=a.arguments,e=0;d&&e<d.length;e++){0<e&&c.push(", ");var f=d[e];switch(typeof f){case "object":f=f?"object":"null";break;case "string":break;case "number":f=String(f);break;case "boolean":f=f?"true":"false";break;case "function":f=(f=goog.debug.getFunctionName(f))?f:"[fn]";break;default:f=
typeof f}40<f.length&&(f=f.substr(0,40)+"...");c.push(f)}b.push(a);c.push(")\n");try{c.push(goog.debug.getStacktraceHelper_(a.caller,b))}catch(g){c.push("[exception trying to get caller]\n")}}else a?c.push("[...long stack...]"):c.push("[end]");return c.join("")};goog.debug.setFunctionResolver=function(a){goog.debug.fnNameResolver_=a};
goog.debug.getFunctionName=function(a){if(goog.debug.fnNameCache_[a])return goog.debug.fnNameCache_[a];if(goog.debug.fnNameResolver_){var b=goog.debug.fnNameResolver_(a);if(b)return goog.debug.fnNameCache_[a]=b}a=String(a);goog.debug.fnNameCache_[a]||(b=/function ([^\(]+)/.exec(a),goog.debug.fnNameCache_[a]=b?b[1]:"[Anonymous]");return goog.debug.fnNameCache_[a]};
goog.debug.makeWhitespaceVisible=function(a){return a.replace(/ /g,"[_]").replace(/\f/g,"[f]").replace(/\n/g,"[n]\n").replace(/\r/g,"[r]").replace(/\t/g,"[t]")};goog.debug.runtimeType=function(a){return a instanceof Function?a.displayName||a.name||"unknown type name":a instanceof Object?a.constructor.displayName||a.constructor.name||Object.prototype.toString.call(a):null===a?"null":typeof a};goog.debug.fnNameCache_={};goog.debug.LogRecord=function(a,b,c,d,e){this.reset(a,b,c,d,e)};goog.debug.LogRecord.prototype.sequenceNumber_=0;goog.debug.LogRecord.prototype.exception_=null;goog.debug.LogRecord.ENABLE_SEQUENCE_NUMBERS=!0;goog.debug.LogRecord.nextSequenceNumber_=0;
goog.debug.LogRecord.prototype.reset=function(a,b,c,d,e){goog.debug.LogRecord.ENABLE_SEQUENCE_NUMBERS&&(this.sequenceNumber_="number"==typeof e?e:goog.debug.LogRecord.nextSequenceNumber_++);this.time_=d||goog.now();this.level_=a;this.msg_=b;this.loggerName_=c;delete this.exception_};goog.debug.LogRecord.prototype.getLoggerName=function(){return this.loggerName_};goog.debug.LogRecord.prototype.getException=function(){return this.exception_};
goog.debug.LogRecord.prototype.setException=function(a){this.exception_=a};goog.debug.LogRecord.prototype.setLoggerName=function(a){this.loggerName_=a};goog.debug.LogRecord.prototype.getLevel=function(){return this.level_};goog.debug.LogRecord.prototype.setLevel=function(a){this.level_=a};goog.debug.LogRecord.prototype.getMessage=function(){return this.msg_};goog.debug.LogRecord.prototype.setMessage=function(a){this.msg_=a};goog.debug.LogRecord.prototype.getMillis=function(){return this.time_};
goog.debug.LogRecord.prototype.setMillis=function(a){this.time_=a};goog.debug.LogRecord.prototype.getSequenceNumber=function(){return this.sequenceNumber_};goog.debug.LogBuffer=function(){goog.asserts.assert(goog.debug.LogBuffer.isBufferingEnabled(),"Cannot use goog.debug.LogBuffer without defining goog.debug.LogBuffer.CAPACITY.");this.clear()};goog.debug.LogBuffer.getInstance=function(){goog.debug.LogBuffer.instance_||(goog.debug.LogBuffer.instance_=new goog.debug.LogBuffer);return goog.debug.LogBuffer.instance_};goog.debug.LogBuffer.CAPACITY=0;
goog.debug.LogBuffer.prototype.addRecord=function(a,b,c){var d=(this.curIndex_+1)%goog.debug.LogBuffer.CAPACITY;this.curIndex_=d;if(this.isFull_)return d=this.buffer_[d],d.reset(a,b,c),d;this.isFull_=d==goog.debug.LogBuffer.CAPACITY-1;return this.buffer_[d]=new goog.debug.LogRecord(a,b,c)};goog.debug.LogBuffer.isBufferingEnabled=function(){return 0<goog.debug.LogBuffer.CAPACITY};
goog.debug.LogBuffer.prototype.clear=function(){this.buffer_=Array(goog.debug.LogBuffer.CAPACITY);this.curIndex_=-1;this.isFull_=!1};goog.debug.LogBuffer.prototype.forEachRecord=function(a){var b=this.buffer_;if(b[0]){var c=this.curIndex_,d=this.isFull_?c:-1;do d=(d+1)%goog.debug.LogBuffer.CAPACITY,a(b[d]);while(d!=c)}};goog.debug.Logger=function(a){this.name_=a;this.handlers_=this.children_=this.level_=this.parent_=null};goog.debug.Logger.ROOT_LOGGER_NAME="";goog.debug.Logger.ENABLE_HIERARCHY=!0;goog.debug.Logger.ENABLE_HIERARCHY||(goog.debug.Logger.rootHandlers_=[]);goog.debug.Logger.Level=function(a,b){this.name=a;this.value=b};goog.debug.Logger.Level.prototype.toString=function(){return this.name};goog.debug.Logger.Level.OFF=new goog.debug.Logger.Level("OFF",Infinity);
goog.debug.Logger.Level.SHOUT=new goog.debug.Logger.Level("SHOUT",1200);goog.debug.Logger.Level.SEVERE=new goog.debug.Logger.Level("SEVERE",1E3);goog.debug.Logger.Level.WARNING=new goog.debug.Logger.Level("WARNING",900);goog.debug.Logger.Level.INFO=new goog.debug.Logger.Level("INFO",800);goog.debug.Logger.Level.CONFIG=new goog.debug.Logger.Level("CONFIG",700);goog.debug.Logger.Level.FINE=new goog.debug.Logger.Level("FINE",500);goog.debug.Logger.Level.FINER=new goog.debug.Logger.Level("FINER",400);
goog.debug.Logger.Level.FINEST=new goog.debug.Logger.Level("FINEST",300);goog.debug.Logger.Level.ALL=new goog.debug.Logger.Level("ALL",0);goog.debug.Logger.Level.PREDEFINED_LEVELS=[goog.debug.Logger.Level.OFF,goog.debug.Logger.Level.SHOUT,goog.debug.Logger.Level.SEVERE,goog.debug.Logger.Level.WARNING,goog.debug.Logger.Level.INFO,goog.debug.Logger.Level.CONFIG,goog.debug.Logger.Level.FINE,goog.debug.Logger.Level.FINER,goog.debug.Logger.Level.FINEST,goog.debug.Logger.Level.ALL];
goog.debug.Logger.Level.predefinedLevelsCache_=null;goog.debug.Logger.Level.createPredefinedLevelsCache_=function(){goog.debug.Logger.Level.predefinedLevelsCache_={};for(var a=0,b;b=goog.debug.Logger.Level.PREDEFINED_LEVELS[a];a++)goog.debug.Logger.Level.predefinedLevelsCache_[b.value]=b,goog.debug.Logger.Level.predefinedLevelsCache_[b.name]=b};
goog.debug.Logger.Level.getPredefinedLevel=function(a){goog.debug.Logger.Level.predefinedLevelsCache_||goog.debug.Logger.Level.createPredefinedLevelsCache_();return goog.debug.Logger.Level.predefinedLevelsCache_[a]||null};
goog.debug.Logger.Level.getPredefinedLevelByValue=function(a){goog.debug.Logger.Level.predefinedLevelsCache_||goog.debug.Logger.Level.createPredefinedLevelsCache_();if(a in goog.debug.Logger.Level.predefinedLevelsCache_)return goog.debug.Logger.Level.predefinedLevelsCache_[a];for(var b=0;b<goog.debug.Logger.Level.PREDEFINED_LEVELS.length;++b){var c=goog.debug.Logger.Level.PREDEFINED_LEVELS[b];if(c.value<=a)return c}return null};goog.debug.Logger.getLogger=function(a){return goog.debug.LogManager.getLogger(a)};
goog.debug.Logger.logToProfilers=function(a){goog.global.console&&(goog.global.console.timeStamp?goog.global.console.timeStamp(a):goog.global.console.markTimeline&&goog.global.console.markTimeline(a));goog.global.msWriteProfilerMark&&goog.global.msWriteProfilerMark(a)};goog.debug.Logger.prototype.getName=function(){return this.name_};
goog.debug.Logger.prototype.addHandler=function(a){goog.debug.LOGGING_ENABLED&&(goog.debug.Logger.ENABLE_HIERARCHY?(this.handlers_||(this.handlers_=[]),this.handlers_.push(a)):(goog.asserts.assert(!this.name_,"Cannot call addHandler on a non-root logger when goog.debug.Logger.ENABLE_HIERARCHY is false."),goog.debug.Logger.rootHandlers_.push(a)))};
goog.debug.Logger.prototype.removeHandler=function(a){if(goog.debug.LOGGING_ENABLED){var b=goog.debug.Logger.ENABLE_HIERARCHY?this.handlers_:goog.debug.Logger.rootHandlers_;return!!b&&goog.array.remove(b,a)}return!1};goog.debug.Logger.prototype.getParent=function(){return this.parent_};goog.debug.Logger.prototype.getChildren=function(){this.children_||(this.children_={});return this.children_};
goog.debug.Logger.prototype.setLevel=function(a){goog.debug.LOGGING_ENABLED&&(goog.debug.Logger.ENABLE_HIERARCHY?this.level_=a:(goog.asserts.assert(!this.name_,"Cannot call setLevel() on a non-root logger when goog.debug.Logger.ENABLE_HIERARCHY is false."),goog.debug.Logger.rootLevel_=a))};goog.debug.Logger.prototype.getLevel=function(){return goog.debug.LOGGING_ENABLED?this.level_:goog.debug.Logger.Level.OFF};
goog.debug.Logger.prototype.getEffectiveLevel=function(){if(!goog.debug.LOGGING_ENABLED)return goog.debug.Logger.Level.OFF;if(!goog.debug.Logger.ENABLE_HIERARCHY)return goog.debug.Logger.rootLevel_;if(this.level_)return this.level_;if(this.parent_)return this.parent_.getEffectiveLevel();goog.asserts.fail("Root logger has no level set.");return null};goog.debug.Logger.prototype.isLoggable=function(a){return goog.debug.LOGGING_ENABLED&&a.value>=this.getEffectiveLevel().value};
goog.debug.Logger.prototype.log=function(a,b,c){goog.debug.LOGGING_ENABLED&&this.isLoggable(a)&&(goog.isFunction(b)&&(b=b()),this.doLogRecord_(this.getLogRecord(a,b,c)))};goog.debug.Logger.prototype.getLogRecord=function(a,b,c){a=goog.debug.LogBuffer.isBufferingEnabled()?goog.debug.LogBuffer.getInstance().addRecord(a,b,this.name_):new goog.debug.LogRecord(a,String(b),this.name_);c&&a.setException(c);return a};
goog.debug.Logger.prototype.shout=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.SHOUT,a,b)};goog.debug.Logger.prototype.severe=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.SEVERE,a,b)};goog.debug.Logger.prototype.warning=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.WARNING,a,b)};goog.debug.Logger.prototype.info=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.INFO,a,b)};
goog.debug.Logger.prototype.config=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.CONFIG,a,b)};goog.debug.Logger.prototype.fine=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.FINE,a,b)};goog.debug.Logger.prototype.finer=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.FINER,a,b)};goog.debug.Logger.prototype.finest=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.FINEST,a,b)};
goog.debug.Logger.prototype.logRecord=function(a){goog.debug.LOGGING_ENABLED&&this.isLoggable(a.getLevel())&&this.doLogRecord_(a)};goog.debug.Logger.prototype.doLogRecord_=function(a){goog.debug.Logger.logToProfilers("log:"+a.getMessage());if(goog.debug.Logger.ENABLE_HIERARCHY)for(var b=this;b;)b.callPublish_(a),b=b.getParent();else for(var b=0,c;c=goog.debug.Logger.rootHandlers_[b++];)c(a)};goog.debug.Logger.prototype.callPublish_=function(a){if(this.handlers_)for(var b=0,c;c=this.handlers_[b];b++)c(a)};
goog.debug.Logger.prototype.setParent_=function(a){this.parent_=a};goog.debug.Logger.prototype.addChild_=function(a,b){this.getChildren()[a]=b};goog.debug.LogManager={};goog.debug.LogManager.loggers_={};goog.debug.LogManager.rootLogger_=null;
goog.debug.LogManager.initialize=function(){goog.debug.LogManager.rootLogger_||(goog.debug.LogManager.rootLogger_=new goog.debug.Logger(goog.debug.Logger.ROOT_LOGGER_NAME),goog.debug.LogManager.loggers_[goog.debug.Logger.ROOT_LOGGER_NAME]=goog.debug.LogManager.rootLogger_,goog.debug.LogManager.rootLogger_.setLevel(goog.debug.Logger.Level.CONFIG))};goog.debug.LogManager.getLoggers=function(){return goog.debug.LogManager.loggers_};
goog.debug.LogManager.getRoot=function(){goog.debug.LogManager.initialize();return goog.debug.LogManager.rootLogger_};goog.debug.LogManager.getLogger=function(a){goog.debug.LogManager.initialize();return goog.debug.LogManager.loggers_[a]||goog.debug.LogManager.createLogger_(a)};goog.debug.LogManager.createFunctionForCatchErrors=function(a){return function(b){(a||goog.debug.LogManager.getRoot()).severe("Error: "+b.message+" ("+b.fileName+" @ Line: "+b.line+")")}};
goog.debug.LogManager.createLogger_=function(a){var b=new goog.debug.Logger(a);if(goog.debug.Logger.ENABLE_HIERARCHY){var c=a.lastIndexOf("."),d=a.substr(0,c),c=a.substr(c+1),d=goog.debug.LogManager.getLogger(d);d.addChild_(c,b);b.setParent_(d)}return goog.debug.LogManager.loggers_[a]=b};goog.log={};goog.log.ENABLED=goog.debug.LOGGING_ENABLED;goog.log.ROOT_LOGGER_NAME=goog.debug.Logger.ROOT_LOGGER_NAME;goog.log.Logger=goog.debug.Logger;goog.log.Level=goog.debug.Logger.Level;goog.log.LogRecord=goog.debug.LogRecord;goog.log.getLogger=function(a,b){if(goog.log.ENABLED){var c=goog.debug.LogManager.getLogger(a);b&&c&&c.setLevel(b);return c}return null};goog.log.addHandler=function(a,b){goog.log.ENABLED&&a&&a.addHandler(b)};
goog.log.removeHandler=function(a,b){return goog.log.ENABLED&&a?a.removeHandler(b):!1};goog.log.log=function(a,b,c,d){goog.log.ENABLED&&a&&a.log(b,c,d)};goog.log.error=function(a,b,c){goog.log.ENABLED&&a&&a.severe(b,c)};goog.log.warning=function(a,b,c){goog.log.ENABLED&&a&&a.warning(b,c)};goog.log.info=function(a,b,c){goog.log.ENABLED&&a&&a.info(b,c)};goog.log.fine=function(a,b,c){goog.log.ENABLED&&a&&a.fine(b,c)};goog.net={};goog.net.ErrorCode={NO_ERROR:0,ACCESS_DENIED:1,FILE_NOT_FOUND:2,FF_SILENT_ERROR:3,CUSTOM_ERROR:4,EXCEPTION:5,HTTP_ERROR:6,ABORT:7,TIMEOUT:8,OFFLINE:9};
goog.net.ErrorCode.getDebugMessage=function(a){switch(a){case goog.net.ErrorCode.NO_ERROR:return"No Error";case goog.net.ErrorCode.ACCESS_DENIED:return"Access denied to content document";case goog.net.ErrorCode.FILE_NOT_FOUND:return"File not found";case goog.net.ErrorCode.FF_SILENT_ERROR:return"Firefox silently errored";case goog.net.ErrorCode.CUSTOM_ERROR:return"Application custom error";case goog.net.ErrorCode.EXCEPTION:return"An exception occurred";case goog.net.ErrorCode.HTTP_ERROR:return"Http response at 400 or 500 level";
case goog.net.ErrorCode.ABORT:return"Request was aborted";case goog.net.ErrorCode.TIMEOUT:return"Request timed out";case goog.net.ErrorCode.OFFLINE:return"The resource is not available offline";default:return"Unrecognized error code"}};goog.net.EventType={COMPLETE:"complete",SUCCESS:"success",ERROR:"error",ABORT:"abort",READY:"ready",READY_STATE_CHANGE:"readystatechange",TIMEOUT:"timeout",INCREMENTAL_DATA:"incrementaldata",PROGRESS:"progress",DOWNLOAD_PROGRESS:"downloadprogress",UPLOAD_PROGRESS:"uploadprogress"};goog.net.HttpStatus={CONTINUE:100,SWITCHING_PROTOCOLS:101,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,TEMPORARY_REDIRECT:307,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,
PRECONDITION_FAILED:412,REQUEST_ENTITY_TOO_LARGE:413,REQUEST_URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,REQUEST_RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,NETWORK_AUTHENTICATION_REQUIRED:511,QUIRK_IE_NO_CONTENT:1223};
goog.net.HttpStatus.isSuccess=function(a){switch(a){case goog.net.HttpStatus.OK:case goog.net.HttpStatus.CREATED:case goog.net.HttpStatus.ACCEPTED:case goog.net.HttpStatus.NO_CONTENT:case goog.net.HttpStatus.PARTIAL_CONTENT:case goog.net.HttpStatus.NOT_MODIFIED:case goog.net.HttpStatus.QUIRK_IE_NO_CONTENT:return!0;default:return!1}};goog.net.XhrLike=function(){};goog.net.XhrLike.prototype.open=function(a,b,c,d,e){};goog.net.XhrLike.prototype.send=function(a){};goog.net.XhrLike.prototype.abort=function(){};goog.net.XhrLike.prototype.setRequestHeader=function(a,b){};goog.net.XhrLike.prototype.getResponseHeader=function(a){};goog.net.XhrLike.prototype.getAllResponseHeaders=function(){};goog.net.XmlHttpFactory=function(){};goog.net.XmlHttpFactory.prototype.cachedOptions_=null;goog.net.XmlHttpFactory.prototype.createInstance=goog.abstractMethod;goog.net.XmlHttpFactory.prototype.getOptions=function(){return this.cachedOptions_||(this.cachedOptions_=this.internalGetOptions())};goog.net.XmlHttpFactory.prototype.internalGetOptions=goog.abstractMethod;goog.net.WrapperXmlHttpFactory=function(a,b){goog.net.XmlHttpFactory.call(this);this.xhrFactory_=a;this.optionsFactory_=b};goog.inherits(goog.net.WrapperXmlHttpFactory,goog.net.XmlHttpFactory);goog.net.WrapperXmlHttpFactory.prototype.createInstance=function(){return this.xhrFactory_()};goog.net.WrapperXmlHttpFactory.prototype.getOptions=function(){return this.optionsFactory_()};goog.net.XmlHttp=function(){return goog.net.XmlHttp.factory_.createInstance()};goog.net.XmlHttp.ASSUME_NATIVE_XHR=!1;goog.net.XmlHttpDefines={};goog.net.XmlHttpDefines.ASSUME_NATIVE_XHR=!1;goog.net.XmlHttp.getOptions=function(){return goog.net.XmlHttp.factory_.getOptions()};goog.net.XmlHttp.OptionType={USE_NULL_FUNCTION:0,LOCAL_REQUEST_ERROR:1};goog.net.XmlHttp.ReadyState={UNINITIALIZED:0,LOADING:1,LOADED:2,INTERACTIVE:3,COMPLETE:4};
goog.net.XmlHttp.setFactory=function(a,b){goog.net.XmlHttp.setGlobalFactory(new goog.net.WrapperXmlHttpFactory(goog.asserts.assert(a),goog.asserts.assert(b)))};goog.net.XmlHttp.setGlobalFactory=function(a){goog.net.XmlHttp.factory_=a};goog.net.DefaultXmlHttpFactory=function(){goog.net.XmlHttpFactory.call(this)};goog.inherits(goog.net.DefaultXmlHttpFactory,goog.net.XmlHttpFactory);
goog.net.DefaultXmlHttpFactory.prototype.createInstance=function(){var a=this.getProgId_();return a?new ActiveXObject(a):new XMLHttpRequest};goog.net.DefaultXmlHttpFactory.prototype.internalGetOptions=function(){var a={};this.getProgId_()&&(a[goog.net.XmlHttp.OptionType.USE_NULL_FUNCTION]=!0,a[goog.net.XmlHttp.OptionType.LOCAL_REQUEST_ERROR]=!0);return a};
goog.net.DefaultXmlHttpFactory.prototype.getProgId_=function(){if(goog.net.XmlHttp.ASSUME_NATIVE_XHR||goog.net.XmlHttpDefines.ASSUME_NATIVE_XHR)return"";if(!this.ieProgId_&&"undefined"==typeof XMLHttpRequest&&"undefined"!=typeof ActiveXObject){for(var a=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],b=0;b<a.length;b++){var c=a[b];try{return new ActiveXObject(c),this.ieProgId_=c}catch(d){}}throw Error("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed");
}return this.ieProgId_};goog.net.XmlHttp.setGlobalFactory(new goog.net.DefaultXmlHttpFactory);goog.net.XhrIo=function(a){goog.events.EventTarget.call(this);this.headers=new goog.structs.Map;this.xmlHttpFactory_=a||null;this.active_=!1;this.xhrOptions_=this.xhr_=null;this.lastMethod_=this.lastUri_="";this.lastErrorCode_=goog.net.ErrorCode.NO_ERROR;this.lastError_="";this.inAbort_=this.inOpen_=this.inSend_=this.errorDispatched_=!1;this.timeoutInterval_=0;this.timeoutId_=null;this.responseType_=goog.net.XhrIo.ResponseType.DEFAULT;this.useXhr2Timeout_=this.progressEventsEnabled_=this.withCredentials_=
!1};goog.inherits(goog.net.XhrIo,goog.events.EventTarget);goog.net.XhrIo.ResponseType={DEFAULT:"",TEXT:"text",DOCUMENT:"document",BLOB:"blob",ARRAY_BUFFER:"arraybuffer"};goog.net.XhrIo.prototype.logger_=goog.log.getLogger("goog.net.XhrIo");goog.net.XhrIo.CONTENT_TYPE_HEADER="Content-Type";goog.net.XhrIo.CONTENT_TRANSFER_ENCODING="Content-Transfer-Encoding";goog.net.XhrIo.HTTP_SCHEME_PATTERN=/^https?$/i;goog.net.XhrIo.METHODS_WITH_FORM_DATA=["POST","PUT"];goog.net.XhrIo.FORM_CONTENT_TYPE="application/x-www-form-urlencoded;charset\x3dutf-8";
goog.net.XhrIo.XHR2_TIMEOUT_="timeout";goog.net.XhrIo.XHR2_ON_TIMEOUT_="ontimeout";goog.net.XhrIo.sendInstances_=[];goog.net.XhrIo.send=function(a,b,c,d,e,f,g){var h=new goog.net.XhrIo;goog.net.XhrIo.sendInstances_.push(h);b&&h.listen(goog.net.EventType.COMPLETE,b);h.listenOnce(goog.net.EventType.READY,h.cleanupSend_);f&&h.setTimeoutInterval(f);g&&h.setWithCredentials(g);h.send(a,c,d,e);return h};goog.net.XhrIo.cleanup=function(){for(var a=goog.net.XhrIo.sendInstances_;a.length;)a.pop().dispose()};
goog.net.XhrIo.protectEntryPoints=function(a){goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_=a.protectEntryPoint(goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_)};goog.net.XhrIo.prototype.cleanupSend_=function(){this.dispose();goog.array.remove(goog.net.XhrIo.sendInstances_,this)};goog.net.XhrIo.prototype.getTimeoutInterval=function(){return this.timeoutInterval_};goog.net.XhrIo.prototype.setTimeoutInterval=function(a){this.timeoutInterval_=Math.max(0,a)};
goog.net.XhrIo.prototype.setResponseType=function(a){this.responseType_=a};goog.net.XhrIo.prototype.getResponseType=function(){return this.responseType_};goog.net.XhrIo.prototype.setWithCredentials=function(a){this.withCredentials_=a};goog.net.XhrIo.prototype.getWithCredentials=function(){return this.withCredentials_};goog.net.XhrIo.prototype.setProgressEventsEnabled=function(a){this.progressEventsEnabled_=a};goog.net.XhrIo.prototype.getProgressEventsEnabled=function(){return this.progressEventsEnabled_};
goog.net.XhrIo.prototype.send=function(a,b,c,d){if(this.xhr_)throw Error("[goog.net.XhrIo] Object is active with another request\x3d"+this.lastUri_+"; newUri\x3d"+a);b=b?b.toUpperCase():"GET";this.lastUri_=a;this.lastError_="";this.lastErrorCode_=goog.net.ErrorCode.NO_ERROR;this.lastMethod_=b;this.errorDispatched_=!1;this.active_=!0;this.xhr_=this.createXhr();this.xhrOptions_=this.xmlHttpFactory_?this.xmlHttpFactory_.getOptions():goog.net.XmlHttp.getOptions();this.xhr_.onreadystatechange=goog.bind(this.onReadyStateChange_,
this);this.getProgressEventsEnabled()&&"onprogress"in this.xhr_&&(this.xhr_.onprogress=goog.bind(function(a){this.onProgressHandler_(a,!0)},this),this.xhr_.upload&&(this.xhr_.upload.onprogress=goog.bind(this.onProgressHandler_,this)));try{goog.log.fine(this.logger_,this.formatMsg_("Opening Xhr")),this.inOpen_=!0,this.xhr_.open(b,String(a),!0),this.inOpen_=!1}catch(f){goog.log.fine(this.logger_,this.formatMsg_("Error opening Xhr: "+f.message));this.error_(goog.net.ErrorCode.EXCEPTION,f);return}a=c||
"";var e=this.headers.clone();d&&goog.structs.forEach(d,function(a,b){e.set(b,a)});d=goog.array.find(e.getKeys(),goog.net.XhrIo.isContentTypeHeader_);c=goog.global.FormData&&a instanceof goog.global.FormData;!goog.array.contains(goog.net.XhrIo.METHODS_WITH_FORM_DATA,b)||d||c||e.set(goog.net.XhrIo.CONTENT_TYPE_HEADER,goog.net.XhrIo.FORM_CONTENT_TYPE);e.forEach(function(a,b){this.xhr_.setRequestHeader(b,a)},this);this.responseType_&&(this.xhr_.responseType=this.responseType_);"withCredentials"in this.xhr_&&
this.xhr_.withCredentials!==this.withCredentials_&&(this.xhr_.withCredentials=this.withCredentials_);try{this.cleanUpTimeoutTimer_(),0<this.timeoutInterval_&&(this.useXhr2Timeout_=goog.net.XhrIo.shouldUseXhr2Timeout_(this.xhr_),goog.log.fine(this.logger_,this.formatMsg_("Will abort after "+this.timeoutInterval_+"ms if incomplete, xhr2 "+this.useXhr2Timeout_)),this.useXhr2Timeout_?(this.xhr_[goog.net.XhrIo.XHR2_TIMEOUT_]=this.timeoutInterval_,this.xhr_[goog.net.XhrIo.XHR2_ON_TIMEOUT_]=goog.bind(this.timeout_,
this)):this.timeoutId_=goog.Timer.callOnce(this.timeout_,this.timeoutInterval_,this)),goog.log.fine(this.logger_,this.formatMsg_("Sending request")),this.inSend_=!0,this.xhr_.send(a),this.inSend_=!1}catch(f){goog.log.fine(this.logger_,this.formatMsg_("Send error: "+f.message)),this.error_(goog.net.ErrorCode.EXCEPTION,f)}};goog.net.XhrIo.shouldUseXhr2Timeout_=function(a){return goog.userAgent.IE&&goog.userAgent.isVersionOrHigher(9)&&goog.isNumber(a[goog.net.XhrIo.XHR2_TIMEOUT_])&&goog.isDef(a[goog.net.XhrIo.XHR2_ON_TIMEOUT_])};
goog.net.XhrIo.isContentTypeHeader_=function(a){return goog.string.caseInsensitiveEquals(goog.net.XhrIo.CONTENT_TYPE_HEADER,a)};goog.net.XhrIo.prototype.createXhr=function(){return this.xmlHttpFactory_?this.xmlHttpFactory_.createInstance():goog.net.XmlHttp()};
goog.net.XhrIo.prototype.timeout_=function(){"undefined"!=typeof goog&&this.xhr_&&(this.lastError_="Timed out after "+this.timeoutInterval_+"ms, aborting",this.lastErrorCode_=goog.net.ErrorCode.TIMEOUT,goog.log.fine(this.logger_,this.formatMsg_(this.lastError_)),this.dispatchEvent(goog.net.EventType.TIMEOUT),this.abort(goog.net.ErrorCode.TIMEOUT))};
goog.net.XhrIo.prototype.error_=function(a,b){this.active_=!1;this.xhr_&&(this.inAbort_=!0,this.xhr_.abort(),this.inAbort_=!1);this.lastError_=b;this.lastErrorCode_=a;this.dispatchErrors_();this.cleanUpXhr_()};goog.net.XhrIo.prototype.dispatchErrors_=function(){this.errorDispatched_||(this.errorDispatched_=!0,this.dispatchEvent(goog.net.EventType.COMPLETE),this.dispatchEvent(goog.net.EventType.ERROR))};
goog.net.XhrIo.prototype.abort=function(a){this.xhr_&&this.active_&&(goog.log.fine(this.logger_,this.formatMsg_("Aborting")),this.active_=!1,this.inAbort_=!0,this.xhr_.abort(),this.inAbort_=!1,this.lastErrorCode_=a||goog.net.ErrorCode.ABORT,this.dispatchEvent(goog.net.EventType.COMPLETE),this.dispatchEvent(goog.net.EventType.ABORT),this.cleanUpXhr_())};
goog.net.XhrIo.prototype.disposeInternal=function(){this.xhr_&&(this.active_&&(this.active_=!1,this.inAbort_=!0,this.xhr_.abort(),this.inAbort_=!1),this.cleanUpXhr_(!0));goog.net.XhrIo.superClass_.disposeInternal.call(this)};goog.net.XhrIo.prototype.onReadyStateChange_=function(){if(!this.isDisposed())if(this.inOpen_||this.inSend_||this.inAbort_)this.onReadyStateChangeHelper_();else this.onReadyStateChangeEntryPoint_()};goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_=function(){this.onReadyStateChangeHelper_()};
goog.net.XhrIo.prototype.onReadyStateChangeHelper_=function(){if(this.active_&&"undefined"!=typeof goog)if(this.xhrOptions_[goog.net.XmlHttp.OptionType.LOCAL_REQUEST_ERROR]&&this.getReadyState()==goog.net.XmlHttp.ReadyState.COMPLETE&&2==this.getStatus())goog.log.fine(this.logger_,this.formatMsg_("Local request error detected and ignored"));else if(this.inSend_&&this.getReadyState()==goog.net.XmlHttp.ReadyState.COMPLETE)goog.Timer.callOnce(this.onReadyStateChange_,0,this);else if(this.dispatchEvent(goog.net.EventType.READY_STATE_CHANGE),
this.isComplete()){goog.log.fine(this.logger_,this.formatMsg_("Request complete"));this.active_=!1;try{this.isSuccess()?(this.dispatchEvent(goog.net.EventType.COMPLETE),this.dispatchEvent(goog.net.EventType.SUCCESS)):(this.lastErrorCode_=goog.net.ErrorCode.HTTP_ERROR,this.lastError_=this.getStatusText()+" ["+this.getStatus()+"]",this.dispatchErrors_())}finally{this.cleanUpXhr_()}}};
goog.net.XhrIo.prototype.onProgressHandler_=function(a,b){goog.asserts.assert(a.type===goog.net.EventType.PROGRESS,"goog.net.EventType.PROGRESS is of the same type as raw XHR progress.");this.dispatchEvent(goog.net.XhrIo.buildProgressEvent_(a,goog.net.EventType.PROGRESS));this.dispatchEvent(goog.net.XhrIo.buildProgressEvent_(a,b?goog.net.EventType.DOWNLOAD_PROGRESS:goog.net.EventType.UPLOAD_PROGRESS))};
goog.net.XhrIo.buildProgressEvent_=function(a,b){return{type:b,lengthComputable:a.lengthComputable,loaded:a.loaded,total:a.total}};
goog.net.XhrIo.prototype.cleanUpXhr_=function(a){if(this.xhr_){this.cleanUpTimeoutTimer_();var b=this.xhr_,c=this.xhrOptions_[goog.net.XmlHttp.OptionType.USE_NULL_FUNCTION]?goog.nullFunction:null;this.xhrOptions_=this.xhr_=null;a||this.dispatchEvent(goog.net.EventType.READY);try{b.onreadystatechange=c}catch(d){goog.log.error(this.logger_,"Problem encountered resetting onreadystatechange: "+d.message)}}};
goog.net.XhrIo.prototype.cleanUpTimeoutTimer_=function(){this.xhr_&&this.useXhr2Timeout_&&(this.xhr_[goog.net.XhrIo.XHR2_ON_TIMEOUT_]=null);goog.isNumber(this.timeoutId_)&&(goog.Timer.clear(this.timeoutId_),this.timeoutId_=null)};goog.net.XhrIo.prototype.isActive=function(){return!!this.xhr_};goog.net.XhrIo.prototype.isComplete=function(){return this.getReadyState()==goog.net.XmlHttp.ReadyState.COMPLETE};
goog.net.XhrIo.prototype.isSuccess=function(){var a=this.getStatus();return goog.net.HttpStatus.isSuccess(a)||0===a&&!this.isLastUriEffectiveSchemeHttp_()};goog.net.XhrIo.prototype.isLastUriEffectiveSchemeHttp_=function(){var a=goog.uri.utils.getEffectiveScheme(String(this.lastUri_));return goog.net.XhrIo.HTTP_SCHEME_PATTERN.test(a)};goog.net.XhrIo.prototype.getReadyState=function(){return this.xhr_?this.xhr_.readyState:goog.net.XmlHttp.ReadyState.UNINITIALIZED};
goog.net.XhrIo.prototype.getStatus=function(){try{return this.getReadyState()>goog.net.XmlHttp.ReadyState.LOADED?this.xhr_.status:-1}catch(a){return-1}};goog.net.XhrIo.prototype.getStatusText=function(){try{return this.getReadyState()>goog.net.XmlHttp.ReadyState.LOADED?this.xhr_.statusText:""}catch(a){return goog.log.fine(this.logger_,"Can not get status: "+a.message),""}};goog.net.XhrIo.prototype.getLastUri=function(){return String(this.lastUri_)};
goog.net.XhrIo.prototype.getResponseText=function(){try{return this.xhr_?this.xhr_.responseText:""}catch(a){return goog.log.fine(this.logger_,"Can not get responseText: "+a.message),""}};goog.net.XhrIo.prototype.getResponseBody=function(){try{if(this.xhr_&&"responseBody"in this.xhr_)return this.xhr_.responseBody}catch(a){goog.log.fine(this.logger_,"Can not get responseBody: "+a.message)}return null};
goog.net.XhrIo.prototype.getResponseXml=function(){try{return this.xhr_?this.xhr_.responseXML:null}catch(a){return goog.log.fine(this.logger_,"Can not get responseXML: "+a.message),null}};goog.net.XhrIo.prototype.getResponseJson=function(a){if(this.xhr_){var b=this.xhr_.responseText;a&&0==b.indexOf(a)&&(b=b.substring(a.length));return goog.json.parse(b)}};
goog.net.XhrIo.prototype.getResponse=function(){try{if(!this.xhr_)return null;if("response"in this.xhr_)return this.xhr_.response;switch(this.responseType_){case goog.net.XhrIo.ResponseType.DEFAULT:case goog.net.XhrIo.ResponseType.TEXT:return this.xhr_.responseText;case goog.net.XhrIo.ResponseType.ARRAY_BUFFER:if("mozResponseArrayBuffer"in this.xhr_)return this.xhr_.mozResponseArrayBuffer}goog.log.error(this.logger_,"Response type "+this.responseType_+" is not supported on this browser");return null}catch(a){return goog.log.fine(this.logger_,
"Can not get response: "+a.message),null}};goog.net.XhrIo.prototype.getResponseHeader=function(a){if(this.xhr_&&this.isComplete())return a=this.xhr_.getResponseHeader(a),goog.isNull(a)?void 0:a};goog.net.XhrIo.prototype.getAllResponseHeaders=function(){return this.xhr_&&this.isComplete()?this.xhr_.getAllResponseHeaders():""};
goog.net.XhrIo.prototype.getResponseHeaders=function(){for(var a={},b=this.getAllResponseHeaders().split("\r\n"),c=0;c<b.length;c++)if(!goog.string.isEmptyOrWhitespace(b[c])){var d=goog.string.splitLimit(b[c],": ",2);a[d[0]]=a[d[0]]?a[d[0]]+(", "+d[1]):d[1]}return a};goog.net.XhrIo.prototype.getStreamingResponseHeader=function(a){return this.xhr_?this.xhr_.getResponseHeader(a):null};
goog.net.XhrIo.prototype.getAllStreamingResponseHeaders=function(){return this.xhr_?this.xhr_.getAllResponseHeaders():""};goog.net.XhrIo.prototype.getLastErrorCode=function(){return this.lastErrorCode_};goog.net.XhrIo.prototype.getLastError=function(){return goog.isString(this.lastError_)?this.lastError_:String(this.lastError_)};goog.net.XhrIo.prototype.formatMsg_=function(a){return a+" ["+this.lastMethod_+" "+this.lastUri_+" "+this.getStatus()+"]"};
goog.debug.entryPointRegistry.register(function(a){goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_=a(goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_)});goog.structs.Queue=function(){this.front_=[];this.back_=[]};goog.structs.Queue.prototype.maybeFlip_=function(){goog.array.isEmpty(this.front_)&&(this.front_=this.back_,this.front_.reverse(),this.back_=[])};goog.structs.Queue.prototype.enqueue=function(a){this.back_.push(a)};goog.structs.Queue.prototype.dequeue=function(){this.maybeFlip_();return this.front_.pop()};goog.structs.Queue.prototype.peek=function(){this.maybeFlip_();return goog.array.peek(this.front_)};
goog.structs.Queue.prototype.getCount=function(){return this.front_.length+this.back_.length};goog.structs.Queue.prototype.isEmpty=function(){return goog.array.isEmpty(this.front_)&&goog.array.isEmpty(this.back_)};goog.structs.Queue.prototype.clear=function(){this.front_=[];this.back_=[]};goog.structs.Queue.prototype.contains=function(a){return goog.array.contains(this.front_,a)||goog.array.contains(this.back_,a)};
goog.structs.Queue.prototype.remove=function(a){return goog.array.removeLast(this.front_,a)||goog.array.remove(this.back_,a)};goog.structs.Queue.prototype.getValues=function(){for(var a=[],b=this.front_.length-1;0<=b;--b)a.push(this.front_[b]);for(var c=this.back_.length,b=0;b<c;++b)a.push(this.back_[b]);return a};goog.structs.Collection=function(){};goog.structs.Set=function(a){this.map_=new goog.structs.Map;a&&this.addAll(a)};goog.structs.Set.getKey_=function(a){var b=typeof a;return"object"==b&&a||"function"==b?"o"+goog.getUid(a):b.substr(0,1)+a};goog.structs.Set.prototype.getCount=function(){return this.map_.getCount()};goog.structs.Set.prototype.add=function(a){this.map_.set(goog.structs.Set.getKey_(a),a)};goog.structs.Set.prototype.addAll=function(a){a=goog.structs.getValues(a);for(var b=a.length,c=0;c<b;c++)this.add(a[c])};
goog.structs.Set.prototype.removeAll=function(a){a=goog.structs.getValues(a);for(var b=a.length,c=0;c<b;c++)this.remove(a[c])};goog.structs.Set.prototype.remove=function(a){return this.map_.remove(goog.structs.Set.getKey_(a))};goog.structs.Set.prototype.clear=function(){this.map_.clear()};goog.structs.Set.prototype.isEmpty=function(){return this.map_.isEmpty()};goog.structs.Set.prototype.contains=function(a){return this.map_.containsKey(goog.structs.Set.getKey_(a))};
goog.structs.Set.prototype.containsAll=function(a){return goog.structs.every(a,this.contains,this)};goog.structs.Set.prototype.intersection=function(a){var b=new goog.structs.Set;a=goog.structs.getValues(a);for(var c=0;c<a.length;c++){var d=a[c];this.contains(d)&&b.add(d)}return b};goog.structs.Set.prototype.difference=function(a){var b=this.clone();b.removeAll(a);return b};goog.structs.Set.prototype.getValues=function(){return this.map_.getValues()};goog.structs.Set.prototype.clone=function(){return new goog.structs.Set(this)};
goog.structs.Set.prototype.equals=function(a){return this.getCount()==goog.structs.getCount(a)&&this.isSubsetOf(a)};goog.structs.Set.prototype.isSubsetOf=function(a){var b=goog.structs.getCount(a);if(this.getCount()>b)return!1;!(a instanceof goog.structs.Set)&&5<b&&(a=new goog.structs.Set(a));return goog.structs.every(this,function(b){return goog.structs.contains(a,b)})};goog.structs.Set.prototype.__iterator__=function(a){return this.map_.__iterator__(!1)};goog.structs.Pool=function(a,b){goog.Disposable.call(this);this.minCount_=a||0;this.maxCount_=b||10;if(this.minCount_>this.maxCount_)throw Error(goog.structs.Pool.ERROR_MIN_MAX_);this.freeQueue_=new goog.structs.Queue;this.inUseSet_=new goog.structs.Set;this.delay=0;this.lastAccess=null;this.adjustForMinMax()};goog.inherits(goog.structs.Pool,goog.Disposable);goog.structs.Pool.ERROR_MIN_MAX_="[goog.structs.Pool] Min can not be greater than max";goog.structs.Pool.ERROR_DISPOSE_UNRELEASED_OBJS_="[goog.structs.Pool] Objects not released";
goog.structs.Pool.prototype.setMinimumCount=function(a){if(a>this.maxCount_)throw Error(goog.structs.Pool.ERROR_MIN_MAX_);this.minCount_=a;this.adjustForMinMax()};goog.structs.Pool.prototype.setMaximumCount=function(a){if(a<this.minCount_)throw Error(goog.structs.Pool.ERROR_MIN_MAX_);this.maxCount_=a;this.adjustForMinMax()};goog.structs.Pool.prototype.setDelay=function(a){this.delay=a};
goog.structs.Pool.prototype.getObject=function(){var a=goog.now();if(!(goog.isDefAndNotNull(this.lastAccess)&&a-this.lastAccess<this.delay)){var b=this.removeFreeObject_();b&&(this.lastAccess=a,this.inUseSet_.add(b));return b}};goog.structs.Pool.prototype.releaseObject=function(a){return this.inUseSet_.remove(a)?(this.addFreeObject(a),!0):!1};
goog.structs.Pool.prototype.removeFreeObject_=function(){for(var a;0<this.getFreeCount()&&(a=this.freeQueue_.dequeue(),!this.objectCanBeReused(a));)this.adjustForMinMax();!a&&this.getCount()<this.maxCount_&&(a=this.createObject());return a};goog.structs.Pool.prototype.addFreeObject=function(a){this.inUseSet_.remove(a);this.objectCanBeReused(a)&&this.getCount()<this.maxCount_?this.freeQueue_.enqueue(a):this.disposeObject(a)};
goog.structs.Pool.prototype.adjustForMinMax=function(){for(var a=this.freeQueue_;this.getCount()<this.minCount_;)a.enqueue(this.createObject());for(;this.getCount()>this.maxCount_&&0<this.getFreeCount();)this.disposeObject(a.dequeue())};goog.structs.Pool.prototype.createObject=function(){return{}};goog.structs.Pool.prototype.disposeObject=function(a){if("function"==typeof a.dispose)a.dispose();else for(var b in a)a[b]=null};
goog.structs.Pool.prototype.objectCanBeReused=function(a){return"function"==typeof a.canBeReused?a.canBeReused():!0};goog.structs.Pool.prototype.contains=function(a){return this.freeQueue_.contains(a)||this.inUseSet_.contains(a)};goog.structs.Pool.prototype.getCount=function(){return this.freeQueue_.getCount()+this.inUseSet_.getCount()};goog.structs.Pool.prototype.getInUseCount=function(){return this.inUseSet_.getCount()};goog.structs.Pool.prototype.getFreeCount=function(){return this.freeQueue_.getCount()};
goog.structs.Pool.prototype.isEmpty=function(){return this.freeQueue_.isEmpty()&&this.inUseSet_.isEmpty()};goog.structs.Pool.prototype.disposeInternal=function(){goog.structs.Pool.superClass_.disposeInternal.call(this);if(0<this.getInUseCount())throw Error(goog.structs.Pool.ERROR_DISPOSE_UNRELEASED_OBJS_);delete this.inUseSet_;for(var a=this.freeQueue_;!a.isEmpty();)this.disposeObject(a.dequeue());delete this.freeQueue_};goog.structs.Node=function(a,b){this.key_=a;this.value_=b};goog.structs.Node.prototype.getKey=function(){return this.key_};goog.structs.Node.prototype.getValue=function(){return this.value_};goog.structs.Node.prototype.clone=function(){return new goog.structs.Node(this.key_,this.value_)};goog.structs.Heap=function(a){this.nodes_=[];a&&this.insertAll(a)};goog.structs.Heap.prototype.insert=function(a,b){var c=new goog.structs.Node(a,b),d=this.nodes_;d.push(c);this.moveUp_(d.length-1)};
goog.structs.Heap.prototype.insertAll=function(a){if(a instanceof goog.structs.Heap){var b=a.getKeys();a=a.getValues();if(0>=this.getCount()){for(var c=this.nodes_,d=0;d<b.length;d++)c.push(new goog.structs.Node(b[d],a[d]));return}}else b=goog.object.getKeys(a),a=goog.object.getValues(a);for(d=0;d<b.length;d++)this.insert(b[d],a[d])};goog.structs.Heap.prototype.remove=function(){var a=this.nodes_,b=a.length,c=a[0];if(!(0>=b))return 1==b?goog.array.clear(a):(a[0]=a.pop(),this.moveDown_(0)),c.getValue()};
goog.structs.Heap.prototype.peek=function(){var a=this.nodes_;if(0!=a.length)return a[0].getValue()};goog.structs.Heap.prototype.peekKey=function(){return this.nodes_[0]&&this.nodes_[0].getKey()};goog.structs.Heap.prototype.moveDown_=function(a){for(var b=this.nodes_,c=b.length,d=b[a];a<c>>1;){var e=this.getLeftChildIndex_(a),f=this.getRightChildIndex_(a),e=f<c&&b[f].getKey()<b[e].getKey()?f:e;if(b[e].getKey()>d.getKey())break;b[a]=b[e];a=e}b[a]=d};
goog.structs.Heap.prototype.moveUp_=function(a){for(var b=this.nodes_,c=b[a];0<a;){var d=this.getParentIndex_(a);if(b[d].getKey()>c.getKey())b[a]=b[d],a=d;else break}b[a]=c};goog.structs.Heap.prototype.getLeftChildIndex_=function(a){return 2*a+1};goog.structs.Heap.prototype.getRightChildIndex_=function(a){return 2*a+2};goog.structs.Heap.prototype.getParentIndex_=function(a){return a-1>>1};
goog.structs.Heap.prototype.getValues=function(){for(var a=this.nodes_,b=[],c=a.length,d=0;d<c;d++)b.push(a[d].getValue());return b};goog.structs.Heap.prototype.getKeys=function(){for(var a=this.nodes_,b=[],c=a.length,d=0;d<c;d++)b.push(a[d].getKey());return b};goog.structs.Heap.prototype.containsValue=function(a){return goog.array.some(this.nodes_,function(b){return b.getValue()==a})};
goog.structs.Heap.prototype.containsKey=function(a){return goog.array.some(this.nodes_,function(b){return b.getKey()==a})};goog.structs.Heap.prototype.clone=function(){return new goog.structs.Heap(this)};goog.structs.Heap.prototype.getCount=function(){return this.nodes_.length};goog.structs.Heap.prototype.isEmpty=function(){return goog.array.isEmpty(this.nodes_)};goog.structs.Heap.prototype.clear=function(){goog.array.clear(this.nodes_)};goog.structs.PriorityQueue=function(){goog.structs.Heap.call(this)};goog.inherits(goog.structs.PriorityQueue,goog.structs.Heap);goog.structs.PriorityQueue.prototype.enqueue=function(a,b){this.insert(a,b)};goog.structs.PriorityQueue.prototype.dequeue=function(){return this.remove()};goog.structs.PriorityPool=function(a,b){this.delayTimeout_=void 0;this.requestQueue_=new goog.structs.PriorityQueue;goog.structs.Pool.call(this,a,b)};goog.inherits(goog.structs.PriorityPool,goog.structs.Pool);goog.structs.PriorityPool.DEFAULT_PRIORITY_=100;
goog.structs.PriorityPool.prototype.setDelay=function(a){goog.structs.PriorityPool.superClass_.setDelay.call(this,a);goog.isDefAndNotNull(this.lastAccess)&&(goog.global.clearTimeout(this.delayTimeout_),this.delayTimeout_=goog.global.setTimeout(goog.bind(this.handleQueueRequests_,this),this.delay+this.lastAccess-goog.now()),this.handleQueueRequests_())};
goog.structs.PriorityPool.prototype.getObject=function(a,b){if(!a){var c=goog.structs.PriorityPool.superClass_.getObject.call(this);c&&this.delay&&(this.delayTimeout_=goog.global.setTimeout(goog.bind(this.handleQueueRequests_,this),this.delay));return c}c=goog.isDef(b)?b:goog.structs.PriorityPool.DEFAULT_PRIORITY_;this.requestQueue_.enqueue(c,a);this.handleQueueRequests_()};
goog.structs.PriorityPool.prototype.handleQueueRequests_=function(){for(var a=this.requestQueue_;0<a.getCount();){var b=this.getObject();if(b)a.dequeue().apply(this,[b]);else break}};goog.structs.PriorityPool.prototype.addFreeObject=function(a){goog.structs.PriorityPool.superClass_.addFreeObject.call(this,a);this.handleQueueRequests_()};goog.structs.PriorityPool.prototype.adjustForMinMax=function(){goog.structs.PriorityPool.superClass_.adjustForMinMax.call(this);this.handleQueueRequests_()};
goog.structs.PriorityPool.prototype.disposeInternal=function(){goog.structs.PriorityPool.superClass_.disposeInternal.call(this);goog.global.clearTimeout(this.delayTimeout_);this.requestQueue_.clear();this.requestQueue_=null};goog.net.XhrIoPool=function(a,b,c,d){this.headers_=a;this.withCredentials_=!!d;goog.structs.PriorityPool.call(this,b,c)};goog.inherits(goog.net.XhrIoPool,goog.structs.PriorityPool);goog.net.XhrIoPool.prototype.createObject=function(){var a=new goog.net.XhrIo,b=this.headers_;b&&b.forEach(function(b,d){a.headers.set(d,b)});this.withCredentials_&&a.setWithCredentials(!0);return a};goog.net.XhrIoPool.prototype.objectCanBeReused=function(a){return!a.isDisposed()&&!a.isActive()};cljs.tools={};cljs.tools.reader={};cljs.tools.reader.impl={};cljs.tools.reader.impl.utils={};cljs.tools.reader.impl.utils.char$=function(a){return null==a?null:cljs.core.char$.call(null,a)};cljs.tools.reader.impl.utils.ex_info_QMARK_=function(a){return a instanceof cljs.core.ExceptionInfo};
cljs.tools.reader.impl.utils.ReaderConditional=function(a,b,c,d,e){this.splicing_QMARK_=a;this.form=b;this.__meta=c;this.__extmap=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=2229667594;this.cljs$lang$protocol_mask$partition1$=8192};cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "splicing?":return this.splicing_QMARK_;case "form":return this.form;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#cljs.tools.reader.impl.utils.ReaderConditional{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"splicing?","splicing?",-428596366),this.splicing_QMARK_],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"form","form",-1624062471),this.form],null)],null),this.__extmap))};cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,2,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"splicing?","splicing?",-428596366),new cljs.core.Keyword(null,"form","form",-1624062471)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):cljs.core.nil_iter.call(null))};
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.tools.reader.impl.utils.ReaderConditional(this.splicing_QMARK_,this.form,this.__meta,this.__extmap,this.__hash)};cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 2+cljs.core.count.call(null,this.__extmap)};
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_imap.call(null,this)};cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.truth_(cljs.core.truth_(b)?this.constructor===b.constructor&&cljs.core.equiv_map.call(null,this,b):b)?!0:!1};
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"splicing?","splicing?",-428596366),null,new cljs.core.Keyword(null,"form","form",-1624062471),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),
b):new cljs.tools.reader.impl.utils.ReaderConditional(this.splicing_QMARK_,this.form,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"splicing?","splicing?",-428596366),b))?new cljs.tools.reader.impl.utils.ReaderConditional(c,this.form,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"form","form",-1624062471),b))?new cljs.tools.reader.impl.utils.ReaderConditional(this.splicing_QMARK_,
c,this.__meta,this.__extmap,null):new cljs.tools.reader.impl.utils.ReaderConditional(this.splicing_QMARK_,this.form,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"splicing?","splicing?",-428596366),this.splicing_QMARK_],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"form","form",-1624062471),this.form],null)],null),this.__extmap))};cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.tools.reader.impl.utils.ReaderConditional(this.splicing_QMARK_,this.form,b,this.__extmap,this.__hash)};
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
cljs.tools.reader.impl.utils.ReaderConditional.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"splicing?","splicing?",1211935161,null),new cljs.core.Symbol(null,"form","form",16469056,null)],null)};cljs.tools.reader.impl.utils.ReaderConditional.cljs$lang$type=!0;cljs.tools.reader.impl.utils.ReaderConditional.cljs$lang$ctorPrSeq=function(a){return cljs.core._conj.call(null,cljs.core.List.EMPTY,"cljs.tools.reader.impl.utils/ReaderConditional")};
cljs.tools.reader.impl.utils.ReaderConditional.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"cljs.tools.reader.impl.utils/ReaderConditional")};cljs.tools.reader.impl.utils.__GT_ReaderConditional=function(a,b){return new cljs.tools.reader.impl.utils.ReaderConditional(a,b,null,null,null)};
cljs.tools.reader.impl.utils.map__GT_ReaderConditional=function(a){return new cljs.tools.reader.impl.utils.ReaderConditional((new cljs.core.Keyword(null,"splicing?","splicing?",-428596366)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"form","form",-1624062471)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"splicing?","splicing?",-428596366),new cljs.core.Keyword(null,"form","form",-1624062471)),null)};
cljs.tools.reader.impl.utils.reader_conditional_QMARK_=function(a){return a instanceof cljs.tools.reader.impl.utils.ReaderConditional};cljs.tools.reader.impl.utils.reader_conditional=function(a,b){return new cljs.tools.reader.impl.utils.ReaderConditional(b,a,null,null,null)};cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){cljs.core._write.call(null,b,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("#?"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_((new cljs.core.Keyword(null,"splicing?","splicing?",-428596366)).cljs$core$IFn$_invoke$arity$1(this))?"@":null)].join(""));return cljs.core.pr_writer.call(null,(new cljs.core.Keyword(null,"form","form",-1624062471)).cljs$core$IFn$_invoke$arity$1(this),
b,c)};cljs.tools.reader.impl.utils.ws_rx=/[\s]/;cljs.tools.reader.impl.utils.whitespace_QMARK_=function(a){return null==a?null:","===a?!0:cljs.tools.reader.impl.utils.ws_rx.test(a)};cljs.tools.reader.impl.utils.numeric_QMARK_=function(a){return null==a?null:goog.string.isNumeric(a)};cljs.tools.reader.impl.utils.newline_QMARK_=function(a){return"\n"===a||"\n"===a||null==a};
cljs.tools.reader.impl.utils.desugar_meta=function(a){return a instanceof cljs.core.Keyword?cljs.core.PersistentArrayMap.createAsIfByAssoc([a,!0]):a instanceof cljs.core.Symbol?new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),a],null):"string"===typeof a?new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),a],null):a};cljs.tools.reader.impl.utils.last_id=cljs.core.atom.call(null,0);
cljs.tools.reader.impl.utils.next_id=function(){return cljs.core.swap_BANG_.call(null,cljs.tools.reader.impl.utils.last_id,cljs.core.inc)};
cljs.tools.reader.impl.utils.namespace_keys=function(a,b){return function d(b){return new cljs.core.LazySeq(null,function(){for(;;){var e=cljs.core.seq.call(null,b);if(e){if(cljs.core.chunked_seq_QMARK_.call(null,e)){var g=cljs.core.chunk_first.call(null,e),h=cljs.core.count.call(null,g),k=cljs.core.chunk_buffer.call(null,h);return function(){for(var b=0;;)if(b<h){var d=cljs.core._nth.call(null,g,b);cljs.core.chunk_append.call(null,k,d instanceof cljs.core.Symbol||d instanceof cljs.core.Keyword?function(){var b=
cljs.core.juxt.call(null,cljs.core.namespace,cljs.core.name).call(null,d),e=cljs.core.nth.call(null,b,0,null),b=cljs.core.nth.call(null,b,1,null),f=d instanceof cljs.core.Symbol?cljs.core.symbol:cljs.core.keyword;return null==e?f.call(null,a,b):cljs.core._EQ_.call(null,"_",e)?f.call(null,b):d}():d);b+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),d.call(null,cljs.core.chunk_rest.call(null,e))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),null)}var l=
cljs.core.first.call(null,e);return cljs.core.cons.call(null,l instanceof cljs.core.Symbol||l instanceof cljs.core.Keyword?function(){var b=cljs.core.juxt.call(null,cljs.core.namespace,cljs.core.name).call(null,l),d=cljs.core.nth.call(null,b,0,null),b=cljs.core.nth.call(null,b,1,null),e=l instanceof cljs.core.Symbol?cljs.core.symbol:cljs.core.keyword;return null==d?e.call(null,a,b):cljs.core._EQ_.call(null,"_",d)?e.call(null,b):l}():l,d.call(null,cljs.core.rest.call(null,e)))}return null}},null,null)}.call(null,
b)};cljs.tools.reader.impl.utils.second_SINGLEQUOTE_=function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return cljs.core.truth_(b)?null:a};cljs.tools.reader.reader_types={};cljs.tools.reader.reader_types.Reader=function(){};
cljs.tools.reader.reader_types.read_char=function(a){if(null!=a&&null!=a.cljs$tools$reader$reader_types$Reader$read_char$arity$1)return a.cljs$tools$reader$reader_types$Reader$read_char$arity$1(a);var b=cljs.tools.reader.reader_types.read_char[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.tools.reader.reader_types.read_char._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Reader.read-char",a);};
cljs.tools.reader.reader_types.peek_char=function(a){if(null!=a&&null!=a.cljs$tools$reader$reader_types$Reader$peek_char$arity$1)return a.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(a);var b=cljs.tools.reader.reader_types.peek_char[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.tools.reader.reader_types.peek_char._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Reader.peek-char",a);};cljs.tools.reader.reader_types.IPushbackReader=function(){};
cljs.tools.reader.reader_types.unread=function(a,b){if(null!=a&&null!=a.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2)return a.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(a,b);var c=cljs.tools.reader.reader_types.unread[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.tools.reader.reader_types.unread._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IPushbackReader.unread",a);};
cljs.tools.reader.reader_types.IndexingReader=function(){};
cljs.tools.reader.reader_types.get_line_number=function(a){if(null!=a&&null!=a.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1)return a.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(a);var b=cljs.tools.reader.reader_types.get_line_number[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.tools.reader.reader_types.get_line_number._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"IndexingReader.get-line-number",
a);};
cljs.tools.reader.reader_types.get_column_number=function(a){if(null!=a&&null!=a.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1)return a.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(a);var b=cljs.tools.reader.reader_types.get_column_number[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.tools.reader.reader_types.get_column_number._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"IndexingReader.get-column-number",a);
};cljs.tools.reader.reader_types.get_file_name=function(a){if(null!=a&&null!=a.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1)return a.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1(a);var b=cljs.tools.reader.reader_types.get_file_name[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.tools.reader.reader_types.get_file_name._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"IndexingReader.get-file-name",a);};
cljs.tools.reader.reader_types.StringReader=function(a,b,c){this.s=a;this.s_len=b;this.s_pos=c};cljs.tools.reader.reader_types.StringReader.prototype.cljs$tools$reader$reader_types$Reader$=cljs.core.PROTOCOL_SENTINEL;cljs.tools.reader.reader_types.StringReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1=function(a){return this.s_len>this.s_pos?(a=this.s.charAt(this.s_pos),this.s_pos+=1,a):null};
cljs.tools.reader.reader_types.StringReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1=function(a){return this.s_len>this.s_pos?this.s.charAt(this.s_pos):null};
cljs.tools.reader.reader_types.StringReader.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"s","s",-948495851,null),new cljs.core.Symbol(null,"s-len","s-len",1869978331,null),cljs.core.with_meta(new cljs.core.Symbol(null,"s-pos","s-pos",-540562492,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};
cljs.tools.reader.reader_types.StringReader.cljs$lang$type=!0;cljs.tools.reader.reader_types.StringReader.cljs$lang$ctorStr="cljs.tools.reader.reader-types/StringReader";cljs.tools.reader.reader_types.StringReader.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.tools.reader.reader-types/StringReader")};cljs.tools.reader.reader_types.__GT_StringReader=function(a,b,c){return new cljs.tools.reader.reader_types.StringReader(a,b,c)};
cljs.tools.reader.reader_types.NodeReadableReader=function(a,b){this.readable=a;this.buf=b};cljs.tools.reader.reader_types.NodeReadableReader.prototype.cljs$tools$reader$reader_types$Reader$=cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.NodeReadableReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1=function(a){if(cljs.core.truth_(this.buf))return a=this.buf[0],this.buf=null,cljs.tools.reader.impl.utils.char$.call(null,a);a=""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.readable.read(1));return cljs.core.truth_(a)?cljs.tools.reader.impl.utils.char$.call(null,a):null};
cljs.tools.reader.reader_types.NodeReadableReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1=function(a){cljs.core.truth_(this.buf)||(this.buf=""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.readable.read(1)));return cljs.core.truth_(this.buf)?cljs.tools.reader.impl.utils.char$.call(null,this.buf[0]):null};
cljs.tools.reader.reader_types.NodeReadableReader.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"readable","readable",2113054478,null),cljs.core.with_meta(new cljs.core.Symbol(null,"buf","buf",1426618187,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.tools.reader.reader_types.NodeReadableReader.cljs$lang$type=!0;
cljs.tools.reader.reader_types.NodeReadableReader.cljs$lang$ctorStr="cljs.tools.reader.reader-types/NodeReadableReader";cljs.tools.reader.reader_types.NodeReadableReader.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.tools.reader.reader-types/NodeReadableReader")};cljs.tools.reader.reader_types.__GT_NodeReadableReader=function(a,b){return new cljs.tools.reader.reader_types.NodeReadableReader(a,b)};
cljs.tools.reader.reader_types.PushbackReader=function(a,b,c,d){this.rdr=a;this.buf=b;this.buf_len=c;this.buf_pos=d};cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$Reader$=cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1=function(a){a=this.buf_pos<this.buf_len?this.buf[this.buf_pos]:cljs.tools.reader.reader_types.read_char.call(null,this.rdr);this.buf_pos<this.buf_len&&(this.buf_pos+=1);return cljs.tools.reader.impl.utils.char$.call(null,a)};
cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1=function(a){a=this.buf_pos<this.buf_len?this.buf[this.buf_pos]:cljs.tools.reader.reader_types.peek_char.call(null,this.rdr);return cljs.tools.reader.impl.utils.char$.call(null,a)};cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$=cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2=function(a,b){if(cljs.core.truth_(b)){if(0===this.buf_pos)throw Error("Pushback buffer is full");--this.buf_pos;return this.buf[this.buf_pos]=b}return null};
cljs.tools.reader.reader_types.PushbackReader.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"rdr","rdr",190007785,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"not-native","not-native",-236392494,null)],null)),new cljs.core.Symbol(null,"buf","buf",1426618187,null),new cljs.core.Symbol(null,"buf-len","buf-len",404510846,
null),cljs.core.with_meta(new cljs.core.Symbol(null,"buf-pos","buf-pos",-807229033,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.tools.reader.reader_types.PushbackReader.cljs$lang$type=!0;cljs.tools.reader.reader_types.PushbackReader.cljs$lang$ctorStr="cljs.tools.reader.reader-types/PushbackReader";
cljs.tools.reader.reader_types.PushbackReader.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.tools.reader.reader-types/PushbackReader")};cljs.tools.reader.reader_types.__GT_PushbackReader=function(a,b,c,d){return new cljs.tools.reader.reader_types.PushbackReader(a,b,c,d)};
cljs.tools.reader.reader_types.normalize_newline=function(a,b){if("\r"===b){var c=cljs.tools.reader.reader_types.peek_char.call(null,a);"\f"!==c&&"\n"!==c||cljs.tools.reader.reader_types.read_char.call(null,a);return"\n"}return b};cljs.tools.reader.reader_types.IndexingPushbackReader=function(a,b,c,d,e,f,g){this.rdr=a;this.line=b;this.column=c;this.line_start_QMARK_=d;this.prev=e;this.prev_column=f;this.file_name=g};
cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$=cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1=function(a){a=cljs.tools.reader.reader_types.read_char.call(null,this.rdr);return cljs.core.truth_(a)?(a=cljs.tools.reader.reader_types.normalize_newline.call(null,this.rdr,a),this.prev=this.line_start_QMARK_,this.line_start_QMARK_=cljs.tools.reader.impl.utils.newline_QMARK_.call(null,a),cljs.core.truth_(this.line_start_QMARK_)&&(this.prev_column=this.column,this.column=0,this.line+=
1),this.column+=1,a):null};cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1=function(a){return cljs.tools.reader.reader_types.peek_char.call(null,this.rdr)};cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$=cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2=function(a,b){cljs.core.truth_(this.line_start_QMARK_)?(--this.line,this.column=this.prev_column):--this.column;this.line_start_QMARK_=this.prev;return cljs.tools.reader.reader_types.unread.call(null,this.rdr,b)};cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$=cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1=function(a){return this.line|0};cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1=function(a){return this.column|0};cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1=function(a){return this.file_name};
cljs.tools.reader.reader_types.IndexingPushbackReader.getBasis=function(){return new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"rdr","rdr",190007785,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"not-native","not-native",-236392494,null)],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"line","line",1852876762,null),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"column","column",-576213674,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"line-start?","line-start?",1357012474,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,
"prev","prev",43462301,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"prev-column","prev-column",324083974,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),new cljs.core.Symbol(null,"file-name","file-name",-13685732,null)],null)};cljs.tools.reader.reader_types.IndexingPushbackReader.cljs$lang$type=!0;
cljs.tools.reader.reader_types.IndexingPushbackReader.cljs$lang$ctorStr="cljs.tools.reader.reader-types/IndexingPushbackReader";cljs.tools.reader.reader_types.IndexingPushbackReader.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.tools.reader.reader-types/IndexingPushbackReader")};cljs.tools.reader.reader_types.__GT_IndexingPushbackReader=function(a,b,c,d,e,f,g){return new cljs.tools.reader.reader_types.IndexingPushbackReader(a,b,c,d,e,f,g)};
cljs.tools.reader.reader_types.merge_meta=function(a,b){var c=cljs.core.meta.call(null,a);return cljs.core.with_meta.call(null,a,cljs.core.merge.call(null,b,cljs.core.dissoc.call(null,c,new cljs.core.Keyword(null,"source","source",-433931539))))};
cljs.tools.reader.reader_types.peek_source_log=function(a){return cljs.core.subs.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"buffer","buffer",617295198)).cljs$core$IFn$_invoke$arity$1(a)),cljs.core.first.call(null,(new cljs.core.Keyword(null,"offset","offset",296498311)).cljs$core$IFn$_invoke$arity$1(a)))};
cljs.tools.reader.reader_types.log_source_char=function(a,b){var c=(new cljs.core.Keyword(null,"buffer","buffer",617295198)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(c)?c.append(b):null};cljs.tools.reader.reader_types.drop_last_logged_char=function(a){a=(new cljs.core.Keyword(null,"buffer","buffer",617295198)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(a)?a.set(cljs.core.subs.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),0,a.getLength()-1)):null};
cljs.tools.reader.reader_types.SourceLoggingPushbackReader=function(a,b,c,d,e,f,g,h){this.rdr=a;this.line=b;this.column=c;this.line_start_QMARK_=d;this.prev=e;this.prev_column=f;this.file_name=g;this.frames=h};cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$=cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1=function(a){a=cljs.tools.reader.reader_types.read_char.call(null,this.rdr);return cljs.core.truth_(a)?(a=cljs.tools.reader.reader_types.normalize_newline.call(null,this.rdr,a),this.prev=this.line_start_QMARK_,this.line_start_QMARK_=cljs.tools.reader.impl.utils.newline_QMARK_.call(null,a),cljs.core.truth_(this.line_start_QMARK_)&&(this.prev_column=this.column,this.column=0,this.line+=
1),this.column+=1,cljs.tools.reader.reader_types.log_source_char.call(null,cljs.core.deref.call(null,this.frames),a),a):null};cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1=function(a){return cljs.tools.reader.reader_types.peek_char.call(null,this.rdr)};cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$=cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2=function(a,b){cljs.core.truth_(this.line_start_QMARK_)?(--this.line,this.column=this.prev_column):--this.column;this.line_start_QMARK_=this.prev;cljs.core.truth_(b)&&cljs.tools.reader.reader_types.drop_last_logged_char.call(null,cljs.core.deref.call(null,this.frames));return cljs.tools.reader.reader_types.unread.call(null,this.rdr,b)};
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$=cljs.core.PROTOCOL_SENTINEL;cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1=function(a){return this.line|0};cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1=function(a){return this.column|0};
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1=function(a){return this.file_name};
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.getBasis=function(){return new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"rdr","rdr",190007785,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"not-native","not-native",-236392494,null)],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"line","line",1852876762,null),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"column","column",-576213674,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"line-start?","line-start?",1357012474,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,
"prev","prev",43462301,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"prev-column","prev-column",324083974,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),new cljs.core.Symbol(null,"file-name","file-name",-13685732,null),new cljs.core.Symbol(null,"frames","frames",-888748272,null)],null)};
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.cljs$lang$type=!0;cljs.tools.reader.reader_types.SourceLoggingPushbackReader.cljs$lang$ctorStr="cljs.tools.reader.reader-types/SourceLoggingPushbackReader";cljs.tools.reader.reader_types.SourceLoggingPushbackReader.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.tools.reader.reader-types/SourceLoggingPushbackReader")};
cljs.tools.reader.reader_types.__GT_SourceLoggingPushbackReader=function(a,b,c,d,e,f,g,h){return new cljs.tools.reader.reader_types.SourceLoggingPushbackReader(a,b,c,d,e,f,g,h)};cljs.tools.reader.reader_types.indexing_reader_QMARK_=function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.cljs$tools$reader$reader_types$IndexingReader$?!0:!1:!1};cljs.tools.reader.reader_types.string_reader=function(a){return new cljs.tools.reader.reader_types.StringReader(a,cljs.core.count.call(null,a),0)};
cljs.tools.reader.reader_types.string_push_back_reader=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.tools.reader.reader_types.string_push_back_reader.call(null,a,1)};cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.tools.reader.reader_types.PushbackReader(cljs.tools.reader.reader_types.string_reader.call(null,a),cljs.core.object_array.call(null,b),b,b)};
cljs.tools.reader.reader_types.string_push_back_reader.cljs$lang$maxFixedArity=2;cljs.tools.reader.reader_types.node_readable_push_back_reader=function(a){return new cljs.tools.reader.reader_types.PushbackReader(new cljs.tools.reader.reader_types.NodeReadableReader(a,null),cljs.core.object_array.call(null,1),1,1)};
cljs.tools.reader.reader_types.indexing_push_back_reader=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$3(arguments[0],
arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.tools.reader.reader_types.indexing_push_back_reader.call(null,a,1)};
cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.tools.reader.reader_types.indexing_push_back_reader.call(null,a,b,null)};cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new cljs.tools.reader.reader_types.IndexingPushbackReader("string"===typeof a?cljs.tools.reader.reader_types.string_push_back_reader.call(null,a,b):a,1,1,!0,null,0,c)};
cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$lang$maxFixedArity=3;
cljs.tools.reader.reader_types.source_logging_push_back_reader=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$3(arguments[0],
arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.tools.reader.reader_types.source_logging_push_back_reader.call(null,a,1)};
cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.tools.reader.reader_types.source_logging_push_back_reader.call(null,a,b,null)};
cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new cljs.tools.reader.reader_types.SourceLoggingPushbackReader("string"===typeof a?cljs.tools.reader.reader_types.string_push_back_reader.call(null,a,b):a,1,1,!0,null,0,c,cljs.core.atom.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"buffer","buffer",617295198),new goog.string.StringBuffer,new cljs.core.Keyword(null,"offset","offset",296498311),cljs.core.list(0)],
null)))};cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$lang$maxFixedArity=3;cljs.tools.reader.reader_types.read_line=function(a){for(var b=cljs.tools.reader.reader_types.read_char.call(null,a),c=new goog.string.StringBuffer;;){if(cljs.tools.reader.impl.utils.newline_QMARK_.call(null,b))return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(c);var d=cljs.tools.reader.reader_types.read_char.call(null,a),c=c.append(b),b=d}};
cljs.tools.reader.reader_types.reader_error=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return cljs.tools.reader.reader_types.reader_error.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
cljs.tools.reader.reader_types.reader_error.cljs$core$IFn$_invoke$arity$variadic=function(a,b){throw cljs.core.ex_info.call(null,cljs.core.apply.call(null,cljs.core.str,b),cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"reader-exception","reader-exception",-1938323098)],null),cljs.core.truth_(cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,a))?cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"line","line",212345235),cljs.tools.reader.reader_types.get_line_number.call(null,a),new cljs.core.Keyword(null,"column","column",2078222095),cljs.tools.reader.reader_types.get_column_number.call(null,a)],null),function(){var b=cljs.tools.reader.reader_types.get_file_name.call(null,a);return cljs.core.truth_(b)?new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"file","file",-1269645878),b],null):null}()):null));};
cljs.tools.reader.reader_types.reader_error.cljs$lang$maxFixedArity=1;cljs.tools.reader.reader_types.reader_error.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return cljs.tools.reader.reader_types.reader_error.cljs$core$IFn$_invoke$arity$variadic(b,a)};cljs.tools.reader.reader_types.source_logging_reader_QMARK_=function(a){return a instanceof cljs.tools.reader.reader_types.SourceLoggingPushbackReader};
cljs.tools.reader.reader_types.line_start_QMARK_=function(a){return cljs.core.truth_(cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,a))?1===cljs.tools.reader.reader_types.get_column_number.call(null,a):null};
cljs.tools.reader.reader_types.log_source_STAR_=function(a,b){var c=(new cljs.core.Keyword(null,"buffer","buffer",617295198)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,a.frames));try{cljs.core.swap_BANG_.call(null,a.frames,cljs.core.update_in,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"offset","offset",296498311)],null),cljs.core.conj,c.getLength());var d=b.call(null);return null!=d&&(d.cljs$lang$protocol_mask$partition0$&
131072||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$IMeta$)?cljs.tools.reader.reader_types.merge_meta.call(null,d,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"source","source",-433931539),cljs.tools.reader.reader_types.peek_source_log.call(null,cljs.core.deref.call(null,a.frames))],null)):d}finally{cljs.core.swap_BANG_.call(null,a.frames,cljs.core.update_in,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"offset","offset",
296498311)],null),cljs.core.rest)}};cljs.tools.reader.impl.commons={};cljs.tools.reader.impl.commons.number_literal_QMARK_=function(a,b){return cljs.tools.reader.impl.utils.numeric_QMARK_.call(null,b)||("+"===b||"-"===b)&&cljs.tools.reader.impl.utils.numeric_QMARK_.call(null,cljs.tools.reader.reader_types.peek_char.call(null,a))};cljs.tools.reader.impl.commons.read_past=function(a,b){for(var c=cljs.tools.reader.reader_types.read_char.call(null,b);;)if(a.call(null,c))c=cljs.tools.reader.reader_types.read_char.call(null,b);else return c};
cljs.tools.reader.impl.commons.skip_line=function(a){for(;!cljs.tools.reader.impl.utils.newline_QMARK_.call(null,cljs.tools.reader.reader_types.read_char.call(null,a)););return a};cljs.tools.reader.impl.commons.int_pattern=/^([-+]?)(?:(0)|([1-9][0-9]*)|0[xX]([0-9A-Fa-f]+)|0([0-7]+)|([1-9][0-9]?)[rR]([0-9A-Za-z]+)|0[0-9]+)(N)?$/;cljs.tools.reader.impl.commons.ratio_pattern=/([-+]?[0-9]+)\/([0-9]+)/;cljs.tools.reader.impl.commons.float_pattern=/([-+]?[0-9]+(\.[0-9]*)?([eE][-+]?[0-9]+)?)(M)?/;
cljs.tools.reader.impl.commons.match_int=function(a){var b=cljs.core.vec.call(null,cljs.core.re_find.call(null,cljs.tools.reader.impl.commons.int_pattern,a));if(null!=b.call(null,2))return 0;a="-"===b.call(null,1);var b=null!=b.call(null,3)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b.call(null,3),10],null):null!=b.call(null,4)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b.call(null,4),16],null):null!=b.call(null,5)?new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[b.call(null,5),8],null):null!=b.call(null,7)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b.call(null,7),parseInt(b.call(null,6))],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,null],null),c=b.call(null,0);if(null==c)return null;b=parseInt(c,b.call(null,1));a=a?-1*b:b;return cljs.core.truth_(isNaN(a))?null:a};
cljs.tools.reader.impl.commons.match_ratio=function(a){var b=cljs.core.vec.call(null,cljs.core.re_find.call(null,cljs.tools.reader.impl.commons.ratio_pattern,a));a=b.call(null,1);b=b.call(null,2);a=cljs.core.truth_(cljs.core.re_find.call(null,/^\+/,a))?cljs.core.subs.call(null,a,1):a;return parseInt(a)/parseInt(b)};
cljs.tools.reader.impl.commons.match_float=function(a){var b=cljs.core.vec.call(null,cljs.core.re_find.call(null,cljs.tools.reader.impl.commons.float_pattern,a));return null!=b.call(null,4)?parseFloat(b.call(null,1)):parseFloat(a)};cljs.tools.reader.impl.commons.matches_QMARK_=function(a,b){var c=cljs.core.re_find.call(null,a,b);return cljs.core.nth.call(null,c,0,null)===b};
cljs.tools.reader.impl.commons.match_number=function(a){return cljs.tools.reader.impl.commons.matches_QMARK_.call(null,cljs.tools.reader.impl.commons.int_pattern,a)?cljs.tools.reader.impl.commons.match_int.call(null,a):cljs.tools.reader.impl.commons.matches_QMARK_.call(null,cljs.tools.reader.impl.commons.float_pattern,a)?cljs.tools.reader.impl.commons.match_float.call(null,a):cljs.tools.reader.impl.commons.matches_QMARK_.call(null,cljs.tools.reader.impl.commons.ratio_pattern,a)?cljs.tools.reader.impl.commons.match_ratio.call(null,
a):null};
cljs.tools.reader.impl.commons.parse_symbol=function(a){if(""===a||!0===/:$/.test(a)||!0===/^::/.test(a))return null;var b=a.indexOf("/"),c=0<b?cljs.core.subs.call(null,a,0,b):null;if(null!=c){b+=1;if(b===cljs.core.count.call(null,a))return null;a=cljs.core.subs.call(null,a,b);return cljs.tools.reader.impl.utils.numeric_QMARK_.call(null,cljs.core.nth.call(null,a,0))||""===a||!1!==/:$/.test(c)||"/"!==a&&-1!==a.indexOf("/")?null:new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,
a],null)}return"/"===a||-1===a.indexOf("/")?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,a],null):null};cljs.tools.reader.impl.commons.read_comment=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return cljs.tools.reader.impl.commons.read_comment.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
cljs.tools.reader.impl.commons.read_comment.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.tools.reader.impl.commons.skip_line.call(null,a)};cljs.tools.reader.impl.commons.read_comment.cljs$lang$maxFixedArity=1;cljs.tools.reader.impl.commons.read_comment.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return cljs.tools.reader.impl.commons.read_comment.cljs$core$IFn$_invoke$arity$variadic(b,a)};
cljs.tools.reader.impl.commons.throwing_reader=function(a){return function(){var b=function(b,c){return cljs.tools.reader.reader_types.reader_error.call(null,b,a)},c=function(a,c){var d=null;if(1<arguments.length){for(var d=0,e=Array(arguments.length-1);d<e.length;)e[d]=arguments[d+1],++d;d=new cljs.core.IndexedSeq(e,0,null)}return b.call(this,a,d)};c.cljs$lang$maxFixedArity=1;c.cljs$lang$applyTo=function(a){var c=cljs.core.first(a);a=cljs.core.rest(a);return b(c,a)};c.cljs$core$IFn$_invoke$arity$variadic=
b;return c}()};cljs.tools.reader.macro_terminating_QMARK_=function(a){switch(a){case '"':case ";":case "@":case "^":case "`":case "~":case "(":case ")":case "[":case "]":case "{":case "}":case "\\":return!0;default:return!1}};cljs.tools.reader.sb=new goog.string.StringBuffer;
cljs.tools.reader.read_token=function(a,b){if(null==b)return cljs.tools.reader.reader_types.reader_error.call(null,a,"EOF while reading");cljs.tools.reader.sb.clear();for(var c=b;;){if(cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,c)||cljs.tools.reader.macro_terminating_QMARK_.call(null,c)||null==c)return null!=c&&cljs.tools.reader.reader_types.unread.call(null,a,c),cljs.tools.reader.sb.toString();cljs.tools.reader.sb.append(c);c=cljs.tools.reader.reader_types.read_char.call(null,a)}};
cljs.tools.reader.read_dispatch=function(a,b,c,d){var e=cljs.tools.reader.reader_types.read_char.call(null,a);return cljs.core.truth_(e)?(b=cljs.tools.reader.dispatch_macros.call(null,e),cljs.core.truth_(b)?b.call(null,a,e,c,d):cljs.tools.reader.read_tagged.call(null,function(){cljs.tools.reader.reader_types.unread.call(null,a,e);return a}(),e,c,d)):cljs.tools.reader.reader_types.reader_error.call(null,a,"EOF while reading character")};
cljs.tools.reader.read_unmatched_delimiter=function(a,b,c,d){return cljs.tools.reader.reader_types.reader_error.call(null,a,"Unmatched delimiter ",b)};
cljs.tools.reader.read_regex=function(a,b,c,d){b=new goog.string.StringBuffer;for(c=cljs.tools.reader.reader_types.read_char.call(null,a);;){if('"'===c)return cljs.core.re_pattern.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(b));if(null==c)return cljs.tools.reader.reader_types.reader_error.call(null,a,"EOF while reading regex");b.append(c);"\\"===c&&(c=cljs.tools.reader.reader_types.read_char.call(null,a),null==c&&cljs.tools.reader.reader_types.reader_error.call(null,a,"EOF while reading regex"),
b.append(c));c=cljs.tools.reader.reader_types.read_char.call(null,a)}};cljs.tools.reader.char_code=function(a,b){var c=parseInt(a,b);return cljs.core.truth_(isNaN(c))?-1:c};
cljs.tools.reader.read_unicode_char=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 4:return cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){c=b+c;if(cljs.core.count.call(null,a)!==c)throw cljs.core.ex_info.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid unicode character: \\"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-argument","illegal-argument",-1845493170)],null));for(var e=0;;){if(b===c)return String.fromCharCode(e);
var f=cljs.tools.reader.char_code.call(null,cljs.core.nth.call(null,a,b),d);if(-1===f)throw cljs.core.ex_info.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid digit: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,a,b))].join(""),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-argument","illegal-argument",-1845493170)],null));e=f+e*d;b+=1}};
cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){for(var f=1,g=cljs.tools.reader.char_code.call(null,b,c);;){if(-1===g)throw cljs.core.ex_info.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid digit: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-argument","illegal-argument",-1845493170)],null));if(f!==d){var h=
cljs.tools.reader.reader_types.peek_char.call(null,a);if(cljs.core.truth_(function(){var a=cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,h);if(a)return a;a=cljs.tools.reader.macros.call(null,h);return cljs.core.truth_(a)?a:null==h}())){if(cljs.core.truth_(e))throw cljs.core.ex_info.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid character length: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(f),cljs.core.str.cljs$core$IFn$_invoke$arity$1(", should be: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join(""),
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-argument","illegal-argument",-1845493170)],null));return String.fromCharCode(g)}var k=cljs.tools.reader.char_code.call(null,h,c);cljs.tools.reader.reader_types.read_char.call(null,a);if(-1===k)throw cljs.core.ex_info.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid digit: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(h)].join(""),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-argument","illegal-argument",-1845493170)],null));g=k+g*c;f+=1}else return String.fromCharCode(g)}};cljs.tools.reader.read_unicode_char.cljs$lang$maxFixedArity=5;cljs.tools.reader.upper_limit=55295;cljs.tools.reader.lower_limit=57344;cljs.tools.reader.valid_octal_QMARK_=function(a,b){return 255>=parseInt(a,b)};
cljs.tools.reader.read_char_STAR_=function(a,b,c,d){b=cljs.tools.reader.reader_types.read_char.call(null,a);if(null!=b){b=cljs.tools.reader.macro_terminating_QMARK_.call(null,b)||cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,b)?""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(b):cljs.tools.reader.read_token.call(null,a,b);c=b.length;if(1===c)return b.charAt(0);if(cljs.core._EQ_.call(null,b,"newline"))return"\n";if(cljs.core._EQ_.call(null,b,"space"))return" ";if(cljs.core._EQ_.call(null,
b,"tab"))return"\t";if(cljs.core._EQ_.call(null,b,"backspace"))return"\b";if(cljs.core._EQ_.call(null,b,"formfeed"))return"\f";if(cljs.core._EQ_.call(null,b,"return"))return"\r";if(cljs.core.truth_(goog.string.startsWith(b,"u")))return b=cljs.tools.reader.read_unicode_char.call(null,b,1,4,16),c=b.charCodeAt(0),c>cljs.tools.reader.upper_limit&&c<cljs.tools.reader.lower_limit?cljs.tools.reader.reader_types.reader_error.call(null,a,"Invalid character constant: \\u",b):b;if(cljs.core.truth_(goog.string.startsWith(b,
"o"))){--c;if(3<c)return cljs.tools.reader.reader_types.reader_error.call(null,a,"Invalid octal escape sequence length: ",c);c=cljs.tools.reader.read_unicode_char.call(null,b,1,c,8);return cljs.core.not.call(null,cljs.tools.reader.valid_octal_QMARK_.call(null,cljs.core.subs.call(null,b,1),8))?cljs.tools.reader.reader_types.reader_error.call(null,a,"Octal escape sequence must be in range [0, 377]"):c}return cljs.tools.reader.reader_types.reader_error.call(null,a,"Unsupported character: \\",b)}return cljs.tools.reader.reader_types.reader_error.call(null,
a,"EOF while reading character")};cljs.tools.reader.starting_line_col_info=function(a){return cljs.core.truth_(cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,a))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.tools.reader.reader_types.get_line_number.call(null,a),cljs.tools.reader.reader_types.get_column_number.call(null,a)-1|0],null):null};
cljs.tools.reader.ending_line_col_info=function(a){return cljs.core.truth_(cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,a))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.tools.reader.reader_types.get_line_number.call(null,a),cljs.tools.reader.reader_types.get_column_number.call(null,a)],null):null};"undefined"===typeof cljs.tools.reader.READ_EOF&&(cljs.tools.reader.READ_EOF={});
"undefined"===typeof cljs.tools.reader.READ_FINISHED&&(cljs.tools.reader.READ_FINISHED={});cljs.tools.reader._STAR_read_delim_STAR_=!1;
cljs.tools.reader.read_delimited_internal=function(a,b,c,d){var e=cljs.tools.reader.starting_line_col_info.call(null,b),f=cljs.core.nth.call(null,e,0,null),e=cljs.core.nth.call(null,e,1,null);a=cljs.tools.reader.impl.utils.char$.call(null,a);for(var g=cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY);;){var h=cljs.tools.reader.read_STAR_.call(null,b,!1,cljs.tools.reader.READ_EOF,a,c,d);if(h===cljs.tools.reader.READ_FINISHED)return cljs.core.persistent_BANG_.call(null,g);if(h===cljs.tools.reader.READ_EOF)return cljs.tools.reader.reader_types.reader_error.call(null,
b,"EOF while reading",cljs.core.truth_(f)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(", starting at line "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(f),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" and column "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)].join(""):null);g=cljs.core.conj_BANG_.call(null,g,h)}};
cljs.tools.reader.read_delimited=function(a,b,c,d){var e=cljs.tools.reader._STAR_read_delim_STAR_;cljs.tools.reader._STAR_read_delim_STAR_=!0;try{return cljs.tools.reader.read_delimited_internal.call(null,a,b,c,d)}finally{cljs.tools.reader._STAR_read_delim_STAR_=e}};
cljs.tools.reader.read_list=function(a,b,c,d){var e=cljs.tools.reader.starting_line_col_info.call(null,a);b=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);c=cljs.tools.reader.read_delimited.call(null,")",a,c,d);var f=cljs.tools.reader.ending_line_col_info.call(null,a);d=cljs.core.nth.call(null,f,0,null);f=cljs.core.nth.call(null,f,1,null);return cljs.core.with_meta.call(null,cljs.core.empty_QMARK_.call(null,c)?cljs.core.List.EMPTY:cljs.core.apply.call(null,cljs.core.list,c),
cljs.core.truth_(b)?cljs.core.merge.call(null,function(){var b=cljs.tools.reader.reader_types.get_file_name.call(null,a);return cljs.core.truth_(b)?new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"file","file",-1269645878),b],null):null}(),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"line","line",212345235),b,new cljs.core.Keyword(null,"column","column",2078222095),e,new cljs.core.Keyword(null,"end-line","end-line",1837326455),d,new cljs.core.Keyword(null,
"end-column","end-column",1425389514),f],null)):null)};
cljs.tools.reader.read_vector=function(a,b,c,d){var e=cljs.tools.reader.starting_line_col_info.call(null,a);b=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);c=cljs.tools.reader.read_delimited.call(null,"]",a,c,d);var f=cljs.tools.reader.ending_line_col_info.call(null,a);d=cljs.core.nth.call(null,f,0,null);f=cljs.core.nth.call(null,f,1,null);return cljs.core.with_meta.call(null,c,cljs.core.truth_(b)?cljs.core.merge.call(null,function(){var b=cljs.tools.reader.reader_types.get_file_name.call(null,
a);return cljs.core.truth_(b)?new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"file","file",-1269645878),b],null):null}(),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"line","line",212345235),b,new cljs.core.Keyword(null,"column","column",2078222095),e,new cljs.core.Keyword(null,"end-line","end-line",1837326455),d,new cljs.core.Keyword(null,"end-column","end-column",1425389514),f],null)):null)};
cljs.tools.reader.duplicate_keys_error=function(a,b){var c=function(a){return function f(a){return new cljs.core.LazySeq(null,function(){for(var b=a;;)if(b=cljs.core.seq.call(null,b)){if(cljs.core.chunked_seq_QMARK_.call(null,b)){var c=cljs.core.chunk_first.call(null,b),d=cljs.core.count.call(null,c),g=cljs.core.chunk_buffer.call(null,d);a:for(var n=0;;)if(n<d){var p=cljs.core._nth.call(null,c,n),q=cljs.core.nth.call(null,p,0,null);1<cljs.core.nth.call(null,p,1,null)&&cljs.core.chunk_append.call(null,
g,q);n+=1}else{c=!0;break a}return c?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,g),f.call(null,cljs.core.chunk_rest.call(null,b))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,g),null)}g=cljs.core.first.call(null,b);c=cljs.core.nth.call(null,g,0,null);if(1<cljs.core.nth.call(null,g,1,null))return cljs.core.cons.call(null,c,f.call(null,cljs.core.rest.call(null,b)));b=cljs.core.rest.call(null,b)}else return null},null,null)}.call(null,cljs.core.frequencies.call(null,a))}.call(null,
b);return cljs.core.apply.call(null,cljs.core.str,a,1<cljs.core.count.call(null,c)?"s":null,": ",cljs.core.interpose.call(null,", ",c))};
cljs.tools.reader.read_map=function(a,b,c,d){var e=cljs.tools.reader.starting_line_col_info.call(null,a);b=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);c=cljs.tools.reader.read_delimited.call(null,"}",a,c,d);d=cljs.core.count.call(null,c);var f=cljs.core.take_nth.call(null,2,c),g=cljs.core.set.call(null,f),h=cljs.tools.reader.ending_line_col_info.call(null,a),k=cljs.core.nth.call(null,h,0,null),h=cljs.core.nth.call(null,h,1,null);cljs.core.odd_QMARK_.call(null,d)&&cljs.tools.reader.reader_types.reader_error.call(null,
a,"Map literal must contain an even number of forms");cljs.core._EQ_.call(null,cljs.core.count.call(null,g),cljs.core.count.call(null,f))||cljs.tools.reader.reader_types.reader_error.call(null,a,cljs.tools.reader.duplicate_keys_error.call(null,"Map literal contains duplicate key",f));return cljs.core.with_meta.call(null,0===d?cljs.core.PersistentArrayMap.EMPTY:cljs.core.apply.call(null,cljs.core.hash_map,cljs.core.to_array.call(null,c)),cljs.core.truth_(b)?cljs.core.merge.call(null,function(){var b=
cljs.tools.reader.reader_types.get_file_name.call(null,a);return cljs.core.truth_(b)?new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"file","file",-1269645878),b],null):null}(),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"line","line",212345235),b,new cljs.core.Keyword(null,"column","column",2078222095),e,new cljs.core.Keyword(null,"end-line","end-line",1837326455),k,new cljs.core.Keyword(null,"end-column","end-column",1425389514),h],null)):null)};
cljs.tools.reader.read_number=function(a,b){for(var c=function(){var a=new goog.string.StringBuffer;a.append(b);return a}(),d=cljs.tools.reader.reader_types.read_char.call(null,a);;){if(cljs.core.truth_(function(){var a=cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,d);if(a)return a;a=cljs.tools.reader.macros.call(null,d);return cljs.core.truth_(a)?a:null==d}())){var e=""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(c);cljs.tools.reader.reader_types.unread.call(null,a,d);var f=cljs.tools.reader.impl.commons.match_number.call(null,
e);return cljs.core.truth_(f)?f:cljs.tools.reader.reader_types.reader_error.call(null,a,"Invalid number format [",e,"]")}e=function(){var a=c;a.append(d);return a}();f=cljs.tools.reader.reader_types.read_char.call(null,a);c=e;d=f}};
cljs.tools.reader.escape_char=function(a,b){var c=cljs.tools.reader.reader_types.read_char.call(null,b);switch(c){case "t":return"\t";case "r":return"\r";case "n":return"\n";case "\\":return"\\";case '"':return'"';case "b":return"\b";case "f":return"\f";case "u":return c=cljs.tools.reader.reader_types.read_char.call(null,b),-1===parseInt(c|0,16)?cljs.tools.reader.reader_types.reader_error.call(null,b,"Invalid unicode escape: \\u",c):cljs.tools.reader.read_unicode_char.call(null,b,c,16,4,!0);default:return cljs.tools.reader.impl.utils.numeric_QMARK_.call(null,
c)?(c=cljs.tools.reader.read_unicode_char.call(null,b,c,8,3,!1),223<(c|0)?cljs.tools.reader.reader_types.reader_error.call(null,b,"Octal escape sequence must be in range [0, 377]"):c):cljs.tools.reader.reader_types.reader_error.call(null,b,"Unsupported escape character: \\",c)}};
cljs.tools.reader.read_string_STAR_=function(a,b,c,d){for(var e=new goog.string.StringBuffer,f=cljs.tools.reader.reader_types.read_char.call(null,a);;){if(null==f)return cljs.tools.reader.reader_types.reader_error.call(null,a,"EOF while reading string");switch(f){case "\\":b=function(){var b=e;b.append(cljs.tools.reader.escape_char.call(null,e,a));return b}();c=cljs.tools.reader.reader_types.read_char.call(null,a);e=b;f=c;continue;case '"':return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(e);default:b=
function(){var a=e;a.append(f);return a}(),c=cljs.tools.reader.reader_types.read_char.call(null,a),e=b,f=c}}};
cljs.tools.reader.loc_info=function(a,b,c){if(null==b)return null;var d=cljs.tools.reader.reader_types.get_file_name.call(null,a),d=null==d?null:new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"file","file",-1269645878),d],null),e=cljs.tools.reader.ending_line_col_info.call(null,a);a=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);b=new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"line","line",212345235),b,new cljs.core.Keyword(null,"column",
"column",2078222095),c,new cljs.core.Keyword(null,"end-line","end-line",1837326455),a,new cljs.core.Keyword(null,"end-column","end-column",1425389514),e],null);return cljs.core.merge.call(null,d,b)};
cljs.tools.reader.read_symbol=function(a,b){var c=cljs.tools.reader.starting_line_col_info.call(null,a),d=cljs.core.nth.call(null,c,0,null),c=cljs.core.nth.call(null,c,1,null),e=cljs.tools.reader.read_token.call(null,a,b);if(null==e)return null;switch(e){case "nil":return null;case "true":return!0;case "false":return!1;case "/":return new cljs.core.Symbol(null,"/","/",-1371932971,null);case "NaN":return Number.NaN;case "-Infinity":return Number.NEGATIVE_INFINITY;case "Infinity":case "+Infinity":return Number.POSITIVE_INFINITY;
default:var f=cljs.tools.reader.impl.commons.parse_symbol.call(null,e);return null!=f?(e=cljs.core.symbol.call(null,cljs.core._nth.call(null,f,0),cljs.core._nth.call(null,f,1)),cljs.core._with_meta.call(null,e,cljs.tools.reader.loc_info.call(null,a,d,c))):cljs.tools.reader.reader_types.reader_error.call(null,a,"Invalid token: ",e)}};cljs.tools.reader._STAR_alias_map_STAR_=null;
cljs.tools.reader.resolve_ns=function(a){var b=cljs.core.get.call(null,cljs.tools.reader._STAR_alias_map_STAR_,a);if(cljs.core.truth_(b))return b;a=cljs.core.find_ns.call(null,a);return cljs.core.truth_(a)?cljs.core.symbol.call(null,cljs.core.ns_name.call(null,a)):null};
cljs.tools.reader.read_keyword=function(a,b,c,d){b=cljs.tools.reader.reader_types.read_char.call(null,a);if(cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,b))return cljs.tools.reader.reader_types.reader_error.call(null,a,"Invalid token: :");b=cljs.tools.reader.read_token.call(null,a,b);d=cljs.tools.reader.impl.commons.parse_symbol.call(null,b);return null!=d?(c=cljs.core._nth.call(null,d,0),d=cljs.core._nth.call(null,d,1),":"===b.charAt(0)?null!=c?(c=cljs.tools.reader.resolve_ns.call(null,
cljs.core.symbol.call(null,cljs.core.subs.call(null,c,1))),null!=c?cljs.core.keyword.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),d):cljs.tools.reader.reader_types.reader_error.call(null,a,"Invalid token: :",b)):cljs.core.keyword.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core._STAR_ns_STAR_),cljs.core.subs.call(null,d,1)):cljs.core.keyword.call(null,c,d)):cljs.tools.reader.reader_types.reader_error.call(null,a,"Invalid token: :",b)};
cljs.tools.reader.wrapping_reader=function(a){return function(b,c,d,e){return cljs.core._conj.call(null,function(){var a=cljs.tools.reader.read_STAR_.call(null,b,!0,null,d,e);return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),a)}};
cljs.tools.reader.read_meta=function(a,b,c,d){if(cljs.tools.reader.reader_types.source_logging_reader_QMARK_.call(null,a)&&!cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,cljs.tools.reader.reader_types.peek_char.call(null,a)))return cljs.tools.reader.reader_types.log_source_STAR_.call(null,a,function(){var b=cljs.tools.reader.starting_line_col_info.call(null,a),e=cljs.core.nth.call(null,b,0,null),f=cljs.core.nth.call(null,b,1,null),g=cljs.tools.reader.impl.utils.desugar_meta.call(null,cljs.tools.reader.read_STAR_.call(null,
a,!0,null,c,d));cljs.core.map_QMARK_.call(null,g)||cljs.tools.reader.reader_types.reader_error.call(null,a,"Metadata must be Symbol, Keyword, String or Map");b=cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d);return null!=b&&(b.cljs$lang$protocol_mask$partition0$&131072||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$IMeta$)?(e=cljs.core.truth_(cljs.core.truth_(e)?cljs.core.seq_QMARK_.call(null,b):e)?cljs.core.assoc.call(null,g,new cljs.core.Keyword(null,"line","line",212345235),e,new cljs.core.Keyword(null,
"column","column",2078222095),f):g,null!=b&&(b.cljs$lang$protocol_mask$partition0$&262144||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$IWithMeta$)?cljs.core.with_meta.call(null,b,cljs.core.merge.call(null,cljs.core.meta.call(null,b),e)):cljs.core.reset_meta_BANG_.call(null,b,e)):cljs.tools.reader.reader_types.reader_error.call(null,a,"Metadata can only be applied to IMetas")});var e=cljs.tools.reader.starting_line_col_info.call(null,a);b=cljs.core.nth.call(null,e,0,null);var f=cljs.core.nth.call(null,
e,1,null),g=cljs.tools.reader.impl.utils.desugar_meta.call(null,cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d));cljs.core.map_QMARK_.call(null,g)||cljs.tools.reader.reader_types.reader_error.call(null,a,"Metadata must be Symbol, Keyword, String or Map");e=cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d);return null!=e&&(e.cljs$lang$protocol_mask$partition0$&131072||cljs.core.PROTOCOL_SENTINEL===e.cljs$core$IMeta$)?(b=cljs.core.truth_(cljs.core.truth_(b)?cljs.core.seq_QMARK_.call(null,
e):b)?cljs.core.assoc.call(null,g,new cljs.core.Keyword(null,"line","line",212345235),b,new cljs.core.Keyword(null,"column","column",2078222095),f):g,null!=e&&(e.cljs$lang$protocol_mask$partition0$&262144||cljs.core.PROTOCOL_SENTINEL===e.cljs$core$IWithMeta$)?cljs.core.with_meta.call(null,e,cljs.core.merge.call(null,cljs.core.meta.call(null,e),b)):cljs.core.reset_meta_BANG_.call(null,e,b)):cljs.tools.reader.reader_types.reader_error.call(null,a,"Metadata can only be applied to IMetas")};
cljs.tools.reader.read_set=function(a,b,c,d){var e=cljs.tools.reader.starting_line_col_info.call(null,a);b=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);e=cljs.core.truth_(e)?e-1|0:null;c=cljs.tools.reader.read_delimited.call(null,"}",a,c,d);d=cljs.core.set.call(null,c);var f=cljs.tools.reader.ending_line_col_info.call(null,a),g=cljs.core.nth.call(null,f,0,null),f=cljs.core.nth.call(null,f,1,null);cljs.core._EQ_.call(null,cljs.core.count.call(null,c),cljs.core.count.call(null,
d))||cljs.tools.reader.reader_types.reader_error.call(null,a,cljs.tools.reader.duplicate_keys_error.call(null,"Set literal contains duplicate key",c));return cljs.core.with_meta.call(null,d,cljs.core.truth_(b)?cljs.core.merge.call(null,function(){var b=cljs.tools.reader.reader_types.get_file_name.call(null,a);return cljs.core.truth_(b)?new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"file","file",-1269645878),b],null):null}(),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,
"line","line",212345235),b,new cljs.core.Keyword(null,"column","column",2078222095),e,new cljs.core.Keyword(null,"end-line","end-line",1837326455),g,new cljs.core.Keyword(null,"end-column","end-column",1425389514),f],null)):null)};cljs.tools.reader.read_discard=function(a,b,c,d){cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d);return a};
cljs.tools.reader.RESERVED_FEATURES=new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"else","else",-1508377146),null,new cljs.core.Keyword(null,"none","none",1333468478),null],null),null);
cljs.tools.reader.has_feature_QMARK_=function(a,b,c){return b instanceof cljs.core.Keyword?cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"default","default",-1987822328),b)||cljs.core.contains_QMARK_.call(null,cljs.core.get.call(null,c,new cljs.core.Keyword(null,"features","features",-1146962336)),b):cljs.tools.reader.reader_types.reader_error.call(null,a,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Feature should be a keyword: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""))};
cljs.tools.reader.check_eof_error=function(a,b,c){return a===cljs.tools.reader.READ_EOF?0>c?cljs.tools.reader.reader_types.reader_error.call(null,b,"EOF while reading"):cljs.tools.reader.reader_types.reader_error.call(null,b,"EOF while reading, starting at line ",c):null};
cljs.tools.reader.check_reserved_features=function(a,b){return cljs.core.truth_(cljs.core.get.call(null,cljs.tools.reader.RESERVED_FEATURES,b))?cljs.tools.reader.reader_types.reader_error.call(null,a,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Feature name "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" is reserved")].join("")):null};
cljs.tools.reader.check_invalid_read_cond=function(a,b,c){return a===cljs.tools.reader.READ_FINISHED?0>c?cljs.tools.reader.reader_types.reader_error.call(null,b,"read-cond requires an even number of forms"):cljs.tools.reader.reader_types.reader_error.call(null,b,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("read-cond starting on line "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" requires an even number of forms")].join("")):null};
cljs.tools.reader.read_suppress=function(a,b,c,d){var e=cljs.tools.reader._STAR_suppress_read_STAR_;cljs.tools.reader._STAR_suppress_read_STAR_=!0;try{var f=cljs.tools.reader.read_STAR_.call(null,b,!1,cljs.tools.reader.READ_EOF,")",c,d);cljs.tools.reader.check_eof_error.call(null,f,b,a);return f===cljs.tools.reader.READ_FINISHED?cljs.tools.reader.READ_FINISHED:null}finally{cljs.tools.reader._STAR_suppress_read_STAR_=e}};
"undefined"===typeof cljs.tools.reader.NO_MATCH&&(cljs.tools.reader.NO_MATCH={});
cljs.tools.reader.match_feature=function(a,b,c,d){var e=cljs.tools.reader.read_STAR_.call(null,b,!1,cljs.tools.reader.READ_EOF,")",c,d);cljs.tools.reader.check_eof_error.call(null,e,b,a);if(cljs.core._EQ_.call(null,e,cljs.tools.reader.READ_FINISHED))return cljs.tools.reader.READ_FINISHED;cljs.tools.reader.check_reserved_features.call(null,b,e);if(cljs.core.truth_(cljs.tools.reader.has_feature_QMARK_.call(null,b,e,c)))return c=cljs.tools.reader.read_STAR_.call(null,b,!1,cljs.tools.reader.READ_EOF,
")",c,d),cljs.tools.reader.check_eof_error.call(null,c,b,a),cljs.tools.reader.check_invalid_read_cond.call(null,c,b,a),c;a=cljs.tools.reader.read_suppress.call(null,a,b,c,d);return cljs.core.truth_(a)?a:cljs.tools.reader.NO_MATCH};
cljs.tools.reader.read_cond_delimited=function(a,b,c,d){var e=cljs.core.truth_(cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,a))?cljs.tools.reader.reader_types.get_line_number.call(null,a):-1;a:for(var f=cljs.tools.reader.NO_MATCH,g=null;;)if(f===cljs.tools.reader.NO_MATCH)if(f=cljs.tools.reader.match_feature.call(null,e,a,c,d),f===cljs.tools.reader.READ_FINISHED){c=cljs.tools.reader.READ_FINISHED;break a}else g=null;else if(g!==cljs.tools.reader.READ_FINISHED)g=cljs.tools.reader.read_suppress.call(null,
e,a,c,d);else{c=f;break a}return c===cljs.tools.reader.READ_FINISHED?a:cljs.core.truth_(b)?null!=c&&(c.cljs$lang$protocol_mask$partition0$&16777216||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISequential$)?(goog.array.insertArrayAt(d,cljs.core.to_array.call(null,c),0),a):cljs.tools.reader.reader_types.reader_error.call(null,a,"Spliced form list in read-cond-splicing must implement java.util.List."):c};
cljs.tools.reader.read_cond=function(a,b,c,d){if(cljs.core.not.call(null,cljs.core.truth_(c)?(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"preserve","preserve",1276846509),null,new cljs.core.Keyword(null,"allow","allow",-1857325745),null],null),null)).call(null,(new cljs.core.Keyword(null,"read-cond","read-cond",1056899244)).cljs$core$IFn$_invoke$arity$1(c)):c))throw cljs.core.ex_info.call(null,"Conditional read not allowed",new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"runtime-exception","runtime-exception",-1495664514)],null));var e=cljs.tools.reader.reader_types.read_char.call(null,a);if(cljs.core.truth_(e))if(e=(b=cljs.core._EQ_.call(null,e,"@"))?cljs.tools.reader.reader_types.read_char.call(null,a):e,b&&(cljs.tools.reader._STAR_read_delim_STAR_||cljs.tools.reader.reader_types.reader_error.call(null,a,"cond-splice not in list")),e=cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,
e)?cljs.tools.reader.impl.commons.read_past.call(null,cljs.tools.reader.impl.utils.whitespace_QMARK_,a):e,cljs.core.truth_(e)){if(cljs.core.not_EQ_.call(null,e,"("))throw cljs.core.ex_info.call(null,"read-cond body must be a list",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"runtime-exception","runtime-exception",-1495664514)],null));var f=cljs.tools.reader._STAR_suppress_read_STAR_,g=cljs.tools.reader;var h=cljs.tools.reader._STAR_suppress_read_STAR_;
h=cljs.core.truth_(h)?h:cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"preserve","preserve",1276846509),(new cljs.core.Keyword(null,"read-cond","read-cond",1056899244)).cljs$core$IFn$_invoke$arity$1(c));g._STAR_suppress_read_STAR_=h;try{return cljs.core.truth_(cljs.tools.reader._STAR_suppress_read_STAR_)?cljs.tools.reader.impl.utils.reader_conditional.call(null,cljs.tools.reader.read_list.call(null,a,e,c,d),b):cljs.tools.reader.read_cond_delimited.call(null,a,b,c,d)}finally{cljs.tools.reader._STAR_suppress_read_STAR_=
f}}else return cljs.tools.reader.reader_types.reader_error.call(null,a,"EOF while reading character");else return cljs.tools.reader.reader_types.reader_error.call(null,a,"EOF while reading character")};cljs.tools.reader.arg_env=null;
cljs.tools.reader.garg=function(a){return cljs.core.symbol.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(-1===a?"rest":[cljs.core.str.cljs$core$IFn$_invoke$arity$1("p"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("")),cljs.core.str.cljs$core$IFn$_invoke$arity$1("__"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.impl.utils.next_id.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1("#")].join(""))};
cljs.tools.reader.read_fn=function(a,b,c,d){if(cljs.core.truth_(cljs.tools.reader.arg_env))throw cljs.core.ex_info.call(null,"Nested #()s are not allowed",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-state","illegal-state",-1519851182)],null));b=cljs.tools.reader.arg_env;cljs.tools.reader.arg_env=cljs.core.sorted_map.call(null);try{var e=cljs.tools.reader.read_STAR_.call(null,function(){cljs.tools.reader.reader_types.unread.call(null,
a,"(");return a}(),!0,null,c,d),f=cljs.core.rseq.call(null,cljs.tools.reader.arg_env),g=f?function(){var a=cljs.core.key.call(null,cljs.core.first.call(null,f)),b=function(){for(var b=1,c=cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY);;){if(b>a)return cljs.core.persistent_BANG_.call(null,c);var d=b+1,c=cljs.core.conj_BANG_.call(null,c,function(){var a=cljs.core.get.call(null,cljs.tools.reader.arg_env,b);return cljs.core.truth_(a)?a:cljs.tools.reader.garg.call(null,b)}()),b=d}}();
return cljs.core.truth_(cljs.tools.reader.arg_env.call(null,-1))?cljs.core.conj.call(null,b,new cljs.core.Symbol(null,"\x26","\x26",-2144855648,null),cljs.tools.reader.arg_env.call(null,-1)):b}():cljs.core.PersistentVector.EMPTY;return cljs.core._conj.call(null,cljs.core._conj.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,e),g),new cljs.core.Symbol(null,"fn*","fn*",-752876845,null))}finally{cljs.tools.reader.arg_env=b}};
cljs.tools.reader.register_arg=function(a){if(cljs.core.truth_(cljs.tools.reader.arg_env)){var b=cljs.tools.reader.arg_env.call(null,a);if(cljs.core.truth_(b))return b;b=cljs.tools.reader.garg.call(null,a);cljs.tools.reader.arg_env=cljs.core.assoc.call(null,cljs.tools.reader.arg_env,a,b);return b}throw cljs.core.ex_info.call(null,"Arg literal not in #()",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-state","illegal-state",
-1519851182)],null));};
cljs.tools.reader.read_arg=function(a,b,c,d){if(null==cljs.tools.reader.arg_env)return cljs.tools.reader.read_symbol.call(null,a,b);b=cljs.tools.reader.reader_types.peek_char.call(null,a);if(cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,b)||cljs.tools.reader.macro_terminating_QMARK_.call(null,b)||null==b)return cljs.tools.reader.register_arg.call(null,1);if(cljs.core._EQ_.call(null,b,"\x26"))return cljs.tools.reader.reader_types.read_char.call(null,a),cljs.tools.reader.register_arg.call(null,-1);
a=cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d);if(cljs.core.integer_QMARK_.call(null,a))return cljs.tools.reader.register_arg.call(null,a);throw cljs.core.ex_info.call(null,"Arg literal must be %, %\x26 or %integer",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-state","illegal-state",-1519851182)],null));};cljs.tools.reader.gensym_env=null;
cljs.tools.reader.read_unquote=function(a,b,c,d){b=cljs.tools.reader.reader_types.peek_char.call(null,a);return cljs.core.truth_(b)?cljs.core._EQ_.call(null,"@",b)?cljs.tools.reader.wrapping_reader.call(null,new cljs.core.Symbol("clojure.core","unquote-splicing","clojure.core/unquote-splicing",-552003150,null)).call(null,function(){cljs.tools.reader.reader_types.read_char.call(null,a);return a}(),"@",c,d):cljs.tools.reader.wrapping_reader.call(null,new cljs.core.Symbol("clojure.core","unquote","clojure.core/unquote",
843087510,null)).call(null,a,"~",c,d):null};cljs.tools.reader.unquote_splicing_QMARK_=function(a){return cljs.core.seq_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,cljs.core.first.call(null,a),new cljs.core.Symbol("clojure.core","unquote-splicing","clojure.core/unquote-splicing",-552003150,null))};
cljs.tools.reader.unquote_QMARK_=function(a){return cljs.core.seq_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,cljs.core.first.call(null,a),new cljs.core.Symbol("clojure.core","unquote","clojure.core/unquote",843087510,null))};
cljs.tools.reader.expand_list=function(a){a=cljs.core.seq.call(null,a);for(var b=cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY);;)if(a){var c=cljs.core.first.call(null,a),b=cljs.core.conj_BANG_.call(null,b,cljs.core.truth_(cljs.tools.reader.unquote_QMARK_.call(null,c))?cljs.core._conj.call(null,function(){var a=cljs.core.second.call(null,c);return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),new cljs.core.Symbol("clojure.core","list","clojure.core/list",-1119203325,null)):
cljs.core.truth_(cljs.tools.reader.unquote_splicing_QMARK_.call(null,c))?cljs.core.second.call(null,c):cljs.core._conj.call(null,function(){var a=cljs.tools.reader.syntax_quote_STAR_.call(null,c);return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),new cljs.core.Symbol("clojure.core","list","clojure.core/list",-1119203325,null)));a=cljs.core.next.call(null,a)}else return cljs.core.seq.call(null,cljs.core.persistent_BANG_.call(null,b))};
cljs.tools.reader.flatten_map=function(a){a=cljs.core.seq.call(null,a);for(var b=cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY);;)if(a){var c=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);b=cljs.core.conj_BANG_.call(null,cljs.core.conj_BANG_.call(null,b,cljs.core.key.call(null,c)),cljs.core.val.call(null,c))}else return cljs.core.seq.call(null,cljs.core.persistent_BANG_.call(null,b))};
cljs.tools.reader.register_gensym=function(a){if(cljs.core.not.call(null,cljs.tools.reader.gensym_env))throw cljs.core.ex_info.call(null,"Gensym literal not in syntax-quote",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-state","illegal-state",-1519851182)],null));var b=cljs.core.get.call(null,cljs.tools.reader.gensym_env,a);if(cljs.core.truth_(b))return b;b=cljs.core.symbol.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,
cljs.core.name.call(null,a),0,cljs.core.count.call(null,cljs.core.name.call(null,a))-1)),cljs.core.str.cljs$core$IFn$_invoke$arity$1("__"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.impl.utils.next_id.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1("__auto__")].join(""));cljs.tools.reader.gensym_env=cljs.core.assoc.call(null,cljs.tools.reader.gensym_env,a,b);return b};
cljs.tools.reader.add_meta=function(a,b){return function(){var b=null!=a?a.cljs$lang$protocol_mask$partition0$&262144||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IWithMeta$?!0:!1:!1;return b?cljs.core.seq.call(null,cljs.core.dissoc.call(null,cljs.core.meta.call(null,a),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"end-column","end-column",1425389514),
new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"source","source",-433931539))):b}()?cljs.core._conj.call(null,function(){return cljs.core._conj.call(null,function(){var b=cljs.tools.reader.syntax_quote_STAR_.call(null,cljs.core.meta.call(null,a));return cljs.core._conj.call(null,cljs.core.List.EMPTY,b)}(),b)}(),new cljs.core.Symbol("cljs.core","with-meta","cljs.core/with-meta",749126446,null)):b};
cljs.tools.reader.syntax_quote_coll=function(a,b){var c=cljs.core._conj.call(null,function(){var a=cljs.core.cons.call(null,new cljs.core.Symbol("cljs.core","concat","cljs.core/concat",-1133584918,null),cljs.tools.reader.expand_list.call(null,b));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),new cljs.core.Symbol("cljs.core","sequence","cljs.core/sequence",1908459032,null));return cljs.core.truth_(a)?cljs.core._conj.call(null,cljs.core._conj.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,
c),a),new cljs.core.Symbol("cljs.core","apply","cljs.core/apply",1757277831,null)):c};cljs.tools.reader.map_func=function(a){return 16<=cljs.core.count.call(null,a)?new cljs.core.Symbol("cljs.core","hash-map","cljs.core/hash-map",303385767,null):new cljs.core.Symbol("cljs.core","array-map","cljs.core/array-map",-1519210683,null)};cljs.tools.reader.bool_QMARK_=function(a){return a instanceof Boolean||!0===a||!1===a};
cljs.tools.reader.resolve_symbol=function(a){throw cljs.core.ex_info.call(null,"resolve-symbol is not implemented",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"sym","sym",-1444860305),a],null));};
cljs.tools.reader.syntax_quote_STAR_=function(a){return cljs.tools.reader.add_meta.call(null,a,cljs.core.special_symbol_QMARK_.call(null,a)?cljs.core._conj.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,a),new cljs.core.Symbol(null,"quote","quote",1377916282,null)):a instanceof cljs.core.Symbol?cljs.core._conj.call(null,function(){var b=cljs.core.truth_(function(){var b=cljs.core.not.call(null,cljs.core.namespace.call(null,a));return b?goog.string.endsWith(cljs.core.name.call(null,a),"#"):
b}())?cljs.tools.reader.register_gensym.call(null,a):cljs.tools.reader.resolve_symbol.call(null,a);return cljs.core._conj.call(null,cljs.core.List.EMPTY,b)}(),new cljs.core.Symbol(null,"quote","quote",1377916282,null)):cljs.core.truth_(cljs.tools.reader.unquote_QMARK_.call(null,a))?cljs.core.second.call(null,a):cljs.core.truth_(cljs.tools.reader.unquote_splicing_QMARK_.call(null,a))?function(){throw cljs.core.ex_info.call(null,"unquote-splice not in list",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"type","type",1174270348),new cljs.core.Keyword(null,"illegal-state","illegal-state",-1519851182)],null));}():cljs.core.coll_QMARK_.call(null,a)?null!=a&&(a.cljs$lang$protocol_mask$partition0$&67108864||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IRecord$)?a:cljs.core.map_QMARK_.call(null,a)?cljs.tools.reader.syntax_quote_coll.call(null,cljs.tools.reader.map_func.call(null,a),cljs.tools.reader.flatten_map.call(null,a)):cljs.core.vector_QMARK_.call(null,a)?cljs.core._conj.call(null,function(){var b=
cljs.tools.reader.syntax_quote_coll.call(null,null,a);return cljs.core._conj.call(null,cljs.core.List.EMPTY,b)}(),new cljs.core.Symbol("cljs.core","vec","cljs.core/vec",307622519,null)):cljs.core.set_QMARK_.call(null,a)?cljs.tools.reader.syntax_quote_coll.call(null,new cljs.core.Symbol("cljs.core","hash-set","cljs.core/hash-set",1130426749,null),a):cljs.core.seq_QMARK_.call(null,a)||cljs.core.list_QMARK_.call(null,a)?function(){var b=cljs.core.seq.call(null,a);return b?cljs.tools.reader.syntax_quote_coll.call(null,
null,b):cljs.core.list(new cljs.core.Symbol("cljs.core","list","cljs.core/list",-1331406371,null))}():function(){throw cljs.core.ex_info.call(null,"Unknown Collection type",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"unsupported-operation","unsupported-operation",1890540953)],null));}():cljs.core.truth_(function(){var b=a instanceof cljs.core.Keyword;if(b||(b="number"===typeof a)||(b="string"===typeof a)||(b=null==a))return b;
b=cljs.tools.reader.bool_QMARK_.call(null,a);return cljs.core.truth_(b)?b:a instanceof RegExp}())?a:cljs.core._conj.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,a),new cljs.core.Symbol(null,"quote","quote",1377916282,null)))};
cljs.tools.reader.read_syntax_quote=function(a,b,c,d){b=cljs.tools.reader.gensym_env;cljs.tools.reader.gensym_env=cljs.core.PersistentArrayMap.EMPTY;try{return cljs.tools.reader.syntax_quote_STAR_.call(null,cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d))}finally{cljs.tools.reader.gensym_env=b}};
cljs.tools.reader.read_namespaced_map=function(a,b,c,d){var e=cljs.tools.reader.read_token.call(null,a,cljs.tools.reader.reader_types.read_char.call(null,a));b=cljs.core._EQ_.call(null,e,":")?cljs.core.ns_name.call(null,cljs.core._STAR_ns_STAR_):cljs.core._EQ_.call(null,":",cljs.core.first.call(null,e))?function(){var a=null==e?null:cljs.core.subs.call(null,e,1),a=null==a?null:cljs.tools.reader.impl.commons.parse_symbol.call(null,a),a=null==a?null:cljs.tools.reader.impl.utils.second_SINGLEQUOTE_.call(null,
a),a=null==a?null:cljs.core.symbol.call(null,a);return null==a?null:cljs.tools.reader.resolve_ns.call(null,a)}():function(){var a=null==e?null:cljs.tools.reader.impl.commons.parse_symbol.call(null,e);return null==a?null:cljs.tools.reader.impl.utils.second_SINGLEQUOTE_.call(null,a)}();return cljs.core.truth_(b)?"{"===cljs.tools.reader.impl.commons.read_past.call(null,cljs.tools.reader.impl.utils.whitespace_QMARK_,a)?(c=cljs.tools.reader.read_delimited.call(null,"}",a,c,d),cljs.core.odd_QMARK_.call(null,
cljs.core.count.call(null,c))&&cljs.tools.reader.reader_types.reader_error.call(null,a,"Map literal must contain an even number of forms"),a=cljs.core.take_nth.call(null,2,c),c=cljs.core.take_nth.call(null,2,cljs.core.rest.call(null,c)),cljs.core.zipmap.call(null,cljs.tools.reader.impl.utils.namespace_keys.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),a),c)):cljs.tools.reader.reader_types.reader_error.call(null,a,"Namespaced map must specify a map"):cljs.tools.reader.reader_types.reader_error.call(null,
a,"Invalid token used as namespace in namespaced map: ",e)};
cljs.tools.reader.macros=function(a){switch(a){case '"':return cljs.tools.reader.read_string_STAR_;case ":":return cljs.tools.reader.read_keyword;case ";":return cljs.tools.reader.impl.commons.read_comment;case "'":return cljs.tools.reader.wrapping_reader.call(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null));case "@":return cljs.tools.reader.wrapping_reader.call(null,new cljs.core.Symbol("clojure.core","deref","clojure.core/deref",188719157,null));case "^":return cljs.tools.reader.read_meta;
case "`":return cljs.tools.reader.read_syntax_quote;case "~":return cljs.tools.reader.read_unquote;case "(":return cljs.tools.reader.read_list;case ")":return cljs.tools.reader.read_unmatched_delimiter;case "[":return cljs.tools.reader.read_vector;case "]":return cljs.tools.reader.read_unmatched_delimiter;case "{":return cljs.tools.reader.read_map;case "}":return cljs.tools.reader.read_unmatched_delimiter;case "\\":return cljs.tools.reader.read_char_STAR_;case "%":return cljs.tools.reader.read_arg;
case "#":return cljs.tools.reader.read_dispatch;default:return null}};
cljs.tools.reader.dispatch_macros=function(a){switch(a){case "^":return cljs.tools.reader.read_meta;case "'":return cljs.tools.reader.wrapping_reader.call(null,new cljs.core.Symbol(null,"var","var",870848730,null));case "(":return cljs.tools.reader.read_fn;case "{":return cljs.tools.reader.read_set;case "\x3c":return cljs.tools.reader.impl.commons.throwing_reader.call(null,"Unreadable form");case "\x3d":return cljs.tools.reader.impl.commons.throwing_reader.call(null,"read-eval not supported");case '"':return cljs.tools.reader.read_regex;
case "!":return cljs.tools.reader.impl.commons.read_comment;case "_":return cljs.tools.reader.read_discard;case "?":return cljs.tools.reader.read_cond;case ":":return cljs.tools.reader.read_namespaced_map;default:return null}};
cljs.tools.reader.read_tagged=function(a,b,c,d){b=cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d);b instanceof cljs.core.Symbol||cljs.tools.reader.reader_types.reader_error.call(null,a,"Reader tag must be a symbol");if(cljs.core.truth_(cljs.tools.reader._STAR_suppress_read_STAR_))return cljs.core.tagged_literal.call(null,b,cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d));var e=cljs.tools.reader._STAR_data_readers_STAR_.call(null,b);e=cljs.core.truth_(e)?e:cljs.tools.reader.default_data_readers.call(null,
b);if(cljs.core.truth_(e))return e.call(null,cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d));e=cljs.tools.reader._STAR_default_data_reader_fn_STAR_;return cljs.core.truth_(e)?e.call(null,b,cljs.tools.reader.read_STAR_.call(null,a,!0,null,c,d)):cljs.tools.reader.reader_types.reader_error.call(null,a,"No reader function for tag ",cljs.core.name.call(null,b))};cljs.tools.reader._STAR_data_readers_STAR_=cljs.core.PersistentArrayMap.EMPTY;cljs.tools.reader._STAR_default_data_reader_fn_STAR_=null;
cljs.tools.reader._STAR_suppress_read_STAR_=!1;cljs.tools.reader.default_data_readers=cljs.core.PersistentArrayMap.EMPTY;
cljs.tools.reader.read_STAR__internal=function(a,b,c,d,e,f){for(;;){if(cljs.tools.reader.reader_types.source_logging_reader_QMARK_.call(null,a)&&!cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,cljs.tools.reader.reader_types.peek_char.call(null,a)))return cljs.tools.reader.reader_types.log_source_STAR_.call(null,a,function(){for(;;)if(goog.array.isEmpty(f)){var g=cljs.tools.reader.reader_types.read_char.call(null,a);if(!cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,g)){if(null==
g)return b?cljs.tools.reader.reader_types.reader_error.call(null,a,"EOF"):c;if(g===d)return cljs.tools.reader.READ_FINISHED;if(cljs.tools.reader.impl.commons.number_literal_QMARK_.call(null,a,g))return cljs.tools.reader.read_number.call(null,a,g);var h=cljs.tools.reader.macros.call(null,g);if(null!=h){if(g=h.call(null,a,g,e,f),g!==a)return g}else return cljs.tools.reader.read_symbol.call(null,a,g)}}else return g=f[0],goog.array.removeAt(f,0),g});if(goog.array.isEmpty(f)){var g=cljs.tools.reader.reader_types.read_char.call(null,
a);if(!cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,g)){if(null==g)return b?cljs.tools.reader.reader_types.reader_error.call(null,a,"EOF"):c;if(g===d)return cljs.tools.reader.READ_FINISHED;if(cljs.tools.reader.impl.commons.number_literal_QMARK_.call(null,a,g))return cljs.tools.reader.read_number.call(null,a,g);var h=cljs.tools.reader.macros.call(null,g);if(null!=h){if(g=h.call(null,a,g,e,f),g!==a)return g}else return cljs.tools.reader.read_symbol.call(null,a,g)}}else return g=f[0],goog.array.removeAt(f,
0),g}};
cljs.tools.reader.read_STAR_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 5:return cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);case 6:return cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){return cljs.tools.reader.read_STAR_.call(null,a,b,c,null,d,e)};
cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){try{return cljs.tools.reader.read_STAR__internal.call(null,a,b,c,d,e,f)}catch(g){if(g instanceof Error){b=g;if(cljs.tools.reader.impl.utils.ex_info_QMARK_.call(null,b)){c=cljs.core.ex_data.call(null,b);if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"reader-exception","reader-exception",-1938323098),(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(c)))throw b;throw cljs.core.ex_info.call(null,
b.message,cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"reader-exception","reader-exception",-1938323098)],null),c,cljs.core.truth_(cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,a))?new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"line","line",212345235),cljs.tools.reader.reader_types.get_line_number.call(null,a),new cljs.core.Keyword(null,"column","column",2078222095),
cljs.tools.reader.reader_types.get_column_number.call(null,a),new cljs.core.Keyword(null,"file","file",-1269645878),cljs.tools.reader.reader_types.get_file_name.call(null,a)],null):null),b);}throw cljs.core.ex_info.call(null,b.message,cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"reader-exception","reader-exception",-1938323098)],null),cljs.core.truth_(cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,
a))?new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"line","line",212345235),cljs.tools.reader.reader_types.get_line_number.call(null,a),new cljs.core.Keyword(null,"column","column",2078222095),cljs.tools.reader.reader_types.get_column_number.call(null,a),new cljs.core.Keyword(null,"file","file",-1269645878),cljs.tools.reader.reader_types.get_file_name.call(null,a)],null):null),b);}throw g;}};cljs.tools.reader.read_STAR_.cljs$lang$maxFixedArity=6;
cljs.tools.reader.read=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.tools.reader.read.call(null,a,!0,null)};
cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"eof","eof",-489063237),new cljs.core.Keyword(null,"eofthrow","eofthrow",-334166531));return cljs.tools.reader.read_STAR_.call(null,b,cljs.core._EQ_.call(null,d,new cljs.core.Keyword(null,"eofthrow","eofthrow",-334166531)),
d,null,c,cljs.core.to_array.call(null,cljs.core.PersistentVector.EMPTY))};cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.tools.reader.read_STAR_.call(null,a,b,c,null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.to_array.call(null,cljs.core.PersistentVector.EMPTY))};cljs.tools.reader.read.cljs$lang$maxFixedArity=3;
cljs.tools.reader.read_string=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.tools.reader.read_string.call(null,cljs.core.PersistentArrayMap.EMPTY,a)};cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.truth_(cljs.core.truth_(b)?""!==b:b)?cljs.tools.reader.read.call(null,a,cljs.tools.reader.reader_types.string_push_back_reader.call(null,b)):null};cljs.tools.reader.read_string.cljs$lang$maxFixedArity=2;cljs.tools.reader.edn={};cljs.tools.reader.edn.macro_terminating_QMARK_=function(a){var b="#"!==a;return b&&(b="'"!==a)?(b=":"!==a)?cljs.tools.reader.edn.macros.call(null,a):b:b};cljs.tools.reader.edn.not_constituent_QMARK_=function(a){return"@"===a||"`"===a||"~"===a};
cljs.tools.reader.edn.read_token=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.tools.reader.edn.read_token.call(null,a,b,!0)};
cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(cljs.core.not.call(null,b))return cljs.tools.reader.reader_types.reader_error.call(null,a,"EOF while reading");if(cljs.core.truth_(cljs.core.truth_(c)?cljs.tools.reader.edn.not_constituent_QMARK_.call(null,b):c))return cljs.tools.reader.reader_types.reader_error.call(null,a,"Invalid leading character: ",b);c=new goog.string.StringBuffer;for(cljs.tools.reader.reader_types.unread.call(null,a,b);;){if(cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,
b)||cljs.tools.reader.edn.macro_terminating_QMARK_.call(null,b)||null==b)return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(c);if(cljs.tools.reader.edn.not_constituent_QMARK_.call(null,b))return cljs.tools.reader.reader_types.reader_error.call(null,a,"Invalid constituent character: ",b);c.append(cljs.tools.reader.reader_types.read_char.call(null,a));b=cljs.tools.reader.reader_types.peek_char.call(null,a)}};cljs.tools.reader.edn.read_token.cljs$lang$maxFixedArity=3;
cljs.tools.reader.edn.read_dispatch=function(a,b,c){var d=cljs.tools.reader.reader_types.read_char.call(null,a);if(cljs.core.truth_(d)){b=cljs.tools.reader.edn.dispatch_macros.call(null,d);if(cljs.core.truth_(b))return b.call(null,a,d,c);c=cljs.tools.reader.edn.read_tagged.call(null,function(){cljs.tools.reader.reader_types.unread.call(null,a,d);return a}(),d,c);return cljs.core.truth_(c)?c:cljs.tools.reader.reader_types.reader_error.call(null,a,"No dispatch macro for ",d)}return cljs.tools.reader.reader_types.reader_error.call(null,
a,"EOF while reading character")};cljs.tools.reader.edn.read_unmatched_delimiter=function(a,b,c){return cljs.tools.reader.reader_types.reader_error.call(null,a,"Unmatched delimiter ",b)};
cljs.tools.reader.edn.read_unicode_char=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 4:return cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){c=b+c;if(cljs.core.count.call(null,a)!==c)throw cljs.core.ex_info.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid unicode character: \\"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-argument","illegal-argument",-1845493170)],null));for(var e=0;;){if(b===
c)return String.fromCharCode(e);var f=cljs.tools.reader.char_code.call(null,cljs.core.nth.call(null,a,b),d);if(-1===f)throw cljs.core.ex_info.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid digit: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,a,b))].join(""),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-argument","illegal-argument",-1845493170)],null));e=f+e*d;b+=1}};
cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){for(var f=1,g=cljs.tools.reader.char_code.call(null,b,c);;){if(-1===g)throw cljs.core.ex_info.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid digit: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-argument","illegal-argument",-1845493170)],null));if(f!==
d){var h=cljs.tools.reader.reader_types.peek_char.call(null,a);if(cljs.core.truth_(function(){var a=cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,h);if(a)return a;a=cljs.tools.reader.edn.macros.call(null,h);return cljs.core.truth_(a)?a:null==h}())){if(cljs.core.truth_(e))throw cljs.core.ex_info.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid character length: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(f),cljs.core.str.cljs$core$IFn$_invoke$arity$1(", should be: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join(""),
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-argument","illegal-argument",-1845493170)],null));return String.fromCharCode(g)}var k=cljs.tools.reader.char_code.call(null,h,c);cljs.tools.reader.reader_types.read_char.call(null,a);if(-1===k)throw cljs.core.ex_info.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid digit: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(h)].join(""),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"illegal-argument","illegal-argument",-1845493170)],null));g=k+g*c;f+=1}else return String.fromCharCode(g)}};cljs.tools.reader.edn.read_unicode_char.cljs$lang$maxFixedArity=5;cljs.tools.reader.edn.upper_limit=0;cljs.tools.reader.edn.lower_limit=0;
cljs.tools.reader.edn.read_char_STAR_=function(a,b,c){b=cljs.tools.reader.reader_types.read_char.call(null,a);if(null!=b){b=cljs.tools.reader.edn.macro_terminating_QMARK_.call(null,b)||cljs.tools.reader.edn.not_constituent_QMARK_.call(null,b)||cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,b)?""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(b):cljs.tools.reader.edn.read_token.call(null,a,b,!1);c=cljs.core.count.call(null,b);if(1===c)return cljs.core.nth.call(null,b,0);if("newline"===b)return"\n";
if("space"===b)return" ";if("tab"===b)return"\t";if("backspace"===b)return"\b";if("formfeed"===b)return"\f";if("return"===b)return"\r";if(cljs.core.truth_(goog.string.startsWith(b,"u")))return b=cljs.tools.reader.edn.read_unicode_char.call(null,b,1,4,16),c=b.charCodeAt(),c>cljs.tools.reader.edn.upper_limit&&c<cljs.tools.reader.edn.lower_limit?cljs.tools.reader.reader_types.reader_error.call(null,a,"Invalid character constant: \\u",b):b;if(cljs.core.truth_(goog.string.startsWith(b,"o"))){--c;if(3<
c)return cljs.tools.reader.reader_types.reader_error.call(null,a,"Invalid octal escape sequence length: ",c);b=cljs.tools.reader.edn.read_unicode_char.call(null,b,1,c,8);return 255<(b|0)?cljs.tools.reader.reader_types.reader_error.call(null,a,"Octal escape sequence must be in range [0, 377]"):b}return cljs.tools.reader.reader_types.reader_error.call(null,a,"Unsupported character: \\",b)}return cljs.tools.reader.reader_types.reader_error.call(null,a,"EOF while reading character")};
cljs.tools.reader.edn.read_delimited=function(a,b,c){var d=cljs.core.truth_(cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,b))?cljs.tools.reader.reader_types.get_line_number.call(null,b):null;a=cljs.tools.reader.impl.utils.char$.call(null,a);for(var e=cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY);;){var f=cljs.tools.reader.impl.commons.read_past.call(null,cljs.tools.reader.impl.utils.whitespace_QMARK_,b);cljs.core.truth_(f)||cljs.tools.reader.reader_types.reader_error.call(null,
b,"EOF while reading",cljs.core.truth_(d)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(", starting at line"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join(""):null);if(cljs.core._EQ_.call(null,a,cljs.tools.reader.impl.utils.char$.call(null,f)))return cljs.core.persistent_BANG_.call(null,e);var g=cljs.tools.reader.edn.macros.call(null,f),g=cljs.core.truth_(g)?g.call(null,b,f,c):cljs.tools.reader.edn.read.call(null,function(){cljs.tools.reader.reader_types.unread.call(null,b,f);return b}(),!0,
null,c),e=g!==b?cljs.core.conj_BANG_.call(null,e,g):e}};cljs.tools.reader.edn.read_list=function(a,b,c){a=cljs.tools.reader.edn.read_delimited.call(null,")",a,c);return cljs.core.empty_QMARK_.call(null,a)?cljs.core.List.EMPTY:cljs.core.apply.call(null,cljs.core.list,a)};cljs.tools.reader.edn.read_vector=function(a,b,c){return cljs.tools.reader.edn.read_delimited.call(null,"]",a,c)};
cljs.tools.reader.edn.read_map=function(a,b,c){b=cljs.core.to_array.call(null,cljs.tools.reader.edn.read_delimited.call(null,"}",a,c));1===(b.length&1)&&cljs.tools.reader.reader_types.reader_error.call(null,a,"Map literal must contain an even number of forms");return cljs.core.apply.call(null,cljs.core.hash_map,b)};
cljs.tools.reader.edn.read_number=function(a,b,c){for(var d=function(){var a=new goog.string.StringBuffer;a.append(b);return a}(),e=cljs.tools.reader.reader_types.read_char.call(null,a);;){if(cljs.core.truth_(function(){var a=cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,e);if(a)return a;a=cljs.tools.reader.edn.macros.call(null,e);return cljs.core.truth_(a)?a:null==e}())){c=""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(d);cljs.tools.reader.reader_types.unread.call(null,a,e);var f=cljs.tools.reader.impl.commons.match_number.call(null,
c);return cljs.core.truth_(f)?f:cljs.tools.reader.reader_types.reader_error.call(null,a,"Invalid number format [",c,"]")}c=function(){var a=d;a.append(e);return a}();f=cljs.tools.reader.reader_types.read_char.call(null,a);d=c;e=f}};
cljs.tools.reader.edn.escape_char=function(a,b){var c=cljs.tools.reader.reader_types.read_char.call(null,b);switch(c){case "t":return"\t";case "r":return"\r";case "n":return"\n";case "\\":return"\\";case '"':return'"';case "b":return"\b";case "f":return"\f";case "u":return c=cljs.tools.reader.reader_types.read_char.call(null,b),-1===parseInt(c|0,16)?cljs.tools.reader.reader_types.reader_error.call(null,b,"Invalid unicode escape: \\u",c):cljs.tools.reader.edn.read_unicode_char.call(null,b,c,16,4,!0);
default:return cljs.tools.reader.impl.utils.numeric_QMARK_.call(null,c)?(c=cljs.tools.reader.edn.read_unicode_char.call(null,b,c,8,3,!1),223<(c|0)?cljs.tools.reader.reader_types.reader_error.call(null,b,"Octal escape sequence must be in range [0, 377]"):c):cljs.tools.reader.reader_types.reader_error.call(null,b,"Unsupported escape character: \\",c)}};
cljs.tools.reader.edn.read_string_STAR_=function(a,b,c){for(var d=new goog.string.StringBuffer,e=cljs.tools.reader.reader_types.read_char.call(null,a);;){b=e;if(cljs.core._EQ_.call(null,null,b))return cljs.tools.reader.reader_types.reader_error.call(null,a,"EOF while reading string");if(cljs.core._EQ_.call(null,"\\",b))b=function(){var b=d;b.append(cljs.tools.reader.edn.escape_char.call(null,d,a));return b}();else{if(cljs.core._EQ_.call(null,'"',b))return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(d);
b=function(){var a=d;a.append(e);return a}()}c=cljs.tools.reader.reader_types.read_char.call(null,a);d=b;e=c}};
cljs.tools.reader.edn.read_symbol=function(a,b){var c=cljs.tools.reader.edn.read_token.call(null,a,b);if(cljs.core.truth_(c))switch(c){case "nil":return null;case "true":return!0;case "false":return!1;case "/":return new cljs.core.Symbol(null,"/","/",-1371932971,null);case "NaN":return Number.NaN;case "-Infinity":return Number.NEGATIVE_INFINITY;case "Infinity":case "+Infinity":return Number.POSITIVE_INFINITY;default:var d=cljs.tools.reader.impl.commons.parse_symbol.call(null,c);d=cljs.core.truth_(d)?
cljs.core.symbol.call(null,d.call(null,0),d.call(null,1)):null;return cljs.core.truth_(d)?d:cljs.tools.reader.reader_types.reader_error.call(null,a,"Invalid token: ",c)}else return null};
cljs.tools.reader.edn.read_keyword=function(a,b,c){b=cljs.tools.reader.reader_types.read_char.call(null,a);if(cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,b))return cljs.tools.reader.reader_types.reader_error.call(null,a,"Invalid token: :");b=cljs.tools.reader.edn.read_token.call(null,a,b);var d=cljs.tools.reader.impl.commons.parse_symbol.call(null,b);return cljs.core.truth_(cljs.core.truth_(d)?-1===b.indexOf("::"):d)?(c=d.call(null,0),d=d.call(null,1),":"===cljs.core.nth.call(null,b,
0)?cljs.tools.reader.reader_types.reader_error.call(null,a,"Invalid token: :",b):cljs.core.keyword.call(null,c,d)):cljs.tools.reader.reader_types.reader_error.call(null,a,"Invalid token: :",b)};cljs.tools.reader.edn.wrapping_reader=function(a){return function(b,c,d){return cljs.core._conj.call(null,function(){var a=cljs.tools.reader.edn.read.call(null,b,!0,null,d);return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),a)}};
cljs.tools.reader.edn.read_meta=function(a,b,c){b=cljs.tools.reader.impl.utils.desugar_meta.call(null,cljs.tools.reader.edn.read.call(null,a,!0,null,c));cljs.core.map_QMARK_.call(null,b)||cljs.tools.reader.reader_types.reader_error.call(null,a,"Metadata must be Symbol, Keyword, String or Map");c=cljs.tools.reader.edn.read.call(null,a,!0,null,c);return null!=c&&(c.cljs$lang$protocol_mask$partition0$&131072||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$IMeta$)?cljs.core.with_meta.call(null,c,cljs.core.merge.call(null,
cljs.core.meta.call(null,c),b)):cljs.tools.reader.reader_types.reader_error.call(null,a,"Metadata can only be applied to IMetas")};cljs.tools.reader.edn.read_set=function(a,b,c){return cljs.core.set.call(null,cljs.tools.reader.edn.read_delimited.call(null,"}",a,c))};cljs.tools.reader.edn.read_discard=function(a,b,c){cljs.tools.reader.edn.read.call(null,a,!0,null,!0);return a};
cljs.tools.reader.edn.read_namespaced_map=function(a,b,c){var d=cljs.tools.reader.edn.read_token.call(null,a,cljs.tools.reader.reader_types.read_char.call(null,a));b=null==d?null:cljs.tools.reader.impl.commons.parse_symbol.call(null,d);b=null==b?null:cljs.tools.reader.impl.utils.second_SINGLEQUOTE_.call(null,b);return cljs.core.truth_(b)?"{"===cljs.tools.reader.impl.commons.read_past.call(null,cljs.tools.reader.impl.utils.whitespace_QMARK_,a)?(c=cljs.tools.reader.edn.read_delimited.call(null,"}",
a,c),cljs.core.odd_QMARK_.call(null,cljs.core.count.call(null,c))&&cljs.tools.reader.reader_types.reader_error.call(null,a,"Map literal must contain an even number of forms"),a=cljs.core.take_nth.call(null,2,c),c=cljs.core.take_nth.call(null,2,cljs.core.rest.call(null,c)),cljs.core.zipmap.call(null,cljs.tools.reader.impl.utils.namespace_keys.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),a),c)):cljs.tools.reader.reader_types.reader_error.call(null,a,"Namespaced map must specify a map"):
cljs.tools.reader.reader_types.reader_error.call(null,a,"Invalid token used as namespace in namespaced map: ",d)};
cljs.tools.reader.edn.macros=function(a){switch(a){case '"':return cljs.tools.reader.edn.read_string_STAR_;case ":":return cljs.tools.reader.edn.read_keyword;case ";":return cljs.tools.reader.impl.commons.read_comment;case "^":return cljs.tools.reader.edn.read_meta;case "(":return cljs.tools.reader.edn.read_list;case ")":return cljs.tools.reader.edn.read_unmatched_delimiter;case "[":return cljs.tools.reader.edn.read_vector;case "]":return cljs.tools.reader.edn.read_unmatched_delimiter;case "{":return cljs.tools.reader.edn.read_map;
case "}":return cljs.tools.reader.edn.read_unmatched_delimiter;case "\\":return cljs.tools.reader.edn.read_char_STAR_;case "#":return cljs.tools.reader.edn.read_dispatch;default:return null}};
cljs.tools.reader.edn.dispatch_macros=function(a){switch(a){case "^":return cljs.tools.reader.edn.read_meta;case "{":return cljs.tools.reader.edn.read_set;case "\x3c":return cljs.tools.reader.impl.commons.throwing_reader.call(null,"Unreadable form");case "!":return cljs.tools.reader.impl.commons.read_comment;case "_":return cljs.tools.reader.edn.read_discard;case ":":return cljs.tools.reader.edn.read_namespaced_map;default:return null}};
cljs.tools.reader.edn.read_tagged=function(a,b,c){b=cljs.tools.reader.edn.read.call(null,a,!0,null,c);var d=cljs.tools.reader.edn.read.call(null,a,!0,null,c);b instanceof cljs.core.Symbol||cljs.tools.reader.reader_types.reader_error.call(null,a,"Reader tag must be a symbol");var e=cljs.core.get.call(null,(new cljs.core.Keyword(null,"readers","readers",-2118263030)).cljs$core$IFn$_invoke$arity$1(c),b);e=cljs.core.truth_(e)?e:cljs.tools.reader.default_data_readers.call(null,b);if(cljs.core.truth_(e))return e.call(null,
d);c=(new cljs.core.Keyword(null,"default","default",-1987822328)).cljs$core$IFn$_invoke$arity$1(c);return cljs.core.truth_(c)?c.call(null,b,d):cljs.tools.reader.reader_types.reader_error.call(null,a,"No reader function for tag ",cljs.core.name.call(null,b))};
cljs.tools.reader.edn.read=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 4:return cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.tools.reader.edn.read.call(null,cljs.core.PersistentArrayMap.EMPTY,a)};
cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"eof","eof",-489063237)),e=!cljs.core.contains_QMARK_.call(null,c,new cljs.core.Keyword(null,"eof","eof",-489063237));return cljs.tools.reader.edn.read.call(null,b,e,d,c)};
cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){try{for(;;){var e=cljs.tools.reader.reader_types.read_char.call(null,a);if(!cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,e)){if(null==e)return cljs.core.truth_(b)?cljs.tools.reader.reader_types.reader_error.call(null,a,"EOF"):c;if(cljs.tools.reader.impl.commons.number_literal_QMARK_.call(null,a,e))return cljs.tools.reader.edn.read_number.call(null,a,e,d);var f=cljs.tools.reader.edn.macros.call(null,e);if(cljs.core.truth_(f)){var g=
f.call(null,a,e,d);if(g!==a)return g}else return cljs.tools.reader.edn.read_symbol.call(null,a,e)}}}catch(h){if(h instanceof Error){b=h;if(cljs.tools.reader.impl.utils.ex_info_QMARK_.call(null,b)){c=cljs.core.ex_data.call(null,b);if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"reader-exception","reader-exception",-1938323098),(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(c)))throw b;throw cljs.core.ex_info.call(null,b.message,cljs.core.merge.call(null,
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"reader-exception","reader-exception",-1938323098)],null),c,cljs.core.truth_(cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,a))?new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"line","line",212345235),cljs.tools.reader.reader_types.get_line_number.call(null,a),new cljs.core.Keyword(null,"column","column",2078222095),cljs.tools.reader.reader_types.get_column_number.call(null,
a),new cljs.core.Keyword(null,"file","file",-1269645878),cljs.tools.reader.reader_types.get_file_name.call(null,a)],null):null),b);}throw cljs.core.ex_info.call(null,b.message,cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"reader-exception","reader-exception",-1938323098)],null),cljs.core.truth_(cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,a))?new cljs.core.PersistentArrayMap(null,
3,[new cljs.core.Keyword(null,"line","line",212345235),cljs.tools.reader.reader_types.get_line_number.call(null,a),new cljs.core.Keyword(null,"column","column",2078222095),cljs.tools.reader.reader_types.get_column_number.call(null,a),new cljs.core.Keyword(null,"file","file",-1269645878),cljs.tools.reader.reader_types.get_file_name.call(null,a)],null):null),b);}throw h;}};cljs.tools.reader.edn.read.cljs$lang$maxFixedArity=4;
cljs.tools.reader.edn.read_string=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.tools.reader.edn.read_string.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"eof","eof",-489063237),null],null),a)};
cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.truth_(cljs.core.truth_(b)?cljs.core.not_EQ_.call(null,b,""):b)?cljs.tools.reader.edn.read.call(null,a,cljs.tools.reader.reader_types.string_push_back_reader.call(null,b)):null};cljs.tools.reader.edn.read_string.cljs$lang$maxFixedArity=2;var taoensso={truss:{}};taoensso.truss.impl={};taoensso.truss.impl.rsome=function(a,b){return cljs.core.reduce.call(null,function(b,d){var c=a.call(null,d);return cljs.core.truth_(c)?cljs.core.reduced.call(null,c):null},null,b)};taoensso.truss.impl.revery_QMARK_=function(a,b){return cljs.core.reduce.call(null,function(b,d){return cljs.core.truth_(a.call(null,d))?!0:cljs.core.reduced.call(null,null)},!0,b)};taoensso.truss.impl.some_QMARK_=function(a){return null==a?!1:!0};
taoensso.truss.impl.set_STAR_=cljs.core.set;taoensso.truss.impl.ks_EQ_=function(a,b){return cljs.core._EQ_.call(null,cljs.core.set.call(null,cljs.core.keys.call(null,b)),taoensso.truss.impl.set_STAR_.call(null,a))};taoensso.truss.impl.ks_LT__EQ_=function(a,b){return clojure.set.subset_QMARK_.call(null,cljs.core.set.call(null,cljs.core.keys.call(null,b)),taoensso.truss.impl.set_STAR_.call(null,a))};
taoensso.truss.impl.ks_GT__EQ_=function(a,b){return clojure.set.superset_QMARK_.call(null,cljs.core.set.call(null,cljs.core.keys.call(null,b)),taoensso.truss.impl.set_STAR_.call(null,a))};taoensso.truss.impl.ks_nnil_QMARK_=function(a,b){return taoensso.truss.impl.revery_QMARK_.call(null,function(a){return taoensso.truss.impl.some_QMARK_.call(null,cljs.core.get.call(null,b,a))},a)};
taoensso.truss.impl.default_error_fn=function(a){a=cljs.core.deref.call(null,a);throw cljs.core.ex_info.call(null,cljs.core.deref.call(null,(new cljs.core.Keyword(null,"msg_","msg_",-1925147E3)).cljs$core$IFn$_invoke$arity$1(a)),cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"msg_","msg_",-1925147E3)));};taoensso.truss.impl._STAR__QMARK_data_STAR_=null;taoensso.truss.impl._STAR_error_fn_STAR_=taoensso.truss.impl.default_error_fn;
taoensso.truss.impl.non_throwing=function(a){return function(b){try{return a.call(null,b)}catch(c){if(c instanceof Error)return null;throw c;}}};taoensso.truss.impl.non_throwing_QMARK_=function(a){return!1};
taoensso.truss.impl._xpred=function(a){if(cljs.core.vector_QMARK_.call(null,a)){var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),d=cljs.core.nth.call(null,a,2,null),e=cljs.core.nth.call(null,a,3,null);if(!cljs.core.truth_(c))throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Assert failed: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1("Special predicate [\x3cspecial-type\x3e \x3carg\x3e] form w/o \x3carg\x3e"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("\n"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("a1")].join(""));
var f=b instanceof cljs.core.Keyword?b.fqn:null;switch(f){case "el":return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null)),function(){var a=cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,
new cljs.core.Symbol(null,"x","x",-555367584,null))))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null)),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("taoensso.truss.impl",
"set*","taoensso.truss.impl/set*",2039920610,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,c))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}()))),!1],null);case "ks-nnil?":return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,
cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null)),function(){var a=cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null))))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,
cljs.core.List.EMPTY,new cljs.core.Symbol("taoensso.truss.impl","ks-nnil?","taoensso.truss.impl/ks-nnil?",1913972845,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,c),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}()))),!1],null);case "ks\x3c\x3d":return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,
cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null)),function(){var a=cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null))))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,
cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("taoensso.truss.impl","ks\x3c\x3d","taoensso.truss.impl/ks\x3c\x3d",1973794033,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,c),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}()))),!1],null);case "ks\x3d":return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,
cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null)),function(){var a=cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null))))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,
cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("taoensso.truss.impl","ks\x3d","taoensso.truss.impl/ks\x3d",1308270826,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,c),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}()))),!1],null);case "ks\x3e\x3d":return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null)),function(){var a=cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null))))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=
cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("taoensso.truss.impl","ks\x3e\x3d","taoensso.truss.impl/ks\x3e\x3d",-14177732,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,c),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}()))),!1],null);case "not-in":return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null)),function(){var a=cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null))))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,
a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","not","cljs.core/not",100665144,null)),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null)),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,
cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("taoensso.truss.impl","set*","taoensso.truss.impl/set*",2039920610,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,c))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}())));return cljs.core._conj.call(null,cljs.core.List.EMPTY,
a)}()))),!1],null);case "not-el":return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null)),function(){var a=cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,
"x","x",-555367584,null))))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","not","cljs.core/not",100665144,null)),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",
-976526835,null)),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("taoensso.truss.impl","set*","taoensso.truss.impl/set*",2039920610,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,c))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,
cljs.core.List.EMPTY,a)}())));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}()))),!1],null);case "set\x3c\x3d":return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null)),function(){var a=cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,
cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null))))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("clojure.set","subset?","clojure.set/subset?",909155479,null)),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,
cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("taoensso.truss.impl","set*","taoensso.truss.impl/set*",2039920610,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("taoensso.truss.impl","set*","taoensso.truss.impl/set*",
2039920610,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,c))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}())));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}()))),!1],null);case "set\x3e\x3d":return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,
null)),function(){var a=cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null))))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("clojure.set","superset?","clojure.set/superset?",
22098740,null)),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("taoensso.truss.impl","set*","taoensso.truss.impl/set*",2039920610,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,
cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("taoensso.truss.impl","set*","taoensso.truss.impl/set*",2039920610,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,c))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}())));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}()))),!1],null);case "set\x3d":return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,
cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null)),function(){var a=cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null))))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,
cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","\x3d","cljs.core/\x3d",-1891498332,null)),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("taoensso.truss.impl","set*","taoensso.truss.impl/set*",2039920610,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=
cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("taoensso.truss.impl","set*","taoensso.truss.impl/set*",2039920610,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,c))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}())));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}()))),!1],null);case "in":return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null)),function(){var a=cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null))))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=
cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null)),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("taoensso.truss.impl","set*","taoensso.truss.impl/set*",2039920610,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,c))));
return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}()))),!1],null);default:a=function(a,b,c,d,e,f,g){return function(a){return cljs.core.truth_(a)?taoensso.truss.impl._xpred.call(null,a):null}}(b,f,a,b,c,d,e);var e=new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a.call(null,c),a.call(null,d),a.call(null,
e)],null),d=cljs.core.nth.call(null,e,0,null),g=cljs.core.nth.call(null,d,0,null),d=cljs.core.nth.call(null,d,1,null);a=cljs.core.nth.call(null,e,1,null);var h=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);var e=cljs.core.nth.call(null,e,2,null),k=cljs.core.nth.call(null,e,0,null),e=cljs.core.nth.call(null,e,1,null),l=cljs.core.truth_(g)?cljs.core.truth_(d)?g:cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,
new cljs.core.Symbol("taoensso.truss.impl","non-throwing","taoensso.truss.impl/non-throwing",-1408931246,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,g)))):null,m=cljs.core.truth_(h)?cljs.core.truth_(a)?h:cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("taoensso.truss.impl","non-throwing","taoensso.truss.impl/non-throwing",-1408931246,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,h)))):
null,n=cljs.core.truth_(k)?cljs.core.truth_(e)?k:cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("taoensso.truss.impl","non-throwing","taoensso.truss.impl/non-throwing",-1408931246,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,k)))):null,e=cljs.core.truth_(k)?cljs.core.truth_(d)?cljs.core.truth_(a)?e:a:d:cljs.core.truth_(h)?cljs.core.truth_(d)?a:d:cljs.core.truth_(g)?d:null,b=b instanceof cljs.core.Keyword?
b.fqn:null;switch(b){case "and":return cljs.core.truth_(k)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null)),function(){var a=cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,
new cljs.core.Symbol(null,"x","x",-555367584,null))))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","and","cljs.core/and",-6692549,null)),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,g),cljs.core._conj.call(null,
cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,h),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,
cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,k),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}())));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}()))),e],null):cljs.core.truth_(h)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,
cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null)),function(){var a=cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null))))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,
new cljs.core.Symbol("cljs.core","and","cljs.core/and",-6692549,null)),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,g),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,
cljs.core.List.EMPTY,h),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}())));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}()))),e],null):cljs.core.truth_(g)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[g,d],null):null;case "or":return cljs.core.truth_(k)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,
cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null)),function(){var a=cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null))))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,
cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","or","cljs.core/or",1201033885,null)),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,l),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,
cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,m),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,n),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,
cljs.core.List.EMPTY,a)}())));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}()))),!0],null):cljs.core.truth_(h)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null)),function(){var a=cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,
cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null))))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","or","cljs.core/or",1201033885,null)),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,
cljs.core.List.EMPTY,l),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,m),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}())));return cljs.core._conj.call(null,
cljs.core.List.EMPTY,a)}()))),!0],null):cljs.core.truth_(g)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[g,d],null):null;case "not":return cljs.core.truth_(k)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null)),function(){var a=cljs.core.vec.call(null,
cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null))))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","not","cljs.core/not",100665144,null)),function(){var a=cljs.core.sequence.call(null,
cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","or","cljs.core/or",1201033885,null)),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,g),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,
cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,h),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,k),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,
null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}())));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}())));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}()))),e],null):cljs.core.truth_(h)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null)),
function(){var a=cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null))))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","not","cljs.core/not",100665144,null)),function(){var a=
cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","or","cljs.core/or",1201033885,null)),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,g),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,
a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,h),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}())));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}())));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}()))),e],null):cljs.core.truth_(g)?new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null)),function(){var a=cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null))))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,
a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","not","cljs.core/not",100665144,null)),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,g),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"x","x",-555367584,null)))));return cljs.core._conj.call(null,
cljs.core.List.EMPTY,a)}())));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}()))),d],null):null;default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));}}}else return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,taoensso.truss.impl.non_throwing_QMARK_.call(null,a)],null)};
taoensso.truss.impl.fmt_err_msg=function(a,b,c,d){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invariant violation in `"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(":"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1("`. Test form `"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),cljs.core.str.cljs$core$IFn$_invoke$arity$1("` failed against input val `"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),
cljs.core.str.cljs$core$IFn$_invoke$arity$1("`.")].join("")};taoensso.truss.impl.WrappedError=function(a){this.val=a};taoensso.truss.impl.WrappedError.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"val","val",1769233139,null)],null)};taoensso.truss.impl.WrappedError.cljs$lang$type=!0;taoensso.truss.impl.WrappedError.cljs$lang$ctorStr="taoensso.truss.impl/WrappedError";
taoensso.truss.impl.WrappedError.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"taoensso.truss.impl/WrappedError")};taoensso.truss.impl.__GT_WrappedError=function(a){return new taoensso.truss.impl.WrappedError(a)};taoensso.truss.impl._assertion_error=function(a){return Error(a)};taoensso.truss.impl._dummy_error={};
taoensso.truss.impl._invar_violation_BANG_=function(a,b,c,d,e,f,g){var h=taoensso.truss.impl._STAR_error_fn_STAR_;return cljs.core.truth_(h)?h.call(null,new cljs.core.Delay(function(h,l){return function(){var k=new Date,n=cljs.core.truth_(c)?c:"?",p=""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),q=e instanceof taoensso.truss.impl.WrappedError,r=q?"\x3ctruss/undefined-val\x3e":null==e?"\x3ctruss/nil\x3e":cljs.core.pr_str.call(null,e),u=taoensso.truss.impl._dummy_error===f?null:f instanceof taoensso.truss.impl.WrappedError?
f.val:f,n=new cljs.core.Delay(function(a,c,d,e,f,g,h,k){return function(){var a=cljs.core.truth_(g)?""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(g):null;var h=taoensso.truss.impl.fmt_err_msg.call(null,b,c,d,f);return cljs.core.not.call(null,g)?h:e?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(h),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" An error was thrown while evaluating input val: ["),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1("].")].join(""):
[cljs.core.str.cljs$core$IFn$_invoke$arity$1(h),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" An error was thrown while evaluating test form: ["),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1("].")].join("")}}(k,n,p,q,r,u,h,l),null),r=function(){if(cljs.core.truth_(g))try{return g.call(null)}catch(v){if(v instanceof Error){var a=v;return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"data-error","data-error",-1058016301),a],null)}throw v;
}else return null}();return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"*?data*","*?data*",1047537922),new cljs.core.Keyword(null,"msg_","msg_",-1925147E3),new cljs.core.Keyword(null,"elidable?","elidable?",248362249),new cljs.core.Keyword(null,"dt","dt",-368444759),new cljs.core.Keyword(null,"val","val",128701612),new cljs.core.Keyword(null,"ns-str","ns-str",-2062616499),new cljs.core.Keyword(null,"val-type","val-type",-279850094),new cljs.core.Keyword(null,"?err","?err",
549653299),new cljs.core.Keyword(null,"*assert*","*assert*",-160895053),new cljs.core.Keyword(null,"?data","?data",-9471433),new cljs.core.Keyword(null,"?line","?line",-631853385),new cljs.core.Keyword(null,"form-str","form-str",871608859)],[taoensso.truss.impl._STAR__QMARK_data_STAR_,n,a,k,q?new cljs.core.Symbol("truss","undefined-val","truss/undefined-val",-1377647620,null):e,b,q?new cljs.core.Symbol("truss","undefined-val","truss/undefined-val",-1377647620,null):cljs.core.type.call(null,e),u,cljs.core._STAR_assert_STAR_,
r,c,p])}}(h,h),null)):null};taoensso.truss.get_dynamic_assertion_data=function(){return taoensso.truss.impl._STAR__QMARK_data_STAR_};taoensso.truss._error_fn=function(a){return cljs.core._EQ_.call(null,a,new cljs.core.Keyword(null,"default","default",-1987822328))?taoensso.truss.impl.default_error_fn:a};taoensso.truss.set_error_fn_BANG_=function(a){return taoensso.truss.impl._STAR_error_fn_STAR_=taoensso.truss._error_fn.call(null,a)};cljs.pprint={};cljs.pprint.print=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(b)};cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core._write.call(null,cljs.core._STAR_out_STAR_,cljs.core.apply.call(null,cljs.core.print_str,a))};cljs.pprint.print.cljs$lang$maxFixedArity=0;
cljs.pprint.print.cljs$lang$applyTo=function(a){return cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};cljs.pprint.println=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.pprint.println.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.pprint.println.cljs$core$IFn$_invoke$arity$variadic=function(a){cljs.core.apply.call(null,cljs.pprint.print,a);return cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"\n")};cljs.pprint.println.cljs$lang$maxFixedArity=0;cljs.pprint.println.cljs$lang$applyTo=function(a){return cljs.pprint.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
cljs.pprint.print_char=function(a){return cljs.core._write.call(null,cljs.core._STAR_out_STAR_,function(){var b=cljs.core._EQ_;return cljs.core.truth_(b.call(null,"\b",a))?"\\backspace":cljs.core.truth_(b.call(null,"\t",a))?"\\tab":cljs.core.truth_(b.call(null,"\n",a))?"\\newline":cljs.core.truth_(b.call(null,"\f",a))?"\\formfeed":cljs.core.truth_(b.call(null,"\r",a))?"\\return":cljs.core.truth_(b.call(null,'"',a))?'\\"':cljs.core.truth_(b.call(null,"\\",a))?"\\\\":[cljs.core.str.cljs$core$IFn$_invoke$arity$1("\\"),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("")}())};cljs.pprint.pr=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.pprint.pr.cljs$core$IFn$_invoke$arity$variadic(b)};cljs.pprint.pr.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core._write.call(null,cljs.core._STAR_out_STAR_,cljs.core.apply.call(null,cljs.core.pr_str,a))};
cljs.pprint.pr.cljs$lang$maxFixedArity=0;cljs.pprint.pr.cljs$lang$applyTo=function(a){return cljs.pprint.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};cljs.pprint.prn=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.pprint.prn.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.pprint.prn.cljs$core$IFn$_invoke$arity$variadic=function(a){cljs.core.apply.call(null,cljs.pprint.pr,a);return cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"\n")};cljs.pprint.prn.cljs$lang$maxFixedArity=0;cljs.pprint.prn.cljs$lang$applyTo=function(a){return cljs.pprint.prn.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};cljs.pprint.float_QMARK_=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity!==a&&parseFloat(a)!==parseInt(a,10)};
cljs.pprint.char_code=function(a){if("number"===typeof a)return a;if("string"===typeof a&&1===a.length)return a.charCodeAt(0);throw Error("Argument to char must be a character or number");};
cljs.pprint.map_passing_context=function(a,b,c){var d=c;for(c=cljs.core.PersistentVector.EMPTY;;){if(cljs.core.empty_QMARK_.call(null,d))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null);var e=cljs.core.first.call(null,d),d=cljs.core.next.call(null,d),e=cljs.core.apply.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[e,b],null));b=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);c=cljs.core.conj.call(null,
c,b);b=e}};cljs.pprint.consume=function(a,b){for(var c=b,d=cljs.core.PersistentVector.EMPTY;;){var e=cljs.core.apply.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[c],null)),c=cljs.core.nth.call(null,e,0,null),e=cljs.core.nth.call(null,e,1,null);if(cljs.core.not.call(null,c))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,e],null);d=cljs.core.conj.call(null,d,c);c=e}};
cljs.pprint.consume_while=function(a,b){for(var c=b,d=cljs.core.PersistentVector.EMPTY;;){var e=cljs.core.apply.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[c],null)),f=cljs.core.nth.call(null,e,0,null),g=cljs.core.nth.call(null,e,1,null),e=cljs.core.nth.call(null,e,2,null);if(cljs.core.not.call(null,g))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,c],null);c=e;d=cljs.core.conj.call(null,d,f)}};
cljs.pprint.unzip_map=function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,function(){return function c(a){return new cljs.core.LazySeq(null,function(){for(;;){var d=cljs.core.seq.call(null,a);if(d){if(cljs.core.chunked_seq_QMARK_.call(null,d)){var f=cljs.core.chunk_first.call(null,d),g=cljs.core.count.call(null,f),h=cljs.core.chunk_buffer.call(null,g);a:for(var k=0;;)if(k<g){var l=cljs.core._nth.call(null,
f,k),m=cljs.core.nth.call(null,l,0,null),l=cljs.core.nth.call(null,l,1,null),n=cljs.core.nth.call(null,l,0,null);cljs.core.nth.call(null,l,1,null);cljs.core.chunk_append.call(null,h,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[m,n],null));k+=1}else{f=!0;break a}return f?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),c.call(null,cljs.core.chunk_rest.call(null,d))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}f=cljs.core.first.call(null,
d);h=cljs.core.nth.call(null,f,0,null);f=cljs.core.nth.call(null,f,1,null);g=cljs.core.nth.call(null,f,0,null);cljs.core.nth.call(null,f,1,null);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,g],null),c.call(null,cljs.core.rest.call(null,d)))}return null}},null,null)}.call(null,a)}()),cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,function(){return function c(a){return new cljs.core.LazySeq(null,function(){for(;;){var d=
cljs.core.seq.call(null,a);if(d){if(cljs.core.chunked_seq_QMARK_.call(null,d)){var f=cljs.core.chunk_first.call(null,d),g=cljs.core.count.call(null,f),h=cljs.core.chunk_buffer.call(null,g);a:for(var k=0;;)if(k<g){var l=cljs.core._nth.call(null,f,k),m=cljs.core.nth.call(null,l,0,null),l=cljs.core.nth.call(null,l,1,null);cljs.core.nth.call(null,l,0,null);l=cljs.core.nth.call(null,l,1,null);cljs.core.chunk_append.call(null,h,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[m,l],null));k+=1}else{f=!0;break a}return f?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),c.call(null,cljs.core.chunk_rest.call(null,d))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}f=cljs.core.first.call(null,d);h=cljs.core.nth.call(null,f,0,null);f=cljs.core.nth.call(null,f,1,null);cljs.core.nth.call(null,f,0,null);f=cljs.core.nth.call(null,f,1,null);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[h,f],null),c.call(null,cljs.core.rest.call(null,d)))}return null}},null,null)}.call(null,a)}())],null)};
cljs.pprint.tuple_map=function(a,b){return cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,function(){return function d(a){return new cljs.core.LazySeq(null,function(){for(;;){var e=cljs.core.seq.call(null,a);if(e){if(cljs.core.chunked_seq_QMARK_.call(null,e)){var g=cljs.core.chunk_first.call(null,e),h=cljs.core.count.call(null,g),k=cljs.core.chunk_buffer.call(null,h);a:for(var l=0;;)if(l<h){var m=cljs.core._nth.call(null,g,l),n=cljs.core.nth.call(null,m,0,null),m=cljs.core.nth.call(null,
m,1,null);cljs.core.chunk_append.call(null,k,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[n,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[m,b],null)],null));l+=1}else{g=!0;break a}return g?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),d.call(null,cljs.core.chunk_rest.call(null,e))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),null)}g=cljs.core.first.call(null,e);k=cljs.core.nth.call(null,g,0,null);g=cljs.core.nth.call(null,
g,1,null);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[k,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[g,b],null)],null),d.call(null,cljs.core.rest.call(null,e)))}return null}},null,null)}.call(null,a)}())};
cljs.pprint.rtrim=function(a,b){var c=cljs.core.count.call(null,a);if(0<c&&cljs.core._EQ_.call(null,cljs.core.nth.call(null,a,cljs.core.count.call(null,a)-1),b))for(--c;;){if(0>c)return"";if(cljs.core._EQ_.call(null,cljs.core.nth.call(null,a,c),b))--c;else return cljs.core.subs.call(null,a,0,c+1)}else return a};
cljs.pprint.ltrim=function(a,b){var c=cljs.core.count.call(null,a);if(0<c&&cljs.core._EQ_.call(null,cljs.core.nth.call(null,a,0),b))for(var d=0;;){if(cljs.core._EQ_.call(null,d,c)||!cljs.core._EQ_.call(null,cljs.core.nth.call(null,a,d),b))return cljs.core.subs.call(null,a,d);d+=1}else return a};
cljs.pprint.prefix_count=function(a,b){for(var c=cljs.core.coll_QMARK_.call(null,b)?cljs.core.set.call(null,b):cljs.core.PersistentHashSet.createAsIfByAssoc([b]),d=0;;){if(cljs.core._EQ_.call(null,d,cljs.core.count.call(null,a))||cljs.core.not.call(null,c.call(null,cljs.core.nth.call(null,a,d))))return d;d+=1}};cljs.pprint.IPrettyFlush=function(){};
cljs.pprint._ppflush=function(a){if(null!=a&&null!=a.cljs$pprint$IPrettyFlush$_ppflush$arity$1)return a.cljs$pprint$IPrettyFlush$_ppflush$arity$1(a);var b=cljs.pprint._ppflush[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.pprint._ppflush._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"IPrettyFlush.-ppflush",a);};cljs.pprint._STAR_default_page_width_STAR_=72;
cljs.pprint.get_field=function(a,b){return b.call(null,cljs.core.deref.call(null,cljs.core.deref.call(null,a)))};cljs.pprint.set_field=function(a,b,c){return cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,b,c)};cljs.pprint.get_column=function(a){return cljs.pprint.get_field.call(null,a,new cljs.core.Keyword(null,"cur","cur",1153190599))};cljs.pprint.get_line=function(a){return cljs.pprint.get_field.call(null,a,new cljs.core.Keyword(null,"line","line",212345235))};
cljs.pprint.get_max_column=function(a){return cljs.pprint.get_field.call(null,a,new cljs.core.Keyword(null,"max","max",61366548))};cljs.pprint.set_max_column=function(a,b){cljs.pprint.set_field.call(null,a,new cljs.core.Keyword(null,"max","max",61366548),b);return null};cljs.pprint.get_writer=function(a){return cljs.pprint.get_field.call(null,a,new cljs.core.Keyword(null,"base","base",185279322))};
cljs.pprint.c_write_char=function(a,b){cljs.core._EQ_.call(null,b,"\n")?(cljs.pprint.set_field.call(null,a,new cljs.core.Keyword(null,"cur","cur",1153190599),0),cljs.pprint.set_field.call(null,a,new cljs.core.Keyword(null,"line","line",212345235),cljs.pprint.get_field.call(null,a,new cljs.core.Keyword(null,"line","line",212345235))+1)):cljs.pprint.set_field.call(null,a,new cljs.core.Keyword(null,"cur","cur",1153190599),cljs.pprint.get_field.call(null,a,new cljs.core.Keyword(null,"cur","cur",1153190599))+
1);return cljs.core._write.call(null,cljs.pprint.get_field.call(null,a,new cljs.core.Keyword(null,"base","base",185279322)),b)};
cljs.pprint.column_writer=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.pprint.column_writer.call(null,a,cljs.pprint._STAR_default_page_width_STAR_)};
cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.core.atom.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"max","max",61366548),b,new cljs.core.Keyword(null,"cur","cur",1153190599),0,new cljs.core.Keyword(null,"line","line",212345235),0,new cljs.core.Keyword(null,"base","base",185279322),a],null));"undefined"===typeof cljs.pprint.t_cljs$pprint31448&&(cljs.pprint.t_cljs$pprint31448=function(a,b,c,g){this.writer=a;this.max_columns=b;this.fields=
c;this.meta31449=g;this.cljs$lang$protocol_mask$partition0$=1074167808;this.cljs$lang$protocol_mask$partition1$=0},cljs.pprint.t_cljs$pprint31448.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a){return function(a,b){return new cljs.pprint.t_cljs$pprint31448(this.writer,this.max_columns,this.fields,b)}}(c),cljs.pprint.t_cljs$pprint31448.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta31449}}(c),cljs.pprint.t_cljs$pprint31448.prototype.cljs$core$IDeref$_deref$arity$1=
function(a){return function(a){return this.fields}}(c),cljs.pprint.t_cljs$pprint31448.prototype.cljs$core$IWriter$_flush$arity$1=function(a){return function(a){return cljs.core._flush.call(null,this.writer)}}(c),cljs.pprint.t_cljs$pprint31448.prototype.cljs$core$IWriter$_write$arity$2=function(a){return function(b,c){var d=cljs.core._EQ_,e=cljs.core.type.call(null,c);if(cljs.core.truth_(d.call(null,String,e))){var f=c.lastIndexOf("\n");0>f?cljs.pprint.set_field.call(null,this,new cljs.core.Keyword(null,
"cur","cur",1153190599),cljs.pprint.get_field.call(null,this,new cljs.core.Keyword(null,"cur","cur",1153190599))+cljs.core.count.call(null,c)):(cljs.pprint.set_field.call(null,this,new cljs.core.Keyword(null,"cur","cur",1153190599),cljs.core.count.call(null,c)-f-1),cljs.pprint.set_field.call(null,this,new cljs.core.Keyword(null,"line","line",212345235),cljs.pprint.get_field.call(null,this,new cljs.core.Keyword(null,"line","line",212345235))+cljs.core.count.call(null,cljs.core.filter.call(null,function(a,
b,c,d,e,f){return function(a){return cljs.core._EQ_.call(null,a,"\n")}}(c,f,d,e,this,a),c))));return cljs.core._write.call(null,cljs.pprint.get_field.call(null,this,new cljs.core.Keyword(null,"base","base",185279322)),c)}if(cljs.core.truth_(d.call(null,Number,e)))return cljs.pprint.c_write_char.call(null,this,c);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)].join(""));}}(c),cljs.pprint.t_cljs$pprint31448.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,
4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"writer","writer",1362963291,null),new cljs.core.Symbol(null,"max-columns","max-columns",-912112507,null),new cljs.core.Symbol(null,"fields","fields",-291534703,null),new cljs.core.Symbol(null,"meta31449","meta31449",-1722878432,null)],null)}}(c),cljs.pprint.t_cljs$pprint31448.cljs$lang$type=!0,cljs.pprint.t_cljs$pprint31448.cljs$lang$ctorStr="cljs.pprint/t_cljs$pprint31448",cljs.pprint.t_cljs$pprint31448.cljs$lang$ctorPrWriter=
function(a){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.pprint/t_cljs$pprint31448")}}(c),cljs.pprint.__GT_t_cljs$pprint31448=function(a){return function(a,b,c,d){return new cljs.pprint.t_cljs$pprint31448(a,b,c,d)}}(c));return new cljs.pprint.t_cljs$pprint31448(a,b,c,cljs.core.PersistentArrayMap.EMPTY)};cljs.pprint.column_writer.cljs$lang$maxFixedArity=2;
cljs.pprint.logical_block=function(a,b,c,d,e,f,g,h,k,l,m,n,p){this.parent=a;this.section=b;this.start_col=c;this.indent=d;this.done_nl=e;this.intra_block_nl=f;this.prefix=g;this.per_line_prefix=h;this.suffix=k;this.logical_block_callback=l;this.__meta=m;this.__extmap=n;this.__hash=p;this.cljs$lang$protocol_mask$partition0$=2229667594;this.cljs$lang$protocol_mask$partition1$=8192};
cljs.pprint.logical_block.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.pprint.logical_block.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "suffix":return this.suffix;case "indent":return this.indent;case "parent":return this.parent;case "section":return this.section;case "done-nl":return this.done_nl;case "start-col":return this.start_col;case "prefix":return this.prefix;case "per-line-prefix":return this.per_line_prefix;case "logical-block-callback":return this.logical_block_callback;case "intra-block-nl":return this.intra_block_nl;
default:return cljs.core.get.call(null,this.__extmap,b,c)}};
cljs.pprint.logical_block.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#cljs.pprint.logical-block{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"parent","parent",-878878779),this.parent],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"section","section",-300141526),this.section],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"start-col","start-col",668080143),this.start_col],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"indent","indent",-148200125),this.indent],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"done-nl","done-nl",-381024340),this.done_nl],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"intra-block-nl","intra-block-nl",1808826875),this.intra_block_nl],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"prefix",
"prefix",-265908465),this.prefix],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"per-line-prefix","per-line-prefix",846941813),this.per_line_prefix],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"suffix","suffix",367373057),this.suffix],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"logical-block-callback",
"logical-block-callback",1612691194),this.logical_block_callback],null)],null),this.__extmap))};cljs.pprint.logical_block.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;
cljs.pprint.logical_block.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,10,new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"parent","parent",-878878779),new cljs.core.Keyword(null,"section","section",-300141526),new cljs.core.Keyword(null,"start-col","start-col",668080143),new cljs.core.Keyword(null,"indent","indent",-148200125),new cljs.core.Keyword(null,"done-nl","done-nl",-381024340),
new cljs.core.Keyword(null,"intra-block-nl","intra-block-nl",1808826875),new cljs.core.Keyword(null,"prefix","prefix",-265908465),new cljs.core.Keyword(null,"per-line-prefix","per-line-prefix",846941813),new cljs.core.Keyword(null,"suffix","suffix",367373057),new cljs.core.Keyword(null,"logical-block-callback","logical-block-callback",1612691194)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):cljs.core.nil_iter.call(null))};
cljs.pprint.logical_block.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};cljs.pprint.logical_block.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,this.__extmap,this.__hash)};
cljs.pprint.logical_block.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 10+cljs.core.count.call(null,this.__extmap)};cljs.pprint.logical_block.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_imap.call(null,this)};cljs.pprint.logical_block.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.truth_(cljs.core.truth_(b)?this.constructor===b.constructor&&cljs.core.equiv_map.call(null,this,b):b)?!0:!1};
cljs.pprint.logical_block.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,10,[new cljs.core.Keyword(null,"suffix","suffix",367373057),null,new cljs.core.Keyword(null,"indent","indent",-148200125),null,new cljs.core.Keyword(null,"parent","parent",-878878779),null,new cljs.core.Keyword(null,"section","section",-300141526),null,new cljs.core.Keyword(null,"done-nl","done-nl",-381024340),
null,new cljs.core.Keyword(null,"start-col","start-col",668080143),null,new cljs.core.Keyword(null,"prefix","prefix",-265908465),null,new cljs.core.Keyword(null,"per-line-prefix","per-line-prefix",846941813),null,new cljs.core.Keyword(null,"logical-block-callback","logical-block-callback",1612691194),null,new cljs.core.Keyword(null,"intra-block-nl","intra-block-nl",1808826875),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,
this),this.__meta),b):new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
cljs.pprint.logical_block.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"parent","parent",-878878779),b))?new cljs.pprint.logical_block(c,this.section,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"section","section",
-300141526),b))?new cljs.pprint.logical_block(this.parent,c,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"start-col","start-col",668080143),b))?new cljs.pprint.logical_block(this.parent,this.section,c,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,
this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"indent","indent",-148200125),b))?new cljs.pprint.logical_block(this.parent,this.section,this.start_col,c,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"done-nl","done-nl",-381024340),b))?new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,c,this.intra_block_nl,
this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"intra-block-nl","intra-block-nl",1808826875),b))?new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,this.done_nl,c,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"prefix","prefix",-265908465),b))?
new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,this.done_nl,this.intra_block_nl,c,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"per-line-prefix","per-line-prefix",846941813),b))?new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,c,this.suffix,this.logical_block_callback,this.__meta,this.__extmap,
null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"suffix","suffix",367373057),b))?new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,c,this.logical_block_callback,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"logical-block-callback","logical-block-callback",1612691194),b))?new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,
this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,c,this.__meta,this.__extmap,null):new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
cljs.pprint.logical_block.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"parent","parent",-878878779),this.parent],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"section","section",-300141526),
this.section],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"start-col","start-col",668080143),this.start_col],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"indent","indent",-148200125),this.indent],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"done-nl","done-nl",-381024340),this.done_nl],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"intra-block-nl","intra-block-nl",1808826875),this.intra_block_nl],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"prefix","prefix",-265908465),this.prefix],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"per-line-prefix","per-line-prefix",846941813),this.per_line_prefix],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"suffix","suffix",367373057),this.suffix],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"logical-block-callback","logical-block-callback",1612691194),this.logical_block_callback],null)],null),this.__extmap))};
cljs.pprint.logical_block.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.pprint.logical_block(this.parent,this.section,this.start_col,this.indent,this.done_nl,this.intra_block_nl,this.prefix,this.per_line_prefix,this.suffix,this.logical_block_callback,b,this.__extmap,this.__hash)};
cljs.pprint.logical_block.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
cljs.pprint.logical_block.getBasis=function(){return new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"parent","parent",761652748,null),new cljs.core.Symbol(null,"section","section",1340390001,null),new cljs.core.Symbol(null,"start-col","start-col",-1986355626,null),new cljs.core.Symbol(null,"indent","indent",1492331402,null),new cljs.core.Symbol(null,"done-nl","done-nl",1259507187,null),new cljs.core.Symbol(null,"intra-block-nl","intra-block-nl",
-845608894,null),new cljs.core.Symbol(null,"prefix","prefix",1374623062,null),new cljs.core.Symbol(null,"per-line-prefix","per-line-prefix",-1807493956,null),new cljs.core.Symbol(null,"suffix","suffix",2007904584,null),new cljs.core.Symbol(null,"logical-block-callback","logical-block-callback",-1041744575,null)],null)};cljs.pprint.logical_block.cljs$lang$type=!0;cljs.pprint.logical_block.cljs$lang$ctorPrSeq=function(a){return cljs.core._conj.call(null,cljs.core.List.EMPTY,"cljs.pprint/logical-block")};
cljs.pprint.logical_block.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"cljs.pprint/logical-block")};cljs.pprint.__GT_logical_block=function(a,b,c,d,e,f,g,h,k,l){return new cljs.pprint.logical_block(a,b,c,d,e,f,g,h,k,l,null,null,null)};
cljs.pprint.map__GT_logical_block=function(a){return new cljs.pprint.logical_block((new cljs.core.Keyword(null,"parent","parent",-878878779)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"section","section",-300141526)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"start-col","start-col",668080143)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"indent","indent",-148200125)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"done-nl","done-nl",
-381024340)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"intra-block-nl","intra-block-nl",1808826875)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"prefix","prefix",-265908465)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"per-line-prefix","per-line-prefix",846941813)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"suffix","suffix",367373057)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"logical-block-callback","logical-block-callback",
1612691194)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"parent","parent",-878878779),new cljs.core.Keyword(null,"section","section",-300141526),new cljs.core.Keyword(null,"start-col","start-col",668080143),new cljs.core.Keyword(null,"indent","indent",-148200125),new cljs.core.Keyword(null,"done-nl","done-nl",-381024340),new cljs.core.Keyword(null,"intra-block-nl","intra-block-nl",1808826875),new cljs.core.Keyword(null,"prefix","prefix",-265908465),
new cljs.core.Keyword(null,"per-line-prefix","per-line-prefix",846941813),new cljs.core.Keyword(null,"suffix","suffix",367373057),new cljs.core.Keyword(null,"logical-block-callback","logical-block-callback",1612691194)),null)};cljs.pprint.ancestor_QMARK_=function(a,b){for(var c=(new cljs.core.Keyword(null,"parent","parent",-878878779)).cljs$core$IFn$_invoke$arity$1(b);;){if(null==c)return!1;if(a===c)return!0;c=(new cljs.core.Keyword(null,"parent","parent",-878878779)).cljs$core$IFn$_invoke$arity$1(c)}};
cljs.pprint.buffer_length=function(a){return(a=cljs.core.seq.call(null,a))?(new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926)).cljs$core$IFn$_invoke$arity$1(cljs.core.last.call(null,a))-(new cljs.core.Keyword(null,"start-pos","start-pos",668789086)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,a)):0};
cljs.pprint.buffer_blob=function(a,b,c,d,e,f,g,h){this.type_tag=a;this.data=b;this.trailing_white_space=c;this.start_pos=d;this.end_pos=e;this.__meta=f;this.__extmap=g;this.__hash=h;this.cljs$lang$protocol_mask$partition0$=2229667594;this.cljs$lang$protocol_mask$partition1$=8192};cljs.pprint.buffer_blob.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.pprint.buffer_blob.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "type-tag":return this.type_tag;case "data":return this.data;case "trailing-white-space":return this.trailing_white_space;case "start-pos":return this.start_pos;case "end-pos":return this.end_pos;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
cljs.pprint.buffer_blob.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#cljs.pprint.buffer-blob{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"type-tag","type-tag",-1873863267),this.type_tag],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"data","data",-232669377),this.data],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996),this.trailing_white_space],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"start-pos","start-pos",668789086),this.start_pos],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),this.end_pos],null)],null),this.__extmap))};cljs.pprint.buffer_blob.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;
cljs.pprint.buffer_blob.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,5,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),new cljs.core.Keyword(null,"data","data",-232669377),new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996),new cljs.core.Keyword(null,"start-pos","start-pos",668789086),new cljs.core.Keyword(null,"end-pos",
"end-pos",-1643883926)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):cljs.core.nil_iter.call(null))};cljs.pprint.buffer_blob.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};cljs.pprint.buffer_blob.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.pprint.buffer_blob(this.type_tag,this.data,this.trailing_white_space,this.start_pos,this.end_pos,this.__meta,this.__extmap,this.__hash)};
cljs.pprint.buffer_blob.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 5+cljs.core.count.call(null,this.__extmap)};cljs.pprint.buffer_blob.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_imap.call(null,this)};cljs.pprint.buffer_blob.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.truth_(cljs.core.truth_(b)?this.constructor===b.constructor&&cljs.core.equiv_map.call(null,this,b):b)?!0:!1};
cljs.pprint.buffer_blob.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),null,new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996),null,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),null,new cljs.core.Keyword(null,"start-pos","start-pos",668789086),null,new cljs.core.Keyword(null,
"data","data",-232669377),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new cljs.pprint.buffer_blob(this.type_tag,this.data,this.trailing_white_space,this.start_pos,this.end_pos,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
cljs.pprint.buffer_blob.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),b))?new cljs.pprint.buffer_blob(c,this.data,this.trailing_white_space,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"data","data",-232669377),b))?new cljs.pprint.buffer_blob(this.type_tag,c,this.trailing_white_space,
this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996),b))?new cljs.pprint.buffer_blob(this.type_tag,this.data,c,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"start-pos","start-pos",668789086),b))?new cljs.pprint.buffer_blob(this.type_tag,this.data,this.trailing_white_space,c,this.end_pos,this.__meta,this.__extmap,
null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),b))?new cljs.pprint.buffer_blob(this.type_tag,this.data,this.trailing_white_space,this.start_pos,c,this.__meta,this.__extmap,null):new cljs.pprint.buffer_blob(this.type_tag,this.data,this.trailing_white_space,this.start_pos,this.end_pos,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
cljs.pprint.buffer_blob.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),this.type_tag],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"data","data",-232669377),
this.data],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996),this.trailing_white_space],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"start-pos","start-pos",668789086),this.start_pos],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"end-pos","end-pos",
-1643883926),this.end_pos],null)],null),this.__extmap))};cljs.pprint.buffer_blob.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.pprint.buffer_blob(this.type_tag,this.data,this.trailing_white_space,this.start_pos,this.end_pos,b,this.__extmap,this.__hash)};
cljs.pprint.buffer_blob.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
cljs.pprint.buffer_blob.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"type-tag","type-tag",-233331740,null),new cljs.core.Symbol(null,"data","data",1407862150,null),new cljs.core.Symbol(null,"trailing-white-space","trailing-white-space",-1158428773,null),new cljs.core.Symbol(null,"start-pos","start-pos",-1985646683,null),new cljs.core.Symbol(null,"end-pos","end-pos",-3352399,null)],null)};
cljs.pprint.buffer_blob.cljs$lang$type=!0;cljs.pprint.buffer_blob.cljs$lang$ctorPrSeq=function(a){return cljs.core._conj.call(null,cljs.core.List.EMPTY,"cljs.pprint/buffer-blob")};cljs.pprint.buffer_blob.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"cljs.pprint/buffer-blob")};cljs.pprint.__GT_buffer_blob=function(a,b,c,d,e){return new cljs.pprint.buffer_blob(a,b,c,d,e,null,null,null)};
cljs.pprint.map__GT_buffer_blob=function(a){return new cljs.pprint.buffer_blob((new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"data","data",-232669377)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"start-pos","start-pos",668789086)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,
"end-pos","end-pos",-1643883926)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),new cljs.core.Keyword(null,"data","data",-232669377),new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996),new cljs.core.Keyword(null,"start-pos","start-pos",668789086),new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926)),null)};
cljs.pprint.make_buffer_blob=function(a,b,c,d){return new cljs.pprint.buffer_blob(new cljs.core.Keyword(null,"buffer-blob","buffer-blob",-1830112173),a,b,c,d,null,null,null)};cljs.pprint.buffer_blob_QMARK_=function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"buffer-blob","buffer-blob",-1830112173))};
cljs.pprint.nl_t=function(a,b,c,d,e,f,g,h){this.type_tag=a;this.type=b;this.logical_block=c;this.start_pos=d;this.end_pos=e;this.__meta=f;this.__extmap=g;this.__hash=h;this.cljs$lang$protocol_mask$partition0$=2229667594;this.cljs$lang$protocol_mask$partition1$=8192};cljs.pprint.nl_t.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.pprint.nl_t.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "type-tag":return this.type_tag;case "type":return this.type;case "logical-block":return this.logical_block;case "start-pos":return this.start_pos;case "end-pos":return this.end_pos;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
cljs.pprint.nl_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#cljs.pprint.nl-t{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"type-tag","type-tag",-1873863267),this.type_tag],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type","type",1174270348),this.type],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),this.logical_block],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"start-pos","start-pos",
668789086),this.start_pos],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),this.end_pos],null)],null),this.__extmap))};cljs.pprint.nl_t.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;
cljs.pprint.nl_t.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,5,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),new cljs.core.Keyword(null,"start-pos","start-pos",668789086),new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926)],
null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):cljs.core.nil_iter.call(null))};cljs.pprint.nl_t.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};cljs.pprint.nl_t.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.pprint.nl_t(this.type_tag,this.type,this.logical_block,this.start_pos,this.end_pos,this.__meta,this.__extmap,this.__hash)};
cljs.pprint.nl_t.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 5+cljs.core.count.call(null,this.__extmap)};cljs.pprint.nl_t.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_imap.call(null,this)};cljs.pprint.nl_t.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.truth_(cljs.core.truth_(b)?this.constructor===b.constructor&&cljs.core.equiv_map.call(null,this,b):b)?!0:!1};
cljs.pprint.nl_t.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),null,new cljs.core.Keyword(null,"type","type",1174270348),null,new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),null,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),null,new cljs.core.Keyword(null,"start-pos","start-pos",
668789086),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new cljs.pprint.nl_t(this.type_tag,this.type,this.logical_block,this.start_pos,this.end_pos,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
cljs.pprint.nl_t.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),b))?new cljs.pprint.nl_t(c,this.type,this.logical_block,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"type","type",1174270348),b))?new cljs.pprint.nl_t(this.type_tag,c,this.logical_block,this.start_pos,this.end_pos,
this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),b))?new cljs.pprint.nl_t(this.type_tag,this.type,c,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"start-pos","start-pos",668789086),b))?new cljs.pprint.nl_t(this.type_tag,this.type,this.logical_block,c,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,
"end-pos","end-pos",-1643883926),b))?new cljs.pprint.nl_t(this.type_tag,this.type,this.logical_block,this.start_pos,c,this.__meta,this.__extmap,null):new cljs.pprint.nl_t(this.type_tag,this.type,this.logical_block,this.start_pos,this.end_pos,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
cljs.pprint.nl_t.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),this.type_tag],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type","type",1174270348),
this.type],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),this.logical_block],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"start-pos","start-pos",668789086),this.start_pos],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),this.end_pos],
null)],null),this.__extmap))};cljs.pprint.nl_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.pprint.nl_t(this.type_tag,this.type,this.logical_block,this.start_pos,this.end_pos,b,this.__extmap,this.__hash)};
cljs.pprint.nl_t.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
cljs.pprint.nl_t.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"type-tag","type-tag",-233331740,null),new cljs.core.Symbol(null,"type","type",-1480165421,null),new cljs.core.Symbol(null,"logical-block","logical-block",1059508963,null),new cljs.core.Symbol(null,"start-pos","start-pos",-1985646683,null),new cljs.core.Symbol(null,"end-pos","end-pos",-3352399,null)],null)};cljs.pprint.nl_t.cljs$lang$type=!0;
cljs.pprint.nl_t.cljs$lang$ctorPrSeq=function(a){return cljs.core._conj.call(null,cljs.core.List.EMPTY,"cljs.pprint/nl-t")};cljs.pprint.nl_t.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"cljs.pprint/nl-t")};cljs.pprint.__GT_nl_t=function(a,b,c,d,e){return new cljs.pprint.nl_t(a,b,c,d,e,null,null,null)};
cljs.pprint.map__GT_nl_t=function(a){return new cljs.pprint.nl_t((new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"start-pos","start-pos",668789086)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"end-pos","end-pos",
-1643883926)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),new cljs.core.Keyword(null,"start-pos","start-pos",668789086),new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926)),null)};
cljs.pprint.make_nl_t=function(a,b,c,d){return new cljs.pprint.nl_t(new cljs.core.Keyword(null,"nl-t","nl-t",-1608382114),a,b,c,d,null,null,null)};cljs.pprint.nl_t_QMARK_=function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"nl-t","nl-t",-1608382114))};
cljs.pprint.start_block_t=function(a,b,c,d,e,f,g){this.type_tag=a;this.logical_block=b;this.start_pos=c;this.end_pos=d;this.__meta=e;this.__extmap=f;this.__hash=g;this.cljs$lang$protocol_mask$partition0$=2229667594;this.cljs$lang$protocol_mask$partition1$=8192};cljs.pprint.start_block_t.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.pprint.start_block_t.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "type-tag":return this.type_tag;case "logical-block":return this.logical_block;case "start-pos":return this.start_pos;case "end-pos":return this.end_pos;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
cljs.pprint.start_block_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#cljs.pprint.start-block-t{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),this.type_tag],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),this.logical_block],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"start-pos","start-pos",668789086),this.start_pos],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),this.end_pos],null)],null),this.__extmap))};cljs.pprint.start_block_t.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;
cljs.pprint.start_block_t.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,4,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),new cljs.core.Keyword(null,"start-pos","start-pos",668789086),new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,
this.__extmap):cljs.core.nil_iter.call(null))};cljs.pprint.start_block_t.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};cljs.pprint.start_block_t.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.pprint.start_block_t(this.type_tag,this.logical_block,this.start_pos,this.end_pos,this.__meta,this.__extmap,this.__hash)};cljs.pprint.start_block_t.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 4+cljs.core.count.call(null,this.__extmap)};
cljs.pprint.start_block_t.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_imap.call(null,this)};cljs.pprint.start_block_t.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.truth_(cljs.core.truth_(b)?this.constructor===b.constructor&&cljs.core.equiv_map.call(null,this,b):b)?!0:!1};
cljs.pprint.start_block_t.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),null,new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),null,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),null,new cljs.core.Keyword(null,"start-pos","start-pos",668789086),null],null),null),b)?cljs.core.dissoc.call(null,
cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new cljs.pprint.start_block_t(this.type_tag,this.logical_block,this.start_pos,this.end_pos,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
cljs.pprint.start_block_t.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),b))?new cljs.pprint.start_block_t(c,this.logical_block,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),b))?new cljs.pprint.start_block_t(this.type_tag,c,this.start_pos,
this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"start-pos","start-pos",668789086),b))?new cljs.pprint.start_block_t(this.type_tag,this.logical_block,c,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),b))?new cljs.pprint.start_block_t(this.type_tag,this.logical_block,this.start_pos,c,this.__meta,this.__extmap,null):new cljs.pprint.start_block_t(this.type_tag,this.logical_block,
this.start_pos,this.end_pos,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
cljs.pprint.start_block_t.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),this.type_tag],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"logical-block",
"logical-block",-581022564),this.logical_block],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"start-pos","start-pos",668789086),this.start_pos],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),this.end_pos],null)],null),this.__extmap))};
cljs.pprint.start_block_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.pprint.start_block_t(this.type_tag,this.logical_block,this.start_pos,this.end_pos,b,this.__extmap,this.__hash)};
cljs.pprint.start_block_t.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
cljs.pprint.start_block_t.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"type-tag","type-tag",-233331740,null),new cljs.core.Symbol(null,"logical-block","logical-block",1059508963,null),new cljs.core.Symbol(null,"start-pos","start-pos",-1985646683,null),new cljs.core.Symbol(null,"end-pos","end-pos",-3352399,null)],null)};cljs.pprint.start_block_t.cljs$lang$type=!0;
cljs.pprint.start_block_t.cljs$lang$ctorPrSeq=function(a){return cljs.core._conj.call(null,cljs.core.List.EMPTY,"cljs.pprint/start-block-t")};cljs.pprint.start_block_t.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"cljs.pprint/start-block-t")};cljs.pprint.__GT_start_block_t=function(a,b,c,d){return new cljs.pprint.start_block_t(a,b,c,d,null,null,null)};
cljs.pprint.map__GT_start_block_t=function(a){return new cljs.pprint.start_block_t((new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"start-pos","start-pos",668789086)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.dissoc.call(null,
a,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),new cljs.core.Keyword(null,"start-pos","start-pos",668789086),new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926)),null)};cljs.pprint.make_start_block_t=function(a,b,c){return new cljs.pprint.start_block_t(new cljs.core.Keyword(null,"start-block-t","start-block-t",-373430594),a,b,c,null,null,null)};
cljs.pprint.start_block_t_QMARK_=function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"start-block-t","start-block-t",-373430594))};
cljs.pprint.end_block_t=function(a,b,c,d,e,f,g){this.type_tag=a;this.logical_block=b;this.start_pos=c;this.end_pos=d;this.__meta=e;this.__extmap=f;this.__hash=g;this.cljs$lang$protocol_mask$partition0$=2229667594;this.cljs$lang$protocol_mask$partition1$=8192};cljs.pprint.end_block_t.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.pprint.end_block_t.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "type-tag":return this.type_tag;case "logical-block":return this.logical_block;case "start-pos":return this.start_pos;case "end-pos":return this.end_pos;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
cljs.pprint.end_block_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#cljs.pprint.end-block-t{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"type-tag","type-tag",-1873863267),this.type_tag],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),this.logical_block],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"start-pos","start-pos",668789086),this.start_pos],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"end-pos","end-pos",-1643883926),this.end_pos],null)],null),this.__extmap))};cljs.pprint.end_block_t.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;
cljs.pprint.end_block_t.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,4,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),new cljs.core.Keyword(null,"start-pos","start-pos",668789086),new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,
this.__extmap):cljs.core.nil_iter.call(null))};cljs.pprint.end_block_t.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};cljs.pprint.end_block_t.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.pprint.end_block_t(this.type_tag,this.logical_block,this.start_pos,this.end_pos,this.__meta,this.__extmap,this.__hash)};cljs.pprint.end_block_t.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 4+cljs.core.count.call(null,this.__extmap)};
cljs.pprint.end_block_t.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_imap.call(null,this)};cljs.pprint.end_block_t.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.truth_(cljs.core.truth_(b)?this.constructor===b.constructor&&cljs.core.equiv_map.call(null,this,b):b)?!0:!1};
cljs.pprint.end_block_t.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),null,new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),null,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),null,new cljs.core.Keyword(null,"start-pos","start-pos",668789086),null],null),null),b)?cljs.core.dissoc.call(null,
cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new cljs.pprint.end_block_t(this.type_tag,this.logical_block,this.start_pos,this.end_pos,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
cljs.pprint.end_block_t.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),b))?new cljs.pprint.end_block_t(c,this.logical_block,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),b))?new cljs.pprint.end_block_t(this.type_tag,c,this.start_pos,this.end_pos,
this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"start-pos","start-pos",668789086),b))?new cljs.pprint.end_block_t(this.type_tag,this.logical_block,c,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),b))?new cljs.pprint.end_block_t(this.type_tag,this.logical_block,this.start_pos,c,this.__meta,this.__extmap,null):new cljs.pprint.end_block_t(this.type_tag,this.logical_block,this.start_pos,
this.end_pos,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
cljs.pprint.end_block_t.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),this.type_tag],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"logical-block","logical-block",
-581022564),this.logical_block],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"start-pos","start-pos",668789086),this.start_pos],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),this.end_pos],null)],null),this.__extmap))};
cljs.pprint.end_block_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.pprint.end_block_t(this.type_tag,this.logical_block,this.start_pos,this.end_pos,b,this.__extmap,this.__hash)};cljs.pprint.end_block_t.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
cljs.pprint.end_block_t.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"type-tag","type-tag",-233331740,null),new cljs.core.Symbol(null,"logical-block","logical-block",1059508963,null),new cljs.core.Symbol(null,"start-pos","start-pos",-1985646683,null),new cljs.core.Symbol(null,"end-pos","end-pos",-3352399,null)],null)};cljs.pprint.end_block_t.cljs$lang$type=!0;
cljs.pprint.end_block_t.cljs$lang$ctorPrSeq=function(a){return cljs.core._conj.call(null,cljs.core.List.EMPTY,"cljs.pprint/end-block-t")};cljs.pprint.end_block_t.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"cljs.pprint/end-block-t")};cljs.pprint.__GT_end_block_t=function(a,b,c,d){return new cljs.pprint.end_block_t(a,b,c,d,null,null,null)};
cljs.pprint.map__GT_end_block_t=function(a){return new cljs.pprint.end_block_t((new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"start-pos","start-pos",668789086)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.dissoc.call(null,
a,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),new cljs.core.Keyword(null,"start-pos","start-pos",668789086),new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926)),null)};cljs.pprint.make_end_block_t=function(a,b,c){return new cljs.pprint.end_block_t(new cljs.core.Keyword(null,"end-block-t","end-block-t",1544648735),a,b,c,null,null,null)};
cljs.pprint.end_block_t_QMARK_=function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"end-block-t","end-block-t",1544648735))};
cljs.pprint.indent_t=function(a,b,c,d,e,f,g,h,k){this.type_tag=a;this.logical_block=b;this.relative_to=c;this.offset=d;this.start_pos=e;this.end_pos=f;this.__meta=g;this.__extmap=h;this.__hash=k;this.cljs$lang$protocol_mask$partition0$=2229667594;this.cljs$lang$protocol_mask$partition1$=8192};cljs.pprint.indent_t.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.pprint.indent_t.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "type-tag":return this.type_tag;case "logical-block":return this.logical_block;case "relative-to":return this.relative_to;case "offset":return this.offset;case "start-pos":return this.start_pos;case "end-pos":return this.end_pos;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
cljs.pprint.indent_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#cljs.pprint.indent-t{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"type-tag","type-tag",-1873863267),this.type_tag],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),this.logical_block],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"relative-to","relative-to",-470100051),this.relative_to],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"offset","offset",296498311),this.offset],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"start-pos","start-pos",668789086),this.start_pos],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),this.end_pos],null)],null),this.__extmap))};cljs.pprint.indent_t.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;
cljs.pprint.indent_t.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,6,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),new cljs.core.Keyword(null,"relative-to","relative-to",-470100051),new cljs.core.Keyword(null,"offset","offset",296498311),new cljs.core.Keyword(null,"start-pos","start-pos",
668789086),new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):cljs.core.nil_iter.call(null))};cljs.pprint.indent_t.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};
cljs.pprint.indent_t.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.pprint.indent_t(this.type_tag,this.logical_block,this.relative_to,this.offset,this.start_pos,this.end_pos,this.__meta,this.__extmap,this.__hash)};cljs.pprint.indent_t.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 6+cljs.core.count.call(null,this.__extmap)};
cljs.pprint.indent_t.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_imap.call(null,this)};cljs.pprint.indent_t.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.truth_(cljs.core.truth_(b)?this.constructor===b.constructor&&cljs.core.equiv_map.call(null,this,b):b)?!0:!1};
cljs.pprint.indent_t.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"offset","offset",296498311),null,new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),null,new cljs.core.Keyword(null,"relative-to","relative-to",-470100051),null,new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),null,new cljs.core.Keyword(null,"type-tag",
"type-tag",-1873863267),null,new cljs.core.Keyword(null,"start-pos","start-pos",668789086),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new cljs.pprint.indent_t(this.type_tag,this.logical_block,this.relative_to,this.offset,this.start_pos,this.end_pos,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
cljs.pprint.indent_t.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),b))?new cljs.pprint.indent_t(c,this.logical_block,this.relative_to,this.offset,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),b))?new cljs.pprint.indent_t(this.type_tag,
c,this.relative_to,this.offset,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"relative-to","relative-to",-470100051),b))?new cljs.pprint.indent_t(this.type_tag,this.logical_block,c,this.offset,this.start_pos,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"offset","offset",296498311),b))?new cljs.pprint.indent_t(this.type_tag,this.logical_block,this.relative_to,c,this.start_pos,
this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"start-pos","start-pos",668789086),b))?new cljs.pprint.indent_t(this.type_tag,this.logical_block,this.relative_to,this.offset,c,this.end_pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),b))?new cljs.pprint.indent_t(this.type_tag,this.logical_block,this.relative_to,this.offset,this.start_pos,c,this.__meta,this.__extmap,null):
new cljs.pprint.indent_t(this.type_tag,this.logical_block,this.relative_to,this.offset,this.start_pos,this.end_pos,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
cljs.pprint.indent_t.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),this.type_tag],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"logical-block","logical-block",
-581022564),this.logical_block],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"relative-to","relative-to",-470100051),this.relative_to],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"offset","offset",296498311),this.offset],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"start-pos","start-pos",668789086),
this.start_pos],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926),this.end_pos],null)],null),this.__extmap))};cljs.pprint.indent_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.pprint.indent_t(this.type_tag,this.logical_block,this.relative_to,this.offset,this.start_pos,this.end_pos,b,this.__extmap,this.__hash)};
cljs.pprint.indent_t.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
cljs.pprint.indent_t.getBasis=function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"type-tag","type-tag",-233331740,null),new cljs.core.Symbol(null,"logical-block","logical-block",1059508963,null),new cljs.core.Symbol(null,"relative-to","relative-to",1170431476,null),new cljs.core.Symbol(null,"offset","offset",1937029838,null),new cljs.core.Symbol(null,"start-pos","start-pos",-1985646683,null),new cljs.core.Symbol(null,"end-pos",
"end-pos",-3352399,null)],null)};cljs.pprint.indent_t.cljs$lang$type=!0;cljs.pprint.indent_t.cljs$lang$ctorPrSeq=function(a){return cljs.core._conj.call(null,cljs.core.List.EMPTY,"cljs.pprint/indent-t")};cljs.pprint.indent_t.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"cljs.pprint/indent-t")};cljs.pprint.__GT_indent_t=function(a,b,c,d,e,f){return new cljs.pprint.indent_t(a,b,c,d,e,f,null,null,null)};
cljs.pprint.map__GT_indent_t=function(a){return new cljs.pprint.indent_t((new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"relative-to","relative-to",-470100051)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"offset","offset",296498311)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"start-pos",
"start-pos",668789086)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267),new cljs.core.Keyword(null,"logical-block","logical-block",-581022564),new cljs.core.Keyword(null,"relative-to","relative-to",-470100051),new cljs.core.Keyword(null,"offset","offset",296498311),new cljs.core.Keyword(null,"start-pos","start-pos",668789086),
new cljs.core.Keyword(null,"end-pos","end-pos",-1643883926)),null)};cljs.pprint.make_indent_t=function(a,b,c,d,e){return new cljs.pprint.indent_t(new cljs.core.Keyword(null,"indent-t","indent-t",528318969),a,b,c,d,e,null,null,null)};cljs.pprint.indent_t_QMARK_=function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"indent-t","indent-t",528318969))};cljs.pprint.pp_newline=function(){return"\n"};
"undefined"===typeof cljs.pprint.write_token&&(cljs.pprint.write_token=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));
return new cljs.core.MultiFn(cljs.core.symbol.call(null,"cljs.pprint","write-token"),function(a,b,c,d,e){return function(a,b){return(new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(b)}}(a,b,c,d,e),new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}());
cljs.core._add_method.call(null,cljs.pprint.write_token,new cljs.core.Keyword(null,"start-block-t","start-block-t",-373430594),function(a,b){var c=(new cljs.core.Keyword(null,"logical-block-callback","logical-block-callback",1612691194)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));cljs.core.truth_(c)&&c.call(null,new cljs.core.Keyword(null,"start","start",-355208981));var c=(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(b),
d=(new cljs.core.Keyword(null,"prefix","prefix",-265908465)).cljs$core$IFn$_invoke$arity$1(c);cljs.core.truth_(d)&&cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),d);d=cljs.pprint.get_column.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))));cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,
"start-col","start-col",668080143)).cljs$core$IFn$_invoke$arity$1(c),d);return cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,"indent","indent",-148200125)).cljs$core$IFn$_invoke$arity$1(c),d)});
cljs.core._add_method.call(null,cljs.pprint.write_token,new cljs.core.Keyword(null,"end-block-t","end-block-t",1544648735),function(a,b){var c=(new cljs.core.Keyword(null,"logical-block-callback","logical-block-callback",1612691194)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));cljs.core.truth_(c)&&c.call(null,new cljs.core.Keyword(null,"end","end",-268185958));c=(new cljs.core.Keyword(null,"suffix","suffix",367373057)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,
"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(b));return cljs.core.truth_(c)?cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),c):null});
cljs.core._add_method.call(null,cljs.pprint.write_token,new cljs.core.Keyword(null,"indent-t","indent-t",528318969),function(a,b){var c=(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(b);return cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,"indent","indent",-148200125)).cljs$core$IFn$_invoke$arity$1(c),(new cljs.core.Keyword(null,"offset","offset",296498311)).cljs$core$IFn$_invoke$arity$1(b)+function(){var d=cljs.core._EQ_,e=(new cljs.core.Keyword(null,
"relative-to","relative-to",-470100051)).cljs$core$IFn$_invoke$arity$1(b);if(cljs.core.truth_(d.call(null,new cljs.core.Keyword(null,"block","block",664686210),e)))return cljs.core.deref.call(null,(new cljs.core.Keyword(null,"start-col","start-col",668080143)).cljs$core$IFn$_invoke$arity$1(c));if(cljs.core.truth_(d.call(null,new cljs.core.Keyword(null,"current","current",-1088038603),e)))return cljs.pprint.get_column.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,
cljs.core.deref.call(null,a))));throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)].join(""));}())});
cljs.core._add_method.call(null,cljs.pprint.write_token,new cljs.core.Keyword(null,"buffer-blob","buffer-blob",-1830112173),function(a,b){return cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),(new cljs.core.Keyword(null,"data","data",-232669377)).cljs$core$IFn$_invoke$arity$1(b))});
cljs.core._add_method.call(null,cljs.pprint.write_token,new cljs.core.Keyword(null,"nl-t","nl-t",-1608382114),function(a,b){if(cljs.core.truth_(function(){var a=cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(b),new cljs.core.Keyword(null,"mandatory","mandatory",542802336));return a?a:(a=!cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(b),new cljs.core.Keyword(null,"fill","fill",
883462889)))?cljs.core.deref.call(null,(new cljs.core.Keyword(null,"done-nl","done-nl",-381024340)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(b))):a}()))cljs.pprint.emit_nl.call(null,a,b);else{var c=(new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));cljs.core.truth_(c)&&cljs.core._write.call(null,
(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),c)}return cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996),null)});
cljs.pprint.write_tokens=function(a,b,c){for(var d=cljs.core.seq.call(null,b),e=null,f=0,g=0;;)if(g<f){b=cljs.core._nth.call(null,e,g);if(!cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(b),new cljs.core.Keyword(null,"nl-t","nl-t",-1608382114))){var h=(new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));cljs.core.truth_(h)&&
cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),h)}cljs.pprint.write_token.call(null,a,b);cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996),(new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996)).cljs$core$IFn$_invoke$arity$1(b));b=(new cljs.core.Keyword(null,
"trailing-white-space","trailing-white-space",1496006996)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));cljs.core.truth_(cljs.core.truth_(c)?b:c)&&(cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),b),cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",
1496006996),null));g+=1}else if(b=cljs.core.seq.call(null,d))d=b,cljs.core.chunked_seq_QMARK_.call(null,d)?(e=cljs.core.chunk_first.call(null,d),d=cljs.core.chunk_rest.call(null,d),b=e,f=cljs.core.count.call(null,e),e=b):(b=cljs.core.first.call(null,d),cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type-tag","type-tag",-1873863267)).cljs$core$IFn$_invoke$arity$1(b),new cljs.core.Keyword(null,"nl-t","nl-t",-1608382114))||(e=(new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",
1496006996)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),cljs.core.truth_(e)&&cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),e)),cljs.pprint.write_token.call(null,a,b),cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996),(new cljs.core.Keyword(null,
"trailing-white-space","trailing-white-space",1496006996)).cljs$core$IFn$_invoke$arity$1(b)),b=(new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),cljs.core.truth_(cljs.core.truth_(c)?b:c)&&(cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),b),cljs.core.swap_BANG_.call(null,
cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996),null)),d=cljs.core.next.call(null,d),e=null,f=0),g=0;else return null};
cljs.pprint.tokens_fit_QMARK_=function(a,b){var c=cljs.pprint.get_max_column.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))));return null==c||cljs.pprint.get_column.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))))+cljs.pprint.buffer_length.call(null,b)<c};
cljs.pprint.linear_nl_QMARK_=function(a,b,c){b=cljs.core.deref.call(null,(new cljs.core.Keyword(null,"done-nl","done-nl",-381024340)).cljs$core$IFn$_invoke$arity$1(b));return cljs.core.truth_(b)?b:cljs.core.not.call(null,cljs.pprint.tokens_fit_QMARK_.call(null,a,c))};
cljs.pprint.miser_nl_QMARK_=function(a,b,c){var d=cljs.pprint.get_miser_width.call(null,a),e=cljs.pprint.get_max_column.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))));return cljs.core.truth_(d)?cljs.core.truth_(e)?(d=cljs.core.deref.call(null,(new cljs.core.Keyword(null,"start-col","start-col",668080143)).cljs$core$IFn$_invoke$arity$1(b))>=e-d)?cljs.pprint.linear_nl_QMARK_.call(null,a,b,c):d:e:
d};
"undefined"===typeof cljs.pprint.emit_nl_QMARK_&&(cljs.pprint.emit_nl_QMARK_=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));return new cljs.core.MultiFn(cljs.core.symbol.call(null,
"cljs.pprint","emit-nl?"),function(a,b,c,d,e){return function(a,b,c,d){return(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(a)}}(a,b,c,d,e),new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}());
cljs.core._add_method.call(null,cljs.pprint.emit_nl_QMARK_,new cljs.core.Keyword(null,"linear","linear",872268697),function(a,b,c,d){a=(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(a);return cljs.pprint.linear_nl_QMARK_.call(null,b,a,c)});
cljs.core._add_method.call(null,cljs.pprint.emit_nl_QMARK_,new cljs.core.Keyword(null,"miser","miser",-556060186),function(a,b,c,d){a=(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(a);return cljs.pprint.miser_nl_QMARK_.call(null,b,a,c)});
cljs.core._add_method.call(null,cljs.pprint.emit_nl_QMARK_,new cljs.core.Keyword(null,"fill","fill",883462889),function(a,b,c,d){a=(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(a);var e=cljs.core.deref.call(null,(new cljs.core.Keyword(null,"intra-block-nl","intra-block-nl",1808826875)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core.truth_(e)?e:(d=cljs.core.not.call(null,cljs.pprint.tokens_fit_QMARK_.call(null,b,d)))?d:cljs.pprint.miser_nl_QMARK_.call(null,
b,a,c)});cljs.core._add_method.call(null,cljs.pprint.emit_nl_QMARK_,new cljs.core.Keyword(null,"mandatory","mandatory",542802336),function(a,b,c,d){return!0});
cljs.pprint.get_section=function(a){var b=cljs.core.first.call(null,a),c=(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(b),b=cljs.core.seq.call(null,cljs.core.take_while.call(null,function(a,b){return function(a){return cljs.core.not.call(null,function(){var c=cljs.pprint.nl_t_QMARK_.call(null,a);return cljs.core.truth_(c)?cljs.pprint.ancestor_QMARK_.call(null,(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(a),
b):c}())}}(b,c),cljs.core.next.call(null,a)));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,cljs.core.seq.call(null,cljs.core.drop.call(null,cljs.core.count.call(null,b)+1,a))],null)};
cljs.pprint.get_sub_section=function(a){var b=cljs.core.first.call(null,a),c=(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(b);return cljs.core.seq.call(null,cljs.core.take_while.call(null,function(a,b){return function(a){var c=(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.not.call(null,function(){var d=cljs.pprint.nl_t_QMARK_.call(null,a);return cljs.core.truth_(d)?
(d=cljs.core._EQ_.call(null,c,b))?d:cljs.pprint.ancestor_QMARK_.call(null,c,b):d}())}}(b,c),cljs.core.next.call(null,a)))};
cljs.pprint.update_nl_state=function(a){cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,"intra-block-nl","intra-block-nl",1808826875)).cljs$core$IFn$_invoke$arity$1(a),!0);cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,"done-nl","done-nl",-381024340)).cljs$core$IFn$_invoke$arity$1(a),!0);for(a=(new cljs.core.Keyword(null,"parent","parent",-878878779)).cljs$core$IFn$_invoke$arity$1(a);;)if(cljs.core.truth_(a))cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,"done-nl",
"done-nl",-381024340)).cljs$core$IFn$_invoke$arity$1(a),!0),cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,"intra-block-nl","intra-block-nl",1808826875)).cljs$core$IFn$_invoke$arity$1(a),!0),a=(new cljs.core.Keyword(null,"parent","parent",-878878779)).cljs$core$IFn$_invoke$arity$1(a);else return null};
cljs.pprint.emit_nl=function(a,b){cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),cljs.pprint.pp_newline.call(null));cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996),null);var c=(new cljs.core.Keyword(null,"logical-block","logical-block",-581022564)).cljs$core$IFn$_invoke$arity$1(b),
d=(new cljs.core.Keyword(null,"per-line-prefix","per-line-prefix",846941813)).cljs$core$IFn$_invoke$arity$1(c);cljs.core.truth_(d)&&cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),d);d=cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,cljs.core.deref.call(null,(new cljs.core.Keyword(null,"indent","indent",-148200125)).cljs$core$IFn$_invoke$arity$1(c))-cljs.core.count.call(null,
d)," "));cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),d);return cljs.pprint.update_nl_state.call(null,c)};
cljs.pprint.split_at_newline=function(a){var b=cljs.core.seq.call(null,cljs.core.take_while.call(null,function(a){return cljs.core.not.call(null,cljs.pprint.nl_t_QMARK_.call(null,a))},a));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,cljs.core.seq.call(null,cljs.core.drop.call(null,cljs.core.count.call(null,b),a))],null)};
cljs.pprint.write_token_string=function(a,b){var c=cljs.pprint.split_at_newline.call(null,b),d=cljs.core.nth.call(null,c,0,null),e=cljs.core.nth.call(null,c,1,null);cljs.core.truth_(d)&&cljs.pprint.write_tokens.call(null,a,d,!1);if(cljs.core.truth_(e)){var c=cljs.pprint.get_section.call(null,e),d=cljs.core.nth.call(null,c,0,null),c=cljs.core.nth.call(null,c,1,null),f=cljs.core.first.call(null,e),g=cljs.pprint.emit_nl_QMARK_.call(null,f,a,d,cljs.pprint.get_sub_section.call(null,e));cljs.core.truth_(g)&&
(cljs.pprint.emit_nl.call(null,a,f),e=cljs.core.next.call(null,e));cljs.core.not.call(null,cljs.pprint.tokens_fit_QMARK_.call(null,a,e))?(e=cljs.pprint.write_token_string.call(null,a,d),cljs.core._EQ_.call(null,e,d)?(cljs.pprint.write_tokens.call(null,a,d,!1),d=c):d=cljs.core.into.call(null,cljs.core.PersistentVector.EMPTY,cljs.core.concat.call(null,e,c))):d=e;return d}return null};
cljs.pprint.write_line=function(a){for(var b=(new cljs.core.Keyword(null,"buffer","buffer",617295198)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));;)if(cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"buffer","buffer",617295198),cljs.core.into.call(null,cljs.core.PersistentVector.EMPTY,b)),cljs.core.not.call(null,cljs.pprint.tokens_fit_QMARK_.call(null,a,b))){var c=cljs.pprint.write_token_string.call(null,
a,b);if(b!==c)b=c;else return null}else return null};
cljs.pprint.add_to_buffer=function(a,b){cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"buffer","buffer",617295198),cljs.core.conj.call(null,(new cljs.core.Keyword(null,"buffer","buffer",617295198)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),b));return cljs.core.not.call(null,cljs.pprint.tokens_fit_QMARK_.call(null,a,(new cljs.core.Keyword(null,"buffer","buffer",617295198)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,
cljs.core.deref.call(null,a)))))?cljs.pprint.write_line.call(null,a):null};
cljs.pprint.write_buffered_output=function(a){cljs.pprint.write_line.call(null,a);var b=(new cljs.core.Keyword(null,"buffer","buffer",617295198)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));return cljs.core.truth_(b)?(cljs.pprint.write_tokens.call(null,a,b,!0),cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"buffer","buffer",617295198),cljs.core.PersistentVector.EMPTY)):null};
cljs.pprint.write_white_space=function(a){var b=(new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));return cljs.core.truth_(b)?(cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),b),cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,
"trailing-white-space","trailing-white-space",1496006996),null)):null};
cljs.pprint.write_initial_lines=function(a,b){var c=clojure.string.split.call(null,b,"\n",-1);if(cljs.core._EQ_.call(null,cljs.core.count.call(null,c),1))return b;var d=(new cljs.core.Keyword(null,"per-line-prefix","per-line-prefix",846941813)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,(new cljs.core.Keyword(null,"logical-blocks","logical-blocks",-1466339776)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))))),e=cljs.core.first.call(null,c);if(cljs.core._EQ_.call(null,
new cljs.core.Keyword(null,"buffering","buffering",-876713613),(new cljs.core.Keyword(null,"mode","mode",654403691)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))))){var f=(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),g=f+cljs.core.count.call(null,e);cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"pos","pos",-864607220),
g);cljs.pprint.add_to_buffer.call(null,a,cljs.pprint.make_buffer_blob.call(null,e,null,f,g));cljs.pprint.write_buffered_output.call(null,a)}else cljs.pprint.write_white_space.call(null,a),cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),e);cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,
a))),"\n");for(var e=cljs.core.seq.call(null,cljs.core.next.call(null,cljs.core.butlast.call(null,c))),f=null,h=g=0;;)if(h<g){var k=cljs.core._nth.call(null,f,h);cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),k);cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),
cljs.pprint.pp_newline.call(null));cljs.core.truth_(d)&&cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),d);h+=1}else if(e=cljs.core.seq.call(null,e))f=e,cljs.core.chunked_seq_QMARK_.call(null,f)?(e=cljs.core.chunk_first.call(null,f),h=cljs.core.chunk_rest.call(null,f),f=e,g=cljs.core.count.call(null,e),e=h):(e=cljs.core.first.call(null,f),cljs.core._write.call(null,(new cljs.core.Keyword(null,
"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),e),cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),cljs.pprint.pp_newline.call(null)),cljs.core.truth_(d)&&cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,
a))),d),e=cljs.core.next.call(null,f),f=null,g=0),h=0;else break;cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"buffering","buffering",-876713613),new cljs.core.Keyword(null,"writing","writing",-1486865108));return cljs.core.last.call(null,c)};
cljs.pprint.p_write_char=function(a,b){if(cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"mode","mode",654403691)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),new cljs.core.Keyword(null,"writing","writing",-1486865108)))return cljs.pprint.write_white_space.call(null,a),cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),b);if(cljs.core._EQ_.call(null,
b,"\n"))return cljs.pprint.write_initial_lines.call(null,a,"\n");var c=(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),d=c+1;cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"pos","pos",-864607220),d);return cljs.pprint.add_to_buffer.call(null,a,cljs.pprint.make_buffer_blob.call(null,cljs.core.char$.call(null,b),null,c,d))};
cljs.pprint.pretty_writer=function(a,b,c){var d=new cljs.pprint.logical_block(null,null,cljs.core.atom.call(null,0),cljs.core.atom.call(null,0),cljs.core.atom.call(null,!1),cljs.core.atom.call(null,!1),null,null,null,null,null,null,null),e=cljs.core.atom.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"logical-blocks","logical-blocks",-1466339776),new cljs.core.Keyword(null,"miser-width","miser-width",-1310049437),new cljs.core.Keyword(null,"buffer-block","buffer-block",
-10937307),new cljs.core.Keyword(null,"pretty-writer","pretty-writer",-1222834267),new cljs.core.Keyword(null,"sections","sections",-886710106),new cljs.core.Keyword(null,"mode","mode",654403691),new cljs.core.Keyword(null,"pos","pos",-864607220),new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996),new cljs.core.Keyword(null,"base","base",185279322),new cljs.core.Keyword(null,"buffer-level","buffer-level",928864731),new cljs.core.Keyword(null,"buffer","buffer",617295198)],
[d,c,d,!0,null,new cljs.core.Keyword(null,"writing","writing",-1486865108),0,null,cljs.pprint.column_writer.call(null,a,b),1,cljs.core.PersistentVector.EMPTY]));"undefined"===typeof cljs.pprint.t_cljs$pprint31601&&(cljs.pprint.t_cljs$pprint31601=function(a,b,c,d,e,m){this.writer=a;this.max_columns=b;this.miser_width=c;this.lb=d;this.fields=e;this.meta31602=m;this.cljs$lang$protocol_mask$partition0$=1074167808;this.cljs$lang$protocol_mask$partition1$=0},cljs.pprint.t_cljs$pprint31601.prototype.cljs$core$IWithMeta$_with_meta$arity$2=
function(a,b){return function(a,b){return new cljs.pprint.t_cljs$pprint31601(this.writer,this.max_columns,this.miser_width,this.lb,this.fields,b)}}(d,e),cljs.pprint.t_cljs$pprint31601.prototype.cljs$core$IMeta$_meta$arity$1=function(a,b){return function(a){return this.meta31602}}(d,e),cljs.pprint.t_cljs$pprint31601.prototype.cljs$core$IDeref$_deref$arity$1=function(a,b){return function(a){return this.fields}}(d,e),cljs.pprint.t_cljs$pprint31601.prototype.cljs$core$IWriter$_write$arity$2=function(a,
b){return function(a,b){var c=cljs.core._EQ_,d=cljs.core.type.call(null,b);if(cljs.core.truth_(c.call(null,String,d))){var e=cljs.pprint.write_initial_lines.call(null,this,b),c=clojure.string.replace_first.call(null,e,/\s+$/,""),d=cljs.core.subs.call(null,e,cljs.core.count.call(null,c)),f=(new cljs.core.Keyword(null,"mode","mode",654403691)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,this)));if(cljs.core._EQ_.call(null,f,new cljs.core.Keyword(null,"writing",
"writing",-1486865108)))return cljs.pprint.write_white_space.call(null,this),cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,this))),c),cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,this),cljs.core.assoc,new cljs.core.Keyword(null,"trailing-white-space","trailing-white-space",1496006996),d);f=(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,
cljs.core.deref.call(null,this)));e=f+cljs.core.count.call(null,e);cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,this),cljs.core.assoc,new cljs.core.Keyword(null,"pos","pos",-864607220),e);return cljs.pprint.add_to_buffer.call(null,this,cljs.pprint.make_buffer_blob.call(null,c,d,f,e))}if(cljs.core.truth_(c.call(null,Number,d)))return cljs.pprint.p_write_char.call(null,this,b);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join(""));
}}(d,e),cljs.pprint.t_cljs$pprint31601.prototype.cljs$core$IWriter$_flush$arity$1=function(a,b){return function(a){cljs.pprint._ppflush.call(null,this);return cljs.core._flush.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,this))))}}(d,e),cljs.pprint.t_cljs$pprint31601.prototype.cljs$pprint$IPrettyFlush$=cljs.core.PROTOCOL_SENTINEL,cljs.pprint.t_cljs$pprint31601.prototype.cljs$pprint$IPrettyFlush$_ppflush$arity$1=
function(a,b){return function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"mode","mode",654403691)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,this))),new cljs.core.Keyword(null,"buffering","buffering",-876713613))?(cljs.pprint.write_tokens.call(null,this,(new cljs.core.Keyword(null,"buffer","buffer",617295198)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,this))),!0),cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,
this),cljs.core.assoc,new cljs.core.Keyword(null,"buffer","buffer",617295198),cljs.core.PersistentVector.EMPTY)):cljs.pprint.write_white_space.call(null,this)}}(d,e),cljs.pprint.t_cljs$pprint31601.getBasis=function(a,b){return function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"writer","writer",1362963291,null),new cljs.core.Symbol(null,"max-columns","max-columns",-912112507,null),new cljs.core.Symbol(null,"miser-width","miser-width",
330482090,null),new cljs.core.Symbol(null,"lb","lb",950310490,null),new cljs.core.Symbol(null,"fields","fields",-291534703,null),new cljs.core.Symbol(null,"meta31602","meta31602",-791392332,null)],null)}}(d,e),cljs.pprint.t_cljs$pprint31601.cljs$lang$type=!0,cljs.pprint.t_cljs$pprint31601.cljs$lang$ctorStr="cljs.pprint/t_cljs$pprint31601",cljs.pprint.t_cljs$pprint31601.cljs$lang$ctorPrWriter=function(a,b){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.pprint/t_cljs$pprint31601")}}(d,
e),cljs.pprint.__GT_t_cljs$pprint31601=function(a,b){return function(a,b,c,d,e,f){return new cljs.pprint.t_cljs$pprint31601(a,b,c,d,e,f)}}(d,e));return new cljs.pprint.t_cljs$pprint31601(a,b,c,d,e,cljs.core.PersistentArrayMap.EMPTY)};
cljs.pprint.start_block=function(a,b,c,d){c=new cljs.pprint.logical_block((new cljs.core.Keyword(null,"logical-blocks","logical-blocks",-1466339776)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),null,cljs.core.atom.call(null,0),cljs.core.atom.call(null,0),cljs.core.atom.call(null,!1),cljs.core.atom.call(null,!1),b,c,d,null,null,null,null);cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"logical-blocks",
"logical-blocks",-1466339776),c);if(cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"mode","mode",654403691)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),new cljs.core.Keyword(null,"writing","writing",-1486865108)))return cljs.pprint.write_white_space.call(null,a),d=(new cljs.core.Keyword(null,"logical-block-callback","logical-block-callback",1612691194)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),cljs.core.truth_(d)&&
d.call(null,new cljs.core.Keyword(null,"start","start",-355208981)),cljs.core.truth_(b)&&cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),b),a=cljs.pprint.get_column.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)))),cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,"start-col",
"start-col",668080143)).cljs$core$IFn$_invoke$arity$1(c),a),cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,"indent","indent",-148200125)).cljs$core$IFn$_invoke$arity$1(c),a);d=(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));b=d+(cljs.core.truth_(b)?cljs.core.count.call(null,b):0);cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"pos","pos",
-864607220),b);return cljs.pprint.add_to_buffer.call(null,a,cljs.pprint.make_start_block_t.call(null,c,d,b))};
cljs.pprint.end_block=function(a){var b=(new cljs.core.Keyword(null,"logical-blocks","logical-blocks",-1466339776)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),c=(new cljs.core.Keyword(null,"suffix","suffix",367373057)).cljs$core$IFn$_invoke$arity$1(b);if(cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"mode","mode",654403691)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),new cljs.core.Keyword(null,"writing",
"writing",-1486865108))){cljs.pprint.write_white_space.call(null,a);cljs.core.truth_(c)&&cljs.core._write.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),c);var d=(new cljs.core.Keyword(null,"logical-block-callback","logical-block-callback",1612691194)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));cljs.core.truth_(d)&&d.call(null,new cljs.core.Keyword(null,
"end","end",-268185958))}else d=(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),c=d+(cljs.core.truth_(c)?cljs.core.count.call(null,c):0),cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"pos","pos",-864607220),c),cljs.pprint.add_to_buffer.call(null,a,cljs.pprint.make_end_block_t.call(null,b,d,c));return cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,
a),cljs.core.assoc,new cljs.core.Keyword(null,"logical-blocks","logical-blocks",-1466339776),(new cljs.core.Keyword(null,"parent","parent",-878878779)).cljs$core$IFn$_invoke$arity$1(b))};
cljs.pprint.nl=function(a,b){cljs.core.swap_BANG_.call(null,cljs.core.deref.call(null,a),cljs.core.assoc,new cljs.core.Keyword(null,"mode","mode",654403691),new cljs.core.Keyword(null,"buffering","buffering",-876713613));var c=(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));return cljs.pprint.add_to_buffer.call(null,a,cljs.pprint.make_nl_t.call(null,b,(new cljs.core.Keyword(null,"logical-blocks","logical-blocks",
-1466339776)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),c,c))};
cljs.pprint.indent=function(a,b,c){var d=(new cljs.core.Keyword(null,"logical-blocks","logical-blocks",-1466339776)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));if(cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"mode","mode",654403691)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))),new cljs.core.Keyword(null,"writing","writing",-1486865108)))return cljs.pprint.write_white_space.call(null,a),cljs.core.reset_BANG_.call(null,
(new cljs.core.Keyword(null,"indent","indent",-148200125)).cljs$core$IFn$_invoke$arity$1(d),c+function(){var c=cljs.core._EQ_;if(cljs.core.truth_(c.call(null,new cljs.core.Keyword(null,"block","block",664686210),b)))return cljs.core.deref.call(null,(new cljs.core.Keyword(null,"start-col","start-col",668080143)).cljs$core$IFn$_invoke$arity$1(d));if(cljs.core.truth_(c.call(null,new cljs.core.Keyword(null,"current","current",-1088038603),b)))return cljs.pprint.get_column.call(null,(new cljs.core.Keyword(null,
"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))));throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));}());var e=(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)));return cljs.pprint.add_to_buffer.call(null,a,cljs.pprint.make_indent_t.call(null,d,b,c,e,e))};
cljs.pprint.get_miser_width=function(a){return(new cljs.core.Keyword(null,"miser-width","miser-width",-1310049437)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a)))};cljs.pprint._STAR_print_pretty_STAR_=!0;"undefined"===typeof cljs.pprint._STAR_print_pprint_dispatch_STAR_&&(cljs.pprint._STAR_print_pprint_dispatch_STAR_=null);cljs.pprint._STAR_print_right_margin_STAR_=72;cljs.pprint._STAR_print_miser_width_STAR_=40;cljs.pprint._STAR_print_lines_STAR_=null;
cljs.pprint._STAR_print_circle_STAR_=null;cljs.pprint._STAR_print_shared_STAR_=null;cljs.pprint._STAR_print_suppress_namespaces_STAR_=null;cljs.pprint._STAR_print_radix_STAR_=null;cljs.pprint._STAR_print_base_STAR_=10;cljs.pprint._STAR_current_level_STAR_=0;cljs.pprint._STAR_current_length_STAR_=null;
cljs.pprint.table_ize=function(a,b){return cljs.core.apply.call(null,cljs.core.hash_map,cljs.core.mapcat.call(null,function(b){var c=cljs.core.get.call(null,a,cljs.core.key.call(null,b));return cljs.core.truth_(c)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,cljs.core.val.call(null,b)],null):null},b))};
cljs.pprint.pretty_writer_QMARK_=function(a){var b=null!=a?a.cljs$lang$protocol_mask$partition0$&32768||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IDeref$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IDeref,a):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IDeref,a);return b?(new cljs.core.Keyword(null,"pretty-writer","pretty-writer",-1222834267)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,a))):b};
cljs.pprint.make_pretty_writer=function(a,b,c){return cljs.pprint.pretty_writer.call(null,a,b,c)};
cljs.pprint.write_out=function(a){var b=cljs.pprint._STAR_current_length_STAR_;cljs.core.truth_(b)&&(b=cljs.core._STAR_print_length_STAR_,b=cljs.core.truth_(b)?cljs.pprint._STAR_current_length_STAR_>=cljs.core._STAR_print_length_STAR_:b);cljs.pprint._STAR_print_pretty_STAR_?cljs.core.truth_(b)?cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"..."):(cljs.core.truth_(cljs.pprint._STAR_current_length_STAR_)&&(cljs.pprint._STAR_current_length_STAR_+=1),cljs.pprint._STAR_print_pprint_dispatch_STAR_.call(null,
a)):cljs.pprint.pr.call(null,a);return b};cljs.pprint.write=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return cljs.pprint.write.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
cljs.pprint.write.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"stream","stream",1534941648),!0],null),cljs.core.apply.call(null,cljs.core.hash_map,b)),d=cljs.pprint._STAR_print_base_STAR_,e=cljs.pprint._STAR_print_circle_STAR_,f=cljs.core._STAR_print_length_STAR_,g=cljs.core._STAR_print_level_STAR_,h=cljs.pprint._STAR_print_lines_STAR_,k=cljs.pprint._STAR_print_miser_width_STAR_,l=cljs.pprint._STAR_print_pprint_dispatch_STAR_,
m=cljs.pprint._STAR_print_pretty_STAR_,n=cljs.pprint._STAR_print_radix_STAR_,p=cljs.core._STAR_print_readably_STAR_,q=cljs.pprint._STAR_print_right_margin_STAR_,r=cljs.pprint._STAR_print_suppress_namespaces_STAR_;cljs.pprint._STAR_print_base_STAR_=(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$2(c,cljs.pprint._STAR_print_base_STAR_);cljs.pprint._STAR_print_circle_STAR_=(new cljs.core.Keyword(null,"circle","circle",1903212362)).cljs$core$IFn$_invoke$arity$2(c,cljs.pprint._STAR_print_circle_STAR_);
cljs.core._STAR_print_length_STAR_=(new cljs.core.Keyword(null,"length","length",588987862)).cljs$core$IFn$_invoke$arity$2(c,cljs.core._STAR_print_length_STAR_);cljs.core._STAR_print_level_STAR_=(new cljs.core.Keyword(null,"level","level",1290497552)).cljs$core$IFn$_invoke$arity$2(c,cljs.core._STAR_print_level_STAR_);cljs.pprint._STAR_print_lines_STAR_=(new cljs.core.Keyword(null,"lines","lines",-700165781)).cljs$core$IFn$_invoke$arity$2(c,cljs.pprint._STAR_print_lines_STAR_);cljs.pprint._STAR_print_miser_width_STAR_=
(new cljs.core.Keyword(null,"miser-width","miser-width",-1310049437)).cljs$core$IFn$_invoke$arity$2(c,cljs.pprint._STAR_print_miser_width_STAR_);cljs.pprint._STAR_print_pprint_dispatch_STAR_=(new cljs.core.Keyword(null,"dispatch","dispatch",1319337009)).cljs$core$IFn$_invoke$arity$2(c,cljs.pprint._STAR_print_pprint_dispatch_STAR_);cljs.pprint._STAR_print_pretty_STAR_=(new cljs.core.Keyword(null,"pretty","pretty",-1916372486)).cljs$core$IFn$_invoke$arity$2(c,cljs.pprint._STAR_print_pretty_STAR_);cljs.pprint._STAR_print_radix_STAR_=
(new cljs.core.Keyword(null,"radix","radix",857016463)).cljs$core$IFn$_invoke$arity$2(c,cljs.pprint._STAR_print_radix_STAR_);cljs.core._STAR_print_readably_STAR_=(new cljs.core.Keyword(null,"readably","readably",1129599760)).cljs$core$IFn$_invoke$arity$2(c,cljs.core._STAR_print_readably_STAR_);cljs.pprint._STAR_print_right_margin_STAR_=(new cljs.core.Keyword(null,"right-margin","right-margin",-810413306)).cljs$core$IFn$_invoke$arity$2(c,cljs.pprint._STAR_print_right_margin_STAR_);cljs.pprint._STAR_print_suppress_namespaces_STAR_=
(new cljs.core.Keyword(null,"suppress-namespaces","suppress-namespaces",2130686956)).cljs$core$IFn$_invoke$arity$2(c,cljs.pprint._STAR_print_suppress_namespaces_STAR_);try{var u=new goog.string.StringBuffer,t=cljs.core.contains_QMARK_.call(null,c,new cljs.core.Keyword(null,"stream","stream",1534941648))?(new cljs.core.Keyword(null,"stream","stream",1534941648)).cljs$core$IFn$_invoke$arity$1(c):!0,v=!0===t||null==t?new cljs.core.StringBufferWriter(u):t;if(cljs.pprint._STAR_print_pretty_STAR_){var w=
cljs.core.not.call(null,cljs.pprint.pretty_writer_QMARK_.call(null,v)),x=cljs.core._STAR_out_STAR_;cljs.core._STAR_out_STAR_=w?cljs.pprint.make_pretty_writer.call(null,v,cljs.pprint._STAR_print_right_margin_STAR_,cljs.pprint._STAR_print_miser_width_STAR_):v;try{cljs.pprint.write_out.call(null,a),cljs.pprint._ppflush.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.core._STAR_out_STAR_=x}}else{var y=cljs.core._STAR_out_STAR_;cljs.core._STAR_out_STAR_=v;try{cljs.pprint.pr.call(null,a)}finally{cljs.core._STAR_out_STAR_=
y}}!0===t&&cljs.core._STAR_print_fn_STAR_.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(u));return null==t?""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(u):null}finally{cljs.pprint._STAR_print_suppress_namespaces_STAR_=r,cljs.pprint._STAR_print_right_margin_STAR_=q,cljs.core._STAR_print_readably_STAR_=p,cljs.pprint._STAR_print_radix_STAR_=n,cljs.pprint._STAR_print_pretty_STAR_=m,cljs.pprint._STAR_print_pprint_dispatch_STAR_=l,cljs.pprint._STAR_print_miser_width_STAR_=k,cljs.pprint._STAR_print_lines_STAR_=
h,cljs.core._STAR_print_level_STAR_=g,cljs.core._STAR_print_length_STAR_=f,cljs.pprint._STAR_print_circle_STAR_=e,cljs.pprint._STAR_print_base_STAR_=d}};cljs.pprint.write.cljs$lang$maxFixedArity=1;cljs.pprint.write.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return cljs.pprint.write.cljs$core$IFn$_invoke$arity$variadic(b,a)};
cljs.pprint.pprint=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$1=function(a){var b=new goog.string.StringBuffer,c=cljs.core._STAR_out_STAR_;cljs.core._STAR_out_STAR_=new cljs.core.StringBufferWriter(b);try{return cljs.pprint.pprint.call(null,a,cljs.core._STAR_out_STAR_),cljs.core._STAR_print_fn_STAR_.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(b))}finally{cljs.core._STAR_out_STAR_=c}};
cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.core.not.call(null,cljs.pprint.pretty_writer_QMARK_.call(null,b)),d=cljs.core._STAR_out_STAR_;cljs.core._STAR_out_STAR_=c?cljs.pprint.make_pretty_writer.call(null,b,cljs.pprint._STAR_print_right_margin_STAR_,cljs.pprint._STAR_print_miser_width_STAR_):b;try{var e=cljs.pprint._STAR_print_pretty_STAR_;cljs.pprint._STAR_print_pretty_STAR_=!0;try{cljs.pprint.write_out.call(null,a)}finally{cljs.pprint._STAR_print_pretty_STAR_=e}cljs.core._EQ_.call(null,
0,cljs.pprint.get_column.call(null,cljs.core._STAR_out_STAR_))||cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"\n");return cljs.pprint._ppflush.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.core._STAR_out_STAR_=d}};cljs.pprint.pprint.cljs$lang$maxFixedArity=2;cljs.pprint.set_pprint_dispatch=function(a){cljs.pprint._STAR_print_pprint_dispatch_STAR_=a;return null};
cljs.pprint.check_enumerated_arg=function(a,b){if(cljs.core.not.call(null,b.call(null,a)))throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Bad argument: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(". It must be one of "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));return null};
cljs.pprint.level_exceeded=function(){var a=cljs.core._STAR_print_level_STAR_;return cljs.core.truth_(a)?cljs.pprint._STAR_current_level_STAR_>=cljs.core._STAR_print_level_STAR_:a};
cljs.pprint.pprint_newline=function(a){cljs.pprint.check_enumerated_arg.call(null,a,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mandatory","mandatory",542802336),null,new cljs.core.Keyword(null,"miser","miser",-556060186),null,new cljs.core.Keyword(null,"fill","fill",883462889),null,new cljs.core.Keyword(null,"linear","linear",872268697),null],null),null));return cljs.pprint.nl.call(null,cljs.core._STAR_out_STAR_,a)};
cljs.pprint.pprint_indent=function(a,b){cljs.pprint.check_enumerated_arg.call(null,a,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"block","block",664686210),null,new cljs.core.Keyword(null,"current","current",-1088038603),null],null),null));return cljs.pprint.indent.call(null,cljs.core._STAR_out_STAR_,a,b)};
cljs.pprint.pprint_tab=function(a,b,c){cljs.pprint.check_enumerated_arg.call(null,a,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"section","section",-300141526),null,new cljs.core.Keyword(null,"line","line",212345235),null,new cljs.core.Keyword(null,"line-relative","line-relative",1149548219),null,new cljs.core.Keyword(null,"section-relative","section-relative",-658298724),null],null),null));throw Error("pprint-tab is not yet implemented");
};cljs.pprint.cl_format=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return cljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
cljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){b="string"===typeof b?cljs.pprint.compile_format.call(null,b):b;c=cljs.pprint.init_navigator.call(null,c);return cljs.pprint.execute_format.call(null,a,b,c)};cljs.pprint.cl_format.cljs$lang$maxFixedArity=2;
cljs.pprint.cl_format.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return cljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.pprint._STAR_format_str_STAR_=null;
cljs.pprint.format_error=function(a,b){var c=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1("\n"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint._STAR_format_str_STAR_),cljs.core.str.cljs$core$IFn$_invoke$arity$1("\n"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,b," "))),cljs.core.str.cljs$core$IFn$_invoke$arity$1("^"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("\n")].join("");
throw Error(c);};cljs.pprint.arg_navigator=function(a,b,c,d,e,f){this.seq=a;this.rest=b;this.pos=c;this.__meta=d;this.__extmap=e;this.__hash=f;this.cljs$lang$protocol_mask$partition0$=2229667594;this.cljs$lang$protocol_mask$partition1$=8192};cljs.pprint.arg_navigator.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.pprint.arg_navigator.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "seq":return this.seq;case "rest":return this.rest;case "pos":return this.pos;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
cljs.pprint.arg_navigator.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#cljs.pprint.arg-navigator{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"seq","seq",-1817803783),this.seq],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"rest","rest",-1241696419),this.rest],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"pos","pos",-864607220),this.pos],null)],null),this.__extmap))};cljs.pprint.arg_navigator.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;
cljs.pprint.arg_navigator.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,3,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"seq","seq",-1817803783),new cljs.core.Keyword(null,"rest","rest",-1241696419),new cljs.core.Keyword(null,"pos","pos",-864607220)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):cljs.core.nil_iter.call(null))};
cljs.pprint.arg_navigator.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};cljs.pprint.arg_navigator.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.pprint.arg_navigator(this.seq,this.rest,this.pos,this.__meta,this.__extmap,this.__hash)};cljs.pprint.arg_navigator.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 3+cljs.core.count.call(null,this.__extmap)};
cljs.pprint.arg_navigator.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_imap.call(null,this)};cljs.pprint.arg_navigator.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.truth_(cljs.core.truth_(b)?this.constructor===b.constructor&&cljs.core.equiv_map.call(null,this,b):b)?!0:!1};
cljs.pprint.arg_navigator.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"pos","pos",-864607220),null,new cljs.core.Keyword(null,"seq","seq",-1817803783),null,new cljs.core.Keyword(null,"rest","rest",-1241696419),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,
this),this.__meta),b):new cljs.pprint.arg_navigator(this.seq,this.rest,this.pos,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
cljs.pprint.arg_navigator.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"seq","seq",-1817803783),b))?new cljs.pprint.arg_navigator(c,this.rest,this.pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"rest","rest",-1241696419),b))?new cljs.pprint.arg_navigator(this.seq,c,this.pos,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,
"pos","pos",-864607220),b))?new cljs.pprint.arg_navigator(this.seq,this.rest,c,this.__meta,this.__extmap,null):new cljs.pprint.arg_navigator(this.seq,this.rest,this.pos,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
cljs.pprint.arg_navigator.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"seq","seq",-1817803783),this.seq],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"rest","rest",-1241696419),this.rest],
null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"pos","pos",-864607220),this.pos],null)],null),this.__extmap))};cljs.pprint.arg_navigator.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.pprint.arg_navigator(this.seq,this.rest,this.pos,b,this.__extmap,this.__hash)};
cljs.pprint.arg_navigator.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
cljs.pprint.arg_navigator.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"seq","seq",-177272256,null),new cljs.core.Symbol(null,"rest","rest",398835108,null),new cljs.core.Symbol(null,"pos","pos",775924307,null)],null)};cljs.pprint.arg_navigator.cljs$lang$type=!0;cljs.pprint.arg_navigator.cljs$lang$ctorPrSeq=function(a){return cljs.core._conj.call(null,cljs.core.List.EMPTY,"cljs.pprint/arg-navigator")};
cljs.pprint.arg_navigator.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"cljs.pprint/arg-navigator")};cljs.pprint.__GT_arg_navigator=function(a,b,c){return new cljs.pprint.arg_navigator(a,b,c,null,null,null)};
cljs.pprint.map__GT_arg_navigator=function(a){return new cljs.pprint.arg_navigator((new cljs.core.Keyword(null,"seq","seq",-1817803783)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"rest","rest",-1241696419)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"seq","seq",-1817803783),new cljs.core.Keyword(null,"rest","rest",-1241696419),new cljs.core.Keyword(null,
"pos","pos",-864607220)),null)};cljs.pprint.init_navigator=function(a){a=cljs.core.seq.call(null,a);return new cljs.pprint.arg_navigator(a,a,0,null,null,null)};
cljs.pprint.next_arg=function(a){var b=(new cljs.core.Keyword(null,"rest","rest",-1241696419)).cljs$core$IFn$_invoke$arity$1(a);if(cljs.core.truth_(b))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.first.call(null,b),new cljs.pprint.arg_navigator((new cljs.core.Keyword(null,"seq","seq",-1817803783)).cljs$core$IFn$_invoke$arity$1(a),cljs.core.next.call(null,b),(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(a)+1,null,
null,null)],null);throw Error("Not enough arguments for format definition");};
cljs.pprint.next_arg_or_nil=function(a){var b=(new cljs.core.Keyword(null,"rest","rest",-1241696419)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.first.call(null,b),new cljs.pprint.arg_navigator((new cljs.core.Keyword(null,"seq","seq",-1817803783)).cljs$core$IFn$_invoke$arity$1(a),cljs.core.next.call(null,b),(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(a)+
1,null,null,null)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,a],null)};cljs.pprint.get_format_arg=function(a){var b=cljs.pprint.next_arg.call(null,a);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);a="string"===typeof a?cljs.pprint.compile_format.call(null,a):a;return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)};
cljs.pprint.absolute_reposition=function(a,b){return b>=(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(a)?cljs.pprint.relative_reposition.call(null,a,(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(a)-b):new cljs.pprint.arg_navigator((new cljs.core.Keyword(null,"seq","seq",-1817803783)).cljs$core$IFn$_invoke$arity$1(a),cljs.core.drop.call(null,b,(new cljs.core.Keyword(null,"seq","seq",-1817803783)).cljs$core$IFn$_invoke$arity$1(a)),
b,null,null,null)};cljs.pprint.relative_reposition=function(a,b){var c=(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(a)+b;return 0>b?cljs.pprint.absolute_reposition.call(null,a,c):new cljs.pprint.arg_navigator((new cljs.core.Keyword(null,"seq","seq",-1817803783)).cljs$core$IFn$_invoke$arity$1(a),cljs.core.drop.call(null,b,(new cljs.core.Keyword(null,"rest","rest",-1241696419)).cljs$core$IFn$_invoke$arity$1(a)),c,null,null,null)};
cljs.pprint.compiled_directive=function(a,b,c,d,e,f,g){this.func=a;this.def=b;this.params=c;this.offset=d;this.__meta=e;this.__extmap=f;this.__hash=g;this.cljs$lang$protocol_mask$partition0$=2229667594;this.cljs$lang$protocol_mask$partition1$=8192};cljs.pprint.compiled_directive.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.pprint.compiled_directive.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "func":return this.func;case "def":return this.def;case "params":return this.params;case "offset":return this.offset;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
cljs.pprint.compiled_directive.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#cljs.pprint.compiled-directive{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"func","func",-238706040),this.func],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"def","def",-1043430536),this.def],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"params","params",710516235),this.params],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"offset","offset",296498311),
this.offset],null)],null),this.__extmap))};cljs.pprint.compiled_directive.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;
cljs.pprint.compiled_directive.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,4,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"func","func",-238706040),new cljs.core.Keyword(null,"def","def",-1043430536),new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.Keyword(null,"offset","offset",296498311)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):
cljs.core.nil_iter.call(null))};cljs.pprint.compiled_directive.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};cljs.pprint.compiled_directive.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.pprint.compiled_directive(this.func,this.def,this.params,this.offset,this.__meta,this.__extmap,this.__hash)};cljs.pprint.compiled_directive.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 4+cljs.core.count.call(null,this.__extmap)};
cljs.pprint.compiled_directive.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_imap.call(null,this)};cljs.pprint.compiled_directive.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.truth_(cljs.core.truth_(b)?this.constructor===b.constructor&&cljs.core.equiv_map.call(null,this,b):b)?!0:!1};
cljs.pprint.compiled_directive.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"offset","offset",296498311),null,new cljs.core.Keyword(null,"func","func",-238706040),null,new cljs.core.Keyword(null,"params","params",710516235),null,new cljs.core.Keyword(null,"def","def",-1043430536),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,
cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new cljs.pprint.compiled_directive(this.func,this.def,this.params,this.offset,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
cljs.pprint.compiled_directive.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"func","func",-238706040),b))?new cljs.pprint.compiled_directive(c,this.def,this.params,this.offset,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"def","def",-1043430536),b))?new cljs.pprint.compiled_directive(this.func,c,this.params,this.offset,this.__meta,this.__extmap,
null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"params","params",710516235),b))?new cljs.pprint.compiled_directive(this.func,this.def,c,this.offset,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"offset","offset",296498311),b))?new cljs.pprint.compiled_directive(this.func,this.def,this.params,c,this.__meta,this.__extmap,null):new cljs.pprint.compiled_directive(this.func,this.def,this.params,this.offset,this.__meta,cljs.core.assoc.call(null,this.__extmap,
b,c),null)};
cljs.pprint.compiled_directive.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"func","func",-238706040),this.func],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"def","def",-1043430536),
this.def],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"params","params",710516235),this.params],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"offset","offset",296498311),this.offset],null)],null),this.__extmap))};
cljs.pprint.compiled_directive.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.pprint.compiled_directive(this.func,this.def,this.params,this.offset,b,this.__extmap,this.__hash)};
cljs.pprint.compiled_directive.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
cljs.pprint.compiled_directive.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"func","func",1401825487,null),new cljs.core.Symbol(null,"def","def",597100991,null),new cljs.core.Symbol(null,"params","params",-1943919534,null),new cljs.core.Symbol(null,"offset","offset",1937029838,null)],null)};cljs.pprint.compiled_directive.cljs$lang$type=!0;
cljs.pprint.compiled_directive.cljs$lang$ctorPrSeq=function(a){return cljs.core._conj.call(null,cljs.core.List.EMPTY,"cljs.pprint/compiled-directive")};cljs.pprint.compiled_directive.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"cljs.pprint/compiled-directive")};cljs.pprint.__GT_compiled_directive=function(a,b,c,d){return new cljs.pprint.compiled_directive(a,b,c,d,null,null,null)};
cljs.pprint.map__GT_compiled_directive=function(a){return new cljs.pprint.compiled_directive((new cljs.core.Keyword(null,"func","func",-238706040)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"def","def",-1043430536)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"offset","offset",296498311)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,
"func","func",-238706040),new cljs.core.Keyword(null,"def","def",-1043430536),new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.Keyword(null,"offset","offset",296498311)),null)};
cljs.pprint.realize_parameter=function(a,b){var c=cljs.core.nth.call(null,a,0,null),d=cljs.core.nth.call(null,a,1,null),e=cljs.core.nth.call(null,d,0,null),d=cljs.core.nth.call(null,d,1,null),f=cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null],null),null),c)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[e,b],null):cljs.core._EQ_.call(null,e,new cljs.core.Keyword(null,"parameter-from-args","parameter-from-args",-758446196))?cljs.pprint.next_arg.call(null,b):cljs.core._EQ_.call(null,e,new cljs.core.Keyword(null,"remaining-arg-count","remaining-arg-count",-1216589335))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.count.call(null,(new cljs.core.Keyword(null,"rest","rest",-1241696419)).cljs$core$IFn$_invoke$arity$1(b)),b],null):new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[e,b],null),e=cljs.core.nth.call(null,f,0,null),f=cljs.core.nth.call(null,f,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[e,d],null)],null),f],null)};
cljs.pprint.realize_parameter_list=function(a,b){var c=cljs.pprint.map_passing_context.call(null,cljs.pprint.realize_parameter,b,a),d=cljs.core.nth.call(null,c,0,null),c=cljs.core.nth.call(null,c,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,d),c],null)};cljs.pprint.special_radix_markers=new cljs.core.PersistentArrayMap(null,3,[2,"#b",8,"#o",16,"#x"],null);
cljs.pprint.format_simple_number=function(a){return cljs.core.integer_QMARK_.call(null,a)?cljs.core._EQ_.call(null,cljs.pprint._STAR_print_base_STAR_,10)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(cljs.pprint._STAR_print_radix_STAR_)?".":null)].join(""):[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(cljs.pprint._STAR_print_radix_STAR_)?function(){var a=cljs.core.get.call(null,cljs.pprint.special_radix_markers,cljs.pprint._STAR_print_base_STAR_);
return cljs.core.truth_(a)?a:[cljs.core.str.cljs$core$IFn$_invoke$arity$1("#"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint._STAR_print_base_STAR_),cljs.core.str.cljs$core$IFn$_invoke$arity$1("r")].join("")}():null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint.opt_base_str.call(null,cljs.pprint._STAR_print_base_STAR_,a))].join(""):null};
cljs.pprint.format_ascii=function(a,b,c,d){c=cljs.pprint.next_arg.call(null,c);d=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);var e=cljs.pprint.format_simple_number.call(null,d);a=cljs.core.truth_(e)?e:a.call(null,d);d=a.length;e=d+(new cljs.core.Keyword(null,"minpad","minpad",323570901)).cljs$core$IFn$_invoke$arity$1(b);e=e>=(new cljs.core.Keyword(null,"mincol","mincol",1230695445)).cljs$core$IFn$_invoke$arity$1(b)?e:e+(cljs.core.quot.call(null,(new cljs.core.Keyword(null,
"mincol","mincol",1230695445)).cljs$core$IFn$_invoke$arity$1(b)-e-1,(new cljs.core.Keyword(null,"colinc","colinc",-584873385)).cljs$core$IFn$_invoke$arity$1(b))+1)*(new cljs.core.Keyword(null,"colinc","colinc",-584873385)).cljs$core$IFn$_invoke$arity$1(b);d=cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,e-d,(new cljs.core.Keyword(null,"padchar","padchar",2018584530)).cljs$core$IFn$_invoke$arity$1(b)));cljs.core.truth_((new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(b))?
cljs.pprint.print.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("")):cljs.pprint.print.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join(""));return c};cljs.pprint.integral_QMARK_=function(a){return cljs.core.integer_QMARK_.call(null,a)?!0:cljs.pprint.float_QMARK_.call(null,a)?cljs.core._EQ_.call(null,a,Math.floor(a)):!1};
cljs.pprint.remainders=function(a,b){return cljs.core.reverse.call(null,cljs.core.first.call(null,cljs.pprint.consume.call(null,function(b){return 0<b?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.rem.call(null,b,a),cljs.core.quot.call(null,b,a)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,null],null)},b)))};
cljs.pprint.base_str=function(a,b){return 0===b?"0":cljs.core.apply.call(null,cljs.core.str,cljs.core.map.call(null,function(a){return function(a){return 10>a?cljs.core.char$.call(null,cljs.pprint.char_code.call(null,"0")+a):cljs.core.char$.call(null,cljs.pprint.char_code.call(null,"a")+(a-10))}}(b),cljs.pprint.remainders.call(null,a,b)))};cljs.pprint.javascript_base_formats=new cljs.core.PersistentArrayMap(null,3,[8,"%o",10,"%d",16,"%x"],null);
cljs.pprint.opt_base_str=function(a,b){return cljs.pprint.base_str.call(null,a,b)};cljs.pprint.group_by_STAR_=function(a,b){return cljs.core.reverse.call(null,cljs.core.first.call(null,cljs.pprint.consume.call(null,function(b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.seq.call(null,cljs.core.reverse.call(null,cljs.core.take.call(null,a,b))),cljs.core.seq.call(null,cljs.core.drop.call(null,a,b))],null)},cljs.core.reverse.call(null,b))))};
cljs.pprint.format_integer=function(a,b,c,d){var e=cljs.pprint.next_arg.call(null,c),f=cljs.core.nth.call(null,e,0,null),g=cljs.core.nth.call(null,e,1,null);if(cljs.core.truth_(cljs.pprint.integral_QMARK_.call(null,f))){var h=0>f,k=h?-f:f,l=cljs.pprint.opt_base_str.call(null,a,k);a=cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(b))?function(){var a=cljs.core.map.call(null,function(a,b,c,d,e,f){return function(a){return cljs.core.apply.call(null,
cljs.core.str,a)}}(h,k,l,e,f,g),cljs.pprint.group_by_STAR_.call(null,(new cljs.core.Keyword(null,"commainterval","commainterval",-1980061083)).cljs$core$IFn$_invoke$arity$1(b),l)),c=cljs.core.repeat.call(null,cljs.core.count.call(null,a),(new cljs.core.Keyword(null,"commachar","commachar",652859327)).cljs$core$IFn$_invoke$arity$1(b));return cljs.core.apply.call(null,cljs.core.str,cljs.core.next.call(null,cljs.core.interleave.call(null,c,a)))}():l;a=h?[cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""):cljs.core.truth_((new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(b))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1("+"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""):a;a=a.length<(new cljs.core.Keyword(null,"mincol","mincol",1230695445)).cljs$core$IFn$_invoke$arity$1(b)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,(new cljs.core.Keyword(null,
"mincol","mincol",1230695445)).cljs$core$IFn$_invoke$arity$1(b)-a.length,(new cljs.core.Keyword(null,"padchar","padchar",2018584530)).cljs$core$IFn$_invoke$arity$1(b)))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""):a;cljs.pprint.print.call(null,a)}else cljs.pprint.format_ascii.call(null,cljs.core.print_str,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),(new cljs.core.Keyword(null,"mincol","mincol",1230695445)).cljs$core$IFn$_invoke$arity$1(b),
new cljs.core.Keyword(null,"colinc","colinc",-584873385),1,new cljs.core.Keyword(null,"minpad","minpad",323570901),0,new cljs.core.Keyword(null,"padchar","padchar",2018584530),(new cljs.core.Keyword(null,"padchar","padchar",2018584530)).cljs$core$IFn$_invoke$arity$1(b),new cljs.core.Keyword(null,"at","at",1476951349),!0],null),cljs.pprint.init_navigator.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[f],null)),null);return g};
cljs.pprint.english_cardinal_units=new cljs.core.PersistentVector(null,20,5,cljs.core.PersistentVector.EMPTY_NODE,"zero one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen".split(" "),null);
cljs.pprint.english_ordinal_units=new cljs.core.PersistentVector(null,20,5,cljs.core.PersistentVector.EMPTY_NODE,"zeroth first second third fourth fifth sixth seventh eighth ninth tenth eleventh twelfth thirteenth fourteenth fifteenth sixteenth seventeenth eighteenth nineteenth".split(" "),null);cljs.pprint.english_cardinal_tens=new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,"  twenty thirty forty fifty sixty seventy eighty ninety".split(" "),null);
cljs.pprint.english_ordinal_tens=new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,"  twentieth thirtieth fortieth fiftieth sixtieth seventieth eightieth ninetieth".split(" "),null);
cljs.pprint.english_scale_numbers=new cljs.core.PersistentVector(null,22,5,cljs.core.PersistentVector.EMPTY_NODE," thousand million billion trillion quadrillion quintillion sextillion septillion octillion nonillion decillion undecillion duodecillion tredecillion quattuordecillion quindecillion sexdecillion septendecillion octodecillion novemdecillion vigintillion".split(" "),null);
cljs.pprint.format_simple_cardinal=function(a){var b=cljs.core.quot.call(null,a,100),c=cljs.core.rem.call(null,a,100);return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(0<b?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,cljs.pprint.english_cardinal_units,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" hundred")].join(""):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(0<b&&0<c?" ":null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(0<c?20>c?cljs.core.nth.call(null,cljs.pprint.english_cardinal_units,
c):function(){var a=cljs.core.quot.call(null,c,10),b=cljs.core.rem.call(null,c,10);return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(0<a?cljs.core.nth.call(null,cljs.pprint.english_cardinal_tens,a):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(0<a&&0<b?"-":null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(0<b?cljs.core.nth.call(null,cljs.pprint.english_cardinal_units,b):null)].join("")}():null)].join("")};
cljs.pprint.add_english_scales=function(a,b){for(var c=cljs.core.count.call(null,a),d=cljs.core.PersistentVector.EMPTY,c=c-1,e=cljs.core.first.call(null,a),f=cljs.core.next.call(null,a);;){if(null==f)return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.call(null,cljs.core.str,cljs.core.interpose.call(null,", ",d))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.empty_QMARK_.call(null,e)||cljs.core.empty_QMARK_.call(null,d)?null:", "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(!cljs.core.empty_QMARK_.call(null,e)&&0<c+b?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(" "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,cljs.pprint.english_scale_numbers,c+b))].join(""):null)].join("");d=cljs.core.empty_QMARK_.call(null,e)?d:cljs.core.conj.call(null,d,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,
cljs.pprint.english_scale_numbers,c+b))].join(""));--c;e=cljs.core.first.call(null,f);f=cljs.core.next.call(null,f)}};
cljs.pprint.format_cardinal_english=function(a,b,c){b=cljs.pprint.next_arg.call(null,b);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);cljs.core._EQ_.call(null,0,a)?cljs.pprint.print.call(null,"zero"):(c=cljs.pprint.remainders.call(null,1E3,0>a?-a:a),cljs.core.count.call(null,c)<=cljs.core.count.call(null,cljs.pprint.english_scale_numbers)?(c=cljs.core.map.call(null,cljs.pprint.format_simple_cardinal,c),c=cljs.pprint.add_english_scales.call(null,c,0),cljs.pprint.print.call(null,
[cljs.core.str.cljs$core$IFn$_invoke$arity$1(0>a?"minus ":null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(""))):cljs.pprint.format_integer.call(null,10,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),0,new cljs.core.Keyword(null,"padchar","padchar",2018584530)," ",new cljs.core.Keyword(null,"commachar","commachar",652859327),",",new cljs.core.Keyword(null,"commainterval","commainterval",-1980061083),3,new cljs.core.Keyword(null,"colon",
"colon",-965200945),!0],null),cljs.pprint.init_navigator.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),0,new cljs.core.Keyword(null,"padchar","padchar",2018584530),0,new cljs.core.Keyword(null,"commachar","commachar",652859327),0,new cljs.core.Keyword(null,"commainterval","commainterval",-1980061083),0],null)));return b};
cljs.pprint.format_simple_ordinal=function(a){var b=cljs.core.quot.call(null,a,100),c=cljs.core.rem.call(null,a,100);return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(0<b?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,cljs.pprint.english_cardinal_units,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" hundred")].join(""):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(0<b&&0<c?" ":null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(0<c?20>c?cljs.core.nth.call(null,cljs.pprint.english_ordinal_units,
c):function(){var a=cljs.core.quot.call(null,c,10),b=cljs.core.rem.call(null,c,10);return 0<a&&!(0<b)?cljs.core.nth.call(null,cljs.pprint.english_ordinal_tens,a):[cljs.core.str.cljs$core$IFn$_invoke$arity$1(0<a?cljs.core.nth.call(null,cljs.pprint.english_cardinal_tens,a):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(0<a&&0<b?"-":null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(0<b?cljs.core.nth.call(null,cljs.pprint.english_ordinal_units,b):null)].join("")}():0<b?"th":null)].join("")};
cljs.pprint.format_ordinal_english=function(a,b,c){a=cljs.pprint.next_arg.call(null,b);b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);if(cljs.core._EQ_.call(null,0,b))cljs.pprint.print.call(null,"zeroth");else if(c=cljs.pprint.remainders.call(null,1E3,0>b?-b:b),cljs.core.count.call(null,c)<=cljs.core.count.call(null,cljs.pprint.english_scale_numbers)){var d=cljs.core.map.call(null,cljs.pprint.format_simple_cardinal,cljs.core.drop_last.call(null,c)),d=cljs.pprint.add_english_scales.call(null,
d,1);c=cljs.pprint.format_simple_ordinal.call(null,cljs.core.last.call(null,c));cljs.pprint.print.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(0>b?"minus ":null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.empty_QMARK_.call(null,d)||cljs.core.empty_QMARK_.call(null,c)?cljs.core.empty_QMARK_.call(null,d)?c:[cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),cljs.core.str.cljs$core$IFn$_invoke$arity$1("th")].join(""):[cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),cljs.core.str.cljs$core$IFn$_invoke$arity$1(", "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(""))].join(""))}else cljs.pprint.format_integer.call(null,10,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),0,new cljs.core.Keyword(null,"padchar","padchar",2018584530)," ",new cljs.core.Keyword(null,"commachar","commachar",652859327),",",new cljs.core.Keyword(null,"commainterval","commainterval",-1980061083),3,new cljs.core.Keyword(null,"colon","colon",-965200945),!0],null),cljs.pprint.init_navigator.call(null,
new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[b],null)),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),0,new cljs.core.Keyword(null,"padchar","padchar",2018584530),0,new cljs.core.Keyword(null,"commachar","commachar",652859327),0,new cljs.core.Keyword(null,"commainterval","commainterval",-1980061083),0],null)),c=cljs.core.rem.call(null,b,100),b=11<c||19>c,c=cljs.core.rem.call(null,c,10),cljs.pprint.print.call(null,
1===c&&b?"st":2===c&&b?"nd":3===c&&b?"rd":"th");return a};
cljs.pprint.old_roman_table=new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,"I II III IIII V VI VII VIII VIIII".split(" "),null),new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,"X XX XXX XXXX L LX LXX LXXX LXXXX".split(" "),null),new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,"C CC CCC CCCC D DC DCC DCCC DCCCC".split(" "),null),new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,["M","MM","MMM"],null)],null);
cljs.pprint.new_roman_table=new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,"I II III IV V VI VII VIII IX".split(" "),null),new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,"X XX XXX XL L LX LXX LXXX XC".split(" "),null),new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,"C CC CCC CD D DC DCC DCCC CM".split(" "),null),new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,["M","MM","MMM"],null)],null);
cljs.pprint.format_roman=function(a,b,c,d){b=cljs.pprint.next_arg.call(null,c);c=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);if("number"===typeof c&&0<c&&4E3>c){var e=cljs.pprint.remainders.call(null,10,c);c=cljs.core.PersistentVector.EMPTY;for(d=cljs.core.count.call(null,e)-1;;)if(cljs.core.empty_QMARK_.call(null,e)){cljs.pprint.print.call(null,cljs.core.apply.call(null,cljs.core.str,c));break}else{var f=cljs.core.first.call(null,e);c=cljs.core._EQ_.call(null,0,f)?c:cljs.core.conj.call(null,
c,cljs.core.nth.call(null,cljs.core.nth.call(null,a,d),f-1));--d;e=cljs.core.next.call(null,e)}}else cljs.pprint.format_integer.call(null,10,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),0,new cljs.core.Keyword(null,"padchar","padchar",2018584530)," ",new cljs.core.Keyword(null,"commachar","commachar",652859327),",",new cljs.core.Keyword(null,"commainterval","commainterval",-1980061083),3,new cljs.core.Keyword(null,"colon","colon",-965200945),!0],
null),cljs.pprint.init_navigator.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[c],null)),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),0,new cljs.core.Keyword(null,"padchar","padchar",2018584530),0,new cljs.core.Keyword(null,"commachar","commachar",652859327),0,new cljs.core.Keyword(null,"commainterval","commainterval",-1980061083),0],null));return b};
cljs.pprint.format_old_roman=function(a,b,c){return cljs.pprint.format_roman.call(null,cljs.pprint.old_roman_table,a,b,c)};cljs.pprint.format_new_roman=function(a,b,c){return cljs.pprint.format_roman.call(null,cljs.pprint.new_roman_table,a,b,c)};cljs.pprint.special_chars=new cljs.core.PersistentArrayMap(null,5,[8,"Backspace",9,"Tab",10,"Newline",13,"Return",32,"Space"],null);
cljs.pprint.pretty_character=function(a,b,c){a=cljs.pprint.next_arg.call(null,b);b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);c=cljs.pprint.char_code.call(null,b);b=c&127;c&=128;var d=cljs.core.get.call(null,cljs.pprint.special_chars,b);0<c&&cljs.pprint.print.call(null,"Meta-");cljs.pprint.print.call(null,cljs.core.truth_(d)?d:32>b?[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Control-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.char$.call(null,b+64))].join(""):
cljs.core._EQ_.call(null,b,127)?"Control-?":cljs.core.char$.call(null,b));return a};
cljs.pprint.readable_character=function(a,b,c){c=cljs.pprint.next_arg.call(null,b);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);var d=cljs.core._EQ_;a=(new cljs.core.Keyword(null,"char-format","char-format",-1016499218)).cljs$core$IFn$_invoke$arity$1(a);if(cljs.core.truth_(d.call(null,"o",a)))cljs.pprint.cl_format.call(null,!0,"\\o~3, '0o",cljs.pprint.char_code.call(null,b));else if(cljs.core.truth_(d.call(null,"u",a)))cljs.pprint.cl_format.call(null,!0,"\\u~4, '0x",cljs.pprint.char_code.call(null,
b));else if(cljs.core.truth_(d.call(null,null,a)))cljs.pprint.print_char.call(null,b);else throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));return c};cljs.pprint.plain_character=function(a,b,c){b=cljs.pprint.next_arg.call(null,b);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);cljs.pprint.print.call(null,a);return b};
cljs.pprint.abort_QMARK_=function(a){a=cljs.core.first.call(null,a);return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"up-arrow","up-arrow",1705310333),a)||cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"colon-up-arrow","colon-up-arrow",244853007),a)};
cljs.pprint.execute_sub_format=function(a,b,c){return cljs.core.second.call(null,cljs.pprint.map_passing_context.call(null,function(a,b){if(cljs.core.truth_(cljs.pprint.abort_QMARK_.call(null,b)))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,b],null);var d=cljs.pprint.realize_parameter_list.call(null,(new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(a),b),e=cljs.core.nth.call(null,d,0,null),d=cljs.core.nth.call(null,
d,1,null),h=cljs.pprint.unzip_map.call(null,e),e=cljs.core.nth.call(null,h,0,null),h=cljs.core.nth.call(null,h,1,null),e=cljs.core.assoc.call(null,e,new cljs.core.Keyword(null,"base-args","base-args",-1268706822),c);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,cljs.core.apply.call(null,(new cljs.core.Keyword(null,"func","func",-238706040)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[e,
d,h],null))],null)},b,a))};
cljs.pprint.float_parts_base=function(a){a=clojure.string.lower_case.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a));var b=a.indexOf("e"),c=a.indexOf(".");return 0>b?0>c?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.count.call(null,a)-1)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,a,
0,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,a,c+1))].join(""),""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(c-1)],null):0>c?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.subs.call(null,a,0,b),cljs.core.subs.call(null,a,b+1)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,a,0,1)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,
a,2,b))].join(""),cljs.core.subs.call(null,a,b+1)],null)};
cljs.pprint.float_parts=function(a){a=cljs.pprint.float_parts_base.call(null,a);var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);var c=cljs.pprint.rtrim.call(null,b,"0"),b=cljs.pprint.ltrim.call(null,c,"0"),c=cljs.core.count.call(null,c)-cljs.core.count.call(null,b);a=0<cljs.core.count.call(null,a)&&cljs.core._EQ_.call(null,cljs.core.nth.call(null,a,0),"+")?cljs.core.subs.call(null,a,1):a;return cljs.core.empty_QMARK_.call(null,b)?new cljs.core.PersistentVector(null,2,5,
cljs.core.PersistentVector.EMPTY_NODE,["0",0],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,parseInt(a,10)-c],null)};
cljs.pprint.inc_s=function(a){for(var b=cljs.core.count.call(null,a)-1,c=b|0;;){if(0>c)return cljs.core.apply.call(null,cljs.core.str,"1",cljs.core.repeat.call(null,b+1,"0"));if(cljs.core._EQ_.call(null,"9",a.charAt(c)))--c;else return cljs.core.apply.call(null,cljs.core.str,cljs.core.subs.call(null,a,0,c),cljs.core.char$.call(null,cljs.pprint.char_code.call(null,a.charAt(c))+1),cljs.core.repeat.call(null,b-c,"0"))}};
cljs.pprint.round_str=function(a,b,c,d){if(cljs.core.truth_(cljs.core.truth_(c)?c:d)){var e=cljs.core.count.call(null,a);d=cljs.core.truth_(d)?2>d?2:d:0;cljs.core.truth_(c)?c=b+c+1:0<=b?(c=b+1,--d,c=c>d?c:d):c=d+b;var f=cljs.core._EQ_.call(null,c,0)?new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[[cljs.core.str.cljs$core$IFn$_invoke$arity$1("0"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),b+1,1,e+1],null):new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,
[a,b,c,e],null);c=cljs.core.nth.call(null,f,0,null);e=cljs.core.nth.call(null,f,1,null);d=cljs.core.nth.call(null,f,2,null);f=cljs.core.nth.call(null,f,3,null);if(cljs.core.truth_(d)){if(0>d)return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["0",0,!1],null);if(f>d)return a=cljs.core.nth.call(null,c,d),b=cljs.core.subs.call(null,c,0,d),cljs.pprint.char_code.call(null,a)>=cljs.pprint.char_code.call(null,"5")?(a=cljs.pprint.inc_s.call(null,b),b=cljs.core.count.call(null,
a)>cljs.core.count.call(null,b),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b?cljs.core.subs.call(null,a,0,cljs.core.count.call(null,a)-1):a,e,b],null)):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b,e,!1],null)}}return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,!1],null)};
cljs.pprint.expand_fixed=function(a,b,c){b=0>b?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,-b-1,"0"))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),-1],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null);a=cljs.core.nth.call(null,b,0,null);var d=cljs.core.nth.call(null,b,1,null);b=cljs.core.count.call(null,
a);c=cljs.core.truth_(c)?d+c+1:d+1;return b<c?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,c-b,"0")))].join(""):a};
cljs.pprint.insert_decimal=function(a,b){if(0>b)return[cljs.core.str.cljs$core$IFn$_invoke$arity$1("."),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("");var c=b+1;return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,a,0,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1("."),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,a,c))].join("")};
cljs.pprint.get_fixed=function(a,b,c){return cljs.pprint.insert_decimal.call(null,cljs.pprint.expand_fixed.call(null,a,b,c),b)};cljs.pprint.insert_scaled_decimal=function(a,b){return 0>b?[cljs.core.str.cljs$core$IFn$_invoke$arity$1("."),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""):[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,a,0,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1("."),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,a,b))].join("")};
cljs.pprint.convert_ratio=function(a){return a};
cljs.pprint.fixed_float=function(a,b,c){var d=(new cljs.core.Keyword(null,"w","w",354169001)).cljs$core$IFn$_invoke$arity$1(a),e=(new cljs.core.Keyword(null,"d","d",1972142424)).cljs$core$IFn$_invoke$arity$1(a);b=cljs.pprint.next_arg.call(null,b);var f=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);var g=0>f?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["-",-f],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
["+",f],null);c=cljs.core.nth.call(null,g,0,null);var g=cljs.core.nth.call(null,g,1,null),g=cljs.pprint.convert_ratio.call(null,g),g=cljs.pprint.float_parts.call(null,g),h=cljs.core.nth.call(null,g,0,null),k=cljs.core.nth.call(null,g,1,null)+(new cljs.core.Keyword(null,"k","k",-2146297393)).cljs$core$IFn$_invoke$arity$1(a),g=function(){var b=(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?b:0>f}(),l=cljs.core.not.call(null,e)&&cljs.core.count.call(null,
h)-1<=k,m=cljs.pprint.round_str.call(null,h,k,e,cljs.core.truth_(d)?d-(cljs.core.truth_(g)?1:0):null),h=cljs.core.nth.call(null,m,0,null),k=cljs.core.nth.call(null,m,1,null),m=cljs.core.nth.call(null,m,2,null),h=cljs.pprint.get_fixed.call(null,h,cljs.core.truth_(m)?k+1:k,e),e=cljs.core.truth_(cljs.core.truth_(d)?cljs.core.truth_(e)?1<=e&&cljs.core._EQ_.call(null,h.charAt(0),"0")&&cljs.core._EQ_.call(null,h.charAt(1),".")&&cljs.core.count.call(null,h)>d-(cljs.core.truth_(g)?1:0):e:d)?cljs.core.subs.call(null,
h,1):h,k=cljs.core._EQ_.call(null,cljs.core.first.call(null,e),".");if(cljs.core.truth_(d)){var h=cljs.core.count.call(null,e),h=cljs.core.truth_(g)?h+1:h,k=k&&!(h>=d),l=l&&!(h>=d),n=k||l?h+1:h;cljs.core.truth_(function(){var b=n>d;return b?(new cljs.core.Keyword(null,"overflowchar","overflowchar",-1620088106)).cljs$core$IFn$_invoke$arity$1(a):b}())?cljs.pprint.print.call(null,cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,d,(new cljs.core.Keyword(null,"overflowchar","overflowchar",
-1620088106)).cljs$core$IFn$_invoke$arity$1(a)))):cljs.pprint.print.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,d-n,(new cljs.core.Keyword(null,"padchar","padchar",2018584530)).cljs$core$IFn$_invoke$arity$1(a)))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(g)?c:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(k?"0":null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),cljs.core.str.cljs$core$IFn$_invoke$arity$1(l?
"0":null)].join(""))}else cljs.pprint.print.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(g)?c:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(k?"0":null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),cljs.core.str.cljs$core$IFn$_invoke$arity$1(l?"0":null)].join(""));return b};
cljs.pprint.exponential_float=function(a,b,c){b=cljs.pprint.next_arg.call(null,b);c=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);var d=cljs.pprint.convert_ratio.call(null,c);c=cljs.pprint.float_parts.call(null,0>d?-d:d);cljs.core.nth.call(null,c,0,null);for(cljs.core.nth.call(null,c,1,null);;){var e=cljs.core.nth.call(null,c,0,null),f=cljs.core.nth.call(null,c,1,null),g=(new cljs.core.Keyword(null,"w","w",354169001)).cljs$core$IFn$_invoke$arity$1(a),h=(new cljs.core.Keyword(null,
"d","d",1972142424)).cljs$core$IFn$_invoke$arity$1(a),k=(new cljs.core.Keyword(null,"e","e",1381269198)).cljs$core$IFn$_invoke$arity$1(a),l=(new cljs.core.Keyword(null,"k","k",-2146297393)).cljs$core$IFn$_invoke$arity$1(a),m=function(){var b=(new cljs.core.Keyword(null,"exponentchar","exponentchar",1986664222)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?b:"E"}();c=function(){var b=(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?
b:0>d}();var n=0>=l,p=f-(l-1),q=""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(Math.abs(p)),m=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(m),cljs.core.str.cljs$core$IFn$_invoke$arity$1(0>p?"-":"+"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(k)?cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,k-cljs.core.count.call(null,q),"0")):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(q)].join(""),r=cljs.core.count.call(null,m),p=cljs.core.count.call(null,e),e=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.call(null,
cljs.core.str,cljs.core.repeat.call(null,-l,"0"))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(h)?cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,h-(p-1)-(0>l?-l:0),"0")):null)].join(""),p=cljs.core.truth_(g)?g-r:null,e=cljs.pprint.round_str.call(null,e,0,cljs.core._EQ_.call(null,l,0)?h-1:0<l?h:0>l?h-1:null,cljs.core.truth_(p)?p-(cljs.core.truth_(c)?1:0):null),p=cljs.core.nth.call(null,e,0,null);cljs.core.nth.call(null,
e,1,null);q=cljs.core.nth.call(null,e,2,null);e=cljs.pprint.insert_scaled_decimal.call(null,p,l);h=cljs.core._EQ_.call(null,l,cljs.core.count.call(null,p))&&null==h;if(cljs.core.not.call(null,q)){if(cljs.core.truth_(g)){var f=cljs.core.count.call(null,e)+r,f=cljs.core.truth_(c)?f+1:f,u=(n=n&&!cljs.core._EQ_.call(null,f,g))?f+1:f,f=h&&u<g;cljs.core.truth_(function(){var b=u>g;b||(b=k,b=cljs.core.truth_(b)?r-2>k:b);return cljs.core.truth_(b)?(new cljs.core.Keyword(null,"overflowchar","overflowchar",
-1620088106)).cljs$core$IFn$_invoke$arity$1(a):b}())?cljs.pprint.print.call(null,cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,g,(new cljs.core.Keyword(null,"overflowchar","overflowchar",-1620088106)).cljs$core$IFn$_invoke$arity$1(a)))):cljs.pprint.print.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,g-u-(f?1:0),(new cljs.core.Keyword(null,"padchar","padchar",2018584530)).cljs$core$IFn$_invoke$arity$1(a)))),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(c)?0>d?"-":"+":null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(n?"0":null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),cljs.core.str.cljs$core$IFn$_invoke$arity$1(f?"0":null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(""))}else cljs.pprint.print.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(c)?0>d?"-":"+":null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(n?"0":null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(h?"0":null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(""));break}else c=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[p,f+1],null)}return b};
cljs.pprint.general_float=function(a,b,c){var d=cljs.pprint.next_arg.call(null,b),e=cljs.core.nth.call(null,d,0,null);cljs.core.nth.call(null,d,1,null);var d=cljs.pprint.convert_ratio.call(null,e),e=cljs.pprint.float_parts.call(null,0>d?-d:d),f=cljs.core.nth.call(null,e,0,null),e=cljs.core.nth.call(null,e,1,null),g=(new cljs.core.Keyword(null,"w","w",354169001)).cljs$core$IFn$_invoke$arity$1(a),h=(new cljs.core.Keyword(null,"d","d",1972142424)).cljs$core$IFn$_invoke$arity$1(a),k=(new cljs.core.Keyword(null,
"e","e",1381269198)).cljs$core$IFn$_invoke$arity$1(a),e=cljs.core._EQ_.call(null,d,0)?0:e+1,d=cljs.core.truth_(k)?k+2:4,g=cljs.core.truth_(g)?g-d:null;cljs.core.truth_(h)?f=h:(f=cljs.core.count.call(null,f),h=7>e?e:7,f=f>h?f:h);e=f-e;return 0<=e&&e<=f?(a=cljs.pprint.fixed_float.call(null,new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"w","w",354169001),g,new cljs.core.Keyword(null,"d","d",1972142424),e,new cljs.core.Keyword(null,"k","k",-2146297393),0,new cljs.core.Keyword(null,
"overflowchar","overflowchar",-1620088106),(new cljs.core.Keyword(null,"overflowchar","overflowchar",-1620088106)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"padchar","padchar",2018584530),(new cljs.core.Keyword(null,"padchar","padchar",2018584530)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"at","at",1476951349),(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a)],null),b,c),cljs.pprint.print.call(null,cljs.core.apply.call(null,cljs.core.str,
cljs.core.repeat.call(null,d," "))),a):cljs.pprint.exponential_float.call(null,a,b,c)};
cljs.pprint.dollar_float=function(a,b,c){b=cljs.pprint.next_arg.call(null,b);var d=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);c=cljs.pprint.float_parts.call(null,Math.abs(d));var e=cljs.core.nth.call(null,c,0,null),f=cljs.core.nth.call(null,c,1,null),g=(new cljs.core.Keyword(null,"d","d",1972142424)).cljs$core$IFn$_invoke$arity$1(a),h=(new cljs.core.Keyword(null,"n","n",562130025)).cljs$core$IFn$_invoke$arity$1(a);c=(new cljs.core.Keyword(null,"w","w",354169001)).cljs$core$IFn$_invoke$arity$1(a);
var k=function(){var b=(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?b:0>d}(),l=cljs.pprint.round_str.call(null,e,f,g,null),e=cljs.core.nth.call(null,l,0,null),f=cljs.core.nth.call(null,l,1,null),l=cljs.core.nth.call(null,l,2,null),g=cljs.pprint.get_fixed.call(null,e,cljs.core.truth_(l)?f+1:f,g),h=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,h-g.indexOf("."),"0"))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(g)].join(""),
g=cljs.core.count.call(null,h)+(cljs.core.truth_(k)?1:0);cljs.pprint.print.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(function(){var b=(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?k:b}())?0>d?"-":"+":null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,c-g,(new cljs.core.Keyword(null,"padchar","padchar",2018584530)).cljs$core$IFn$_invoke$arity$1(a)))),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(function(){var b=cljs.core.not.call(null,(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a));return b?k:b}())?0>d?"-":"+":null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(h)].join(""));return b};
cljs.pprint.choice_conditional=function(a,b,c){c=(new cljs.core.Keyword(null,"selector","selector",762528866)).cljs$core$IFn$_invoke$arity$1(a);c=cljs.core.truth_(c)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null):cljs.pprint.next_arg.call(null,b);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);var d=(new cljs.core.Keyword(null,"clauses","clauses",1454841241)).cljs$core$IFn$_invoke$arity$1(a);b=0>b||b>=cljs.core.count.call(null,d)?
cljs.core.first.call(null,(new cljs.core.Keyword(null,"else","else",-1508377146)).cljs$core$IFn$_invoke$arity$1(a)):cljs.core.nth.call(null,d,b);return cljs.core.truth_(b)?cljs.pprint.execute_sub_format.call(null,b,c,(new cljs.core.Keyword(null,"base-args","base-args",-1268706822)).cljs$core$IFn$_invoke$arity$1(a)):c};
cljs.pprint.boolean_conditional=function(a,b,c){c=cljs.pprint.next_arg.call(null,b);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);var d=(new cljs.core.Keyword(null,"clauses","clauses",1454841241)).cljs$core$IFn$_invoke$arity$1(a);b=cljs.core.truth_(b)?cljs.core.second.call(null,d):cljs.core.first.call(null,d);return cljs.core.truth_(b)?cljs.pprint.execute_sub_format.call(null,b,c,(new cljs.core.Keyword(null,"base-args","base-args",-1268706822)).cljs$core$IFn$_invoke$arity$1(a)):
c};
cljs.pprint.check_arg_conditional=function(a,b,c){var d=cljs.pprint.next_arg.call(null,b);c=cljs.core.nth.call(null,d,0,null);var d=cljs.core.nth.call(null,d,1,null),e=(new cljs.core.Keyword(null,"clauses","clauses",1454841241)).cljs$core$IFn$_invoke$arity$1(a),e=cljs.core.truth_(c)?cljs.core.first.call(null,e):null;return cljs.core.truth_(c)?cljs.core.truth_(e)?cljs.pprint.execute_sub_format.call(null,e,b,(new cljs.core.Keyword(null,"base-args","base-args",-1268706822)).cljs$core$IFn$_invoke$arity$1(a)):b:
d};
cljs.pprint.iterate_sublist=function(a,b,c){var d=(new cljs.core.Keyword(null,"max-iterations","max-iterations",2021275563)).cljs$core$IFn$_invoke$arity$1(a);c=cljs.core.first.call(null,(new cljs.core.Keyword(null,"clauses","clauses",1454841241)).cljs$core$IFn$_invoke$arity$1(a));c=cljs.core.empty_QMARK_.call(null,c)?cljs.pprint.get_format_arg.call(null,b):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,
1,null);c=cljs.pprint.next_arg.call(null,c);var e=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);for(var f=0,g=cljs.pprint.init_navigator.call(null,e),e=-1;;){if(cljs.core.not.call(null,d)&&cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(g),e)&&1<f)throw Error("%{ construct not consuming any arguments: Infinite loop!");if(cljs.core.truth_(function(){var b=cljs.core.empty_QMARK_.call(null,(new cljs.core.Keyword(null,
"rest","rest",-1241696419)).cljs$core$IFn$_invoke$arity$1(g))&&(cljs.core.not.call(null,(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"right-params","right-params",-1790676237)).cljs$core$IFn$_invoke$arity$1(a)))||0<f);return b?b:cljs.core.truth_(d)?f>=d:d}()))return c;var h=cljs.pprint.execute_sub_format.call(null,b,g,(new cljs.core.Keyword(null,"base-args","base-args",-1268706822)).cljs$core$IFn$_invoke$arity$1(a));if(cljs.core._EQ_.call(null,
new cljs.core.Keyword(null,"up-arrow","up-arrow",1705310333),cljs.core.first.call(null,h)))return c;var e=f+1,k=(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(g),f=e,g=h,e=k}};
cljs.pprint.iterate_list_of_sublists=function(a,b,c){var d=(new cljs.core.Keyword(null,"max-iterations","max-iterations",2021275563)).cljs$core$IFn$_invoke$arity$1(a);c=cljs.core.first.call(null,(new cljs.core.Keyword(null,"clauses","clauses",1454841241)).cljs$core$IFn$_invoke$arity$1(a));c=cljs.core.empty_QMARK_.call(null,c)?cljs.pprint.get_format_arg.call(null,b):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,
c,1,null);c=cljs.pprint.next_arg.call(null,c);var e=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);for(var f=0,g=e;;){if(cljs.core.truth_(function(){var b=cljs.core.empty_QMARK_.call(null,g)&&(cljs.core.not.call(null,(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"right-params","right-params",-1790676237)).cljs$core$IFn$_invoke$arity$1(a)))||0<f);return b?b:cljs.core.truth_(d)?f>=d:d}()))return c;e=cljs.pprint.execute_sub_format.call(null,
b,cljs.pprint.init_navigator.call(null,cljs.core.first.call(null,g)),cljs.pprint.init_navigator.call(null,cljs.core.next.call(null,g)));if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"colon-up-arrow","colon-up-arrow",244853007),cljs.core.first.call(null,e)))return c;var e=f+1,h=cljs.core.next.call(null,g),f=e,g=h}};
cljs.pprint.iterate_main_list=function(a,b,c){var d=(new cljs.core.Keyword(null,"max-iterations","max-iterations",2021275563)).cljs$core$IFn$_invoke$arity$1(a);c=cljs.core.first.call(null,(new cljs.core.Keyword(null,"clauses","clauses",1454841241)).cljs$core$IFn$_invoke$arity$1(a));c=cljs.core.empty_QMARK_.call(null,c)?cljs.pprint.get_format_arg.call(null,b):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null);b=cljs.core.nth.call(null,c,0,null);var e=0,f=cljs.core.nth.call(null,
c,1,null);for(c=-1;;){if(cljs.core.not.call(null,d)&&cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(f),c)&&1<e)throw Error("%@{ construct not consuming any arguments: Infinite loop!");if(cljs.core.truth_(function(){var b=cljs.core.empty_QMARK_.call(null,(new cljs.core.Keyword(null,"rest","rest",-1241696419)).cljs$core$IFn$_invoke$arity$1(f))&&(cljs.core.not.call(null,(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,
"right-params","right-params",-1790676237)).cljs$core$IFn$_invoke$arity$1(a)))||0<e);return b?b:cljs.core.truth_(d)?e>=d:d}()))return f;var g=cljs.pprint.execute_sub_format.call(null,b,f,(new cljs.core.Keyword(null,"base-args","base-args",-1268706822)).cljs$core$IFn$_invoke$arity$1(a));if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"up-arrow","up-arrow",1705310333),cljs.core.first.call(null,g)))return cljs.core.second.call(null,g);c=e+1;var h=(new cljs.core.Keyword(null,"pos","pos",-864607220)).cljs$core$IFn$_invoke$arity$1(f),
e=c,f=g;c=h}};
cljs.pprint.iterate_main_sublists=function(a,b,c){var d=(new cljs.core.Keyword(null,"max-iterations","max-iterations",2021275563)).cljs$core$IFn$_invoke$arity$1(a);c=cljs.core.first.call(null,(new cljs.core.Keyword(null,"clauses","clauses",1454841241)).cljs$core$IFn$_invoke$arity$1(a));c=cljs.core.empty_QMARK_.call(null,c)?cljs.pprint.get_format_arg.call(null,b):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null);b=cljs.core.nth.call(null,c,0,null);for(var e=
0,f=cljs.core.nth.call(null,c,1,null);;){if(cljs.core.truth_(function(){var b=cljs.core.empty_QMARK_.call(null,(new cljs.core.Keyword(null,"rest","rest",-1241696419)).cljs$core$IFn$_invoke$arity$1(f))&&(cljs.core.not.call(null,(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"right-params","right-params",-1790676237)).cljs$core$IFn$_invoke$arity$1(a)))||0<e);return b?b:cljs.core.truth_(d)?e>=d:d}()))return f;var g=cljs.pprint.next_arg_or_nil.call(null,
f);c=cljs.core.nth.call(null,g,0,null);g=cljs.core.nth.call(null,g,1,null);c=cljs.pprint.execute_sub_format.call(null,b,cljs.pprint.init_navigator.call(null,c),g);if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"colon-up-arrow","colon-up-arrow",244853007),cljs.core.first.call(null,c)))return g;c=g;e+=1;f=c}};
cljs.pprint.logical_block_or_justify=function(a,b,c){return cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"right-params","right-params",-1790676237)).cljs$core$IFn$_invoke$arity$1(a)))?cljs.pprint.format_logical_block.call(null,a,b,c):cljs.pprint.justify_clauses.call(null,a,b,c)};
cljs.pprint.render_clauses=function(a,b,c){for(var d=cljs.core.PersistentVector.EMPTY;;){if(cljs.core.empty_QMARK_.call(null,a))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,b],null);var e=cljs.core.first.call(null,a);a:{var f=new goog.string.StringBuffer,g=cljs.core._STAR_out_STAR_;cljs.core._STAR_out_STAR_=new cljs.core.StringBufferWriter(f);try{var h=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.pprint.execute_sub_format.call(null,
e,b,c),""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(f)],null);break a}finally{cljs.core._STAR_out_STAR_=g}h=void 0}b=cljs.core.nth.call(null,h,0,null);e=cljs.core.nth.call(null,h,1,null);if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"up-arrow","up-arrow",1705310333),cljs.core.first.call(null,b)))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,cljs.core.second.call(null,b)],null);a=cljs.core.next.call(null,a);d=cljs.core.conj.call(null,d,e)}};
cljs.pprint.justify_clauses=function(a,b,c){var d=function(){var c=(new cljs.core.Keyword(null,"else","else",-1508377146)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(c)?cljs.pprint.render_clauses.call(null,c,b,(new cljs.core.Keyword(null,"base-args","base-args",-1268706822)).cljs$core$IFn$_invoke$arity$1(a)):null}();c=cljs.core.nth.call(null,d,0,null);c=cljs.core.nth.call(null,c,0,null);var d=cljs.core.nth.call(null,d,1,null),e=cljs.core.truth_(d)?d:b,d=function(){var b=(new cljs.core.Keyword(null,
"else-params","else-params",-832171646)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?cljs.pprint.realize_parameter_list.call(null,b,e):null}(),f=cljs.core.nth.call(null,d,0,null),d=cljs.core.nth.call(null,d,1,null),g=cljs.core.truth_(d)?d:e,d=function(){var a=cljs.core.first.call(null,(new cljs.core.Keyword(null,"min-remaining","min-remaining",962687677)).cljs$core$IFn$_invoke$arity$1(f));return cljs.core.truth_(a)?a:0}(),h=function(){var a=cljs.core.first.call(null,(new cljs.core.Keyword(null,
"max-columns","max-columns",1742323262)).cljs$core$IFn$_invoke$arity$1(f));return cljs.core.truth_(a)?a:cljs.pprint.get_max_column.call(null,cljs.core._STAR_out_STAR_)}(),k=(new cljs.core.Keyword(null,"clauses","clauses",1454841241)).cljs$core$IFn$_invoke$arity$1(a),g=cljs.pprint.render_clauses.call(null,k,g,(new cljs.core.Keyword(null,"base-args","base-args",-1268706822)).cljs$core$IFn$_invoke$arity$1(a)),l=cljs.core.nth.call(null,g,0,null),g=cljs.core.nth.call(null,g,1,null),m=function(){var b=
cljs.core.count.call(null,l)-1+(cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?1:0)+(cljs.core.truth_((new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?1:0);return 1>b?1:b}(),k=cljs.core.reduce.call(null,cljs.core._PLUS_,cljs.core.map.call(null,cljs.core.count,l)),n=(new cljs.core.Keyword(null,"mincol","mincol",1230695445)).cljs$core$IFn$_invoke$arity$1(a),p=(new cljs.core.Keyword(null,"minpad","minpad",
323570901)).cljs$core$IFn$_invoke$arity$1(a),q=(new cljs.core.Keyword(null,"colinc","colinc",-584873385)).cljs$core$IFn$_invoke$arity$1(a),r=k+m*p,n=r<=n?n:n+q*(1+cljs.core.quot.call(null,r-n-1,q)),u=n-k,k=function(){var a=cljs.core.quot.call(null,u,m);return p>a?p:a}(),q=u-k*m,k=cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,k,(new cljs.core.Keyword(null,"padchar","padchar",2018584530)).cljs$core$IFn$_invoke$arity$1(a)));cljs.core.truth_(cljs.core.truth_(c)?cljs.pprint.get_column.call(null,
(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,cljs.core._STAR_out_STAR_))))+d+n>h:c)&&cljs.pprint.print.call(null,c);for(var d=q,t=l,v=function(){var b=(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?b:cljs.core._EQ_.call(null,cljs.core.count.call(null,t),1)&&cljs.core.not.call(null,(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))}();;)if(cljs.core.seq.call(null,
t))cljs.pprint.print.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.not.call(null,v)?cljs.core.first.call(null,t):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(function(){var b=v;return cljs.core.truth_(b)?b:(b=cljs.core.next.call(null,t))?b:(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a)}())?k:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(0<d?(new cljs.core.Keyword(null,"padchar","padchar",2018584530)).cljs$core$IFn$_invoke$arity$1(a):
null)].join("")),--d,t=c=cljs.core.truth_(v)?t:cljs.core.next.call(null,t),v=!1;else break;return g};
cljs.pprint.downcase_writer=function(a){"undefined"===typeof cljs.pprint.t_cljs$pprint32075&&(cljs.pprint.t_cljs$pprint32075=function(a,c){this.writer=a;this.meta32076=c;this.cljs$lang$protocol_mask$partition0$=1074135040;this.cljs$lang$protocol_mask$partition1$=0},cljs.pprint.t_cljs$pprint32075.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,c){return new cljs.pprint.t_cljs$pprint32075(this.writer,c)},cljs.pprint.t_cljs$pprint32075.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta32076},
cljs.pprint.t_cljs$pprint32075.prototype.cljs$core$IWriter$_flush$arity$1=function(a){return cljs.core._flush.call(null,this.writer)},cljs.pprint.t_cljs$pprint32075.prototype.cljs$core$IWriter$_write$arity$2=function(a,c){var b=cljs.core._EQ_,e=cljs.core.type.call(null,c);if(cljs.core.truth_(b.call(null,String,e)))return cljs.core._write.call(null,this.writer,clojure.string.lower_case.call(null,c));if(cljs.core.truth_(b.call(null,Number,e)))return cljs.core._write.call(null,this.writer,clojure.string.lower_case.call(null,
cljs.core.char$.call(null,c)));throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)].join(""));},cljs.pprint.t_cljs$pprint32075.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"writer","writer",1362963291,null),new cljs.core.Symbol(null,"meta32076","meta32076",1346490476,null)],null)},cljs.pprint.t_cljs$pprint32075.cljs$lang$type=!0,cljs.pprint.t_cljs$pprint32075.cljs$lang$ctorStr=
"cljs.pprint/t_cljs$pprint32075",cljs.pprint.t_cljs$pprint32075.cljs$lang$ctorPrWriter=function(a,c,d){return cljs.core._write.call(null,c,"cljs.pprint/t_cljs$pprint32075")},cljs.pprint.__GT_t_cljs$pprint32075=function(a,c){return new cljs.pprint.t_cljs$pprint32075(a,c)});return new cljs.pprint.t_cljs$pprint32075(a,cljs.core.PersistentArrayMap.EMPTY)};
cljs.pprint.upcase_writer=function(a){"undefined"===typeof cljs.pprint.t_cljs$pprint32087&&(cljs.pprint.t_cljs$pprint32087=function(a,c){this.writer=a;this.meta32088=c;this.cljs$lang$protocol_mask$partition0$=1074135040;this.cljs$lang$protocol_mask$partition1$=0},cljs.pprint.t_cljs$pprint32087.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,c){return new cljs.pprint.t_cljs$pprint32087(this.writer,c)},cljs.pprint.t_cljs$pprint32087.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta32088},
cljs.pprint.t_cljs$pprint32087.prototype.cljs$core$IWriter$_flush$arity$1=function(a){return cljs.core._flush.call(null,this.writer)},cljs.pprint.t_cljs$pprint32087.prototype.cljs$core$IWriter$_write$arity$2=function(a,c){var b=cljs.core._EQ_,e=cljs.core.type.call(null,c);if(cljs.core.truth_(b.call(null,String,e)))return cljs.core._write.call(null,this.writer,clojure.string.upper_case.call(null,c));if(cljs.core.truth_(b.call(null,Number,e)))return cljs.core._write.call(null,this.writer,clojure.string.upper_case.call(null,
cljs.core.char$.call(null,c)));throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)].join(""));},cljs.pprint.t_cljs$pprint32087.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"writer","writer",1362963291,null),new cljs.core.Symbol(null,"meta32088","meta32088",-60379999,null)],null)},cljs.pprint.t_cljs$pprint32087.cljs$lang$type=!0,cljs.pprint.t_cljs$pprint32087.cljs$lang$ctorStr=
"cljs.pprint/t_cljs$pprint32087",cljs.pprint.t_cljs$pprint32087.cljs$lang$ctorPrWriter=function(a,c,d){return cljs.core._write.call(null,c,"cljs.pprint/t_cljs$pprint32087")},cljs.pprint.__GT_t_cljs$pprint32087=function(a,c){return new cljs.pprint.t_cljs$pprint32087(a,c)});return new cljs.pprint.t_cljs$pprint32087(a,cljs.core.PersistentArrayMap.EMPTY)};
cljs.pprint.capitalize_string=function(a,b){var c=cljs.core.first.call(null,a),d=cljs.core.truth_(cljs.core.truth_(b)?cljs.core.truth_(c)?goog.string.isUnicodeChar(c):c:b)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(clojure.string.upper_case.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,a,1))].join(""):a;return cljs.core.apply.call(null,cljs.core.str,cljs.core.first.call(null,cljs.pprint.consume.call(null,function(a,b){return function(a){if(cljs.core.empty_QMARK_.call(null,
a))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,null],null);var b=RegExp("\\W\\w","g").exec(a);b=cljs.core.truth_(b)?b.index+1:b;return cljs.core.truth_(b)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,a,0,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(clojure.string.upper_case.call(null,cljs.core.nth.call(null,a,b)))].join(""),cljs.core.subs.call(null,
a,b+1)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,null],null)}}(c,d),d)))};
cljs.pprint.capitalize_word_writer=function(a){var b=cljs.core.atom.call(null,!0);"undefined"===typeof cljs.pprint.t_cljs$pprint32099&&(cljs.pprint.t_cljs$pprint32099=function(a,b,e){this.writer=a;this.last_was_whitespace_QMARK_=b;this.meta32100=e;this.cljs$lang$protocol_mask$partition0$=1074135040;this.cljs$lang$protocol_mask$partition1$=0},cljs.pprint.t_cljs$pprint32099.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a){return function(a,b){return new cljs.pprint.t_cljs$pprint32099(this.writer,
this.last_was_whitespace_QMARK_,b)}}(b),cljs.pprint.t_cljs$pprint32099.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta32100}}(b),cljs.pprint.t_cljs$pprint32099.prototype.cljs$core$IWriter$_flush$arity$1=function(a){return function(a){return cljs.core._flush.call(null,this.writer)}}(b),cljs.pprint.t_cljs$pprint32099.prototype.cljs$core$IWriter$_write$arity$2=function(a){return function(a,b){var c=cljs.core._EQ_,d=cljs.core.type.call(null,b);if(cljs.core.truth_(c.call(null,
String,d)))return cljs.core._write.call(null,this.writer,cljs.pprint.capitalize_string.call(null,b.toLowerCase(),cljs.core.deref.call(null,this.last_was_whitespace_QMARK_))),0<b.length?cljs.core.reset_BANG_.call(null,this.last_was_whitespace_QMARK_,goog.string.isEmptyOrWhitespace(cljs.core.nth.call(null,b,cljs.core.count.call(null,b)-1))):null;if(cljs.core.truth_(c.call(null,Number,d)))return c=cljs.core.char$.call(null,b),d=cljs.core.truth_(cljs.core.deref.call(null,this.last_was_whitespace_QMARK_))?
clojure.string.upper_case.call(null,c):c,cljs.core._write.call(null,this.writer,d),cljs.core.reset_BANG_.call(null,this.last_was_whitespace_QMARK_,goog.string.isEmptyOrWhitespace(c));throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join(""));}}(b),cljs.pprint.t_cljs$pprint32099.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"writer","writer",1362963291,null),new cljs.core.Symbol(null,"last-was-whitespace?","last-was-whitespace?",-1073928093,null),new cljs.core.Symbol(null,"meta32100","meta32100",-1391592515,null)],null)}}(b),cljs.pprint.t_cljs$pprint32099.cljs$lang$type=!0,cljs.pprint.t_cljs$pprint32099.cljs$lang$ctorStr="cljs.pprint/t_cljs$pprint32099",cljs.pprint.t_cljs$pprint32099.cljs$lang$ctorPrWriter=function(a){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.pprint/t_cljs$pprint32099")}}(b),cljs.pprint.__GT_t_cljs$pprint32099=
function(a){return function(a,b,c){return new cljs.pprint.t_cljs$pprint32099(a,b,c)}}(b));return new cljs.pprint.t_cljs$pprint32099(a,b,cljs.core.PersistentArrayMap.EMPTY)};
cljs.pprint.init_cap_writer=function(a){var b=cljs.core.atom.call(null,!1);"undefined"===typeof cljs.pprint.t_cljs$pprint32111&&(cljs.pprint.t_cljs$pprint32111=function(a,b,e){this.writer=a;this.capped=b;this.meta32112=e;this.cljs$lang$protocol_mask$partition0$=1074135040;this.cljs$lang$protocol_mask$partition1$=0},cljs.pprint.t_cljs$pprint32111.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a){return function(a,b){return new cljs.pprint.t_cljs$pprint32111(this.writer,this.capped,b)}}(b),
cljs.pprint.t_cljs$pprint32111.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta32112}}(b),cljs.pprint.t_cljs$pprint32111.prototype.cljs$core$IWriter$_flush$arity$1=function(a){return function(a){return cljs.core._flush.call(null,this.writer)}}(b),cljs.pprint.t_cljs$pprint32111.prototype.cljs$core$IWriter$_write$arity$2=function(a){return function(a,b){var c=this,d=cljs.core._EQ_,e=cljs.core.type.call(null,b);if(cljs.core.truth_(d.call(null,String,e)))return d=
clojure.string.lower_case.call(null,b),cljs.core.not.call(null,cljs.core.deref.call(null,c.capped))?(e=RegExp("\\S","g").exec(d),e=cljs.core.truth_(e)?e.index:e,cljs.core.truth_(e)?(cljs.core._write.call(null,c.writer,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,d,0,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(clojure.string.upper_case.call(null,cljs.core.nth.call(null,d,e))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(clojure.string.lower_case.call(null,cljs.core.subs.call(null,
d,e+1)))].join("")),cljs.core.reset_BANG_.call(null,c.capped,!0)):cljs.core._write.call(null,c.writer,d)):cljs.core._write.call(null,c.writer,clojure.string.lower_case.call(null,d));if(cljs.core.truth_(d.call(null,Number,e))){var k=cljs.core.char$.call(null,b);return cljs.core.truth_(function(){var a=cljs.core.not.call(null,cljs.core.deref.call(null,c.capped));return a?goog.string.isUnicodeChar(k):a}())?(cljs.core.reset_BANG_.call(null,c.capped,!0),cljs.core._write.call(null,c.writer,clojure.string.upper_case.call(null,
k))):cljs.core._write.call(null,c.writer,clojure.string.lower_case.call(null,k))}throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)].join(""));}}(b),cljs.pprint.t_cljs$pprint32111.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"writer","writer",1362963291,null),new cljs.core.Symbol(null,"capped","capped",-1650988402,null),
new cljs.core.Symbol(null,"meta32112","meta32112",-525999717,null)],null)}}(b),cljs.pprint.t_cljs$pprint32111.cljs$lang$type=!0,cljs.pprint.t_cljs$pprint32111.cljs$lang$ctorStr="cljs.pprint/t_cljs$pprint32111",cljs.pprint.t_cljs$pprint32111.cljs$lang$ctorPrWriter=function(a){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.pprint/t_cljs$pprint32111")}}(b),cljs.pprint.__GT_t_cljs$pprint32111=function(a){return function(a,b,c){return new cljs.pprint.t_cljs$pprint32111(a,b,c)}}(b));return new cljs.pprint.t_cljs$pprint32111(a,
b,cljs.core.PersistentArrayMap.EMPTY)};cljs.pprint.modify_case=function(a,b,c,d){d=cljs.core.first.call(null,(new cljs.core.Keyword(null,"clauses","clauses",1454841241)).cljs$core$IFn$_invoke$arity$1(b));var e=cljs.core._STAR_out_STAR_;cljs.core._STAR_out_STAR_=a.call(null,cljs.core._STAR_out_STAR_);try{return cljs.pprint.execute_sub_format.call(null,d,c,(new cljs.core.Keyword(null,"base-args","base-args",-1268706822)).cljs$core$IFn$_invoke$arity$1(b))}finally{cljs.core._STAR_out_STAR_=e}};
cljs.pprint.get_pretty_writer=function(a){return cljs.core.truth_(cljs.pprint.pretty_writer_QMARK_.call(null,a))?a:cljs.pprint.pretty_writer.call(null,a,cljs.pprint._STAR_print_right_margin_STAR_,cljs.pprint._STAR_print_miser_width_STAR_)};
cljs.pprint.fresh_line=function(){return(null!=cljs.core._STAR_out_STAR_?cljs.core._STAR_out_STAR_.cljs$lang$protocol_mask$partition0$&32768||cljs.core.PROTOCOL_SENTINEL===cljs.core._STAR_out_STAR_.cljs$core$IDeref$||(cljs.core._STAR_out_STAR_.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IDeref,cljs.core._STAR_out_STAR_)):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IDeref,cljs.core._STAR_out_STAR_))?cljs.core._EQ_.call(null,0,cljs.pprint.get_column.call(null,
(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,cljs.core._STAR_out_STAR_)))))?null:cljs.pprint.prn.call(null):cljs.pprint.prn.call(null)};
cljs.pprint.absolute_tabulation=function(a,b,c){c=(new cljs.core.Keyword(null,"colnum","colnum",2023796854)).cljs$core$IFn$_invoke$arity$1(a);a=(new cljs.core.Keyword(null,"colinc","colinc",-584873385)).cljs$core$IFn$_invoke$arity$1(a);var d=cljs.pprint.get_column.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,cljs.core._STAR_out_STAR_))));c=d<c?c-d:cljs.core._EQ_.call(null,a,0)?0:a-cljs.core.rem.call(null,
d-c,a);cljs.pprint.print.call(null,cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,c," ")));return b};
cljs.pprint.relative_tabulation=function(a,b,c){c=(new cljs.core.Keyword(null,"colnum","colnum",2023796854)).cljs$core$IFn$_invoke$arity$1(a);a=(new cljs.core.Keyword(null,"colinc","colinc",-584873385)).cljs$core$IFn$_invoke$arity$1(a);var d=c+cljs.pprint.get_column.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,cljs.core.deref.call(null,cljs.core._STAR_out_STAR_)))),d=0<a?cljs.core.rem.call(null,d,a):0;c+=cljs.core._EQ_.call(null,
0,d)?0:a-d;cljs.pprint.print.call(null,cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,c," ")));return b};
cljs.pprint.format_logical_block=function(a,b,c){var d=(new cljs.core.Keyword(null,"clauses","clauses",1454841241)).cljs$core$IFn$_invoke$arity$1(a),e=cljs.core.count.call(null,d);c=1<e?(new cljs.core.Keyword(null,"string","string",-1989541586)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,cljs.core.first.call(null,d)))):cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?
"(":null;var f=cljs.core.nth.call(null,d,1<e?1:0),d=2<e?(new cljs.core.Keyword(null,"string","string",-1989541586)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,cljs.core.nth.call(null,d,2)))):cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?")":null,e=cljs.pprint.next_arg.call(null,b);b=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,
e,1,null);if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var g=cljs.pprint._STAR_current_level_STAR_,h=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,c,null,d),cljs.pprint.execute_sub_format.call(null,f,cljs.pprint.init_navigator.call(null,b),(new cljs.core.Keyword(null,"base-args","base-args",
-1268706822)).cljs$core$IFn$_invoke$arity$1(a)),cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=h,cljs.pprint._STAR_current_level_STAR_=g}}return e};
cljs.pprint.set_indent=function(a,b,c){c=cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?new cljs.core.Keyword(null,"current","current",-1088038603):new cljs.core.Keyword(null,"block","block",664686210);cljs.pprint.pprint_indent.call(null,c,(new cljs.core.Keyword(null,"n","n",562130025)).cljs$core$IFn$_invoke$arity$1(a));return b};
cljs.pprint.conditional_newline=function(a,b,c){a=cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?cljs.core.truth_((new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?new cljs.core.Keyword(null,"mandatory","mandatory",542802336):new cljs.core.Keyword(null,"fill","fill",883462889):cljs.core.truth_((new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?new cljs.core.Keyword(null,
"miser","miser",-556060186):new cljs.core.Keyword(null,"linear","linear",872268697);cljs.pprint.pprint_newline.call(null,a);return b};
cljs.pprint.directive_table=cljs.core.PersistentHashMap.fromArrays("ASDBOXRPCFEG$%\x26|~\nT*?()[;]{}\x3c\x3e^W_I".split(""),[new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"A",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null),new cljs.core.Keyword(null,
"colinc","colinc",-584873385),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,Number],null),new cljs.core.Keyword(null,"minpad","minpad",323570901),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null),new cljs.core.Keyword(null,"padchar","padchar",2018584530),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ",String],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,
new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return function(a,b,e){return cljs.pprint.format_ascii.call(null,cljs.core.print_str,a,b,
e)}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"S",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null),new cljs.core.Keyword(null,"colinc","colinc",-584873385),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[1,Number],null),new cljs.core.Keyword(null,"minpad","minpad",323570901),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null),new cljs.core.Keyword(null,"padchar","padchar",2018584530),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ",String],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"colon","colon",
-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return function(a,b,e){return cljs.pprint.format_ascii.call(null,cljs.core.pr_str,a,b,e)}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive",
"directive",793559132),"D",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null),new cljs.core.Keyword(null,"padchar","padchar",2018584530),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ",String],null),new cljs.core.Keyword(null,"commachar","commachar",652859327),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[",",String],null),new cljs.core.Keyword(null,"commainterval","commainterval",-1980061083),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[3,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,
"both","both",-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return function(a,b,e){return cljs.pprint.format_integer.call(null,10,a,b,e)}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"B",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,
4,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null),new cljs.core.Keyword(null,"padchar","padchar",2018584530),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ",String],null),new cljs.core.Keyword(null,"commachar","commachar",652859327),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[",",String],null),new cljs.core.Keyword(null,"commainterval",
"commainterval",-1980061083),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[3,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",
-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return function(a,b,e){return cljs.pprint.format_integer.call(null,2,a,b,e)}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"O",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null),new cljs.core.Keyword(null,"padchar","padchar",2018584530),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ",String],null),new cljs.core.Keyword(null,"commachar","commachar",652859327),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[",",String],null),new cljs.core.Keyword(null,"commainterval","commainterval",-1980061083),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[3,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",
811851656),function(a,b){return function(a,b,e){return cljs.pprint.format_integer.call(null,8,a,b,e)}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"X",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null),new cljs.core.Keyword(null,"padchar",
"padchar",2018584530),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ",String],null),new cljs.core.Keyword(null,"commachar","commachar",652859327),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[",",String],null),new cljs.core.Keyword(null,"commainterval","commainterval",-1980061083),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[3,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),
new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return function(a,b,e){return cljs.pprint.format_integer.call(null,
16,a,b,e)}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"R",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"base","base",185279322),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null),new cljs.core.Keyword(null,"mincol","mincol",1230695445),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[0,Number],null),new cljs.core.Keyword(null,"padchar","padchar",2018584530),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ",String],null),new cljs.core.Keyword(null,"commachar","commachar",652859327),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[",",String],null),new cljs.core.Keyword(null,"commainterval","commainterval",-1980061083),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[3,Number],null)],null),
new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,
b){return cljs.core.truth_(cljs.core.first.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(a)))?function(a,b,e){return cljs.pprint.format_integer.call(null,(new cljs.core.Keyword(null,"base","base",185279322)).cljs$core$IFn$_invoke$arity$1(a),a,b,e)}:cljs.core.truth_(function(){var b=(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a):
b}())?function(a,b,e){return cljs.pprint.format_old_roman.call(null,a,b,e)}:cljs.core.truth_((new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?function(a,b,e){return cljs.pprint.format_new_roman.call(null,a,b,e)}:cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?function(a,b,e){return cljs.pprint.format_ordinal_english.call(null,a,b,e)}:function(a,b,e){return cljs.pprint.format_cardinal_english.call(null,
a,b,e)}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"P",new cljs.core.Keyword(null,"params","params",710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",
-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return function(a,b,e){b=cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?cljs.pprint.relative_reposition.call(null,b,-1):b;a=cljs.core.truth_((new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["y","ies"],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["","s"],null);e=cljs.pprint.next_arg.call(null,b);b=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);cljs.pprint.print.call(null,cljs.core._EQ_.call(null,b,1)?cljs.core.first.call(null,a):cljs.core.second.call(null,a));return e}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"directive","directive",793559132),"C",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"char-format","char-format",-1016499218),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,String],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,
new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?cljs.pprint.pretty_character:cljs.core.truth_((new cljs.core.Keyword(null,
"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?cljs.pprint.readable_character:cljs.pprint.plain_character}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"F",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"w","w",354169001),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null),new cljs.core.Keyword(null,"d",
"d",1972142424),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null),new cljs.core.Keyword(null,"k","k",-2146297393),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null),new cljs.core.Keyword(null,"overflowchar","overflowchar",-1620088106),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,String],null),new cljs.core.Keyword(null,"padchar","padchar",2018584530),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ",String],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"at","at",1476951349),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return cljs.pprint.fixed_float}],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"directive","directive",793559132),"E",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"w","w",354169001),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null),new cljs.core.Keyword(null,"d","d",1972142424),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null),new cljs.core.Keyword(null,"e","e",1381269198),
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null),new cljs.core.Keyword(null,"k","k",-2146297393),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,Number],null),new cljs.core.Keyword(null,"overflowchar","overflowchar",-1620088106),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,String],null),new cljs.core.Keyword(null,"padchar","padchar",2018584530),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ",String],null),new cljs.core.Keyword(null,"exponentchar","exponentchar",1986664222),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,String],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"at","at",1476951349),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),
cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return cljs.pprint.exponential_float}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"G",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"w","w",354169001),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],
null),new cljs.core.Keyword(null,"d","d",1972142424),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null),new cljs.core.Keyword(null,"e","e",1381269198),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null),new cljs.core.Keyword(null,"k","k",-2146297393),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,Number],null),new cljs.core.Keyword(null,"overflowchar","overflowchar",-1620088106),
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,String],null),new cljs.core.Keyword(null,"padchar","padchar",2018584530),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ",String],null),new cljs.core.Keyword(null,"exponentchar","exponentchar",1986664222),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,String],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"at","at",1476951349),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return cljs.pprint.general_float}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"$",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,
4,[new cljs.core.Keyword(null,"d","d",1972142424),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[2,Number],null),new cljs.core.Keyword(null,"n","n",562130025),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,Number],null),new cljs.core.Keyword(null,"w","w",354169001),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null),new cljs.core.Keyword(null,"padchar","padchar",2018584530),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ",String],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,
"generator-fn","generator-fn",811851656),function(a,b){return cljs.pprint.dollar_float}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"%",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),
cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return function(a,b,e){a=(new cljs.core.Keyword(null,"count","count",2139924085)).cljs$core$IFn$_invoke$arity$1(a);for(e=0;;)if(e<a)cljs.pprint.prn.call(null),e+=1;else break;return b}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",
793559132),"\x26",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"pretty","pretty",-1916372486),null],null),null),new cljs.core.Keyword(null,
"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return function(a,b,e){a=(new cljs.core.Keyword(null,"count","count",2139924085)).cljs$core$IFn$_invoke$arity$1(a);0<a&&cljs.pprint.fresh_line.call(null);--a;for(e=0;;)if(e<a)cljs.pprint.prn.call(null),e+=1;else break;return b}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"|",
new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"count","count",2139924085),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",
811851656),function(a,b){return function(a,b,e){a=(new cljs.core.Keyword(null,"count","count",2139924085)).cljs$core$IFn$_invoke$arity$1(a);for(e=0;;)if(e<a)cljs.pprint.print.call(null,"\f"),e+=1;else break;return b}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"~",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"n","n",562130025),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return function(a,b,e){a=(new cljs.core.Keyword(null,"n","n",562130025)).cljs$core$IFn$_invoke$arity$1(a);cljs.pprint.print.call(null,cljs.core.apply.call(null,
cljs.core.str,cljs.core.repeat.call(null,a,"~")));return b}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"\n",new cljs.core.Keyword(null,"params","params",710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),
null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return function(a,b,e){cljs.core.truth_((new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))&&cljs.pprint.prn.call(null);return b}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"T",new cljs.core.Keyword(null,
"params","params",710516235),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"colnum","colnum",2023796854),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,Number],null),new cljs.core.Keyword(null,"colinc","colinc",-584873385),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"pretty","pretty",-1916372486),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return cljs.core.truth_((new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?function(a,b,e){return cljs.pprint.relative_tabulation.call(null,a,b,e)}:
function(a,b,e){return cljs.pprint.absolute_tabulation.call(null,a,b,e)}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"*",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"n","n",562130025),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,
new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return function(a,b,e){e=(new cljs.core.Keyword(null,"n","n",562130025)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_((new cljs.core.Keyword(null,
"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?cljs.pprint.absolute_reposition.call(null,b,e):cljs.pprint.relative_reposition.call(null,b,cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?-e:e)}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"?",new cljs.core.Keyword(null,"params","params",710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"flags",
"flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"at","at",1476951349),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return cljs.core.truth_((new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?function(a,b,e){e=cljs.pprint.get_format_arg.call(null,
b);b=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);return cljs.pprint.execute_sub_format.call(null,b,e,(new cljs.core.Keyword(null,"base-args","base-args",-1268706822)).cljs$core$IFn$_invoke$arity$1(a))}:function(a,b,e){e=cljs.pprint.get_format_arg.call(null,b);b=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);var c=cljs.pprint.next_arg.call(null,e);e=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);e=cljs.pprint.init_navigator.call(null,
e);cljs.pprint.execute_sub_format.call(null,b,e,(new cljs.core.Keyword(null,"base-args","base-args",-1268706822)).cljs$core$IFn$_invoke$arity$1(a));return c}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"(",new cljs.core.Keyword(null,"params","params",710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,
"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"right","right",-452581833),")",new cljs.core.Keyword(null,"allows-separator","allows-separator",-818967742),null,new cljs.core.Keyword(null,"else","else",-1508377146),null],null),new cljs.core.Keyword(null,
"generator-fn","generator-fn",811851656),function(a,b){return function(a){return function(b,c,f){return cljs.pprint.modify_case.call(null,a,b,c,f)}}(cljs.core.truth_(function(){var b=(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a):b}())?cljs.pprint.upcase_writer:cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?
cljs.pprint.capitalize_word_writer:cljs.core.truth_((new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?cljs.pprint.init_cap_writer:cljs.pprint.downcase_writer)}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),")",new cljs.core.Keyword(null,"params","params",710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"flags","flags",1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,
"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return null}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"[",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"selector","selector",762528866),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[null,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"right","right",-452581833),"]",new cljs.core.Keyword(null,"allows-separator",
"allows-separator",-818967742),!0,new cljs.core.Keyword(null,"else","else",-1508377146),new cljs.core.Keyword(null,"last","last",1105735132)],null),new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?cljs.pprint.boolean_conditional:cljs.core.truth_((new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?cljs.pprint.check_arg_conditional:
cljs.pprint.choice_conditional}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),";",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"min-remaining","min-remaining",962687677),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null),new cljs.core.Keyword(null,"max-columns","max-columns",1742323262),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"colon","colon",-965200945),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"separator","separator",-1628749125),!0],null),new cljs.core.Keyword(null,"generator-fn",
"generator-fn",811851656),function(a,b){return null}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"]",new cljs.core.Keyword(null,"params","params",710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"flags","flags",1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",
811851656),function(a,b){return null}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"{",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"max-iterations","max-iterations",2021275563),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,
new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"right","right",-452581833),"}",new cljs.core.Keyword(null,"allows-separator","allows-separator",-818967742),!1],null),new cljs.core.Keyword(null,
"generator-fn","generator-fn",811851656),function(a,b){return cljs.core.truth_(function(){var b=(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a):b}())?cljs.pprint.iterate_main_sublists:cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?cljs.pprint.iterate_list_of_sublists:cljs.core.truth_((new cljs.core.Keyword(null,
"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?cljs.pprint.iterate_main_list:cljs.pprint.iterate_sublist}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"}",new cljs.core.Keyword(null,"params","params",710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"colon","colon",-965200945),
null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return null}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"\x3c",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mincol","mincol",1230695445),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null),new cljs.core.Keyword(null,"colinc","colinc",-584873385),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,Number],null),new cljs.core.Keyword(null,"minpad","minpad",323570901),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null),new cljs.core.Keyword(null,"padchar","padchar",2018584530),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ",
String],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",-393648840),null,new cljs.core.Keyword(null,"pretty","pretty",-1916372486),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),new cljs.core.PersistentArrayMap(null,
3,[new cljs.core.Keyword(null,"right","right",-452581833),"\x3e",new cljs.core.Keyword(null,"allows-separator","allows-separator",-818967742),!0,new cljs.core.Keyword(null,"else","else",-1508377146),new cljs.core.Keyword(null,"first","first",-644103046)],null),new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return cljs.pprint.logical_block_or_justify}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"\x3e",
new cljs.core.Keyword(null,"params","params",710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"colon","colon",-965200945),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return null}],null),
new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"^",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"arg1","arg1",951899358),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null),new cljs.core.Keyword(null,"arg2","arg2",1729550917),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null),
new cljs.core.Keyword(null,"arg3","arg3",-1486822496),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,Number],null)],null),new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"colon","colon",-965200945),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn",
"generator-fn",811851656),function(a,b){return function(a,b,e){e=(new cljs.core.Keyword(null,"arg1","arg1",951899358)).cljs$core$IFn$_invoke$arity$1(a);var c=(new cljs.core.Keyword(null,"arg2","arg2",1729550917)).cljs$core$IFn$_invoke$arity$1(a),d=(new cljs.core.Keyword(null,"arg3","arg3",-1486822496)).cljs$core$IFn$_invoke$arity$1(a),h=cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?new cljs.core.Keyword(null,"colon-up-arrow","colon-up-arrow",
244853007):new cljs.core.Keyword(null,"up-arrow","up-arrow",1705310333);return cljs.core.truth_(cljs.core.truth_(e)?cljs.core.truth_(c)?d:c:e)?e<=c&&c<=d?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,b],null):b:cljs.core.truth_(cljs.core.truth_(e)?c:e)?cljs.core._EQ_.call(null,e,c)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,b],null):b:cljs.core.truth_(e)?cljs.core._EQ_.call(null,e,0)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[h,b],null):b:(cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?cljs.core.empty_QMARK_.call(null,(new cljs.core.Keyword(null,"rest","rest",-1241696419)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"base-args","base-args",-1268706822)).cljs$core$IFn$_invoke$arity$1(a))):cljs.core.empty_QMARK_.call(null,(new cljs.core.Keyword(null,"rest","rest",-1241696419)).cljs$core$IFn$_invoke$arity$1(b)))?new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,b],null):b}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"W",new cljs.core.Keyword(null,"params","params",710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),
null,new cljs.core.Keyword(null,"both","both",-393648840),null,new cljs.core.Keyword(null,"pretty","pretty",-1916372486),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return cljs.core.truth_(function(){var b=(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?b:(new cljs.core.Keyword(null,
"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a)}())?function(a){return function(b,c,f){c=cljs.pprint.next_arg.call(null,c);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return cljs.core.truth_(cljs.core.apply.call(null,cljs.pprint.write,b,a))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"up-arrow","up-arrow",1705310333),c],null):c}}(cljs.core.concat.call(null,cljs.core.truth_((new cljs.core.Keyword(null,
"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(a))?new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"level","level",1290497552),null,new cljs.core.Keyword(null,"length","length",588987862),null],null):cljs.core.PersistentVector.EMPTY,cljs.core.truth_((new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(a))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"pretty","pretty",-1916372486),!0],null):cljs.core.PersistentVector.EMPTY)):function(a,b,e){b=cljs.pprint.next_arg.call(null,b);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return cljs.core.truth_(cljs.pprint.write_out.call(null,a))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"up-arrow","up-arrow",1705310333),b],null):b}}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",
793559132),"_",new cljs.core.Keyword(null,"params","params",710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"colon","colon",-965200945),null,new cljs.core.Keyword(null,"at","at",1476951349),null,new cljs.core.Keyword(null,"both","both",-393648840),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,
new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return cljs.pprint.conditional_newline}],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"directive","directive",793559132),"I",new cljs.core.Keyword(null,"params","params",710516235),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"n","n",562130025),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,Number],null)],null),new cljs.core.Keyword(null,
"flags","flags",1775418075),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"colon","colon",-965200945),null],null),null),new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656),function(a,b){return cljs.pprint.set_indent}],null)]);cljs.pprint.param_pattern=/^([vV]|#|('.)|([+-]?\d+)|(?=,))/;
cljs.pprint.special_params=new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"remaining-arg-count","remaining-arg-count",-1216589335),null,new cljs.core.Keyword(null,"parameter-from-args","parameter-from-args",-758446196),null],null),null);
cljs.pprint.extract_param=function(a){var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),d=cljs.core.nth.call(null,a,2,null);a=new RegExp(cljs.pprint.param_pattern.source,"g");var e=a.exec(b);return cljs.core.truth_(e)?(d=cljs.core.first.call(null,e),b=cljs.core.subs.call(null,b,a.lastIndex),a=c+a.lastIndex,cljs.core._EQ_.call(null,",",cljs.core.nth.call(null,b,0))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,c],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.subs.call(null,b,1),a+1,!0],null)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,c],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a,!1],null)],null)):cljs.core.truth_(d)?cljs.pprint.format_error.call(null,
"Badly formed parameters in format directive",c):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,c],null)],null)};cljs.pprint.extract_params=function(a,b){return cljs.pprint.consume.call(null,cljs.pprint.extract_param,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,!1],null))};
cljs.pprint.translate_param=function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core._EQ_.call(null,b.length,0)?null:cljs.core._EQ_.call(null,b.length,1)&&cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,["V",null,"v",null],null),null),cljs.core.nth.call(null,b,0))?new cljs.core.Keyword(null,"parameter-from-args",
"parameter-from-args",-758446196):cljs.core._EQ_.call(null,b.length,1)&&cljs.core._EQ_.call(null,"#",cljs.core.nth.call(null,b,0))?new cljs.core.Keyword(null,"remaining-arg-count","remaining-arg-count",-1216589335):cljs.core._EQ_.call(null,b.length,2)&&cljs.core._EQ_.call(null,"'",cljs.core.nth.call(null,b,0))?cljs.core.nth.call(null,b,1):parseInt(b,10),a],null)};
cljs.pprint.flag_defs=new cljs.core.PersistentArrayMap(null,2,[":",new cljs.core.Keyword(null,"colon","colon",-965200945),"@",new cljs.core.Keyword(null,"at","at",1476951349)],null);
cljs.pprint.extract_flags=function(a,b){return cljs.pprint.consume.call(null,function(a){var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null);a=cljs.core.nth.call(null,a,2,null);if(cljs.core.empty_QMARK_.call(null,b))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b,c,a],null)],null);var f=cljs.core.get.call(null,cljs.pprint.flag_defs,cljs.core.first.call(null,
b));return cljs.core.truth_(f)?cljs.core.contains_QMARK_.call(null,a,f)?cljs.pprint.format_error.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1('Flag "'),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1('" appears more than once in a directive')].join(""),c):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[!0,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.subs.call(null,
b,1),c+1,cljs.core.assoc.call(null,a,f,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[!0,c],null))],null)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b,c,a],null)],null)},new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,cljs.core.PersistentArrayMap.EMPTY],null))};
cljs.pprint.check_flags=function(a,b){var c=(new cljs.core.Keyword(null,"flags","flags",1775418075)).cljs$core$IFn$_invoke$arity$1(a);cljs.core.truth_(function(){var a=cljs.core.not.call(null,(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(c));return a?(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(b):a}())&&cljs.pprint.format_error.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1('"@" is an illegal flag for format directive "'),
cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"directive","directive",793559132)).cljs$core$IFn$_invoke$arity$1(a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1('"')].join(""),cljs.core.nth.call(null,(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(b),1));cljs.core.truth_(function(){var a=cljs.core.not.call(null,(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(c));return a?(new cljs.core.Keyword(null,"colon",
"colon",-965200945)).cljs$core$IFn$_invoke$arity$1(b):a}())&&cljs.pprint.format_error.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1('":" is an illegal flag for format directive "'),cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"directive","directive",793559132)).cljs$core$IFn$_invoke$arity$1(a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1('"')].join(""),cljs.core.nth.call(null,(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(b),
1));return cljs.core.truth_(function(){var a=cljs.core.not.call(null,(new cljs.core.Keyword(null,"both","both",-393648840)).cljs$core$IFn$_invoke$arity$1(c));return a?(a=(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(b),cljs.core.truth_(a)?(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(b):a):a}())?cljs.pprint.format_error.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1('Cannot combine "@" and ":" flags for format directive "'),
cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"directive","directive",793559132)).cljs$core$IFn$_invoke$arity$1(a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1('"')].join(""),function(){var a=cljs.core.nth.call(null,(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(b),1),c=cljs.core.nth.call(null,(new cljs.core.Keyword(null,"at","at",1476951349)).cljs$core$IFn$_invoke$arity$1(b),1);return a<c?a:c}()):null};
cljs.pprint.map_params=function(a,b,c,d){cljs.pprint.check_flags.call(null,a,c);cljs.core.count.call(null,b)>cljs.core.count.call(null,(new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(a))&&cljs.pprint.format_error.call(null,cljs.pprint.cl_format.call(null,null,'Too many parameters for directive "~C": ~D~:* ~[were~;was~:;were~] specified but only ~D~:* ~[are~;is~:;are~] allowed',(new cljs.core.Keyword(null,"directive","directive",793559132)).cljs$core$IFn$_invoke$arity$1(a),
cljs.core.count.call(null,b),cljs.core.count.call(null,(new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(a))),cljs.core.second.call(null,cljs.core.first.call(null,b)));cljs.core.doall.call(null,cljs.core.map.call(null,function(b,c){var d=cljs.core.first.call(null,b);return null==d||cljs.core.contains_QMARK_.call(null,cljs.pprint.special_params,d)||cljs.core._EQ_.call(null,cljs.core.second.call(null,cljs.core.second.call(null,c)),cljs.core.type.call(null,d))?null:
cljs.pprint.format_error.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Parameter "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.name.call(null,cljs.core.first.call(null,c))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(' has bad type in directive "'),cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"directive","directive",793559132)).cljs$core$IFn$_invoke$arity$1(a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1('": '),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type.call(null,
d))].join(""),cljs.core.second.call(null,b))},b,(new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(a)));return cljs.core.merge.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.reverse.call(null,function(){return function f(a){return new cljs.core.LazySeq(null,function(){for(;;){var b=cljs.core.seq.call(null,a);if(b){if(cljs.core.chunked_seq_QMARK_.call(null,b)){var c=cljs.core.chunk_first.call(null,b),g=cljs.core.count.call(null,
c),m=cljs.core.chunk_buffer.call(null,g);a:for(var n=0;;)if(n<g){var p=cljs.core._nth.call(null,c,n),q=cljs.core.nth.call(null,p,0,null),p=cljs.core.nth.call(null,p,1,null),p=cljs.core.nth.call(null,p,0,null);cljs.core.chunk_append.call(null,m,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[q,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[p,d],null)],null));n+=1}else{c=!0;break a}return c?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,
m),f.call(null,cljs.core.chunk_rest.call(null,b))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,m),null)}c=cljs.core.first.call(null,b);m=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);c=cljs.core.nth.call(null,c,0,null);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[m,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,d],null)],null),f.call(null,cljs.core.rest.call(null,
b)))}return null}},null,null)}.call(null,(new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(a))}())),cljs.core.reduce.call(null,function(a,b){return cljs.core.apply.call(null,cljs.core.assoc,a,b)},cljs.core.PersistentArrayMap.EMPTY,cljs.core.filter.call(null,function(a){return cljs.core.first.call(null,cljs.core.nth.call(null,a,1))},cljs.core.zipmap.call(null,cljs.core.keys.call(null,(new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(a)),
b))),c)};
cljs.pprint.compile_directive=function(a,b){var c=cljs.pprint.extract_params.call(null,a,b),d=cljs.core.nth.call(null,c,0,null),e=cljs.core.nth.call(null,c,1,null),c=cljs.core.nth.call(null,e,0,null),e=cljs.core.nth.call(null,e,1,null),c=cljs.pprint.extract_flags.call(null,c,e);cljs.core.nth.call(null,c,0,null);var e=cljs.core.nth.call(null,c,1,null),f=cljs.core.nth.call(null,e,0,null),c=cljs.core.nth.call(null,e,1,null),g=cljs.core.nth.call(null,e,2,null),h=cljs.core.first.call(null,f),e=cljs.core.get.call(null,
cljs.pprint.directive_table,clojure.string.upper_case.call(null,h)),k=cljs.core.truth_(e)?cljs.pprint.map_params.call(null,e,cljs.core.map.call(null,cljs.pprint.translate_param,d),g,c):null;cljs.core.not.call(null,h)&&cljs.pprint.format_error.call(null,"Format string ended in the middle of a directive",c);cljs.core.not.call(null,e)&&cljs.pprint.format_error.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1('Directive "'),cljs.core.str.cljs$core$IFn$_invoke$arity$1(h),cljs.core.str.cljs$core$IFn$_invoke$arity$1('" is undefined')].join(""),
c);d=cljs.core.PersistentVector;h=cljs.core.PersistentVector.EMPTY_NODE;g=new cljs.pprint.compiled_directive((new cljs.core.Keyword(null,"generator-fn","generator-fn",811851656)).cljs$core$IFn$_invoke$arity$1(e).call(null,k,c),e,k,c,null,null,null);f=cljs.core.subs.call(null,f,1);c+=1;e=cljs.core._EQ_.call(null,"\n",(new cljs.core.Keyword(null,"directive","directive",793559132)).cljs$core$IFn$_invoke$arity$1(e))&&cljs.core.not.call(null,(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1(k))?
cljs.pprint.prefix_count.call(null,f,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[" ","\t"],null)):0;f=cljs.core.subs.call(null,f,e);c=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[f,c+e],null);return new d(null,2,5,h,[g,c],null)};
cljs.pprint.compile_raw_string=function(a,b){return new cljs.pprint.compiled_directive(function(b,d,e){cljs.pprint.print.call(null,a);return d},null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"string","string",-1989541586),a],null),b,null,null,null)};
cljs.pprint.right_bracket=function(a){return(new cljs.core.Keyword(null,"right","right",-452581833)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"def","def",-1043430536)).cljs$core$IFn$_invoke$arity$1(a)))};
cljs.pprint.separator_QMARK_=function(a){return(new cljs.core.Keyword(null,"separator","separator",-1628749125)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"def","def",-1043430536)).cljs$core$IFn$_invoke$arity$1(a)))};
cljs.pprint.else_separator_QMARK_=function(a){var b=(new cljs.core.Keyword(null,"separator","separator",-1628749125)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"def","def",-1043430536)).cljs$core$IFn$_invoke$arity$1(a)));return cljs.core.truth_(b)?(new cljs.core.Keyword(null,"colon","colon",-965200945)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(a)):
b};
cljs.pprint.process_bracket=function(a,b){var c=cljs.pprint.collect_clauses.call(null,(new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"def","def",-1043430536)).cljs$core$IFn$_invoke$arity$1(a)),(new cljs.core.Keyword(null,"offset","offset",296498311)).cljs$core$IFn$_invoke$arity$1(a),b),d=cljs.core.nth.call(null,c,0,null),c=cljs.core.nth.call(null,c,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.pprint.compiled_directive((new cljs.core.Keyword(null,
"func","func",-238706040)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"def","def",-1043430536)).cljs$core$IFn$_invoke$arity$1(a),cljs.core.merge.call(null,(new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(a),cljs.pprint.tuple_map.call(null,d,(new cljs.core.Keyword(null,"offset","offset",296498311)).cljs$core$IFn$_invoke$arity$1(a))),(new cljs.core.Keyword(null,"offset","offset",296498311)).cljs$core$IFn$_invoke$arity$1(a),null,null,null),c],
null)};
cljs.pprint.process_clause=function(a,b,c){return cljs.pprint.consume.call(null,function(c){if(cljs.core.empty_QMARK_.call(null,c))return cljs.pprint.format_error.call(null,"No closing bracket found.",b);var d=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return cljs.core.truth_(cljs.pprint.right_bracket.call(null,d))?cljs.pprint.process_bracket.call(null,d,c):cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"right","right",-452581833)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"directive",
"directive",793559132)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"def","def",-1043430536)).cljs$core$IFn$_invoke$arity$1(d)))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"right-bracket","right-bracket",951856080),(new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(d),null,c],null)],null):cljs.core.truth_(cljs.pprint.else_separator_QMARK_.call(null,
d))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"else","else",-1508377146),null,(new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(d),c],null)],null):cljs.core.truth_(cljs.pprint.separator_QMARK_.call(null,d))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,new cljs.core.PersistentVector(null,
4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"separator","separator",-1628749125),null,null,c],null)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,c],null)},c)};
cljs.pprint.collect_clauses=function(a,b,c){return cljs.core.second.call(null,cljs.pprint.consume.call(null,function(c){var d=cljs.core.nth.call(null,c,0,null),f=cljs.core.nth.call(null,c,1,null);c=cljs.core.nth.call(null,c,2,null);var g=cljs.pprint.process_clause.call(null,a,b,c);c=cljs.core.nth.call(null,g,0,null);var h=cljs.core.nth.call(null,g,1,null),g=cljs.core.nth.call(null,h,0,null),k=cljs.core.nth.call(null,h,1,null),l=cljs.core.nth.call(null,h,2,null),h=cljs.core.nth.call(null,h,3,null);
return cljs.core._EQ_.call(null,g,new cljs.core.Keyword(null,"right-bracket","right-bracket",951856080))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.merge_with.call(null,cljs.core.concat,d,cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.truth_(f)?new cljs.core.Keyword(null,"else","else",-1508377146):new cljs.core.Keyword(null,"clauses","clauses",1454841241),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[c],null),new cljs.core.Keyword(null,"right-params","right-params",-1790676237),k])),h],null)],null):cljs.core._EQ_.call(null,g,new cljs.core.Keyword(null,"else","else",-1508377146))?cljs.core.truth_((new cljs.core.Keyword(null,"else","else",-1508377146)).cljs$core$IFn$_invoke$arity$1(d))?cljs.pprint.format_error.call(null,'Two else clauses ("~:;") inside bracket construction.',b):cljs.core.not.call(null,(new cljs.core.Keyword(null,"else","else",-1508377146)).cljs$core$IFn$_invoke$arity$1(a))?
cljs.pprint.format_error.call(null,'An else clause ("~:;") is in a bracket type that doesn\'t support it.',b):cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"first","first",-644103046),(new cljs.core.Keyword(null,"else","else",-1508377146)).cljs$core$IFn$_invoke$arity$1(a))&&cljs.core.seq.call(null,(new cljs.core.Keyword(null,"clauses","clauses",1454841241)).cljs$core$IFn$_invoke$arity$1(d))?cljs.pprint.format_error.call(null,'The else clause ("~:;") is only allowed in the first position for this directive.',
b):cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"first","first",-644103046),(new cljs.core.Keyword(null,"else","else",-1508377146)).cljs$core$IFn$_invoke$arity$1(a))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[!0,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.merge_with.call(null,cljs.core.concat,d,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"else","else",-1508377146),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[c],null),new cljs.core.Keyword(null,"else-params","else-params",-832171646),l],null)),!1,h],null)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[!0,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.merge_with.call(null,cljs.core.concat,d,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"clauses","clauses",1454841241),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[c],null)],null)),!0,h],null)],null):cljs.core._EQ_.call(null,g,new cljs.core.Keyword(null,"separator","separator",-1628749125))?cljs.core.truth_(f)?cljs.pprint.format_error.call(null,'A plain clause (with "~;") follows an else clause ("~:;") inside bracket construction.',b):cljs.core.not.call(null,(new cljs.core.Keyword(null,"allows-separator","allows-separator",-818967742)).cljs$core$IFn$_invoke$arity$1(a))?cljs.pprint.format_error.call(null,'A separator ("~;") is in a bracket type that doesn\'t support it.',
b):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[!0,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.merge_with.call(null,cljs.core.concat,d,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"clauses","clauses",1454841241),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[c],null)],null)),!1,h],null)],null):null},new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"clauses","clauses",1454841241),cljs.core.PersistentVector.EMPTY],null),!1,c],null)))};
cljs.pprint.process_nesting=function(a){return cljs.core.first.call(null,cljs.pprint.consume.call(null,function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);var d=(new cljs.core.Keyword(null,"bracket-info","bracket-info",-1600092774)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"def","def",-1043430536)).cljs$core$IFn$_invoke$arity$1(b));return cljs.core.truth_((new cljs.core.Keyword(null,"right","right",-452581833)).cljs$core$IFn$_invoke$arity$1(d))?cljs.pprint.process_bracket.call(null,
b,a):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)},a))};
cljs.pprint.compile_format=function(a){var b=cljs.pprint._STAR_format_str_STAR_;cljs.pprint._STAR_format_str_STAR_=a;try{return cljs.pprint.process_nesting.call(null,cljs.core.first.call(null,cljs.pprint.consume.call(null,function(a){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);if(cljs.core.empty_QMARK_.call(null,b))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,b],null);var c=b.indexOf("~");return 0>c?new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.pprint.compile_raw_string.call(null,b,a),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["",a+b.length],null)],null):0===c?cljs.pprint.compile_directive.call(null,cljs.core.subs.call(null,b,1),a+1):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.pprint.compile_raw_string.call(null,cljs.core.subs.call(null,b,0,c),a),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[cljs.core.subs.call(null,b,c),c+a],null)],null)}}(b),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,0],null))))}finally{cljs.pprint._STAR_format_str_STAR_=b}};
cljs.pprint.needs_pretty=function(a){for(var b=a;;){if(cljs.core.empty_QMARK_.call(null,b))return!1;if(cljs.core.truth_(function(){var a=(new cljs.core.Keyword(null,"pretty","pretty",-1916372486)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"flags","flags",1775418075)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"def","def",-1043430536)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,b))));if(cljs.core.truth_(a))return a;a=cljs.core.some.call(null,cljs.pprint.needs_pretty,
cljs.core.first.call(null,(new cljs.core.Keyword(null,"clauses","clauses",1454841241)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,b)))));return cljs.core.truth_(a)?a:cljs.core.some.call(null,cljs.pprint.needs_pretty,cljs.core.first.call(null,(new cljs.core.Keyword(null,"else","else",-1508377146)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,
b)))))}()))return!0;b=cljs.core.next.call(null,b)}};
cljs.pprint.execute_format=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 2:return cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=new goog.string.StringBuffer,e=cljs.core.not.call(null,a)||!0===a?new cljs.core.StringBufferWriter(d):a,f=cljs.core.truth_(function(){var a=cljs.pprint.needs_pretty.call(null,b);return cljs.core.truth_(a)?cljs.core.not.call(null,cljs.pprint.pretty_writer_QMARK_.call(null,e)):a}())?cljs.pprint.get_pretty_writer.call(null,e):e,g=cljs.core._STAR_out_STAR_;cljs.core._STAR_out_STAR_=f;try{try{cljs.pprint.execute_format.call(null,
b,c)}finally{e!==f&&cljs.core._flush.call(null,f)}return cljs.core.not.call(null,a)?""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(d):!0===a?cljs.core._STAR_print_fn_STAR_.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)):null}finally{cljs.core._STAR_out_STAR_=g}};
cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2=function(a,b){cljs.pprint.map_passing_context.call(null,function(a,b){if(cljs.core.truth_(cljs.pprint.abort_QMARK_.call(null,b)))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,b],null);var c=cljs.pprint.realize_parameter_list.call(null,(new cljs.core.Keyword(null,"params","params",710516235)).cljs$core$IFn$_invoke$arity$1(a),b),d=cljs.core.nth.call(null,c,0,null),c=cljs.core.nth.call(null,c,1,null),
g=cljs.pprint.unzip_map.call(null,d),d=cljs.core.nth.call(null,g,0,null),g=cljs.core.nth.call(null,g,1,null),d=cljs.core.assoc.call(null,d,new cljs.core.Keyword(null,"base-args","base-args",-1268706822),c);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,cljs.core.apply.call(null,(new cljs.core.Keyword(null,"func","func",-238706040)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[d,c,g],null))],
null)},b,a);return null};cljs.pprint.execute_format.cljs$lang$maxFixedArity=3;cljs.pprint.cached_compile=cljs.core.memoize.call(null,cljs.pprint.compile_format);cljs.pprint.use_method=function(a,b,c){return cljs.core._add_method.call(null,a,b,c)};
cljs.pprint.reader_macros=new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Symbol(null,"quote","quote",1377916282,null),"'",new cljs.core.Symbol(null,"var","var",870848730,null),"#'",new cljs.core.Symbol("clojure.core","deref","clojure.core/deref",188719157,null),"@",new cljs.core.Symbol("clojure.core","unquote","clojure.core/unquote",843087510,null),"~",new cljs.core.Symbol("cljs.core","deref","cljs.core/deref",1901963335,null),"@",new cljs.core.Symbol("cljs.core","unquote","cljs.core/unquote",
1013085760,null),"~"],null);cljs.pprint.pprint_reader_macro=function(a){var b=cljs.pprint.reader_macros.call(null,cljs.core.first.call(null,a));return cljs.core.truth_(cljs.core.truth_(b)?cljs.core._EQ_.call(null,2,cljs.core.count.call(null,a)):b)?(cljs.core._write.call(null,cljs.core._STAR_out_STAR_,b),cljs.pprint.write_out.call(null,cljs.core.second.call(null,a)),!0):null};
cljs.pprint.pprint_simple_list=function(a){if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var b=cljs.pprint._STAR_current_level_STAR_,c=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,"(",null,")");for(var d=0,e=cljs.core.seq.call(null,a);;){if(cljs.core.not.call(null,cljs.core._STAR_print_length_STAR_)||
d<cljs.core._STAR_print_length_STAR_){if(e&&(cljs.pprint.write_out.call(null,cljs.core.first.call(null,e)),cljs.core.next.call(null,e))){cljs.core._write.call(null,cljs.core._STAR_out_STAR_," ");cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"linear","linear",872268697));a=d+1;var f=cljs.core.next.call(null,e),d=a,e=f;continue}}else cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"...");break}cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=
c,cljs.pprint._STAR_current_level_STAR_=b}}return null};cljs.pprint.pprint_list=function(a){return cljs.core.not.call(null,cljs.pprint.pprint_reader_macro.call(null,a))?cljs.pprint.pprint_simple_list.call(null,a):null};
cljs.pprint.pprint_vector=function(a){if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var b=cljs.pprint._STAR_current_level_STAR_,c=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,"[",null,"]");for(var d=0,e=cljs.core.seq.call(null,a);;){if(cljs.core.not.call(null,cljs.core._STAR_print_length_STAR_)||
d<cljs.core._STAR_print_length_STAR_){if(e&&(cljs.pprint.write_out.call(null,cljs.core.first.call(null,e)),cljs.core.next.call(null,e))){cljs.core._write.call(null,cljs.core._STAR_out_STAR_," ");cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"linear","linear",872268697));a=d+1;var f=cljs.core.next.call(null,e),d=a,e=f;continue}}else cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"...");break}cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=
c,cljs.pprint._STAR_current_level_STAR_=b}}return null};
cljs.pprint.pprint_array=function(){return function(a,b){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},d=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};d.cljs$core$IFn$_invoke$arity$variadic=a;
return d}()}("~\x3c[~;~@{~w~^, ~:_~}~;]~:\x3e",cljs.pprint.cached_compile.call(null,"~\x3c[~;~@{~w~^, ~:_~}~;]~:\x3e"))}();
cljs.pprint.pprint_map=function(a){var b=cljs.core.record_QMARK_.call(null,a)?null:(new cljs.core.Var(function(){return cljs.core.lift_ns},new cljs.core.Symbol("cljs.core","lift-ns","cljs.core/lift-ns",463499081,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"private","private",-558947994),new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column",
"end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[!0,new cljs.core.Symbol(null,"cljs.core","cljs.core",770546058,null),new cljs.core.Symbol(null,"lift-ns","lift-ns",602311926,null),"cljs/core.cljs",
15,1,9589,9589,cljs.core.list(new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"m","m",-1021758608,null)],null)),"Returns [lifted-ns lifted-map] or nil if m can't be lifted.",cljs.core.truth_(cljs.core.lift_ns)?cljs.core.lift_ns.cljs$lang$test:null]))).call(null,a),c=cljs.core.nth.call(null,b,0,null),b=cljs.core.nth.call(null,b,1,null);a=cljs.core.truth_(b)?b:a;var d=cljs.core.truth_(c)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1("#:"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),
cljs.core.str.cljs$core$IFn$_invoke$arity$1("{")].join(""):"{";if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{c=cljs.pprint._STAR_current_level_STAR_;b=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,d,null,"}");for(var d=0,e=cljs.core.seq.call(null,a);;){if(cljs.core.not.call(null,cljs.core._STAR_print_length_STAR_)||
d<cljs.core._STAR_print_length_STAR_){if(e){if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var f=cljs.pprint._STAR_current_level_STAR_,g=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,null,null,null),cljs.pprint.write_out.call(null,cljs.core.ffirst.call(null,e)),cljs.core._write.call(null,
cljs.core._STAR_out_STAR_," "),cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"linear","linear",872268697)),cljs.pprint._STAR_current_length_STAR_=0,cljs.pprint.write_out.call(null,cljs.core.fnext.call(null,cljs.core.first.call(null,e))),cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=g,cljs.pprint._STAR_current_level_STAR_=f}}if(cljs.core.next.call(null,e)){cljs.core._write.call(null,cljs.core._STAR_out_STAR_,", ");cljs.pprint.pprint_newline.call(null,
new cljs.core.Keyword(null,"linear","linear",872268697));a=d+1;var h=cljs.core.next.call(null,e),d=a,e=h;continue}}}else cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"...");break}cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=b,cljs.pprint._STAR_current_level_STAR_=c}}return null};cljs.pprint.pprint_simple_default=function(a){return cljs.core._write.call(null,cljs.core._STAR_out_STAR_,cljs.core.pr_str.call(null,a))};
cljs.pprint.pprint_set=function(){return function(a,b){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},d=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};d.cljs$core$IFn$_invoke$arity$variadic=a;return d}()}("~\x3c#{~;~@{~w~^ ~:_~}~;}~:\x3e",
cljs.pprint.cached_compile.call(null,"~\x3c#{~;~@{~w~^ ~:_~}~;}~:\x3e"))}();cljs.pprint.type_map=new cljs.core.PersistentArrayMap(null,2,["core$future_call","Future","core$promise","Promise"],null);cljs.pprint.map_ref_type=function(a){var b=cljs.core.re_find.call(null,/^[^$]+\$[^$]+/,a);b=cljs.core.truth_(b)?cljs.pprint.type_map.call(null,b):null;return cljs.core.truth_(b)?b:a};
cljs.pprint.pprint_ideref=function(a){var b=[cljs.core.str.cljs$core$IFn$_invoke$arity$1("#\x3c"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint.map_ref_type.call(null,cljs.core.type.call(null,a).name)),cljs.core.str.cljs$core$IFn$_invoke$arity$1("@"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.getUid(a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(": ")].join("");if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var c=
cljs.pprint._STAR_current_level_STAR_,d=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,b,null,"\x3e"),cljs.pprint.pprint_indent.call(null,new cljs.core.Keyword(null,"block","block",664686210),-(cljs.core.count.call(null,b)-2)),cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"linear","linear",872268697)),cljs.pprint.write_out.call(null,function(){var b=
null!=a?a.cljs$lang$protocol_mask$partition1$&1||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IPending$?!0:a.cljs$lang$protocol_mask$partition1$?!1:cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IPending,a):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IPending,a);return b?!cljs.core._realized_QMARK_.call(null,a):b}()?new cljs.core.Keyword(null,"not-delivered","not-delivered",1599158697):cljs.core.deref.call(null,a)),cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=
d,cljs.pprint._STAR_current_level_STAR_=c}}return null};
cljs.pprint.pprint_pqueue=function(){return function(a,b){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},d=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};d.cljs$core$IFn$_invoke$arity$variadic=
a;return d}()}("~\x3c\x3c-(~;~@{~w~^ ~_~}~;)-\x3c~:\x3e",cljs.pprint.cached_compile.call(null,"~\x3c\x3c-(~;~@{~w~^ ~_~}~;)-\x3c~:\x3e"))}();
cljs.pprint.type_dispatcher=function(a){return a instanceof cljs.core.PersistentQueue?new cljs.core.Keyword(null,"queue","queue",1455835879):(null!=a?a.cljs$lang$protocol_mask$partition0$&32768||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IDeref$||(a.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IDeref,a)):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IDeref,a))?new cljs.core.Keyword(null,"deref","deref",-145586795):a instanceof cljs.core.Symbol?
new cljs.core.Keyword(null,"symbol","symbol",-1038572696):cljs.core.seq_QMARK_.call(null,a)?new cljs.core.Keyword(null,"list","list",765357683):cljs.core.map_QMARK_.call(null,a)?new cljs.core.Keyword(null,"map","map",1371690461):cljs.core.vector_QMARK_.call(null,a)?new cljs.core.Keyword(null,"vector","vector",1902966158):cljs.core.set_QMARK_.call(null,a)?new cljs.core.Keyword(null,"set","set",304602554):null==a?null:new cljs.core.Keyword(null,"default","default",-1987822328)};
"undefined"===typeof cljs.pprint.simple_dispatch&&(cljs.pprint.simple_dispatch=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));
return new cljs.core.MultiFn(cljs.core.symbol.call(null,"cljs.pprint","simple-dispatch"),cljs.pprint.type_dispatcher,new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}());cljs.pprint.use_method.call(null,cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,"list","list",765357683),cljs.pprint.pprint_list);cljs.pprint.use_method.call(null,cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,"vector","vector",1902966158),cljs.pprint.pprint_vector);
cljs.pprint.use_method.call(null,cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,"map","map",1371690461),cljs.pprint.pprint_map);cljs.pprint.use_method.call(null,cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,"set","set",304602554),cljs.pprint.pprint_set);cljs.pprint.use_method.call(null,cljs.pprint.simple_dispatch,null,function(){return cljs.core._write.call(null,cljs.core._STAR_out_STAR_,cljs.core.pr_str.call(null,null))});
cljs.pprint.use_method.call(null,cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,"default","default",-1987822328),cljs.pprint.pprint_simple_default);cljs.pprint.set_pprint_dispatch.call(null,cljs.pprint.simple_dispatch);cljs.pprint.brackets=function(a){return cljs.core.vector_QMARK_.call(null,a)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["[","]"],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["(",")"],null)};
cljs.pprint.pprint_ns_reference=function(a){if(cljs.core.sequential_QMARK_.call(null,a)){var b=cljs.pprint.brackets.call(null,a),c=cljs.core.nth.call(null,b,0,null),d=cljs.core.nth.call(null,b,1,null),e=cljs.core.seq.call(null,a),f=cljs.core.first.call(null,e),g=cljs.core.next.call(null,e);if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var h=cljs.pprint._STAR_current_level_STAR_,k=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=
1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,c,null,d);(function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=
0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}("~w~:i",cljs.pprint.cached_compile.call(null,"~w~:i"),h,k,b,c,d,a,e,f,g,f,g)})().call(null,f);for(var l=g;;)if(cljs.core.seq.call(null,l)){(function(){var m=cljs.pprint.cached_compile.call(null," ");return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,c,a)},b=function(b){var c=
null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(l," ",m,h,k,b,c,d,a,e,f,g,f,g)})().call(null);var m=cljs.core.first.call(null,l);if(cljs.core.sequential_QMARK_.call(null,m)){var n=cljs.pprint.brackets.call(null,m),p=cljs.core.nth.call(null,
n,0,null),q=cljs.core.nth.call(null,n,1,null);if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var r=cljs.pprint._STAR_current_level_STAR_,u=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,p,null,q);if(cljs.core._EQ_.call(null,cljs.core.count.call(null,m),3)&&cljs.core.second.call(null,m)instanceof
cljs.core.Keyword){var t=m,v=cljs.core.nth.call(null,t,0,null),w=cljs.core.nth.call(null,t,1,null),x=cljs.core.nth.call(null,t,2,null);(function(){var y=cljs.pprint.cached_compile.call(null,"~w ~w ");return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,c,a)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+
0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(l,"~w ~w ",y,t,v,w,x,r,u,n,p,q,m,h,k,b,c,d,a,e,f,g,f,g)})().call(null,v,w);cljs.core.sequential_QMARK_.call(null,x)?function(){var y=cljs.core.vector_QMARK_.call(null,x)?"~\x3c[~;~@{~w~^ ~:_~}~;]~:\x3e":"~\x3c(~;~@{~w~^ ~:_~}~;)~:\x3e",z="string"===typeof y?cljs.pprint.cached_compile.call(null,
y):y;return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,X,Z){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,c,a)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=
a;return b}()}(l,y,z,t,v,w,x,r,u,n,p,q,m,h,k,b,c,d,a,e,f,g,f,g)}().call(null,x):cljs.pprint.write_out.call(null,x)}else cljs.core.apply.call(null,function(){var t=cljs.pprint.cached_compile.call(null,"~w ~:i~@{~w~^ ~:_~}");return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,c,a)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=
arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(l,"~w ~:i~@{~w~^ ~:_~}",t,r,u,n,p,q,m,h,k,b,c,d,a,e,f,g,f,g)}(),m);cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=u,cljs.pprint._STAR_current_level_STAR_=r}}cljs.core.next.call(null,l)&&function(){var r=cljs.pprint.cached_compile.call(null,
"~_");return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,c,a)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=
a;return b}()}(l,"~_",r,n,p,q,m,h,k,b,c,d,a,e,f,g,f,g)}().call(null)}else cljs.pprint.write_out.call(null,m),cljs.core.next.call(null,l)&&function(){var n=cljs.pprint.cached_compile.call(null,"~:_");return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,c,a)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,
0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(l,"~:_",n,m,h,k,b,c,d,a,e,f,g,f,g)}().call(null);l=cljs.core.next.call(null,l)}else break;cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=k,cljs.pprint._STAR_current_level_STAR_=h}}return null}return cljs.pprint.write_out.call(null,a)};
cljs.pprint.pprint_ns=function(a){if(cljs.core.next.call(null,a)){var b=cljs.core.seq.call(null,a),c=cljs.core.first.call(null,b),d=cljs.core.next.call(null,b),e=cljs.core.first.call(null,d),f=cljs.core.next.call(null,d),g="string"===typeof cljs.core.first.call(null,f)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.first.call(null,f),cljs.core.next.call(null,f)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,f],null),
h=cljs.core.nth.call(null,g,0,null),k=cljs.core.nth.call(null,g,1,null),l=cljs.core.map_QMARK_.call(null,cljs.core.first.call(null,k))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.first.call(null,k),cljs.core.next.call(null,k)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,k],null),m=cljs.core.nth.call(null,l,0,null),n=cljs.core.nth.call(null,l,1,null);if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,
cljs.core._STAR_out_STAR_,"#");else{var p=cljs.pprint._STAR_current_level_STAR_,q=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,"(",null,")");(function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H,P){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;
if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}("~w ~1I~@_~w",cljs.pprint.cached_compile.call(null,"~w ~1I~@_~w"),p,q,a,b,c,d,c,e,f,e,f,g,h,k,l,m,n)})().call(null,c,e);cljs.core.truth_(cljs.core.truth_(h)?h:cljs.core.truth_(m)?m:cljs.core.seq.call(null,
n))&&function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H,P){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=
a;return c}()}("~@:_",cljs.pprint.cached_compile.call(null,"~@:_"),p,q,a,b,c,d,c,e,f,e,f,g,h,k,l,m,n)}().call(null);cljs.core.truth_(h)&&cljs.pprint.cl_format.call(null,!0,'"~a"~:[~;~:@_~]',h,cljs.core.truth_(m)?m:cljs.core.seq.call(null,n));cljs.core.truth_(m)&&function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H,P){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<arguments.length){for(var c=
0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}("~w~:[~;~:@_~]",cljs.pprint.cached_compile.call(null,"~w~:[~;~:@_~]"),p,q,a,b,c,d,c,e,f,e,f,g,h,k,l,m,n)}().call(null,m,cljs.core.seq.call(null,n));for(var r=n;;){cljs.pprint.pprint_ns_reference.call(null,cljs.core.first.call(null,
r));var u=cljs.core.next.call(null,r);if(u){var t=u;cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"linear","linear",872268697));r=t}else break}cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=q,cljs.pprint._STAR_current_level_STAR_=p}}return null}return cljs.pprint.write_out.call(null,a)};
cljs.pprint.pprint_hold_first=function(){return function(a,b){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},d=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};d.cljs$core$IFn$_invoke$arity$variadic=
a;return d}()}("~:\x3c~w~^ ~@_~w~^ ~_~@{~w~^ ~_~}~:\x3e",cljs.pprint.cached_compile.call(null,"~:\x3c~w~^ ~@_~w~^ ~_~@{~w~^ ~_~}~:\x3e"))}();
cljs.pprint.single_defn=function(a,b){return cljs.core.seq.call(null,a)?(cljs.core.truth_(b)?function(){return function(a,b){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);
return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}(" ~_",cljs.pprint.cached_compile.call(null," ~_"))}().call(null):function(){return function(a,b){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=
0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}(" ~@_",cljs.pprint.cached_compile.call(null," ~@_"))}().call(null),function(){return function(a,b){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,
null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}("~{~w~^ ~_~}",cljs.pprint.cached_compile.call(null,"~{~w~^ ~_~}"))}().call(null,a)):null};
cljs.pprint.multi_defn=function(a,b){return cljs.core.seq.call(null,a)?function(){return function(a,b){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};
c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}(" ~_~{~w~^ ~_~}",cljs.pprint.cached_compile.call(null," ~_~{~w~^ ~_~}"))}().call(null,a):null};
cljs.pprint.pprint_defn=function(a){if(cljs.core.next.call(null,a)){var b=cljs.core.seq.call(null,a),c=cljs.core.first.call(null,b),d=cljs.core.next.call(null,b),e=cljs.core.first.call(null,d),f=cljs.core.next.call(null,d),g="string"===typeof cljs.core.first.call(null,f)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.first.call(null,f),cljs.core.next.call(null,f)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,f],
null),h=cljs.core.nth.call(null,g,0,null),k=cljs.core.nth.call(null,g,1,null),l=cljs.core.map_QMARK_.call(null,cljs.core.first.call(null,k))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.first.call(null,k),cljs.core.next.call(null,k)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,k],null),m=cljs.core.nth.call(null,l,0,null),n=cljs.core.nth.call(null,l,1,null);if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,
cljs.core._STAR_out_STAR_,"#");else{var p=cljs.pprint._STAR_current_level_STAR_,q=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,"(",null,")"),function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,D,L,F,K,M){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<
arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}("~w ~1I~@_~w",cljs.pprint.cached_compile.call(null,"~w ~1I~@_~w"),p,q,a,b,c,d,c,e,f,e,f,g,h,k,l,m,n)}().call(null,c,e),cljs.core.truth_(h)&&function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,D,L,F,
K,M){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}(" ~_~w",cljs.pprint.cached_compile.call(null,
" ~_~w"),p,q,a,b,c,d,c,e,f,e,f,g,h,k,l,m,n)}().call(null,h),cljs.core.truth_(m)&&function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,D,L,F,K,M){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=
function(b){b=cljs.core.seq(b);return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}(" ~_~w",cljs.pprint.cached_compile.call(null," ~_~w"),p,q,a,b,c,d,c,e,f,e,f,g,h,k,l,m,n)}().call(null,m),cljs.core.vector_QMARK_.call(null,cljs.core.first.call(null,n))?cljs.pprint.single_defn.call(null,n,cljs.core.truth_(h)?h:m):cljs.pprint.multi_defn.call(null,n,cljs.core.truth_(h)?h:m),cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=q,cljs.pprint._STAR_current_level_STAR_=
p}}return null}return cljs.pprint.pprint_simple_code_list.call(null,a)};
cljs.pprint.pprint_binding_form=function(a){if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var b=cljs.pprint._STAR_current_level_STAR_,c=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,"[",null,"]");for(var d=0;;){if(cljs.core.not.call(null,cljs.core._STAR_print_length_STAR_)||d<cljs.core._STAR_print_length_STAR_){if(cljs.core.seq.call(null,
a)){if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var e=cljs.pprint._STAR_current_level_STAR_,f=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,null,null,null),cljs.pprint.write_out.call(null,cljs.core.first.call(null,a)),cljs.core.next.call(null,a)&&(cljs.core._write.call(null,cljs.core._STAR_out_STAR_,
" "),cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"miser","miser",-556060186)),cljs.pprint.write_out.call(null,cljs.core.second.call(null,a))),cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=f,cljs.pprint._STAR_current_level_STAR_=e}}if(cljs.core.next.call(null,cljs.core.rest.call(null,a))){cljs.core._write.call(null,cljs.core._STAR_out_STAR_," ");cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"linear","linear",
872268697));var g=d+1,h=cljs.core.next.call(null,cljs.core.rest.call(null,a)),d=g;a=h;continue}}}else cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"...");break}cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=c,cljs.pprint._STAR_current_level_STAR_=b}}return null};
cljs.pprint.pprint_let=function(a){var b=cljs.core.first.call(null,a);if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var c=cljs.pprint._STAR_current_level_STAR_,d=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,"(",null,")"),cljs.core.next.call(null,a)&&cljs.core.vector_QMARK_.call(null,cljs.core.second.call(null,
a))?(function(){return function(a,b,c,d,k){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}("~w ~1I~@_",
cljs.pprint.cached_compile.call(null,"~w ~1I~@_"),c,d,b)}().call(null,b),cljs.pprint.pprint_binding_form.call(null,cljs.core.second.call(null,a)),function(){return function(a,b,c,d,k){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=
0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}(" ~_~{~w~^ ~_~}",cljs.pprint.cached_compile.call(null," ~_~{~w~^ ~_~}"),c,d,b)}().call(null,cljs.core.next.call(null,cljs.core.rest.call(null,a)))):cljs.pprint.pprint_simple_code_list.call(null,a),cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=d,cljs.pprint._STAR_current_level_STAR_=c}}return null};
cljs.pprint.pprint_if=function(){return function(a,b){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},d=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};d.cljs$core$IFn$_invoke$arity$variadic=a;return d}()}("~:\x3c~1I~w~^ ~@_~w~@{ ~_~w~}~:\x3e",
cljs.pprint.cached_compile.call(null,"~:\x3c~1I~w~^ ~@_~w~@{ ~_~w~}~:\x3e"))}();
cljs.pprint.pprint_cond=function(a){if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var b=cljs.pprint._STAR_current_level_STAR_,c=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,"(",null,")");cljs.pprint.pprint_indent.call(null,new cljs.core.Keyword(null,"block","block",664686210),1);cljs.pprint.write_out.call(null,
cljs.core.first.call(null,a));if(cljs.core.next.call(null,a)){cljs.core._write.call(null,cljs.core._STAR_out_STAR_," ");cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"linear","linear",872268697));for(var d=0,e=cljs.core.next.call(null,a);;){if(cljs.core.not.call(null,cljs.core._STAR_print_length_STAR_)||d<cljs.core._STAR_print_length_STAR_){if(e){if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var f=cljs.pprint._STAR_current_level_STAR_,
g=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,null,null,null),cljs.pprint.write_out.call(null,cljs.core.first.call(null,e)),cljs.core.next.call(null,e)&&(cljs.core._write.call(null,cljs.core._STAR_out_STAR_," "),cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"miser","miser",-556060186)),cljs.pprint.write_out.call(null,cljs.core.second.call(null,
e))),cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=g,cljs.pprint._STAR_current_level_STAR_=f}}if(cljs.core.next.call(null,cljs.core.rest.call(null,e))){cljs.core._write.call(null,cljs.core._STAR_out_STAR_," ");cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"linear","linear",872268697));a=d+1;var h=cljs.core.next.call(null,cljs.core.rest.call(null,e)),d=a,e=h;continue}}}else cljs.core._write.call(null,cljs.core._STAR_out_STAR_,
"...");break}}cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=c,cljs.pprint._STAR_current_level_STAR_=b}}return null};
cljs.pprint.pprint_condp=function(a){if(3<cljs.core.count.call(null,a)){if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var b=cljs.pprint._STAR_current_level_STAR_,c=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,"(",null,")");cljs.pprint.pprint_indent.call(null,new cljs.core.Keyword(null,
"block","block",664686210),1);cljs.core.apply.call(null,function(){return function(a,b,c,d){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=
a;return c}()}("~w ~@_~w ~@_~w ~_",cljs.pprint.cached_compile.call(null,"~w ~@_~w ~@_~w ~_"),b,c)}(),a);for(var d=0,e=cljs.core.seq.call(null,cljs.core.drop.call(null,3,a));;){if(cljs.core.not.call(null,cljs.core._STAR_print_length_STAR_)||d<cljs.core._STAR_print_length_STAR_){if(e){if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var f=cljs.pprint._STAR_current_level_STAR_,g=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=
1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,null,null,null),cljs.pprint.write_out.call(null,cljs.core.first.call(null,e)),cljs.core.next.call(null,e)&&(cljs.core._write.call(null,cljs.core._STAR_out_STAR_," "),cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"miser","miser",-556060186)),cljs.pprint.write_out.call(null,cljs.core.second.call(null,e))),cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=
g,cljs.pprint._STAR_current_level_STAR_=f}}if(cljs.core.next.call(null,cljs.core.rest.call(null,e))){cljs.core._write.call(null,cljs.core._STAR_out_STAR_," ");cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"linear","linear",872268697));a=d+1;var h=cljs.core.next.call(null,cljs.core.rest.call(null,e)),d=a,e=h;continue}}}else cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"...");break}cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=
c,cljs.pprint._STAR_current_level_STAR_=b}}return null}return cljs.pprint.pprint_simple_code_list.call(null,a)};cljs.pprint._STAR_symbol_map_STAR_=cljs.core.PersistentArrayMap.EMPTY;
cljs.pprint.pprint_anon_func=function(a){var b=cljs.core.second.call(null,a),c=cljs.core.first.call(null,cljs.core.rest.call(null,cljs.core.rest.call(null,a)));if(cljs.core.vector_QMARK_.call(null,b)){var d=cljs.pprint._STAR_symbol_map_STAR_;cljs.pprint._STAR_symbol_map_STAR_=cljs.core._EQ_.call(null,1,cljs.core.count.call(null,b))?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.first.call(null,b),"%"]):cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,
function(a,b,c){return function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("%"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("")],null)}}(d,b,c),b,cljs.core.range.call(null,1,cljs.core.count.call(null,b)+1)));try{return function(){return function(a,b,c,d,k){return function(){var a=function(a){a=cljs.pprint.init_navigator.call(null,a);return cljs.pprint.execute_format.call(null,b,a)},c=function(b){var c=
null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}()}("~\x3c#(~;~@{~w~^ ~_~}~;)~:\x3e",cljs.pprint.cached_compile.call(null,"~\x3c#(~;~@{~w~^ ~_~}~;)~:\x3e"),d,b,c)}().call(null,c)}finally{cljs.pprint._STAR_symbol_map_STAR_=d}}else return cljs.pprint.pprint_simple_code_list.call(null,
a)};
cljs.pprint.pprint_simple_code_list=function(a){if(cljs.core.truth_(cljs.pprint.level_exceeded.call(null)))cljs.core._write.call(null,cljs.core._STAR_out_STAR_,"#");else{var b=cljs.pprint._STAR_current_level_STAR_,c=cljs.pprint._STAR_current_length_STAR_;cljs.pprint._STAR_current_level_STAR_+=1;cljs.pprint._STAR_current_length_STAR_=0;try{cljs.pprint.start_block.call(null,cljs.core._STAR_out_STAR_,"(",null,")");cljs.pprint.pprint_indent.call(null,new cljs.core.Keyword(null,"block","block",664686210),1);
for(var d=0,e=cljs.core.seq.call(null,a);;){if(cljs.core.not.call(null,cljs.core._STAR_print_length_STAR_)||d<cljs.core._STAR_print_length_STAR_){if(e&&(cljs.pprint.write_out.call(null,cljs.core.first.call(null,e)),cljs.core.next.call(null,e))){cljs.core._write.call(null,cljs.core._STAR_out_STAR_," ");cljs.pprint.pprint_newline.call(null,new cljs.core.Keyword(null,"linear","linear",872268697));a=d+1;var f=cljs.core.next.call(null,e),d=a,e=f;continue}}else cljs.core._write.call(null,cljs.core._STAR_out_STAR_,
"...");break}cljs.pprint.end_block.call(null,cljs.core._STAR_out_STAR_)}finally{cljs.pprint._STAR_current_length_STAR_=c,cljs.pprint._STAR_current_level_STAR_=b}}return null};
cljs.pprint.two_forms=function(a){return cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.mapcat.call(null,cljs.core.identity,function(){return function c(a){return new cljs.core.LazySeq(null,function(){for(;;){var d=cljs.core.seq.call(null,a);if(d){if(cljs.core.chunked_seq_QMARK_.call(null,d)){var f=cljs.core.chunk_first.call(null,d),g=cljs.core.count.call(null,f),h=cljs.core.chunk_buffer.call(null,g);a:for(var k=0;;)if(k<g){var l=cljs.core._nth.call(null,f,k);cljs.core.chunk_append.call(null,
h,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[l,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.symbol.call(null,cljs.core.name.call(null,cljs.core.first.call(null,l))),cljs.core.second.call(null,l)],null)],null));k+=1}else{f=!0;break a}return f?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),c.call(null,cljs.core.chunk_rest.call(null,d))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}h=cljs.core.first.call(null,
d);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.symbol.call(null,cljs.core.name.call(null,cljs.core.first.call(null,h))),cljs.core.second.call(null,h)],null)],null),c.call(null,cljs.core.rest.call(null,d)))}return null}},null,null)}.call(null,a)}()))};
cljs.pprint.add_core_ns=function(a){return cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,function(a){return function(b){var c=cljs.core.nth.call(null,b,0,null),e=cljs.core.nth.call(null,b,1,null);return cljs.core.not.call(null,function(){var a=cljs.core.namespace.call(null,c);return cljs.core.truth_(a)?a:cljs.core.special_symbol_QMARK_.call(null,c)}())?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.symbol.call(null,a,
cljs.core.name.call(null,c)),e],null):b}}("clojure.core"),a))};
cljs.pprint._STAR_code_table_STAR_=cljs.pprint.two_forms.call(null,cljs.pprint.add_core_ns.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Symbol(null,".",".",1975675962,null),new cljs.core.Symbol(null,"fn*","fn*",-752876845,null),new cljs.core.Symbol(null,"when-first","when-first",821699168,null),new cljs.core.Symbol(null,"if","if",1181717262,null),new cljs.core.Symbol(null,"condp","condp",1054325175,null),new cljs.core.Symbol(null,"..","..",-300507420,null),new cljs.core.Symbol(null,
"defmacro","defmacro",2054157304,null),new cljs.core.Symbol(null,"defn","defn",-126010802,null),new cljs.core.Symbol(null,"loop","loop",1244978678,null),new cljs.core.Symbol(null,"struct","struct",325972931,null),new cljs.core.Symbol(null,"doseq","doseq",221164135,null),new cljs.core.Symbol(null,"if-not","if-not",-265415609,null),new cljs.core.Symbol(null,"when-not","when-not",-1223136340,null),new cljs.core.Symbol(null,"def","def",597100991,null),new cljs.core.Symbol(null,"when","when",1064114221,
null),new cljs.core.Symbol(null,"with-open","with-open",172119667,null),new cljs.core.Symbol(null,"with-local-vars","with-local-vars",837642072,null),new cljs.core.Symbol(null,"defonce","defonce",-1681484013,null),new cljs.core.Symbol(null,"when-let","when-let",-1383043480,null),new cljs.core.Symbol(null,"ns","ns",2082130287,null),new cljs.core.Symbol(null,"dotimes","dotimes",-818708397,null),new cljs.core.Symbol(null,"cond","cond",1606708055,null),new cljs.core.Symbol(null,"let","let",358118826,
null),new cljs.core.Symbol(null,"fn","fn",465265323,null),new cljs.core.Symbol(null,"defn-","defn-",1097765044,null),new cljs.core.Symbol(null,"locking","locking",1542862874,null),new cljs.core.Symbol(null,"-\x3e","-\x3e",-2139605430,null),new cljs.core.Symbol(null,"if-let","if-let",1803593690,null),new cljs.core.Symbol(null,"binding","binding",-2114503176,null),new cljs.core.Symbol(null,"struct-map","struct-map",-1387540878,null)],[cljs.pprint.pprint_hold_first,cljs.pprint.pprint_anon_func,cljs.pprint.pprint_let,
cljs.pprint.pprint_if,cljs.pprint.pprint_condp,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_defn,cljs.pprint.pprint_defn,cljs.pprint.pprint_let,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_let,cljs.pprint.pprint_if,cljs.pprint.pprint_if,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_if,cljs.pprint.pprint_let,cljs.pprint.pprint_let,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_let,cljs.pprint.pprint_ns,cljs.pprint.pprint_let,cljs.pprint.pprint_cond,cljs.pprint.pprint_let,cljs.pprint.pprint_defn,
cljs.pprint.pprint_defn,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_let,cljs.pprint.pprint_let,cljs.pprint.pprint_hold_first])));cljs.pprint.pprint_code_list=function(a){if(cljs.core.not.call(null,cljs.pprint.pprint_reader_macro.call(null,a))){var b=cljs.pprint._STAR_code_table_STAR_.call(null,cljs.core.first.call(null,a));return cljs.core.truth_(b)?b.call(null,a):cljs.pprint.pprint_simple_code_list.call(null,a)}return null};
cljs.pprint.pprint_code_symbol=function(a){var b=a.call(null,cljs.pprint._STAR_symbol_map_STAR_);return cljs.core.truth_(b)?cljs.pprint.print.call(null,b):cljs.core.truth_(cljs.pprint._STAR_print_suppress_namespaces_STAR_)?cljs.pprint.print.call(null,cljs.core.name.call(null,a)):cljs.pprint.pr.call(null,a)};
"undefined"===typeof cljs.pprint.code_dispatch&&(cljs.pprint.code_dispatch=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));
return new cljs.core.MultiFn(cljs.core.symbol.call(null,"cljs.pprint","code-dispatch"),cljs.pprint.type_dispatcher,new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}());cljs.pprint.use_method.call(null,cljs.pprint.code_dispatch,new cljs.core.Keyword(null,"list","list",765357683),cljs.pprint.pprint_code_list);cljs.pprint.use_method.call(null,cljs.pprint.code_dispatch,new cljs.core.Keyword(null,"symbol","symbol",-1038572696),cljs.pprint.pprint_code_symbol);
cljs.pprint.use_method.call(null,cljs.pprint.code_dispatch,new cljs.core.Keyword(null,"vector","vector",1902966158),cljs.pprint.pprint_vector);cljs.pprint.use_method.call(null,cljs.pprint.code_dispatch,new cljs.core.Keyword(null,"map","map",1371690461),cljs.pprint.pprint_map);cljs.pprint.use_method.call(null,cljs.pprint.code_dispatch,new cljs.core.Keyword(null,"set","set",304602554),cljs.pprint.pprint_set);
cljs.pprint.use_method.call(null,cljs.pprint.code_dispatch,new cljs.core.Keyword(null,"queue","queue",1455835879),cljs.pprint.pprint_pqueue);cljs.pprint.use_method.call(null,cljs.pprint.code_dispatch,new cljs.core.Keyword(null,"deref","deref",-145586795),cljs.pprint.pprint_ideref);cljs.pprint.use_method.call(null,cljs.pprint.code_dispatch,null,cljs.pprint.pr);cljs.pprint.use_method.call(null,cljs.pprint.code_dispatch,new cljs.core.Keyword(null,"default","default",-1987822328),cljs.pprint.pprint_simple_default);
cljs.pprint.set_pprint_dispatch.call(null,cljs.pprint.simple_dispatch);cljs.pprint.add_padding=function(a,b){var c=a-cljs.core.count.call(null,b);return cljs.core.apply.call(null,cljs.core.str,clojure.string.join.call(null,cljs.core.repeat.call(null,0>c?0:c," ")),b)};
cljs.pprint.print_table=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 1:return cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.core._STAR_print_newline_STAR_;try{if(cljs.core.seq.call(null,b)){var d=cljs.core.map.call(null,function(a){return function(c){return cljs.core.apply.call(null,cljs.core.max,cljs.core.count.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)),cljs.core.map.call(null,function(a){return function(a){return cljs.core.count.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,a,c)))}}(a),
b))}}(c),a),e=cljs.core.map.call(null,function(a,b){return function(a){return cljs.core.apply.call(null,cljs.core.str,cljs.core.repeat.call(null,a,"-"))}}(d,c),d),f=function(b,c,d){return function(e,f,g,h){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.call(null,cljs.core.str,cljs.core.interpose.call(null,f,function(){var e=function(a,b,c){return function G(d){return new cljs.core.LazySeq(null,function(a,b,c){return function(){for(;;){var a=
cljs.core.seq.call(null,d);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),e=cljs.core.chunk_buffer.call(null,c);a:for(var f=0;;)if(f<c){var g=cljs.core._nth.call(null,b,f),h=cljs.core.nth.call(null,g,0,null),g=cljs.core.nth.call(null,g,1,null);cljs.core.chunk_append.call(null,e,cljs.pprint.add_padding.call(null,g,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(h)));f+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,
cljs.core.chunk.call(null,e),G.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),null)}b=cljs.core.first.call(null,a);e=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return cljs.core.cons.call(null,cljs.pprint.add_padding.call(null,b,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)),G.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c),null,null)}}(b,c,d);return e.call(null,cljs.core.map.call(null,cljs.core.vector,
cljs.core.map.call(null,function(a,b,c,d){return function(a){return cljs.core.get.call(null,h,a)}}(e,b,c,d),a),b))}()))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(g)].join("")}}(d,e,c);cljs.core.println.call(null);cljs.core.println.call(null,f.call(null,"| "," | "," |",cljs.core.zipmap.call(null,a,a)));cljs.core.println.call(null,f.call(null,"|-","-+-","-|",cljs.core.zipmap.call(null,a,e)));for(var g=cljs.core.seq.call(null,b),d=null,h=e=0;;)if(h<e){var k=cljs.core._nth.call(null,d,h);cljs.core.println.call(null,
f.call(null,"| "," | "," |",k));h+=1}else{var l=cljs.core.seq.call(null,g);if(l){var m=l;if(cljs.core.chunked_seq_QMARK_.call(null,m))var n=cljs.core.chunk_first.call(null,m),p=cljs.core.chunk_rest.call(null,m),m=n,q=cljs.core.count.call(null,n),g=p,d=m,e=q;else k=cljs.core.first.call(null,m),cljs.core.println.call(null,f.call(null,"| "," | "," |",k)),g=cljs.core.next.call(null,m),d=null,e=0;h=0}else return null}}else return null}finally{cljs.core._STAR_print_newline_STAR_=c}};
cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.pprint.print_table.call(null,cljs.core.keys.call(null,cljs.core.first.call(null,a)),a)};cljs.pprint.print_table.cljs$lang$maxFixedArity=2;cljs.test={};cljs.test.empty_env=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.test.empty_env.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.test.empty_env.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.test.empty_env.cljs$core$IFn$_invoke$arity$0=function(){return cljs.test.empty_env.call(null,new cljs.core.Keyword("cljs.test","default","cljs.test/default",-1581405322))};
cljs.test.empty_env.cljs$core$IFn$_invoke$arity$1=function(a){var b=new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"report-counters","report-counters",-1702609242),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"test","test",577538877),0,new cljs.core.Keyword(null,"pass","pass",1574159993),0,new cljs.core.Keyword(null,"fail","fail",1706214930),0,new cljs.core.Keyword(null,"error","error",-978969032),0],null),new cljs.core.Keyword(null,"testing-vars","testing-vars",
-2114769150),cljs.core.List.EMPTY,new cljs.core.Keyword(null,"testing-contexts","testing-contexts",-1485646523),cljs.core.List.EMPTY,new cljs.core.Keyword(null,"formatter","formatter",-483008823),cljs.core.pr_str,new cljs.core.Keyword(null,"reporter","reporter",-805360621),a],null);return cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.test","pprint","cljs.test/pprint",1627393641),a)?cljs.core.assoc.call(null,b,new cljs.core.Keyword(null,"reporter","reporter",-805360621),new cljs.core.Keyword("cljs.test",
"default","cljs.test/default",-1581405322),new cljs.core.Keyword(null,"formatter","formatter",-483008823),cljs.pprint.pprint):b};cljs.test.empty_env.cljs$lang$maxFixedArity=1;cljs.test._STAR_current_env_STAR_=null;cljs.test.get_current_env=function(){var a=cljs.test._STAR_current_env_STAR_;return cljs.core.truth_(a)?a:cljs.test.empty_env.call(null)};
cljs.test.update_current_env_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return cljs.test.update_current_env_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
cljs.test.update_current_env_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.test._STAR_current_env_STAR_=cljs.core.apply.call(null,cljs.core.update_in,cljs.test.get_current_env.call(null),a,b,c)};cljs.test.update_current_env_BANG_.cljs$lang$maxFixedArity=2;
cljs.test.update_current_env_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return cljs.test.update_current_env_BANG_.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};cljs.test.set_env_BANG_=function(a){return cljs.test._STAR_current_env_STAR_=a};cljs.test.clear_env_BANG_=function(){return cljs.test._STAR_current_env_STAR_=null};
cljs.test.get_and_clear_env_BANG_=function(){var a=cljs.test.get_current_env.call(null);cljs.test.clear_env_BANG_.call(null);return a};
cljs.test.testing_vars_str=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"file","file",-1269645878)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"line","line",212345235)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"column","column",2078222095));return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.reverse.call(null,
cljs.core.map.call(null,function(a,b,c,d,e){return function(a){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,a))}}(a,b,c,d,e),(new cljs.core.Keyword(null,"testing-vars","testing-vars",-2114769150)).cljs$core$IFn$_invoke$arity$1(cljs.test.get_current_env.call(null))))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" ("),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),cljs.core.str.cljs$core$IFn$_invoke$arity$1(":"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(e)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(":"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)].join(""):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(")")].join("")};cljs.test.testing_contexts_str=function(){return cljs.core.apply.call(null,cljs.core.str,cljs.core.interpose.call(null," ",cljs.core.reverse.call(null,(new cljs.core.Keyword(null,"testing-contexts","testing-contexts",-1485646523)).cljs$core$IFn$_invoke$arity$1(cljs.test.get_current_env.call(null)))))};
cljs.test.inc_report_counter_BANG_=function(a){return cljs.core.truth_((new cljs.core.Keyword(null,"report-counters","report-counters",-1702609242)).cljs$core$IFn$_invoke$arity$1(cljs.test.get_current_env.call(null)))?cljs.test.update_current_env_BANG_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"report-counters","report-counters",-1702609242),a],null),cljs.core.fnil.call(null,cljs.core.inc,0)):null};
"undefined"===typeof cljs.test.report&&(cljs.test.report=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));return new cljs.core.MultiFn(cljs.core.symbol.call(null,
"cljs.test","report"),function(a,b,c,d,e){return function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[(new cljs.core.Keyword(null,"reporter","reporter",-805360621)).cljs$core$IFn$_invoke$arity$1(cljs.test.get_current_env.call(null)),(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(a)],null)}}(a,b,c,d,e),new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}());
cljs.core._add_method.call(null,cljs.test.report,new cljs.core.Keyword(null,"default","default",-1987822328),function(a){return null});
cljs.core._add_method.call(null,cljs.test.report,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("cljs.test","default","cljs.test/default",-1581405322),new cljs.core.Keyword(null,"pass","pass",1574159993)],null),function(a){return cljs.test.inc_report_counter_BANG_.call(null,new cljs.core.Keyword(null,"pass","pass",1574159993))});
cljs.test.print_comparison=function(a){var b=(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(cljs.test.get_current_env.call(null));b=cljs.core.truth_(b)?b:cljs.core.pr_str;cljs.core.println.call(null,"expected:",b.call(null,(new cljs.core.Keyword(null,"expected","expected",1583670997)).cljs$core$IFn$_invoke$arity$1(a)));return cljs.core.println.call(null,"  actual:",b.call(null,(new cljs.core.Keyword(null,"actual","actual",107306363)).cljs$core$IFn$_invoke$arity$1(a)))};
cljs.core._add_method.call(null,cljs.test.report,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("cljs.test","default","cljs.test/default",-1581405322),new cljs.core.Keyword(null,"fail","fail",1706214930)],null),function(a){cljs.test.inc_report_counter_BANG_.call(null,new cljs.core.Keyword(null,"fail","fail",1706214930));cljs.core.println.call(null,"\nFAIL in",cljs.test.testing_vars_str.call(null,a));cljs.core.seq.call(null,(new cljs.core.Keyword(null,
"testing-contexts","testing-contexts",-1485646523)).cljs$core$IFn$_invoke$arity$1(cljs.test.get_current_env.call(null)))&&cljs.core.println.call(null,cljs.test.testing_contexts_str.call(null));var b=(new cljs.core.Keyword(null,"message","message",-406056002)).cljs$core$IFn$_invoke$arity$1(a);cljs.core.truth_(b)&&cljs.core.println.call(null,b);return cljs.test.print_comparison.call(null,a)});
cljs.core._add_method.call(null,cljs.test.report,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("cljs.test","default","cljs.test/default",-1581405322),new cljs.core.Keyword(null,"error","error",-978969032)],null),function(a){cljs.test.inc_report_counter_BANG_.call(null,new cljs.core.Keyword(null,"error","error",-978969032));cljs.core.println.call(null,"\nERROR in",cljs.test.testing_vars_str.call(null,a));cljs.core.seq.call(null,(new cljs.core.Keyword(null,
"testing-contexts","testing-contexts",-1485646523)).cljs$core$IFn$_invoke$arity$1(cljs.test.get_current_env.call(null)))&&cljs.core.println.call(null,cljs.test.testing_contexts_str.call(null));var b=(new cljs.core.Keyword(null,"message","message",-406056002)).cljs$core$IFn$_invoke$arity$1(a);cljs.core.truth_(b)&&cljs.core.println.call(null,b);return cljs.test.print_comparison.call(null,a)});
cljs.core._add_method.call(null,cljs.test.report,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("cljs.test","default","cljs.test/default",-1581405322),new cljs.core.Keyword(null,"summary","summary",380847952)],null),function(a){cljs.core.println.call(null,"\nRan",(new cljs.core.Keyword(null,"test","test",577538877)).cljs$core$IFn$_invoke$arity$1(a),"tests containing",(new cljs.core.Keyword(null,"pass","pass",1574159993)).cljs$core$IFn$_invoke$arity$1(a)+
(new cljs.core.Keyword(null,"fail","fail",1706214930)).cljs$core$IFn$_invoke$arity$1(a)+(new cljs.core.Keyword(null,"error","error",-978969032)).cljs$core$IFn$_invoke$arity$1(a),"assertions.");return cljs.core.println.call(null,(new cljs.core.Keyword(null,"fail","fail",1706214930)).cljs$core$IFn$_invoke$arity$1(a),"failures,",(new cljs.core.Keyword(null,"error","error",-978969032)).cljs$core$IFn$_invoke$arity$1(a),"errors.")});
cljs.core._add_method.call(null,cljs.test.report,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("cljs.test","default","cljs.test/default",-1581405322),new cljs.core.Keyword(null,"begin-test-ns","begin-test-ns",-1701237033)],null),function(a){return cljs.core.println.call(null,"\nTesting",cljs.core.name.call(null,(new cljs.core.Keyword(null,"ns","ns",441598760)).cljs$core$IFn$_invoke$arity$1(a)))});
cljs.core._add_method.call(null,cljs.test.report,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("cljs.test","default","cljs.test/default",-1581405322),new cljs.core.Keyword(null,"end-test-ns","end-test-ns",1620675645)],null),function(a){return null});
cljs.core._add_method.call(null,cljs.test.report,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("cljs.test","default","cljs.test/default",-1581405322),new cljs.core.Keyword(null,"begin-test-var","begin-test-var",-908571100)],null),function(a){return null});
cljs.core._add_method.call(null,cljs.test.report,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("cljs.test","default","cljs.test/default",-1581405322),new cljs.core.Keyword(null,"end-test-var","end-test-var",984198545)],null),function(a){return null});
cljs.core._add_method.call(null,cljs.test.report,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("cljs.test","default","cljs.test/default",-1581405322),new cljs.core.Keyword(null,"end-run-tests","end-run-tests",267300563)],null),function(a){return null});
cljs.core._add_method.call(null,cljs.test.report,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("cljs.test","default","cljs.test/default",-1581405322),new cljs.core.Keyword(null,"end-test-all-vars","end-test-all-vars",548827253)],null),function(a){return null});
cljs.core._add_method.call(null,cljs.test.report,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("cljs.test","default","cljs.test/default",-1581405322),new cljs.core.Keyword(null,"end-test-vars","end-test-vars",-1394419713)],null),function(a){return null});
cljs.test.js_line_and_column=function(a){a=a.split(":");var b=cljs.core.count.call(null,a);return 1<b?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[parseInt(cljs.core.nth.call(null,a,b-2),10),parseInt(cljs.core.nth.call(null,a,b-1),10)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[NaN,NaN],null)};cljs.test.js_filename=function(a){return cljs.core.first.call(null,cljs.core.last.call(null,a.split("/out/")).split(":"))};
cljs.test.mapped_line_and_column=function(a,b,c){var d=new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,c],null),e=(new cljs.core.Keyword(null,"source-map","source-map",1706252311)).cljs$core$IFn$_invoke$arity$1(cljs.test.get_current_env.call(null));if(cljs.core.truth_(e)){var f=cljs.core.get_in.call(null,e,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b-1],null));return cljs.core.truth_(f)?cljs.core.vec.call(null,cljs.core.map.call(null,
cljs.core.first.call(null,function(){var a=cljs.core.get.call(null,f,c-1);return cljs.core.truth_(a)?a:cljs.core.second.call(null,cljs.core.first.call(null,f))}()),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"source","source",-433931539),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"col","col",-1959363084)],null))):d}return d};
cljs.test.file_and_line=function(a,b){var c="string"===typeof a.stack;if(c){c=a.stack;c=null==c?null:clojure.string.split_lines.call(null,c);c=null==c?null:cljs.core.get.call(null,c,b);var d=null==c?null:clojure.string.trim.call(null,c)}else d=c;if(cljs.core.truth_(d)){var c=cljs.test.js_filename.call(null,d),e=cljs.test.js_line_and_column.call(null,d);d=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);e=cljs.test.mapped_line_and_column.call(null,c,d,e);c=cljs.core.nth.call(null,
e,0,null);d=cljs.core.nth.call(null,e,1,null);e=cljs.core.nth.call(null,e,2,null);return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"file","file",-1269645878),c,new cljs.core.Keyword(null,"line","line",212345235),d,new cljs.core.Keyword(null,"column","column",2078222095),e],null)}return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"file","file",-1269645878),a.fileName,new cljs.core.Keyword(null,"line","line",212345235),a.lineNumber],null)};
cljs.test.do_report=function(a){var b=function(){var b=(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(a);switch(b instanceof cljs.core.Keyword?b.fqn:null){case "fail":return cljs.core.merge.call(null,cljs.test.file_and_line.call(null,Error(),4),a);case "error":return cljs.core.merge.call(null,cljs.test.file_and_line.call(null,(new cljs.core.Keyword(null,"actual","actual",107306363)).cljs$core$IFn$_invoke$arity$1(a),0),a);default:return a}}();return cljs.test.report.call(null,
b)};cljs.test.IAsyncTest=function(){};cljs.test.async_QMARK_=function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.cljs$test$IAsyncTest$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,cljs.test.IAsyncTest,a):cljs.core.native_satisfies_QMARK_.call(null,cljs.test.IAsyncTest,a)};
cljs.test.run_block=function(a){for(;;){var b=cljs.core.seq.call(null,a);if(b){var c=b,d=cljs.core.first.call(null,c),e=d.call(null);if(cljs.core.truth_(cljs.test.async_QMARK_.call(null,e)))return e.call(null,function(){var f=new cljs.core.Delay(function(a,b,c,d,e){return function(){return cljs.test.run_block.call(null,cljs.core.rest.call(null,a))}}(a,e,d,c,b),null);return function(a,b,c,d,e,f){return function(){return cljs.core.realized_QMARK_.call(null,b)?cljs.core.println.call(null,"WARNING: Async test called done more than one time."):
cljs.core.deref.call(null,b)}}(a,f,e,d,c,b)}());a=function(){var b=cljs.core.rest.call(null,a);return cljs.core.truth_((new cljs.core.Keyword("cljs.test","block?","cljs.test/block?",686379965)).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,e)))?cljs.core.concat.call(null,e,b):b}()}else return null}};cljs.test.block=function(a){return null==a?null:cljs.core.vary_meta.call(null,a,cljs.core.assoc,new cljs.core.Keyword("cljs.test","block?","cljs.test/block?",686379965),!0)};
cljs.test.test_var_block_STAR_=function(a,b){if(!(a instanceof cljs.core.Var))throw Error("Assert failed: (instance? Var v)");return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[function(){cljs.test.update_current_env_BANG_.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"testing-vars","testing-vars",-2114769150)],null),cljs.core.conj,a);cljs.test.update_current_env_BANG_.call(null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"report-counters","report-counters",-1702609242),new cljs.core.Keyword(null,"test","test",577538877)],null),cljs.core.inc);cljs.test.do_report.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"begin-test-var","begin-test-var",-908571100),new cljs.core.Keyword(null,"var","var",-769682797),a],null));try{return b.call(null)}catch(d){var c=d;switch(c instanceof
cljs.core.Keyword?c.fqn:null){case "cljs.test/async-disabled":throw"Async tests require fixtures to be specified as maps.  Testing aborted.";default:return cljs.test.do_report.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"error","error",-978969032),new cljs.core.Keyword(null,"message","message",-406056002),"Uncaught exception, not in assertion.",new cljs.core.Keyword(null,"expected","expected",1583670997),null,new cljs.core.Keyword(null,
"actual","actual",107306363),c],null))}}},function(){cljs.test.do_report.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"end-test-var","end-test-var",984198545),new cljs.core.Keyword(null,"var","var",-769682797),a],null));return cljs.test.update_current_env_BANG_.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"testing-vars","testing-vars",-2114769150)],
null),cljs.core.rest)}],null)};cljs.test.test_var_block=function(a){var b=(new cljs.core.Keyword(null,"test","test",577538877)).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,a));return cljs.core.truth_(b)?cljs.test.test_var_block_STAR_.call(null,a,b):null};cljs.test.test_var=function(a){return cljs.test.run_block.call(null,cljs.test.test_var_block.call(null,a))};cljs.test.default_fixture=function(a){return a.call(null)};
cljs.test.compose_fixtures=function(a,b){return function(c){return a.call(null,function(){return b.call(null,c)})}};cljs.test.join_fixtures=function(a){return cljs.core.reduce.call(null,cljs.test.compose_fixtures,cljs.test.default_fixture,a)};
cljs.test.wrap_map_fixtures=function(a,b){return cljs.core.concat.call(null,cljs.core.keep.call(null,new cljs.core.Keyword(null,"before","before",-1633692388),a),b,cljs.core.reverse.call(null,cljs.core.keep.call(null,new cljs.core.Keyword(null,"after","after",594996914),a)))};
cljs.test.execution_strategy=function(a,b){var c=function(a){return cljs.core.empty_QMARK_.call(null,a)?new cljs.core.Keyword(null,"none","none",1333468478):cljs.core.every_QMARK_.call(null,cljs.core.map_QMARK_,a)?new cljs.core.Keyword(null,"map","map",1371690461):cljs.core.every_QMARK_.call(null,cljs.core.fn_QMARK_,a)?new cljs.core.Keyword(null,"fn","fn",-1175266204):null},d=function(){return cljs.core.distinct.call(null,cljs.core.remove.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"none","none",1333468478),null],null),null),cljs.core.map.call(null,c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null))))}.call(null),e=cljs.core.nth.call(null,d,0,null);if(!cljs.core.not_any_QMARK_.call(null,cljs.core.nil_QMARK_,d))throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Assert failed: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1("Fixtures may not be of mixed types"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("\n"),
cljs.core.str.cljs$core$IFn$_invoke$arity$1("(not-any? nil? types)")].join(""));if(!(2>cljs.core.count.call(null,d)))throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Assert failed: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1("fixtures specified in :once and :each must be of the same type"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("\n"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("(\x3e 2 (count types))")].join(""));return(new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"map","map",1371690461),new cljs.core.Keyword(null,"async","async",1050769601),new cljs.core.Keyword(null,"fn","fn",-1175266204),new cljs.core.Keyword(null,"sync","sync",-624148946)],null)).call(null,e,new cljs.core.Keyword(null,"async","async",1050769601))};cljs.test.disable_async=function(a){return function(){var b=a.call(null);if(cljs.core.truth_(cljs.test.async_QMARK_.call(null,b)))throw new cljs.core.Keyword("cljs.test","async-disabled","cljs.test/async-disabled",-772095377);return b}};
cljs.test.test_vars_block=function(a){return cljs.core.map.call(null,function(a){var b=cljs.core.nth.call(null,a,0,null),d=cljs.core.nth.call(null,a,1,null);return function(a,b,c){return function(){return cljs.test.block.call(null,function(){var d=cljs.test.get_current_env.call(null),e=cljs.core.get_in.call(null,d,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"once-fixtures","once-fixtures",1253947167),b],null)),f=cljs.core.get_in.call(null,
d,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"each-fixtures","each-fixtures",802243977),b],null)),g=cljs.test.execution_strategy.call(null,e,f),n=g instanceof cljs.core.Keyword?g.fqn:null;switch(n){case "async":return cljs.test.wrap_map_fixtures.call(null,e,cljs.core.mapcat.call(null,cljs.core.comp.call(null,cljs.core.partial.call(null,cljs.test.wrap_map_fixtures,f),cljs.test.test_var_block),cljs.core.filter.call(null,cljs.core.comp.call(null,
new cljs.core.Keyword(null,"test","test",577538877),cljs.core.meta),c)));case "sync":var p=cljs.test.join_fixtures.call(null,f);return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a,b,c,d,e,f,g,h,k){return function(){return cljs.test.join_fixtures.call(null,e).call(null,function(a,b,c,d,e,f,g,h,k){return function(){for(var l,m=cljs.core.seq.call(null,k),n=null,p=0,q=0;;)if(q<p){l=cljs.core._nth.call(null,n,q);var r=(new cljs.core.Keyword(null,"test","test",
577538877)).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,l));cljs.core.truth_(r)&&a.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(){return cljs.test.run_block.call(null,cljs.test.test_var_block_STAR_.call(null,g,cljs.test.disable_async.call(null,e)))}}(m,n,p,q,r,r,l,a,b,c,d,e,f,g,h,k));q+=1}else{var u=cljs.core.seq.call(null,m);if(u){r=u;if(cljs.core.chunked_seq_QMARK_.call(null,r))m=cljs.core.chunk_first.call(null,r),p=cljs.core.chunk_rest.call(null,r),n=m,l=cljs.core.count.call(null,
m),m=p,p=l;else{l=cljs.core.first.call(null,r);var t=(new cljs.core.Keyword(null,"test","test",577538877)).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,l));cljs.core.truth_(t)&&a.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(){return cljs.test.run_block.call(null,cljs.test.test_var_block_STAR_.call(null,g,cljs.test.disable_async.call(null,e)))}}(m,n,p,q,t,t,l,r,u,a,b,c,d,e,f,g,h,k));m=cljs.core.next.call(null,r);n=null;p=0}q=0}else return null}}}(a,b,c,d,e,f,g,
h,k))}}(p,g,n,d,e,f,a,b,c)],null);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(n)].join(""));}}())}}(a,b,d)},cljs.core.group_by.call(null,cljs.core.comp.call(null,new cljs.core.Keyword(null,"ns","ns",441598760),cljs.core.meta),a))};
cljs.test.test_vars=function(a){return cljs.test.run_block.call(null,cljs.core.concat.call(null,cljs.test.test_vars_block.call(null,a),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[function(){return cljs.test.report.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"end-test-vars","end-test-vars",-1394419713),new cljs.core.Keyword(null,"vars","vars",-2046957217),a],null))}],null)))};
cljs.test.successful_QMARK_=function(a){return 0===(new cljs.core.Keyword(null,"fail","fail",1706214930)).cljs$core$IFn$_invoke$arity$2(a,0)&&0===(new cljs.core.Keyword(null,"error","error",-978969032)).cljs$core$IFn$_invoke$arity$2(a,0)};goog.string.format=function(a,b){var c=Array.prototype.slice.call(arguments),d=c.shift();if("undefined"==typeof d)throw Error("[goog.string.format] Template required");return d.replace(/%([0\-\ \+]*)(\d+)?(\.(\d+))?([%sfdiu])/g,function(a,b,d,h,k,l,m,n){if("%"==l)return"%";var e=c.shift();if("undefined"==typeof e)throw Error("[goog.string.format] Not enough arguments");arguments[0]=e;return goog.string.format.demuxes_[l].apply(null,arguments)})};goog.string.format.demuxes_={};
goog.string.format.demuxes_.s=function(a,b,c,d,e,f,g,h){return isNaN(c)||""==c||a.length>=Number(c)?a:a=-1<b.indexOf("-",0)?a+goog.string.repeat(" ",Number(c)-a.length):goog.string.repeat(" ",Number(c)-a.length)+a};
goog.string.format.demuxes_.f=function(a,b,c,d,e,f,g,h){d=a.toString();isNaN(e)||""==e||(d=parseFloat(a).toFixed(e));f=0>Number(a)?"-":0<=b.indexOf("+")?"+":0<=b.indexOf(" ")?" ":"";0<=Number(a)&&(d=f+d);if(isNaN(c)||d.length>=Number(c))return d;d=isNaN(e)?Math.abs(Number(a)).toString():Math.abs(Number(a)).toFixed(e);a=Number(c)-d.length-f.length;0<=b.indexOf("-",0)?d=f+d+goog.string.repeat(" ",a):(b=0<=b.indexOf("0",0)?"0":" ",d=f+goog.string.repeat(b,a)+d);return d};
goog.string.format.demuxes_.d=function(a,b,c,d,e,f,g,h){return goog.string.format.demuxes_.f(parseInt(a,10),b,c,d,0,f,g,h)};goog.string.format.demuxes_.i=goog.string.format.demuxes_.d;goog.string.format.demuxes_.u=goog.string.format.demuxes_.d;taoensso.encore={};taoensso.encore.encore_version=new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[2,91,0],null);
taoensso.encore.name_with_attrs=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return taoensso.encore.name_with_attrs.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.name_with_attrs.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};taoensso.encore.name_with_attrs.cljs$core$IFn$_invoke$arity$2=function(a,b){return taoensso.encore.name_with_attrs.call(null,a,b,null)};
taoensso.encore.name_with_attrs.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d="string"===typeof cljs.core.first.call(null,b)&&cljs.core.next.call(null,b)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.first.call(null,b),cljs.core.next.call(null,b)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,b],null);b=cljs.core.nth.call(null,d,0,null);var d=cljs.core.nth.call(null,d,1,null),d=cljs.core.map_QMARK_.call(null,
cljs.core.first.call(null,d))&&cljs.core.next.call(null,d)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.first.call(null,d),cljs.core.next.call(null,d)],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.PersistentArrayMap.EMPTY,d],null),e=cljs.core.nth.call(null,d,0,null),d=cljs.core.nth.call(null,d,1,null);b=cljs.core.truth_(b)?cljs.core.assoc.call(null,e,new cljs.core.Keyword(null,"doc","doc",1913296891),b):
e;b=cljs.core.truth_(cljs.core.meta.call(null,a))?cljs.core.conj.call(null,cljs.core.meta.call(null,a),b):b;c=cljs.core.conj.call(null,b,c);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta.call(null,a,c),d],null)};taoensso.encore.name_with_attrs.cljs$lang$maxFixedArity=3;taoensso.encore._core_merge=cljs.core.merge;taoensso.encore._core_update_in=cljs.core.update_in;
taoensso.encore.read_edn=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return taoensso.encore.read_edn.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.read_edn.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
taoensso.encore.read_edn.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.encore.read_edn.call(null,null,a)};
taoensso.encore.read_edn.cljs$core$IFn$_invoke$arity$2=function(a,b){if(null==b||""===b)return null;if("string"===typeof b){var c=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"readers","readers",-2118263030),new cljs.core.Keyword("taoensso.encore","dynamic","taoensso.encore/dynamic",-1726758399)),d=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"default","default",-1987822328),new cljs.core.Keyword("taoensso.encore","dynamic","taoensso.encore/dynamic",-1726758399)),c=cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,
c,new cljs.core.Keyword("taoensso.encore","dynamic","taoensso.encore/dynamic",-1726758399)))?taoensso.encore.map_keys.call(null,cljs.core.symbol,cljs.core.deref.call(null,cljs.reader._STAR_tag_table_STAR_)):c,d=cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,d,new cljs.core.Keyword("taoensso.encore","dynamic","taoensso.encore/dynamic",-1726758399)))?cljs.core.deref.call(null,cljs.reader._STAR_default_data_reader_fn_STAR_):d,d=cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"readers",
"readers",-2118263030),c,new cljs.core.Keyword(null,"default","default",-1987822328),d);return cljs.tools.reader.edn.read_string.call(null,d,b)}throw cljs.core.ex_info.call(null,"`read-edn` attempt against non-nil, non-string arg",new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"given","given",716253602),b,new cljs.core.Keyword(null,"type","type",1174270348),cljs.core.type.call(null,b)],null));};taoensso.encore.read_edn.cljs$lang$maxFixedArity=2;
taoensso.encore.pr_edn=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return taoensso.encore.pr_edn.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.pr_edn.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
taoensso.encore.pr_edn.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.encore.pr_edn.call(null,null,a)};taoensso.encore.pr_edn.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.core._STAR_print_level_STAR_,d=cljs.core._STAR_print_length_STAR_;cljs.core._STAR_print_level_STAR_=null;cljs.core._STAR_print_length_STAR_=null;try{return cljs.core.pr_str.call(null,b)}finally{cljs.core._STAR_print_length_STAR_=d,cljs.core._STAR_print_level_STAR_=c}};
taoensso.encore.pr_edn.cljs$lang$maxFixedArity=2;
taoensso.encore.error_data=function(a){var b=cljs.core.ex_data.call(null,a);b=cljs.core.truth_(b)?b:a instanceof Error?cljs.core.PersistentArrayMap.EMPTY:null;return cljs.core.truth_(b)?cljs.core.conj.call(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"err-type","err-type",-116717722),cljs.core.type.call(null,a),new cljs.core.Keyword(null,"err-msg","err-msg",-1158512684),a.message,new cljs.core.Keyword(null,"err-cause","err-cause",897008749),a.cause],null),b):null};
taoensso.encore.some_QMARK_=function(a){return null==a?!1:!0};taoensso.encore.stringy_QMARK_=function(a){return a instanceof cljs.core.Keyword||"string"===typeof a};taoensso.encore.ident_QMARK_=function(a){return a instanceof cljs.core.Keyword||a instanceof cljs.core.Symbol};taoensso.encore.boolean_QMARK_=function(a){return!0===a||!1===a};
taoensso.encore.indexed_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&16||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IIndexed$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IIndexed,a):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IIndexed,a)};taoensso.encore.named_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition1$&4096||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$INamed$?!0:!1:!1};
taoensso.encore.editable_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition1$&4||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IEditableCollection$?!0:!1:!1};taoensso.encore.derefable_QMARK_=function(a){return null!=a?a.cljs$lang$protocol_mask$partition0$&32768||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IDeref$?!0:a.cljs$lang$protocol_mask$partition0$?!1:cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IDeref,a):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IDeref,a)};
taoensso.encore.error_QMARK_=function(a){return a instanceof Error};taoensso.encore.atom_QMARK_=function(a){return a instanceof cljs.core.Atom};taoensso.encore.lazy_seq_QMARK_=function(a){return a instanceof cljs.core.LazySeq};taoensso.encore.re_pattern_QMARK_=function(a){return a instanceof RegExp};taoensso.encore.simple_ident_QMARK_=function(a){return taoensso.encore.ident_QMARK_.call(null,a)&&null==cljs.core.namespace.call(null,a)};
taoensso.encore.qualified_ident_QMARK_=function(a){var b=taoensso.encore.ident_QMARK_.call(null,a);return b?(a=cljs.core.namespace.call(null,a),cljs.core.truth_(a)?!0:a):b};taoensso.encore.simple_symbol_QMARK_=function(a){return a instanceof cljs.core.Symbol&&null==cljs.core.namespace.call(null,a)};taoensso.encore.qualified_symbol_QMARK_=function(a){var b=a instanceof cljs.core.Symbol;return b?(a=cljs.core.namespace.call(null,a),cljs.core.truth_(a)?!0:a):b};
taoensso.encore.simple_keyword_QMARK_=function(a){return a instanceof cljs.core.Keyword&&null==cljs.core.namespace.call(null,a)};taoensso.encore.qualified_keyword_QMARK_=function(a){var b=a instanceof cljs.core.Keyword;return b?(a=cljs.core.namespace.call(null,a),cljs.core.truth_(a)?!0:a):b};taoensso.encore.nempty_str_QMARK_=function(a){return"string"===typeof a&&!cljs.core._EQ_.call(null,a,"")};
taoensso.encore.nblank_str_QMARK_=function(a){return"string"===typeof a&&!clojure.string.blank_QMARK_.call(null,a)};taoensso.encore.nblank_QMARK_=function(a){return!clojure.string.blank_QMARK_.call(null,a)};taoensso.encore.vec2_QMARK_=function(a){return cljs.core.vector_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,cljs.core.count.call(null,a),2)};taoensso.encore.vec3_QMARK_=function(a){return cljs.core.vector_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,cljs.core.count.call(null,a),3)};
taoensso.encore.nneg_QMARK_=function(a){return!(0>a)};taoensso.encore.zero_num_QMARK_=function(a){return cljs.core._EQ_.call(null,a,0)};taoensso.encore.regular_num_QMARK_=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity!==a};taoensso.encore.float_QMARK_=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity!==a&&parseFloat(a)!==parseInt(a,10)};taoensso.encore.int_QMARK_=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity!==a&&parseFloat(a)===parseInt(a,10)};
taoensso.encore.nat_num_QMARK_=function(a){return"number"===typeof a&&!(0>a)};taoensso.encore.pos_num_QMARK_=function(a){return"number"===typeof a&&0<a};taoensso.encore.neg_num_QMARK_=function(a){return"number"===typeof a&&0>a};taoensso.encore.nat_int_QMARK_=function(a){return taoensso.encore.int_QMARK_.call(null,a)&&!(0>a)};taoensso.encore.pos_int_QMARK_=function(a){return taoensso.encore.int_QMARK_.call(null,a)&&0<a};
taoensso.encore.neg_int_QMARK_=function(a){return taoensso.encore.int_QMARK_.call(null,a)&&0>a};taoensso.encore.nat_float_QMARK_=function(a){return taoensso.encore.float_QMARK_.call(null,a)&&!(0>a)};taoensso.encore.pos_float_QMARK_=function(a){return taoensso.encore.float_QMARK_.call(null,a)&&0<a};taoensso.encore.neg_float_QMARK_=function(a){return taoensso.encore.float_QMARK_.call(null,a)&&0>a};taoensso.encore.udt_QMARK_=function(a){return taoensso.encore.int_QMARK_.call(null,a)&&!(0>a)};
taoensso.encore.pval_QMARK_=function(a){var b="number"===typeof a;return b?0<=a&&1>=a:b};taoensso.encore.chan_QMARK_=function(a){return a instanceof cljs.core.async.impl.channels.ManyToManyChannel};taoensso.encore.kw_identical_QMARK_=cljs.core.keyword_identical_QMARK_;taoensso.encore.as__QMARK_nzero=function(a){return"number"===typeof a?0===a?null:a:null};taoensso.encore.as__QMARK_nblank=function(a){return"string"===typeof a?clojure.string.blank_QMARK_.call(null,a)?null:a:null};
taoensso.encore.as__QMARK_kw=function(a){return a instanceof cljs.core.Keyword?a:"string"===typeof a?cljs.core.keyword.call(null,a):null};taoensso.encore.as__QMARK_name=function(a){return taoensso.encore.named_QMARK_.call(null,a)?cljs.core.name.call(null,a):"string"===typeof a?a:null};
taoensso.encore.as__QMARK_qname=function(a){if(taoensso.encore.named_QMARK_.call(null,a)){var b=cljs.core.name.call(null,a);a=cljs.core.namespace.call(null,a);return cljs.core.truth_(a)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1("/"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""):b}return"string"===typeof a?a:null};taoensso.encore.as__QMARK_nempty_str=function(a){return"string"===typeof a?cljs.core._EQ_.call(null,a,"")?null:a:null};
taoensso.encore.as__QMARK_int=function(a){return"number"===typeof a?cljs.core.long$.call(null,a):"string"===typeof a?(a=parseInt(a,10),cljs.core.truth_(isNaN(a))?null:a):null};taoensso.encore.as__QMARK_float=function(a){return"number"===typeof a?a:"string"===typeof a?(a=parseFloat(a),cljs.core.truth_(isNaN(a))?null:a):null};taoensso.encore.as__QMARK_udt=function(a){a=taoensso.encore.as__QMARK_int.call(null,a);return cljs.core.truth_(a)?0>a?null:a:null};
taoensso.encore.as__QMARK_nat_int=function(a){a=taoensso.encore.as__QMARK_int.call(null,a);return cljs.core.truth_(a)?0>a?null:a:null};taoensso.encore.as__QMARK_pos_int=function(a){a=taoensso.encore.as__QMARK_int.call(null,a);return cljs.core.truth_(a)?0<a?a:null:null};taoensso.encore.as__QMARK_nat_float=function(a){a=taoensso.encore.as__QMARK_float.call(null,a);return cljs.core.truth_(a)?0>a?null:a:null};
taoensso.encore.as__QMARK_pos_float=function(a){a=taoensso.encore.as__QMARK_float.call(null,a);return cljs.core.truth_(a)?0<a?a:null:null};taoensso.encore.as__QMARK_pval=function(a){a=taoensso.encore.as__QMARK_float.call(null,a);return cljs.core.truth_(a)?1<a?1:0>a?0:a:null};
taoensso.encore.as__QMARK_bool=function(a){return null==a?null:!0===a||!1===a?a:cljs.core._EQ_.call(null,a,0)||cljs.core._EQ_.call(null,a,"false")||cljs.core._EQ_.call(null,a,"FALSE")||cljs.core._EQ_.call(null,a,"0")?!1:cljs.core._EQ_.call(null,a,1)||cljs.core._EQ_.call(null,a,"true")||cljs.core._EQ_.call(null,a,"TRUE")||cljs.core._EQ_.call(null,a,"1")?!0:null};
taoensso.encore.as__QMARK_email=function(a){return cljs.core.truth_(a)?cljs.core.re_find.call(null,/^[^\s@]+@[^\s@]+\.\S*[^\.]$/,clojure.string.trim.call(null,a)):null};taoensso.encore.as__QMARK_nemail=function(a){a=taoensso.encore.as__QMARK_email.call(null,a);return cljs.core.truth_(a)?clojure.string.lower_case.call(null,a):null};taoensso.encore.try_pred=function(a,b){try{return a.call(null,b)}catch(c){if(c instanceof Error)return!1;throw c;}};
taoensso.encore.when_QMARK_=function(a,b){return cljs.core.truth_(taoensso.encore.try_pred.call(null,a,b))?b:null};
taoensso.encore.is_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return taoensso.encore.is_BANG_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.is_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.is_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};taoensso.encore.is_BANG_.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.encore.is_BANG_.call(null,cljs.core.identity,a,null)};taoensso.encore.is_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){return taoensso.encore.is_BANG_.call(null,cljs.core.identity,b,null)};
taoensso.encore.is_BANG_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(cljs.core.truth_(taoensso.encore.try_pred.call(null,a,b)))return b;throw cljs.core.ex_info.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("`is!` "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" failure against arg: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_str.call(null,b))].join(""),new cljs.core.PersistentArrayMap(null,
3,[new cljs.core.Keyword(null,"given","given",716253602),b,new cljs.core.Keyword(null,"type","type",1174270348),cljs.core.type.call(null,b),new cljs.core.Keyword(null,"fail-?data","fail-?data",1702764975),c],null));};taoensso.encore.is_BANG_.cljs$lang$maxFixedArity=3;
taoensso.encore._as_throw=function(a,b){throw cljs.core.ex_info.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("`as-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.name.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1("` failed against: `"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_str.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1("`")].join(""),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"given","given",716253602),b,new cljs.core.Keyword(null,
"type","type",1174270348),cljs.core.type.call(null,b)],null));};taoensso.encore.as_nzero=function(a){var b=taoensso.encore.as__QMARK_nzero.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"nzero","nzero",2053173656),a)};taoensso.encore.as_nblank=function(a){var b=taoensso.encore.as__QMARK_nblank.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"nblank","nblank",626815585),a)};
taoensso.encore.as_nempty_str=function(a){var b=taoensso.encore.as__QMARK_nempty_str.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"nempty-str","nempty-str",-215700100),a)};taoensso.encore.as_kw=function(a){var b=taoensso.encore.as__QMARK_kw.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"kw","kw",1158308175),a)};
taoensso.encore.as_name=function(a){var b=taoensso.encore.as__QMARK_name.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"name","name",1843675177),a)};taoensso.encore.as_qname=function(a){var b=taoensso.encore.as__QMARK_qname.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"qname","qname",-1983612179),a)};
taoensso.encore.as_email=function(a){var b=taoensso.encore.as__QMARK_email.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"email","email",1415816706),a)};taoensso.encore.as_nemail=function(a){var b=taoensso.encore.as__QMARK_nemail.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"nemail","nemail",318708381),a)};
taoensso.encore.as_udt=function(a){var b=taoensso.encore.as__QMARK_udt.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"udt","udt",2011712751),a)};taoensso.encore.as_int=function(a){var b=taoensso.encore.as__QMARK_int.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"int","int",-1741416922),a)};
taoensso.encore.as_nat_int=function(a){var b=taoensso.encore.as__QMARK_nat_int.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"nat-int","nat-int",313429715),a)};taoensso.encore.as_pos_int=function(a){var b=taoensso.encore.as__QMARK_pos_int.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"pos-int","pos-int",15030207),a)};
taoensso.encore.as_float=function(a){var b=taoensso.encore.as__QMARK_float.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"float","float",-1732389368),a)};taoensso.encore.as_nat_float=function(a){var b=taoensso.encore.as__QMARK_nat_float.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"nat-float","nat-float",-371030973),a)};
taoensso.encore.as_pos_float=function(a){var b=taoensso.encore.as__QMARK_pos_float.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"pos-float","pos-float",-715200084),a)};taoensso.encore.as_pval=function(a){var b=taoensso.encore.as__QMARK_pval.call(null,a);return cljs.core.truth_(b)?b:taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"pval","pval",-274256857),a)};
taoensso.encore.as_bool=function(a){var b=taoensso.encore.as__QMARK_bool.call(null,a);return null==b?taoensso.encore._as_throw.call(null,new cljs.core.Keyword(null,"bool","bool",1444635321),a):b};taoensso.encore.explode_keyword=function(a){return clojure.string.split.call(null,taoensso.encore.as_qname.call(null,a),/[\.\/]/)};
taoensso.encore.merge_keywords=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return taoensso.encore.merge_keywords.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.merge_keywords.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
taoensso.encore.merge_keywords.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.encore.merge_keywords.call(null,a,!1)};
taoensso.encore.merge_keywords.cljs$core$IFn$_invoke$arity$2=function(a,b){if(cljs.core.seq.call(null,a)){var c=cljs.core.reduce.call(null,function(a,b){return null==b?a:cljs.core.reduce.call(null,cljs.core.conj,a,taoensso.encore.explode_keyword.call(null,b))},cljs.core.PersistentVector.EMPTY,a);if(cljs.core.seq.call(null,c)){if(cljs.core.truth_(b))return cljs.core.keyword.call(null,clojure.string.join.call(null,".",c));var d=cljs.core.pop.call(null,c);return cljs.core.keyword.call(null,cljs.core.seq.call(null,
d)?clojure.string.join.call(null,".",d):null,cljs.core.peek.call(null,c))}}return null};taoensso.encore.merge_keywords.cljs$lang$maxFixedArity=2;taoensso.encore.preserve_reduced=function(a){return function(b,c){var d=a.call(null,b,c);return cljs.core.reduced_QMARK_.call(null,d)?cljs.core.reduced.call(null,d):d}};
taoensso.encore.reduce_kvs=function(a,b,c){return cljs.core.transduce.call(null,cljs.core.partition_all.call(null,2),cljs.core.completing.call(null,function(b,c){var d=cljs.core.nth.call(null,c,0,null),e=cljs.core.nth.call(null,c,1,null);return a.call(null,b,d,e)}),b,c)};taoensso.encore.reduce_n=function(a,b,c){return cljs.core.reduce.call(null,a,b,cljs.core.range.call(null,c))};var inc_33087=function(a){return a+1};
taoensso.encore.reduce_indexed=function(a){return function(b,c,d){var e=cljs.core.volatile_BANG_.call(null,-1);return cljs.core.reduce.call(null,function(a,c){return function(d,e){return b.call(null,d,cljs.core._vreset_BANG_.call(null,a,c.call(null,cljs.core._deref.call(null,a))),e)}}(e,a),c,d)}}(inc_33087);taoensso.encore.reduce_obj=function(a,b,c){return cljs.core.reduce.call(null,function(b,e){return a.call(null,b,e,goog.object.get(c,e,null))},b,cljs.core.js_keys.call(null,c))};
taoensso.encore.run_BANG_=function(a,b){cljs.core.reduce.call(null,function(b,d){return a.call(null,d)},null,b);return null};taoensso.encore.run_kv_BANG_=function(a,b){cljs.core.reduce_kv.call(null,function(b,d,e){return a.call(null,d,e)},null,b);return null};taoensso.encore.run_kvs_BANG_=function(a,b){taoensso.encore.reduce_kvs.call(null,function(b,d,e){return a.call(null,d,e)},null,b);return null};
taoensso.encore.run_obj_BANG_=function(a,b){taoensso.encore.reduce_obj.call(null,function(b,d,e){return a.call(null,d,e)},null,b);return null};taoensso.encore.rsome=function(a,b){return cljs.core.reduce.call(null,function(b,d){var c=a.call(null,d);return cljs.core.truth_(c)?cljs.core.reduced.call(null,c):null},null,b)};
taoensso.encore.rsome_kv=function(a,b){return cljs.core.reduce_kv.call(null,function(b,d,e){b=a.call(null,d,e);return cljs.core.truth_(b)?cljs.core.reduced.call(null,b):null},null,b)};taoensso.encore.rfirst=function(a,b){return cljs.core.reduce.call(null,function(b,d){return cljs.core.truth_(a.call(null,d))?cljs.core.reduced.call(null,d):null},null,b)};
taoensso.encore.rfirst_kv=function(a,b){return cljs.core.reduce_kv.call(null,function(b,d,e){return cljs.core.truth_(a.call(null,d,e))?cljs.core.reduced.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,e],null)):null},null,b)};taoensso.encore.revery_QMARK_=function(a,b){return cljs.core.reduce.call(null,function(b,d){return cljs.core.truth_(a.call(null,d))?!0:cljs.core.reduced.call(null,!1)},!0,b)};
taoensso.encore.revery_kv_QMARK_=function(a,b){return cljs.core.reduce_kv.call(null,function(b,d,e){return cljs.core.truth_(a.call(null,d,e))?!0:cljs.core.reduced.call(null,!1)},!0,b)};taoensso.encore.revery=function(a,b){return cljs.core.reduce.call(null,function(c,d){return cljs.core.truth_(a.call(null,d))?b:cljs.core.reduced.call(null,null)},b,b)};
taoensso.encore.revery_kv=function(a,b){return cljs.core.reduce_kv.call(null,function(c,d,e){return cljs.core.truth_(a.call(null,d,e))?b:cljs.core.reduced.call(null,null)},b,b)};var inc_33100=function(a){return a+1};taoensso.encore.idx_fn=function(a){return function(){return function(a,c){return function(){return cljs.core._vreset_BANG_.call(null,a,c.call(null,cljs.core._deref.call(null,a)))}}(cljs.core.volatile_BANG_.call(null,-1),a)}}(inc_33100);taoensso.encore.max_long=9007199254740991;
taoensso.encore.min_long=-9007199254740991;
taoensso.encore.approx_EQ__EQ_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return taoensso.encore.approx_EQ__EQ_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.approx_EQ__EQ_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
taoensso.encore.approx_EQ__EQ_.cljs$core$IFn$_invoke$arity$2=function(a,b){return.001>Math.abs(a-b)};taoensso.encore.approx_EQ__EQ_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return Math.abs(b-c)<a};taoensso.encore.approx_EQ__EQ_.cljs$lang$maxFixedArity=3;taoensso.encore.clamp=function(a,b,c){return c<a?a:c>b?b:c};taoensso.encore.pow=function(a,b){return Math.pow(a,b)};taoensso.encore.abs=function(a){return 0>a?-a:a};
taoensso.encore.round_STAR_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return taoensso.encore.round_STAR_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.round_STAR_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.round_STAR_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};taoensso.encore.round_STAR_.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.encore.round_STAR_.call(null,new cljs.core.Keyword(null,"round","round",2009433328),null,a)};taoensso.encore.round_STAR_.cljs$core$IFn$_invoke$arity$2=function(a,b){return taoensso.encore.round_STAR_.call(null,a,null,b)};
taoensso.encore.round_STAR_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){b=cljs.core.truth_(b)?Math.pow(10,b):null;var d=cljs.core.truth_(b)?c*b:c;c=function(){switch(a instanceof cljs.core.Keyword?a.fqn:null){case "round":return Math.round(d);case "floor":return Math.floor(d);case "ceil":return Math.ceil(d);case "trunc":return cljs.core.long$.call(null,d);default:throw cljs.core.ex_info.call(null,"Unrecognized round type",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"given",
"given",716253602),a],null));}}();return cljs.core.truth_(b)?c/b:cljs.core.long$.call(null,c)};taoensso.encore.round_STAR_.cljs$lang$maxFixedArity=3;taoensso.encore.round0=function(a){return Math.round(a)};taoensso.encore.round1=function(a){return Math.round(10*a)/10};taoensso.encore.round2=function(a){return Math.round(100*a)/100};
taoensso.encore.exp_backoff=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return taoensso.encore.exp_backoff.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.exp_backoff.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
taoensso.encore.exp_backoff.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.encore.exp_backoff.call(null,a,null)};
taoensso.encore.exp_backoff.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"min","min",444991522)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"max","max",61366548)),c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"factor","factor",-2103172748),1E3),f=Math.pow(2,36<a?36:a),
c=cljs.core.long$.call(null,.5*(f+cljs.core.rand.call(null,f))*c),d=cljs.core.long$.call(null,cljs.core.truth_(d)?c<d?d:c:c);return cljs.core.long$.call(null,cljs.core.truth_(e)?d>e?e:d:d)};taoensso.encore.exp_backoff.cljs$lang$maxFixedArity=2;taoensso.encore.node_target_QMARK_=cljs.core._EQ_.call(null,cljs.core._STAR_target_STAR_,"nodejs");taoensso.encore.js__QMARK_win="undefined"!==typeof window?window:null;
taoensso.encore.force_ref=function(a){return taoensso.encore.derefable_QMARK_.call(null,a)?cljs.core.deref.call(null,a):a};taoensso.encore.merge_meta=function(a,b){return cljs.core.with_meta.call(null,a,taoensso.encore.merge.call(null,cljs.core.meta.call(null,a),b))};taoensso.encore.without_meta=function(a){return cljs.core.truth_(cljs.core.meta.call(null,a))?cljs.core.with_meta.call(null,a,null):a};
taoensso.encore.some_EQ_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return taoensso.encore.some_EQ_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),taoensso.encore.some_EQ_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
taoensso.encore.some_EQ_.cljs$core$IFn$_invoke$arity$2=function(a,b){return taoensso.encore.some_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,a,b)};taoensso.encore.some_EQ_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){var d=taoensso.encore.some_QMARK_.call(null,a);return d?(b=cljs.core._EQ_.call(null,a,b))?taoensso.encore.revery_QMARK_.call(null,function(b,c){return function(b){return cljs.core._EQ_.call(null,b,a)}}(b,d),c):b:d};
taoensso.encore.some_EQ_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return taoensso.encore.some_EQ_.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};taoensso.encore.some_EQ_.cljs$lang$maxFixedArity=2;
taoensso.encore.nnil=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return taoensso.encore.nnil.cljs$core$IFn$_invoke$arity$0();case 1:return taoensso.encore.nnil.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.nnil.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.nnil.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:return b=new cljs.core.IndexedSeq(b.slice(3),
0,null),taoensso.encore.nnil.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};taoensso.encore.nnil.cljs$core$IFn$_invoke$arity$0=function(){return null};taoensso.encore.nnil.cljs$core$IFn$_invoke$arity$1=function(a){return a};taoensso.encore.nnil.cljs$core$IFn$_invoke$arity$2=function(a,b){return null==a?b:a};taoensso.encore.nnil.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return null==a?null==b?c:b:a};
taoensso.encore.nnil.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return null==a?null==b?null==c?taoensso.encore.rfirst.call(null,taoensso.encore.some_QMARK_,d):c:b:a};taoensso.encore.nnil.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c),c=cljs.core.first.call(null,d),d=cljs.core.next.call(null,d);return taoensso.encore.nnil.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};
taoensso.encore.nnil.cljs$lang$maxFixedArity=3;
taoensso.encore.parse_version=function(a){a=clojure.string.split.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),/-/,2);var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);var c=cljs.core.PersistentArrayMap,d=new cljs.core.Keyword(null,"version","version",425292698),b=cljs.core.re_seq.call(null,/\d+/,b),b=cljs.core.truth_(b)?cljs.core.mapv.call(null,taoensso.encore.as__QMARK_int,b):null;return new c(null,2,[d,b,new cljs.core.Keyword(null,"qualifier","qualifier",
125841738),cljs.core.truth_(a)?clojure.string.lower_case.call(null,a):null],null)};
taoensso.encore.assert_min_encore_version=function(a){var b=taoensso.encore.encore_version,c=cljs.core.nth.call(null,b,0,null),d=cljs.core.nth.call(null,b,1,null),e=cljs.core.nth.call(null,b,2,null);a=cljs.core.vector_QMARK_.call(null,a)?a:(new cljs.core.Keyword(null,"version","version",425292698)).cljs$core$IFn$_invoke$arity$1(taoensso.encore.parse_version.call(null,a));var f=cljs.core.nth.call(null,a,0,null),g=cljs.core.nth.call(null,a,1,null),h=cljs.core.nth.call(null,a,2,null),f=cljs.core.mapv.call(null,
function(a,b,c,d,e,f,g,h){return function(a){return cljs.core.truth_(a)?a:0}}(b,c,d,e,a,f,g,h),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[f,g,h],null)),b=cljs.core.nth.call(null,f,0,null);a=cljs.core.nth.call(null,f,1,null);f=cljs.core.nth.call(null,f,2,null);if(c>b||cljs.core._EQ_.call(null,c,b)&&(d>a||cljs.core._EQ_.call(null,d,a)&&e>=f))return null;throw cljs.core.ex_info.call(null,"Insufficient `com.taoensso/encore` version, you may have a dependency conflict: see http://goo.gl/qBbLvC for solutions.",
new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"min-version","min-version",-1697197126),clojure.string.join.call(null,".",new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a,f],null)),new cljs.core.Keyword(null,"your-version","your-version",-351781765),clojure.string.join.call(null,".",new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[c,d,e],null))],null));};
taoensso.encore.queue_QMARK_=function(a){return a instanceof cljs.core.PersistentQueue};
taoensso.encore.queue=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return taoensso.encore.queue.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 0:return taoensso.encore.queue.cljs$core$IFn$_invoke$arity$0();default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
taoensso.encore.queue.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.into.call(null,taoensso.encore.queue.call(null),a)};taoensso.encore.queue.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.PersistentQueue.EMPTY};taoensso.encore.queue.cljs$lang$maxFixedArity=1;taoensso.encore.queue_STAR_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return taoensso.encore.queue_STAR_.cljs$core$IFn$_invoke$arity$variadic(b)};
taoensso.encore.queue_STAR_.cljs$core$IFn$_invoke$arity$variadic=function(a){return taoensso.encore.queue.call(null,a)};taoensso.encore.queue_STAR_.cljs$lang$maxFixedArity=0;taoensso.encore.queue_STAR_.cljs$lang$applyTo=function(a){return taoensso.encore.queue_STAR_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};taoensso.encore.vec_STAR_=cljs.core.vec;taoensso.encore.set_STAR_=cljs.core.set;
taoensso.encore.oget=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return taoensso.encore.oget.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.oget.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
taoensso.encore.oget.cljs$core$IFn$_invoke$arity$2=function(a,b){return goog.object.get(a,b,null)};taoensso.encore.oget.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return goog.object.get(a,b,c)};taoensso.encore.oget.cljs$lang$maxFixedArity=3;var sentinel_33197={};
taoensso.encore.oget_in=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;switch(b.length){case 2:return taoensso.encore.oget_in.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.oget_in.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}}}(sentinel_33197);taoensso.encore.oget_in.cljs$core$IFn$_invoke$arity$2=function(a){return function(a,c){return taoensso.encore.oget_in.call(null,a,c,null)}}(sentinel_33197);taoensso.encore.oget_in.cljs$core$IFn$_invoke$arity$3=function(a){return function(b,c,d){for(c=cljs.core.seq.call(null,c);;)if(c){b=goog.object.get(b,cljs.core.first.call(null,c),a);if(b===a)return d;c=cljs.core.next.call(null,c)}else return b}}(sentinel_33197);taoensso.encore.oget_in.cljs$lang$maxFixedArity=3;
taoensso.encore.conj_some=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return taoensso.encore.conj_some.cljs$core$IFn$_invoke$arity$0();case 1:return taoensso.encore.conj_some.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.conj_some.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),taoensso.encore.conj_some.cljs$core$IFn$_invoke$arity$variadic(arguments[0],
arguments[1],b)}};taoensso.encore.conj_some.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.PersistentVector.EMPTY};taoensso.encore.conj_some.cljs$core$IFn$_invoke$arity$1=function(a){return a};taoensso.encore.conj_some.cljs$core$IFn$_invoke$arity$2=function(a,b){return null==b?a:cljs.core.conj.call(null,a,b)};
taoensso.encore.conj_some.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.call(null,taoensso.encore.conj_some,taoensso.encore.conj_some.call(null,a,b),c)};taoensso.encore.conj_some.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return taoensso.encore.conj_some.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};taoensso.encore.conj_some.cljs$lang$maxFixedArity=2;
taoensso.encore.conj_when=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return taoensso.encore.conj_when.cljs$core$IFn$_invoke$arity$0();case 1:return taoensso.encore.conj_when.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.conj_when.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),taoensso.encore.conj_when.cljs$core$IFn$_invoke$arity$variadic(arguments[0],
arguments[1],b)}};taoensso.encore.conj_when.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.PersistentVector.EMPTY};taoensso.encore.conj_when.cljs$core$IFn$_invoke$arity$1=function(a){return a};taoensso.encore.conj_when.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.truth_(b)?cljs.core.conj.call(null,a,b):a};
taoensso.encore.conj_when.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.call(null,taoensso.encore.conj_when,taoensso.encore.conj_when.call(null,a,b),c)};taoensso.encore.conj_when.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return taoensso.encore.conj_when.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};taoensso.encore.conj_when.cljs$lang$maxFixedArity=2;
taoensso.encore.assoc_some=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return taoensso.encore.assoc_some.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 2:return taoensso.encore.assoc_some.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(3),0,null),taoensso.encore.assoc_some.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],
b)}};taoensso.encore.assoc_some.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return null==c?null==a?cljs.core.PersistentArrayMap.EMPTY:a:cljs.core.assoc.call(null,a,b,c)};taoensso.encore.assoc_some.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return taoensso.encore.reduce_kvs.call(null,function(a,b,c){return null==c?a:cljs.core.assoc.call(null,a,b,c)},taoensso.encore.assoc_some.call(null,a,b,c),d)};
taoensso.encore.assoc_some.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c),c=cljs.core.first.call(null,d),d=cljs.core.next.call(null,d);return taoensso.encore.assoc_some.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};
taoensso.encore.assoc_some.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.reduce_kv.call(null,function(a,b,e){return null==e?a:cljs.core.assoc.call(null,a,b,e)},null==a?cljs.core.PersistentArrayMap.EMPTY:a,b)};taoensso.encore.assoc_some.cljs$lang$maxFixedArity=3;
taoensso.encore.assoc_when=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return taoensso.encore.assoc_when.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 2:return taoensso.encore.assoc_when.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(3),0,null),taoensso.encore.assoc_when.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],
b)}};taoensso.encore.assoc_when.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.truth_(c)?cljs.core.assoc.call(null,a,b,c):null==a?cljs.core.PersistentArrayMap.EMPTY:a};taoensso.encore.assoc_when.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return taoensso.encore.reduce_kvs.call(null,function(a,b,c){return cljs.core.truth_(c)?cljs.core.assoc.call(null,a,b,c):a},taoensso.encore.assoc_when.call(null,a,b,c),d)};
taoensso.encore.assoc_when.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c),c=cljs.core.first.call(null,d),d=cljs.core.next.call(null,d);return taoensso.encore.assoc_when.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};
taoensso.encore.assoc_when.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.reduce_kv.call(null,function(b,d,e){return cljs.core.truth_(e)?cljs.core.assoc.call(null,a,d,e):a},null==a?cljs.core.PersistentArrayMap.EMPTY:a,b)};taoensso.encore.assoc_when.cljs$lang$maxFixedArity=3;
taoensso.encore.assoc_nx=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return taoensso.encore.assoc_nx.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 2:return taoensso.encore.assoc_nx.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(3),0,null),taoensso.encore.assoc_nx.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],
b)}};taoensso.encore.assoc_nx.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.contains_QMARK_.call(null,a,b)?a:cljs.core.assoc.call(null,a,b,c)};taoensso.encore.assoc_nx.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return taoensso.encore.reduce_kvs.call(null,taoensso.encore.assoc_nx,taoensso.encore.assoc_nx.call(null,a,b,c),d)};
taoensso.encore.assoc_nx.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c),c=cljs.core.first.call(null,d),d=cljs.core.next.call(null,d);return taoensso.encore.assoc_nx.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};
taoensso.encore.assoc_nx.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.reduce_kv.call(null,function(a,b,e){return cljs.core.contains_QMARK_.call(null,a,b)?a:cljs.core.assoc.call(null,a,b,e)},null==a?cljs.core.PersistentArrayMap.EMPTY:a,b)};taoensso.encore.assoc_nx.cljs$lang$maxFixedArity=3;
taoensso.encore.get_subvec=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return taoensso.encore.get_subvec.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.get_subvec.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
taoensso.encore.get_subvec.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=0>b?0:b,d=cljs.core.count.call(null,a);return c>=d?cljs.core.PersistentVector.EMPTY:cljs.core.subvec.call(null,a,c,d)};taoensso.encore.get_subvec.cljs$core$IFn$_invoke$arity$3=function(a,b,c){b=0>b?0:b;var d=cljs.core.long$.call(null,cljs.core.count.call(null,a));c=c>d?d:c;return b>=c?cljs.core.PersistentVector.EMPTY:cljs.core.subvec.call(null,a,b,c)};taoensso.encore.get_subvec.cljs$lang$maxFixedArity=3;
taoensso.encore.get_subvector=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return taoensso.encore.get_subvector.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.get_subvector.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};taoensso.encore.get_subvector.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.core.count.call(null,a);if(0>b){var d=b+c;return cljs.core.subvec.call(null,a,0>d?0:d,c)}return b>=c?cljs.core.PersistentVector.EMPTY:cljs.core.subvec.call(null,a,b,c)};
taoensso.encore.get_subvector.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(0>=c)return cljs.core.PersistentVector.EMPTY;var d=cljs.core.long$.call(null,cljs.core.count.call(null,a));if(0>b)return b+=d,b=0>b?0:b,c=b+c,cljs.core.subvec.call(null,a,b,c>d?d:c);c=b+c;d=c>d?d:c;return b>=d?cljs.core.PersistentVector.EMPTY:cljs.core.subvec.call(null,a,b,d)};taoensso.encore.get_subvector.cljs$lang$maxFixedArity=3;
taoensso.encore.vnext=function(a){return 1<cljs.core.count.call(null,a)?cljs.core.subvec.call(null,a,1):null};taoensso.encore.vrest=function(a){return 1<cljs.core.count.call(null,a)?cljs.core.subvec.call(null,a,1):cljs.core.PersistentVector.EMPTY};taoensso.encore.vsplit_last=function(a){var b=cljs.core.count.call(null,a);return 0<b?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1<b?cljs.core.pop.call(null,a):null,cljs.core.peek.call(null,a)],null):null};
taoensso.encore.vsplit_first=function(a){var b=cljs.core.count.call(null,a);if(0<b){var c=cljs.core.nth.call(null,a,0,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,1<b?cljs.core.subvec.call(null,a,1):null],null)}return null};
taoensso.encore.fsplit_last=function(a,b){for(var c=cljs.core.PersistentVector.EMPTY,d=b;;){var e=cljs.core.seq.call(null,d),d=cljs.core.first.call(null,e);if(e=cljs.core.next.call(null,e))c=cljs.core.conj.call(null,c,d),d=e;else return a.call(null,c,d)}};taoensso.encore.takev=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?taoensso.encore.get_subvector.call(null,b,0,a):cljs.core.into.call(null,cljs.core.PersistentVector.EMPTY,cljs.core.take.call(null,a),b)};
taoensso.encore.distinct_elements_QMARK_=function(a){return cljs.core.set_QMARK_.call(null,a)||cljs.core._EQ_.call(null,cljs.core.count.call(null,a),cljs.core.count.call(null,taoensso.encore.set_STAR_.call(null,a)))};taoensso.encore.seq_kvs=cljs.core.partial.call(null,cljs.core.reduce,cljs.core.concat);
taoensso.encore.mapply=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.mapply.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};taoensso.encore.mapply.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.apply.call(null,a,taoensso.encore.fsplit_last.call(null,function(a,b){return cljs.core.concat.call(null,a,taoensso.encore.seq_kvs.call(null,b))},b))};
taoensso.encore.mapply.cljs$lang$maxFixedArity=1;taoensso.encore.mapply.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return taoensso.encore.mapply.cljs$core$IFn$_invoke$arity$variadic(b,a)};
taoensso.encore.into_all=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return taoensso.encore.into_all.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),taoensso.encore.into_all.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};taoensso.encore.into_all.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.into.call(null,a,b)};
taoensso.encore.into_all.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.persistent_BANG_.call(null,cljs.core.reduce.call(null,function(a,b){return cljs.core.reduce.call(null,cljs.core.conj_BANG_,a,b)},cljs.core.transient$.call(null,a),cljs.core.cons.call(null,b,c)))};
taoensso.encore.into_all.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return taoensso.encore.into_all.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};taoensso.encore.into_all.cljs$lang$maxFixedArity=2;
taoensso.encore.repeatedly_into=function(a,b,c){return 10<b&&taoensso.encore.editable_QMARK_.call(null,a)?cljs.core.persistent_BANG_.call(null,taoensso.encore.reduce_n.call(null,function(a,b){return cljs.core.conj_BANG_.call(null,a,c.call(null))},cljs.core.transient$.call(null,a),b)):taoensso.encore.reduce_n.call(null,function(a,b){return cljs.core.conj.call(null,a,c.call(null))},a,b)};
taoensso.encore.into_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return taoensso.encore.into_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.into_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
taoensso.encore.into_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.reduce.call(null,cljs.core.conj_BANG_,a,b)};taoensso.encore.into_BANG_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.transduce.call(null,b,cljs.core.conj_BANG_,a,c)};taoensso.encore.into_BANG_.cljs$lang$maxFixedArity=3;
taoensso.encore.xdistinct=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return taoensso.encore.xdistinct.cljs$core$IFn$_invoke$arity$0();case 1:return taoensso.encore.xdistinct.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
taoensso.encore.xdistinct.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.distinct.call(null)};
taoensso.encore.xdistinct.cljs$core$IFn$_invoke$arity$1=function(a){return function(b){return function(c){return function(){var d=null,e=function(){return b.call(null)},f=function(a){return b.call(null,a)},g=function(d,e){var f=a.call(null,e);if(cljs.core.contains_QMARK_.call(null,cljs.core.deref.call(null,c),f))return d;cljs.core._vreset_BANG_.call(null,c,cljs.core.conj.call(null,cljs.core._deref.call(null,c),f));return b.call(null,d,e)},d=function(a,b){switch(arguments.length){case 0:return e.call(this);
case 1:return f.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+(arguments.length-1));};d.cljs$core$IFn$_invoke$arity$0=e;d.cljs$core$IFn$_invoke$arity$1=f;d.cljs$core$IFn$_invoke$arity$2=g;return d}()}(cljs.core.volatile_BANG_.call(null,cljs.core.PersistentHashSet.EMPTY))}};taoensso.encore.xdistinct.cljs$lang$maxFixedArity=1;
taoensso.encore.map_vals=function(a,b){return null==b?cljs.core.PersistentArrayMap.EMPTY:cljs.core.reduce_kv.call(null,function(b,d,e){return cljs.core.assoc.call(null,b,d,a.call(null,e))},b,b)};taoensso.encore.map_keys=function(a,b){return null==b?cljs.core.PersistentArrayMap.EMPTY:cljs.core.reduce_kv.call(null,function(b,d,e){return cljs.core.assoc.call(null,b,a.call(null,d),e)},cljs.core.PersistentArrayMap.EMPTY,b)};
taoensso.encore.filter_keys=function(a,b){return null==b?cljs.core.PersistentArrayMap.EMPTY:cljs.core.reduce_kv.call(null,function(b,d,e){return cljs.core.truth_(a.call(null,d))?b:cljs.core.dissoc.call(null,b,d)},b,b)};taoensso.encore.filter_vals=function(a,b){return null==b?cljs.core.PersistentArrayMap.EMPTY:cljs.core.reduce_kv.call(null,function(b,d,e){return cljs.core.truth_(a.call(null,e))?b:cljs.core.dissoc.call(null,b,d)},b,b)};
taoensso.encore.remove_keys=function(a,b){return null==b?cljs.core.PersistentArrayMap.EMPTY:cljs.core.reduce_kv.call(null,function(b,d,e){return cljs.core.truth_(a.call(null,d))?cljs.core.dissoc.call(null,b,d):b},b,b)};taoensso.encore.remove_vals=function(a,b){return null==b?cljs.core.PersistentArrayMap.EMPTY:cljs.core.reduce_kv.call(null,function(b,d,e){return cljs.core.truth_(a.call(null,e))?cljs.core.dissoc.call(null,b,d):b},b,b)};
taoensso.encore.keys_by=function(a,b){return cljs.core.persistent_BANG_.call(null,cljs.core.reduce.call(null,function(b,d){return cljs.core.assoc_BANG_.call(null,b,a.call(null,d),d)},cljs.core.transient$.call(null,cljs.core.PersistentArrayMap.EMPTY),b))};taoensso.encore.ks_EQ_=function(a,b){return cljs.core._EQ_.call(null,cljs.core.set.call(null,cljs.core.keys.call(null,b)),taoensso.encore.set_STAR_.call(null,a))};
taoensso.encore.ks_LT__EQ_=function(a,b){return clojure.set.subset_QMARK_.call(null,cljs.core.set.call(null,cljs.core.keys.call(null,b)),taoensso.encore.set_STAR_.call(null,a))};taoensso.encore.ks_GT__EQ_=function(a,b){return clojure.set.superset_QMARK_.call(null,cljs.core.set.call(null,cljs.core.keys.call(null,b)),taoensso.encore.set_STAR_.call(null,a))};
taoensso.encore.ks_nnil_QMARK_=function(a,b){return taoensso.encore.revery_QMARK_.call(null,function(a){return taoensso.encore.some_QMARK_.call(null,cljs.core.get.call(null,b,a))},a)};
taoensso.encore.update_in=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return taoensso.encore.update_in.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return taoensso.encore.update_in.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};taoensso.encore.update_in.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return taoensso.encore.update_in.call(null,a,b,null,c)};
taoensso.encore.update_in.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){var e=cljs.core.seq.call(null,b);if(e){b=cljs.core.nth.call(null,b,0);if(e=cljs.core.next.call(null,e))return cljs.core.assoc.call(null,a,b,taoensso.encore.update_in.call(null,cljs.core.get.call(null,a,b),e,c,d));if(cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,d,new cljs.core.Keyword("swap","dissoc","swap/dissoc",-605373782))))return cljs.core.dissoc.call(null,a,b);c=d.call(null,cljs.core.get.call(null,a,b,
c));return cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,c,new cljs.core.Keyword("swap","dissoc","swap/dissoc",-605373782)))?cljs.core.dissoc.call(null,a,b):cljs.core.assoc.call(null,a,b,c)}return d.call(null,a)};taoensso.encore.update_in.cljs$lang$maxFixedArity=4;
taoensso.encore.contains_in_QMARK_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return taoensso.encore.contains_in_QMARK_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 2:return taoensso.encore.contains_in_QMARK_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};taoensso.encore.contains_in_QMARK_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.contains_QMARK_.call(null,cljs.core.get_in.call(null,a,b),c)};taoensso.encore.contains_in_QMARK_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.seq.call(null,b)?taoensso.encore.fsplit_last.call(null,function(b,d){return taoensso.encore.contains_in_QMARK_.call(null,a,b,d)},b):!1};taoensso.encore.contains_in_QMARK_.cljs$lang$maxFixedArity=3;
taoensso.encore.dissoc_in=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return taoensso.encore.dissoc_in.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:return b=new cljs.core.IndexedSeq(b.slice(3),0,null),taoensso.encore.dissoc_in.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)}};
taoensso.encore.dissoc_in.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return taoensso.encore.update_in.call(null,a,b,null,function(a){return cljs.core.dissoc.call(null,a,c)})};taoensso.encore.dissoc_in.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return taoensso.encore.update_in.call(null,a,b,null,function(a){return cljs.core.apply.call(null,cljs.core.dissoc,a,c,d)})};
taoensso.encore.dissoc_in.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c),c=cljs.core.first.call(null,d),d=cljs.core.next.call(null,d);return taoensso.encore.dissoc_in.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};taoensso.encore.dissoc_in.cljs$lang$maxFixedArity=3;
taoensso.encore.interleave_all=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return taoensso.encore.interleave_all.cljs$core$IFn$_invoke$arity$0();case 1:return taoensso.encore.interleave_all.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.interleave_all.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),taoensso.encore.interleave_all.cljs$core$IFn$_invoke$arity$variadic(arguments[0],
arguments[1],b)}};taoensso.encore.interleave_all.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.List.EMPTY};taoensso.encore.interleave_all.cljs$core$IFn$_invoke$arity$1=function(a){return new cljs.core.LazySeq(null,function(){return a},null,null)};
taoensso.encore.interleave_all.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.LazySeq(null,function(){var c=cljs.core.seq.call(null,a),d=cljs.core.seq.call(null,b);return c&&d?cljs.core.cons.call(null,cljs.core.first.call(null,c),cljs.core.cons.call(null,cljs.core.first.call(null,d),taoensso.encore.interleave_all.call(null,cljs.core.rest.call(null,c),cljs.core.rest.call(null,d)))):c?c:d?d:null},null,null)};
taoensso.encore.interleave_all.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return new cljs.core.LazySeq(null,function(){var d=cljs.core.filter.call(null,cljs.core.identity,cljs.core.map.call(null,cljs.core.seq,cljs.core.conj.call(null,c,b,a)));return cljs.core.concat.call(null,cljs.core.map.call(null,cljs.core.first,d),cljs.core.apply.call(null,taoensso.encore.interleave_all,cljs.core.map.call(null,cljs.core.rest,d)))},null,null)};
taoensso.encore.interleave_all.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return taoensso.encore.interleave_all.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};taoensso.encore.interleave_all.cljs$lang$maxFixedArity=2;
taoensso.encore.vinterleave_all=function(a,b){for(var c=cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY),d=cljs.core.seq.call(null,a),e=cljs.core.seq.call(null,b);;)if(d&&e)c=cljs.core.conj_BANG_.call(null,cljs.core.conj_BANG_.call(null,c,cljs.core.first.call(null,d)),cljs.core.first.call(null,e)),d=cljs.core.next.call(null,d),e=cljs.core.next.call(null,e);else return d?cljs.core.persistent_BANG_.call(null,cljs.core.reduce.call(null,cljs.core.conj_BANG_,c,d)):e?cljs.core.persistent_BANG_.call(null,
cljs.core.reduce.call(null,cljs.core.conj_BANG_,c,e)):cljs.core.persistent_BANG_.call(null,c)};var not_found_33356={};
taoensso.encore._merge_with=function(a){return function(b,c,d){return cljs.core.reduce.call(null,function(a){return function(d,e){return null==e?d:cljs.core.reduce_kv.call(null,function(a){return function l(d,e,f){var g=cljs.core.get.call(null,d,e,a);if(g===a)return cljs.core.assoc.call(null,d,e,f);if(cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,f,new cljs.core.Keyword("swap","dissoc","swap/dissoc",-605373782))))return cljs.core.dissoc.call(null,d,e);if(cljs.core.truth_(cljs.core.truth_(b)?
cljs.core.map_QMARK_.call(null,f)&&cljs.core.map_QMARK_.call(null,g):b))return cljs.core.assoc.call(null,d,e,cljs.core.reduce_kv.call(null,l,g,f));f=c.call(null,g,f);return cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,f,new cljs.core.Keyword("swap","dissoc","swap/dissoc",-605373782)))?cljs.core.dissoc.call(null,d,e):cljs.core.assoc.call(null,d,e,f)}}(a),cljs.core.truth_(d)?d:cljs.core.PersistentArrayMap.EMPTY,e)}}(a),null,d)}}(not_found_33356);
taoensso.encore.merge=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return taoensso.encore.merge.cljs$core$IFn$_invoke$arity$variadic(b)};taoensso.encore.merge.cljs$core$IFn$_invoke$arity$variadic=function(a){return taoensso.encore._merge_with.call(null,!1,function(a,c){return c},a)};taoensso.encore.merge.cljs$lang$maxFixedArity=0;
taoensso.encore.merge.cljs$lang$applyTo=function(a){return taoensso.encore.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};taoensso.encore.merge_with=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.merge_with.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.merge_with.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return taoensso.encore._merge_with.call(null,!1,a,b)};taoensso.encore.merge_with.cljs$lang$maxFixedArity=1;taoensso.encore.merge_with.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return taoensso.encore.merge_with.cljs$core$IFn$_invoke$arity$variadic(b,a)};
taoensso.encore.nested_merge=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return taoensso.encore.nested_merge.cljs$core$IFn$_invoke$arity$variadic(b)};taoensso.encore.nested_merge.cljs$core$IFn$_invoke$arity$variadic=function(a){return taoensso.encore._merge_with.call(null,new cljs.core.Keyword(null,"nest","nest",-314993663),function(a,c){return c},a)};
taoensso.encore.nested_merge.cljs$lang$maxFixedArity=0;taoensso.encore.nested_merge.cljs$lang$applyTo=function(a){return taoensso.encore.nested_merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};taoensso.encore.nested_merge_with=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.nested_merge_with.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.nested_merge_with.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return taoensso.encore._merge_with.call(null,new cljs.core.Keyword(null,"nest","nest",-314993663),a,b)};taoensso.encore.nested_merge_with.cljs$lang$maxFixedArity=1;taoensso.encore.nested_merge_with.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return taoensso.encore.nested_merge_with.cljs$core$IFn$_invoke$arity$variadic(b,a)};
taoensso.encore.Swapped=function(a,b){this.newv=a;this.returnv=b};taoensso.encore.Swapped.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"newv","newv",-238403387,null),new cljs.core.Symbol(null,"returnv","returnv",-1488668972,null)],null)};taoensso.encore.Swapped.cljs$lang$type=!0;taoensso.encore.Swapped.cljs$lang$ctorStr="taoensso.encore/Swapped";
taoensso.encore.Swapped.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"taoensso.encore/Swapped")};taoensso.encore.__GT_Swapped=function(a,b){return new taoensso.encore.Swapped(a,b)};taoensso.encore.swapped_QMARK_=function(a){return a instanceof taoensso.encore.Swapped};taoensso.encore.swapped=function(a,b){return new taoensso.encore.Swapped(a,b)};
taoensso.encore.swapped_vec=function(a){return a instanceof taoensso.encore.Swapped?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a.newv,a.returnv],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,a],null)};taoensso.encore.atom_tag=new cljs.core.Symbol(null,"clojure.lang.IAtom","clojure.lang.IAtom",2048990995,null);
taoensso.encore._swap_val_BANG_=function(a,b,c){for(;;){var d=cljs.core.deref.call(null,a);c=c.call(null,cljs.core.get.call(null,d,b));b=cljs.core.assoc.call(null,d,b,c);cljs.core.reset_BANG_.call(null,a,b);return c}};taoensso.encore._swap_k0_BANG_=function(a,b,c){for(;;){var d=cljs.core.deref.call(null,b);c=c.call(null,d);var e=c instanceof taoensso.encore.Swapped,f=e?c.newv:c;cljs.core.reset_BANG_.call(null,b,f);return e?c.returnv:a.call(null,d,f)}};
taoensso.encore._reset_k0_BANG_=function(a,b,c){for(;;){var d=cljs.core.deref.call(null,b);cljs.core.reset_BANG_.call(null,b,c);return a.call(null,d,c)}};
taoensso.encore._swap_k1_BANG_=function(a,b,c,d,e){if(cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,e,new cljs.core.Keyword("swap","dissoc","swap/dissoc",-605373782))))for(;;){var f=cljs.core.deref.call(null,b);e=cljs.core.dissoc.call(null,f,c);cljs.core.reset_BANG_.call(null,b,e);return a.call(null,cljs.core.get.call(null,f,c,d),new cljs.core.Keyword("swap","dissoc","swap/dissoc",-605373782))}else for(;;){f=cljs.core.deref.call(null,b);d=cljs.core.get.call(null,f,c,d);var g=e.call(null,
d),h=g instanceof taoensso.encore.Swapped,k=h?g.newv:g;e=cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,k,new cljs.core.Keyword("swap","dissoc","swap/dissoc",-605373782)))?cljs.core.dissoc.call(null,f,c):cljs.core.assoc.call(null,f,c,k);cljs.core.reset_BANG_.call(null,b,e);return h?g.returnv:a.call(null,d,k)}};
taoensso.encore._reset_k1_BANG_=function(a,b,c,d,e){for(;;){var f=cljs.core.deref.call(null,b),g=cljs.core.assoc.call(null,f,c,e);cljs.core.reset_BANG_.call(null,b,g);return a.call(null,cljs.core.get.call(null,f,c,d),e)}};
taoensso.encore._swap_kn_BANG_=function(a,b,c,d,e){var f;if(f=cljs.core.seq.call(null,c))if(cljs.core.next.call(null,f))if(cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,e,new cljs.core.Keyword("swap","dissoc","swap/dissoc",-605373782))))for(;;){var g=cljs.core.deref.call(null,b);f=taoensso.encore.fsplit_last.call(null,function(a,b,c){return function(b,c){return taoensso.encore.dissoc_in.call(null,a,b,c)}}(g,f,f),c);cljs.core.reset_BANG_.call(null,b,f);return a.call(null,cljs.core.get_in.call(null,
g,c,d),new cljs.core.Keyword("swap","dissoc","swap/dissoc",-605373782))}else for(;;){g=cljs.core.deref.call(null,b);d=cljs.core.get_in.call(null,g,c,d);e=e.call(null,d);var h=e instanceof taoensso.encore.Swapped,k=h?e.newv:e;f=cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,k,new cljs.core.Keyword("swap","dissoc","swap/dissoc",-605373782)))?taoensso.encore.fsplit_last.call(null,function(a,b,c,d,e,f,g){return function(b,c){return taoensso.encore.dissoc_in.call(null,a,b,c)}}(g,d,e,h,
k,f,f),c):cljs.core.assoc_in.call(null,g,c,k);cljs.core.reset_BANG_.call(null,b,f);return h?e.returnv:a.call(null,d,k)}else return taoensso.encore._swap_k1_BANG_.call(null,a,b,cljs.core.nth.call(null,c,0),d,e);else return taoensso.encore._swap_k0_BANG_.call(null,a,b,e)};
taoensso.encore._reset_kn_BANG_=function(a,b,c,d,e){var f=cljs.core.seq.call(null,c);if(f)if(cljs.core.next.call(null,f))for(;;){var f=cljs.core.deref.call(null,b),g=cljs.core.assoc_in.call(null,f,c,e);cljs.core.reset_BANG_.call(null,b,g);return a.call(null,cljs.core.get_in.call(null,f,c,d),e)}else return taoensso.encore._reset_k1_BANG_.call(null,a,b,cljs.core.nth.call(null,c,0),d,e);else return taoensso.encore._reset_k0_BANG_.call(null,a,b,e)};var return_33378=function(a,b){return b};
taoensso.encore.swap_val_BANG_=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;switch(b.length){case 3:return taoensso.encore.swap_val_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return taoensso.encore.swap_val_BANG_.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}}}(return_33378);taoensso.encore.swap_val_BANG_.cljs$core$IFn$_invoke$arity$3=function(a){return function(b,c,d){return taoensso.encore._swap_k1_BANG_.call(null,a,b,c,null,d)}}(return_33378);taoensso.encore.swap_val_BANG_.cljs$core$IFn$_invoke$arity$4=function(a){return function(b,c,d,e){return taoensso.encore._swap_k1_BANG_.call(null,a,b,c,d,e)}}(return_33378);taoensso.encore.swap_val_BANG_.cljs$lang$maxFixedArity=4;var return_33386=function(a,b){return a};
taoensso.encore.reset_val_BANG_=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;switch(b.length){case 3:return taoensso.encore.reset_val_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return taoensso.encore.reset_val_BANG_.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}}}(return_33386);taoensso.encore.reset_val_BANG_.cljs$core$IFn$_invoke$arity$3=function(a){return function(b,c,d){return taoensso.encore._reset_k1_BANG_.call(null,a,b,c,null,d)}}(return_33386);taoensso.encore.reset_val_BANG_.cljs$core$IFn$_invoke$arity$4=function(a){return function(b,c,d,e){return taoensso.encore._reset_k1_BANG_.call(null,a,b,c,d,e)}}(return_33386);taoensso.encore.reset_val_BANG_.cljs$lang$maxFixedArity=4;
var return_33394=function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)};
taoensso.encore.swap_val_BANG__STAR_=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;switch(b.length){case 3:return taoensso.encore.swap_val_BANG__STAR_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return taoensso.encore.swap_val_BANG__STAR_.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}}}(return_33394);taoensso.encore.swap_val_BANG__STAR_.cljs$core$IFn$_invoke$arity$3=function(a){return function(b,c,d){return taoensso.encore._swap_k1_BANG_.call(null,a,b,c,null,d)}}(return_33394);taoensso.encore.swap_val_BANG__STAR_.cljs$core$IFn$_invoke$arity$4=function(a){return function(b,c,d,e){return taoensso.encore._swap_k1_BANG_.call(null,a,b,c,d,e)}}(return_33394);
taoensso.encore.swap_val_BANG__STAR_.cljs$lang$maxFixedArity=4;
taoensso.encore.pull_val_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return taoensso.encore.pull_val_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.pull_val_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};taoensso.encore.pull_val_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){return taoensso.encore.pull_val_BANG_.call(null,a,b,null)};taoensso.encore.pull_val_BANG_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){a=taoensso.encore.swap_val_BANG__STAR_.call(null,a,b,c,new cljs.core.Keyword("swap","dissoc","swap/dissoc",-605373782));return cljs.core.nth.call(null,a,0,null)};taoensso.encore.pull_val_BANG_.cljs$lang$maxFixedArity=3;var not_found_33411={};
taoensso.encore.reset_val_BANG__QMARK_=function(a){return function(b,c,d){b=taoensso.encore.reset_val_BANG_.call(null,b,c,a,d);return cljs.core._EQ_.call(null,b,d)?!1:!0}}(not_found_33411);var return_33415=function(a,b){return b};
taoensso.encore.swap_in_BANG_=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;switch(b.length){case 2:return taoensso.encore.swap_in_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.swap_in_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return taoensso.encore.swap_in_BANG_.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);
default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}}}(return_33415);taoensso.encore.swap_in_BANG_.cljs$core$IFn$_invoke$arity$2=function(a){return function(b,c){return taoensso.encore._swap_k0_BANG_.call(null,a,b,c)}}(return_33415);taoensso.encore.swap_in_BANG_.cljs$core$IFn$_invoke$arity$3=function(a){return function(b,c,d){return taoensso.encore._swap_kn_BANG_.call(null,a,b,c,null,d)}}(return_33415);
taoensso.encore.swap_in_BANG_.cljs$core$IFn$_invoke$arity$4=function(a){return function(b,c,d,e){return taoensso.encore._swap_kn_BANG_.call(null,a,b,c,d,e)}}(return_33415);taoensso.encore.swap_in_BANG_.cljs$lang$maxFixedArity=4;var return_33423=function(a,b){return a};
taoensso.encore.reset_in_BANG_=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;switch(b.length){case 2:return taoensso.encore.reset_in_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.reset_in_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return taoensso.encore.reset_in_BANG_.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);
default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}}}(return_33423);taoensso.encore.reset_in_BANG_.cljs$core$IFn$_invoke$arity$2=function(a){return function(b,c){return taoensso.encore._reset_k0_BANG_.call(null,a,b,c)}}(return_33423);taoensso.encore.reset_in_BANG_.cljs$core$IFn$_invoke$arity$3=function(a){return function(b,c,d){return taoensso.encore._reset_kn_BANG_.call(null,a,b,c,null,d)}}(return_33423);
taoensso.encore.reset_in_BANG_.cljs$core$IFn$_invoke$arity$4=function(a){return function(b,c,d,e){return taoensso.encore._reset_kn_BANG_.call(null,a,b,c,d,e)}}(return_33423);taoensso.encore.reset_in_BANG_.cljs$lang$maxFixedArity=4;var return_33431=function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)};
taoensso.encore.swap_in_BANG__STAR_=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;switch(b.length){case 2:return taoensso.encore.swap_in_BANG__STAR_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.swap_in_BANG__STAR_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return taoensso.encore.swap_in_BANG__STAR_.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],
arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}}}(return_33431);taoensso.encore.swap_in_BANG__STAR_.cljs$core$IFn$_invoke$arity$2=function(a){return function(b,c){return taoensso.encore._swap_k0_BANG_.call(null,a,b,c)}}(return_33431);
taoensso.encore.swap_in_BANG__STAR_.cljs$core$IFn$_invoke$arity$3=function(a){return function(b,c,d){return taoensso.encore._swap_kn_BANG_.call(null,a,b,c,null,d)}}(return_33431);taoensso.encore.swap_in_BANG__STAR_.cljs$core$IFn$_invoke$arity$4=function(a){return function(b,c,d,e){return taoensso.encore._swap_kn_BANG_.call(null,a,b,c,d,e)}}(return_33431);taoensso.encore.swap_in_BANG__STAR_.cljs$lang$maxFixedArity=4;taoensso.encore.now_dt=function(){return new Date};taoensso.encore.now_udt=function(){return(new Date).getTime()};
taoensso.encore.now_nano=function(){var a=taoensso.encore.oget.call(null,taoensso.encore.js__QMARK_win,"performance");if(cljs.core.truth_(a)){var b=function(){var b=taoensso.encore.oget.call(null,a,"now");if(cljs.core.truth_(b))return b;b=taoensso.encore.oget.call(null,a,"mozNow");if(cljs.core.truth_(b))return b;b=taoensso.encore.oget.call(null,a,"msNow");if(cljs.core.truth_(b))return b;b=taoensso.encore.oget.call(null,a,"oNow");return cljs.core.truth_(b)?b:taoensso.encore.oget.call(null,a,"webkitNow")}();
return cljs.core.truth_(b)?function(a,b,e,f){return function(){return 1E6*cljs.core.long$.call(null,a.call(e))}}(b,b,a,a):function(a,b,e){return function(){return 1E6*(new Date).getTime()}}(b,a,a)}return function(a){return function(){return 1E6*(new Date).getTime()}}(a)}();
taoensso.encore.memoize_=function(a){return function(b,c){return function(){var d=function(d){var e=cljs.core.first.call(null,d);if(cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,e,new cljs.core.Keyword("mem","del","mem/del",574870667))))return d=cljs.core.next.call(null,d),e=cljs.core.first.call(null,d),cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,e,new cljs.core.Keyword("mem","all","mem/all",892075139)))?cljs.core.vreset_BANG_.call(null,b,cljs.core.PersistentArrayMap.EMPTY):
cljs.core._vreset_BANG_.call(null,b,cljs.core.dissoc.call(null,cljs.core._deref.call(null,b),d)),null;if(cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,e,new cljs.core.Keyword("mem","fresh","mem/fresh",-1179989133))))return d=cljs.core.next.call(null,d),e=cljs.core.apply.call(null,a,d),cljs.core._vreset_BANG_.call(null,b,cljs.core.assoc.call(null,cljs.core._deref.call(null,b),d,e)),e;e=cljs.core.get.call(null,cljs.core.deref.call(null,b),d,c);e===c&&(e=cljs.core.apply.call(null,a,
d),cljs.core._vreset_BANG_.call(null,b,cljs.core.assoc.call(null,cljs.core._deref.call(null,b),d,e)));return e},e=function(a){var b=null;if(0<arguments.length){for(var b=0,c=Array(arguments.length-0);b<c.length;)c[b]=arguments[b+0],++b;b=new cljs.core.IndexedSeq(c,0,null)}return d.call(this,b)};e.cljs$lang$maxFixedArity=0;e.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return d(a)};e.cljs$core$IFn$_invoke$arity$variadic=d;return e}()}(cljs.core.volatile_BANG_.call(null,cljs.core.PersistentArrayMap.EMPTY),
{})};
taoensso.encore.memoize_last=function(a){return function(b){return function(){var c=function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.get.call(null,cljs.core.deref.call(null,b),c);return cljs.core.truth_(d)?d:cljs.core.get.call(null,cljs.core.swap_BANG_.call(null,b,function(b,d){return function(e){return cljs.core.truth_(cljs.core.get.call(null,e,c))?e:cljs.core.PersistentArrayMap.createAsIfByAssoc([c,new cljs.core.Delay(function(b,d){return function(){return cljs.core.apply.call(null,a,
c)}}(b,d),null)])}}(d,b)),c)}())},d=function(a){var b=null;if(0<arguments.length){for(var b=0,d=Array(arguments.length-0);b<d.length;)d[b]=arguments[b+0],++b;b=new cljs.core.IndexedSeq(d,0,null)}return c.call(this,b)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return c(a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}()}(cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY))};taoensso.encore.SimpleCacheEntry=function(a,b){this.delay=a;this.udt=b};
taoensso.encore.SimpleCacheEntry.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"delay","delay",1066306308,null),cljs.core.with_meta(new cljs.core.Symbol(null,"udt","udt",-642723018,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"long","long",1469079434,null)],null))],null)};taoensso.encore.SimpleCacheEntry.cljs$lang$type=!0;
taoensso.encore.SimpleCacheEntry.cljs$lang$ctorStr="taoensso.encore/SimpleCacheEntry";taoensso.encore.SimpleCacheEntry.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"taoensso.encore/SimpleCacheEntry")};taoensso.encore.__GT_SimpleCacheEntry=function(a,b){return new taoensso.encore.SimpleCacheEntry(a,b)};taoensso.encore.TickedCacheEntry=function(a,b,c,d){this.delay=a;this.udt=b;this.tick_lru=c;this.tick_lfu=d};
taoensso.encore.TickedCacheEntry.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"delay","delay",1066306308,null),cljs.core.with_meta(new cljs.core.Symbol(null,"udt","udt",-642723018,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"long","long",1469079434,null)],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"tick-lru","tick-lru",1625824877,
null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"long","long",1469079434,null)],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"tick-lfu","tick-lfu",-1976905322,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"long","long",1469079434,null)],null))],null)};taoensso.encore.TickedCacheEntry.cljs$lang$type=!0;
taoensso.encore.TickedCacheEntry.cljs$lang$ctorStr="taoensso.encore/TickedCacheEntry";taoensso.encore.TickedCacheEntry.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"taoensso.encore/TickedCacheEntry")};taoensso.encore.__GT_TickedCacheEntry=function(a,b,c,d){return new taoensso.encore.TickedCacheEntry(a,b,c,d)};
taoensso.encore.memoize_STAR_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return taoensso.encore.memoize_STAR_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.memoize_STAR_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.memoize_STAR_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};taoensso.encore.memoize_STAR_.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.encore.memoize_.call(null,a)};
taoensso.encore.memoize_STAR_.cljs$core$IFn$_invoke$arity$2=function(a,b){try{var c=taoensso.encore.pos_int_QMARK_.call(null,a)?null:taoensso.truss.impl._dummy_error}catch(f){if(f instanceof Error)c=f;else throw f;}null!=c&&taoensso.truss.impl._invar_violation_BANG_.call(null,!0,"taoensso.encore",1736,"(pos-int? ttl-ms)",a,c,null);c=cljs.core.atom.call(null,null);var d=cljs.core.atom.call(null,null),e=cljs.core.long$.call(null,a);return function(a,c,d){return function(){var e=function(e){var f=cljs.core.first.call(null,
e);if(cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,f,new cljs.core.Keyword("mem","del","mem/del",574870667)))){var f=cljs.core.next.call(null,e),g=cljs.core.first.call(null,f);cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,g,new cljs.core.Keyword("mem","all","mem/all",892075139)))?cljs.core.reset_BANG_.call(null,a,null):cljs.core.swap_BANG_.call(null,a,cljs.core.dissoc,f);return null}g=(new Date).getTime();6.25E-5>=Math.random()&&(cljs.core.reset_BANG_.call(null,
c,null),cljs.core.swap_BANG_.call(null,a,function(a,b,c,d,e,f){return function(g){return cljs.core.persistent_BANG_.call(null,cljs.core.reduce_kv.call(null,function(a,b,c,d,e,f){return function(a,c,d){return b-d.udt>f?cljs.core.dissoc_BANG_.call(null,a,c):a}}(a,b,c,d,e,f),cljs.core.transient$.call(null,cljs.core.truth_(g)?g:cljs.core.PersistentArrayMap.EMPTY),g))}}(null,g,f,a,c,d)));var h=taoensso.encore.kw_identical_QMARK_.call(null,f,new cljs.core.Keyword("mem","fresh","mem/fresh",-1179989133));
e=cljs.core.truth_(h)?cljs.core.next.call(null,e):e;f=taoensso.encore._swap_val_BANG_.call(null,a,e,function(a,c,d,e,f,g,h){return function(k){return cljs.core.truth_(function(){var b=null==k;return b?b:cljs.core.truth_(a)?a:d-k.udt>h}())?new taoensso.encore.SimpleCacheEntry(new cljs.core.Delay(function(a,c,d,e,f,g,h){return function(){return cljs.core.apply.call(null,b,c)}}(a,c,d,e,f,g,h),null),d):k}}(h,e,g,f,a,c,d));return cljs.core.deref.call(null,f.delay)},f=function(a){var b=null;if(0<arguments.length){for(var b=
0,c=Array(arguments.length-0);b<c.length;)c[b]=arguments[b+0],++b;b=new cljs.core.IndexedSeq(c,0,null)}return e.call(this,b)};f.cljs$lang$maxFixedArity=0;f.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return e(a)};f.cljs$core$IFn$_invoke$arity$variadic=e;return f}()}(c,d,e)};
taoensso.encore.memoize_STAR_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){cljs.core.truth_(function(a){var b=null==a;return b?b:taoensso.truss.impl.non_throwing.call(null,taoensso.encore.pos_int_QMARK_).call(null,a)}.call(null,b))||taoensso.truss.impl._invar_violation_BANG_.call(null,!0,"taoensso.encore",1787,"([:or nil? pos-int?] ttl-ms)",b,null,null);try{var d=taoensso.encore.pos_int_QMARK_.call(null,a)?null:taoensso.truss.impl._dummy_error}catch(h){if(h instanceof Error)d=h;else throw h;}null!=
d&&taoensso.truss.impl._invar_violation_BANG_.call(null,!0,"taoensso.encore",1788,"(pos-int? cache-size)",a,d,null);d=cljs.core.atom.call(null,0);var e=cljs.core.atom.call(null,null),f=cljs.core.atom.call(null,null);b=cljs.core.long$.call(null,cljs.core.truth_(b)?b:0);var g=0!==b;a=cljs.core.long$.call(null,a);return function(a,b,d,e,f,g){return function(){var h=function(h){var k=cljs.core.first.call(null,h);if(cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,k,new cljs.core.Keyword("mem",
"del","mem/del",574870667)))){var k=cljs.core.next.call(null,h),l=cljs.core.first.call(null,k);cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,l,new cljs.core.Keyword("mem","all","mem/all",892075139)))?cljs.core.reset_BANG_.call(null,b,null):cljs.core.swap_BANG_.call(null,b,cljs.core.dissoc,k);return null}l=f?(new Date).getTime():0;if(6.25E-5>=Math.random()){cljs.core.reset_BANG_.call(null,d,null);f&&cljs.core.swap_BANG_.call(null,b,function(a,b,c,d,e,f,g,h,k){return function(l){return cljs.core.persistent_BANG_.call(null,
cljs.core.reduce_kv.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,c,d){return b-d.udt>g?cljs.core.dissoc_BANG_.call(null,a,c):a}}(a,b,c,d,e,f,g,h,k),cljs.core.transient$.call(null,cljs.core.truth_(l)?l:cljs.core.PersistentArrayMap.EMPTY),l))}}(null,l,k,a,b,d,e,f,g));var m=cljs.core.deref.call(null,b),n=cljs.core.count.call(null,m)-g;if(64<n){var p=taoensso.encore.top.call(null,n,function(a,b,c,d,e,f,g,h,k,l,m){return function(b){b=cljs.core.get.call(null,a,b);return b.tick_lru+b.tick_lfu}}(m,
n,null,l,k,a,b,d,e,f,g),cljs.core.keys.call(null,m));cljs.core.swap_BANG_.call(null,b,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(p){return cljs.core.persistent_BANG_.call(null,cljs.core.reduce.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a,b){return cljs.core.dissoc_BANG_.call(null,a,b)}}(a,b,c,d,e,f,g,h,k,l,m,n),cljs.core.transient$.call(null,cljs.core.truth_(p)?p:cljs.core.PersistentArrayMap.EMPTY),a))}}(p,m,n,null,l,k,a,b,d,e,f,g))}}m=taoensso.encore.kw_identical_QMARK_.call(null,
k,new cljs.core.Keyword("mem","fresh","mem/fresh",-1179989133));h=cljs.core.truth_(m)?cljs.core.next.call(null,h):h;n=cljs.core.swap_BANG_.call(null,a,function(a,b,c,d,e,f,g,h,k,l){return function(a){return a+1}}(m,h,l,k,a,b,d,e,f,g));k=taoensso.encore._swap_val_BANG_.call(null,b,h,function(a,b,d,e,f,g,h,k,l,m,n){return function(p){return cljs.core.truth_(function(){var b=null==p;return b?b:cljs.core.truth_(a)?a:e-p.udt>l}())?new taoensso.encore.TickedCacheEntry(new cljs.core.Delay(function(a,b,d,
e,f,g,h,k,l,m,n){return function(){return cljs.core.apply.call(null,c,b)}}(a,b,d,e,f,g,h,k,l,m,n),null),e,d,1):new taoensso.encore.TickedCacheEntry(p.delay,p.udt,d,p.tick_lfu+1)}}(m,h,n,l,k,a,b,d,e,f,g));return cljs.core.deref.call(null,k.delay)},k=function(a){var b=null;if(0<arguments.length){for(var b=0,c=Array(arguments.length-0);b<c.length;)c[b]=arguments[b+0],++b;b=new cljs.core.IndexedSeq(c,0,null)}return h.call(this,b)};k.cljs$lang$maxFixedArity=0;k.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);
return h(a)};k.cljs$core$IFn$_invoke$arity$variadic=h;return k}()}(d,e,f,b,g,a)};taoensso.encore.memoize_STAR_.cljs$lang$maxFixedArity=3;taoensso.encore.LimitSpec=function(a,b){this.n=a;this.ms=b};
taoensso.encore.LimitSpec.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"n","n",-2092305744,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"long","long",1469079434,null)],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"ms","ms",487821794,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"tag","tag",-1290361223),new cljs.core.Symbol(null,"long","long",1469079434,null)],null))],null)};taoensso.encore.LimitSpec.cljs$lang$type=!0;taoensso.encore.LimitSpec.cljs$lang$ctorStr="taoensso.encore/LimitSpec";taoensso.encore.LimitSpec.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"taoensso.encore/LimitSpec")};taoensso.encore.__GT_LimitSpec=function(a,b){return new taoensso.encore.LimitSpec(a,b)};taoensso.encore.LimitEntry=function(a,b){this.n=a;this.udt0=b};
taoensso.encore.LimitEntry.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"n","n",-2092305744,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"long","long",1469079434,null)],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"udt0","udt0",-969222777,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"tag","tag",-1290361223),new cljs.core.Symbol(null,"long","long",1469079434,null)],null))],null)};taoensso.encore.LimitEntry.cljs$lang$type=!0;taoensso.encore.LimitEntry.cljs$lang$ctorStr="taoensso.encore/LimitEntry";taoensso.encore.LimitEntry.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"taoensso.encore/LimitEntry")};taoensso.encore.__GT_LimitEntry=function(a,b){return new taoensso.encore.LimitEntry(a,b)};
taoensso.encore.LimitHits=function(a,b,c){this.m=a;this.worst_sid=b;this.worst_ms=c};
taoensso.encore.LimitHits.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"m","m",-1021758608,null),new cljs.core.Symbol(null,"worst-sid","worst-sid",1427291395,null),cljs.core.with_meta(new cljs.core.Symbol(null,"worst-ms","worst-ms",1541498579,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"long","long",1469079434,null)],null))],null)};
taoensso.encore.LimitHits.cljs$lang$type=!0;taoensso.encore.LimitHits.cljs$lang$ctorStr="taoensso.encore/LimitHits";taoensso.encore.LimitHits.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"taoensso.encore/LimitHits")};taoensso.encore.__GT_LimitHits=function(a,b,c){return new taoensso.encore.LimitHits(a,b,c)};
var limit_spec_33486=function(a,b){new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[function(){try{var b=taoensso.encore.pos_int_QMARK_.call(null,a)?null:taoensso.truss.impl._dummy_error}catch(d){if(d instanceof Error)b=d;else throw d;}return null==b?!0:taoensso.truss.impl._invar_violation_BANG_.call(null,!0,"taoensso.encore",1888,"(pos-int? n)",a,b,null)}(),function(){try{var a=taoensso.encore.pos_int_QMARK_.call(null,b)?null:taoensso.truss.impl._dummy_error}catch(d){if(d instanceof
Error)a=d;else throw d;}return null==a?!0:taoensso.truss.impl._invar_violation_BANG_.call(null,!0,"taoensso.encore",1888,"(pos-int? ms)",b,a,null)}()],null);return new taoensso.encore.LimitSpec(a,b)};
taoensso.encore.coerce_limit_specs=function(a){return function(b){if(cljs.core.map_QMARK_.call(null,b))return cljs.core.reduce_kv.call(null,function(a){return function(b,c,d){var e=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);return cljs.core.assoc.call(null,b,c,a.call(null,e,d))}}(a),cljs.core.PersistentArrayMap.EMPTY,b);if(cljs.core.vector_QMARK_.call(null,b)){var c=cljs.core.volatile_BANG_.call(null,-1);return cljs.core.reduce.call(null,function(a,b){return function(c,
d){var e=cljs.core.nth.call(null,d,0,null),f=cljs.core.nth.call(null,d,1,null),g=cljs.core.nth.call(null,d,2,null);return cljs.core.assoc.call(null,c,function(){return cljs.core.truth_(g)?g:cljs.core._vreset_BANG_.call(null,a,function(a,b,c,d,e,f,g){return function(a){return a+1}}(g,d,e,f,g,a,b).call(null,cljs.core._deref.call(null,a)))}(),b.call(null,e,f))}}(c,a),cljs.core.PersistentArrayMap.EMPTY,b)}throw cljs.core.ex_info.call(null,"No matching `encore/cond!` clause",cljs.core.PersistentArrayMap.EMPTY);
}}(limit_spec_33486);
taoensso.encore.limiter_STAR_=function(a){if(cljs.core.empty_QMARK_.call(null,a))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,cljs.core.constantly.call(null,null)],null);var b=cljs.core.atom.call(null,null),c=cljs.core.atom.call(null,null);a=taoensso.encore.coerce_limit_specs.call(null,a);var d=function(a,b,c){return function(d,e){var f=(new Date).getTime();cljs.core.not.call(null,e)&&6.25E-5>=Math.random()&&(cljs.core.reset_BANG_.call(null,a,null),cljs.core.swap_BANG_.call(null,
b,function(a,b,c,d,e){return function(f){return cljs.core.persistent_BANG_.call(null,cljs.core.reduce_kv.call(null,function(a,b,c,d,e){return function(f,g,h){h=cljs.core.reduce_kv.call(null,function(a,b,c,d,e){return function(a,c,d){var f=cljs.core.get.call(null,e,c);return cljs.core.truth_(f)?b>=d.udt0+f.ms?cljs.core.dissoc.call(null,a,c):a:cljs.core.dissoc.call(null,a,c)}}(a,b,c,d,e),h,h);return cljs.core.empty_QMARK_.call(null,h)?cljs.core.dissoc_BANG_.call(null,f,g):cljs.core.assoc_BANG_.call(null,
f,g,h)}}(a,b,c,d,e),cljs.core.transient$.call(null,cljs.core.truth_(f)?f:cljs.core.PersistentArrayMap.EMPTY),f))}}(null,f,a,b,c)));for(;;){var g=cljs.core.deref.call(null,b),h=cljs.core.get.call(null,g,d),k=null==h?null:cljs.core.reduce_kv.call(null,function(a,b,c,d,e,f){return function(a,b,d){var e=cljs.core.get.call(null,f,b);if(cljs.core.truth_(e)){if(d.n<e.n)return a;d=d.udt0+e.ms-c;return 0>=d?a:null==a?new taoensso.encore.LimitHits(cljs.core.PersistentArrayMap.createAsIfByAssoc([b,d]),b,d):
d>a.worst_ms?new taoensso.encore.LimitHits(cljs.core.assoc.call(null,a.m,b,d),b,d):new taoensso.encore.LimitHits(cljs.core.assoc.call(null,a.m,b,d),a.worst_sid,a.worst_ms)}return a}}(g,h,f,a,b,c),null,h);if(cljs.core.truth_(cljs.core.truth_(e)?e:k)){var q=k;return cljs.core.truth_(q)?(g=q,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[g.worst_sid,g.worst_ms,g.m],null)):null}q=cljs.core.deref.call(null,a);cljs.core.truth_(q)||(q=cljs.core.reduce_kv.call(null,function(a,
b,c,d,e,f,g,h){return function(a,b,d){return cljs.core.assoc.call(null,a,b,function(){var a=cljs.core.get.call(null,c,b);if(cljs.core.truth_(a)){var f=a.udt0;return e>=f+d.ms?new taoensso.encore.LimitEntry(1,e):new taoensso.encore.LimitEntry(a.n+1,f)}return new taoensso.encore.LimitEntry(1,e)}())}}(q,g,h,k,f,a,b,c),h,c),cljs.core.reset_BANG_.call(null,b,cljs.core.assoc.call(null,g,d,q)));return null}}}(b,c,a);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,
function(a,b,c,d){return function(){var a=null,c=function(){return d.call(null,null,!1)},e=function(a){return d.call(null,a,!1)},f=function(a,c){if(cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,a,new cljs.core.Keyword("rl","reset","rl/reset",-800926172))))return cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,c,new cljs.core.Keyword("rl","all","rl/all",892118056)))?cljs.core.reset_BANG_.call(null,b,null):cljs.core.swap_BANG_.call(null,b,cljs.core.dissoc,c),null;if(cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,
a,new cljs.core.Keyword("rl","peek","rl/peek",-291391771))))return d.call(null,c,!0);throw cljs.core.ex_info.call(null,"Unrecognized rate limiter command",new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"given","given",716253602),a,new cljs.core.Keyword(null,"req-id","req-id",-471642231),c],null));},a=function(a,b){switch(arguments.length){case 0:return c.call(this);case 1:return e.call(this,a);case 2:return f.call(this,a,b)}throw Error("Invalid arity: "+(arguments.length-1));
};a.cljs$core$IFn$_invoke$arity$0=c;a.cljs$core$IFn$_invoke$arity$1=e;a.cljs$core$IFn$_invoke$arity$2=f;return a}()}(b,c,a,d)],null)};taoensso.encore.limiter=function(a){a=taoensso.encore.limiter_STAR_.call(null,a);cljs.core.nth.call(null,a,0,null);return cljs.core.nth.call(null,a,1,null)};taoensso.encore.str_builder_QMARK_=function(a){return a instanceof goog.string.StringBuffer};
taoensso.encore.str_builder=function(){var a=null,b=function(){return new goog.string.StringBuffer},c=function(a){return new goog.string.StringBuffer(a)},a=function(a){switch(arguments.length){case 0:return b.call(this);case 1:return c.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$0=b;a.cljs$core$IFn$_invoke$arity$1=c;return a}();
taoensso.encore.sb_append=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return taoensso.encore.sb_append.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),taoensso.encore.sb_append.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};taoensso.encore.sb_append.cljs$core$IFn$_invoke$arity$2=function(a,b){return a.append(b)};
taoensso.encore.sb_append.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){taoensso.encore.sb_append.call(null,a,b);return cljs.core.reduce.call(null,function(a,b){return taoensso.encore.sb_append.call(null,a,b)},a,c)};taoensso.encore.sb_append.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return taoensso.encore.sb_append.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
taoensso.encore.sb_append.cljs$lang$maxFixedArity=2;
taoensso.encore.str_rf=function(){var a=null,b=function(){return taoensso.encore.str_builder.call(null)},c=function(a){return taoensso.encore.str_builder_QMARK_.call(null,a)?a:taoensso.encore.str_builder.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a))},d=function(a,b){return taoensso.encore.sb_append.call(null,taoensso.encore.str_builder_QMARK_.call(null,a)?a:taoensso.encore.str_builder.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)),""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(b))},
a=function(a,f){switch(arguments.length){case 0:return b.call(this);case 1:return c.call(this,a);case 2:return d.call(this,a,f)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$0=b;a.cljs$core$IFn$_invoke$arity$1=c;a.cljs$core$IFn$_invoke$arity$2=d;return a}();
taoensso.encore.str_join=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return taoensso.encore.str_join.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.str_join.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.str_join.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};taoensso.encore.str_join.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.encore.str_join.call(null,null,null,a)};taoensso.encore.str_join.cljs$core$IFn$_invoke$arity$2=function(a,b){return taoensso.encore.str_join.call(null,a,null,b)};
taoensso.encore.str_join.cljs$core$IFn$_invoke$arity$3=function(a,b,c){if(cljs.core.truth_(cljs.core.truth_(a)?cljs.core.not_EQ_.call(null,a,""):a)){a=cljs.core.interpose.call(null,a);var d=cljs.core.completing.call(null,taoensso.encore.str_rf,cljs.core.str);return cljs.core.truth_(b)?cljs.core.transduce.call(null,cljs.core.comp.call(null,b,a),d,c):cljs.core.transduce.call(null,a,d,c)}return cljs.core.truth_(b)?cljs.core.transduce.call(null,b,cljs.core.completing.call(null,taoensso.encore.str_rf,
cljs.core.str),c):""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.reduce.call(null,taoensso.encore.str_rf,c))};taoensso.encore.str_join.cljs$lang$maxFixedArity=3;taoensso.encore.str_contains_QMARK_=function(a,b){return cljs.core.not_EQ_.call(null,-1,a.indexOf(b))};taoensso.encore.str_starts_with_QMARK_=function(a,b){return 0===a.indexOf(b)};taoensso.encore.str_ends_with_QMARK_=function(a,b){var c=a.length,d=b.length;return c>=d?cljs.core.not_EQ_.call(null,-1,a.indexOf(b,c-d)):null};
taoensso.encore.str__QMARK_index=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return taoensso.encore.str__QMARK_index.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.str__QMARK_index.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return taoensso.encore.str__QMARK_index.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};taoensso.encore.str__QMARK_index.cljs$core$IFn$_invoke$arity$2=function(a,b){return taoensso.encore.str__QMARK_index.call(null,a,b,0,!1)};taoensso.encore.str__QMARK_index.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return taoensso.encore.str__QMARK_index.call(null,a,b,c,!1)};
taoensso.encore.str__QMARK_index.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){a=cljs.core.truth_(d)?a.lastIndexOf(b,c):a.indexOf(b,c);return cljs.core.not_EQ_.call(null,a,-1)?a:null};taoensso.encore.str__QMARK_index.cljs$lang$maxFixedArity=4;
taoensso.encore.get_substr=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return taoensso.encore.get_substr.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.get_substr.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
taoensso.encore.get_substr.cljs$core$IFn$_invoke$arity$2=function(a,b){return a.substring(b)};taoensso.encore.get_substr.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return b>=c?"":a.substring(b,c)};taoensso.encore.get_substr.cljs$lang$maxFixedArity=3;
taoensso.encore.get_substring=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return taoensso.encore.get_substring.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.get_substring.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};taoensso.encore.get_substring.cljs$core$IFn$_invoke$arity$2=function(a,b){return taoensso.encore.as__QMARK_nempty_str.call(null,a.substr(b))};taoensso.encore.get_substring.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return taoensso.encore.as__QMARK_nempty_str.call(null,a.substr(b,c))};taoensso.encore.get_substring.cljs$lang$maxFixedArity=3;
taoensso.encore.str_replace=function(a,b,c){if("string"===typeof b)return a.replace(new RegExp(goog.string.regExpEscape(b),"g"),c);if(b instanceof RegExp){var d=[cljs.core.str.cljs$core$IFn$_invoke$arity$1("g"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(b.ignoreCase)?"i":null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(b.multiline)?"m":null)].join(""),e="string"===typeof c?c:function(a){return function(){var a=function(a){return c.call(null,cljs.core.vec.call(null,
a))},b=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(d);return a.replace(new RegExp(b.source,d),e)}throw[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid match arg: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("");
};taoensso.encore.nil__GT_str=function(a){return void 0===a||null==a?"nil":a};taoensso.encore.format_STAR_=function(a,b){var c=cljs.core.truth_(a)?a:"";var d=cljs.core.mapv.call(null,taoensso.encore.nil__GT_str,b);return cljs.core.apply.call(null,goog.string.format,c,d)};
taoensso.encore.format=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.format.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};taoensso.encore.format.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return taoensso.encore.format_STAR_.call(null,a,b)};taoensso.encore.format.cljs$lang$maxFixedArity=1;
taoensso.encore.format.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return taoensso.encore.format.cljs$core$IFn$_invoke$arity$variadic(b,a)};
taoensso.encore.str_join_once=function(a,b){if(clojure.string.blank_QMARK_.call(null,a))return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.reduce.call(null,taoensso.encore.str_rf,"",b));var c=cljs.core.volatile_BANG_.call(null,!1),d=cljs.core.volatile_BANG_.call(null,!0);return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.reduce.call(null,function(a,b,c){return function(d,e){var f=""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),g=cljs.core._EQ_.call(null,f,""),h=taoensso.encore.str_starts_with_QMARK_.call(null,
f,c),k=taoensso.encore.str_ends_with_QMARK_.call(null,f,c),q=cljs.core.deref.call(null,a),r=cljs.core.deref.call(null,b);cljs.core.vreset_BANG_.call(null,a,k);cljs.core.truth_(r)&&cljs.core.vreset_BANG_.call(null,b,g);if(cljs.core.truth_(q))return h?taoensso.encore.sb_append.call(null,d,f.substring(1)):taoensso.encore.sb_append.call(null,d,f);h||cljs.core.truth_(cljs.core.truth_(r)?r:g)||taoensso.encore.sb_append.call(null,d,c);return taoensso.encore.sb_append.call(null,d,f)}}(c,d,a),taoensso.encore.str_builder.call(null),
b))};taoensso.encore.path=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return taoensso.encore.path.cljs$core$IFn$_invoke$arity$variadic(b)};taoensso.encore.path.cljs$core$IFn$_invoke$arity$variadic=function(a){return taoensso.encore.str_join_once.call(null,"/",a)};taoensso.encore.path.cljs$lang$maxFixedArity=0;
taoensso.encore.path.cljs$lang$applyTo=function(a){return taoensso.encore.path.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};taoensso.encore.norm_word_breaks=function(a){return clojure.string.replace.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),/\s+/," ")};taoensso.encore.count_words=function(a){return clojure.string.blank_QMARK_.call(null,a)?0:cljs.core.count.call(null,clojure.string.split.call(null,a,/\s+/))};
taoensso.encore.uuid_str=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return taoensso.encore.uuid_str.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 0:return taoensso.encore.uuid_str.cljs$core$IFn$_invoke$arity$0();default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
taoensso.encore.uuid_str.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.encore.get_substring.call(null,taoensso.encore.uuid_str.call(null),0,a)};
taoensso.encore.uuid_str.cljs$core$IFn$_invoke$arity$0=function(){var a=function(){return cljs.core.rand_int.call(null,16).toString(16)},b=(8|3&cljs.core.rand_int.call(null,16)).toString(16);return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("4"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(a.call(null))].join("")};taoensso.encore.uuid_str.cljs$lang$maxFixedArity=1;taoensso.encore.into_str=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return taoensso.encore.into_str.cljs$core$IFn$_invoke$arity$variadic(b)};
taoensso.encore.into_str.cljs$core$IFn$_invoke$arity$variadic=function(a){return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.reduce.call(null,function c(a,e){return cljs.core.sequential_QMARK_.call(null,e)?cljs.core.reduce.call(null,c,a,e):taoensso.encore.sb_append.call(null,a,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(e))},taoensso.encore.str_builder.call(null),a))};taoensso.encore.into_str.cljs$lang$maxFixedArity=0;
taoensso.encore.into_str.cljs$lang$applyTo=function(a){return taoensso.encore.into_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};taoensso.encore.rcompare=function(a,b){return cljs.core.compare.call(null,b,a)};var sentinel_33560={},nil__GT_sentinel_33561=function(a){return function(b){return null==b?a:b}}(sentinel_33560),sentinel__GT_nil_33562=function(a,b){return function(b){return b===a?null:b}}(sentinel_33560,nil__GT_sentinel_33561);
taoensso.encore.reduce_top=function(a,b,c){return function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 4:return taoensso.encore.reduce_top.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return taoensso.encore.reduce_top.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);case 6:return taoensso.encore.reduce_top.cljs$core$IFn$_invoke$arity$6(arguments[0],
arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}}}(sentinel_33560,nil__GT_sentinel_33561,sentinel__GT_nil_33562);
taoensso.encore.reduce_top.cljs$core$IFn$_invoke$arity$4=function(a,b,c){return function(a,b,c,g){return taoensso.encore.reduce_top.call(null,a,cljs.core.identity,cljs.core.compare,b,c,g)}}(sentinel_33560,nil__GT_sentinel_33561,sentinel__GT_nil_33562);taoensso.encore.reduce_top.cljs$core$IFn$_invoke$arity$5=function(a,b,c){return function(a,b,c,g,h){return taoensso.encore.reduce_top.call(null,a,b,cljs.core.compare,c,g,h)}}(sentinel_33560,nil__GT_sentinel_33561,sentinel__GT_nil_33562);
taoensso.encore.reduce_top.cljs$core$IFn$_invoke$arity$6=function(a,b,c){return function(a,b,c,g,h,k){var d=cljs.core.count.call(null,k),e=cljs.core.long$.call(null,function(){var b=cljs.core.long$.call(null,a);return d<b?d:b}());return 0<e?cljs.core.transduce.call(null,cljs.core.take.call(null,e),cljs.core.completing.call(null,g),h,cljs.core.sort_by.call(null,b,c,k)):h}}(sentinel_33560,nil__GT_sentinel_33561,sentinel__GT_nil_33562);taoensso.encore.reduce_top.cljs$lang$maxFixedArity=6;
taoensso.encore.top_into=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return taoensso.encore.top_into.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return taoensso.encore.top_into.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return taoensso.encore.top_into.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);
default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};taoensso.encore.top_into.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return taoensso.encore.top_into.call(null,a,b,cljs.core.identity,cljs.core.compare,c)};taoensso.encore.top_into.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return taoensso.encore.top_into.call(null,a,b,c,cljs.core.compare,d)};
taoensso.encore.top_into.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){return taoensso.encore.editable_QMARK_.call(null,a)?cljs.core.persistent_BANG_.call(null,taoensso.encore.reduce_top.call(null,b,c,d,cljs.core.conj_BANG_,cljs.core.transient$.call(null,a),e)):taoensso.encore.reduce_top.call(null,b,c,d,cljs.core.conj,a,e)};taoensso.encore.top_into.cljs$lang$maxFixedArity=5;
taoensso.encore.top=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return taoensso.encore.top.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.top.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return taoensso.encore.top.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};taoensso.encore.top.cljs$core$IFn$_invoke$arity$2=function(a,b){return taoensso.encore.top_into.call(null,cljs.core.PersistentVector.EMPTY,a,cljs.core.identity,cljs.core.compare,b)};taoensso.encore.top.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return taoensso.encore.top_into.call(null,cljs.core.PersistentVector.EMPTY,a,b,cljs.core.compare,c)};
taoensso.encore.top.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return taoensso.encore.top_into.call(null,cljs.core.PersistentVector.EMPTY,a,b,c,d)};taoensso.encore.top.cljs$lang$maxFixedArity=4;taoensso.encore.secs__GT_ms=function(a){return 1E3*cljs.core.long$.call(null,a)};taoensso.encore.ms__GT_secs=function(a){return cljs.core.quot.call(null,cljs.core.long$.call(null,a),1E3)};
taoensso.encore.ms=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return taoensso.encore.ms.cljs$core$IFn$_invoke$arity$variadic(b)};
taoensso.encore.ms.cljs$core$IFn$_invoke$arity$variadic=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"years","years",-1298579689)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"months","months",-45571637)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"weeks","weeks",1844596125)),f=cljs.core.get.call(null,
b,new cljs.core.Keyword(null,"days","days",-1394072564)),g=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"hours","hours",58380855)),h=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"mins","mins",467369676)),k=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"secs","secs",1532330091)),l=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"msecs","msecs",1711980553)),m=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"ms","ms",-1152709733));taoensso.truss.impl.revery_QMARK_.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,A){return function(a){return cljs.core.truth_((new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,9,[new cljs.core.Keyword(null,"msecs","msecs",1711980553),null,new cljs.core.Keyword(null,"secs","secs",1532330091),null,new cljs.core.Keyword(null,"months","months",-45571637),null,new cljs.core.Keyword(null,"days","days",-1394072564),null,new cljs.core.Keyword(null,"mins","mins",467369676),null,new cljs.core.Keyword(null,"hours","hours",58380855),
null,new cljs.core.Keyword(null,"years","years",-1298579689),null,new cljs.core.Keyword(null,"ms","ms",-1152709733),null,new cljs.core.Keyword(null,"weeks","weeks",1844596125),null],null),null)).call(null,a))?!0:taoensso.truss.impl._invar_violation_BANG_.call(null,!0,"taoensso.encore",2391,"(#{:msecs :secs :months :days :mins :hours :years :ms :weeks} __in)",a,null,null)}}(a,b,b,c,d,e,f,g,h,k,l,m),cljs.core.keys.call(null,b));return taoensso.encore.round0.call(null,(cljs.core.truth_(c)?31536E6*c:
0)+(cljs.core.truth_(d)?2551392E3*d:0)+(cljs.core.truth_(e)?6048E5*e:0)+(cljs.core.truth_(f)?864E5*f:0)+(cljs.core.truth_(g)?36E5*g:0)+(cljs.core.truth_(h)?6E4*h:0)+(cljs.core.truth_(k)?1E3*k:0)+(cljs.core.truth_(l)?l:0)+(cljs.core.truth_(m)?m:0))};taoensso.encore.ms.cljs$lang$maxFixedArity=0;taoensso.encore.ms.cljs$lang$applyTo=function(a){return taoensso.encore.ms.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
taoensso.encore.secs=cljs.core.comp.call(null,taoensso.encore.ms__GT_secs,taoensso.encore.ms);
taoensso.encore.console_log="undefined"!==typeof console?function(){var a=function(a){var b=console.log;return cljs.core.truth_(b)?b.apply(console,cljs.core.into_array.call(null,a)):null},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=
a;return b}():function(){var a=function(a){if(0<arguments.length){for(var b=0,d=Array(arguments.length-0);b<d.length;)d[b]=arguments[b+0],++b;new cljs.core.IndexedSeq(d,0,null)}return null};a.cljs$lang$maxFixedArity=0;a.cljs$lang$applyTo=function(a){cljs.core.seq(a);return null};a.cljs$core$IFn$_invoke$arity$variadic=function(a){return null};return a}();taoensso.encore.log=taoensso.encore.console_log;
taoensso.encore.logp=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return taoensso.encore.logp.cljs$core$IFn$_invoke$arity$variadic(b)};taoensso.encore.logp.cljs$core$IFn$_invoke$arity$variadic=function(a){return taoensso.encore.console_log.call(null,taoensso.encore.str_join.call(null," ",cljs.core.map.call(null,taoensso.encore.nil__GT_str),a))};
taoensso.encore.logp.cljs$lang$maxFixedArity=0;taoensso.encore.logp.cljs$lang$applyTo=function(a){return taoensso.encore.logp.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};taoensso.encore.sayp=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return taoensso.encore.sayp.cljs$core$IFn$_invoke$arity$variadic(b)};
taoensso.encore.sayp.cljs$core$IFn$_invoke$arity$variadic=function(a){return alert(taoensso.encore.str_join.call(null," ",cljs.core.map.call(null,taoensso.encore.nil__GT_str),a))};taoensso.encore.sayp.cljs$lang$maxFixedArity=0;taoensso.encore.sayp.cljs$lang$applyTo=function(a){return taoensso.encore.sayp.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
taoensso.encore.logf=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.logf.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};taoensso.encore.logf.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return taoensso.encore.console_log.call(null,taoensso.encore.format_STAR_.call(null,a,b))};taoensso.encore.logf.cljs$lang$maxFixedArity=1;
taoensso.encore.logf.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return taoensso.encore.logf.cljs$core$IFn$_invoke$arity$variadic(b,a)};taoensso.encore.sayf=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.sayf.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.sayf.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return alert(taoensso.encore.format_STAR_.call(null,a,b))};taoensso.encore.sayf.cljs$lang$maxFixedArity=1;taoensso.encore.sayf.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return taoensso.encore.sayf.cljs$core$IFn$_invoke$arity$variadic(b,a)};
taoensso.encore.get_win_loc=function(){var a=taoensso.encore.js__QMARK_win;return cljs.core.truth_(a)?(a=a.location,cljs.core.truth_(a)?new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"href","href",-793805698),a.href,new cljs.core.Keyword(null,"protocol","protocol",652470118),a.protocol,new cljs.core.Keyword(null,"hostname","hostname",2105669933),a.hostname,new cljs.core.Keyword(null,"host","host",-1558485167),a.host,new cljs.core.Keyword(null,"pathname","pathname",-1420497528),
a.pathname,new cljs.core.Keyword(null,"search","search",1564939822),a.search,new cljs.core.Keyword(null,"hash","hash",-13781596),a.hash],null):null):null};taoensso.encore.xhr_pool_=new cljs.core.Delay(function(){return new goog.net.XhrIoPool},null);taoensso.encore.get_pooled_xhr_BANG_=function(){var a=cljs.core.deref.call(null,taoensso.encore.xhr_pool_).getObject();return void 0===a?null:a};
taoensso.encore.js_form_data_QMARK_="undefined"!==typeof FormData?function(a){return a instanceof FormData}:function(a){return null};taoensso.encore.js_file_QMARK_="undefined"!==typeof File?function(a){return a instanceof File}:function(a){return null};
taoensso.encore.coerce_xhr_params=function(){var a=function(){var a=null,b=function(a){return cljs.core.seq.call(null,a)?goog.Uri.QueryData.createFromMap(new goog.structs.Map(cljs.core.clj__GT_js.call(null,a))).toString():null},e=function(b,c){var d=a.call(null,c),d=clojure.string.blank_QMARK_.call(null,d)?b:[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1("?"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join("");return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,null],null)},a=function(a,c){switch(arguments.length){case 1:return b.call(this,a);case 2:return e.call(this,a,c)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=e;return a}(),b=function(a){return function(b,c){if(cljs.core.truth_(taoensso.encore.js_form_data_QMARK_.call(null,c)))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,c],null);try{var d=
cljs.core.map_QMARK_.call(null,c)?null:taoensso.truss.impl._dummy_error}catch(p){if(p instanceof Error)d=p;else throw p;}null!=d&&taoensso.truss.impl._invar_violation_BANG_.call(null,!0,"taoensso.encore",2694,"(map? params)",c,d,null);if(cljs.core.truth_(function(){var a="undefined"!==typeof FormData;return a?taoensso.encore.rsome.call(null,taoensso.encore.js_file_QMARK_,cljs.core.vals.call(null,c)):a}())){d=new FormData;for(var e=cljs.core.seq.call(null,c),h=null,k=0,l=0;;)if(l<k){var m=cljs.core._nth.call(null,
h,l),n=cljs.core.nth.call(null,m,0,null),m=cljs.core.nth.call(null,m,1,null);d.append(cljs.core.name.call(null,n),m);l+=1}else if(e=cljs.core.seq.call(null,e))cljs.core.chunked_seq_QMARK_.call(null,e)?(k=cljs.core.chunk_first.call(null,e),e=cljs.core.chunk_rest.call(null,e),h=k,k=cljs.core.count.call(null,k)):(k=cljs.core.first.call(null,e),h=cljs.core.nth.call(null,k,0,null),k=cljs.core.nth.call(null,k,1,null),d.append(cljs.core.name.call(null,h),k),e=cljs.core.next.call(null,e),h=null,k=0),l=0;
else break;return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,d],null)}return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a.call(null,c)],null)}}(a);return function(a,b){return function(c,d,g){cljs.core.truth_(function(a,b){return function(a){var b=null==a;return b?b:taoensso.truss.impl.non_throwing.call(null,cljs.core.map_QMARK_).call(null,a)}}(a,b).call(null,g))||taoensso.truss.impl._invar_violation_BANG_.call(null,!0,"taoensso.encore",
2706,"([:or nil? map?] params)",g,null,null);d=d instanceof cljs.core.Keyword?d.fqn:null;switch(d){case "get":return a.call(null,c,g);case "post":return b.call(null,c,g);case "put":return b.call(null,c,g);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join(""));}}}(a,b)}();
taoensso.encore.ajax_lite=function(a,b,c){var d=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"method","method",55703592),new cljs.core.Keyword(null,"get","get",1683182755)),f=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"params","params",710516235)),g=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"headers","headers",-835030129)),
h=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"timeout-ms","timeout-ms",754221406),1E4),k=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"resp-type","resp-type",1050675962),new cljs.core.Keyword(null,"auto","auto",-566279492)),l=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"with-credentials?","with-credentials?",-1773202222));cljs.core.truth_(function(a,b,c,d,e,f,g,h,k){return function(a){var b=null==a;return b?b:taoensso.truss.impl.non_throwing.call(null,taoensso.encore.nat_int_QMARK_).call(null,
a)}}(b,d,d,e,f,g,h,k,l).call(null,h))||taoensso.truss.impl._invar_violation_BANG_.call(null,!0,"taoensso.encore",2738,"([:or nil? nat-int?] timeout-ms)",h,null,null);var m=taoensso.encore.get_pooled_xhr_BANG_.call(null);if(cljs.core.truth_(m))try{var n=function(){var a=(new cljs.core.Keyword(null,"timeout","timeout",-318625318)).cljs$core$IFn$_invoke$arity$1(d);return cljs.core.truth_(a)?a:h}(),p=function(){var a=e instanceof cljs.core.Keyword?e.fqn:null;switch(a){case "get":return"GET";case "post":return"POST";
case "put":return"PUT";default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));}}(),q=taoensso.encore.coerce_xhr_params.call(null,a,e,f),r=cljs.core.nth.call(null,q,0,null),u=cljs.core.nth.call(null,q,1,null),t=function(){var a=taoensso.encore.map_keys.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a){return clojure.string.lower_case.call(null,cljs.core.name.call(null,a))}}(n,p,q,r,u,m,
m,b,d,d,e,f,g,h,k,l),g),a=taoensso.encore.assoc_some.call(null,a,"x-requested-with",cljs.core.get.call(null,a,"x-requested-with","XMLHTTPRequest"));return cljs.core.clj__GT_js.call(null,a)}();goog.events.listenOnce(m,goog.net.EventType.READY,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(a){return cljs.core.deref.call(null,taoensso.encore.xhr_pool_).releaseObject(h)}}(m,n,p,q,r,u,t,m,m,b,d,d,e,f,g,h,k,l));goog.events.listenOnce(m,goog.net.EventType.COMPLETE,function(a,b,d,e,f,g,h,k,
l,m,n,p,q,r,u,t,v,P){return function(z){var w=k.isSuccess(),x=k.getStatus(),A=cljs.core.not_EQ_.call(null,x,-1)?function(){var c=k.getResponseHeader("content-type"),z=function(){var z=cljs.core.not_EQ_.call(null,v,new cljs.core.Keyword(null,"auto","auto",-566279492))?v:null==c?new cljs.core.Keyword(null,"text","text",-1790561697):function(){var z=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,z,w,x,A){return function(b){return taoensso.encore.str_contains_QMARK_.call(null,a,b)}}(clojure.string.lower_case.call(null,
""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)),c,w,x,a,b,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,P);return cljs.core.truth_(z.call(null,"/edn"))?new cljs.core.Keyword(null,"edn","edn",1317840885):cljs.core.truth_(z.call(null,"/json"))?new cljs.core.Keyword(null,"json","json",1279968570):cljs.core.truth_(z.call(null,"/xml"))?new cljs.core.Keyword(null,"xml","xml",-1170142052):new cljs.core.Keyword(null,"text","text",-1790561697)}();try{var A=z instanceof cljs.core.Keyword?z.fqn:null;switch(A){case "edn":return taoensso.encore.read_edn.call(null,
k.getResponseText());case "json":return k.getResponseJson();case "xml":return k.getResponseXml();case "text":return k.getResponseText();default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(A)].join(""));}}catch(Y){if(Y instanceof Error)return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword("ajax","bad-response-type","ajax/bad-response-type",789441015),z,new cljs.core.Keyword("ajax","resp-as-text","ajax/resp-as-text",
141416819),k.getResponseText()],null);throw Y;}}();return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[x,c,z],null)}():null,y=cljs.core.nth.call(null,A,0,null),E=cljs.core.nth.call(null,A,1,null),A=cljs.core.nth.call(null,A,2,null);return c.call(null,new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"raw-resp","raw-resp",-1924342506),z,new cljs.core.Keyword(null,"xhr","xhr",-177710851),k,new cljs.core.Keyword(null,"success?","success?",-122854052),
w,new cljs.core.Keyword(null,"?status","?status",938730360),y,new cljs.core.Keyword(null,"?content-type","?content-type",-2129759049),E,new cljs.core.Keyword(null,"?content","?content",1697782054),A,new cljs.core.Keyword(null,"?error","?error",1070752222),cljs.core.truth_(w)?null:cljs.core.truth_(y)?y:cljs.core.get.call(null,cljs.core.PersistentArrayMap.createAsIfByAssoc([goog.net.ErrorCode.NO_ERROR,null,goog.net.ErrorCode.EXCEPTION,new cljs.core.Keyword(null,"exception","exception",-335277064),goog.net.ErrorCode.HTTP_ERROR,
new cljs.core.Keyword(null,"http-error","http-error",-1040049553),goog.net.ErrorCode.ABORT,new cljs.core.Keyword(null,"abort","abort",521193198),goog.net.ErrorCode.TIMEOUT,new cljs.core.Keyword(null,"timeout","timeout",-318625318)]),k.getLastErrorCode(),new cljs.core.Keyword(null,"unknown","unknown",-935977881))],null))}}(m,n,p,q,r,u,t,m,m,b,d,d,e,f,g,h,k,l));var v=(new cljs.core.Keyword(null,"progress-fn","progress-fn",-1146547855)).cljs$core$IFn$_invoke$arity$1(d);cljs.core.truth_(v)&&goog.events.listen(m,
goog.net.EventType.PROGRESS,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,O){return function(b){var c=b.lengthComputable,d=b.loaded,e=b.total,f=cljs.core.truth_(cljs.core.truth_(c)?cljs.core.not_EQ_.call(null,e,0):c)?d/e:null;return a.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"?ratio","?ratio",-1275760831),f,new cljs.core.Keyword(null,"length-computable?","length-computable?",1915473276),c,new cljs.core.Keyword(null,"loaded","loaded",-1246482293),d,new cljs.core.Keyword(null,
"total","total",1916810418),e,new cljs.core.Keyword(null,"ev","ev",-406827324),b],null))}}(v,v,n,p,q,r,u,t,m,m,b,d,d,e,f,g,h,k,l));m.setTimeoutInterval(cljs.core.truth_(n)?n:0);cljs.core.truth_(l)&&m.setWithCredentials(!0);m.send(r,p,u,t);return m}catch(w){if(w instanceof Error)return a=w,cljs.core.deref.call(null,taoensso.encore.xhr_pool_).releaseObject(m),c.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"?error","?error",1070752222),a],null)),null;throw w;}else return c.call(null,
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"?error","?error",1070752222),new cljs.core.Keyword(null,"xhr-pool-depleted","xhr-pool-depleted",-1812092376)],null)),null};taoensso.encore.url_encode=function(a){return cljs.core.truth_(a)?clojure.string.replace.call(null,clojure.string.replace.call(null,encodeURIComponent(""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),a),"*","%2A"),"'","%27"):null};
taoensso.encore.url_decode=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.url_decode.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};taoensso.encore.url_decode.cljs$core$IFn$_invoke$arity$variadic=function(a,b){cljs.core.nth.call(null,b,0,null);return cljs.core.truth_(a)?decodeURIComponent(a):null};taoensso.encore.url_decode.cljs$lang$maxFixedArity=1;
taoensso.encore.url_decode.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return taoensso.encore.url_decode.cljs$core$IFn$_invoke$arity$variadic(b,a)};
taoensso.encore.format_query_string=function(a){var b=function(a,b){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(taoensso.encore.url_encode.call(null,taoensso.encore.as_qname.call(null,a))),cljs.core.str.cljs$core$IFn$_invoke$arity$1("\x3d"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(taoensso.encore.url_encode.call(null,function(){var a=taoensso.encore.as__QMARK_qname.call(null,b);return cljs.core.truth_(a)?a:""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)}()))].join("")},c=function(a){return function(a){return clojure.string.join.call(null,
"\x26",a)}}(b);return cljs.core.empty_QMARK_.call(null,a)?"":c.call(null,function(){return function(a,b){return function g(c){return new cljs.core.LazySeq(null,function(a,b){return function(){for(var d=c;;)if(d=cljs.core.seq.call(null,d)){if(cljs.core.chunked_seq_QMARK_.call(null,d)){var e=cljs.core.chunk_first.call(null,d),h=cljs.core.count.call(null,e),k=cljs.core.chunk_buffer.call(null,h);return function(){for(var c=0;;)if(c<h){var d=cljs.core._nth.call(null,e,c),g=cljs.core.nth.call(null,d,0,
null),l=cljs.core.nth.call(null,d,1,null);taoensso.encore.some_QMARK_.call(null,l)&&cljs.core.chunk_append.call(null,k,cljs.core.sequential_QMARK_.call(null,l)?b.call(null,cljs.core.mapv.call(null,cljs.core.partial.call(null,a,g),function(){var a=cljs.core.seq.call(null,l);return a?a:new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[""],null)}())):a.call(null,g,l));c+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),g.call(null,cljs.core.chunk_rest.call(null,
d))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),null)}var l=cljs.core.first.call(null,d),u=cljs.core.nth.call(null,l,0,null),t=cljs.core.nth.call(null,l,1,null);if(taoensso.encore.some_QMARK_.call(null,t))return cljs.core.cons.call(null,cljs.core.sequential_QMARK_.call(null,t)?b.call(null,cljs.core.mapv.call(null,cljs.core.partial.call(null,a,u),function(){var a=cljs.core.seq.call(null,t);return a?a:new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[""],
null)}())):a.call(null,u,t),g.call(null,cljs.core.rest.call(null,d)));d=cljs.core.rest.call(null,d)}else return null}}(a,b),null,null)}}(b,c).call(null,a)}())};taoensso.encore.assoc_conj=function(a,b,c){return cljs.core.assoc.call(null,a,b,function(){var d=cljs.core.get.call(null,a,b);return cljs.core.truth_(d)?cljs.core.vector_QMARK_.call(null,d)?cljs.core.conj.call(null,d,c):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,c],null):c}())};
taoensso.encore.parse_query_params=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.parse_query_params.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.parse_query_params.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=cljs.core.nth.call(null,b,0,null),d=cljs.core.nth.call(null,b,1,null);if(clojure.string.blank_QMARK_.call(null,a)||!taoensso.encore.str_contains_QMARK_.call(null,a,"\x3d"))return cljs.core.PersistentArrayMap.EMPTY;var e=taoensso.encore.str_starts_with_QMARK_.call(null,a,"?")?cljs.core.subs.call(null,a,1):a,d=cljs.core.reduce.call(null,function(a,b,c,d){return function(a,b){var c=clojure.string.split.call(null,
b,/=/,2);if(cljs.core.truth_(c)){var e=cljs.core.nth.call(null,c,0,null),c=cljs.core.nth.call(null,c,1,null);return taoensso.encore.assoc_conj.call(null,a,taoensso.encore.url_decode.call(null,e,d),taoensso.encore.url_decode.call(null,c,d))}return a}}(e,b,c,d),cljs.core.PersistentArrayMap.EMPTY,clojure.string.split.call(null,e,/&/));return cljs.core.truth_(c)?taoensso.encore.map_keys.call(null,cljs.core.keyword,d):d};taoensso.encore.parse_query_params.cljs$lang$maxFixedArity=1;
taoensso.encore.parse_query_params.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return taoensso.encore.parse_query_params.cljs$core$IFn$_invoke$arity$variadic(b,a)};
taoensso.encore.merge_url_with_query_string=function(a,b){var c=clojure.string.split.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),/\?/,2),d=cljs.core.nth.call(null,c,0,null),c=cljs.core.nth.call(null,c,1,null),c=taoensso.encore.merge.call(null,cljs.core.truth_(c)?taoensso.encore.map_keys.call(null,cljs.core.keyword,taoensso.encore.parse_query_params.call(null,c)):null,taoensso.encore.map_keys.call(null,cljs.core.keyword,b)),c=taoensso.encore.as__QMARK_nblank.call(null,taoensso.encore.format_query_string.call(null,
c));return cljs.core.truth_(c)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),cljs.core.str.cljs$core$IFn$_invoke$arity$1("?"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(""):d};
taoensso.encore._new_stubfn_=function(a){return cljs.core.volatile_BANG_.call(null,function(){var b=function(b){throw cljs.core.ex_info.call(null,"Attempting to call uninitialized stub fn",new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"stub","stub",1339145807),a,new cljs.core.Keyword(null,"args","args",1315556576),b],null));},c=function(a){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,
0,null)}return b.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return b(a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}())};
taoensso.encore._assert_unstub_val=function(a){if(cljs.core.fn_QMARK_.call(null,a))return a;throw cljs.core.ex_info.call(null,"Unstub value must be a fn",new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"given","given",716253602),a,new cljs.core.Keyword(null,"type","type",1174270348),cljs.core.type.call(null,a)],null));};
taoensso.encore.compile_ns_filter=function(){return function(a){return function(){var b=null,c=function(c){return cljs.core.map_QMARK_.call(null,c)?b.call(null,(new cljs.core.Keyword(null,"whitelist","whitelist",-979294437)).cljs$core$IFn$_invoke$arity$1(c),(new cljs.core.Keyword(null,"blacklist","blacklist",1248093170)).cljs$core$IFn$_invoke$arity$1(c)):cljs.core.vector_QMARK_.call(null,c)||cljs.core.set_QMARK_.call(null,c)?b.call(null,c,null):cljs.core._EQ_.call(null,c,"*")?function(a,b){return function(a){return!0}}(c,
a):function(a,b,c){return function(b){return cljs.core.truth_(a.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)))?!0:null}}(a.call(null,c),c,a)},d=function(b,c){var d=cljs.core.seq.call(null,b)?function(){var c=cljs.core.mapv.call(null,a,b),d=cljs.core.seq.call(null,c),e=cljs.core.first.call(null,d),f=cljs.core.next.call(null,d);return f?function(a,b,c,d,e,f,g,h){return function(k){return taoensso.encore.rsome.call(null,function(a,b,c,d,e,f,g,h){return function(a){return a.call(null,k)}}(a,
b,c,d,e,f,g,h),a)}}(c,c,d,e,f,e,f,a):function(a,b,c,d,e,f,g,h){return function(a){return f.call(null,a)}}(c,c,d,e,f,e,f,a)}():null,e=cljs.core.seq.call(null,c)?function(){var b=cljs.core.mapv.call(null,a,c),e=cljs.core.seq.call(null,b),f=cljs.core.first.call(null,e),g=cljs.core.next.call(null,e);return g?function(a,b,c,d,e,f,g,h,k){return function(l){return cljs.core.not.call(null,taoensso.encore.rsome.call(null,function(a,b,c,d,e,f,g,h,k){return function(a){return a.call(null,l)}}(a,b,c,d,e,f,g,
h,k),a))}}(b,b,e,f,g,f,g,d,a):function(a,b,c,d,e,f,g,h,k){return function(a){return cljs.core.not.call(null,f.call(null,a))}}(b,b,e,f,g,f,g,d,a)}():null;return cljs.core.truth_(cljs.core.truth_(d)?e:d)?function(a,b,c){return function(c){c=""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(c);return cljs.core.truth_(a.call(null,c))?cljs.core.truth_(b.call(null,c))?!0:null:null}}(d,e,a):cljs.core.truth_(d)?function(a,b,c){return function(b){return cljs.core.truth_(a.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)))?
!0:null}}(d,e,a):cljs.core.truth_(e)?function(a,b,c){return function(a){return cljs.core.truth_(b.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)))?!0:null}}(d,e,a):function(a,b,c){return function(a){return!0}}(d,e,a)},b=function(a,b){switch(arguments.length){case 1:return c.call(this,a);case 2:return d.call(this,a,b)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$1=c;b.cljs$core$IFn$_invoke$arity$2=d;return b}()}(function(a){if(taoensso.encore.re_pattern_QMARK_.call(null,
a))return function(b){return cljs.core.re_find.call(null,a,b)};if("string"===typeof a)return taoensso.encore.str_contains_QMARK_.call(null,a,"*")?function(a){return function(b){return cljs.core.re_find.call(null,a,b)}}(cljs.core.re_pattern.call(null,clojure.string.replace.call(null,clojure.string.replace.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("^"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1("$")].join(""),".","\\."),"*","(.*)"))):function(b){return cljs.core._EQ_.call(null,
b,a)};throw cljs.core.ex_info.call(null,"Unexpected ns-pattern type",new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"given","given",716253602),a,new cljs.core.Keyword(null,"type","type",1174270348),cljs.core.type.call(null,a)],null));})}();taoensso.encore.ITimeoutImpl=function(){};
taoensso.encore._schedule_timeout=function(a,b,c){if(null!=a&&null!=a.taoensso$encore$ITimeoutImpl$_schedule_timeout$arity$3)return a.taoensso$encore$ITimeoutImpl$_schedule_timeout$arity$3(a,b,c);var d=taoensso.encore._schedule_timeout[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=taoensso.encore._schedule_timeout._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"ITimeoutImpl.-schedule-timeout",a);};taoensso.encore.DefaultTimeoutImpl=function(){};
taoensso.encore.DefaultTimeoutImpl.prototype.taoensso$encore$ITimeoutImpl$=cljs.core.PROTOCOL_SENTINEL;taoensso.encore.DefaultTimeoutImpl.prototype.taoensso$encore$ITimeoutImpl$_schedule_timeout$arity$3=function(a,b,c){return window.setTimeout(c,b)};taoensso.encore.DefaultTimeoutImpl.getBasis=function(){return cljs.core.PersistentVector.EMPTY};taoensso.encore.DefaultTimeoutImpl.cljs$lang$type=!0;taoensso.encore.DefaultTimeoutImpl.cljs$lang$ctorStr="taoensso.encore/DefaultTimeoutImpl";
taoensso.encore.DefaultTimeoutImpl.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"taoensso.encore/DefaultTimeoutImpl")};taoensso.encore.__GT_DefaultTimeoutImpl=function(){return new taoensso.encore.DefaultTimeoutImpl};"undefined"===typeof taoensso.encore.default_timeout_impl_&&(taoensso.encore.default_timeout_impl_=new cljs.core.Delay(function(){return new taoensso.encore.DefaultTimeoutImpl},null));taoensso.encore._tout_pending={};taoensso.encore._tout_cancelled={};
taoensso.encore.tout_result=function(a){return cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,a,taoensso.encore._tout_pending))?new cljs.core.Keyword("timeout","pending","timeout/pending",-1523854352):cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,a,taoensso.encore._tout_cancelled))?new cljs.core.Keyword("timeout","cancelled","timeout/cancelled",1188007279):cljs.core.deref.call(null,a)};taoensso.encore.ITimeoutFuture=function(){};
taoensso.encore.tf_state=function(a){if(null!=a&&null!=a.taoensso$encore$ITimeoutFuture$tf_state$arity$1)return a.taoensso$encore$ITimeoutFuture$tf_state$arity$1(a);var b=taoensso.encore.tf_state[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=taoensso.encore.tf_state._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"ITimeoutFuture.tf-state",a);};
taoensso.encore.tf_poll=function(a){if(null!=a&&null!=a.taoensso$encore$ITimeoutFuture$tf_poll$arity$1)return a.taoensso$encore$ITimeoutFuture$tf_poll$arity$1(a);var b=taoensso.encore.tf_poll[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=taoensso.encore.tf_poll._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"ITimeoutFuture.tf-poll",a);};
taoensso.encore.tf_done_QMARK_=function(a){if(null!=a&&null!=a.taoensso$encore$ITimeoutFuture$tf_done_QMARK_$arity$1)return a.taoensso$encore$ITimeoutFuture$tf_done_QMARK_$arity$1(a);var b=taoensso.encore.tf_done_QMARK_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=taoensso.encore.tf_done_QMARK_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"ITimeoutFuture.tf-done?",a);};
taoensso.encore.tf_pending_QMARK_=function(a){if(null!=a&&null!=a.taoensso$encore$ITimeoutFuture$tf_pending_QMARK_$arity$1)return a.taoensso$encore$ITimeoutFuture$tf_pending_QMARK_$arity$1(a);var b=taoensso.encore.tf_pending_QMARK_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=taoensso.encore.tf_pending_QMARK_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"ITimeoutFuture.tf-pending?",a);};
taoensso.encore.tf_cancelled_QMARK_=function(a){if(null!=a&&null!=a.taoensso$encore$ITimeoutFuture$tf_cancelled_QMARK_$arity$1)return a.taoensso$encore$ITimeoutFuture$tf_cancelled_QMARK_$arity$1(a);var b=taoensso.encore.tf_cancelled_QMARK_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=taoensso.encore.tf_cancelled_QMARK_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"ITimeoutFuture.tf-cancelled?",a);};
taoensso.encore.tf_cancel_BANG_=function(a){if(null!=a&&null!=a.taoensso$encore$ITimeoutFuture$tf_cancel_BANG_$arity$1)return a.taoensso$encore$ITimeoutFuture$tf_cancel_BANG_$arity$1(a);var b=taoensso.encore.tf_cancel_BANG_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=taoensso.encore.tf_cancel_BANG_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"ITimeoutFuture.tf-cancel!",a);};
taoensso.encore.TimeoutFuture=function(a,b,c){this.f=a;this.result__=b;this.udt=c;this.cljs$lang$protocol_mask$partition1$=1;this.cljs$lang$protocol_mask$partition0$=32768};taoensso.encore.TimeoutFuture.prototype.taoensso$encore$ITimeoutFuture$=cljs.core.PROTOCOL_SENTINEL;
taoensso.encore.TimeoutFuture.prototype.taoensso$encore$ITimeoutFuture$tf_state$arity$1=function(a){return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"fn","fn",-1175266204),this.f,new cljs.core.Keyword(null,"udt","udt",2011712751),this.udt],null)};taoensso.encore.TimeoutFuture.prototype.taoensso$encore$ITimeoutFuture$tf_poll$arity$1=function(a){return taoensso.encore.tout_result.call(null,cljs.core.deref.call(null,this.result__))};
taoensso.encore.TimeoutFuture.prototype.taoensso$encore$ITimeoutFuture$tf_done_QMARK_$arity$1=function(a){return cljs.core.not.call(null,taoensso.encore.kw_identical_QMARK_.call(null,cljs.core.deref.call(null,this.result__),taoensso.encore._tout_pending))};taoensso.encore.TimeoutFuture.prototype.taoensso$encore$ITimeoutFuture$tf_pending_QMARK_$arity$1=function(a){return taoensso.encore.kw_identical_QMARK_.call(null,cljs.core.deref.call(null,this.result__),taoensso.encore._tout_pending)};
taoensso.encore.TimeoutFuture.prototype.taoensso$encore$ITimeoutFuture$tf_cancelled_QMARK_$arity$1=function(a){return taoensso.encore.kw_identical_QMARK_.call(null,cljs.core.deref.call(null,this.result__),taoensso.encore._tout_cancelled)};taoensso.encore.TimeoutFuture.prototype.taoensso$encore$ITimeoutFuture$tf_cancel_BANG_$arity$1=function(a){return cljs.core.compare_and_set_BANG_.call(null,this.result__,taoensso.encore._tout_pending,taoensso.encore._tout_cancelled)};
taoensso.encore.TimeoutFuture.prototype.cljs$core$IPending$_realized_QMARK_$arity$1=function(a){return taoensso.encore.tf_done_QMARK_.call(null,this)};taoensso.encore.TimeoutFuture.prototype.cljs$core$IDeref$_deref$arity$1=function(a){return taoensso.encore.tf_poll.call(null,this)};
taoensso.encore.TimeoutFuture.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"f","f",43394975,null),new cljs.core.Symbol(null,"result__","result__",1529131748,null),new cljs.core.Symbol(null,"udt","udt",-642723018,null)],null)};taoensso.encore.TimeoutFuture.cljs$lang$type=!0;taoensso.encore.TimeoutFuture.cljs$lang$ctorStr="taoensso.encore/TimeoutFuture";
taoensso.encore.TimeoutFuture.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"taoensso.encore/TimeoutFuture")};taoensso.encore.__GT_TimeoutFuture=function(a,b,c){return new taoensso.encore.TimeoutFuture(a,b,c)};taoensso.encore.timeout_future_QMARK_=function(a){return a instanceof taoensso.encore.TimeoutFuture};
taoensso.encore.call_after_timeout=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return taoensso.encore.call_after_timeout.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.call_after_timeout.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};taoensso.encore.call_after_timeout.cljs$core$IFn$_invoke$arity$2=function(a,b){return taoensso.encore.call_after_timeout.call(null,taoensso.encore.default_timeout_impl_,a,b)};
taoensso.encore.call_after_timeout.cljs$core$IFn$_invoke$arity$3=function(a,b,c){b=cljs.core.long$.call(null,b);var d=(new Date).getTime()+b,e=cljs.core.atom.call(null,taoensso.encore._tout_pending),f=function(a,b,d){return function(){var e=new cljs.core.Delay(function(a,b,d){return function(){return c.call(null)}}(a,b,d),null);return cljs.core.truth_(cljs.core.compare_and_set_BANG_.call(null,d,taoensso.encore._tout_pending,e))?cljs.core.deref.call(null,e):null}}(b,d,e);a=cljs.core.force.call(null,
a);taoensso.encore._schedule_timeout.call(null,a,b,f);return new taoensso.encore.TimeoutFuture(c,e,d)};taoensso.encore.call_after_timeout.cljs$lang$maxFixedArity=3;
taoensso.encore.fixture_map__GT_fn=function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;var b=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"before","before",-1633692388),new cljs.core.Symbol(null,"do","do",1686842252,null)),c=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"after","after",594996914),new cljs.core.Symbol(null,"do","do",1686842252,null));return cljs.core.sequence.call(null,
cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null)),function(){var a=cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"f__33801__auto__","f__33801__auto__",-211296037,null))))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=
cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,b))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"f__33801__auto__","f__33801__auto__",-211296037,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,
cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,c))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}())))};taoensso.encore.get_window_location=taoensso.encore.get_win_loc;taoensso.encore.backport_run_BANG_=taoensso.encore.run_BANG_;taoensso.encore.fq_name=taoensso.encore.as_qname;taoensso.encore.qname=taoensso.encore.as_qname;taoensso.encore.merge_deep_with=taoensso.encore.nested_merge_with;taoensso.encore.merge_deep=taoensso.encore.nested_merge;
taoensso.encore.parse_bool=taoensso.encore.as__QMARK_bool;taoensso.encore.parse_int=taoensso.encore.as__QMARK_int;taoensso.encore.parse_float=taoensso.encore.as__QMARK_float;taoensso.encore.swapped_STAR_=taoensso.encore.swapped;taoensso.encore.memoize_a0_=taoensso.encore.memoize_;taoensso.encore.memoize_a1_=taoensso.encore.memoize_;taoensso.encore.a0_memoize_=taoensso.encore.memoize_;taoensso.encore.a1_memoize_=taoensso.encore.memoize_;taoensso.encore.memoize_1=taoensso.encore.memoize_last;
taoensso.encore.memoize1=taoensso.encore.memoize_last;taoensso.encore.nnil_QMARK_=taoensso.encore.some_QMARK_;taoensso.encore.nneg_num_QMARK_=taoensso.encore.nat_num_QMARK_;taoensso.encore.nneg_int_QMARK_=taoensso.encore.nat_int_QMARK_;taoensso.encore.nneg_float_QMARK_=taoensso.encore.nat_float_QMARK_;taoensso.encore.uint_QMARK_=taoensso.encore.nat_int_QMARK_;taoensso.encore.pint_QMARK_=taoensso.encore.pos_int_QMARK_;taoensso.encore.nnil_EQ_=taoensso.encore.some_EQ_;
taoensso.encore.as__QMARK_uint=taoensso.encore.as__QMARK_nat_int;taoensso.encore.as__QMARK_pint=taoensso.encore.as__QMARK_pos_int;taoensso.encore.as__QMARK_ufloat=taoensso.encore.as__QMARK_nat_float;taoensso.encore.as__QMARK_pfloat=taoensso.encore.as__QMARK_pos_float;taoensso.encore.as_uint=taoensso.encore.as_nat_int;taoensso.encore.as_pint=taoensso.encore.as_pos_int;taoensso.encore.as_ufloat=taoensso.encore.as_nat_float;taoensso.encore.as_pfloat=taoensso.encore.as_pos_float;
taoensso.encore.run_BANG__STAR_=taoensso.encore.run_BANG_;taoensso.encore.every=taoensso.encore.revery;taoensso.encore._QMARK_subvec_LT_idx=cljs.core.comp.call(null,cljs.core.not_empty,taoensso.encore.get_subvec);taoensso.encore._QMARK_subvec_LT_len=cljs.core.comp.call(null,cljs.core.not_empty,taoensso.encore.get_subvector);taoensso.encore._QMARK_substr_LT_idx=cljs.core.comp.call(null,taoensso.encore.as__QMARK_nempty_str,taoensso.encore.get_substr);
taoensso.encore._QMARK_substr_LT_len=cljs.core.comp.call(null,taoensso.encore.as__QMARK_nempty_str,taoensso.encore.get_substring);taoensso.encore.dswap_BANG_=taoensso.encore.swap_in_BANG__STAR_;taoensso.encore.nano_time=taoensso.encore.now_nano;taoensso.encore.swap_BANG__STAR_=taoensso.encore.swap_in_BANG__STAR_;taoensso.encore._swap_cache_BANG_=taoensso.encore._swap_val_BANG_;taoensso.encore._unswapped=taoensso.encore.swapped_vec;taoensso.encore._vswapped=taoensso.encore.swapped_vec;
taoensso.encore._swap_k_BANG_=taoensso.encore._swap_val_BANG_;taoensso.encore.update_in_STAR_=taoensso.encore.update_in;taoensso.encore.undefined__GT_nil=function(a){return void 0===a?null:a};taoensso.encore.spaced_str_with_nils=function(a){return clojure.string.join.call(null," ",cljs.core.mapv.call(null,taoensso.encore.nil__GT_str,a))};taoensso.encore.spaced_str=function(a){return clojure.string.join.call(null," ",cljs.core.mapv.call(null,taoensso.encore.undefined__GT_nil,a))};
taoensso.encore.round=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.round.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.round.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=cljs.core.nth.call(null,b,0,null),d=cljs.core.nth.call(null,b,1,null);return taoensso.encore.round_STAR_.call(null,cljs.core.truth_(c)?c:new cljs.core.Keyword(null,"round","round",2009433328),d,a)};taoensso.encore.round.cljs$lang$maxFixedArity=1;
taoensso.encore.round.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return taoensso.encore.round.cljs$core$IFn$_invoke$arity$variadic(b,a)};
taoensso.encore.approx_EQ_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return taoensso.encore.approx_EQ_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.encore.approx_EQ_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
taoensso.encore.approx_EQ_.cljs$core$IFn$_invoke$arity$2=function(a,b){return taoensso.encore.approx_EQ__EQ_.call(null,a,b)};taoensso.encore.approx_EQ_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return taoensso.encore.approx_EQ__EQ_.call(null,c,a,b)};taoensso.encore.approx_EQ_.cljs$lang$maxFixedArity=3;
taoensso.encore.join_once=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.join_once.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};taoensso.encore.join_once.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return taoensso.encore.str_join_once.call(null,a,b)};taoensso.encore.join_once.cljs$lang$maxFixedArity=1;
taoensso.encore.join_once.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return taoensso.encore.join_once.cljs$core$IFn$_invoke$arity$variadic(b,a)};taoensso.encore.nnil_set=function(a){return cljs.core.disj.call(null,taoensso.encore.set_STAR_.call(null,a),null)};taoensso.encore.keys_EQ_=function(a,b){return taoensso.encore.ks_EQ_.call(null,b,a)};taoensso.encore.keys_LT__EQ_=function(a,b){return taoensso.encore.ks_LT__EQ_.call(null,b,a)};
taoensso.encore.keys_GT__EQ_=function(a,b){return taoensso.encore.ks_GT__EQ_.call(null,b,a)};taoensso.encore.keys_EQ_nnil_QMARK_=function(a,b){return taoensso.encore.ks_nnil_QMARK_.call(null,b,a)};
taoensso.encore.rate_limiter_STAR_=function(a){var b=taoensso.encore.rsome.call(null,function(a){cljs.core.nth.call(null,a,0,null);cljs.core.nth.call(null,a,1,null);return cljs.core.nth.call(null,a,2,null)},a);a=taoensso.encore.limiter.call(null,a);return function(a,b){return function(){var c=function(c){var d=cljs.core.apply.call(null,b,c);return cljs.core.truth_(d)?(c=cljs.core.nth.call(null,d,0,null),d=cljs.core.nth.call(null,d,1,null),cljs.core.truth_(a)?new cljs.core.PersistentVector(null,2,
5,cljs.core.PersistentVector.EMPTY_NODE,[d,c],null):d):null},d=function(a){var b=null;if(0<arguments.length){for(var b=0,d=Array(arguments.length-0);b<d.length;)d[b]=arguments[b+0],++b;b=new cljs.core.IndexedSeq(d,0,null)}return c.call(this,b)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return c(a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}()}(b,a)};
taoensso.encore.rate_limit=function(a,b){return function(a){return function(){var c=function(c){c=a.call(null);return cljs.core.truth_(c)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,c],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b.call(null),null],null)},e=function(a){var b=null;if(0<arguments.length){for(var b=0,d=Array(arguments.length-0);b<d.length;)d[b]=arguments[b+0],++b;b=new cljs.core.IndexedSeq(d,0,null)}return c.call(this,
b)};e.cljs$lang$maxFixedArity=0;e.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return c(a)};e.cljs$core$IFn$_invoke$arity$variadic=c;return e}()}(taoensso.encore.rate_limiter_STAR_.call(null,a))};taoensso.encore.rate_limiter=function(a,b){return taoensso.encore.rate_limiter_STAR_.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)],null))};
taoensso.encore.rate_limited=function(a,b,c){return function(a){return function(){var b=function(b){b=a.call(null);return cljs.core.truth_(b)?new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"backoff-ms","backoff-ms",1679281507),b],null):new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"result","result",1415092211),c.call(null)],null)},d=function(a){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=
new cljs.core.IndexedSeq(d,0,null)}return b.call(this,c)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return b(a)};d.cljs$core$IFn$_invoke$arity$variadic=b;return d}()}(taoensso.encore.rate_limiter_STAR_.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)],null)))};
taoensso.encore.logging_level=cljs.core.atom.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596));taoensso.encore.set_exp_backoff_timeout_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.set_exp_backoff_timeout_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.set_exp_backoff_timeout_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=cljs.core.nth.call(null,b,0,null),d=taoensso.encore.js__QMARK_win;return cljs.core.truth_(d)?d.setTimeout(a,taoensso.encore.exp_backoff.call(null,cljs.core.truth_(c)?c:0)):null};taoensso.encore.set_exp_backoff_timeout_BANG_.cljs$lang$maxFixedArity=1;
taoensso.encore.set_exp_backoff_timeout_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return taoensso.encore.set_exp_backoff_timeout_BANG_.cljs$core$IFn$_invoke$arity$variadic(b,a)};"undefined"===typeof taoensso.encore._STAR_log_level_STAR_&&(taoensso.encore._STAR_log_level_STAR_=new cljs.core.Keyword(null,"debug","debug",-1608172596));
taoensso.encore.log_QMARK_=function(){return function(a){return function(b){return a.call(null,b)>=a.call(null,taoensso.encore._STAR_log_level_STAR_)}}(new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"trace","trace",-1082747415),1,new cljs.core.Keyword(null,"debug","debug",-1608172596),2,new cljs.core.Keyword(null,"info","info",-317069002),3,new cljs.core.Keyword(null,"warn","warn",-436710552),4,new cljs.core.Keyword(null,"error","error",-978969032),5,new cljs.core.Keyword(null,
"fatal","fatal",1874419888),6,new cljs.core.Keyword(null,"report","report",1394055010),7],null))}();taoensso.encore.tracef=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.tracef.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.tracef.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.truth_(taoensso.encore.log_QMARK_.call(null,new cljs.core.Keyword(null,"trace","trace",-1082747415)))?cljs.core.apply.call(null,taoensso.encore.logf,a,b):null};taoensso.encore.tracef.cljs$lang$maxFixedArity=1;taoensso.encore.tracef.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return taoensso.encore.tracef.cljs$core$IFn$_invoke$arity$variadic(b,a)};
taoensso.encore.debugf=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.debugf.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.debugf.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.truth_(taoensso.encore.log_QMARK_.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596)))?cljs.core.apply.call(null,taoensso.encore.logf,a,b):null};taoensso.encore.debugf.cljs$lang$maxFixedArity=1;taoensso.encore.debugf.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return taoensso.encore.debugf.cljs$core$IFn$_invoke$arity$variadic(b,a)};
taoensso.encore.infof=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.infof.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.infof.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.truth_(taoensso.encore.log_QMARK_.call(null,new cljs.core.Keyword(null,"info","info",-317069002)))?cljs.core.apply.call(null,taoensso.encore.logf,a,b):null};taoensso.encore.infof.cljs$lang$maxFixedArity=1;taoensso.encore.infof.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return taoensso.encore.infof.cljs$core$IFn$_invoke$arity$variadic(b,a)};
taoensso.encore.warnf=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.warnf.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.warnf.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.truth_(taoensso.encore.log_QMARK_.call(null,new cljs.core.Keyword(null,"warn","warn",-436710552)))?cljs.core.apply.call(null,taoensso.encore.logf,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("WARN: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),b):null};taoensso.encore.warnf.cljs$lang$maxFixedArity=1;
taoensso.encore.warnf.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return taoensso.encore.warnf.cljs$core$IFn$_invoke$arity$variadic(b,a)};taoensso.encore.errorf=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.errorf.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.errorf.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.truth_(taoensso.encore.log_QMARK_.call(null,new cljs.core.Keyword(null,"error","error",-978969032)))?cljs.core.apply.call(null,taoensso.encore.logf,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("ERROR: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),b):null};taoensso.encore.errorf.cljs$lang$maxFixedArity=1;
taoensso.encore.errorf.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return taoensso.encore.errorf.cljs$core$IFn$_invoke$arity$variadic(b,a)};taoensso.encore.fatalf=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.fatalf.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.fatalf.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.truth_(taoensso.encore.log_QMARK_.call(null,new cljs.core.Keyword(null,"fatal","fatal",1874419888)))?cljs.core.apply.call(null,taoensso.encore.logf,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("FATAL: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),b):null};taoensso.encore.fatalf.cljs$lang$maxFixedArity=1;
taoensso.encore.fatalf.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return taoensso.encore.fatalf.cljs$core$IFn$_invoke$arity$variadic(b,a)};taoensso.encore.reportf=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.reportf.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.reportf.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.truth_(taoensso.encore.log_QMARK_.call(null,new cljs.core.Keyword(null,"report","report",1394055010)))?cljs.core.apply.call(null,taoensso.encore.logf,a,b):null};taoensso.encore.reportf.cljs$lang$maxFixedArity=1;taoensso.encore.reportf.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return taoensso.encore.reportf.cljs$core$IFn$_invoke$arity$variadic(b,a)};
taoensso.encore.greatest=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.greatest.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.greatest.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=cljs.core.nth.call(null,b,0,null),d=cljs.core.truth_(c)?c:taoensso.encore.rcompare;return cljs.core.reduce.call(null,function(a,b,c){return function(b,c){return 0<a.call(null,b,c)?c:b}}(d,b,c),a)};taoensso.encore.greatest.cljs$lang$maxFixedArity=1;
taoensso.encore.greatest.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return taoensso.encore.greatest.cljs$core$IFn$_invoke$arity$variadic(b,a)};taoensso.encore.least=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.least.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.least.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=cljs.core.nth.call(null,b,0,null),d=cljs.core.truth_(c)?c:taoensso.encore.rcompare;return cljs.core.reduce.call(null,function(a,b,c){return function(b,c){return 0>a.call(null,b,c)?c:b}}(d,b,c),a)};taoensso.encore.least.cljs$lang$maxFixedArity=1;
taoensso.encore.least.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return taoensso.encore.least.cljs$core$IFn$_invoke$arity$variadic(b,a)};taoensso.encore.clj1098=function(a){return cljs.core.truth_(a)?a:cljs.core.PersistentArrayMap.EMPTY};
taoensso.encore.distinct_by=function(a,b){return function d(b,f){return new cljs.core.LazySeq(null,function(){return function(b,e){for(;;){var f=b,g=cljs.core.nth.call(null,f,0,null);if(f=cljs.core.seq.call(null,f)){var h=a.call(null,g);if(cljs.core.contains_QMARK_.call(null,e,h))g=cljs.core.rest.call(null,f),f=e,b=g,e=f;else return cljs.core.cons.call(null,g,d.call(null,cljs.core.rest.call(null,f),cljs.core.conj.call(null,e,h)))}else return null}}.call(null,b,f)},null,null)}.call(null,b,cljs.core.PersistentHashSet.EMPTY)};
taoensso.encore.distinctv=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return taoensso.encore.distinctv.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.encore.distinctv.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
taoensso.encore.distinctv.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.encore.distinctv.call(null,cljs.core.identity,a)};
taoensso.encore.distinctv.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.core.reduce.call(null,function(b,c){var d=cljs.core.nth.call(null,b,0,null),e=cljs.core.nth.call(null,b,1,null),h=a.call(null,c);return cljs.core.contains_QMARK_.call(null,e,h)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,e],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.conj_BANG_.call(null,d,c),cljs.core.conj.call(null,e,h)],null)},
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY),cljs.core.PersistentHashSet.EMPTY],null),b);return cljs.core.persistent_BANG_.call(null,cljs.core.nth.call(null,c,0))};taoensso.encore.distinctv.cljs$lang$maxFixedArity=2;
taoensso.encore.map_kvs=function(a,b,c){return cljs.core.truth_(c)?(b=null==b?function(a,b){return b}:b,a=null==a?function(a){return function(a,b){return a}}(b):cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,a,new cljs.core.Keyword(null,"keywordize","keywordize",1381210758)))?function(a){return function(a,b){return cljs.core.keyword.call(null,a)}}(b):a,cljs.core.persistent_BANG_.call(null,cljs.core.reduce_kv.call(null,function(a,b){return function(c,d,e){return cljs.core.assoc_BANG_.call(null,
c,b.call(null,d,e),a.call(null,d,e))}}(b,a),cljs.core.transient$.call(null,cljs.core.PersistentArrayMap.EMPTY),c))):cljs.core.PersistentArrayMap.EMPTY};taoensso.encore.as_map=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.as_map.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.as_map.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=cljs.core.nth.call(null,b,0,null),d=cljs.core.nth.call(null,b,1,null);if(cljs.core.empty_QMARK_.call(null,a))return cljs.core.PersistentArrayMap.EMPTY;var e=null==d?function(a,b,c){return function(a,b){return b}}(b,c,d):d,f=null==c?function(a,b,c,d){return function(a,b){return a}}(e,b,c,d):cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"keywordize","keywordize",1381210758)))?
function(a,b,c,d){return function(a,b){return cljs.core.keyword.call(null,a)}}(e,b,c,d):c;return cljs.core.persistent_BANG_.call(null,taoensso.encore.reduce_kvs.call(null,function(a,b,c,d,e){return function(c,d,e){return cljs.core.assoc_BANG_.call(null,c,b.call(null,d,e),a.call(null,d,e))}}(e,f,b,c,d),cljs.core.transient$.call(null,cljs.core.PersistentArrayMap.EMPTY),a))};taoensso.encore.as_map.cljs$lang$maxFixedArity=1;
taoensso.encore.as_map.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return taoensso.encore.as_map.cljs$core$IFn$_invoke$arity$variadic(b,a)};taoensso.encore.keywordize_map=function(a){return taoensso.encore.map_keys.call(null,cljs.core.keyword,a)};taoensso.encore.removev=function(a,b){return cljs.core.filterv.call(null,cljs.core.complement.call(null,a),b)};
taoensso.encore.nvec_QMARK_=function(a,b){return cljs.core.vector_QMARK_.call(null,b)&&cljs.core._EQ_.call(null,cljs.core.count.call(null,b),a)};taoensso.encore.memoized=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return taoensso.encore.memoized.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
taoensso.encore.memoized.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.truth_(a)?cljs.core.deref.call(null,taoensso.encore._swap_val_BANG_.call(null,a,c,function(a){return cljs.core.truth_(a)?a:new cljs.core.Delay(function(){return cljs.core.apply.call(null,b,c)},null)})):cljs.core.apply.call(null,b,c)};taoensso.encore.memoized.cljs$lang$maxFixedArity=2;
taoensso.encore.memoized.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return taoensso.encore.memoized.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};taoensso.encore.translate_signed_idx=function(a,b){if(0<=a)return a<b?a:b;var c=a+b;return 0>c?0:c};
taoensso.encore.sub_indexes=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return taoensso.encore.sub_indexes.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
taoensso.encore.sub_indexes.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;var d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"max-len","max-len",-18846016));c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"end-idx","end-idx",-85750788));var e=cljs.core.count.call(null,a),f=taoensso.encore.translate_signed_idx.call(null,b,e);
a=cljs.core.long$.call(null,cljs.core.truth_(d)?function(){var a=f+d;return a>e?e:a}():cljs.core.truth_(c)?taoensso.encore.translate_signed_idx.call(null,c,e)+1:e);return f>a?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,0],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[f,a],null)};taoensso.encore.sub_indexes.cljs$lang$maxFixedArity=2;
taoensso.encore.sub_indexes.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return taoensso.encore.sub_indexes.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
taoensso.encore.substr=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return taoensso.encore.substr.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
taoensso.encore.substr.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){c=cljs.core.nth.call(null,c,0,null);c=taoensso.encore.sub_indexes.call(null,a,b,new cljs.core.Keyword(null,"max-len","max-len",-18846016),c);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return a.substring(b,c)};taoensso.encore.substr.cljs$lang$maxFixedArity=2;
taoensso.encore.substr.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return taoensso.encore.substr.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
taoensso.encore.subvec_STAR_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return taoensso.encore.subvec_STAR_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
taoensso.encore.subvec_STAR_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){c=cljs.core.nth.call(null,c,0,null);c=taoensso.encore.sub_indexes.call(null,a,b,new cljs.core.Keyword(null,"max-len","max-len",-18846016),c);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return cljs.core.subvec.call(null,a,b,c)};taoensso.encore.subvec_STAR_.cljs$lang$maxFixedArity=2;
taoensso.encore.subvec_STAR_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return taoensso.encore.subvec_STAR_.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};taoensso.encore.sentinel={};taoensso.encore.sentinel_QMARK_=function(a){return a===taoensso.encore.sentinel};taoensso.encore.nil__GT_sentinel=function(a){return null==a?taoensso.encore.sentinel:a};
taoensso.encore.sentinel__GT_nil=function(a){return cljs.core.truth_(taoensso.encore.sentinel_QMARK_.call(null,a))?null:a};taoensso.encore.singleton_QMARK_=function(a){return cljs.core.counted_QMARK_.call(null,a)?cljs.core._EQ_.call(null,cljs.core.count.call(null,a),1):cljs.core.not.call(null,cljs.core.next.call(null,a))};taoensso.encore.__GT__QMARK_singleton=function(a){return cljs.core.truth_(taoensso.encore.singleton_QMARK_.call(null,a))?cljs.core.nth.call(null,a,0,null):null};
taoensso.encore.__GT_vec=function(a){return cljs.core.vector_QMARK_.call(null,a)?a:cljs.core.sequential_QMARK_.call(null,a)?cljs.core.vec.call(null,a):new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)};
taoensso.encore.fzipmap=function(a,b){for(var c=cljs.core.transient$.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.seq.call(null,a),e=cljs.core.seq.call(null,b);;)if(d&&e)c=cljs.core.assoc_BANG_.call(null,c,cljs.core.first.call(null,d),cljs.core.first.call(null,e)),d=cljs.core.next.call(null,d),e=cljs.core.next.call(null,e);else return cljs.core.persistent_BANG_.call(null,c)};
taoensso.encore.filter_kvs=function(a,b){return null==b?cljs.core.PersistentArrayMap.EMPTY:cljs.core.reduce_kv.call(null,function(b,d,e){return cljs.core.truth_(a.call(null,d,e))?b:cljs.core.dissoc.call(null,b,d)},b,b)};taoensso.encore.remove_kvs=function(a,b){return null==b?cljs.core.PersistentArrayMap.EMPTY:cljs.core.reduce_kv.call(null,function(b,d,e){return cljs.core.truth_(a.call(null,d,e))?cljs.core.dissoc.call(null,b,d):b},b,b)};
taoensso.encore.replace_in=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.encore.replace_in.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
taoensso.encore.replace_in.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.reduce.call(null,function(a,b){if(cljs.core.truth_(b)){var c=cljs.core.nth.call(null,b,0,null),d=cljs.core.nth.call(null,b,1,null),g=cljs.core.nth.call(null,b,2,null),c=cljs.core.truth_(taoensso.encore.kw_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"reset","reset",-800929946)))?function(a,b,c,d){return function(a){return d}}(b,c,d,g):g;return taoensso.encore.update_in.call(null,a,d,null,c)}return a},
a,b)};taoensso.encore.replace_in.cljs$lang$maxFixedArity=1;taoensso.encore.replace_in.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return taoensso.encore.replace_in.cljs$core$IFn$_invoke$arity$variadic(b,a)};taoensso.timbre={};taoensso.timbre.appenders={};taoensso.timbre.appenders.core={};taoensso.timbre.appenders.core.println_appender=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return taoensso.timbre.appenders.core.println_appender.cljs$core$IFn$_invoke$arity$variadic(b)};
taoensso.timbre.appenders.core.println_appender.cljs$core$IFn$_invoke$arity$variadic=function(a){var b=cljs.core.nth.call(null,a,0,null);return new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"enabled?","enabled?",-1376075057),!0,new cljs.core.Keyword(null,"async?","async?",1523057758),!1,new cljs.core.Keyword(null,"min-level","min-level",1634684919),null,new cljs.core.Keyword(null,"rate-limit","rate-limit",1748082022),null,new cljs.core.Keyword(null,"output-fn","output-fn",1600951539),
new cljs.core.Keyword(null,"inherit","inherit",-1840815422),new cljs.core.Keyword(null,"fn","fn",-1175266204),function(a,b){return function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"output_","output_",-36797880));return cljs.core.println.call(null,cljs.core.force.call(null,a))}}(a,b)],null)};
taoensso.timbre.appenders.core.println_appender.cljs$lang$maxFixedArity=0;taoensso.timbre.appenders.core.println_appender.cljs$lang$applyTo=function(a){return taoensso.timbre.appenders.core.println_appender.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};taoensso.timbre.appenders.core.console_appender=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return taoensso.timbre.appenders.core.console_appender.cljs$core$IFn$_invoke$arity$variadic(b)};
taoensso.timbre.appenders.core.console_appender.cljs$core$IFn$_invoke$arity$variadic=function(a){var b=cljs.core.nth.call(null,a,0,null);return new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"enabled?","enabled?",-1376075057),!0,new cljs.core.Keyword(null,"async?","async?",1523057758),!1,new cljs.core.Keyword(null,"min-level","min-level",1634684919),null,new cljs.core.Keyword(null,"rate-limit","rate-limit",1748082022),null,new cljs.core.Keyword(null,"output-fn","output-fn",1600951539),
new cljs.core.Keyword(null,"inherit","inherit",-1840815422),new cljs.core.Keyword(null,"fn","fn",-1175266204),"undefined"!==typeof console?function(){return function(a,b,e){return function(b){var c=a.call(null,(new cljs.core.Keyword(null,"level","level",1290497552)).cljs$core$IFn$_invoke$arity$1(b));if(cljs.core.truth_(c)){if(cljs.core.truth_(function(){var a=(new cljs.core.Keyword(null,"raw-console?","raw-console?",-2061489061)).cljs$core$IFn$_invoke$arity$1(b);return cljs.core.truth_(a)?a:cljs.core.get_in.call(null,
b,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"?meta","?meta",-793560773),new cljs.core.Keyword(null,"raw-console?","raw-console?",-2061489061)],null))}())){var d=(new cljs.core.Keyword(null,"output-fn","output-fn",1600951539)).cljs$core$IFn$_invoke$arity$1(b).call(null,cljs.core.assoc.call(null,b,new cljs.core.Keyword(null,"msg_","msg_",-1925147E3),"",new cljs.core.Keyword(null,"?err","?err",549653299),null)),e=function(){var a=(new cljs.core.Keyword(null,
"vargs","vargs",-966597273)).cljs$core$IFn$_invoke$arity$1(b),c=(new cljs.core.Keyword(null,"?err","?err",549653299)).cljs$core$IFn$_invoke$arity$1(b);return cljs.core.truth_(c)?cljs.core.cons.call(null,d,cljs.core.cons.call(null,c,a)):cljs.core.cons.call(null,d,a)}();return c.apply(console,cljs.core.into_array.call(null,e))}return c.call(console,cljs.core.force.call(null,(new cljs.core.Keyword(null,"output_","output_",-36797880)).cljs$core$IFn$_invoke$arity$1(b)))}return null}}(function(a,b){return function(a){var b=
function(){var b=a instanceof cljs.core.Keyword?a.fqn:null;switch(b){case "trace":return console.trace;case "debug":return console.debug;case "info":return console.info;case "warn":return console.warn;case "error":return console.error;case "fatal":return console.error;case "report":return console.info;default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));}}();return cljs.core.truth_(b)?b:console.log}}(a,b),
a,b)}():function(a,b){return function(a){return null}}(a,b)],null)};taoensso.timbre.appenders.core.console_appender.cljs$lang$maxFixedArity=0;taoensso.timbre.appenders.core.console_appender.cljs$lang$applyTo=function(a){return taoensso.timbre.appenders.core.console_appender.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};taoensso.timbre.appenders.core.console__QMARK_appender=taoensso.timbre.appenders.core.console_appender;cljs.core.vector_QMARK_.call(null,taoensso.encore.encore_version)?taoensso.encore.assert_min_encore_version.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[2,87,0],null)):taoensso.encore.assert_min_encore_version.call(null,2.87);
taoensso.timbre.default_output_fn=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return taoensso.timbre.default_output_fn.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.timbre.default_output_fn.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
taoensso.timbre.default_output_fn.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.timbre.default_output_fn.call(null,null,a)};
taoensso.timbre.default_output_fn.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"no-stacktrace?","no-stacktrace?",1701072694));cljs.core.get.call(null,c,new cljs.core.Keyword(null,"stacktrace-fonts","stacktrace-fonts",830799382));var e=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,c=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"level","level",1290497552)),f=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"?err","?err",549653299)),g=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"msg_","msg_",-1925147E3)),h=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"?ns-str","?ns-str",2012733966)),k=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"?file","?file",1533429675));cljs.core.get.call(null,
e,new cljs.core.Keyword(null,"hostname_","hostname_",-2091647379));cljs.core.get.call(null,e,new cljs.core.Keyword(null,"timestamp_","timestamp_",-954533417));e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"?line","?line",-631853385));return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(clojure.string.upper_case.call(null,cljs.core.name.call(null,c))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" "),cljs.core.str.cljs$core$IFn$_invoke$arity$1("["),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(h)?
h:cljs.core.truth_(k)?k:"?"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(":"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(e)?e:"?"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("] - "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.force.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(d)?null:cljs.core.truth_(f)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1("\n"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(taoensso.timbre.stacktrace.call(null,f,a))].join(""):
null)].join("")};taoensso.timbre.default_output_fn.cljs$lang$maxFixedArity=2;taoensso.timbre.println_appender=taoensso.timbre.appenders.core.println_appender;taoensso.timbre.console_appender=taoensso.timbre.appenders.core.console_appender;
taoensso.timbre.example_config=new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"level","level",1290497552),new cljs.core.Keyword(null,"debug","debug",-1608172596),new cljs.core.Keyword(null,"ns-whitelist","ns-whitelist",-1717299774),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,"ns-blacklist","ns-blacklist",1957763142),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,"middleware","middleware",1462115504),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,
"output-fn","output-fn",1600951539),taoensso.timbre.default_output_fn,new cljs.core.Keyword(null,"appenders","appenders",1245583998),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"console","console",1228072057),taoensso.timbre.console_appender.call(null,cljs.core.PersistentArrayMap.EMPTY)],null)],null);"undefined"===typeof taoensso.timbre._STAR_config_STAR_&&(taoensso.timbre._STAR_config_STAR_=taoensso.timbre.example_config);
taoensso.timbre.swap_config_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return taoensso.timbre.swap_config_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};taoensso.timbre.swap_config_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return taoensso.timbre._STAR_config_STAR_=cljs.core.apply.call(null,a,taoensso.timbre._STAR_config_STAR_,b)};
taoensso.timbre.swap_config_BANG_.cljs$lang$maxFixedArity=1;taoensso.timbre.swap_config_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return taoensso.timbre.swap_config_BANG_.cljs$core$IFn$_invoke$arity$variadic(b,a)};taoensso.timbre.set_config_BANG_=function(a){return taoensso.timbre.swap_config_BANG_.call(null,function(b){return a})};
taoensso.timbre.merge_config_BANG_=function(a){return taoensso.timbre.swap_config_BANG_.call(null,function(b){return taoensso.encore.nested_merge.call(null,b,a)})};taoensso.timbre.set_level_BANG_=function(a){return taoensso.timbre.swap_config_BANG_.call(null,function(b){return cljs.core.assoc.call(null,b,new cljs.core.Keyword(null,"level","level",1290497552),a)})};
taoensso.timbre._levels_vec=new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"trace","trace",-1082747415),new cljs.core.Keyword(null,"debug","debug",-1608172596),new cljs.core.Keyword(null,"info","info",-317069002),new cljs.core.Keyword(null,"warn","warn",-436710552),new cljs.core.Keyword(null,"error","error",-978969032),new cljs.core.Keyword(null,"fatal","fatal",1874419888),new cljs.core.Keyword(null,"report","report",1394055010)],null);
taoensso.timbre._levels_set=cljs.core.set.call(null,taoensso.timbre._levels_vec);taoensso.timbre._levels_map=cljs.core.zipmap.call(null,taoensso.timbre._levels_vec,cljs.core.next.call(null,cljs.core.range.call(null)));taoensso.timbre.valid_level_QMARK_=function(a){return cljs.core.truth_(taoensso.timbre._levels_set.call(null,a))?!0:!1};
taoensso.timbre.valid_level=function(a){var b=taoensso.timbre._levels_set.call(null,a);if(cljs.core.truth_(b))return b;throw cljs.core.ex_info.call(null,"Invalid Timbre logging level",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"given","given",716253602),a],null));};taoensso.timbre.level_GT__EQ_=function(a,b){return taoensso.timbre._levels_map.call(null,taoensso.timbre.valid_level.call(null,a))>=taoensso.timbre._levels_map.call(null,taoensso.timbre.valid_level.call(null,b))};
taoensso.timbre._compile_ns_filter=taoensso.encore.memoize_.call(null,taoensso.encore.compile_ns_filter);taoensso.timbre.ns_filter=taoensso.encore.memoize_.call(null,function(a,b,c){return taoensso.timbre._compile_ns_filter.call(null,a,b).call(null,c)});
taoensso.timbre.may_log_QMARK_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return taoensso.timbre.may_log_QMARK_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.timbre.may_log_QMARK_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return taoensso.timbre.may_log_QMARK_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};taoensso.timbre.may_log_QMARK_.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.timbre.may_log_QMARK_.call(null,a,null,null)};taoensso.timbre.may_log_QMARK_.cljs$core$IFn$_invoke$arity$2=function(a,b){return taoensso.timbre.may_log_QMARK_.call(null,a,b,null)};
taoensso.timbre.may_log_QMARK_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){c=cljs.core.truth_(c)?c:taoensso.timbre._STAR_config_STAR_;var d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"level","level",1290497552),new cljs.core.Keyword(null,"report","report",1394055010));a=taoensso.timbre.level_GT__EQ_.call(null,a,d);return cljs.core.truth_(a)?cljs.core.boolean$.call(null,taoensso.timbre.ns_filter.call(null,cljs.core.get.call(null,c,new cljs.core.Keyword(null,"ns-whitelist","ns-whitelist",
-1717299774)),cljs.core.get.call(null,c,new cljs.core.Keyword(null,"ns-blacklist","ns-blacklist",1957763142)),b))&&!0:a};taoensso.timbre.may_log_QMARK_.cljs$lang$maxFixedArity=3;taoensso.timbre.str_join=function(a){return taoensso.encore.str_join.call(null," ",cljs.core.map.call(null,function(a){a=taoensso.encore.nil__GT_str.call(null,a);return cljs.core.record_QMARK_.call(null,a)?cljs.core.pr_str.call(null,a):a}),a)};
"undefined"===typeof taoensso.timbre.get_rate_limiter&&(taoensso.timbre.get_rate_limiter=taoensso.encore.memoize_.call(null,function(a,b){return taoensso.encore.limiter.call(null,b)}));taoensso.timbre._STAR_context_STAR_=null;taoensso.timbre.vrest=function(a){return 1<cljs.core.count.call(null,a)?cljs.core.subvec.call(null,a,1):cljs.core.PersistentVector.EMPTY};
taoensso.timbre.parse_vargs=function(a,b,c){var d=taoensso.encore.kw_identical_QMARK_.call(null,a,new cljs.core.Keyword(null,"auto","auto",-566279492));var e=taoensso.encore.kw_identical_QMARK_.call(null,b,new cljs.core.Keyword(null,"f","f",-1597136552));var f=cljs.core.nth.call(null,c,0,null);if(cljs.core.truth_(cljs.core.truth_(d)?taoensso.encore.error_QMARK_.call(null,f):d)){b=f;var g=null;var h=taoensso.timbre.vrest.call(null,c);c=cljs.core.truth_(e)?cljs.core.nth.call(null,h,0,null):null;e=cljs.core.truth_(e)?
taoensso.timbre.vrest.call(null,h):h;return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[b,g,c,e],null)}g=cljs.core.truth_(function(){var a=cljs.core.map_QMARK_.call(null,f);return a?(new cljs.core.Keyword(null,"meta","meta",1499536964)).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,f)):a}())?f:null;b=function(){var b=(new cljs.core.Keyword(null,"err","err",-2089457205)).cljs$core$IFn$_invoke$arity$1(g);return cljs.core.truth_(b)?b:cljs.core.truth_(d)?null:
a}();var k=cljs.core.dissoc.call(null,g,new cljs.core.Keyword(null,"err","err",-2089457205));h=cljs.core.truth_(k)?taoensso.timbre.vrest.call(null,c):c;c=cljs.core.truth_(e)?cljs.core.nth.call(null,h,0,null):null;e=cljs.core.truth_(e)?taoensso.timbre.vrest.call(null,h):h;return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[b,k,c,e],null)};
taoensso.timbre._log_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 9:return taoensso.timbre._log_BANG_.cljs$core$IFn$_invoke$arity$9(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8]);case 10:return taoensso.timbre._log_BANG_.cljs$core$IFn$_invoke$arity$10(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],
arguments[8],arguments[9]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};taoensso.timbre._log_BANG_.cljs$core$IFn$_invoke$arity$9=function(a,b,c,d,e,f,g,h,k){return taoensso.timbre._log_BANG_.call(null,a,b,c,d,e,f,g,h,k,null)};
taoensso.timbre._log_BANG_.cljs$core$IFn$_invoke$arity$10=function(a,b,c,d,e,f,g,h,k,l){if(taoensso.timbre.may_log_QMARK_.call(null,b,c,a)){var m=taoensso.encore.now_dt.call(null),n=taoensso.timbre._STAR_context_STAR_;h=cljs.core.deref.call(null,h);g=taoensso.timbre.parse_vargs.call(null,g,f,h);var p=cljs.core.nth.call(null,g,0,null),q=cljs.core.nth.call(null,g,1,null),r=cljs.core.nth.call(null,g,2,null),u=cljs.core.nth.call(null,g,3,null);k=cljs.core.conj.call(null,cljs.core.truth_(k)?k:cljs.core.PersistentArrayMap.EMPTY,
cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"instant","instant",655498374),new cljs.core.Keyword(null,"config","config",994861415),new cljs.core.Keyword(null,"vargs","vargs",-966597273),new cljs.core.Keyword(null,"?file","?file",1533429675),new cljs.core.Keyword(null,"error-level?","error-level?",778415885),new cljs.core.Keyword(null,"?ns-str","?ns-str",2012733966),new cljs.core.Keyword(null,"level","level",1290497552),new cljs.core.Keyword(null,"?err","?err",549653299),new cljs.core.Keyword(null,
"context","context",-830191113),new cljs.core.Keyword(null,"?line","?line",-631853385),new cljs.core.Keyword(null,"?err_","?err_",789480858),new cljs.core.Keyword(null,"?meta","?meta",-793560773),new cljs.core.Keyword(null,"?msg-fmt","?msg-fmt",-852453891)],[m,a,u,d,(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"fatal","fatal",1874419888),null,new cljs.core.Keyword(null,"error","error",-978969032),null],null),null)).call(null,b),c,b,p,n,
e,new cljs.core.Delay(function(a,b,c,d,e,f,g,h){return function(){return e}}(m,n,h,g,p,q,r,u),null),q,r]));var t=cljs.core.reduce.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b){var c=b.call(null,a);return null==c?cljs.core.reduced.call(null,null):c}}(m,n,h,g,p,q,r,u,k),k,(new cljs.core.Keyword(null,"middleware","middleware",1462115504)).cljs$core$IFn$_invoke$arity$1(a));if(cljs.core.truth_(t)){var v=null!=t&&(t.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===t.cljs$core$ISeq$)?
cljs.core.apply.call(null,cljs.core.hash_map,t):t,w=cljs.core.get.call(null,v,new cljs.core.Keyword(null,"vargs","vargs",-966597273)),x=cljs.core.assoc.call(null,t,new cljs.core.Keyword(null,"vargs_","vargs_",552132148),new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(){return c}}(t,v,w,t,t,m,n,h,g,p,q,r,u,k,t),null)),y=taoensso.encore.assoc_nx.call(null,x,new cljs.core.Keyword(null,"msg_","msg_",-1925147E3),new cljs.core.Delay(function(a,g,h,k,l,m,n,p,q,r,u,t,v,z,w,x){return function(){if(cljs.core._EQ_.call(null,
null,f))return"";if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"p","p",151049309),f))return taoensso.timbre.str_join.call(null,h);if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"f","f",-1597136552),f)){if("string"!==typeof v)throw cljs.core.ex_info.call(null,"Timbre format-style logging call without a format pattern (string)",new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"level","level",1290497552),b,new cljs.core.Keyword(null,"location","location",1815599388),
[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(c)?c:cljs.core.truth_(d)?d:"?"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(":"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(e)?e:"?")].join("")],null));return taoensso.encore.format_STAR_.call(null,v,h)}throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(f)].join(""));}}(t,v,w,x,t,t,m,n,h,g,p,q,r,u,k,t),null),new cljs.core.Keyword(null,"hash_","hash_",
-827203612),new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,m,n,p,q,r,u,t){return function(){return cljs.core.hash.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[l,q,cljs.core.get.call(null,p,new cljs.core.Keyword(null,"hash","hash",-13781596),c)],null))}}(t,v,w,x,t,t,m,n,h,g,p,q,r,u,k,t),null)),z=taoensso.encore.memoize_.call(null,cljs.core.get.call(null,a,new cljs.core.Keyword(null,"output-fn","output-fn",1600951539),taoensso.timbre.default_output_fn));cljs.core.reduce_kv.call(null,
function(a,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,z,w){return function(x,A,y){if(cljs.core.truth_(function(){var a=(new cljs.core.Keyword(null,"enabled?","enabled?",-1376075057)).cljs$core$IFn$_invoke$arity$1(y);return cljs.core.truth_(a)?taoensso.timbre.level_GT__EQ_.call(null,b,function(){var a=(new cljs.core.Keyword(null,"min-level","min-level",1634684919)).cljs$core$IFn$_invoke$arity$1(y);return cljs.core.truth_(a)?a:new cljs.core.Keyword(null,"trace","trace",-1082747415)}()):a}())&&cljs.core.truth_(taoensso.timbre.ns_filter.call(null,
(new cljs.core.Keyword(null,"ns-whitelist","ns-whitelist",-1717299774)).cljs$core$IFn$_invoke$arity$1(y),(new cljs.core.Keyword(null,"ns-blacklist","ns-blacklist",1957763142)).cljs$core$IFn$_invoke$arity$1(y),c))){var E=(new cljs.core.Keyword(null,"rate-limit","rate-limit",1748082022)).cljs$core$IFn$_invoke$arity$1(y),B=function(){var a=cljs.core.empty_QMARK_.call(null,E);if(a)return a;a=taoensso.timbre.get_rate_limiter.call(null,A,E);return cljs.core.not.call(null,a.call(null,cljs.core.force.call(null,
(new cljs.core.Keyword(null,"hash_","hash_",-827203612)).cljs$core$IFn$_invoke$arity$1(g))))}();if(B){var D=null!=y&&(y.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===y.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,y):y;x=cljs.core.get.call(null,D,new cljs.core.Keyword(null,"fn","fn",-1175266204));var C=cljs.core.get.call(null,D,new cljs.core.Keyword(null,"async?","async?",1523057758)),G=function(){var a=(new cljs.core.Keyword(null,"output-fn","output-fn",1600951539)).cljs$core$IFn$_invoke$arity$1(y);
return cljs.core.truth_(function(){var b=null==a;return b?b:taoensso.encore.kw_identical_QMARK_.call(null,a,new cljs.core.Keyword(null,"inherit","inherit",-1840815422))}())?h:a}(),B=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,z,w,x,A,y,E,B){return function(){return e.call(null,n)}}(y,D,x,C,G,E,B,a,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,z,w),null),J=cljs.core.conj.call(null,g,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"appender-id","appender-id",-1917983538),A,
new cljs.core.Keyword(null,"appender","appender",1267426510),y,new cljs.core.Keyword(null,"output-fn","output-fn",1600951539),G,new cljs.core.Keyword(null,"output_","output_",-36797880),B],null)),G=function(){var a=(new cljs.core.Keyword(null,"middleware-fn","middleware-fn",-61585752)).cljs$core$IFn$_invoke$arity$1(y);return cljs.core.truth_(a)?a.call(null,J):J}();return cljs.core.truth_(G)?x.call(null,G):null}}return null}}(t,v,w,x,y,z,t,t,m,n,h,g,p,q,r,u,k,t),null,(new cljs.core.Keyword(null,"appenders",
"appenders",1245583998)).cljs$core$IFn$_invoke$arity$1(a))}}return null};taoensso.timbre._log_BANG_.cljs$lang$maxFixedArity=10;
taoensso.timbre.stacktrace=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return taoensso.timbre.stacktrace.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return taoensso.timbre.stacktrace.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
taoensso.timbre.stacktrace.cljs$core$IFn$_invoke$arity$1=function(a){return taoensso.timbre.stacktrace.call(null,a,null)};taoensso.timbre.stacktrace.cljs$core$IFn$_invoke$arity$2=function(a,b){return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)};taoensso.timbre.stacktrace.cljs$lang$maxFixedArity=2;taoensso.timbre.console__QMARK_appender=taoensso.timbre.appenders.core.console_appender;taoensso.timbre.ordered_levels=taoensso.timbre._levels_vec;taoensso.timbre.log_QMARK_=taoensso.timbre.may_log_QMARK_;
taoensso.timbre.logging_enabled_QMARK_=function(a,b){return taoensso.timbre.may_log_QMARK_.call(null,a,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(b))};taoensso.timbre.str_println=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return taoensso.timbre.str_println.cljs$core$IFn$_invoke$arity$variadic(b)};
taoensso.timbre.str_println.cljs$core$IFn$_invoke$arity$variadic=function(a){return taoensso.timbre.str_join.call(null,a)};taoensso.timbre.str_println.cljs$lang$maxFixedArity=0;taoensso.timbre.str_println.cljs$lang$applyTo=function(a){return taoensso.timbre.str_println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};var octet={buffer:{}};octet.buffer._STAR_byte_order_STAR_=new cljs.core.Keyword(null,"big-endian","big-endian",-1086482881);octet.buffer.IBufferShort=function(){};
octet.buffer.read_short=function(a,b){if(null!=a&&null!=a.octet$buffer$IBufferShort$read_short$arity$2)return a.octet$buffer$IBufferShort$read_short$arity$2(a,b);var c=octet.buffer.read_short[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=octet.buffer.read_short._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IBufferShort.read-short",a);};
octet.buffer.write_short=function(a,b,c){if(null!=a&&null!=a.octet$buffer$IBufferShort$write_short$arity$3)return a.octet$buffer$IBufferShort$write_short$arity$3(a,b,c);var d=octet.buffer.write_short[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=octet.buffer.write_short._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"IBufferShort.write-short",a);};
octet.buffer.read_ushort=function(a,b){if(null!=a&&null!=a.octet$buffer$IBufferShort$read_ushort$arity$2)return a.octet$buffer$IBufferShort$read_ushort$arity$2(a,b);var c=octet.buffer.read_ushort[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=octet.buffer.read_ushort._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IBufferShort.read-ushort",a);};
octet.buffer.write_ushort=function(a,b,c){if(null!=a&&null!=a.octet$buffer$IBufferShort$write_ushort$arity$3)return a.octet$buffer$IBufferShort$write_ushort$arity$3(a,b,c);var d=octet.buffer.write_ushort[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=octet.buffer.write_ushort._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"IBufferShort.write-ushort",a);};octet.buffer.IBufferInt=function(){};
octet.buffer.read_int=function(a,b){if(null!=a&&null!=a.octet$buffer$IBufferInt$read_int$arity$2)return a.octet$buffer$IBufferInt$read_int$arity$2(a,b);var c=octet.buffer.read_int[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=octet.buffer.read_int._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IBufferInt.read-int",a);};
octet.buffer.write_int=function(a,b,c){if(null!=a&&null!=a.octet$buffer$IBufferInt$write_int$arity$3)return a.octet$buffer$IBufferInt$write_int$arity$3(a,b,c);var d=octet.buffer.write_int[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=octet.buffer.write_int._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"IBufferInt.write-int",a);};
octet.buffer.read_uint=function(a,b){if(null!=a&&null!=a.octet$buffer$IBufferInt$read_uint$arity$2)return a.octet$buffer$IBufferInt$read_uint$arity$2(a,b);var c=octet.buffer.read_uint[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=octet.buffer.read_uint._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IBufferInt.read-uint",a);};
octet.buffer.write_uint=function(a,b,c){if(null!=a&&null!=a.octet$buffer$IBufferInt$write_uint$arity$3)return a.octet$buffer$IBufferInt$write_uint$arity$3(a,b,c);var d=octet.buffer.write_uint[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=octet.buffer.write_uint._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"IBufferInt.write-uint",a);};octet.buffer.IBufferLong=function(){};
octet.buffer.read_long=function(a,b){if(null!=a&&null!=a.octet$buffer$IBufferLong$read_long$arity$2)return a.octet$buffer$IBufferLong$read_long$arity$2(a,b);var c=octet.buffer.read_long[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=octet.buffer.read_long._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IBufferLong.read-long",a);};
octet.buffer.write_long=function(a,b,c){if(null!=a&&null!=a.octet$buffer$IBufferLong$write_long$arity$3)return a.octet$buffer$IBufferLong$write_long$arity$3(a,b,c);var d=octet.buffer.write_long[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=octet.buffer.write_long._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"IBufferLong.write-long",a);};
octet.buffer.read_ulong=function(a,b){if(null!=a&&null!=a.octet$buffer$IBufferLong$read_ulong$arity$2)return a.octet$buffer$IBufferLong$read_ulong$arity$2(a,b);var c=octet.buffer.read_ulong[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=octet.buffer.read_ulong._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IBufferLong.read-ulong",a);};
octet.buffer.write_ulong=function(a,b,c){if(null!=a&&null!=a.octet$buffer$IBufferLong$write_ulong$arity$3)return a.octet$buffer$IBufferLong$write_ulong$arity$3(a,b,c);var d=octet.buffer.write_ulong[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=octet.buffer.write_ulong._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"IBufferLong.write-ulong",a);};octet.buffer.IBufferFloat=function(){};
octet.buffer.read_float=function(a,b){if(null!=a&&null!=a.octet$buffer$IBufferFloat$read_float$arity$2)return a.octet$buffer$IBufferFloat$read_float$arity$2(a,b);var c=octet.buffer.read_float[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=octet.buffer.read_float._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IBufferFloat.read-float",a);};
octet.buffer.write_float=function(a,b,c){if(null!=a&&null!=a.octet$buffer$IBufferFloat$write_float$arity$3)return a.octet$buffer$IBufferFloat$write_float$arity$3(a,b,c);var d=octet.buffer.write_float[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=octet.buffer.write_float._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"IBufferFloat.write-float",a);};octet.buffer.IBufferDouble=function(){};
octet.buffer.read_double=function(a,b){if(null!=a&&null!=a.octet$buffer$IBufferDouble$read_double$arity$2)return a.octet$buffer$IBufferDouble$read_double$arity$2(a,b);var c=octet.buffer.read_double[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=octet.buffer.read_double._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IBufferDouble.read-double",a);};
octet.buffer.write_double=function(a,b,c){if(null!=a&&null!=a.octet$buffer$IBufferDouble$write_double$arity$3)return a.octet$buffer$IBufferDouble$write_double$arity$3(a,b,c);var d=octet.buffer.write_double[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=octet.buffer.write_double._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"IBufferDouble.write-double",a);};octet.buffer.IBufferByte=function(){};
octet.buffer.read_byte=function(a,b){if(null!=a&&null!=a.octet$buffer$IBufferByte$read_byte$arity$2)return a.octet$buffer$IBufferByte$read_byte$arity$2(a,b);var c=octet.buffer.read_byte[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=octet.buffer.read_byte._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IBufferByte.read-byte",a);};
octet.buffer.write_byte=function(a,b,c){if(null!=a&&null!=a.octet$buffer$IBufferByte$write_byte$arity$3)return a.octet$buffer$IBufferByte$write_byte$arity$3(a,b,c);var d=octet.buffer.write_byte[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=octet.buffer.write_byte._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"IBufferByte.write-byte",a);};
octet.buffer.read_ubyte=function(a,b){if(null!=a&&null!=a.octet$buffer$IBufferByte$read_ubyte$arity$2)return a.octet$buffer$IBufferByte$read_ubyte$arity$2(a,b);var c=octet.buffer.read_ubyte[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=octet.buffer.read_ubyte._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IBufferByte.read-ubyte",a);};
octet.buffer.write_ubyte=function(a,b,c){if(null!=a&&null!=a.octet$buffer$IBufferByte$write_ubyte$arity$3)return a.octet$buffer$IBufferByte$write_ubyte$arity$3(a,b,c);var d=octet.buffer.write_ubyte[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=octet.buffer.write_ubyte._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"IBufferByte.write-ubyte",a);};octet.buffer.IBufferBytes=function(){};
octet.buffer.read_bytes=function(a,b,c){if(null!=a&&null!=a.octet$buffer$IBufferBytes$read_bytes$arity$3)return a.octet$buffer$IBufferBytes$read_bytes$arity$3(a,b,c);var d=octet.buffer.read_bytes[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=octet.buffer.read_bytes._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"IBufferBytes.read-bytes",a);};
octet.buffer.write_bytes=function(a,b,c,d){if(null!=a&&null!=a.octet$buffer$IBufferBytes$write_bytes$arity$4)return a.octet$buffer$IBufferBytes$write_bytes$arity$4(a,b,c,d);var e=octet.buffer.write_bytes[goog.typeOf(null==a?null:a)];if(null!=e)return e.call(null,a,b,c,d);e=octet.buffer.write_bytes._;if(null!=e)return e.call(null,a,b,c,d);throw cljs.core.missing_protocol.call(null,"IBufferBytes.write-bytes",a);};octet.buffer.IBufferLimit=function(){};
octet.buffer.get_capacity=function(a){if(null!=a&&null!=a.octet$buffer$IBufferLimit$get_capacity$arity$1)return a.octet$buffer$IBufferLimit$get_capacity$arity$1(a);var b=octet.buffer.get_capacity[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=octet.buffer.get_capacity._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"IBufferLimit.get-capacity",a);};
octet.buffer.stream_operation=function(a,b,c){return cljs.core.reduce.call(null,function(b,c){var d=octet.buffer.get_capacity.call(null,c);return b>=d?b-d:cljs.core.reduced.call(null,a.call(null,c,b))},c,b)};cljs.core.PersistentVector.prototype.octet$buffer$IBufferShort$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentVector.prototype.octet$buffer$IBufferShort$read_short$arity$2=function(a,b){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferShort$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferShort,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferShort,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__34127#] (satisfies? IBufferShort p1__34127#)) buff)");
return octet.buffer.stream_operation.call(null,octet.buffer.read_short,this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferShort$write_short$arity$3=function(a,b,c){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferShort$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferShort,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferShort,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__34128#] (satisfies? IBufferShort p1__34128#)) buff)");
return octet.buffer.stream_operation.call(null,function(a){return function(a,b){return octet.buffer.write_short.call(null,a,b,c)}}(this),this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferShort$read_ushort$arity$2=function(a,b){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferShort$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferShort,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferShort,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__34131#] (satisfies? IBufferShort p1__34131#)) buff)");
return octet.buffer.stream_operation.call(null,octet.buffer.read_ushort,this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferShort$write_ushort$arity$3=function(a,b,c){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferShort$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferShort,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferShort,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__34132#] (satisfies? IBufferShort p1__34132#)) buff)");
return octet.buffer.stream_operation.call(null,function(a){return function(a,b){return octet.buffer.write_ushort.call(null,a,b,c)}}(this),this,b)};cljs.core.PersistentVector.prototype.octet$buffer$IBufferInt$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentVector.prototype.octet$buffer$IBufferInt$read_int$arity$2=function(a,b){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferInt$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferInt,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferInt,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__34135#] (satisfies? IBufferInt p1__34135#)) buff)");
return octet.buffer.stream_operation.call(null,octet.buffer.read_int,this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferInt$write_int$arity$3=function(a,b,c){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferInt$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferInt,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferInt,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__34136#] (satisfies? IBufferInt p1__34136#)) buff)");
return octet.buffer.stream_operation.call(null,function(a){return function(a,b){return octet.buffer.write_int.call(null,a,b,c)}}(this),this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferInt$read_uint$arity$2=function(a,b){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferInt$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferInt,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferInt,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__34139#] (satisfies? IBufferInt p1__34139#)) buff)");
return octet.buffer.stream_operation.call(null,octet.buffer.read_uint,this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferInt$write_uint$arity$3=function(a,b,c){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferInt$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferInt,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferInt,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__34140#] (satisfies? IBufferInt p1__34140#)) buff)");
return octet.buffer.stream_operation.call(null,function(a){return function(a,b){return octet.buffer.write_uint.call(null,a,b,c)}}(this),this,b)};cljs.core.PersistentVector.prototype.octet$buffer$IBufferLong$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentVector.prototype.octet$buffer$IBufferLong$read_long$arity$2=function(a,b){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferLong$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferLong,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferLong,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__34143#] (satisfies? IBufferLong p1__34143#)) buff)");
return octet.buffer.stream_operation.call(null,octet.buffer.read_long,this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferLong$write_long$arity$3=function(a,b,c){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferLong$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferLong,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferLong,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__34144#] (satisfies? IBufferLong p1__34144#)) buff)");
return octet.buffer.stream_operation.call(null,function(a){return function(a,b){return octet.buffer.write_long.call(null,a,b,c)}}(this),this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferLong$read_ulong$arity$2=function(a,b){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferLong$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferLong,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferLong,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__34147#] (satisfies? IBufferLong p1__34147#)) buff)");
return octet.buffer.stream_operation.call(null,octet.buffer.read_ulong,this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferLong$write_ulong$arity$3=function(a,b,c){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferLong$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferLong,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferLong,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__34148#] (satisfies? IBufferLong p1__34148#)) buff)");
return octet.buffer.stream_operation.call(null,function(a){return function(a,b){return octet.buffer.write_ulong.call(null,a,b,c)}}(this),this,b)};cljs.core.PersistentVector.prototype.octet$buffer$IBufferFloat$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentVector.prototype.octet$buffer$IBufferFloat$read_float$arity$2=function(a,b){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferFloat$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferFloat,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferFloat,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__34151#] (satisfies? IBufferFloat p1__34151#)) buff)");
return octet.buffer.stream_operation.call(null,octet.buffer.read_float,this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferFloat$write_float$arity$3=function(a,b,c){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferLong$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferLong,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferLong,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__34152#] (satisfies? IBufferLong p1__34152#)) buff)");
return octet.buffer.stream_operation.call(null,function(a){return function(a,b){return octet.buffer.write_float.call(null,a,b,c)}}(this),this,b)};cljs.core.PersistentVector.prototype.octet$buffer$IBufferDouble$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentVector.prototype.octet$buffer$IBufferDouble$read_double$arity$2=function(a,b){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferDouble$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferDouble,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferDouble,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__34155#] (satisfies? IBufferDouble p1__34155#)) buff)");
return octet.buffer.stream_operation.call(null,octet.buffer.read_double,this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferDouble$write_double$arity$3=function(a,b,c){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferDouble$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferDouble,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferDouble,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__34156#] (satisfies? IBufferDouble p1__34156#)) buff)");
return octet.buffer.stream_operation.call(null,function(a){return function(a,b){return octet.buffer.write_double.call(null,a,b,c)}}(this),this,b)};cljs.core.PersistentVector.prototype.octet$buffer$IBufferByte$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentVector.prototype.octet$buffer$IBufferByte$read_byte$arity$2=function(a,b){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferByte$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferByte,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferByte,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__34159#] (satisfies? IBufferByte p1__34159#)) buff)");
return octet.buffer.stream_operation.call(null,octet.buffer.read_byte,this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferByte$write_byte$arity$3=function(a,b,c){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferByte$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferByte,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferByte,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__34160#] (satisfies? IBufferByte p1__34160#)) buff)");
return octet.buffer.stream_operation.call(null,function(a){return function(a,b){return octet.buffer.write_byte.call(null,a,b,c)}}(this),this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferByte$read_ubyte$arity$2=function(a,b){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferByte$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferByte,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferByte,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__34163#] (satisfies? IBufferByte p1__34163#)) buff)");
return octet.buffer.stream_operation.call(null,octet.buffer.read_ubyte,this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferByte$write_ubyte$arity$3=function(a,b,c){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferByte$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferByte,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferByte,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__34164#] (satisfies? IBufferByte p1__34164#)) buff)");
return octet.buffer.stream_operation.call(null,function(a){return function(a,b){return octet.buffer.write_ubyte.call(null,a,b,c)}}(this),this,b)};cljs.core.PersistentVector.prototype.octet$buffer$IBufferBytes$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentVector.prototype.octet$buffer$IBufferBytes$read_bytes$arity$3=function(a,b,c){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferBytes$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferBytes,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferBytes,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__34167#] (satisfies? IBufferBytes p1__34167#)) buff)");
return octet.buffer.stream_operation.call(null,function(a){return function(a,b){return octet.buffer.read_bytes.call(null,a,b,c)}}(this),this,b)};
cljs.core.PersistentVector.prototype.octet$buffer$IBufferBytes$write_bytes$arity$4=function(a,b,c,d){if(!cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$buffer$IBufferByte$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferByte,a):cljs.core.native_satisfies_QMARK_.call(null,octet.buffer.IBufferByte,a)}}(this),this))throw Error("Assert failed: (every? (fn* [p1__34170#] (satisfies? IBufferByte p1__34170#)) buff)");
return octet.buffer.stream_operation.call(null,function(a){return function(a,b){return octet.buffer.write_bytes.call(null,a,b,c,d)}}(this),this,b)};cljs.core.PersistentVector.prototype.octet$buffer$IBufferLimit$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentVector.prototype.octet$buffer$IBufferLimit$get_capacity$arity$1=function(a){return cljs.core.reduce.call(null,function(a){return function(a,b){return a+octet.buffer.get_capacity.call(null,b)}}(this),0,this)};
DataView.prototype.octet$buffer$IBufferShort$=cljs.core.PROTOCOL_SENTINEL;DataView.prototype.octet$buffer$IBufferShort$read_short$arity$2=function(a,b){return this.getInt16(b,cljs.core._EQ_.call(null,octet.buffer._STAR_byte_order_STAR_,new cljs.core.Keyword(null,"little-endian","little-endian",1877303413)))};
DataView.prototype.octet$buffer$IBufferShort$write_short$arity$3=function(a,b,c){return this.setInt16(b,c,cljs.core._EQ_.call(null,octet.buffer._STAR_byte_order_STAR_,new cljs.core.Keyword(null,"little-endian","little-endian",1877303413)))};DataView.prototype.octet$buffer$IBufferShort$read_ushort$arity$2=function(a,b){return this.getUint16(b,cljs.core._EQ_.call(null,octet.buffer._STAR_byte_order_STAR_,new cljs.core.Keyword(null,"little-endian","little-endian",1877303413)))};
DataView.prototype.octet$buffer$IBufferShort$write_ushort$arity$3=function(a,b,c){return this.setUint16(b,c,cljs.core._EQ_.call(null,octet.buffer._STAR_byte_order_STAR_,new cljs.core.Keyword(null,"little-endian","little-endian",1877303413)))};DataView.prototype.octet$buffer$IBufferInt$=cljs.core.PROTOCOL_SENTINEL;
DataView.prototype.octet$buffer$IBufferInt$read_int$arity$2=function(a,b){return this.getInt32(b,cljs.core._EQ_.call(null,octet.buffer._STAR_byte_order_STAR_,new cljs.core.Keyword(null,"little-endian","little-endian",1877303413)))};DataView.prototype.octet$buffer$IBufferInt$write_int$arity$3=function(a,b,c){return this.setInt32(b,c,cljs.core._EQ_.call(null,octet.buffer._STAR_byte_order_STAR_,new cljs.core.Keyword(null,"little-endian","little-endian",1877303413)))};
DataView.prototype.octet$buffer$IBufferInt$read_uint$arity$2=function(a,b){return this.getUint32(b,cljs.core._EQ_.call(null,octet.buffer._STAR_byte_order_STAR_,new cljs.core.Keyword(null,"little-endian","little-endian",1877303413)))};DataView.prototype.octet$buffer$IBufferInt$write_uint$arity$3=function(a,b,c){return this.setUint32(b,c,cljs.core._EQ_.call(null,octet.buffer._STAR_byte_order_STAR_,new cljs.core.Keyword(null,"little-endian","little-endian",1877303413)))};
DataView.prototype.octet$buffer$IBufferFloat$=cljs.core.PROTOCOL_SENTINEL;DataView.prototype.octet$buffer$IBufferFloat$read_float$arity$2=function(a,b){return this.getFloat32(b,cljs.core._EQ_.call(null,octet.buffer._STAR_byte_order_STAR_,new cljs.core.Keyword(null,"little-endian","little-endian",1877303413)))};
DataView.prototype.octet$buffer$IBufferFloat$write_float$arity$3=function(a,b,c){return this.setFloat32(b,c,cljs.core._EQ_.call(null,octet.buffer._STAR_byte_order_STAR_,new cljs.core.Keyword(null,"little-endian","little-endian",1877303413)))};DataView.prototype.octet$buffer$IBufferDouble$=cljs.core.PROTOCOL_SENTINEL;
DataView.prototype.octet$buffer$IBufferDouble$read_double$arity$2=function(a,b){return this.getFloat64(b,cljs.core._EQ_.call(null,octet.buffer._STAR_byte_order_STAR_,new cljs.core.Keyword(null,"little-endian","little-endian",1877303413)))};DataView.prototype.octet$buffer$IBufferDouble$write_double$arity$3=function(a,b,c){return this.setFloat64(b,c,cljs.core._EQ_.call(null,octet.buffer._STAR_byte_order_STAR_,new cljs.core.Keyword(null,"little-endian","little-endian",1877303413)))};
DataView.prototype.octet$buffer$IBufferByte$=cljs.core.PROTOCOL_SENTINEL;DataView.prototype.octet$buffer$IBufferByte$read_byte$arity$2=function(a,b){return this.getInt8(b)};DataView.prototype.octet$buffer$IBufferByte$write_byte$arity$3=function(a,b,c){return this.setInt8(b,c)};DataView.prototype.octet$buffer$IBufferByte$read_ubyte$arity$2=function(a,b){return this.getUint8(b)};DataView.prototype.octet$buffer$IBufferByte$write_ubyte$arity$3=function(a,b,c){return this.setUint8(b,c)};
DataView.prototype.octet$buffer$IBufferBytes$=cljs.core.PROTOCOL_SENTINEL;DataView.prototype.octet$buffer$IBufferBytes$read_bytes$arity$3=function(a,b,c){return new Int8Array(this.buffer,this.byteOffset+b,c)};
DataView.prototype.octet$buffer$IBufferBytes$write_bytes$arity$4=function(a,b,c,d){a=cljs.core.seq.call(null,cljs.core.range.call(null,d.length));for(var e=null,f=0,g=0;;)if(g<f)c=cljs.core._nth.call(null,e,g),this.setInt8(b+c,d[c]),g+=1;else if(a=cljs.core.seq.call(null,a))e=a,cljs.core.chunked_seq_QMARK_.call(null,e)?(a=cljs.core.chunk_first.call(null,e),e=cljs.core.chunk_rest.call(null,e),c=a,f=cljs.core.count.call(null,a),a=e,e=c):(c=cljs.core.first.call(null,e),this.setInt8(b+c,d[c]),a=cljs.core.next.call(null,
e),e=null,f=0),g=0;else return null};DataView.prototype.octet$buffer$IBufferLimit$=cljs.core.PROTOCOL_SENTINEL;DataView.prototype.octet$buffer$IBufferLimit$get_capacity$arity$1=function(a){return this.byteLength};
"undefined"===typeof octet.buffer.allocate&&(octet.buffer.allocate=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));
return new cljs.core.MultiFn(cljs.core.symbol.call(null,"octet.buffer","allocate"),function(a,b,c,d,e){return function(){var a=function(a,b){var c=cljs.core.nth.call(null,b,0,null),d=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,c=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"heap","heap",1039710192)),d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,
"impl","impl",1677848700),new cljs.core.Keyword(null,"es6","es6",-1791209081));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,d],null)},b=function(b,c){var d=null;if(1<arguments.length){for(var d=0,e=Array(arguments.length-1);d<e.length;)e[d]=arguments[d+1],++d;d=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,b,d)};b.cljs$lang$maxFixedArity=1;b.cljs$lang$applyTo=function(b){var c=cljs.core.first(b);b=cljs.core.rest(b);return a(c,b)};b.cljs$core$IFn$_invoke$arity$variadic=
a;return b}()}(a,b,c,d,e),new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}());
cljs.core._add_method.call(null,octet.buffer.allocate,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"heap","heap",1039710192),new cljs.core.Keyword(null,"es6","es6",-1791209081)],null),function(){var a=function(a,b){var c=new ArrayBuffer(a);return new DataView(c)},b=function(b,d){var c=null;if(1<arguments.length){for(var c=0,f=Array(arguments.length-1);c<f.length;)f[c]=arguments[c+1],++c;c=new cljs.core.IndexedSeq(f,0,null)}return a.call(this,
b,c)};b.cljs$lang$maxFixedArity=1;b.cljs$lang$applyTo=function(b){var c=cljs.core.first(b);b=cljs.core.rest(b);return a(c,b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}());weathergen.lzss={};weathergen.lzss.ring_buffer_size=4096;weathergen.lzss.break_even=2;
weathergen.lzss.expand=function(a,b,c,d){c=octet.buffer.allocate.call(null,d);var e=octet.buffer.allocate.call(null,weathergen.lzss.ring_buffer_size),f=b;b=0;for(var g=null,h=0;;){if(d<=h)return c;var k=cljs.core.mod.call(null,b,8),g=0===k?octet.buffer.read_byte.call(null,a,f):g,f=0===k?f+1:f;if(0!=(g&1<<k))k=octet.buffer.read_byte.call(null,a,f),octet.buffer.write_byte.call(null,c,h,k),octet.buffer.write_byte.call(null,e,cljs.core.mod.call(null,h+1,weathergen.lzss.ring_buffer_size),k),b+=1,h+=1,
f+=1;else{for(var l=octet.buffer.read_ubyte.call(null,a,f),k=octet.buffer.read_ubyte.call(null,a,f+1)+((l&15)<<8),l=weathergen.lzss.break_even+(l>>4),m=d-h-1,m=l=l<m?l:m,n=0;;)if(n<m){var p=octet.buffer.read_byte.call(null,e,cljs.core.mod.call(null,k+n,weathergen.lzss.ring_buffer_size));octet.buffer.write_byte.call(null,e,cljs.core.mod.call(null,h+n+1,weathergen.lzss.ring_buffer_size),p);octet.buffer.write_byte.call(null,c,h+n,p);n+=1}else break;b+=1;h+=l;f+=2}}};octet.util={};
var ret__24604__auto___34241=octet.util.defalias=function(a,b,c,d){return cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"do","do",1686842252,null)),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"def","def",597100991,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,c),
cljs.core._conj.call(null,cljs.core.List.EMPTY,d))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","alter-meta!","cljs.core/alter-meta!",574694262,null)),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,
"var","var",870848730,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,c))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","merge","cljs.core/merge",-822184067,null)),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","dissoc","cljs.core/dissoc",-432349815,null)),function(){var a=
cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","meta","cljs.core/meta",-748218346,null)),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"var","var",870848730,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,d))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,
a)}())));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Keyword(null,"name","name",1843675177)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}())));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}())))};octet.util.defalias.cljs$lang$macro=!0;octet.spec={};octet.spec.ISpec=function(){};octet.spec.read=function(a,b,c){if(null!=a&&null!=a.octet$spec$ISpec$read$arity$3)return a.octet$spec$ISpec$read$arity$3(a,b,c);var d=octet.spec.read[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=octet.spec.read._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"ISpec.read",a);};
octet.spec.write=function(a,b,c,d){if(null!=a&&null!=a.octet$spec$ISpec$write$arity$4)return a.octet$spec$ISpec$write$arity$4(a,b,c,d);var e=octet.spec.write[goog.typeOf(null==a?null:a)];if(null!=e)return e.call(null,a,b,c,d);e=octet.spec.write._;if(null!=e)return e.call(null,a,b,c,d);throw cljs.core.missing_protocol.call(null,"ISpec.write",a);};octet.spec.ISpecSize=function(){};
octet.spec.size=function(a){if(null!=a&&null!=a.octet$spec$ISpecSize$size$arity$1)return a.octet$spec$ISpecSize$size$arity$1(a);var b=octet.spec.size[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=octet.spec.size._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"ISpecSize.size",a);};octet.spec.ISpecDynamicSize=function(){};
octet.spec.size_STAR_=function(a,b){if(null!=a&&null!=a.octet$spec$ISpecDynamicSize$size_STAR_$arity$2)return a.octet$spec$ISpecDynamicSize$size_STAR_$arity$2(a,b);var c=octet.spec.size_STAR_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=octet.spec.size_STAR_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"ISpecDynamicSize.size*",a);};
octet.spec.AssociativeSpec=function(a,b,c){this.data=a;this.dict=b;this.types=c;this.cljs$lang$protocol_mask$partition0$=2;this.cljs$lang$protocol_mask$partition1$=0};octet.spec.AssociativeSpec.prototype.cljs$core$ICounted$_count$arity$1=function(a){return cljs.core.count.call(null,this.types)};octet.spec.AssociativeSpec.prototype.octet$spec$ISpecSize$=cljs.core.PROTOCOL_SENTINEL;
octet.spec.AssociativeSpec.prototype.octet$spec$ISpecSize$size$arity$1=function(a){return cljs.core.reduce.call(null,function(a){return function(a,b){return a+octet.spec.size.call(null,b)}}(this),0,this.types)};octet.spec.AssociativeSpec.prototype.octet$spec$ISpecDynamicSize$=cljs.core.PROTOCOL_SENTINEL;
octet.spec.AssociativeSpec.prototype.octet$spec$ISpecDynamicSize$size_STAR_$arity$2=function(a,b){var c=this;return cljs.core.reduce.call(null,function(a){return function(a,b){var d=cljs.core.nth.call(null,b,0,null),e=cljs.core.nth.call(null,b,1,null),d=d.call(null,c.dict);return(null!=d?cljs.core.PROTOCOL_SENTINEL===d.octet$spec$ISpecSize$||(d.cljs$lang$protocol_mask$partition$?0:cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecSize,d)):cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecSize,
d))?a+octet.spec.size.call(null,d):a+octet.spec.size_STAR_.call(null,d,e)}}(this),0,cljs.core.into.call(null,cljs.core.PersistentVector.EMPTY,b))};octet.spec.AssociativeSpec.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL;
octet.spec.AssociativeSpec.prototype.octet$spec$ISpec$read$arity$3=function(a,b,c){a=c;for(var d=cljs.core.PersistentArrayMap.EMPTY,e=this.data;;){var f=cljs.core.first.call(null,e);if(cljs.core.truth_(f)){var g=f,f=cljs.core.nth.call(null,g,0,null),g=cljs.core.nth.call(null,g,1,null),h=octet.spec.read.call(null,g,b,a),g=cljs.core.nth.call(null,h,0,null),h=cljs.core.nth.call(null,h,1,null);a+=g;d=cljs.core.assoc.call(null,d,f,h);e=cljs.core.rest.call(null,e)}else return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[a-c,d],null)}};octet.spec.AssociativeSpec.prototype.octet$spec$ISpec$write$arity$4=function(a,b,c,d){return cljs.core.reduce.call(null,function(a){return function(a,c){var e=cljs.core.nth.call(null,c,0,null),f=cljs.core.nth.call(null,c,1,null),e=cljs.core.get.call(null,d,e,null),f=octet.spec.write.call(null,f,b,a,e);return a+f}}(this),c,this.data)-c};
octet.spec.AssociativeSpec.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"data","data",1407862150,null),new cljs.core.Symbol(null,"dict","dict",10567054,null),new cljs.core.Symbol(null,"types","types",-2064405130,null)],null)};octet.spec.AssociativeSpec.cljs$lang$type=!0;octet.spec.AssociativeSpec.cljs$lang$ctorStr="octet.spec/AssociativeSpec";
octet.spec.AssociativeSpec.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"octet.spec/AssociativeSpec")};octet.spec.__GT_AssociativeSpec=function(a,b,c){return new octet.spec.AssociativeSpec(a,b,c)};octet.spec.IndexedSpec=function(a){this.types=a;this.cljs$lang$protocol_mask$partition0$=2;this.cljs$lang$protocol_mask$partition1$=0};octet.spec.IndexedSpec.prototype.cljs$core$ICounted$_count$arity$1=function(a){return cljs.core.count.call(null,this.types)};
octet.spec.IndexedSpec.prototype.octet$spec$ISpecSize$=cljs.core.PROTOCOL_SENTINEL;octet.spec.IndexedSpec.prototype.octet$spec$ISpecSize$size$arity$1=function(a){return cljs.core.reduce.call(null,function(a){return function(a,b){return a+octet.spec.size.call(null,b)}}(this),0,this.types)};octet.spec.IndexedSpec.prototype.octet$spec$ISpecDynamicSize$=cljs.core.PROTOCOL_SENTINEL;
octet.spec.IndexedSpec.prototype.octet$spec$ISpecDynamicSize$size_STAR_$arity$2=function(a,b){var c=this;return cljs.core.reduce.call(null,function(a){return function(a,b){var d=cljs.core.nth.call(null,b,0,null),e=cljs.core.nth.call(null,b,1,null),d=cljs.core.nth.call(null,c.types,d);return(null!=d?cljs.core.PROTOCOL_SENTINEL===d.octet$spec$ISpecSize$||(d.cljs$lang$protocol_mask$partition$?0:cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecSize,d)):cljs.core.native_satisfies_QMARK_.call(null,
octet.spec.ISpecSize,d))?a+octet.spec.size.call(null,d):a+octet.spec.size_STAR_.call(null,d,e)}}(this),0,cljs.core.map_indexed.call(null,cljs.core.vector,b))};octet.spec.IndexedSpec.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL;
octet.spec.IndexedSpec.prototype.octet$spec$ISpec$read$arity$3=function(a,b,c){a=c;for(var d=cljs.core.PersistentVector.EMPTY,e=this.types;;){var f=cljs.core.first.call(null,e);if(cljs.core.truth_(f)){var g=octet.spec.read.call(null,f,b,a),f=cljs.core.nth.call(null,g,0,null),g=cljs.core.nth.call(null,g,1,null);a+=f;d=cljs.core.conj.call(null,d,g);e=cljs.core.rest.call(null,e)}else return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a-c,d],null)}};
octet.spec.IndexedSpec.prototype.octet$spec$ISpec$write$arity$4=function(a,b,c,d){a=cljs.core.map_indexed.call(null,cljs.core.vector,this.types);return cljs.core.reduce.call(null,function(a,c){return function(a,c){var e=cljs.core.nth.call(null,c,0,null),f=cljs.core.nth.call(null,c,1,null),e=cljs.core.nth.call(null,d,e,null),f=octet.spec.write.call(null,f,b,a,e);return a+f}}(a,this),c,a)-c};
octet.spec.IndexedSpec.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"types","types",-2064405130,null)],null)};octet.spec.IndexedSpec.cljs$lang$type=!0;octet.spec.IndexedSpec.cljs$lang$ctorStr="octet.spec/IndexedSpec";octet.spec.IndexedSpec.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"octet.spec/IndexedSpec")};octet.spec.__GT_IndexedSpec=function(a){return new octet.spec.IndexedSpec(a)};
octet.spec.associative_spec=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return octet.spec.associative_spec.cljs$core$IFn$_invoke$arity$variadic(b)};
octet.spec.associative_spec.cljs$core$IFn$_invoke$arity$variadic=function(a){a=cljs.core.mapv.call(null,cljs.core.vec,cljs.core.partition.call(null,2,a));var b=cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,a),c=cljs.core.map.call(null,cljs.core.second,a);return new octet.spec.AssociativeSpec(a,b,c)};octet.spec.associative_spec.cljs$lang$maxFixedArity=0;
octet.spec.associative_spec.cljs$lang$applyTo=function(a){return octet.spec.associative_spec.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};octet.spec.indexed_spec=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return octet.spec.indexed_spec.cljs$core$IFn$_invoke$arity$variadic(b)};octet.spec.indexed_spec.cljs$core$IFn$_invoke$arity$variadic=function(a){return new octet.spec.IndexedSpec(a)};
octet.spec.indexed_spec.cljs$lang$maxFixedArity=0;octet.spec.indexed_spec.cljs$lang$applyTo=function(a){return octet.spec.indexed_spec.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};octet.spec.spec=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return octet.spec.spec.cljs$core$IFn$_invoke$arity$variadic(b)};
octet.spec.spec.cljs$core$IFn$_invoke$arity$variadic=function(a){var b=cljs.core.count.call(null,a);if(cljs.core.every_QMARK_.call(null,function(a){return function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.octet$spec$ISpec$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpec,a):cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpec,a)}}(b),a))return cljs.core.apply.call(null,octet.spec.indexed_spec,a);if(function(){var c=cljs.core.even_QMARK_.call(null,
b);return c&&(c=cljs.core.first.call(null,a)instanceof cljs.core.Keyword)?(c=cljs.core.second.call(null,a),null!=c?cljs.core.PROTOCOL_SENTINEL===c.octet$spec$ISpec$?!0:c.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpec,c):cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpec,c)):c}())return cljs.core.apply.call(null,octet.spec.associative_spec,a);throw cljs.core.ex_info.call(null,"Invalid arguments",cljs.core.PersistentArrayMap.EMPTY);};
octet.spec.spec.cljs$lang$maxFixedArity=0;octet.spec.spec.cljs$lang$applyTo=function(a){return octet.spec.spec.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
octet.spec.repeat=function(a,b){"undefined"===typeof octet.spec.t_octet$spec34309&&(octet.spec.t_octet$spec34309=function(a,b,e){this.n=a;this.type=b;this.meta34310=e;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},octet.spec.t_octet$spec34309.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new octet.spec.t_octet$spec34309(this.n,this.type,b)},octet.spec.t_octet$spec34309.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta34310},
octet.spec.t_octet$spec34309.prototype.octet$spec$ISpecSize$=cljs.core.PROTOCOL_SENTINEL,octet.spec.t_octet$spec34309.prototype.octet$spec$ISpecSize$size$arity$1=function(a){return this.n*octet.spec.size.call(null,this.type)},octet.spec.t_octet$spec34309.prototype.octet$spec$ISpecDynamicSize$=cljs.core.PROTOCOL_SENTINEL,octet.spec.t_octet$spec34309.prototype.octet$spec$ISpecDynamicSize$size_STAR_$arity$2=function(a,b){var c=this;return cljs.core.reduce.call(null,function(a){return function(a,b){cljs.core.nth.call(null,
b,0,null);var d=cljs.core.nth.call(null,b,1,null);return(null!=c.type?cljs.core.PROTOCOL_SENTINEL===c.type.octet$spec$ISpecSize$||(c.type.cljs$lang$protocol_mask$partition$?0:cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecSize,c.type)):cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecSize,c.type))?a+octet.spec.size.call(null,c.type):a+octet.spec.size_STAR_.call(null,c.type,d)}}(this),0,cljs.core.map_indexed.call(null,cljs.core.vector,b))},octet.spec.t_octet$spec34309.prototype.octet$spec$ISpec$=
cljs.core.PROTOCOL_SENTINEL,octet.spec.t_octet$spec34309.prototype.octet$spec$ISpec$read$arity$3=function(a,b,e){a=e;for(var c=cljs.core.PersistentVector.EMPTY,d=cljs.core.take.call(null,this.n,cljs.core.repeatedly.call(null,cljs.core.constantly.call(null,this.type)));;){var h=cljs.core.first.call(null,d);if(cljs.core.truth_(h)){var k=octet.spec.read.call(null,h,b,a),h=cljs.core.nth.call(null,k,0,null),k=cljs.core.nth.call(null,k,1,null);a+=h;c=cljs.core.conj.call(null,c,k);d=cljs.core.rest.call(null,
d)}else return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a-e,c],null)}},octet.spec.t_octet$spec34309.prototype.octet$spec$ISpec$write$arity$4=function(a,b,e,f){a=f;for(f=e;;){var c=cljs.core.first.call(null,a);if(cljs.core.truth_(c))c=octet.spec.write.call(null,this.type,b,f,c),a=cljs.core.rest.call(null,a),f+=c;else return f-e}},octet.spec.t_octet$spec34309.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"n","n",-2092305744,null),new cljs.core.Symbol(null,"type","type",-1480165421,null),new cljs.core.Symbol(null,"meta34310","meta34310",797402916,null)],null)},octet.spec.t_octet$spec34309.cljs$lang$type=!0,octet.spec.t_octet$spec34309.cljs$lang$ctorStr="octet.spec/t_octet$spec34309",octet.spec.t_octet$spec34309.cljs$lang$ctorPrWriter=function(a,b,e){return cljs.core._write.call(null,b,"octet.spec/t_octet$spec34309")},octet.spec.__GT_t_octet$spec34309=function(a,b,e){return new octet.spec.t_octet$spec34309(a,
b,e)});return new octet.spec.t_octet$spec34309(a,b,cljs.core.PersistentArrayMap.EMPTY)};
octet.spec.compose=function(a,b){if(!cljs.core.fn_QMARK_.call(null,a))throw Error("Assert failed: (fn? constructor)");if(!cljs.core.vector_QMARK_.call(null,b))throw Error("Assert failed: (vector? types)");var c=cljs.core.apply.call(null,octet.spec.spec,b);"undefined"===typeof octet.spec.t_octet$spec34331&&(octet.spec.t_octet$spec34331=function(a,b,c,g){this.constructor$=a;this.types=b;this.spec_SINGLEQUOTE_=c;this.meta34332=g;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=
0},octet.spec.t_octet$spec34331.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a){return function(a,b){return new octet.spec.t_octet$spec34331(this.constructor$,this.types,this.spec_SINGLEQUOTE_,b)}}(c),octet.spec.t_octet$spec34331.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta34332}}(c),octet.spec.t_octet$spec34331.prototype.octet$spec$ISpecSize$=cljs.core.PROTOCOL_SENTINEL,octet.spec.t_octet$spec34331.prototype.octet$spec$ISpecSize$size$arity$1=
function(a){return function(a){return octet.spec.size.call(null,this.spec_SINGLEQUOTE_)}}(c),octet.spec.t_octet$spec34331.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,octet.spec.t_octet$spec34331.prototype.octet$spec$ISpec$read$arity$3=function(a){return function(a,b,c){b=octet.spec.read.call(null,this.spec_SINGLEQUOTE_,b,c);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,cljs.core.apply.call(null,
this.constructor$,b)],null)}}(c),octet.spec.t_octet$spec34331.prototype.octet$spec$ISpec$write$arity$4=function(a){return function(a,b,c,d){a=cljs.core.vec.call(null,cljs.core.vals.call(null,d));return octet.spec.write.call(null,this.spec_SINGLEQUOTE_,b,c,a)}}(c),octet.spec.t_octet$spec34331.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"constructor","constructor",-313397284,null),new cljs.core.Symbol(null,
"types","types",-2064405130,null),new cljs.core.Symbol(null,"spec'","spec'",-1719556456,null),new cljs.core.Symbol(null,"meta34332","meta34332",1912037531,null)],null)}}(c),octet.spec.t_octet$spec34331.cljs$lang$type=!0,octet.spec.t_octet$spec34331.cljs$lang$ctorStr="octet.spec/t_octet$spec34331",octet.spec.t_octet$spec34331.cljs$lang$ctorPrWriter=function(a){return function(a,b,c){return cljs.core._write.call(null,b,"octet.spec/t_octet$spec34331")}}(c),octet.spec.__GT_t_octet$spec34331=function(a){return function(a,
b,c,d){return new octet.spec.t_octet$spec34331(a,b,c,d)}}(c));return new octet.spec.t_octet$spec34331(a,b,c,cljs.core.PersistentArrayMap.EMPTY)};octet.spec.string={};octet.spec.string.zeropad_count=function(a){return cljs.core.reduce.call(null,function(b){return function(c,d){return cljs.core._EQ_.call(null,a[d],b)?c+1:cljs.core.reduced.call(null,c)}}(0),0,cljs.core.reverse.call(null,cljs.core.range.call(null,cljs.core.count.call(null,a))))};
octet.spec.string.zeropad_BANG_=function(a,b){for(var c,d=cljs.core.seq.call(null,cljs.core.range.call(null,a.length)),e=null,f=0,g=0;;)if(g<f)c=cljs.core._nth.call(null,e,g),c>b&&(a[c]=0),g+=1;else if(d=cljs.core.seq.call(null,d))e=d,cljs.core.chunked_seq_QMARK_.call(null,e)?(d=cljs.core.chunk_first.call(null,e),e=cljs.core.chunk_rest.call(null,e),c=d,f=cljs.core.count.call(null,d),d=e,e=c):(c=cljs.core.first.call(null,e),c>b&&(a[c]=0),d=cljs.core.next.call(null,e),e=null,f=0),g=0;else return null};
octet.spec.string.bytes__GT_string=function(a,b){var c=a.subarray(0,b),c=new Uint8Array(c);return String.fromCharCode.apply(null,c)};
octet.spec.string.string__GT_bytes=function(a){for(var b=new ArrayBuffer(cljs.core.count.call(null,a)),c=new Uint8Array(b),d=cljs.core.seq.call(null,cljs.core.range.call(null,cljs.core.count.call(null,a))),e=null,f=0,g=0;;)if(g<f){var h=cljs.core._nth.call(null,e,g);c[h]=a.charCodeAt(h);g+=1}else if(d=cljs.core.seq.call(null,d))e=d,cljs.core.chunked_seq_QMARK_.call(null,e)?(d=cljs.core.chunk_first.call(null,e),g=cljs.core.chunk_rest.call(null,e),e=d,f=cljs.core.count.call(null,d),d=g):(d=cljs.core.first.call(null,
e),c[d]=a.charCodeAt(d),d=cljs.core.next.call(null,e),e=null,f=0),g=0;else break;return new Int8Array(b)};octet.spec.string.arraycopy=function(a,b,c){return cljs.core.reduce.call(null,function(c,e){return b[e]=a[e]},null,cljs.core.range.call(null,a.length))};octet.spec.string.byte_array=function(a){return new Int8Array(a)};Int8Array.prototype.cljs$core$ICounted$=cljs.core.PROTOCOL_SENTINEL;Int8Array.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.length};
octet.spec.string.string=function(a){"undefined"===typeof octet.spec.string.t_octet$spec$string34391&&(octet.spec.string.t_octet$spec$string34391=function(a,c){this.size=a;this.meta34392=c;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},octet.spec.string.t_octet$spec$string34391.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,c){return new octet.spec.string.t_octet$spec$string34391(this.size,c)},octet.spec.string.t_octet$spec$string34391.prototype.cljs$core$IMeta$_meta$arity$1=
function(a){return this.meta34392},octet.spec.string.t_octet$spec$string34391.prototype.octet$spec$ISpecSize$=cljs.core.PROTOCOL_SENTINEL,octet.spec.string.t_octet$spec$string34391.prototype.octet$spec$ISpecSize$size$arity$1=function(a){return this.size},octet.spec.string.t_octet$spec$string34391.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,octet.spec.string.t_octet$spec$string34391.prototype.octet$spec$ISpec$read$arity$3=function(a,c,d){a=octet.buffer.read_bytes.call(null,c,d,this.size);
c=this.size-octet.spec.string.zeropad_count.call(null,a);a=octet.spec.string.bytes__GT_string.call(null,a,c);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.size,a],null)},octet.spec.string.t_octet$spec$string34391.prototype.octet$spec$ISpec$write$arity$4=function(a,c,d,e){a=octet.spec.string.string__GT_bytes.call(null,e);e=cljs.core.count.call(null,a);var b=octet.spec.string.byte_array.call(null,this.size);e<this.size?octet.spec.string.arraycopy.call(null,
a,b,e):octet.spec.string.arraycopy.call(null,a,b,this.size);e<this.size&&octet.spec.string.zeropad_BANG_.call(null,b,e);octet.buffer.write_bytes.call(null,c,d,this.size,b);return this.size},octet.spec.string.t_octet$spec$string34391.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"size","size",-1555742762,null),new cljs.core.Symbol(null,"meta34392","meta34392",-175801403,null)],null)},octet.spec.string.t_octet$spec$string34391.cljs$lang$type=
!0,octet.spec.string.t_octet$spec$string34391.cljs$lang$ctorStr="octet.spec.string/t_octet$spec$string34391",octet.spec.string.t_octet$spec$string34391.cljs$lang$ctorPrWriter=function(a,c,d){return cljs.core._write.call(null,c,"octet.spec.string/t_octet$spec$string34391")},octet.spec.string.__GT_t_octet$spec$string34391=function(a,c){return new octet.spec.string.t_octet$spec$string34391(a,c)});return new octet.spec.string.t_octet$spec$string34391(a,cljs.core.PersistentArrayMap.EMPTY)};
octet.spec.string.string_STAR_=function(){"undefined"===typeof octet.spec.string.t_octet$spec$string34394&&(octet.spec.string.t_octet$spec$string34394=function(a){this.meta34395=a;this.cljs$lang$protocol_mask$partition0$=393217;this.cljs$lang$protocol_mask$partition1$=0},octet.spec.string.t_octet$spec$string34394.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new octet.spec.string.t_octet$spec$string34394(b)},octet.spec.string.t_octet$spec$string34394.prototype.cljs$core$IMeta$_meta$arity$1=
function(a){return this.meta34395},octet.spec.string.t_octet$spec$string34394.prototype.call=function(a){return this},octet.spec.string.t_octet$spec$string34394.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone.call(null,b)))},octet.spec.string.t_octet$spec$string34394.prototype.cljs$core$IFn$_invoke$arity$0=function(){return this},octet.spec.string.t_octet$spec$string34394.prototype.octet$spec$ISpecDynamicSize$=cljs.core.PROTOCOL_SENTINEL,octet.spec.string.t_octet$spec$string34394.prototype.octet$spec$ISpecDynamicSize$size_STAR_$arity$2=
function(a,b){var c=octet.spec.string.string__GT_bytes.call(null,b);return 4+cljs.core.count.call(null,c)},octet.spec.string.t_octet$spec$string34394.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,octet.spec.string.t_octet$spec$string34394.prototype.octet$spec$ISpec$read$arity$3=function(a,b,c){a=octet.buffer.read_int.call(null,b,c);b=octet.buffer.read_bytes.call(null,b,c+4,a);b=octet.spec.string.bytes__GT_string.call(null,b,a);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[a+4,b],null)},octet.spec.string.t_octet$spec$string34394.prototype.octet$spec$ISpec$write$arity$4=function(a,b,c,d){a=octet.spec.string.string__GT_bytes.call(null,d);d=cljs.core.count.call(null,a);octet.buffer.write_int.call(null,b,c,d);octet.buffer.write_bytes.call(null,b,c+4,d,a);return d+4},octet.spec.string.t_octet$spec$string34394.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta34395","meta34395",1221526784,
null)],null)},octet.spec.string.t_octet$spec$string34394.cljs$lang$type=!0,octet.spec.string.t_octet$spec$string34394.cljs$lang$ctorStr="octet.spec.string/t_octet$spec$string34394",octet.spec.string.t_octet$spec$string34394.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"octet.spec.string/t_octet$spec$string34394")},octet.spec.string.__GT_t_octet$spec$string34394=function(a){return new octet.spec.string.t_octet$spec$string34394(a)});return new octet.spec.string.t_octet$spec$string34394(cljs.core.PersistentArrayMap.EMPTY)}();octet.spec.collections={};
octet.spec.collections.vector_STAR_=function(a){"undefined"===typeof octet.spec.collections.t_octet$spec$collections34409&&(octet.spec.collections.t_octet$spec$collections34409=function(a,c){this.t=a;this.meta34410=c;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},octet.spec.collections.t_octet$spec$collections34409.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,c){return new octet.spec.collections.t_octet$spec$collections34409(this.t,c)},octet.spec.collections.t_octet$spec$collections34409.prototype.cljs$core$IMeta$_meta$arity$1=
function(a){return this.meta34410},octet.spec.collections.t_octet$spec$collections34409.prototype.octet$spec$ISpecDynamicSize$=cljs.core.PROTOCOL_SENTINEL,octet.spec.collections.t_octet$spec$collections34409.prototype.octet$spec$ISpecDynamicSize$size_STAR_$arity$2=function(a,c){var b=this;return 4+cljs.core.reduce.call(null,function(a){return function(a,c){return a+((null!=b.t?cljs.core.PROTOCOL_SENTINEL===b.t.octet$spec$ISpecDynamicSize$||(b.t.cljs$lang$protocol_mask$partition$?0:cljs.core.native_satisfies_QMARK_.call(null,
octet.spec.ISpecDynamicSize,b.t)):cljs.core.native_satisfies_QMARK_.call(null,octet.spec.ISpecDynamicSize,b.t))?octet.spec.size_STAR_.call(null,b.t,c):octet.spec.size.call(null,b.t))}}(this),0,c)},octet.spec.collections.t_octet$spec$collections34409.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,octet.spec.collections.t_octet$spec$collections34409.prototype.octet$spec$ISpec$read$arity$3=function(a,c,d){a=octet.buffer.read_int.call(null,c,d);a=octet.spec.repeat.call(null,a,this.t);d=octet.spec.read.call(null,
a,c,d+4);c=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c+4,d],null)},octet.spec.collections.t_octet$spec$collections34409.prototype.octet$spec$ISpec$write$arity$4=function(a,c,d,e){a=cljs.core.count.call(null,e);var b=octet.spec.repeat.call(null,a,this.t);octet.buffer.write_int.call(null,c,d,a);return 4+octet.spec.write.call(null,b,c,d+4,e)},octet.spec.collections.t_octet$spec$collections34409.getBasis=
function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"t","t",242699008,null),new cljs.core.Symbol(null,"meta34410","meta34410",-1783041336,null)],null)},octet.spec.collections.t_octet$spec$collections34409.cljs$lang$type=!0,octet.spec.collections.t_octet$spec$collections34409.cljs$lang$ctorStr="octet.spec.collections/t_octet$spec$collections34409",octet.spec.collections.t_octet$spec$collections34409.cljs$lang$ctorPrWriter=function(a,
c,d){return cljs.core._write.call(null,c,"octet.spec.collections/t_octet$spec$collections34409")},octet.spec.collections.__GT_t_octet$spec$collections34409=function(a,c){return new octet.spec.collections.t_octet$spec$collections34409(a,c)});return new octet.spec.collections.t_octet$spec$collections34409(a,cljs.core.PersistentArrayMap.EMPTY)};octet.spec.basic={};
octet.spec.basic.primitive_spec=function(a,b,c){"undefined"===typeof octet.spec.basic.t_octet$spec$basic34423&&(octet.spec.basic.t_octet$spec$basic34423=function(a,b,c,g){this.size=a;this.readfn=b;this.writefn=c;this.meta34424=g;this.cljs$lang$protocol_mask$partition0$=393217;this.cljs$lang$protocol_mask$partition1$=0},octet.spec.basic.t_octet$spec$basic34423.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new octet.spec.basic.t_octet$spec$basic34423(this.size,this.readfn,this.writefn,
b)},octet.spec.basic.t_octet$spec$basic34423.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta34424},octet.spec.basic.t_octet$spec$basic34423.prototype.call=function(a){return this},octet.spec.basic.t_octet$spec$basic34423.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone.call(null,b)))},octet.spec.basic.t_octet$spec$basic34423.prototype.cljs$core$IFn$_invoke$arity$0=function(){return this},octet.spec.basic.t_octet$spec$basic34423.prototype.octet$spec$ISpecSize$=
cljs.core.PROTOCOL_SENTINEL,octet.spec.basic.t_octet$spec$basic34423.prototype.octet$spec$ISpecSize$size$arity$1=function(a){return this.size},octet.spec.basic.t_octet$spec$basic34423.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,octet.spec.basic.t_octet$spec$basic34423.prototype.octet$spec$ISpec$read$arity$3=function(a,b,c){a=this.readfn.call(null,b,c);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[this.size,a],null)},octet.spec.basic.t_octet$spec$basic34423.prototype.octet$spec$ISpec$write$arity$4=
function(a,b,c,g){null!=g&&this.writefn.call(null,b,c,g);return this.size},octet.spec.basic.t_octet$spec$basic34423.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"size","size",-1555742762,null),new cljs.core.Symbol(null,"readfn","readfn",1394986672,null),new cljs.core.Symbol(null,"writefn","writefn",1052701163,null),new cljs.core.Symbol(null,"meta34424","meta34424",-1213748829,null)],null)},octet.spec.basic.t_octet$spec$basic34423.cljs$lang$type=
!0,octet.spec.basic.t_octet$spec$basic34423.cljs$lang$ctorStr="octet.spec.basic/t_octet$spec$basic34423",octet.spec.basic.t_octet$spec$basic34423.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"octet.spec.basic/t_octet$spec$basic34423")},octet.spec.basic.__GT_t_octet$spec$basic34423=function(a,b,c,g){return new octet.spec.basic.t_octet$spec$basic34423(a,b,c,g)});return new octet.spec.basic.t_octet$spec$basic34423(a,b,c,cljs.core.PersistentArrayMap.EMPTY)};
octet.spec.basic.bool=function(){"undefined"===typeof octet.spec.basic.t_octet$spec$basic34429&&(octet.spec.basic.t_octet$spec$basic34429=function(a){this.meta34430=a;this.cljs$lang$protocol_mask$partition0$=393217;this.cljs$lang$protocol_mask$partition1$=0},octet.spec.basic.t_octet$spec$basic34429.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new octet.spec.basic.t_octet$spec$basic34429(b)},octet.spec.basic.t_octet$spec$basic34429.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta34430},
octet.spec.basic.t_octet$spec$basic34429.prototype.call=function(a){return this},octet.spec.basic.t_octet$spec$basic34429.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone.call(null,b)))},octet.spec.basic.t_octet$spec$basic34429.prototype.cljs$core$IFn$_invoke$arity$0=function(){return this},octet.spec.basic.t_octet$spec$basic34429.prototype.octet$spec$ISpecSize$=cljs.core.PROTOCOL_SENTINEL,octet.spec.basic.t_octet$spec$basic34429.prototype.octet$spec$ISpecSize$size$arity$1=
function(a){return 1},octet.spec.basic.t_octet$spec$basic34429.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,octet.spec.basic.t_octet$spec$basic34429.prototype.octet$spec$ISpec$read$arity$3=function(a,b,c){c=octet.buffer.read_byte.call(null,b,c);a=cljs.core.PersistentVector;b=cljs.core.PersistentVector.EMPTY_NODE;var d=cljs.core._EQ_;c=cljs.core.truth_(d.call(null,0,c))?!1:cljs.core.truth_(d.call(null,1,c))?!0:null;return new a(null,2,5,b,[1,c],null)},octet.spec.basic.t_octet$spec$basic34429.prototype.octet$spec$ISpec$write$arity$4=
function(a,b,c,d){a=cljs.core._EQ_;d=cljs.core.truth_(a.call(null,!0,d))?1:cljs.core.truth_(a.call(null,!1,d))?0:-1;octet.buffer.write_byte.call(null,b,c,d);return 1},octet.spec.basic.t_octet$spec$basic34429.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta34430","meta34430",721131375,null)],null)},octet.spec.basic.t_octet$spec$basic34429.cljs$lang$type=!0,octet.spec.basic.t_octet$spec$basic34429.cljs$lang$ctorStr=
"octet.spec.basic/t_octet$spec$basic34429",octet.spec.basic.t_octet$spec$basic34429.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"octet.spec.basic/t_octet$spec$basic34429")},octet.spec.basic.__GT_t_octet$spec$basic34429=function(a){return new octet.spec.basic.t_octet$spec$basic34429(a)});return new octet.spec.basic.t_octet$spec$basic34429(cljs.core.PersistentArrayMap.EMPTY)}();octet.spec.basic.byte$=octet.spec.basic.primitive_spec.call(null,1,octet.buffer.read_byte,octet.buffer.write_byte);
octet.spec.basic.int16=octet.spec.basic.primitive_spec.call(null,2,octet.buffer.read_short,octet.buffer.write_short);octet.spec.basic.int32=octet.spec.basic.primitive_spec.call(null,4,octet.buffer.read_int,octet.buffer.write_int);octet.spec.basic.int64=octet.spec.basic.primitive_spec.call(null,8,octet.buffer.read_long,octet.buffer.write_long);octet.spec.basic.float$=octet.spec.basic.primitive_spec.call(null,4,octet.buffer.read_float,octet.buffer.write_float);
octet.spec.basic.double$=octet.spec.basic.primitive_spec.call(null,8,octet.buffer.read_double,octet.buffer.write_double);
octet.spec.basic.bytes=function(a){"undefined"===typeof octet.spec.basic.t_octet$spec$basic34442&&(octet.spec.basic.t_octet$spec$basic34442=function(a,c){this.size=a;this.meta34443=c;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},octet.spec.basic.t_octet$spec$basic34442.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,c){return new octet.spec.basic.t_octet$spec$basic34442(this.size,c)},octet.spec.basic.t_octet$spec$basic34442.prototype.cljs$core$IMeta$_meta$arity$1=
function(a){return this.meta34443},octet.spec.basic.t_octet$spec$basic34442.prototype.octet$spec$ISpecSize$=cljs.core.PROTOCOL_SENTINEL,octet.spec.basic.t_octet$spec$basic34442.prototype.octet$spec$ISpecSize$size$arity$1=function(a){return this.size},octet.spec.basic.t_octet$spec$basic34442.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,octet.spec.basic.t_octet$spec$basic34442.prototype.octet$spec$ISpec$read$arity$3=function(a,c,d){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[this.size,octet.buffer.read_bytes.call(null,c,d,this.size)],null)},octet.spec.basic.t_octet$spec$basic34442.prototype.octet$spec$ISpec$write$arity$4=function(a,c,d,e){octet.buffer.write_bytes.call(null,c,d,this.size,e);return this.size},octet.spec.basic.t_octet$spec$basic34442.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"size","size",-1555742762,null),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"long","long",1469079434,null)],null)),new cljs.core.Symbol(null,"meta34443","meta34443",-951710982,null)],null)},octet.spec.basic.t_octet$spec$basic34442.cljs$lang$type=!0,octet.spec.basic.t_octet$spec$basic34442.cljs$lang$ctorStr="octet.spec.basic/t_octet$spec$basic34442",octet.spec.basic.t_octet$spec$basic34442.cljs$lang$ctorPrWriter=function(a,c,d){return cljs.core._write.call(null,c,"octet.spec.basic/t_octet$spec$basic34442")},
octet.spec.basic.__GT_t_octet$spec$basic34442=function(a,c){return new octet.spec.basic.t_octet$spec$basic34442(a,c)});return new octet.spec.basic.t_octet$spec$basic34442(a,cljs.core.PersistentArrayMap.EMPTY)};octet.spec.basic.uint16=octet.spec.basic.primitive_spec.call(null,2,octet.buffer.read_ushort,octet.buffer.write_ushort);octet.spec.basic.uint32=octet.spec.basic.primitive_spec.call(null,4,octet.buffer.read_uint,octet.buffer.write_uint);
octet.spec.basic.ubyte=octet.spec.basic.primitive_spec.call(null,1,octet.buffer.read_ubyte,octet.buffer.write_ubyte);octet.spec.basic.uint64=octet.spec.basic.primitive_spec.call(null,8,octet.buffer.read_ulong,octet.buffer.write_ulong);octet.core={};octet.core.compose=octet.spec.compose;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.compose},new cljs.core.Symbol("octet.core","compose","octet.core/compose",1078009033,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"compose","compose",1144740903,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",23,1,37,37,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.compose)?octet.core.compose.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.compose},new cljs.core.Symbol("octet.spec","compose","octet.spec/compose",1079534765,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec","octet.spec",-2043461903,null),new cljs.core.Symbol(null,"compose","compose",1144740903,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/spec.cljc",14,1,246,246,cljs.core.list(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"constructor","constructor",-313397284,null),new cljs.core.Symbol(null,"types","types",-2064405130,null)],null)),"Create a composed typespec with user defined\n  type constructor.\n\n  This allows define a typespec with automatic conversion\n  between user data type and serialized data without\n  defining yourself a datatype using low level constructions.\n\n  Let see an exameple for understand it better.\n\n  Imagine you are have this data type:\n\n      (defrecord Point [x y])\n\n  With help of `compose`, create a new spec\n  for your datatype:\n\n      (def point-spec (buf/compose -\x3ePoint [buf/int32 buf/int32]))\n\n  Now, you can use the previously defined datatype and typespec\n  for write into buffer:\n\n      (buf/write! buffer mypoint point-spec)\n      ;; \x3d\x3e 8\n\n  Or read from the buffer:\n\n      (buf/read buffer (point))\n      ;; \x3d\x3e #user.Point{:x 1, :y 2}\n  ",
cljs.core.truth_(octet.spec.compose)?octet.spec.compose.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.spec=octet.spec.spec;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.spec},new cljs.core.Symbol("octet.core","spec","octet.core/spec",1917158266,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"spec","spec",1988051928,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",20,1,38,38,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.spec)?octet.core.spec.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.spec},new cljs.core.Symbol("octet.spec","spec","octet.spec/spec",1918520134,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column",
"end-column",1425389514),new cljs.core.Keyword(null,"top-fn","top-fn",-2056129173),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec","octet.spec",-2043461903,null),new cljs.core.Symbol(null,
"spec","spec",1988051928,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/spec.cljc",11,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"variadic","variadic",882626057),!0,new cljs.core.Keyword(null,"max-fixed-arity","max-fixed-arity",-690205543),0,new cljs.core.Keyword(null,"method-params","method-params",-980792179),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol(null,
"params","params",-1943919534,null))],null),new cljs.core.Keyword(null,"arglists","arglists",1661989754),cljs.core.list(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"\x26","\x26",-2144855648,null),new cljs.core.Symbol(null,"params","params",-1943919534,null)],null)),new cljs.core.Keyword(null,"arglists-meta","arglists-meta",1944829838),cljs.core.list(null)],null),1,152,152,cljs.core.list(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"\x26","\x26",-2144855648,null),new cljs.core.Symbol(null,"params","params",-1943919534,null)],null)),"Polymorphic constructor for Spec instances.\n\n  Spec is a some kind of composition of arbitrary\n  number of types in associative or indexed data\n  structure.\n\n  Little example on how to create associative\n  composition:\n\n      (spec :field1 (long)\n            :field2 (string 20))\n\n  An other example on how to create indexed\n  composition that represents the same bytes\n  representation that previous one:\n\n      (spec (long) (string 20))\n\n  The main difference between the two reprensentation\n  is that if you read a buffer using an associative\n  spec, the result will be clojure hash-map, and if\n  indexed spec is used, the result will be clojure\n  vector containing the values.\n\n  The same rules applies for writing data into a\n  buffer.",
cljs.core.truth_(octet.spec.spec)?octet.spec.spec.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.size=octet.spec.size;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.size},new cljs.core.Symbol("octet.core","size","octet.core/size",-1485078672,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"size","size",-1555742762,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",20,1,39,39,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.size)?octet.core.size.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.size},new cljs.core.Symbol("octet.spec","size","octet.spec/size",-1486698644,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"protocol","protocol",652470118),new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,
"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol("octet.spec","ISpecSize","octet.spec/ISpecSize",-832549379,
null),new cljs.core.Symbol(null,"octet.spec","octet.spec",-2043461903,null),new cljs.core.Symbol(null,"size","size",-1555742762,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/spec.cljc",8,1,43,45,cljs.core.list(new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"_","_",-1201019570,null)],null)),"Calculate the size in bytes of the object.",cljs.core.truth_(octet.spec.size)?octet.spec.size.cljs$lang$test:
null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.repeat=octet.spec.repeat;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.repeat},new cljs.core.Symbol("octet.core","repeat","octet.core/repeat",-1621350948,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"repeat","repeat",-1821743682,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",22,1,40,40,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.repeat)?octet.core.repeat.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.repeat},new cljs.core.Symbol("octet.spec","repeat","octet.spec/repeat",-1621788104,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec","octet.spec",-2043461903,null),new cljs.core.Symbol(null,"repeat","repeat",-1821743682,null),
"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/spec.cljc",13,1,193,193,cljs.core.list(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"n","n",-2092305744,null),new cljs.core.Symbol(null,"type","type",-1480165421,null)],null)),"Creare a composed typespec that repeats `n` times\n  a provided `type` spec.\n\n  As example, create a spec with help of `repeat`\n  function:\n\n      (def spec (buf/repeat 2 buf/int32))\n\n  Write data into buffer using previously defined\n  typespec:\n\n      (buf/write! yourbuffer [200 300] spec)\n      ;; \x3d\x3e 8\n\n  Or read data from your buffer using previously defined\n  typespec:\n\n      (buf/read yourbuffer spec)\n      ;; \x3d\x3e [200 300]\n  ",
cljs.core.truth_(octet.spec.repeat)?octet.spec.repeat.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.string=octet.spec.string.string;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.string},new cljs.core.Symbol("octet.core","string","octet.core/string",282642331,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"string","string",-349010059,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",22,1,41,41,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.string)?octet.core.string.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.string.string},new cljs.core.Symbol("octet.spec.string","string","octet.spec.string/string",-744478864,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),
new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.string","octet.spec.string",-1342839094,null),new cljs.core.Symbol(null,
"string","string",-349010059,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/spec/string.cljc",13,1,111,111,cljs.core.list(new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"size","size",-1555742762,null)],null)),"Fixed length string type spec constructor.",cljs.core.truth_(octet.spec.string.string)?octet.spec.string.string.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));
octet.core.string_STAR_=octet.spec.string.string_STAR_;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.string_STAR_},new cljs.core.Symbol("octet.core","string*","octet.core/string*",1018579394,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"string*","string*",962333084,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",23,1,42,42,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.string_STAR_)?octet.core.string_STAR_.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.string.string_STAR_},new cljs.core.Symbol("octet.spec.string","string*","octet.spec.string/string*",1898883481,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file",
"file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.string","octet.spec.string",-1342839094,null),
new cljs.core.Symbol(null,"string*","string*",962333084,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/spec/string.cljc",10,1,139,140,cljs.core.List.EMPTY,"Arbitrary length string type spec.",cljs.core.truth_(octet.spec.string.string_STAR_)?octet.spec.string.string_STAR_.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.vector_STAR_=octet.spec.collections.vector_STAR_;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.vector_STAR_},new cljs.core.Symbol("octet.core","vector*","octet.core/vector*",285978117,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"vector*","vector*",360017319,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",23,1,43,43,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.vector_STAR_)?octet.core.vector_STAR_.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.collections.vector_STAR_},new cljs.core.Symbol("octet.spec.collections","vector*","octet.spec.collections/vector*",-1578931208,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,
"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.collections","octet.spec.collections",
684568626,null),new cljs.core.Symbol(null,"vector*","vector*",360017319,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/spec/collections.cljc",14,1,29,29,cljs.core.list(new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"t","t",242699008,null)],null)),"Create a arbitrary length (dynamic) array like\n  typespec composition for `t` type.",cljs.core.truth_(octet.spec.collections.vector_STAR_)?octet.spec.collections.vector_STAR_.cljs$lang$test:
null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.int16=octet.spec.basic.int16;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.int16},new cljs.core.Symbol("octet.core","int16","octet.core/int16",1387688550,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"int16","int16",1451766664,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",21,1,44,44,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.int16)?octet.core.int16.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.basic.int16},new cljs.core.Symbol("octet.spec.basic","int16","octet.spec.basic/int16",818623938,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.basic","octet.spec.basic",-546009827,null),new cljs.core.Symbol(null,"int16","int16",1451766664,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/spec/basic.cljc",8,1,88,89,cljs.core.List.EMPTY,"Short type spec.",cljs.core.truth_(octet.spec.basic.int16)?octet.spec.basic.int16.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.uint16=octet.spec.basic.uint16;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.uint16},new cljs.core.Symbol("octet.core","uint16","octet.core/uint16",843142999,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"uint16","uint16",1051662325,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",22,1,45,45,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.uint16)?octet.core.uint16.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.basic.uint16},new cljs.core.Symbol("octet.spec.basic","uint16","octet.spec.basic/uint16",-1871834573,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.basic","octet.spec.basic",-546009827,null),new cljs.core.Symbol(null,"uint16","uint16",1051662325,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/spec/basic.cljc",9,1,122,123,cljs.core.List.EMPTY,"Unsinged int16 type spec.",cljs.core.truth_(octet.spec.basic.uint16)?octet.spec.basic.uint16.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.int32=octet.spec.basic.int32;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.int32},new cljs.core.Symbol("octet.core","int32","octet.core/int32",-866048507,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"int32","int32",-935630873,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",21,1,46,46,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.int32)?octet.core.int32.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.basic.int32},new cljs.core.Symbol("octet.spec.basic","int32","octet.spec.basic/int32",1853645145,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.basic","octet.spec.basic",-546009827,null),new cljs.core.Symbol(null,"int32","int32",-935630873,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/spec/basic.cljc",8,1,91,92,cljs.core.List.EMPTY,"Integer type spec.",cljs.core.truth_(octet.spec.basic.int32)?octet.spec.basic.int32.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.uint32=octet.spec.basic.uint32;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.uint32},new cljs.core.Symbol("octet.core","uint32","octet.core/uint32",1291324795,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"uint32","uint32",1221742041,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",22,1,47,47,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.uint32)?octet.core.uint32.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.basic.uint32},new cljs.core.Symbol("octet.spec.basic","uint32","octet.spec.basic/uint32",-292206585,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.basic","octet.spec.basic",-546009827,null),new cljs.core.Symbol(null,"uint32","uint32",1221742041,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/spec/basic.cljc",9,1,125,126,cljs.core.List.EMPTY,"Unsinged int32 type spec.",cljs.core.truth_(octet.spec.basic.uint32)?octet.spec.basic.uint32.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.int64=octet.spec.basic.int64;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.int64},new cljs.core.Symbol("octet.core","int64","octet.core/int64",2068859343,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"int64","int64",2137688365,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",21,1,48,48,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.int64)?octet.core.int64.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.basic.int64},new cljs.core.Symbol("octet.spec.basic","int64","octet.spec.basic/int64",497792875,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.basic","octet.spec.basic",-546009827,null),new cljs.core.Symbol(null,"int64","int64",2137688365,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/spec/basic.cljc",8,1,94,95,cljs.core.List.EMPTY,"Long type spec.",cljs.core.truth_(octet.spec.basic.int64)?octet.spec.basic.int64.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.uint64=octet.spec.basic.uint64;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.uint64},new cljs.core.Symbol("octet.core","uint64","octet.core/uint64",604099145,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"uint64","uint64",-664038417,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",22,1,49,49,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.uint64)?octet.core.uint64.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.basic.uint64},new cljs.core.Symbol("octet.spec.basic","uint64","octet.spec.basic/uint64",1175754149,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.basic","octet.spec.basic",-546009827,null),new cljs.core.Symbol(null,"uint64","uint64",-664038417,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/spec/basic.cljc",9,1,131,132,cljs.core.List.EMPTY,"Unsinged int64 type spec.",cljs.core.truth_(octet.spec.basic.uint64)?octet.spec.basic.uint64.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.float$=octet.spec.basic.float$;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.float$},new cljs.core.Symbol("octet.core","float","octet.core/float",-420733527,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"float","float",-91857841,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",21,1,50,50,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.float$)?octet.core.float$.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.basic.float$},new cljs.core.Symbol("octet.spec.basic","float","octet.spec.basic/float",-1732155899,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.basic","octet.spec.basic",-546009827,null),new cljs.core.Symbol(null,"float","float",-91857841,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/spec/basic.cljc",8,1,97,98,cljs.core.List.EMPTY,"Float type spec",cljs.core.truth_(octet.spec.basic.float$)?octet.spec.basic.float$.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.double$=octet.spec.basic.double$;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.double$},new cljs.core.Symbol("octet.core","double","octet.core/double",-1699212340,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"double","double",-1769548886,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",22,1,51,51,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.double$)?octet.core.double$.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.basic.double$},new cljs.core.Symbol("octet.spec.basic","double","octet.spec.basic/double",-79308528,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.basic","octet.spec.basic",-546009827,null),new cljs.core.Symbol(null,"double","double",-1769548886,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/spec/basic.cljc",9,1,100,101,cljs.core.List.EMPTY,"Double type spec.",cljs.core.truth_(octet.spec.basic.double$)?octet.spec.basic.double$.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.byte$=octet.spec.basic.byte$;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.byte$},new cljs.core.Symbol("octet.core","byte","octet.core/byte",-1231004707,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"byte","byte",-1970660549,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",20,1,52,52,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.byte$)?octet.core.byte$.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.basic.byte$},new cljs.core.Symbol("octet.spec.basic","byte","octet.spec.basic/byte",348855649,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.basic","octet.spec.basic",-546009827,null),new cljs.core.Symbol(null,"byte","byte",-1970660549,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/spec/basic.cljc",7,1,85,86,cljs.core.List.EMPTY,"Byte type spec.",cljs.core.truth_(octet.spec.basic.byte$)?octet.spec.basic.byte$.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.ubyte=octet.spec.basic.ubyte;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.ubyte},new cljs.core.Symbol("octet.core","ubyte","octet.core/ubyte",671839762,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"ubyte","ubyte",617690796,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",21,1,53,53,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.ubyte)?octet.core.ubyte.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.basic.ubyte},new cljs.core.Symbol("octet.spec.basic","ubyte","octet.spec.basic/ubyte",-971624202,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.basic","octet.spec.basic",-546009827,null),new cljs.core.Symbol(null,"ubyte","ubyte",617690796,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/spec/basic.cljc",8,1,128,129,cljs.core.List.EMPTY,"Unsinged byte type spec.",cljs.core.truth_(octet.spec.basic.ubyte)?octet.spec.basic.ubyte.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.bytes=octet.spec.basic.bytes;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.bytes},new cljs.core.Symbol("octet.core","bytes","octet.core/bytes",-1545071715,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"bytes","bytes",-1478569089,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",21,1,54,54,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.bytes)?octet.core.bytes.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.basic.bytes},new cljs.core.Symbol("octet.spec.basic","bytes","octet.spec.basic/bytes",-1054876359,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.basic","octet.spec.basic",-546009827,null),new cljs.core.Symbol(null,"bytes","bytes",-1478569089,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/spec/basic.cljc",12,1,103,103,cljs.core.list(new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"size","size",-1555742762,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"long","long",1469079434,null)],null))],null)),"Fixed size byte array type spec constructor.",
cljs.core.truth_(octet.spec.basic.bytes)?octet.spec.basic.bytes.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.bool=octet.spec.basic.bool;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.bool},new cljs.core.Symbol("octet.core","bool","octet.core/bool",-1411798554,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"bool","bool",-1209800448,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",20,1,55,55,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.bool)?octet.core.bool.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.spec.basic.bool},new cljs.core.Symbol("octet.spec.basic","bool","octet.spec.basic/bool",1428349770,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.spec.basic","octet.spec.basic",-546009827,null),new cljs.core.Symbol(null,"bool","bool",-1209800448,
null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/spec/basic.cljc",7,1,56,57,cljs.core.List.EMPTY,"Boolean type spec.",cljs.core.truth_(octet.spec.basic.bool)?octet.spec.basic.bool.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.allocate=octet.buffer.allocate;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.allocate},new cljs.core.Symbol("octet.core","allocate","octet.core/allocate",-2033980626,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"allocate","allocate",-1963381880,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",24,1,56,56,
cljs.core.List.EMPTY,null,cljs.core.truth_(octet.core.allocate)?octet.core.allocate.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.buffer.allocate},new cljs.core.Symbol("octet.buffer","allocate","octet.buffer/allocate",654203599,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",
-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.buffer","octet.buffer",-833729793,null),new cljs.core.Symbol(null,
"allocate","allocate",-1963381880,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/buffer.cljc",19,1,453,453,cljs.core.List.EMPTY,"Polymorphic function for allocate new bytebuffers.\n\n  It allows allocate using different implementation\n  of bytebuffers and different types of them.\n\n  As example, you may want allocate nio direct buffer of 4 bytes:\n\n      (allocate 4 {:type :direct :impl :nio})\n\n  The supported options pairs are:\n\n  - type: `:heap`, impl: `:nio` (default)\n  - type: `:direct`, impl: `:nio`\n  - type: `:heap`, impl: `:netty`\n  - type: `:direct`, impl: `:netty`\n  - impl: `:es6` (clojurescript) (default)\n\n  This function is defined as multimethod and you can\n  extend it with your own bytebuffer implementations\n  if you want or need it.",
cljs.core.truth_(octet.buffer.allocate)?octet.buffer.allocate.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.get_capacity=octet.buffer.get_capacity;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.get_capacity},new cljs.core.Symbol("octet.core","get-capacity","octet.core/get-capacity",386243367,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),
new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"get-capacity","get-capacity",460544833,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",
28,1,57,57,cljs.core.List.EMPTY,null,cljs.core.truth_(octet.core.get_capacity)?octet.core.get_capacity.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.buffer.get_capacity},new cljs.core.Symbol("octet.buffer","get-capacity","octet.buffer/get-capacity",-143512570,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"protocol","protocol",652470118),new cljs.core.Keyword(null,"ns","ns",441598760),
new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],
[new cljs.core.Symbol("octet.buffer","IBufferLimit","octet.buffer/IBufferLimit",1292118535,null),new cljs.core.Symbol(null,"octet.buffer","octet.buffer",-833729793,null),new cljs.core.Symbol(null,"get-capacity","get-capacity",460544833,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/buffer.cljc",16,1,84,85,cljs.core.list(new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"_","_",-1201019570,null)],
null)),"Get the read/write capacity in bytes.",cljs.core.truth_(octet.buffer.get_capacity)?octet.buffer.get_capacity.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.short$=octet.core.int16;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.short$},new cljs.core.Symbol("octet.core","short","octet.core/short",-792112155,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"short","short",-725675253,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",21,1,58,58,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.short$)?octet.core.short$.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.core.int16},new cljs.core.Symbol("octet.core","int16","octet.core/int16",1387688550,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"int16","int16",1451766664,null),
"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",21,1,44,44,cljs.core.List.EMPTY,null,cljs.core.truth_(octet.core.int16)?octet.core.int16.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.integer=octet.core.int32;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.integer},new cljs.core.Symbol("octet.core","integer","octet.core/integer",963343479,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"integer","integer",1035809817,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",23,1,59,59,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.integer)?octet.core.integer.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.core.int32},new cljs.core.Symbol("octet.core","int32","octet.core/int32",-866048507,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"int32","int32",-935630873,null),
"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",21,1,46,46,cljs.core.List.EMPTY,null,cljs.core.truth_(octet.core.int32)?octet.core.int32.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));octet.core.long$=octet.core.int64;
cljs.core.alter_meta_BANG_.call(null,new cljs.core.Var(function(){return octet.core.long$},new cljs.core.Symbol("octet.core","long","octet.core/long",1382457132,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,
"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"long","long",1469079434,null),"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",20,1,60,60,cljs.core.List.EMPTY,
null,cljs.core.truth_(octet.core.long$)?octet.core.long$.cljs$lang$test:null])),cljs.core.merge,cljs.core.dissoc.call(null,cljs.core.meta.call(null,new cljs.core.Var(function(){return octet.core.int64},new cljs.core.Symbol("octet.core","int64","octet.core/int64",2068859343,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"file","file",-1269645878),new cljs.core.Keyword(null,
"end-column","end-column",1425389514),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"end-line","end-line",1837326455),new cljs.core.Keyword(null,"arglists","arglists",1661989754),new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"test","test",577538877)],[new cljs.core.Symbol(null,"octet.core","octet.core",-1016875348,null),new cljs.core.Symbol(null,"int64","int64",2137688365,null),
"/Users/candera/.boot/cache/tmp/Users/candera/projects/vmt/1hw/5q644w/index.html.out/octet/core.cljc",21,1,48,48,cljs.core.List.EMPTY,null,cljs.core.truth_(octet.core.int64)?octet.core.int64.cljs$lang$test:null]))),new cljs.core.Keyword(null,"name","name",1843675177)));
octet.core.write_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return octet.core.write_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return octet.core.write_BANG_.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};octet.core.write_BANG_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return octet.core.write_BANG_.call(null,a,b,c,cljs.core.PersistentArrayMap.EMPTY)};
octet.core.write_BANG_.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){d=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d;d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"offset","offset",296498311),0);return octet.spec.write.call(null,c,a,d,b)};octet.core.write_BANG_.cljs$lang$maxFixedArity=4;
octet.core.read_STAR_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return octet.core.read_STAR_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return octet.core.read_STAR_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
octet.core.read_STAR_.cljs$core$IFn$_invoke$arity$2=function(a,b){return octet.core.read_STAR_.call(null,a,b,cljs.core.PersistentArrayMap.EMPTY)};octet.core.read_STAR_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"offset","offset",296498311),0);return octet.spec.read.call(null,b,a,c)};
octet.core.read_STAR_.cljs$lang$maxFixedArity=3;octet.core.read=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return octet.core.read.cljs$core$IFn$_invoke$arity$variadic(b)};octet.core.read.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.second.call(null,cljs.core.apply.call(null,octet.core.read_STAR_,a))};octet.core.read.cljs$lang$maxFixedArity=0;
octet.core.read.cljs$lang$applyTo=function(a){return octet.core.read.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
octet.core.into=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return octet.core.into.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return octet.core.into.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
octet.core.into.cljs$core$IFn$_invoke$arity$2=function(a,b){return octet.core.into.call(null,a,b,cljs.core.PersistentArrayMap.EMPTY)};octet.core.into.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=octet.spec.size_STAR_.call(null,a,b),d=octet.buffer.allocate.call(null,d,c);octet.core.write_BANG_.call(null,d,b,a,c);return d};octet.core.into.cljs$lang$maxFixedArity=3;weathergen.util={};weathergen.util.str__GT_long=function(a){a=(new Number(a)).valueOf();return cljs.core.int_QMARK_.call(null,a)?cljs.core.long$.call(null,a):null};weathergen.util.concatv=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return weathergen.util.concatv.cljs$core$IFn$_invoke$arity$variadic(b)};
weathergen.util.concatv.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.reduce.call(null,cljs.core.into,cljs.core.PersistentVector.EMPTY,a)};weathergen.util.concatv.cljs$lang$maxFixedArity=0;weathergen.util.concatv.cljs$lang$applyTo=function(a){return weathergen.util.concatv.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};weathergen.util.filter_EQ_=function(a,b,c){return cljs.core.filter.call(null,function(c){return cljs.core._EQ_.call(null,a.call(null,c),b)},c)};
weathergen.util.only=function(a){if(cljs.core.empty_QMARK_.call(null,a))return null;if(cljs.core.empty_QMARK_.call(null,cljs.core.rest.call(null,a)))return cljs.core.first.call(null,a);throw cljs.core.ex_info.call(null,"Sequence had more than one item",new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"reason","reason",-2070751759),new cljs.core.Keyword(null,"not-singular","not-singular",1360522305),new cljs.core.Keyword(null,"coll","coll",1647737163),a],null));};
weathergen.util.take_until=function(a,b){if(cljs.core.empty_QMARK_.call(null,b))return b;if(cljs.core.truth_(a.call(null,cljs.core.first.call(null,b))))return cljs.core.take.call(null,1,b);var c=cljs.core.partition_by.call(null,a,b),d=cljs.core.nth.call(null,c,0,null),c=cljs.core.nth.call(null,c,1,null);return cljs.core.concat.call(null,d,cljs.core.take.call(null,1,c))};
weathergen.util.toggle_set_membership=function(a,b){return(cljs.core.contains_QMARK_.call(null,a,b)?cljs.core.disj:cljs.core.conj).call(null,a,b)};weathergen.util.has_flag_QMARK_=function(a,b){return cljs.core._EQ_.call(null,a&b,b)};weathergen.falcon={};weathergen.falcon.files={};weathergen.falcon.files.all_errors=new cljs.core.Keyword(null,"default","default",-1987822328);
weathergen.falcon.files.read_trace=function(a,b){"undefined"===typeof weathergen.falcon.files.t_weathergen$falcon$files34497&&(weathergen.falcon.files.t_weathergen$falcon$files34497=function(a,b,e){this.msg=a;this.spec=b;this.meta34498=e;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},weathergen.falcon.files.t_weathergen$falcon$files34497.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new weathergen.falcon.files.t_weathergen$falcon$files34497(this.msg,
this.spec,b)},weathergen.falcon.files.t_weathergen$falcon$files34497.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta34498},weathergen.falcon.files.t_weathergen$falcon$files34497.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.t_weathergen$falcon$files34497.prototype.octet$spec$ISpec$read$arity$3=function(a,b,e){var c=this;taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),
"weathergen.falcon.files",null,21,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a){return function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[[cljs.core.str.cljs$core$IFn$_invoke$arity$1("start: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c.msg),cljs.core.str.cljs$core$IFn$_invoke$arity$1("@"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)].join("")],null)}}(this),null),
null,-397939334);a=octet.spec.read.call(null,c.spec,b,e);taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.falcon.files",null,23,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b){return function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[[cljs.core.str.cljs$core$IFn$_invoke$arity$1("end: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(c.msg)].join("")],null)}}(a,this),null),null,-1233326185);try{return taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.falcon.files",null,24,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b,c){return function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"result","result",-1239343558,null),"\x3d\x3e",a],null)}}(a,a,this),null),null,2090150711),a}catch(g){if(g instanceof Error)throw b=g,taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"error","error",-978969032),"weathergen.falcon.files",null,24,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b,c){return function(){return new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(b,a,this),null),null,1640997652),b;throw g;}},weathergen.falcon.files.t_weathergen$falcon$files34497.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"msg","msg",254428083,null),new cljs.core.Symbol(null,"spec","spec",1988051928,null),new cljs.core.Symbol(null,"meta34498","meta34498",1171582828,null)],null)},weathergen.falcon.files.t_weathergen$falcon$files34497.cljs$lang$type=
!0,weathergen.falcon.files.t_weathergen$falcon$files34497.cljs$lang$ctorStr="weathergen.falcon.files/t_weathergen$falcon$files34497",weathergen.falcon.files.t_weathergen$falcon$files34497.cljs$lang$ctorPrWriter=function(a,b,e){return cljs.core._write.call(null,b,"weathergen.falcon.files/t_weathergen$falcon$files34497")},weathergen.falcon.files.__GT_t_weathergen$falcon$files34497=function(a,b,e){return new weathergen.falcon.files.t_weathergen$falcon$files34497(a,b,e)});return new weathergen.falcon.files.t_weathergen$falcon$files34497(a,
b,cljs.core.PersistentArrayMap.EMPTY)};
weathergen.falcon.files.lstring=function(a){var b=octet.core.size.call(null,a);"undefined"===typeof weathergen.falcon.files.t_weathergen$falcon$files34505&&(weathergen.falcon.files.t_weathergen$falcon$files34505=function(a,b,e){this.length_spec=a;this.len_size=b;this.meta34506=e;this.cljs$lang$protocol_mask$partition0$=393217;this.cljs$lang$protocol_mask$partition1$=0},weathergen.falcon.files.t_weathergen$falcon$files34505.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a){return function(a,
b){return new weathergen.falcon.files.t_weathergen$falcon$files34505(this.length_spec,this.len_size,b)}}(b),weathergen.falcon.files.t_weathergen$falcon$files34505.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta34506}}(b),weathergen.falcon.files.t_weathergen$falcon$files34505.prototype.call=function(a){return function(a){return this}}(b),weathergen.falcon.files.t_weathergen$falcon$files34505.prototype.apply=function(a){return function(a,b){return this.call.apply(this,
[this].concat(cljs.core.aclone.call(null,b)))}}(b),weathergen.falcon.files.t_weathergen$falcon$files34505.prototype.cljs$core$IFn$_invoke$arity$0=function(a){return function(){return this}}(b),weathergen.falcon.files.t_weathergen$falcon$files34505.prototype.octet$spec$ISpecDynamicSize$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.t_weathergen$falcon$files34505.prototype.octet$spec$ISpecDynamicSize$size_STAR_$arity$2=function(a){return function(a,b){var c=octet.spec.string.string__GT_bytes.call(null,
b);return this.len_size+cljs.core.count.call(null,c)}}(b),weathergen.falcon.files.t_weathergen$falcon$files34505.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.t_weathergen$falcon$files34505.prototype.octet$spec$ISpec$read$arity$3=function(a){return function(a,b,c){a=octet.core.read.call(null,b,this.length_spec,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),c],null));b=octet.buffer.read_bytes.call(null,b,c+this.len_size,
a);b=octet.spec.string.bytes__GT_string.call(null,b,a);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a+this.len_size,b],null)}}(b),weathergen.falcon.files.t_weathergen$falcon$files34505.prototype.octet$spec$ISpec$write$arity$4=function(a){return function(a,b,c,g){a=octet.spec.string.string__GT_bytes.call(null,g);g=cljs.core.count.call(null,a);octet.core.write_BANG_.call(null,b,this.length_spec,c,g);octet.buffer.write_bytes.call(null,b,c+this.len_size,g,a);return g+
this.len_size}}(b),weathergen.falcon.files.t_weathergen$falcon$files34505.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"length-spec","length-spec",-1802545726,null),new cljs.core.Symbol(null,"len-size","len-size",1194866842,null),new cljs.core.Symbol(null,"meta34506","meta34506",169847325,null)],null)}}(b),weathergen.falcon.files.t_weathergen$falcon$files34505.cljs$lang$type=!0,weathergen.falcon.files.t_weathergen$falcon$files34505.cljs$lang$ctorStr=
"weathergen.falcon.files/t_weathergen$falcon$files34505",weathergen.falcon.files.t_weathergen$falcon$files34505.cljs$lang$ctorPrWriter=function(a){return function(a,b,c){return cljs.core._write.call(null,b,"weathergen.falcon.files/t_weathergen$falcon$files34505")}}(b),weathergen.falcon.files.__GT_t_weathergen$falcon$files34505=function(a){return function(a,b,c){return new weathergen.falcon.files.t_weathergen$falcon$files34505(a,b,c)}}(b));return new weathergen.falcon.files.t_weathergen$falcon$files34505(a,
b,cljs.core.PersistentArrayMap.EMPTY)};weathergen.falcon.files.remove_trailing_nulls=function(a){return cljs.core.subs.call(null,a,0,cljs.core.count.call(null,cljs.core.take_while.call(null,function(a){return 0!==a.charCodeAt()},a)))};
weathergen.falcon.files.fixed_string=function(a){var b=octet.core.string.call(null,a);"undefined"===typeof weathergen.falcon.files.t_weathergen$falcon$files34516&&(weathergen.falcon.files.t_weathergen$falcon$files34516=function(a,b,e){this.size=a;this.spc=b;this.meta34517=e;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},weathergen.falcon.files.t_weathergen$falcon$files34516.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a){return function(a,
b){return new weathergen.falcon.files.t_weathergen$falcon$files34516(this.size,this.spc,b)}}(b),weathergen.falcon.files.t_weathergen$falcon$files34516.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta34517}}(b),weathergen.falcon.files.t_weathergen$falcon$files34516.prototype.octet$spec$ISpecSize$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.t_weathergen$falcon$files34516.prototype.octet$spec$ISpecSize$size$arity$1=function(a){return function(a){return octet.core.size.call(null,
this.spc)}}(b),weathergen.falcon.files.t_weathergen$falcon$files34516.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.t_weathergen$falcon$files34516.prototype.octet$spec$ISpec$read$arity$3=function(a){return function(a,b,c){b=octet.core.read_STAR_.call(null,b,this.spc,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),c],null));a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,weathergen.falcon.files.remove_trailing_nulls.call(null,b)],null)}}(b),weathergen.falcon.files.t_weathergen$falcon$files34516.prototype.octet$spec$ISpec$write$arity$4=function(a){return function(a,b,c,g){return octet.core.write_BANG_.call(null,b,this.spc,g,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),c],null))}}(b),weathergen.falcon.files.t_weathergen$falcon$files34516.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"size","size",-1555742762,null),new cljs.core.Symbol(null,"spc","spc",-189939168,null),new cljs.core.Symbol(null,"meta34517","meta34517",-1525761406,null)],null)}}(b),weathergen.falcon.files.t_weathergen$falcon$files34516.cljs$lang$type=!0,weathergen.falcon.files.t_weathergen$falcon$files34516.cljs$lang$ctorStr="weathergen.falcon.files/t_weathergen$falcon$files34516",weathergen.falcon.files.t_weathergen$falcon$files34516.cljs$lang$ctorPrWriter=
function(a){return function(a,b,c){return cljs.core._write.call(null,b,"weathergen.falcon.files/t_weathergen$falcon$files34516")}}(b),weathergen.falcon.files.__GT_t_weathergen$falcon$files34516=function(a){return function(a,b,c){return new weathergen.falcon.files.t_weathergen$falcon$files34516(a,b,c)}}(b));return new weathergen.falcon.files.t_weathergen$falcon$files34516(a,b,cljs.core.PersistentArrayMap.EMPTY)};
weathergen.falcon.files.larray=function(a,b){var c=octet.core.size.call(null,a);"undefined"===typeof weathergen.falcon.files.t_weathergen$falcon$files34529&&(weathergen.falcon.files.t_weathergen$falcon$files34529=function(a,b,c,g){this.length_spec=a;this.item_spec=b;this.len_size=c;this.meta34530=g;this.cljs$lang$protocol_mask$partition0$=393217;this.cljs$lang$protocol_mask$partition1$=0},weathergen.falcon.files.t_weathergen$falcon$files34529.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a){return function(a,
b){return new weathergen.falcon.files.t_weathergen$falcon$files34529(this.length_spec,this.item_spec,this.len_size,b)}}(c),weathergen.falcon.files.t_weathergen$falcon$files34529.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta34530}}(c),weathergen.falcon.files.t_weathergen$falcon$files34529.prototype.call=function(a){return function(a){return this}}(c),weathergen.falcon.files.t_weathergen$falcon$files34529.prototype.apply=function(a){return function(a,b){return this.call.apply(this,
[this].concat(cljs.core.aclone.call(null,b)))}}(c),weathergen.falcon.files.t_weathergen$falcon$files34529.prototype.cljs$core$IFn$_invoke$arity$0=function(a){return function(){return this}}(c),weathergen.falcon.files.t_weathergen$falcon$files34529.prototype.octet$spec$ISpecDynamicSize$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.t_weathergen$falcon$files34529.prototype.octet$spec$ISpecDynamicSize$size_STAR_$arity$2=function(a){return function(a,b){return this.len_size+octet.core.size.call(null,
this.item_spec)*cljs.core.count.call(null,b)}}(c),weathergen.falcon.files.t_weathergen$falcon$files34529.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.t_weathergen$falcon$files34529.prototype.octet$spec$ISpec$read$arity$3=function(a){return function(a,b,c){a=octet.core.read.call(null,b,this.length_spec,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),c],null));c=octet.core.read_STAR_.call(null,b,octet.core.repeat.call(null,
a,this.item_spec),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),c+this.len_size],null));b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b+this.len_size,c],null)}}(c),weathergen.falcon.files.t_weathergen$falcon$files34529.prototype.octet$spec$ISpec$write$arity$4=function(a){return function(a,b,c,d){a=cljs.core.count.call(null,d);return octet.core.write_BANG_.call(null,
b,a,this.length_spec,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),c],null))+octet.core.write_BANG_.call(null,b,d,octet.core.repeat.call(null,a,this.item_spec),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),c+this.len_size],null))}}(c),weathergen.falcon.files.t_weathergen$falcon$files34529.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"length-spec","length-spec",-1802545726,null),new cljs.core.Symbol(null,"item-spec","item-spec",1394678941,null),new cljs.core.Symbol(null,"len-size","len-size",1194866842,null),new cljs.core.Symbol(null,"meta34530","meta34530",371477463,null)],null)}}(c),weathergen.falcon.files.t_weathergen$falcon$files34529.cljs$lang$type=!0,weathergen.falcon.files.t_weathergen$falcon$files34529.cljs$lang$ctorStr="weathergen.falcon.files/t_weathergen$falcon$files34529",weathergen.falcon.files.t_weathergen$falcon$files34529.cljs$lang$ctorPrWriter=
function(a){return function(a,b,c){return cljs.core._write.call(null,b,"weathergen.falcon.files/t_weathergen$falcon$files34529")}}(c),weathergen.falcon.files.__GT_t_weathergen$falcon$files34529=function(a){return function(a,b,c,d){return new weathergen.falcon.files.t_weathergen$falcon$files34529(a,b,c,d)}}(c));return new weathergen.falcon.files.t_weathergen$falcon$files34529(a,b,c,cljs.core.PersistentArrayMap.EMPTY)};
weathergen.falcon.files.enum$=function(a,b){"undefined"===typeof weathergen.falcon.files.t_weathergen$falcon$files34542&&(weathergen.falcon.files.t_weathergen$falcon$files34542=function(a,b,e){this.item_spec=a;this.m=b;this.meta34543=e;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},weathergen.falcon.files.t_weathergen$falcon$files34542.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new weathergen.falcon.files.t_weathergen$falcon$files34542(this.item_spec,
this.m,b)},weathergen.falcon.files.t_weathergen$falcon$files34542.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta34543},weathergen.falcon.files.t_weathergen$falcon$files34542.prototype.octet$spec$ISpecSize$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.t_weathergen$falcon$files34542.prototype.octet$spec$ISpecSize$size$arity$1=function(a){return octet.core.size.call(null,this.item_spec)},weathergen.falcon.files.t_weathergen$falcon$files34542.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,
weathergen.falcon.files.t_weathergen$falcon$files34542.prototype.octet$spec$ISpec$read$arity$3=function(a,b,e){b=octet.core.read_STAR_.call(null,b,this.item_spec,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),e],null));a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,this.m.call(null,b,b)],null)},weathergen.falcon.files.t_weathergen$falcon$files34542.getBasis=
function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"item-spec","item-spec",1394678941,null),new cljs.core.Symbol(null,"m","m",-1021758608,null),new cljs.core.Symbol(null,"meta34543","meta34543",978882012,null)],null)},weathergen.falcon.files.t_weathergen$falcon$files34542.cljs$lang$type=!0,weathergen.falcon.files.t_weathergen$falcon$files34542.cljs$lang$ctorStr="weathergen.falcon.files/t_weathergen$falcon$files34542",weathergen.falcon.files.t_weathergen$falcon$files34542.cljs$lang$ctorPrWriter=
function(a,b,e){return cljs.core._write.call(null,b,"weathergen.falcon.files/t_weathergen$falcon$files34542")},weathergen.falcon.files.__GT_t_weathergen$falcon$files34542=function(a,b,e){return new weathergen.falcon.files.t_weathergen$falcon$files34542(a,b,e)});return new weathergen.falcon.files.t_weathergen$falcon$files34542(a,b,cljs.core.PersistentArrayMap.EMPTY)};
weathergen.falcon.files.bitflags=function(a,b){"undefined"===typeof weathergen.falcon.files.t_weathergen$falcon$files34570&&(weathergen.falcon.files.t_weathergen$falcon$files34570=function(a,b,e){this.item_spec=a;this.m=b;this.meta34571=e;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},weathergen.falcon.files.t_weathergen$falcon$files34570.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new weathergen.falcon.files.t_weathergen$falcon$files34570(this.item_spec,
this.m,b)},weathergen.falcon.files.t_weathergen$falcon$files34570.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta34571},weathergen.falcon.files.t_weathergen$falcon$files34570.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.t_weathergen$falcon$files34570.prototype.octet$spec$ISpec$read$arity$3=function(a,b,e){var c=this,d=this,h=octet.core.read_STAR_.call(null,b,c.item_spec,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset",
"offset",296498311),e],null)),k=cljs.core.nth.call(null,h,0,null),l=cljs.core.nth.call(null,h,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[k,cljs.core.set.call(null,cljs.core.remove.call(null,cljs.core.nil_QMARK_,function(){return function(a,b,c,d){return function u(e){return new cljs.core.LazySeq(null,function(a,b,c,d){return function(){for(;;){var a=cljs.core.seq.call(null,e);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,
a),d=cljs.core.count.call(null,b),f=cljs.core.chunk_buffer.call(null,d);a:for(var g=0;;)if(g<d){var h=cljs.core._nth.call(null,b,g),k=cljs.core.nth.call(null,h,0,null),h=cljs.core.nth.call(null,h,1,null);cljs.core.chunk_append.call(null,f,cljs.core.truth_(weathergen.util.has_flag_QMARK_.call(null,c,h))?k:null);g+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,f),u.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,
f),null)}b=cljs.core.first.call(null,a);f=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return cljs.core.cons.call(null,cljs.core.truth_(weathergen.util.has_flag_QMARK_.call(null,c,b))?f:null,u.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d),null,null)}}(h,k,l,d).call(null,c.m)}()))],null)},weathergen.falcon.files.t_weathergen$falcon$files34570.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"item-spec","item-spec",1394678941,null),new cljs.core.Symbol(null,"m","m",-1021758608,null),new cljs.core.Symbol(null,"meta34571","meta34571",1368008105,null)],null)},weathergen.falcon.files.t_weathergen$falcon$files34570.cljs$lang$type=!0,weathergen.falcon.files.t_weathergen$falcon$files34570.cljs$lang$ctorStr="weathergen.falcon.files/t_weathergen$falcon$files34570",weathergen.falcon.files.t_weathergen$falcon$files34570.cljs$lang$ctorPrWriter=function(a,b,e){return cljs.core._write.call(null,b,
"weathergen.falcon.files/t_weathergen$falcon$files34570")},weathergen.falcon.files.__GT_t_weathergen$falcon$files34570=function(a,b,e){return new weathergen.falcon.files.t_weathergen$falcon$files34570(a,b,e)});return new weathergen.falcon.files.t_weathergen$falcon$files34570(a,b,cljs.core.PersistentArrayMap.EMPTY)};
weathergen.falcon.files.constant=function(a){"undefined"===typeof weathergen.falcon.files.t_weathergen$falcon$files34596&&(weathergen.falcon.files.t_weathergen$falcon$files34596=function(a,c){this.val=a;this.meta34597=c;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},weathergen.falcon.files.t_weathergen$falcon$files34596.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,c){return new weathergen.falcon.files.t_weathergen$falcon$files34596(this.val,
c)},weathergen.falcon.files.t_weathergen$falcon$files34596.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta34597},weathergen.falcon.files.t_weathergen$falcon$files34596.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.t_weathergen$falcon$files34596.prototype.octet$spec$ISpec$read$arity$3=function(a,c,d){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,this.val],null)},weathergen.falcon.files.t_weathergen$falcon$files34596.prototype.octet$spec$ISpec$write$arity$4=
function(a,c,d,e){return null},weathergen.falcon.files.t_weathergen$falcon$files34596.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"val","val",1769233139,null),new cljs.core.Symbol(null,"meta34597","meta34597",1594035290,null)],null)},weathergen.falcon.files.t_weathergen$falcon$files34596.cljs$lang$type=!0,weathergen.falcon.files.t_weathergen$falcon$files34596.cljs$lang$ctorStr="weathergen.falcon.files/t_weathergen$falcon$files34596",
weathergen.falcon.files.t_weathergen$falcon$files34596.cljs$lang$ctorPrWriter=function(a,c,d){return cljs.core._write.call(null,c,"weathergen.falcon.files/t_weathergen$falcon$files34596")},weathergen.falcon.files.__GT_t_weathergen$falcon$files34596=function(a,c){return new weathergen.falcon.files.t_weathergen$falcon$files34596(a,c)});return new weathergen.falcon.files.t_weathergen$falcon$files34596(a,cljs.core.PersistentArrayMap.EMPTY)};
weathergen.falcon.files.read__GT_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return weathergen.falcon.files.read__GT_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
weathergen.falcon.files.read__GT_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){var d=cljs.core.PersistentArrayMap.EMPTY,e=cljs.core.seq.call(null,c);cljs.core.first.call(null,e);cljs.core.next.call(null,e);for(e=0;;){var f=cljs.core.seq.call(null,c);c=cljs.core.first.call(null,f);var f=cljs.core.next.call(null,f),g=c;c=f;if(cljs.core.not.call(null,g))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[e,d],null);g=octet.core.read_STAR_.call(null,a,g.call(null,
d),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),b+e],null));f=cljs.core.nth.call(null,g,0,null);g=cljs.core.nth.call(null,g,1,null);e+=f;d=cljs.core.merge.call(null,d,g)}};weathergen.falcon.files.read__GT_.cljs$lang$maxFixedArity=2;
weathergen.falcon.files.read__GT_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return weathergen.falcon.files.read__GT_.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
weathergen.falcon.files.spec_if=function(a,b,c,d,e,f){"undefined"===typeof weathergen.falcon.files.t_weathergen$falcon$files34630&&(weathergen.falcon.files.t_weathergen$falcon$files34630=function(a,b,c,d,e,f,p){this.flag_key=a;this.flag_spec=b;this.flag_pred=c;this.branch_key=d;this.true_spec=e;this.false_spec=f;this.meta34631=p;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},weathergen.falcon.files.t_weathergen$falcon$files34630.prototype.cljs$core$IWithMeta$_with_meta$arity$2=
function(a,b){return new weathergen.falcon.files.t_weathergen$falcon$files34630(this.flag_key,this.flag_spec,this.flag_pred,this.branch_key,this.true_spec,this.false_spec,b)},weathergen.falcon.files.t_weathergen$falcon$files34630.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta34631},weathergen.falcon.files.t_weathergen$falcon$files34630.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.t_weathergen$falcon$files34630.prototype.octet$spec$ISpec$read$arity$3=
function(a,b,c){var d=octet.core.read_STAR_.call(null,b,this.flag_spec,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),c],null));a=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);c=octet.core.read_STAR_.call(null,b,cljs.core.truth_(this.flag_pred.call(null,d))?this.true_spec:this.false_spec,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),c+a],null));b=cljs.core.nth.call(null,c,0,
null);c=cljs.core.nth.call(null,c,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a+b,cljs.core.PersistentHashMap.fromArrays([this.flag_key,this.branch_key],[d,c])],null)},weathergen.falcon.files.t_weathergen$falcon$files34630.getBasis=function(){return new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"flag-key","flag-key",-1036087809,null),new cljs.core.Symbol(null,"flag-spec","flag-spec",-648358532,
null),new cljs.core.Symbol(null,"flag-pred","flag-pred",-548885820,null),new cljs.core.Symbol(null,"branch-key","branch-key",1453905826,null),new cljs.core.Symbol(null,"true-spec","true-spec",-704610023,null),new cljs.core.Symbol(null,"false-spec","false-spec",432945414,null),new cljs.core.Symbol(null,"meta34631","meta34631",1029649704,null)],null)},weathergen.falcon.files.t_weathergen$falcon$files34630.cljs$lang$type=!0,weathergen.falcon.files.t_weathergen$falcon$files34630.cljs$lang$ctorStr="weathergen.falcon.files/t_weathergen$falcon$files34630",
weathergen.falcon.files.t_weathergen$falcon$files34630.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"weathergen.falcon.files/t_weathergen$falcon$files34630")},weathergen.falcon.files.__GT_t_weathergen$falcon$files34630=function(a,b,c,d,e,f,p){return new weathergen.falcon.files.t_weathergen$falcon$files34630(a,b,c,d,e,f,p)});return new weathergen.falcon.files.t_weathergen$falcon$files34630(a,b,c,d,e,f,cljs.core.PersistentArrayMap.EMPTY)};cljs.nodejs={};cljs.nodejs.require=require;cljs.nodejs.process=process;
cljs.nodejs.enable_util_print_BANG_=function(){cljs.core._STAR_print_newline_STAR_=!1;cljs.core._STAR_print_fn_STAR_=function(){var a=function(a){return console.log.apply(console,cljs.core.into_array.call(null,a))},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=
a;return b}();cljs.core._STAR_print_err_fn_STAR_=function(){var a=function(a){return console.error.apply(console,cljs.core.into_array.call(null,a))},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();return null};weathergen.interop={};weathergen.interop.node={};weathergen.interop.node.path={};var G__34668_34669=require("path");weathergen.interop.node.path.join=G__34668_34669.join;weathergen.interop.node.path.dirname=G__34668_34669.dirname;weathergen.interop.node.path.basename=G__34668_34669.basename;weathergen.interop.node.path.extname=G__34668_34669.extname;weathergen.interop.node.path.isAbsolute=G__34668_34669.isAbsolute;weathergen.filesystem={};weathergen.filesystem.fs_lib=cljs.nodejs.require.call(null,"fs");weathergen.filesystem.os_lib=cljs.nodejs.require.call(null,"os");weathergen.filesystem.win32_QMARK_=cljs.core._EQ_.call(null,weathergen.filesystem.os_lib.platform(),"win32");
weathergen.filesystem.case_desensitize=function(a){return weathergen.filesystem.win32_QMARK_?a:cljs.core.reduce.call(null,function(a,c){var b=null==a?null:weathergen.filesystem.fs_lib.readdirSync(a),b=null==b?null:cljs.core.filter.call(null,function(a,b){return function(a){return cljs.core._EQ_.call(null,clojure.string.lower_case.call(null,a),clojure.string.lower_case.call(null,c))}}(a,b),b),b=null==b?null:cljs.core.first.call(null,b);return null==b?null:weathergen.interop.node.path.join.call(null,
a,b)},"/",cljs.core.remove.call(null,cljs.core.empty_QMARK_,clojure.string.split.call(null,a,/\//)))};weathergen.filesystem.normalize=function(a){return clojure.string.replace.call(null,a,"\\","/")};weathergen.filesystem.exists_QMARK_=function(a){a=weathergen.filesystem.case_desensitize.call(null,weathergen.filesystem.normalize.call(null,a));return cljs.core.truth_(a)?weathergen.filesystem.fs_lib.existsSync(a):null};
weathergen.filesystem.path_combine=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return weathergen.filesystem.path_combine.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),weathergen.filesystem.path_combine.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
weathergen.filesystem.path_combine.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.truth_(weathergen.interop.node.path.isAbsolute.call(null,weathergen.filesystem.normalize.call(null,b)))?weathergen.filesystem.normalize.call(null,b):weathergen.interop.node.path.join.call(null,weathergen.filesystem.normalize.call(null,a),weathergen.filesystem.normalize.call(null,b))};
weathergen.filesystem.path_combine.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.apply.call(null,weathergen.filesystem.path_combine,weathergen.filesystem.path_combine.call(null,a,b),c)};weathergen.filesystem.path_combine.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return weathergen.filesystem.path_combine.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
weathergen.filesystem.path_combine.cljs$lang$maxFixedArity=2;weathergen.filesystem.parent=function(a){var b=weathergen.interop.node.path.dirname.call(null,weathergen.filesystem.normalize.call(null,a));return cljs.core._EQ_.call(null,b,a)?null:b};
weathergen.filesystem.basename=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return weathergen.filesystem.basename.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return weathergen.filesystem.basename.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
weathergen.filesystem.basename.cljs$core$IFn$_invoke$arity$1=function(a){return weathergen.filesystem.basename.call(null,a,cljs.core.PersistentArrayMap.EMPTY)};
weathergen.filesystem.basename.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"omit-extension?","omit-extension?",-1855127967)),c=weathergen.interop.node.path.basename.call(null,a);if(cljs.core.not.call(null,d))return c;d=weathergen.interop.node.path.extname.call(null,c);return cljs.core.subs.call(null,
c,0,cljs.core.count.call(null,c)-cljs.core.count.call(null,d))};weathergen.filesystem.basename.cljs$lang$maxFixedArity=2;
weathergen.filesystem.file_buf=function(a){try{var b=weathergen.filesystem.case_desensitize.call(null,weathergen.filesystem.normalize.call(null,a)),c=weathergen.filesystem.fs_lib.readFileSync(b),d=c.buffer;new DataView(d);return new DataView(d,c.byteOffset,c.byteLength)}catch(e){throw b=e,taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"error","error",-978969032),"weathergen.filesystem",null,98,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,
"auto","auto",-566279492),new cljs.core.Delay(function(b){return function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[b,"Failed to open file",new cljs.core.Keyword(null,"path","path",-188191168),a],null)}}(b),null),null,1320985152),cljs.core.ex_info.call(null,"Failed to open file",new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"reason","reason",-2070751759),new cljs.core.Keyword(null,"file-open-failed","file-open-failed",-571385612),
new cljs.core.Keyword(null,"path","path",-188191168),a],null));}};weathergen.filesystem.file_buffer=function(a){return weathergen.filesystem.fs_lib.readFileSync(weathergen.filesystem.case_desensitize.call(null,weathergen.filesystem.normalize.call(null,a)))};weathergen.filesystem.file_text=function(a){return weathergen.filesystem.fs_lib.readFileSync(weathergen.filesystem.case_desensitize.call(null,weathergen.filesystem.normalize.call(null,a))).toString()};
weathergen.filesystem.identical_QMARK_=function(a,b){var c=weathergen.filesystem.exists_QMARK_.call(null,a);if(cljs.core.truth_(c)&&(c=weathergen.filesystem.exists_QMARK_.call(null,b),cljs.core.truth_(c))){var c=weathergen.filesystem.fs_lib.statSync(weathergen.filesystem.normalize.call(null,a)),d=weathergen.filesystem.fs_lib.statSync(weathergen.filesystem.normalize.call(null,b));return cljs.core._EQ_.call(null,c.ino,d.ino)}return c};
weathergen.filesystem.ancestor_QMARK_=function(a,b){if(weathergen.filesystem.win32_QMARK_){var c=weathergen.filesystem.normalize.call(null,a),d=weathergen.filesystem.normalize.call(null,b),e=weathergen.filesystem.parent.call(null,d);if(cljs.core.truth_(function(){if(cljs.core.truth_(e)){if(cljs.core.truth_(d)){var a=weathergen.filesystem.exists_QMARK_.call(null,e);return cljs.core.truth_(a)?weathergen.filesystem.exists_QMARK_.call(null,d):a}return d}return e}())){var f=weathergen.filesystem.identical_QMARK_.call(null,
e,c);return cljs.core.truth_(f)?f:weathergen.filesystem.ancestor_QMARK_.call(null,c,e)}return null}return clojure.string.starts_with_QMARK_.call(null,clojure.string.lower_case.call(null,b),clojure.string.lower_case.call(null,a))};
weathergen.filesystem.mkdir=function(a,b){var c=weathergen.filesystem.parent.call(null,a);cljs.core.truth_(cljs.core.truth_(b)?cljs.core.not.call(null,weathergen.filesystem.exists_QMARK_.call(null,c)):b)&&weathergen.filesystem.mkdir.call(null,c,!0);return cljs.core.not.call(null,weathergen.filesystem.exists_QMARK_.call(null,a))?weathergen.filesystem.fs_lib.mkdirSync(a):null};
weathergen.filesystem.save_data=function(a,b){weathergen.filesystem.mkdir.call(null,weathergen.filesystem.parent.call(null,a),!0);return weathergen.filesystem.fs_lib.writeFileSync(a,b)};weathergen.filesystem.stat=function(a){a=weathergen.filesystem.fs_lib.statSync(a);return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"size","size",1098693007),a.size,new cljs.core.Keyword(null,"modified","modified",-2134587826),a.mtime.valueOf()],null)};weathergen.falcon.constants={};weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT=16;weathergen.falcon.constants.FEATURES_PER_OBJ=32;weathergen.falcon.constants.MAXIMUM_ROLES=16;weathergen.falcon.constants.MAXIMUM_OBJTYPES=32;weathergen.falcon.constants.MAXIMUM_WEAPTYPES=600;weathergen.falcon.constants.MAX_UNIT_CHILDREN=5;weathergen.falcon.constants.MAX_FEAT_DEPEND=5;weathergen.falcon.constants.MAX_NUMBER_OF_OBJECTIVES=8E3;weathergen.falcon.constants.MAX_NUMBER_OF_UNITS=4E3;
weathergen.falcon.constants.MAX_NUMBER_OF_VOLATILE_UNITS=16E3;weathergen.falcon.constants.MAX_CAMP_ENTITIES=weathergen.falcon.constants.MAX_NUMBER_OF_OBJECTIVES+weathergen.falcon.constants.MAX_NUMBER_OF_UNITS+weathergen.falcon.constants.MAX_NUMBER_OF_VOLATILE_UNITS;weathergen.falcon.constants.NoDamage=0;weathergen.falcon.constants.PenetrationDam=1;weathergen.falcon.constants.HighExplosiveDam=2;weathergen.falcon.constants.HeaveDam=3;weathergen.falcon.constants.IncendairyDam=4;
weathergen.falcon.constants.ProximityDam=5;weathergen.falcon.constants.KineticDam=6;weathergen.falcon.constants.HydrostaticDam=7;weathergen.falcon.constants.ChemicalDam=8;weathergen.falcon.constants.NuclearDam=9;weathergen.falcon.constants.OtherDam=10;weathergen.falcon.constants.WEAP_RECON=1;weathergen.falcon.constants.WEAP_FUEL=2;weathergen.falcon.constants.WEAP_ECM=4;weathergen.falcon.constants.WEAP_AREA=8;weathergen.falcon.constants.WEAP_CLUSTER=16;weathergen.falcon.constants.WEAP_TRACER=32;
weathergen.falcon.constants.WEAP_ALWAYSRACK=64;weathergen.falcon.constants.WEAP_LGB_3RD_GEN=128;weathergen.falcon.constants.WEAP_BOMBWARHEAD=256;weathergen.falcon.constants.WEAP_NO_TRAIL=512;weathergen.falcon.constants.WEAP_BOMBDROPSOUND=1024;weathergen.falcon.constants.WEAP_BOMBGPS=2048;weathergen.falcon.constants.WEAP_ROCKET_MARKER=4096;weathergen.falcon.constants.WEAP_FORCE_ON_ONE=8192;weathergen.falcon.constants.WEAP_GUN=16384;weathergen.falcon.constants.WEAP_ONETENTH=32768;
weathergen.falcon.constants.WEAP_BAI_LOADOUT=65536;weathergen.falcon.constants.WEAP_DEAD_LOADOUT=131072;weathergen.falcon.constants.WEAP_LASER_POD=262144;weathergen.falcon.constants.WEAP_FAC_LOADOUT=524288;weathergen.falcon.constants.WEAP_CHAFF_POD=1048576;weathergen.falcon.constants.WEAP_INFINITE_MASK=7;weathergen.falcon.constants.HARDPOINT_MAX=16;weathergen.falcon.constants.VU_DOMAIN=0;weathergen.falcon.constants.VU_CLASS=1;weathergen.falcon.constants.VU_TYPE=2;
weathergen.falcon.constants.VU_STYPE=3;weathergen.falcon.constants.VU_SPTYPE=4;weathergen.falcon.constants.VU_OWNER=5;weathergen.falcon.constants.VIS_NORMAL=0;weathergen.falcon.constants.VIS_REPAIRED=1;weathergen.falcon.constants.VIS_DAMAGED=2;weathergen.falcon.constants.VIS_DESTROYED=3;weathergen.falcon.constants.VIS_LEFT_DEST=4;weathergen.falcon.constants.VIS_RIGHT_DEST=5;weathergen.falcon.constants.VIS_BOTH_DEST=6;weathergen.falcon.constants.DOMAIN_ABSTRACT=1;
weathergen.falcon.constants.DOMAIN_AIR=2;weathergen.falcon.constants.DOMAIN_LAND=3;weathergen.falcon.constants.DOMAIN_SEA=4;weathergen.falcon.constants.DOMAIN_SPACE=5;weathergen.falcon.constants.DOMAIN_UNDERGROUND=6;weathergen.falcon.constants.DOMAIN_UNDERSEA=7;weathergen.falcon.constants.CLASS_ANIMAL=1;weathergen.falcon.constants.CLASS_FEATURE=2;weathergen.falcon.constants.CLASS_MANAGER=3;weathergen.falcon.constants.CLASS_OBJECTIVE=4;weathergen.falcon.constants.CLASS_SFX=5;
weathergen.falcon.constants.CLASS_UNIT=6;weathergen.falcon.constants.CLASS_VEHICLE=7;weathergen.falcon.constants.CLASS_WEAPON=8;weathergen.falcon.constants.CLASS_WEATHER=9;weathergen.falcon.constants.CLASS_SESSION=10;weathergen.falcon.constants.CLASS_ABSTRACT=0;weathergen.falcon.constants.CLASS_GAME=11;weathergen.falcon.constants.CLASS_GROUP=12;weathergen.falcon.constants.CLASS_DIALOG=13;weathergen.falcon.constants.TYPE_NOTHING=1;weathergen.falcon.constants.TYPE_GUN=3;
weathergen.falcon.constants.TYPE_MINESWEEP=2;weathergen.falcon.constants.TYPE_RACK=4;weathergen.falcon.constants.TYPE_ATM=1;weathergen.falcon.constants.TYPE_FLIGHT=1;weathergen.falcon.constants.TYPE_PACKAGE=2;weathergen.falcon.constants.TYPE_SQUADRON=3;weathergen.falcon.constants.TYPE_AIRPLANE=1;weathergen.falcon.constants.TYPE_BOMB=2;weathergen.falcon.constants.TYPE_ELECTRONICS=3;weathergen.falcon.constants.TYPE_FUEL_TANK=4;weathergen.falcon.constants.TYPE_HELICOPTER=5;
weathergen.falcon.constants.TYPE_MISSILE=6;weathergen.falcon.constants.TYPE_RECON=7;weathergen.falcon.constants.TYPE_ROCKET=8;weathergen.falcon.constants.TYPE_CLOUD=1;weathergen.falcon.constants.TYPE_GTM=1;weathergen.falcon.constants.TYPE_AIRBASE=1;weathergen.falcon.constants.TYPE_AIRSTRIP=2;weathergen.falcon.constants.TYPE_ARMYBASE=3;weathergen.falcon.constants.TYPE_BEACH=4;weathergen.falcon.constants.TYPE_BORDER=5;weathergen.falcon.constants.TYPE_BRIDGE=6;
weathergen.falcon.constants.TYPE_CHEMICAL=7;weathergen.falcon.constants.TYPE_CITY=8;weathergen.falcon.constants.TYPE_COM_CONTROL=9;weathergen.falcon.constants.TYPE_DEPOT=10;weathergen.falcon.constants.TYPE_FACTORY=11;weathergen.falcon.constants.TYPE_FORD=12;weathergen.falcon.constants.TYPE_FORTIFICATION=13;weathergen.falcon.constants.TYPE_HILL_TOP=14;weathergen.falcon.constants.TYPE_INTERSECT=15;weathergen.falcon.constants.TYPE_NUCLEAR=17;weathergen.falcon.constants.TYPE_PASS=18;
weathergen.falcon.constants.TYPE_PORT=19;weathergen.falcon.constants.TYPE_POWERPLANT=20;weathergen.falcon.constants.TYPE_RADAR=21;weathergen.falcon.constants.TYPE_RADIO_TOWER=22;weathergen.falcon.constants.TYPE_RAIL_TERMINAL=23;weathergen.falcon.constants.TYPE_RAILROAD=24;weathergen.falcon.constants.TYPE_VASI=47;weathergen.falcon.constants.TYPE_TANK=48;weathergen.falcon.constants.TYPE_FENCE=49;weathergen.falcon.constants.TYPE_PARKINGLOT=50;weathergen.falcon.constants.TYPE_SMOKESTACK=51;
weathergen.falcon.constants.TYPE_BUILDING=52;weathergen.falcon.constants.TYPE_COOL_TWR=53;weathergen.falcon.constants.TYPE_CONT_DOME=54;weathergen.falcon.constants.TYPE_GUARDHOUSE=55;weathergen.falcon.constants.TYPE_TRANSFORMER=56;weathergen.falcon.constants.TYPE_AMMO_DUMP=57;weathergen.falcon.constants.TYPE_DEBRIS=1;weathergen.falcon.constants.TYPE_AEXPLOSION=1;weathergen.falcon.constants.TYPE_CANOPY=7;weathergen.falcon.constants.TYPE_CHEM_PLANT=60;weathergen.falcon.constants.TYPE_TOWER=61;
weathergen.falcon.constants.TYPE_HOSPITAL=62;weathergen.falcon.constants.TYPE_SHOPBLK=63;weathergen.falcon.constants.TYPE_FLYING_EYE=1;weathergen.falcon.constants.TYPE_RUNWAY_NUM=64;weathergen.falcon.constants.TYPE_AIR_TERMINAL=39;weathergen.falcon.constants.TYPE_END_MISSION=1;weathergen.falcon.constants.TYPE_RUNWAY_MARKER=65;weathergen.falcon.constants.TYPE_TAXI_SIGN=24;weathergen.falcon.constants.TYPE_STADIUM=66;weathergen.falcon.constants.TYPE_MONUMENT=67;
weathergen.falcon.constants.TYPE_STATIC=64;weathergen.falcon.constants.TYPE_REFINERY=25;weathergen.falcon.constants.TYPE_ROAD=26;weathergen.falcon.constants.TYPE_SEA=27;weathergen.falcon.constants.TYPE_TOWN=28;weathergen.falcon.constants.TYPE_VILLAGE=29;weathergen.falcon.constants.TYPE_CRATER=1;weathergen.falcon.constants.TYPE_BATTALION=1;weathergen.falcon.constants.TYPE_BRIGADE=2;weathergen.falcon.constants.TYPE_FOOT=1;weathergen.falcon.constants.TYPE_TOWED=2;
weathergen.falcon.constants.TYPE_TRACKED=3;weathergen.falcon.constants.TYPE_WHEELED=4;weathergen.falcon.constants.TYPE_NTM=1;weathergen.falcon.constants.TYPE_TASKFORCE=1;weathergen.falcon.constants.TYPE_ASSAULT=1;weathergen.falcon.constants.TYPE_BOAT=2;weathergen.falcon.constants.TYPE_BUOY=3;weathergen.falcon.constants.TYPE_CAPITAL_SHIP=4;weathergen.falcon.constants.TYPE_CARGO=5;weathergen.falcon.constants.TYPE_CRUISER=6;weathergen.falcon.constants.TYPE_DEPTHCHARGE=7;
weathergen.falcon.constants.TYPE_DESTROYER=8;weathergen.falcon.constants.TYPE_FRIGATE=9;weathergen.falcon.constants.TYPE_PATROL=10;weathergen.falcon.constants.TYPE_RAFT=11;weathergen.falcon.constants.TYPE_SHIP=12;weathergen.falcon.constants.TYPE_TANKER=13;weathergen.falcon.constants.TYPE_TORPEDO=14;weathergen.falcon.constants.TYPE_ARMADA=1;weathergen.falcon.constants.TYPE_WOLFPACK=1;weathergen.falcon.constants.TYPE_SUBMARINE=1;weathergen.falcon.constants.TYPE_TEAM=1;
weathergen.falcon.constants.TYPE_NAV_BEACON=16;weathergen.falcon.constants.TYPE_SAM_SITE=31;weathergen.falcon.constants.TYPE_HARTS=30;weathergen.falcon.constants.TYPE_ART_SITE=58;weathergen.falcon.constants.TYPE_TEST=15;weathergen.falcon.constants.TYPE_OFFICE=59;weathergen.falcon.constants.TYPE_NAV_BEAC=25;weathergen.falcon.constants.TYPE_TAXIWAY=30;weathergen.falcon.constants.TYPE_HANGAR=45;weathergen.falcon.constants.TYPE_RUNWAY=11;weathergen.falcon.constants.TYPE_HOUSE=22;
weathergen.falcon.constants.TYPE_CRATERS=27;weathergen.falcon.constants.TYPE_WAREHOUSE=12;weathergen.falcon.constants.TYPE_BRIDGES=16;weathergen.falcon.constants.TYPE_FACTORYS=6;weathergen.falcon.constants.TYPE_SHOP=19;weathergen.falcon.constants.TYPE_FUEL_TANKS=14;weathergen.falcon.constants.TYPE_APARTMENT=21;weathergen.falcon.constants.TYPE_CTRL_TOWER=2;weathergen.falcon.constants.TYPE_BUNKER=4;weathergen.falcon.constants.TYPE_BUSH=5;weathergen.falcon.constants.TYPE_CHURCH=7;
weathergen.falcon.constants.TYPE_CITY_HALL=8;weathergen.falcon.constants.TYPE_DOCK=9;weathergen.falcon.constants.TYPE_HELIPAD=13;weathergen.falcon.constants.TYPE_NUKE_PLANT=15;weathergen.falcon.constants.TYPE_PIER=17;weathergen.falcon.constants.TYPE_PPOLE=18;weathergen.falcon.constants.TYPE_PTOWER=20;weathergen.falcon.constants.TYPE_PPLANT=23;weathergen.falcon.constants.TYPE_RADAR_SITE=26;weathergen.falcon.constants.TYPE_RADARS=28;weathergen.falcon.constants.TYPE_RTOWER=29;
weathergen.falcon.constants.TYPE_RAIL_TERMINALS=31;weathergen.falcon.constants.TYPE_REFINERYS=32;weathergen.falcon.constants.TYPE_SAM=33;weathergen.falcon.constants.TYPE_SHED=34;weathergen.falcon.constants.TYPE_TREE=36;weathergen.falcon.constants.TYPE_WTOWER=37;weathergen.falcon.constants.TYPE_BARRACKS=35;weathergen.falcon.constants.TYPE_LAUNCHER=5;weathergen.falcon.constants.TYPE_CHAFF=5;weathergen.falcon.constants.TYPE_BARN=3;weathergen.falcon.constants.TYPE_TWNHALL=38;
weathergen.falcon.constants.TYPE_YARD=39;weathergen.falcon.constants.TYPE_SHRINE=40;weathergen.falcon.constants.TYPE_PARK=41;weathergen.falcon.constants.TYPE_OFF_BLOCK=42;weathergen.falcon.constants.TYPE_COCKPIT=3;weathergen.falcon.constants.TYPE_TVSTN=43;weathergen.falcon.constants.TYPE_HOTEL=44;weathergen.falcon.constants.TYPE_SMOKE=4;weathergen.falcon.constants.TYPE_FIRE=2;weathergen.falcon.constants.TYPE_FLARE=6;weathergen.falcon.constants.TYPE_EXPLOSION=1;
weathergen.falcon.constants.TYPE_HULK=2;weathergen.falcon.constants.TYPE_DUST=3;weathergen.falcon.constants.TYPE_LIGHTS=46;weathergen.falcon.constants.TYPE_EJECT=9;weathergen.falcon.constants.STYPE_SITE1=1;weathergen.falcon.constants.STYPE_HARTS1=1;weathergen.falcon.constants.STYPE_TEST=1;weathergen.falcon.constants.STYPE_FAC_UNDER_1=4;weathergen.falcon.constants.STYPE_BRIDGE_044_7=3;weathergen.falcon.constants.STYPE_BRIDGE_044_5=4;weathergen.falcon.constants.STYPE_NAV_BEACON1=1;
weathergen.falcon.constants.STYPE_TAXIWAY1=1;weathergen.falcon.constants.STYPE_ADMIN1=1;weathergen.falcon.constants.STYPE_HANGAR2=1;weathergen.falcon.constants.STYPE_CNC_TILE1=1;weathergen.falcon.constants.STYPE_HANG_TILE1=2;weathergen.falcon.constants.STYPE_HOUSE3=1;weathergen.falcon.constants.STYPE_HOUSE4=2;weathergen.falcon.constants.STYPE_HOUSE5=3;weathergen.falcon.constants.STYPE_CRATER1=1;weathergen.falcon.constants.STYPE_CNC1=3;weathergen.falcon.constants.STYPE_WAREHOUSE2=1;
weathergen.falcon.constants.STYPE_BRIDGE3=3;weathergen.falcon.constants.STYPE_TAXIWAY2=2;weathergen.falcon.constants.STYPE_SHOP2=1;weathergen.falcon.constants.STYPE_FUEL_TANK2=1;weathergen.falcon.constants.STYPE_OFFICE2=3;weathergen.falcon.constants.STYPE_APARTMENT1=1;weathergen.falcon.constants.STYPE_R02_NPGA=1;weathergen.falcon.constants.STYPE_CTRL_TOWER1=1;weathergen.falcon.constants.STYPE_BRIDGE4=4;weathergen.falcon.constants.STYPE_BRIDGE2=2;weathergen.falcon.constants.STYPE_BRIDGE1=1;
weathergen.falcon.constants.STYPE_BUNKER1=1;weathergen.falcon.constants.STYPE_BUNKER2=2;weathergen.falcon.constants.STYPE_BUSH1=1;weathergen.falcon.constants.STYPE_CHURCH1=1;weathergen.falcon.constants.STYPE_CITY_HALL1=1;weathergen.falcon.constants.STYPE_SHOP1=2;weathergen.falcon.constants.STYPE_SHOP3=3;weathergen.falcon.constants.STYPE_SHOP4=4;weathergen.falcon.constants.STYPE_DEPOT1_F=3;weathergen.falcon.constants.STYPE_DEPOT2_F=4;weathergen.falcon.constants.STYPE_DOCK01=1;
weathergen.falcon.constants.STYPE_DOCK02=2;weathergen.falcon.constants.STYPE_FUEL_TANK1=2;weathergen.falcon.constants.STYPE_HANGAR3=2;weathergen.falcon.constants.STYPE_HANGAR8=4;weathergen.falcon.constants.STYPE_HANGAR1=5;weathergen.falcon.constants.STYPE_HANGAR6=3;weathergen.falcon.constants.STYPE_HANGAR7=6;weathergen.falcon.constants.STYPE_HELIPAD1=1;weathergen.falcon.constants.STYPE_HOUSE2=4;weathergen.falcon.constants.STYPE_NUKE_PLANT1=1;weathergen.falcon.constants.STYPE_NUKE_PLANT2=2;
weathergen.falcon.constants.STYPE_OFFICE1=4;weathergen.falcon.constants.STYPE_PIER1=1;weathergen.falcon.constants.STYPE_PPOLE1=1;weathergen.falcon.constants.STYPE_PTOWER1=1;weathergen.falcon.constants.STYPE_PPLANT1=1;weathergen.falcon.constants.STYPE_RADAR_SITE1=1;weathergen.falcon.constants.STYPE_RADAR2=2;weathergen.falcon.constants.STYPE_RADAR3=3;weathergen.falcon.constants.STYPE_RADAR4=4;weathergen.falcon.constants.STYPE_RADAR5=5;weathergen.falcon.constants.STYPE_RADAR6=6;
weathergen.falcon.constants.STYPE_RADAR7=7;weathergen.falcon.constants.STYPE_RADAR8=8;weathergen.falcon.constants.STYPE_RTOWER1=1;weathergen.falcon.constants.STYPE_RTOWER2=2;weathergen.falcon.constants.STYPE_SAM1=1;weathergen.falcon.constants.STYPE_SEARCH_RADAR1=9;weathergen.falcon.constants.STYPE_SHED1=1;weathergen.falcon.constants.STYPE_TREE1=1;weathergen.falcon.constants.STYPE_WAREHOUSE1=2;weathergen.falcon.constants.STYPE_WTOWER1=1;weathergen.falcon.constants.STYPE_APARTMENT2=2;
weathergen.falcon.constants.STYPE_ART_SITE1=1;weathergen.falcon.constants.STYPE_BARRACKS1=1;weathergen.falcon.constants.STYPE_IR_POD=2;weathergen.falcon.constants.STYPE_CHAFF=1;weathergen.falcon.constants.STYPE_APARTMENT4=3;weathergen.falcon.constants.STYPE_APARTMENT5=4;weathergen.falcon.constants.STYPE_HOUSE6=5;weathergen.falcon.constants.STYPE_HOUSE7=6;weathergen.falcon.constants.STYPE_HOUSE8=7;weathergen.falcon.constants.STYPE_BARN1=1;weathergen.falcon.constants.STYPE_BARN2=2;
weathergen.falcon.constants.STYPE_HOUSE9=8;weathergen.falcon.constants.STYPE_HOUSE10=9;weathergen.falcon.constants.STYPE_HOUSE11=10;weathergen.falcon.constants.STYPE_UNIT_SSBN=13;weathergen.falcon.constants.STYPE_UNIT_SSGN=11;weathergen.falcon.constants.STYPE_UNIT_SSN=12;weathergen.falcon.constants.STYPE_AIRBASE_505=5;weathergen.falcon.constants.STYPE_AIRBASE1=1;weathergen.falcon.constants.STYPE_AIRBASE2=2;weathergen.falcon.constants.STYPE_AIR_ASW=1;weathergen.falcon.constants.STYPE_AIR_ATTACK=2;
weathergen.falcon.constants.STYPE_AIR_AWACS=3;weathergen.falcon.constants.STYPE_AIR_BOMBER=4;weathergen.falcon.constants.STYPE_AIR_ECM=5;weathergen.falcon.constants.STYPE_AIR_FIGHTER=6;weathergen.falcon.constants.STYPE_AIR_FIGHTER_BOMBER=7;weathergen.falcon.constants.STYPE_AIR_JSTAR=8;weathergen.falcon.constants.STYPE_AIR_RECON=9;weathergen.falcon.constants.STYPE_AIR_TANKER=10;weathergen.falcon.constants.STYPE_AIR_TRANSPORT=11;weathergen.falcon.constants.STYPE_AIRSTRIPV=1;
weathergen.falcon.constants.STYPE_ARMYBASE1=1;weathergen.falcon.constants.STYPE_AMPHIBIOUS=1;weathergen.falcon.constants.STYPE_WASP=2;weathergen.falcon.constants.STYPE_UNIT_AIR_DEFENSE=1;weathergen.falcon.constants.STYPE_UNIT_AIRMOBILE=2;weathergen.falcon.constants.STYPE_UNIT_ARMOR=3;weathergen.falcon.constants.STYPE_UNIT_ARMORED_CAV=4;weathergen.falcon.constants.STYPE_UNIT_ENGINEER=5;weathergen.falcon.constants.STYPE_UNIT_HQ=6;weathergen.falcon.constants.STYPE_UNIT_INFANTRY=7;
weathergen.falcon.constants.STYPE_UNIT_MARINE=8;weathergen.falcon.constants.STYPE_UNIT_MECHANIZED=9;weathergen.falcon.constants.STYPE_UNIT_ROCKET=10;weathergen.falcon.constants.STYPE_UNIT_SP_ARTILLERY=11;weathergen.falcon.constants.STYPE_UNIT_SS_MISSILE=12;weathergen.falcon.constants.STYPE_UNIT_SUPPLY=13;weathergen.falcon.constants.STYPE_UNIT_TOWED_ARTILLERY=14;weathergen.falcon.constants.STYPE_MISSILE_BOAT=1;weathergen.falcon.constants.STYPE_PATROL_BOAT=1;weathergen.falcon.constants.STYPE_BOMB=1;
weathergen.falcon.constants.STYPE_BOMB_GUIDED=2;weathergen.falcon.constants.STYPE_BOMB_IRON=3;weathergen.falcon.constants.STYPE_BOMB_GPS=4;weathergen.falcon.constants.STYPE_BOMB_JSOW=5;weathergen.falcon.constants.STYPE_UNIT_AIRBORNE=2;weathergen.falcon.constants.STYPE_BATTLESHIP=1;weathergen.falcon.constants.STYPE_CARRIER=2;weathergen.falcon.constants.STYPE_AMMOSHIP=1;weathergen.falcon.constants.STYPE_FRIGATE=1;weathergen.falcon.constants.STYPE_GENERIC=3;
weathergen.falcon.constants.STYPE_NEWPORT=4;weathergen.falcon.constants.STYPE_C01_OBJ=1;weathergen.falcon.constants.STYPE_DECK=1;weathergen.falcon.constants.STYPE_PUFFY=2;weathergen.falcon.constants.STYPE_COM_CONTROL1=1;weathergen.falcon.constants.STYPE_SMALL_CRATER=1;weathergen.falcon.constants.STYPE_CG=1;weathergen.falcon.constants.STYPE_DEPOT1=1;weathergen.falcon.constants.STYPE_DEPTHCHARGE=1;weathergen.falcon.constants.STYPE_GEARING=1;weathergen.falcon.constants.STYPE_SPRUANCE=2;
weathergen.falcon.constants.STYPE_ECM=1;weathergen.falcon.constants.STYPE_F803_1=1;weathergen.falcon.constants.STYPE_F80F_1=2;weathergen.falcon.constants.STYPE_UNIT_AIR_TRANSPORT=1;weathergen.falcon.constants.STYPE_UNIT_ASW=2;weathergen.falcon.constants.STYPE_UNIT_ATTACK=3;weathergen.falcon.constants.STYPE_UNIT_ATTACK_HELO=4;weathergen.falcon.constants.STYPE_UNIT_AWACS=5;weathergen.falcon.constants.STYPE_UNIT_BOMBER=6;weathergen.falcon.constants.STYPE_UNIT_ECM=7;
weathergen.falcon.constants.STYPE_UNIT_FIGHTER=8;weathergen.falcon.constants.STYPE_UNIT_FIGHTER_BOMBER=9;weathergen.falcon.constants.STYPE_UNIT_JSTAR=10;weathergen.falcon.constants.STYPE_UNIT_RECON=11;weathergen.falcon.constants.STYPE_UNIT_RECON_HELO=12;weathergen.falcon.constants.STYPE_UNIT_TANKER=13;weathergen.falcon.constants.STYPE_UNIT_TRANSPORT_HELO=14;weathergen.falcon.constants.STYPE_FOOT_SQUAD=1;weathergen.falcon.constants.STYPE_FORTIFICATION1=1;
weathergen.falcon.constants.STYPE_FUEL_TANK=1;weathergen.falcon.constants.STYPE_AAA_GUN=1;weathergen.falcon.constants.STYPE_ARTILLERY=3;weathergen.falcon.constants.STYPE_GUN=4;weathergen.falcon.constants.STYPE_MORTAR=5;weathergen.falcon.constants.STYPE_SMALLARMS=2;weathergen.falcon.constants.STYPE_AIR_ATTACK_HELO=1;weathergen.falcon.constants.STYPE_AIR_RECON_HELO=2;weathergen.falcon.constants.STYPE_AIR_TRANSPORT_HELO=3;weathergen.falcon.constants.STYPE_MINESWPBLADE=1;
weathergen.falcon.constants.STYPE_MISSILE_AIR_AIR=1;weathergen.falcon.constants.STYPE_MISSILE_AIR_GROUND=2;weathergen.falcon.constants.STYPE_MISSILE_ANTI_SHIP=3;weathergen.falcon.constants.STYPE_MISSILE_SURF_AIR=5;weathergen.falcon.constants.STYPE_MISSILE_SURF_SURF=6;weathergen.falcon.constants.STYPE_NAV1=1;weathergen.falcon.constants.STYPE_NOTHING=1;weathergen.falcon.constants.STYPE_NUCLEAR1=1;weathergen.falcon.constants.STYPE_PORT1=1;weathergen.falcon.constants.STYPE_PP01_OBJ=1;
weathergen.falcon.constants.STYPE_RACK=1;weathergen.falcon.constants.STYPE_RADAR1=1;weathergen.falcon.constants.STYPE_RADIO_TOWER1=1;weathergen.falcon.constants.STYPE_LIFE_RAFT=1;weathergen.falcon.constants.STYPE_RAIL_TERMINAL1=1;weathergen.falcon.constants.STYPE_RAILROAD1=1;weathergen.falcon.constants.STYPE_CAMERA=1;weathergen.falcon.constants.STYPE_REFINERY1=1;weathergen.falcon.constants.STYPE_ROCKET=2;weathergen.falcon.constants.STYPE_CRUISER=1;weathergen.falcon.constants.STYPE_SEA_SUPPLY=1;
weathergen.falcon.constants.STYPE_SEA_TRANSPORT=2;weathergen.falcon.constants.STYPE_SSBN=1;weathergen.falcon.constants.STYPE_SSGN=2;weathergen.falcon.constants.STYPE_SSN=3;weathergen.falcon.constants.STYPE_UNIT_AMPHIBIOUS=1;weathergen.falcon.constants.STYPE_UNIT_BATTLESHIP=2;weathergen.falcon.constants.STYPE_UNIT_CARRIER=3;weathergen.falcon.constants.STYPE_UNIT_CRUISER=4;weathergen.falcon.constants.STYPE_UNIT_DESTROYER=5;weathergen.falcon.constants.STYPE_UNIT_FRIGATE=6;
weathergen.falcon.constants.STYPE_UNIT_PATROL=7;weathergen.falcon.constants.STYPE_UNIT_SEA_SUPPLY=8;weathergen.falcon.constants.STYPE_UNIT_SEA_TANKER=9;weathergen.falcon.constants.STYPE_UNIT_SEA_TRANSPORT=10;weathergen.falcon.constants.STYPE_TORPEDO=1;weathergen.falcon.constants.STYPE_TOWED_AAA=1;weathergen.falcon.constants.STYPE_TOWED_ARTILLERY=2;weathergen.falcon.constants.STYPE_TRACKED_AAA=1;weathergen.falcon.constants.STYPE_TRACKED_AIR_DEFENSE=2;
weathergen.falcon.constants.STYPE_TRACKED_ARMOR=3;weathergen.falcon.constants.STYPE_TRACKED_ARTILLERY=4;weathergen.falcon.constants.STYPE_TRACKED_ENGINEER=5;weathergen.falcon.constants.STYPE_TRACKED_HQ=6;weathergen.falcon.constants.STYPE_TRACKED_IFV=7;weathergen.falcon.constants.STYPE_TRACKED_MORTAR=8;weathergen.falcon.constants.STYPE_TRACKED_TRANSPORT=9;weathergen.falcon.constants.STYPE_WHEELED_AAA=1;weathergen.falcon.constants.STYPE_WHEELED_AIR_DEFENSE=2;
weathergen.falcon.constants.STYPE_WHEELED_ARTILLERY=3;weathergen.falcon.constants.STYPE_WHEELED_ENGINEER=4;weathergen.falcon.constants.STYPE_WHEELED_FIRETRUCK=5;weathergen.falcon.constants.STYPE_WHEELED_HQ=6;weathergen.falcon.constants.STYPE_WHEELED_IFV=7;weathergen.falcon.constants.STYPE_WHEELED_TRANSPORT=8;weathergen.falcon.constants.STYPE_BRIDGE_044_4=1;weathergen.falcon.constants.STYPE_BRIDGE_044_6=2;weathergen.falcon.constants.STYPE_DEPOT2=2;weathergen.falcon.constants.STYPE_F405_1=3;
weathergen.falcon.constants.STYPE_NUCLEAR2=2;weathergen.falcon.constants.STYPE_FACTORY1L=8;weathergen.falcon.constants.STYPE_FACTORY1R=9;weathergen.falcon.constants.STYPE_PORT_66B=2;weathergen.falcon.constants.STYPE_BRIDGE_A41_3=13;weathergen.falcon.constants.STYPE_BRIDGE_A42_3=14;weathergen.falcon.constants.STYPE_TWNHALL1=1;weathergen.falcon.constants.STYPE_SHOP5=5;weathergen.falcon.constants.STYPE_HANGAR9=7;weathergen.falcon.constants.STYPE_HANGAR10=8;weathergen.falcon.constants.STYPE_R02_PGC=3;
weathergen.falcon.constants.STYPE_TEMPLE1=2;weathergen.falcon.constants.STYPE_SHOP6=6;weathergen.falcon.constants.STYPE_SHED2=2;weathergen.falcon.constants.STYPE_SHED3=3;weathergen.falcon.constants.STYPE_WTOWER2=2;weathergen.falcon.constants.STYPE_WTOWER3=3;weathergen.falcon.constants.STYPE_SHRINE1=1;weathergen.falcon.constants.STYPE_OFFICE7=5;weathergen.falcon.constants.STYPE_APARTMENT6=5;weathergen.falcon.constants.STYPE_STABLE1=3;weathergen.falcon.constants.STYPE_PARK1=1;
weathergen.falcon.constants.STYPE_TREE2=2;weathergen.falcon.constants.STYPE_TREE3=3;weathergen.falcon.constants.STYPE_TREE4=4;weathergen.falcon.constants.STYPE_HOUSE12=11;weathergen.falcon.constants.STYPE_OFFICE3=1;weathergen.falcon.constants.STYPE_OFFICE4=6;weathergen.falcon.constants.STYPE_OFFICE5=7;weathergen.falcon.constants.STYPE_OFFICE6=8;weathergen.falcon.constants.STYPE_OFFICE8=9;weathergen.falcon.constants.STYPE_SKYSCRAPER1=10;weathergen.falcon.constants.STYPE_SKYSCRAPER2=11;
weathergen.falcon.constants.STYPE_OFF_BLOCK1=1;weathergen.falcon.constants.STYPE_APARTMENT3=6;weathergen.falcon.constants.STYPE_CITY_HALL2=2;weathergen.falcon.constants.STYPE_BARRACKS2=2;weathergen.falcon.constants.STYPE_CHURCH2=3;weathergen.falcon.constants.STYPE_TEMPLE2=4;weathergen.falcon.constants.STYPE_COCKPIT=1;weathergen.falcon.constants.STYPE_OFFICE9=12;weathergen.falcon.constants.STYPE_OFFICE10=13;weathergen.falcon.constants.STYPE_OFFICE11=14;weathergen.falcon.constants.STYPE_OFFICE12=15;
weathergen.falcon.constants.STYPE_OFFICE13=16;weathergen.falcon.constants.STYPE_OFFICE14=17;weathergen.falcon.constants.STYPE_OFFICE15=18;weathergen.falcon.constants.STYPE_OFFICE16=19;weathergen.falcon.constants.STYPE_OFFICE17=20;weathergen.falcon.constants.STYPE_BRIDGE1_4=6;weathergen.falcon.constants.STYPE_BRIDGE1_2=5;weathergen.falcon.constants.STYPE_BRIDGE1_1=7;weathergen.falcon.constants.STYPE_BRIDGE2_3=8;weathergen.falcon.constants.STYPE_BRIDGE2_1=9;
weathergen.falcon.constants.STYPE_OFF_BLOCK2=2;weathergen.falcon.constants.STYPE_OFF_BLOCK3=3;weathergen.falcon.constants.STYPE_OFF_BLOCK4=4;weathergen.falcon.constants.STYPE_OFF_BLOCK5=5;weathergen.falcon.constants.STYPE_OFF_BLOCK6=6;weathergen.falcon.constants.STYPE_OFF_BLOCK7=7;weathergen.falcon.constants.STYPE_OFF_BLOCK8=8;weathergen.falcon.constants.STYPE_OFF_BLOCK9=9;weathergen.falcon.constants.STYPE_WAREHOUSE3=3;weathergen.falcon.constants.STYPE_WAREHOUSE4=4;
weathergen.falcon.constants.STYPE_TVSTN1=1;weathergen.falcon.constants.STYPE_HOTEL1=1;weathergen.falcon.constants.STYPE_CITY_835=24;weathergen.falcon.constants.STYPE_BRIDGE_241_3=5;weathergen.falcon.constants.STYPE_SM_BRIDGE3=10;weathergen.falcon.constants.STYPE_BRIDGE_242_3=6;weathergen.falcon.constants.STYPE_BRIDGE_D41_3=7;weathergen.falcon.constants.STYPE_BRIDGE_D42_3=8;weathergen.falcon.constants.STYPE_MISS_LAUN=1;weathergen.falcon.constants.STYPE_SAM_LAUN=2;
weathergen.falcon.constants.STYPE_MISS_FLAME=1;weathergen.falcon.constants.STYPE_ENG_FIRE=2;weathergen.falcon.constants.STYPE_SM_FACT1=5;weathergen.falcon.constants.STYPE_SM_FACT2=6;weathergen.falcon.constants.STYPE_SM_FACT3=7;weathergen.falcon.constants.STYPE_4KRUNWAY=5;weathergen.falcon.constants.STYPE_FLARE1=1;weathergen.falcon.constants.STYPE_TANK_HULK=2;weathergen.falcon.constants.STYPE_R02_NPGB=6;weathergen.falcon.constants.STYPE_R02_NPGC=7;weathergen.falcon.constants.STYPE_R02_NPGD=8;
weathergen.falcon.constants.STYPE_R03_NPGA=4;weathergen.falcon.constants.STYPE_BRIDGE_654_1=15;weathergen.falcon.constants.STYPE_BRIDGE_656_1=16;weathergen.falcon.constants.STYPE_R03_NPGB=16;weathergen.falcon.constants.STYPE_A33_VILLAGE=9;weathergen.falcon.constants.STYPE_VILL_D3D=25;weathergen.falcon.constants.STYPE_VILL_D37=26;weathergen.falcon.constants.STYPE_OSAN=24;weathergen.falcon.constants.STYPE_TAXIOSAN=2;weathergen.falcon.constants.STYPE_R02_PGA=9;
weathergen.falcon.constants.STYPE_R02_PGB=10;weathergen.falcon.constants.STYPE_AIRBASE_501=3;weathergen.falcon.constants.STYPE_AIRBASE_510=4;weathergen.falcon.constants.STYPE_AIRBASE_560=5;weathergen.falcon.constants.STYPE_OFFICE18=21;weathergen.falcon.constants.STYPE_OFFICE19=22;weathergen.falcon.constants.STYPE_OFFICE20=23;weathergen.falcon.constants.STYPE_OFFICE21=24;weathergen.falcon.constants.STYPE_OFFICE22=25;weathergen.falcon.constants.STYPE_OFFICE23=26;
weathergen.falcon.constants.STYPE_OFFICE24=27;weathergen.falcon.constants.STYPE_OFFICE25=28;weathergen.falcon.constants.STYPE_OFFICE26=29;weathergen.falcon.constants.STYPE_DUST1=1;weathergen.falcon.constants.STYPE_TAXI_01=3;weathergen.falcon.constants.STYPE_R01_NPGA=12;weathergen.falcon.constants.STYPE_R01_NPGB=11;weathergen.falcon.constants.STYPE_R01_NPGC=13;weathergen.falcon.constants.STYPE_R01_PFLA=3;weathergen.falcon.constants.STYPE_R01_PGB=15;weathergen.falcon.constants.STYPE_R01_PGA=14;
weathergen.falcon.constants.STYPE_R01_PFLB=4;weathergen.falcon.constants.STYPE_STROBE_1=1;weathergen.falcon.constants.STYPE_STROBE_2=2;weathergen.falcon.constants.STYPE_HANGAR11=9;weathergen.falcon.constants.STYPE_HANGAR12=10;weathergen.falcon.constants.STYPE_WTOWER4=4;weathergen.falcon.constants.STYPE_CTRL_TOWER2=2;weathergen.falcon.constants.STYPE_EJECT1=1;weathergen.falcon.constants.STYPE_EJECT2=2;weathergen.falcon.constants.STYPE_VASI_N=1;weathergen.falcon.constants.STYPE_VASI_F=2;
weathergen.falcon.constants.STYPE_VASI_RB=3;weathergen.falcon.constants.STYPE_VASI_RF=4;weathergen.falcon.constants.STYPE_FACTORY1_SHIP=10;weathergen.falcon.constants.STYPE_TANK1=1;weathergen.falcon.constants.STYPE_PARKINGLOT1=1;weathergen.falcon.constants.STYPE_SMOKESTACK1=1;weathergen.falcon.constants.STYPE_SECONDARY1=1;weathergen.falcon.constants.STYPE_SECONDARY2=2;weathergen.falcon.constants.STYPE_PARKINGLOT2=2;weathergen.falcon.constants.STYPE_COOL_TWR1=1;
weathergen.falcon.constants.STYPE_CONT_DOME1=1;weathergen.falcon.constants.STYPE_FENCE_NUKE2=1;weathergen.falcon.constants.STYPE_GUARDHOUSE1=1;weathergen.falcon.constants.STYPE_TRANSFORMER1=1;weathergen.falcon.constants.STYPE_SHED4=4;weathergen.falcon.constants.STYPE_WAREHOUSE5=5;weathergen.falcon.constants.STYPE_RADAR9=10;weathergen.falcon.constants.STYPE_AMMO_DUMP1=1;weathergen.falcon.constants.STYPE_C01_03=2;weathergen.falcon.constants.STYPE_BRIDGE_046_2=9;
weathergen.falcon.constants.STYPE_BRIDGE4_1=11;weathergen.falcon.constants.STYPE_BRIDGE5_1=12;weathergen.falcon.constants.STYPE_BRIDGE6_1=13;weathergen.falcon.constants.STYPE_BRIDGE7_1=14;weathergen.falcon.constants.STYPE_BRIDGE_046_3=10;weathergen.falcon.constants.STYPE_BRIDGE_046_4=11;weathergen.falcon.constants.STYPE_BRIDGE_046_5=12;weathergen.falcon.constants.STYPE_UNIT_RESERVE=15;weathergen.falcon.constants.STYPE_DEBRIS=1;weathergen.falcon.constants.STYPE_LEXPLOSION1=3;
weathergen.falcon.constants.STYPE_WEXPLOSION1=1;weathergen.falcon.constants.STYPE_AEXPLOSION1=2;weathergen.falcon.constants.STYPE_AEXPLOSION2=1;weathergen.falcon.constants.STYPE_CRATER=2;weathergen.falcon.constants.STYPE_FIREBALL=3;weathergen.falcon.constants.STYPE_BRIDGE_6E6_1=17;weathergen.falcon.constants.STYPE_BRIDGE_6E4_1=18;weathergen.falcon.constants.STYPE_BRIDGE_684_1=19;weathergen.falcon.constants.STYPE_BRIDGE_686_1=20;weathergen.falcon.constants.STYPE_BRIDGE_68B_1=21;
weathergen.falcon.constants.STYPE_BRIDGE_68D_1=22;weathergen.falcon.constants.STYPE_TOWN_D37=3;weathergen.falcon.constants.STYPE_TOWN_D3B=4;weathergen.falcon.constants.STYPE_TOWN_D3D=5;weathergen.falcon.constants.STYPE_TOWN_D3E=6;weathergen.falcon.constants.STYPE_TOWN_D3F=7;weathergen.falcon.constants.STYPE_BRIDGE2_2=16;weathergen.falcon.constants.STYPE_TOWN_D47=1;weathergen.falcon.constants.STYPE_TOWN_D48=2;weathergen.falcon.constants.STYPE_BRIDGE_65B_1=23;
weathergen.falcon.constants.STYPE_BRIDGE_65D_1=24;weathergen.falcon.constants.STYPE_BRIDGE_6EB_1=25;weathergen.falcon.constants.STYPE_BRIDGE_6ED_1=26;weathergen.falcon.constants.STYPE_BRIDGE_754_1=27;weathergen.falcon.constants.STYPE_BRIDGE_044_1=28;weathergen.falcon.constants.STYPE_BRIDGE_046_1=29;weathergen.falcon.constants.STYPE_BRIDGE_04B_1=30;weathergen.falcon.constants.STYPE_BRIDGE_04D_1=31;weathergen.falcon.constants.STYPE_BRIDGE_75D_1=32;weathergen.falcon.constants.STYPE_JUNCTION1=1;
weathergen.falcon.constants.STYPE_BRIDGE_624_1=33;weathergen.falcon.constants.STYPE_BRIDGE_626_1=34;weathergen.falcon.constants.STYPE_BRIDGE_62B_1=35;weathergen.falcon.constants.STYPE_BRIDGE_62D_1=36;weathergen.falcon.constants.STYPE_BRIDGE6_2=15;weathergen.falcon.constants.STYPE_BRIDGE6_3=17;weathergen.falcon.constants.STYPE_BRIDGE3_1=18;weathergen.falcon.constants.STYPE_BRIDGE_044_2=37;weathergen.falcon.constants.STYPE_BRIDGE_044_3=38;weathergen.falcon.constants.STYPE_BRIDGE_046_6=39;
weathergen.falcon.constants.STYPE_BRIDGE_046_7=40;weathergen.falcon.constants.STYPE_BRIDGE_04B_2=41;weathergen.falcon.constants.STYPE_BRIDGE_04B_3=42;weathergen.falcon.constants.STYPE_BRIDGE_04B_4=43;weathergen.falcon.constants.STYPE_BRIDGE_04B_5=44;weathergen.falcon.constants.STYPE_BRIDGE_04B_6=45;weathergen.falcon.constants.STYPE_BRIDGE_04B_7=46;weathergen.falcon.constants.STYPE_BRIDGE_04D_2=47;weathergen.falcon.constants.STYPE_BRIDGE_04D_3=48;weathergen.falcon.constants.STYPE_BRIDGE_04D_4=49;
weathergen.falcon.constants.STYPE_BRIDGE_04D_6=50;weathergen.falcon.constants.STYPE_BRIDGE_04D_7=51;weathergen.falcon.constants.STYPE_BRIDGE_624_2=52;weathergen.falcon.constants.STYPE_BRIDGE_624_3=53;weathergen.falcon.constants.STYPE_BRIDGE_624_4=54;weathergen.falcon.constants.STYPE_BRIDGE_624_5=55;weathergen.falcon.constants.STYPE_BRIDGE_624_6=56;weathergen.falcon.constants.STYPE_BRIDGE_624_7=57;weathergen.falcon.constants.STYPE_BRIDGE_62D_2=58;weathergen.falcon.constants.STYPE_BRIDGE_62D_3=59;
weathergen.falcon.constants.STYPE_BRIDGE_62D_4=60;weathergen.falcon.constants.STYPE_BRIDGE_62D_5=61;weathergen.falcon.constants.STYPE_BRIDGE_62D_6=62;weathergen.falcon.constants.STYPE_BRIDGE_62D_7=63;weathergen.falcon.constants.STYPE_BRIDGE_626_2=64;weathergen.falcon.constants.STYPE_BRIDGE_626_3=65;weathergen.falcon.constants.STYPE_BRIDGE_626_4=66;weathergen.falcon.constants.STYPE_BRIDGE_626_5=67;weathergen.falcon.constants.STYPE_BRIDGE_626_6=68;weathergen.falcon.constants.STYPE_BRIDGE_626_7=69;
weathergen.falcon.constants.STYPE_BRIDGE_62B_2=70;weathergen.falcon.constants.STYPE_BRIDGE_62B_4=71;weathergen.falcon.constants.STYPE_BRIDGE_62B_3=72;weathergen.falcon.constants.STYPE_BRIDGE_62B_5=73;weathergen.falcon.constants.STYPE_BRIDGE_62B_6=74;weathergen.falcon.constants.STYPE_BRIDGE_62B_7=75;weathergen.falcon.constants.STYPE_BRIDGE_654_2=76;weathergen.falcon.constants.STYPE_BRIDGE_654_3=77;weathergen.falcon.constants.STYPE_BRIDGE_654_4=78;weathergen.falcon.constants.STYPE_BRIDGE_654_5=79;
weathergen.falcon.constants.STYPE_BRIDGE_654_6=80;weathergen.falcon.constants.STYPE_BRIDGE_654_7=81;weathergen.falcon.constants.STYPE_BRIDGE_656_2=82;weathergen.falcon.constants.STYPE_BRIDGE_656_3=83;weathergen.falcon.constants.STYPE_BRIDGE_656_4=84;weathergen.falcon.constants.STYPE_BRIDGE_656_5=85;weathergen.falcon.constants.STYPE_BRIDGE_656_6=86;weathergen.falcon.constants.STYPE_BRIDGE_656_7=87;weathergen.falcon.constants.STYPE_BRIDGE_65B_2=88;weathergen.falcon.constants.STYPE_BRIDGE_65B_3=89;
weathergen.falcon.constants.STYPE_J235=15;weathergen.falcon.constants.STYPE_BRIDGE_65B_4=90;weathergen.falcon.constants.STYPE_BRIDGE_65B_5=91;weathergen.falcon.constants.STYPE_BRIDGE_65B_6=92;weathergen.falcon.constants.STYPE_BRIDGE_65B_7=93;weathergen.falcon.constants.STYPE_BRIDGE_65D_2=94;weathergen.falcon.constants.STYPE_BRIDGE_65D_3=95;weathergen.falcon.constants.STYPE_BRIDGE_65D_4=96;weathergen.falcon.constants.STYPE_BRIDGE_65D_5=97;weathergen.falcon.constants.STYPE_BRIDGE_65D_6=98;
weathergen.falcon.constants.STYPE_BRIDGE_65D_7=99;weathergen.falcon.constants.STYPE_BRIDGE_684_2=100;weathergen.falcon.constants.STYPE_BRIDGE_684_3=101;weathergen.falcon.constants.STYPE_BRIDGE_684_4=103;weathergen.falcon.constants.STYPE_BRIDGE_684_6=104;weathergen.falcon.constants.STYPE_BRIDGE_686_2=102;weathergen.falcon.constants.STYPE_BRIDGE_686_3=105;weathergen.falcon.constants.STYPE_BRIDGE_686_4=106;weathergen.falcon.constants.STYPE_BRIDGE_686_5=107;
weathergen.falcon.constants.STYPE_BRIDGE_686_6=108;weathergen.falcon.constants.STYPE_BRIDGE_68B_2=110;weathergen.falcon.constants.STYPE_BRIDGE_68B_3=109;weathergen.falcon.constants.STYPE_BRIDGE_68B_4=111;weathergen.falcon.constants.STYPE_BRIDGE_68B_5=112;weathergen.falcon.constants.STYPE_BRIDGE_68B_6=113;weathergen.falcon.constants.STYPE_BRIDGE_68D_2=115;weathergen.falcon.constants.STYPE_BRIDGE_68D_3=114;weathergen.falcon.constants.STYPE_BRIDGE_68D_4=116;
weathergen.falcon.constants.STYPE_BRIDGE_68D_6=118;weathergen.falcon.constants.STYPE_BRIDGE_6E4_2=117;weathergen.falcon.constants.STYPE_BRIDGE_6E4_3=119;weathergen.falcon.constants.STYPE_BRIDGE_6E4_4=120;weathergen.falcon.constants.STYPE_BRIDGE_6E4_5=122;weathergen.falcon.constants.STYPE_BRIDGE_6E4_6=121;weathergen.falcon.constants.STYPE_BRIDGE_6E4_7=123;weathergen.falcon.constants.STYPE_BRIDGE_6E6_2=124;weathergen.falcon.constants.STYPE_BRIDGE_6E6_3=125;
weathergen.falcon.constants.STYPE_BRIDGE_6E6_4=126;weathergen.falcon.constants.STYPE_BRIDGE_6E6_6=127;weathergen.falcon.constants.STYPE_BRIDGE_6E6_5=128;weathergen.falcon.constants.STYPE_BRIDGE_6E6_7=129;weathergen.falcon.constants.STYPE_BRIDGE_6EB_2=130;weathergen.falcon.constants.STYPE_BRIDGE_6EB_3=131;weathergen.falcon.constants.STYPE_BRIDGE_6EB_4=132;weathergen.falcon.constants.STYPE_BRIDGE_6EB_5=133;weathergen.falcon.constants.STYPE_BRIDGE_6EB_6=134;
weathergen.falcon.constants.STYPE_BRIDGE_6EB_7=135;weathergen.falcon.constants.STYPE_BRIDGE_6ED_2=136;weathergen.falcon.constants.STYPE_BRIDGE_6ED_3=137;weathergen.falcon.constants.STYPE_BRIDGE_6ED_4=138;weathergen.falcon.constants.STYPE_BRIDGE_6ED_5=139;weathergen.falcon.constants.STYPE_BRIDGE_6ED_6=140;weathergen.falcon.constants.STYPE_BRIDGE_6ED_7=141;weathergen.falcon.constants.STYPE_BRIDGE_754_2=142;weathergen.falcon.constants.STYPE_BRIDGE_754_3=143;
weathergen.falcon.constants.STYPE_BRIDGE_754_4=144;weathergen.falcon.constants.STYPE_BRIDGE_754_5=145;weathergen.falcon.constants.STYPE_BRIDGE_754_6=146;weathergen.falcon.constants.STYPE_BRIDGE_754_7=147;weathergen.falcon.constants.STYPE_BRIDGE_75D_2=148;weathergen.falcon.constants.STYPE_BRIDGE_75D_3=149;weathergen.falcon.constants.STYPE_BRIDGE_75D_4=150;weathergen.falcon.constants.STYPE_BRIDGE_75D_5=151;weathergen.falcon.constants.STYPE_BRIDGE_75D_6=152;
weathergen.falcon.constants.STYPE_BRIDGE_75D_7=153;weathergen.falcon.constants.STYPE_BRIDGE1_1A=19;weathergen.falcon.constants.STYPE_BRIDGE1_2A=20;weathergen.falcon.constants.STYPE_BRIDGE1_X2=21;weathergen.falcon.constants.STYPE_BRIDGE1_X2A=22;weathergen.falcon.constants.STYPE_BRIDGE1_X3=23;weathergen.falcon.constants.STYPE_BRIDGE1_X3A=24;weathergen.falcon.constants.STYPE_BRIDGE2_1A=25;weathergen.falcon.constants.STYPE_BRIDGE2_2A=26;weathergen.falcon.constants.STYPE_BRIDGE2_3A=27;
weathergen.falcon.constants.STYPE_BRIDGE3_1A=28;weathergen.falcon.constants.STYPE_BRIDGE4_1A=29;weathergen.falcon.constants.STYPE_BRIDGE4_X2=30;weathergen.falcon.constants.STYPE_BRIDGE4_X2A=31;weathergen.falcon.constants.STYPE_BRIDGE5_1A=32;weathergen.falcon.constants.STYPE_BRIDGE6_1A=33;weathergen.falcon.constants.STYPE_BRIDGE6_X2=34;weathergen.falcon.constants.STYPE_BRIDGE6_X2A=35;weathergen.falcon.constants.STYPE_BRIDGE7_1A=36;weathergen.falcon.constants.STYPE_NSEOUL=4;
weathergen.falcon.constants.STYPE_DTSEOUL=5;weathergen.falcon.constants.STYPE_J43E=2;weathergen.falcon.constants.STYPE_J437=3;weathergen.falcon.constants.STYPE_J43B=4;weathergen.falcon.constants.STYPE_J43D=5;weathergen.falcon.constants.STYPE_F303_1=5;weathergen.falcon.constants.STYPE_PLOT_F01_04=3;weathergen.falcon.constants.STYPE_PLOT_F01_05=4;weathergen.falcon.constants.STYPE_F30E_1=6;weathergen.falcon.constants.STYPE_F66C_1=7;weathergen.falcon.constants.STYPE_F801_1=8;
weathergen.falcon.constants.STYPE_F802_1=9;weathergen.falcon.constants.STYPE_F804_1=10;weathergen.falcon.constants.STYPE_F805_1=11;weathergen.falcon.constants.STYPE_F80A_1=12;weathergen.falcon.constants.STYPE_F80B_1=13;weathergen.falcon.constants.STYPE_F80C_1=14;weathergen.falcon.constants.STYPE_FEC1_1=15;weathergen.falcon.constants.STYPE_FEC2_1=16;weathergen.falcon.constants.STYPE_FEC8_1=17;weathergen.falcon.constants.STYPE_APARTMENT7=7;weathergen.falcon.constants.STYPE_EJECT3=3;
weathergen.falcon.constants.STYPE_FIRE1=3;weathergen.falcon.constants.STYPE_EJECT4=3;weathergen.falcon.constants.STYPE_CANOPY1=1;weathergen.falcon.constants.STYPE_C01_02=1;weathergen.falcon.constants.STYPE_C01_04=4;weathergen.falcon.constants.STYPE_C01_05=5;weathergen.falcon.constants.STYPE_C01_06=6;weathergen.falcon.constants.STYPE_WAREHOUSE_CHEM=6;weathergen.falcon.constants.STYPE_OFFICE_CHEM=30;weathergen.falcon.constants.STYPE_WAREHOUSE_CHEM2=7;weathergen.falcon.constants.STYPE_TANK2=2;
weathergen.falcon.constants.STYPE_TANK3=3;weathergen.falcon.constants.STYPE_TANK4=4;weathergen.falcon.constants.STYPE_CRACKER1=1;weathergen.falcon.constants.STYPE_CRACKER2=2;weathergen.falcon.constants.STYPE_REL_VALVE1=3;weathergen.falcon.constants.STYPE_PROC_TANK1=5;weathergen.falcon.constants.STYPE_C01_10=7;weathergen.falcon.constants.STYPE_HOUSE1=12;weathergen.falcon.constants.STYPE_R02_01=2;weathergen.falcon.constants.STYPE_R02_02=3;weathergen.falcon.constants.STYPE_R02_03=4;
weathergen.falcon.constants.STYPE_R02_04=5;weathergen.falcon.constants.STYPE_R02_05=6;weathergen.falcon.constants.STYPE_R02_06=7;weathergen.falcon.constants.STYPE_R02_07=8;weathergen.falcon.constants.STYPE_R02_08=9;weathergen.falcon.constants.STYPE_R02_09=10;weathergen.falcon.constants.STYPE_R02_10=11;weathergen.falcon.constants.STYPE_R02_11=12;weathergen.falcon.constants.STYPE_R02_12=13;weathergen.falcon.constants.STYPE_R02_13=14;weathergen.falcon.constants.STYPE_F05_01=11;
weathergen.falcon.constants.STYPE_F05_02=12;weathergen.falcon.constants.STYPE_F05_03=13;weathergen.falcon.constants.STYPE_F05_04=14;weathergen.falcon.constants.STYPE_F05_05=15;weathergen.falcon.constants.STYPE_F05_06=16;weathergen.falcon.constants.STYPE_F05_07=17;weathergen.falcon.constants.STYPE_F05_08=18;weathergen.falcon.constants.STYPE_F05_09=19;weathergen.falcon.constants.STYPE_DOCK06=3;weathergen.falcon.constants.STYPE_HOTEL02=2;weathergen.falcon.constants.STYPE_HOSPITAL01=1;
weathergen.falcon.constants.STYPE_HOSPITAL02=2;weathergen.falcon.constants.STYPE_HOSPITAL03=3;weathergen.falcon.constants.STYPE_SHOPBLK01=1;weathergen.falcon.constants.STYPE_SHOPBLK02=2;weathergen.falcon.constants.STYPE_SHOPBLK03=3;weathergen.falcon.constants.STYPE_SHOPBLK04=4;weathergen.falcon.constants.STYPE_REFINERY2=2;weathergen.falcon.constants.STYPE_F05_OBJ=18;weathergen.falcon.constants.STYPE_N02_01=3;weathergen.falcon.constants.STYPE_N02_02=4;weathergen.falcon.constants.STYPE_N02_03=5;
weathergen.falcon.constants.STYPE_N02_04=6;weathergen.falcon.constants.STYPE_N02_05=7;weathergen.falcon.constants.STYPE_COOLT2=8;weathergen.falcon.constants.STYPE_R02_OBJ=3;weathergen.falcon.constants.STYPE_N03_01=9;weathergen.falcon.constants.STYPE_N03_02=10;weathergen.falcon.constants.STYPE_N03_03=11;weathergen.falcon.constants.STYPE_N03_04=12;weathergen.falcon.constants.STYPE_N03_05=13;weathergen.falcon.constants.STYPE_N03_06=14;weathergen.falcon.constants.STYPE_N03_OBJ=4;
weathergen.falcon.constants.STYPE_N04_01=15;weathergen.falcon.constants.STYPE_N04_02=16;weathergen.falcon.constants.STYPE_N04_03=17;weathergen.falcon.constants.STYPE_N04_04=18;weathergen.falcon.constants.STYPE_N04_OBJ=5;weathergen.falcon.constants.STYPE_N02_OBJ=3;weathergen.falcon.constants.STYPE_C02_01=2;weathergen.falcon.constants.STYPE_C02_02=8;weathergen.falcon.constants.STYPE_C02_03=9;weathergen.falcon.constants.STYPE_C02_04=10;weathergen.falcon.constants.STYPE_C02_05=11;
weathergen.falcon.constants.STYPE_C02_06=12;weathergen.falcon.constants.STYPE_C02_07=13;weathergen.falcon.constants.STYPE_C02_OBJ=2;weathergen.falcon.constants.STYPE_LGTNK_05=3;weathergen.falcon.constants.STYPE_LGTNK_06=4;weathergen.falcon.constants.STYPE_LGTNK_07=5;weathergen.falcon.constants.STYPE_RTWR_03=3;weathergen.falcon.constants.STYPE_RTWR_04=4;weathergen.falcon.constants.STYPE_CMTWR_01=14;weathergen.falcon.constants.STYPE_SILO_01=15;weathergen.falcon.constants.STYPE_CMTWR_02=16;
weathergen.falcon.constants.STYPE_C03_01=17;weathergen.falcon.constants.STYPE_C03_OBJ=3;weathergen.falcon.constants.STYPE_PP01_01=2;weathergen.falcon.constants.STYPE_PP02_01=3;weathergen.falcon.constants.STYPE_PP02_02=2;weathergen.falcon.constants.STYPE_PP02_03=4;weathergen.falcon.constants.STYPE_PP03_01=5;weathergen.falcon.constants.STYPE_PP03_02=6;weathergen.falcon.constants.STYPE_PP03_03=7;weathergen.falcon.constants.STYPE_PP04_01=8;weathergen.falcon.constants.STYPE_PP02_OBJ=2;
weathergen.falcon.constants.STYPE_PTWR_03=2;weathergen.falcon.constants.STYPE_PP01_04=9;weathergen.falcon.constants.STYPE_PP01_05=10;weathergen.falcon.constants.STYPE_PTWR03=3;weathergen.falcon.constants.STYPE_PP03_OBJ=3;weathergen.falcon.constants.STYPE_PTWR02=2;weathergen.falcon.constants.STYPE_PP04_OBJ=4;weathergen.falcon.constants.STYPE_F03_01=20;weathergen.falcon.constants.STYPE_F03_02=21;weathergen.falcon.constants.STYPE_F03_03=22;weathergen.falcon.constants.STYPE_F03_04=23;
weathergen.falcon.constants.STYPE_F03_05=24;weathergen.falcon.constants.STYPE_F03_OBJ=19;weathergen.falcon.constants.STYPE_R03_01=15;weathergen.falcon.constants.STYPE_R03_02=16;weathergen.falcon.constants.STYPE_R03_03=17;weathergen.falcon.constants.STYPE_R03_04=18;weathergen.falcon.constants.STYPE_R03_05=19;weathergen.falcon.constants.STYPE_R03_06=20;weathergen.falcon.constants.STYPE_R03_07=21;weathergen.falcon.constants.STYPE_R03_OBJ=3;weathergen.falcon.constants.STYPE_NUM380=2;
weathergen.falcon.constants.STYPE_NUM270=3;weathergen.falcon.constants.STYPE_TAIL_GUN=6;weathergen.falcon.constants.STYPE_ADMIN02=2;weathergen.falcon.constants.STYPE_CTR01=3;weathergen.falcon.constants.STYPE_DEPO03=1;weathergen.falcon.constants.STYPE_R02OVER=2;weathergen.falcon.constants.STYPE_TAXIS02=4;weathergen.falcon.constants.STYPE_R03_NPGC=18;weathergen.falcon.constants.STYPE_R03_PGA=17;weathergen.falcon.constants.STYPE_R03_PGB=19;weathergen.falcon.constants.STYPE_R03_PGC=20;
weathergen.falcon.constants.STYPE_TAXIS03L=5;weathergen.falcon.constants.STYPE_TAXIS03U=6;weathergen.falcon.constants.STYPE_SUNAN=6;weathergen.falcon.constants.STYPE_F02_03=25;weathergen.falcon.constants.STYPE_SEOULAFB=7;weathergen.falcon.constants.STYPE_HNGR05=11;weathergen.falcon.constants.STYPE_R04AGA=21;weathergen.falcon.constants.STYPE_R04AGB=22;weathergen.falcon.constants.STYPE_R04AGC=23;weathergen.falcon.constants.STYPE_R04BGA=24;weathergen.falcon.constants.STYPE_R04BGB=25;
weathergen.falcon.constants.STYPE_R04BGC=26;weathergen.falcon.constants.STYPE_TAXIS04=7;weathergen.falcon.constants.STYPE_LANDL=27;weathergen.falcon.constants.STYPE_GEN_AFB=8;weathergen.falcon.constants.STYPE_NUM160=1;weathergen.falcon.constants.STYPE_RV82A=28;weathergen.falcon.constants.STYPE_RV82B=29;weathergen.falcon.constants.STYPE_RV82C=30;weathergen.falcon.constants.STYPE_TAXIS05=8;weathergen.falcon.constants.STYPE_CTR03=4;weathergen.falcon.constants.STYPE_KIMPO=9;
weathergen.falcon.constants.STYPE_TAXIS06=9;weathergen.falcon.constants.STYPE_R06RGA=31;weathergen.falcon.constants.STYPE_R06RGB=32;weathergen.falcon.constants.STYPE_R06RGC=33;weathergen.falcon.constants.STYPE_R06LGA=34;weathergen.falcon.constants.STYPE_R06LGB=35;weathergen.falcon.constants.STYPE_R06LGC=36;weathergen.falcon.constants.STYPE_FLAND=37;weathergen.falcon.constants.STYPE_BLDG01=1;weathergen.falcon.constants.STYPE_BLDG02=2;weathergen.falcon.constants.STYPE_BLDG03=3;
weathergen.falcon.constants.STYPE_BLDG04=4;weathergen.falcon.constants.STYPE_BLDG05=5;weathergen.falcon.constants.STYPE_BEACH=1;weathergen.falcon.constants.STYPE_BORDER=1;weathergen.falcon.constants.STYPE_FORD=1;weathergen.falcon.constants.STYPE_HILL_TOP=1;weathergen.falcon.constants.STYPE_PASS=1;weathergen.falcon.constants.STYPE_SEA=1;weathergen.falcon.constants.STYPE_ROAD=1;weathergen.falcon.constants.STYPE_40F_9CC2=9;weathergen.falcon.constants.STYPE_80F_9CC1=10;
weathergen.falcon.constants.STYPE_ECF_TOWN=10;weathergen.falcon.constants.STYPE_EC1_TOWN=11;weathergen.falcon.constants.STYPE_D35_TOWN=12;weathergen.falcon.constants.STYPE_D3A_TOWN=13;weathergen.falcon.constants.STYPE_237_TOWN=14;weathergen.falcon.constants.STYPE_23A_TOWN=15;weathergen.falcon.constants.STYPE_23B_TOWN=16;weathergen.falcon.constants.STYPE_23D_TOWN=17;weathergen.falcon.constants.STYPE_23E_TOWN=18;weathergen.falcon.constants.STYPE_247_TOWN=19;
weathergen.falcon.constants.STYPE_248_TOWN=20;weathergen.falcon.constants.STYPE_235_TOWN=21;weathergen.falcon.constants.STYPE_A35_TOWN=22;weathergen.falcon.constants.STYPE_A37_TOWN=23;weathergen.falcon.constants.STYPE_A3A_TOWN=24;weathergen.falcon.constants.STYPE_A3B_TOWN=25;weathergen.falcon.constants.STYPE_A3D_TOWN=26;weathergen.falcon.constants.STYPE_A3E_TOWN=27;weathergen.falcon.constants.STYPE_A47_TOWN=28;weathergen.falcon.constants.STYPE_A48_TOWN=29;
weathergen.falcon.constants.STYPE_C2F_TOWN=30;weathergen.falcon.constants.STYPE_D38_TOWN=31;weathergen.falcon.constants.STYPE_SHOP7=7;weathergen.falcon.constants.STYPE_234_VILLAGE=7;weathergen.falcon.constants.STYPE_D39_VILLAGE=8;weathergen.falcon.constants.STYPE_JA3F=6;weathergen.falcon.constants.STYPE_324_VILLAGE=9;weathergen.falcon.constants.STYPE_J324=7;weathergen.falcon.constants.STYPE_40FBURB1=6;weathergen.falcon.constants.STYPE_835BURB1=7;weathergen.falcon.constants.STYPE_80FBURB1=11;
weathergen.falcon.constants.STYPE_40F_9CC1=23;weathergen.falcon.constants.STYPE_80F_9CC2=8;weathergen.falcon.constants.STYPE_J40B=8;weathergen.falcon.constants.STYPE_J435=9;weathergen.falcon.constants.STYPE_J439=10;weathergen.falcon.constants.STYPE_J444=11;weathergen.falcon.constants.STYPE_J446=12;weathergen.falcon.constants.STYPE_J83A=13;weathergen.falcon.constants.STYPE_J844=14;weathergen.falcon.constants.STYPE_23B_VILLAGE=15;weathergen.falcon.constants.STYPE_23D_VILLAGE=16;
weathergen.falcon.constants.STYPE_23E_VILLAGE=17;weathergen.falcon.constants.STYPE_435BURB1=16;weathergen.falcon.constants.STYPE_A35_VILLAGE=18;weathergen.falcon.constants.STYPE_437BURB1=19;weathergen.falcon.constants.STYPE_43BBURB1=17;weathergen.falcon.constants.STYPE_446_TOWN=32;weathergen.falcon.constants.STYPE_A37_VILLAGE=20;weathergen.falcon.constants.STYPE_A3A_VILLAGE=21;weathergen.falcon.constants.STYPE_A3B_VILLAGE=22;weathergen.falcon.constants.STYPE_A3D_VILLAGE=23;
weathergen.falcon.constants.STYPE_A3F_VILLAGE=24;weathergen.falcon.constants.STYPE_D35_VILLAGE=6;weathergen.falcon.constants.STYPE_D3A_VILLAGE=5;weathergen.falcon.constants.STYPE_D3B_VILLAGE=4;weathergen.falcon.constants.STYPE_D3E_VILLAGE=3;weathergen.falcon.constants.STYPE_D3F_VILLAGE=2;weathergen.falcon.constants.STYPE_D37_VILLAGE=1;weathergen.falcon.constants.STYPE_30F_9CC1=18;weathergen.falcon.constants.STYPE_307_TOWN=37;weathergen.falcon.constants.STYPE_83ABURB1=15;
weathergen.falcon.constants.STYPE_ECFBURB1=13;weathergen.falcon.constants.STYPE_237BURB1=14;weathergen.falcon.constants.STYPE_237_VILLAGE=13;weathergen.falcon.constants.STYPE_D38_VILLAGE=14;weathergen.falcon.constants.STYPE_C2FBURB1=15;weathergen.falcon.constants.STYPE_A3E_VILLAGE=10;weathergen.falcon.constants.STYPE_235_VILLAGE=11;weathergen.falcon.constants.STYPE_23A_VILLAGE=12;weathergen.falcon.constants.STYPE_23ABURB1=12;weathergen.falcon.constants.STYPE_307BURB1=2;
weathergen.falcon.constants.STYPE_30BBURB1=3;weathergen.falcon.constants.STYPE_30D_TOWN=33;weathergen.falcon.constants.STYPE_30DBURB1=19;weathergen.falcon.constants.STYPE_30E_TOWN=34;weathergen.falcon.constants.STYPE_30EBURB1=20;weathergen.falcon.constants.STYPE_E8B_TOWN=35;weathergen.falcon.constants.STYPE_E8BBURB1=21;weathergen.falcon.constants.STYPE_E8E_TOWN=36;weathergen.falcon.constants.STYPE_E8EBURB1=22;weathergen.falcon.constants.STYPE_30FBURB1=1;weathergen.falcon.constants.STYPE_JA35=16;
weathergen.falcon.constants.STYPE_JA37=17;weathergen.falcon.constants.STYPE_JA3A=18;weathergen.falcon.constants.STYPE_JA3B=19;weathergen.falcon.constants.STYPE_JA3D=20;weathergen.falcon.constants.STYPE_JA3E=21;weathergen.falcon.constants.STYPE_JD37=22;weathergen.falcon.constants.STYPE_JD39=23;weathergen.falcon.constants.STYPE_JD3B=24;weathergen.falcon.constants.STYPE_JD3D=25;weathergen.falcon.constants.STYPE_JD3E=26;weathergen.falcon.constants.STYPE_JEC1=27;
weathergen.falcon.constants.STYPE_EE7BURB1=25;weathergen.falcon.constants.STYPE_EE4BURB1=26;weathergen.falcon.constants.STYPE_303BURB1=27;weathergen.falcon.constants.STYPE_B27BURB1=28;weathergen.falcon.constants.STYPE_B2BBURB1=29;weathergen.falcon.constants.STYPE_B2B_TOWN=38;weathergen.falcon.constants.STYPE_B2FBURB1=30;weathergen.falcon.constants.STYPE_B2F_TOWN=39;weathergen.falcon.constants.STYPE_C27BURB1=31;weathergen.falcon.constants.STYPE_C2ABURB1=32;
weathergen.falcon.constants.STYPE_C2BBURB1=33;weathergen.falcon.constants.STYPE_E8FBURB1=34;weathergen.falcon.constants.STYPE_EC2BURB1=35;weathergen.falcon.constants.STYPE_EC5BURB1=36;weathergen.falcon.constants.STYPE_ECABURB1=37;weathergen.falcon.constants.STYPE_ECDBURB1=38;weathergen.falcon.constants.STYPE_ECEBURB1=39;weathergen.falcon.constants.STYPE_EEDBURB1=40;weathergen.falcon.constants.STYPE_EEFBURB1=41;weathergen.falcon.constants.STYPE_EED_TOWN=8;
weathergen.falcon.constants.STYPE_EEF_TOWN=9;weathergen.falcon.constants.STYPE_FLAND27=38;weathergen.falcon.constants.STYPE_AB5_THP1=34;weathergen.falcon.constants.STYPE_AB5_THP2A=35;weathergen.falcon.constants.STYPE_AB5_THP3=36;weathergen.falcon.constants.STYPE_AB5_THP4=37;weathergen.falcon.constants.STYPE_AB5_THP7=38;weathergen.falcon.constants.STYPE_AB5_TMD1=39;weathergen.falcon.constants.STYPE_AB5_TMD2=40;weathergen.falcon.constants.STYPE_AB5_TMD3=41;
weathergen.falcon.constants.STYPE_AB5_TMD4=42;weathergen.falcon.constants.STYPE_AB5_THP5=43;weathergen.falcon.constants.STYPE_AB5_THP6=44;weathergen.falcon.constants.STYPE_AB5_THP2B=45;weathergen.falcon.constants.STYPE_A52ARMB=2;weathergen.falcon.constants.STYPE_252ARMB=3;weathergen.falcon.constants.STYPE_251ARMB=4;weathergen.falcon.constants.STYPE_A51ARMB=5;weathergen.falcon.constants.STYPE_D52ARMB=6;weathergen.falcon.constants.STYPE_D51ARMB=7;weathergen.falcon.constants.STYPE_24FSAM=7;
weathergen.falcon.constants.STYPE_24ESAM=2;weathergen.falcon.constants.STYPE_CRANE1=4;weathergen.falcon.constants.STYPE_DAEWOO=5;weathergen.falcon.constants.STYPE_BUNKER3=3;weathergen.falcon.constants.STYPE_D4FSAM=3;weathergen.falcon.constants.STYPE_D4ESAM=4;weathergen.falcon.constants.STYPE_A4FSAM=5;weathergen.falcon.constants.STYPE_A4ESAM=6;weathergen.falcon.constants.STYPE_DOCK07=6;weathergen.falcon.constants.STYPE_00CPORT=3;weathergen.falcon.constants.STYPE_66DPORT=4;
weathergen.falcon.constants.STYPE_731PORT=5;weathergen.falcon.constants.STYPE_795PORT=6;weathergen.falcon.constants.STYPE_79APORT=7;weathergen.falcon.constants.STYPE_79BPORT=8;weathergen.falcon.constants.STYPE_79DPORT=9;weathergen.falcon.constants.STYPE_79EPORT=10;weathergen.falcon.constants.STYPE_7A0PORT=11;weathergen.falcon.constants.STYPE_DOCK04=7;weathergen.falcon.constants.STYPE_DOCK05=8;weathergen.falcon.constants.STYPE_7A1PORT=12;weathergen.falcon.constants.STYPE_7A2PORT=13;
weathergen.falcon.constants.STYPE_7A5PORT=14;weathergen.falcon.constants.STYPE_7A6PORT=15;weathergen.falcon.constants.STYPE_304CHEM=4;weathergen.falcon.constants.STYPE_40CCHEM=1;weathergen.falcon.constants.STYPE_80ACHEM=5;weathergen.falcon.constants.STYPE_817CHEM=6;weathergen.falcon.constants.STYPE_84DCHEM=7;weathergen.falcon.constants.STYPE_C28CHEM=8;weathergen.falcon.constants.STYPE_EC1CHEM=9;weathergen.falcon.constants.STYPE_EC2CHEM=10;weathergen.falcon.constants.STYPE_EC4CHEM=11;
weathergen.falcon.constants.STYPE_41EREFIN=4;weathergen.falcon.constants.STYPE_436REFIN=2;weathergen.falcon.constants.STYPE_807REFIN=3;weathergen.falcon.constants.STYPE_EC2REFIN=5;weathergen.falcon.constants.STYPE_ECAREFIN=6;weathergen.falcon.constants.STYPE_14DNUKE1=6;weathergen.falcon.constants.STYPE_14DNUKE2=1;weathergen.falcon.constants.STYPE_79BNUKE1=2;weathergen.falcon.constants.STYPE_805NUKE1=3;weathergen.falcon.constants.STYPE_817NUKE1=4;weathergen.falcon.constants.STYPE_84BNUKE1=5;
weathergen.falcon.constants.STYPE_D35NUKE1=7;weathergen.falcon.constants.STYPE_D3ANUKE1=8;weathergen.falcon.constants.STYPE_D3BNUKE1=9;weathergen.falcon.constants.STYPE_D3CNUKE2=10;weathergen.falcon.constants.STYPE_D5ANUKE1=11;weathergen.falcon.constants.STYPE_D5ANUKE2=12;weathergen.falcon.constants.STYPE_D89NUKE1=13;weathergen.falcon.constants.STYPE_DA7NUKE1=14;weathergen.falcon.constants.STYPE_EE1NUKE1=15;weathergen.falcon.constants.STYPE_20_02ABASE=10;
weathergen.falcon.constants.STYPE_02_20ABASE2=2;weathergen.falcon.constants.STYPE_20_02ABASE2=1;weathergen.falcon.constants.STYPE_05_23ABASE2=10;weathergen.falcon.constants.STYPE_34_16ABASE2=3;weathergen.falcon.constants.STYPE_MFLAME_S=2;weathergen.falcon.constants.STYPE_MFLAME_L=1;weathergen.falcon.constants.STYPE_01_19ABASE=4;weathergen.falcon.constants.STYPE_02_20ABASE=11;weathergen.falcon.constants.STYPE_08_26ABASE=12;weathergen.falcon.constants.STYPE_11_29ABASE=13;
weathergen.falcon.constants.STYPE_12_30ABASE=14;weathergen.falcon.constants.STYPE_20_02ABASE1=15;weathergen.falcon.constants.STYPE_21_03ABASE=16;weathergen.falcon.constants.STYPE_23_05ABASE=17;weathergen.falcon.constants.STYPE_26_08ABASE=18;weathergen.falcon.constants.STYPE_30_12ABASE=19;weathergen.falcon.constants.STYPE_32_14ABASE=20;weathergen.falcon.constants.STYPE_34_16ABASE=21;weathergen.falcon.constants.STYPE_36_18ABASE=22;weathergen.falcon.constants.STYPE_THP=10;
weathergen.falcon.constants.STYPE_THPX=11;weathergen.falcon.constants.STYPE_THA=12;weathergen.falcon.constants.STYPE_THB=13;weathergen.falcon.constants.STYPE_THC=14;weathergen.falcon.constants.STYPE_THD=15;weathergen.falcon.constants.STYPE_THE=16;weathergen.falcon.constants.STYPE_THF=17;weathergen.falcon.constants.STYPE_THG=18;weathergen.falcon.constants.STYPE_ABLTL1=19;weathergen.falcon.constants.STYPE_AB1TL2=20;weathergen.falcon.constants.STYPE_AB1TL3=21;
weathergen.falcon.constants.STYPE_AB1TL4=22;weathergen.falcon.constants.STYPE_AB1TL5=23;weathergen.falcon.constants.STYPE_AB1TL7=24;weathergen.falcon.constants.STYPE_AB1TL8=1;weathergen.falcon.constants.STYPE_AB7TMD1=25;weathergen.falcon.constants.STYPE_AB1TMD2=2;weathergen.falcon.constants.STYPE_AB1TMD3=26;weathergen.falcon.constants.STYPE_AB5TL1=27;weathergen.falcon.constants.STYPE_AB5TL2=28;weathergen.falcon.constants.STYPE_AB5TL3=29;weathergen.falcon.constants.STYPE_AB5TL4=30;
weathergen.falcon.constants.STYPE_AB5TL5=31;weathergen.falcon.constants.STYPE_AB6TMD1=32;weathergen.falcon.constants.STYPE_AB6TMD2=33;weathergen.falcon.constants.STYPE_AB6TMD3=34;weathergen.falcon.constants.STYPE_AB6TMD4=35;weathergen.falcon.constants.STYPE_AB6TL3=36;weathergen.falcon.constants.STYPE_AB6UTMD2=38;weathergen.falcon.constants.STYPE_AB6UTMD3=39;weathergen.falcon.constants.STYPE_AB6UTL2=40;weathergen.falcon.constants.STYPE_AB8TMD1=42;weathergen.falcon.constants.STYPE_AB7TMD2=43;
weathergen.falcon.constants.STYPE_AB7TMD3=41;weathergen.falcon.constants.STYPE_AB9TMD1=45;weathergen.falcon.constants.STYPE_AB9TMD2=46;weathergen.falcon.constants.STYPE_AB9TMD3=47;weathergen.falcon.constants.STYPE_AB9TMD4=57;weathergen.falcon.constants.STYPE_AB9TL1=48;weathergen.falcon.constants.STYPE_AB9TL2=49;weathergen.falcon.constants.STYPE_AB9TL4=50;weathergen.falcon.constants.STYPE_AB9TL3=51;weathergen.falcon.constants.STYPE_AB9TL6=52;weathergen.falcon.constants.STYPE_AB9TL5=7;
weathergen.falcon.constants.STYPE_R03PGD=39;weathergen.falcon.constants.STYPE_R06RGD=40;weathergen.falcon.constants.STYPE_AB5TMD1=54;weathergen.falcon.constants.STYPE_AB5TMD2=55;weathergen.falcon.constants.STYPE_AB5TMD3=56;weathergen.falcon.constants.STYPE_SUWON=23;weathergen.falcon.constants.STYPE_AB6TL1=9;weathergen.falcon.constants.STYPE_AB6UTMD1=53;weathergen.falcon.constants.STYPE_AB7TL1=37;weathergen.falcon.constants.STYPE_AB1TL1=44;weathergen.falcon.constants.STYPE_AB8TMD2=19;
weathergen.falcon.constants.STYPE_AB6UTL1=8;weathergen.falcon.constants.STYPE_AIRSTRIPH=2;weathergen.falcon.constants.STYPE_HWYTAX1=1;weathergen.falcon.constants.STYPE_231FACT=20;weathergen.falcon.constants.STYPE_232FACT=2;weathergen.falcon.constants.STYPE_238FACT=1;weathergen.falcon.constants.STYPE_305FACT=3;weathergen.falcon.constants.STYPE_322FACT=9;weathergen.falcon.constants.STYPE_324FACT=10;weathergen.falcon.constants.STYPE_328FACT=11;weathergen.falcon.constants.STYPE_403FACT=12;
weathergen.falcon.constants.STYPE_405FACT=13;weathergen.falcon.constants.STYPE_40AFACT=14;weathergen.falcon.constants.STYPE_F02_01=26;weathergen.falcon.constants.STYPE_F02_02=2;weathergen.falcon.constants.STYPE_F02_04=3;weathergen.falcon.constants.STYPE_F02_05=1;weathergen.falcon.constants.STYPE_WHSE06=8;weathergen.falcon.constants.STYPE_40CFACT=15;weathergen.falcon.constants.STYPE_417FACT=16;weathergen.falcon.constants.STYPE_418FACT=17;weathergen.falcon.constants.STYPE_41EFACT=5;
weathergen.falcon.constants.STYPE_444FACT=6;weathergen.falcon.constants.STYPE_446FACT=7;weathergen.falcon.constants.STYPE_44BFACT=8;weathergen.falcon.constants.STYPE_44DFACT=21;weathergen.falcon.constants.STYPE_79CFACT=22;weathergen.falcon.constants.STYPE_7A0FACT=23;weathergen.falcon.constants.STYPE_801FACT=24;weathergen.falcon.constants.STYPE_802FACT=25;weathergen.falcon.constants.STYPE_803FACT=26;weathergen.falcon.constants.STYPE_805FACT=27;weathergen.falcon.constants.STYPE_807FACT=28;
weathergen.falcon.constants.STYPE_80AFACT=29;weathergen.falcon.constants.STYPE_80BFACT=30;weathergen.falcon.constants.STYPE_817FACT=31;weathergen.falcon.constants.STYPE_81EFACT=32;weathergen.falcon.constants.STYPE_844FACT=33;weathergen.falcon.constants.STYPE_846FACT=34;weathergen.falcon.constants.STYPE_84BFACT=35;weathergen.falcon.constants.STYPE_84DFACT=36;weathergen.falcon.constants.STYPE_B28FACT=37;weathergen.falcon.constants.STYPE_B2CFACT=38;weathergen.falcon.constants.STYPE_C21FACT=39;
weathergen.falcon.constants.STYPE_C22FACT=40;weathergen.falcon.constants.STYPE_C23FACT=41;weathergen.falcon.constants.STYPE_C24FACT=42;weathergen.falcon.constants.STYPE_C25FACT=43;weathergen.falcon.constants.STYPE_C28FACT=44;weathergen.falcon.constants.STYPE_C2BFACT=45;weathergen.falcon.constants.STYPE_C2CFACT=46;weathergen.falcon.constants.STYPE_D35FACT=47;weathergen.falcon.constants.STYPE_D3AFACT=48;weathergen.falcon.constants.STYPE_DA8FACT=49;weathergen.falcon.constants.STYPE_E81FACT=50;
weathergen.falcon.constants.STYPE_E83FACT=51;weathergen.falcon.constants.STYPE_E8AFACT=52;weathergen.falcon.constants.STYPE_E8CFACT=53;weathergen.falcon.constants.STYPE_EC1FACT=54;weathergen.falcon.constants.STYPE_EC4FACT=55;weathergen.falcon.constants.STYPE_EC5FACT=56;weathergen.falcon.constants.STYPE_ECCFACT=57;weathergen.falcon.constants.STYPE_EE1FACT=58;weathergen.falcon.constants.STYPE_EE2FACT=60;weathergen.falcon.constants.STYPE_EE5FACT=59;weathergen.falcon.constants.STYPE_EE8FACT=61;
weathergen.falcon.constants.STYPE_21DUGFACT=62;weathergen.falcon.constants.STYPE_UGNDFACT=27;weathergen.falcon.constants.STYPE_204UGNDFACT=63;weathergen.falcon.constants.STYPE_23CUGNDFACT=64;weathergen.falcon.constants.STYPE_202UGNDFACT=65;weathergen.falcon.constants.STYPE_20FUGNDFACT=66;weathergen.falcon.constants.STYPE_21CUGNDFACT=67;weathergen.falcon.constants.STYPE_FENCE1=3;weathergen.falcon.constants.STYPE_FENCE2=4;weathergen.falcon.constants.STYPE_FENCE3=5;
weathergen.falcon.constants.STYPE_FENCE4=6;weathergen.falcon.constants.STYPE_2A6DMZ=3;weathergen.falcon.constants.STYPE_2A4DMZ=4;weathergen.falcon.constants.STYPE_2ADDMZ=2;weathergen.falcon.constants.STYPE_2ABDMZ=5;weathergen.falcon.constants.STYPE_DA8PP=5;weathergen.falcon.constants.STYPE_40CPP=6;weathergen.falcon.constants.STYPE_40APP=7;weathergen.falcon.constants.STYPE_DA7PP=8;weathergen.falcon.constants.STYPE_44BPP=9;weathergen.falcon.constants.STYPE_EE2PP=10;
weathergen.falcon.constants.STYPE_322PP=11;weathergen.falcon.constants.STYPE_235PP=12;weathergen.falcon.constants.STYPE_PP01_02=11;weathergen.falcon.constants.STYPE_PP01_03=12;weathergen.falcon.constants.STYPE_EE2NUKE1=16;weathergen.falcon.constants.STYPE_DUGNDFACT=4;weathergen.falcon.constants.STYPE_RWYDIST1=6;weathergen.falcon.constants.STYPE_RWYDIST2=5;weathergen.falcon.constants.STYPE_RWYDIST3=4;weathergen.falcon.constants.STYPE_RWYDIST4=3;weathergen.falcon.constants.STYPE_MAYDAY=1;
weathergen.falcon.constants.STYPE_KOEX=31;weathergen.falcon.constants.STYPE_ARCH=1;weathergen.falcon.constants.STYPE_KORYO=3;weathergen.falcon.constants.STYPE_STOWER=5;weathergen.falcon.constants.STYPE_RYUGYONG=4;weathergen.falcon.constants.STYPE_TANKER=1;weathergen.falcon.constants.STYPE_OLY1=2;weathergen.falcon.constants.STYPE_OLY2=3;weathergen.falcon.constants.STYPE_OLY3=4;weathergen.falcon.constants.STYPE_OLY4=5;weathergen.falcon.constants.STYPE_OLY5=6;
weathergen.falcon.constants.STYPE_STADOBJ=36;weathergen.falcon.constants.STYPE_PANMUN=37;weathergen.falcon.constants.STYPE_PMJ1=2;weathergen.falcon.constants.STYPE_PMJ2=3;weathergen.falcon.constants.STYPE_DMZSFNC=7;weathergen.falcon.constants.STYPE_40FKOEX=38;weathergen.falcon.constants.STYPE_80FSTARCH=39;weathergen.falcon.constants.STYPE_STARCH=2;weathergen.falcon.constants.STYPE_KIM2=3;weathergen.falcon.constants.STYPE_NBBRD1=8;weathergen.falcon.constants.STYPE_NBBRD2=9;
weathergen.falcon.constants.STYPE_80FKYORO=40;weathergen.falcon.constants.STYPE_CLUBBLK=5;weathergen.falcon.constants.STYPE_80FRYUGNG=41;weathergen.falcon.constants.STYPE_5F0TOWER=42;weathergen.falcon.constants.STYPE_MAYDAYOBJ=43;weathergen.falcon.constants.STYPE_D35ARMB=8;weathergen.falcon.constants.STYPE_D35DEPOT=3;weathergen.falcon.constants.STYPE_D3AARMB=9;weathergen.falcon.constants.STYPE_D3ADEPOT=10;weathergen.falcon.constants.STYPE_D3FBURB1=42;weathergen.falcon.constants.STYPE_141ARMB=11;
weathergen.falcon.constants.STYPE_D5CNUKE1=17;weathergen.falcon.constants.STYPE_D5ACHEM=12;weathergen.falcon.constants.STYPE_C2F_CITY=43;weathergen.falcon.constants.STYPE_307_CITY=44;weathergen.falcon.constants.STYPE_81E_CITY=45;weathergen.falcon.constants.STYPE_41E_CITY=46;weathergen.falcon.constants.STYPE_817_CITY=47;weathergen.falcon.constants.STYPE_137_TOWN=40;weathergen.falcon.constants.STYPE_137_VILLAGE=27;weathergen.falcon.constants.STYPE_137_JUNCT=28;
weathergen.falcon.constants.STYPE_12E_TOWN=41;weathergen.falcon.constants.STYPE_12D_TOWN=43;weathergen.falcon.constants.STYPE_138_TOWN=44;weathergen.falcon.constants.STYPE_127_TOWN=45;weathergen.falcon.constants.STYPE_12A_TOWN=46;weathergen.falcon.constants.STYPE_12B_TOWN=47;weathergen.falcon.constants.STYPE_125_TOWN=48;weathergen.falcon.constants.STYPE_12E_VILLAGE=28;weathergen.falcon.constants.STYPE_12D_VILLAGE=29;weathergen.falcon.constants.STYPE_138_VILLAGE=30;
weathergen.falcon.constants.STYPE_127_VILLAGE=31;weathergen.falcon.constants.STYPE_12A_VILLAGE=32;weathergen.falcon.constants.STYPE_12B_VILLAGE=33;weathergen.falcon.constants.STYPE_125_VILLAGE=34;weathergen.falcon.constants.STYPE_12E_JCT=29;weathergen.falcon.constants.STYPE_12D_JCT=30;weathergen.falcon.constants.STYPE_138_JCT=31;weathergen.falcon.constants.STYPE_127_JCT=32;weathergen.falcon.constants.STYPE_12A_JCT=33;weathergen.falcon.constants.STYPE_12B_JCT=34;
weathergen.falcon.constants.STYPE_125_JCT=35;weathergen.falcon.constants.STYPE_RUNWAY_NUM=41;weathergen.falcon.constants.STYPE_CSHIP1=2;weathergen.falcon.constants.STYPE_CSHIP2=5;weathergen.falcon.constants.STYPE_CSHIP3=6;weathergen.falcon.constants.STYPE_CSHIP4=7;weathergen.falcon.constants.STYPE_=4;weathergen.falcon.constants.STYPE_RWYLIT=5;weathergen.falcon.constants.STYPE_GRLINE=6;weathergen.falcon.constants.STYPE_YRLINE=7;weathergen.falcon.constants.STYPE_THR160=42;
weathergen.falcon.constants.STYPE_MNAVBEAC=8;weathergen.falcon.constants.STYPE_F16PIT=2;weathergen.falcon.constants.STYPE_F16PIT_MP=3;weathergen.falcon.constants.STYPE_B_131_1=154;weathergen.falcon.constants.STYPE_LB02=37;weathergen.falcon.constants.STYPE_B132_1=155;weathergen.falcon.constants.STYPE_B_784_1=156;weathergen.falcon.constants.STYPE_B_78B_1=157;weathergen.falcon.constants.STYPE_LB01=38;weathergen.falcon.constants.STYPE_LB03=39;weathergen.falcon.constants.STYPE_LB04=40;
weathergen.falcon.constants.STYPE_BRIDGE_131_2=158;weathergen.falcon.constants.STYPE_BRIDGE_131_3=159;weathergen.falcon.constants.STYPE_BRIDGE_131_4=160;weathergen.falcon.constants.STYPE_BRIDGE_132_2=161;weathergen.falcon.constants.STYPE_BRIDGE_132_3=162;weathergen.falcon.constants.STYPE_BRIDGE_132_4=163;weathergen.falcon.constants.STYPE_BRIDGE_242_1=164;weathergen.falcon.constants.STYPE_BRIDGE_241_1=6;weathergen.falcon.constants.STYPE_BRIDGE_241_2=5;
weathergen.falcon.constants.STYPE_BRIDGE_241__3=165;weathergen.falcon.constants.STYPE_BRIDGE_241_4=166;weathergen.falcon.constants.STYPE_BRIDGE_242_2=167;weathergen.falcon.constants.STYPE_BRIDGE_242__3=168;weathergen.falcon.constants.STYPE_BRIDGE_242_4=169;weathergen.falcon.constants.STYPE_BRIDGE_A42_1=170;weathergen.falcon.constants.STYPE_BRIDGE_A41_1=14;weathergen.falcon.constants.STYPE_BRIDGE_a41_2=13;weathergen.falcon.constants.STYPE_BRIDGE_a41__3=171;
weathergen.falcon.constants.STYPE_BRIDGE_a41_4=172;weathergen.falcon.constants.STYPE_BRIDGE_a42_2=173;weathergen.falcon.constants.STYPE_BRIDGE_A42__3=174;weathergen.falcon.constants.STYPE_BRIDGE_A42_4=175;weathergen.falcon.constants.STYPE_BRIDGE_D41_1=176;weathergen.falcon.constants.STYPE_BRIDGE_D41_2=177;weathergen.falcon.constants.STYPE_BRIDGE_D41__3=178;weathergen.falcon.constants.STYPE_BRIDGE_D41_4=179;weathergen.falcon.constants.STYPE_BRIDGE_D42_1=178;
weathergen.falcon.constants.STYPE_BRIDGE_D42_2=180;weathergen.falcon.constants.STYPE_BRIDGE_D42_4=181;weathergen.falcon.constants.STYPE_B2AC_1=182;weathergen.falcon.constants.STYPE_B2A3_1=183;weathergen.falcon.constants.STYPE_BD2A_1=184;weathergen.falcon.constants.STYPE_POPMENU=1;weathergen.falcon.constants.STYPE_R03OPGA=43;weathergen.falcon.constants.STYPE_R03OPGD=44;weathergen.falcon.constants.STYPE_OSANLIT=9;weathergen.falcon.constants.STYPE_THP27=58;weathergen.falcon.constants.STYPE_THP09=59;
weathergen.falcon.constants.STYPE_1RWYLIT=10;weathergen.falcon.constants.STYPE_2RWYLIT=11;weathergen.falcon.constants.STYPE_KIMPOLIT=12;weathergen.falcon.constants.STYPE_SEOULLIT=13;weathergen.falcon.constants.STYPE_SUNANLIT=14;weathergen.falcon.constants.STYPE_SUNANLIT2=15;weathergen.falcon.constants.STYPE_WONSANLIT=16;weathergen.falcon.constants.STYPE_THP01=60;weathergen.falcon.constants.STYPE_THP02=61;weathergen.falcon.constants.STYPE_THP02LR=62;weathergen.falcon.constants.STYPE_THP02RL=63;
weathergen.falcon.constants.STYPE_THP03=64;weathergen.falcon.constants.STYPE_THP05LR=65;weathergen.falcon.constants.STYPE_THP05RL=66;weathergen.falcon.constants.STYPE_THP08=67;weathergen.falcon.constants.STYPE_THP11=68;weathergen.falcon.constants.STYPE_THP12=69;weathergen.falcon.constants.STYPE_THP14=70;weathergen.falcon.constants.STYPE_THP14LR=71;weathergen.falcon.constants.STYPE_THP14RL=72;weathergen.falcon.constants.STYPE_THP15=73;weathergen.falcon.constants.STYPE_THP16=74;
weathergen.falcon.constants.STYPE_THP16LR=75;weathergen.falcon.constants.STYPE_THP16RL=76;weathergen.falcon.constants.STYPE_THP18=77;weathergen.falcon.constants.STYPE_THP19=78;weathergen.falcon.constants.STYPE_THP20=79;weathergen.falcon.constants.STYPE_THP20LR=80;weathergen.falcon.constants.STYPE_THP20RL=81;weathergen.falcon.constants.STYPE_THP21=82;weathergen.falcon.constants.STYPE_THP23LR=83;weathergen.falcon.constants.STYPE_THP23RL=84;weathergen.falcon.constants.STYPE_THP26=85;
weathergen.falcon.constants.STYPE_THP29=86;weathergen.falcon.constants.STYPE_THP30=87;weathergen.falcon.constants.STYPE_THP32=88;weathergen.falcon.constants.STYPE_THP32LR=89;weathergen.falcon.constants.STYPE_THP32RL=90;weathergen.falcon.constants.STYPE_THP33=91;weathergen.falcon.constants.STYPE_THP34=92;weathergen.falcon.constants.STYPE_THP34LR=93;weathergen.falcon.constants.STYPE_THP34RL=94;weathergen.falcon.constants.STYPE_THP36=95;weathergen.falcon.constants.STYPE_00CPORTLIT=17;
weathergen.falcon.constants.STYPE_MIRIM=25;weathergen.falcon.constants.STYPE_66DPORTLIT=18;weathergen.falcon.constants.STYPE_731PORTLIT=19;weathergen.falcon.constants.STYPE_795PORTLIT=20;weathergen.falcon.constants.STYPE_79APORTLIT=21;weathergen.falcon.constants.STYPE_79BPORTLIT=22;weathergen.falcon.constants.STYPE_79DPORTLIT=23;weathergen.falcon.constants.STYPE_79EPORTLIT=24;weathergen.falcon.constants.STYPE_7A0PORTLIT=25;weathergen.falcon.constants.STYPE_7A1PORTLIT=26;
weathergen.falcon.constants.STYPE_7A2PORTLIT=27;weathergen.falcon.constants.STYPE_7A5PORTLIT=28;weathergen.falcon.constants.STYPE_7A6PORTLIT=29;weathergen.falcon.constants.STYPE_C0FARMB=10;weathergen.falcon.constants.STYPE_D39ARMB=12;weathergen.falcon.constants.STYPE_142ARMB=13;weathergen.falcon.constants.STYPE_A0FARMB=14;weathergen.falcon.constants.STYPE_A35ARMB=15;weathergen.falcon.constants.STYPE_322DEPOT=4;weathergen.falcon.constants.STYPE_402DEPOT=5;
weathergen.falcon.constants.STYPE_40CDEPOT=6;weathergen.falcon.constants.STYPE_84BDEPOT=7;weathergen.falcon.constants.STYPE_ECADEPOT=8;weathergen.falcon.constants.STYPE_D31DEPOT=9;weathergen.falcon.constants.STYPE_D36DEPOT=11;weathergen.falcon.constants.STYPE_D3BDEPOT=5;weathergen.falcon.constants.STYPE_D3CDEPOT=12;weathergen.falcon.constants.STYPE_D79DEPOT=13;weathergen.falcon.constants.STYPE_125DEPOT=14;weathergen.falcon.constants.STYPE_126DEPOT=15;weathergen.falcon.constants.STYPE_12DDEPOT=16;
weathergen.falcon.constants.STYPE_A35DEPOT=17;weathergen.falcon.constants.STYPE_A3BDEPOT=18;weathergen.falcon.constants.STYPE_D35HQ=2;weathergen.falcon.constants.STYPE_D5AHQ=3;weathergen.falcon.constants.STYPE_14CHQ=4;weathergen.falcon.constants.STYPE_FEFRADAR=2;weathergen.falcon.constants.STYPE_D35RADAR=3;weathergen.falcon.constants.STYPE_D3ARADAR=4;weathergen.falcon.constants.STYPE_D48RADAR=5;weathergen.falcon.constants.STYPE_20FRADAR=6;weathergen.falcon.constants.STYPE_DEPOTONE=9;
weathergen.falcon.constants.STYPE_21BRADAR=7;weathergen.falcon.constants.STYPE_RTOWER01=6;weathergen.falcon.constants.STYPE_21CRADAR=8;weathergen.falcon.constants.STYPE_2DFRADAR=9;weathergen.falcon.constants.STYPE_F00RADAR=10;weathergen.falcon.constants.STYPE_F0FRADAR=11;weathergen.falcon.constants.STYPE_A34RADAR=12;weathergen.falcon.constants.STYPE_A3ERADAR=13;weathergen.falcon.constants.STYPE_BA2RADAR=14;weathergen.falcon.constants.STYPE_BA7RADAR=15;weathergen.falcon.constants.STYPE_BCFRADAR=16;
weathergen.falcon.constants.STYPE_DA9RADAR=17;weathergen.falcon.constants.STYPE_PYONGNUKE=18;weathergen.falcon.constants.STYPE_6CEPORT=16;weathergen.falcon.constants.STYPE_6CCPORT=17;weathergen.falcon.constants.STYPE_798PORT=18;weathergen.falcon.constants.STYPE_FUELTRUCK=1;weathergen.falcon.constants.STYPE_SM977=2;weathergen.falcon.constants.STYPE_APU=3;weathergen.falcon.constants.STYPE_WTRAILER=4;weathergen.falcon.constants.STYPE_WLOADER=5;weathergen.falcon.constants.SPTYPE_20mmAAA=2;
weathergen.falcon.constants.SPTYPE_P3=1;weathergen.falcon.constants.SPTYPE_S3=2;weathergen.falcon.constants.SPTYPE_A10=1;weathergen.falcon.constants.SPTYPE_A37B=2;weathergen.falcon.constants.SPTYPE_A6E=3;weathergen.falcon.constants.SPTYPE_AC130U=4;weathergen.falcon.constants.SPTYPE_F4G=5;weathergen.falcon.constants.SPTYPE_FB111=6;weathergen.falcon.constants.SPTYPE_HARRIER=7;weathergen.falcon.constants.SPTYPE_IL28=8;weathergen.falcon.constants.SPTYPE_MIG27=9;weathergen.falcon.constants.SPTYPE_Q5=10;
weathergen.falcon.constants.SPTYPE_SU24=11;weathergen.falcon.constants.SPTYPE_SU25=12;weathergen.falcon.constants.SPTYPE_SU7=13;weathergen.falcon.constants.SPTYPE_AH1=1;weathergen.falcon.constants.SPTYPE_AH64=2;weathergen.falcon.constants.SPTYPE_AH64D=3;weathergen.falcon.constants.SPTYPE_AH66=4;weathergen.falcon.constants.SPTYPE_KA50=5;weathergen.falcon.constants.SPTYPE_MI24=6;weathergen.falcon.constants.SPTYPE_MI28=7;weathergen.falcon.constants.SPTYPE_MI8=8;
weathergen.falcon.constants.SPTYPE_A50=1;weathergen.falcon.constants.SPTYPE_E2C=2;weathergen.falcon.constants.SPTYPE_E3=3;weathergen.falcon.constants.SPTYPE_B1B=1;weathergen.falcon.constants.SPTYPE_B2=2;weathergen.falcon.constants.SPTYPE_B52G=3;weathergen.falcon.constants.SPTYPE_TU16=4;weathergen.falcon.constants.SPTYPE_TU160=5;weathergen.falcon.constants.SPTYPE_TU22=6;weathergen.falcon.constants.SPTYPE_TU95=7;weathergen.falcon.constants.SPTYPE_EA6B=1;weathergen.falcon.constants.SPTYPE_EF111=2;
weathergen.falcon.constants.SPTYPE_F14A=2;weathergen.falcon.constants.SPTYPE_F15C=3;weathergen.falcon.constants.SPTYPE_F22=4;weathergen.falcon.constants.SPTYPE_F4E=5;weathergen.falcon.constants.SPTYPE_F5E=6;weathergen.falcon.constants.SPTYPE_J7=7;weathergen.falcon.constants.SPTYPE_J8=8;weathergen.falcon.constants.SPTYPE_MIG19=10;weathergen.falcon.constants.SPTYPE_MIG21=11;weathergen.falcon.constants.SPTYPE_MIG23MS=12;weathergen.falcon.constants.SPTYPE_MIG25=13;
weathergen.falcon.constants.SPTYPE_MIG29=14;weathergen.falcon.constants.SPTYPE_MIG31=15;weathergen.falcon.constants.SPTYPE_SU15=9;weathergen.falcon.constants.SPTYPE_SU27=1;weathergen.falcon.constants.SPTYPE_F117=1;weathergen.falcon.constants.SPTYPE_F15E=2;weathergen.falcon.constants.SPTYPE_F16C=3;weathergen.falcon.constants.SPTYPE_F18C=4;weathergen.falcon.constants.SPTYPE_J5=5;weathergen.falcon.constants.SPTYPE_E8C=1;weathergen.falcon.constants.SPTYPE_OV10D=1;
weathergen.falcon.constants.SPTYPE_RC135=2;weathergen.falcon.constants.SPTYPE_SR71=3;weathergen.falcon.constants.SPTYPE_TR1=4;weathergen.falcon.constants.SPTYPE_TR2=5;weathergen.falcon.constants.SPTYPE_U2=6;weathergen.falcon.constants.SPTYPE_MD500=1;weathergen.falcon.constants.SPTYPE_OH58D=2;weathergen.falcon.constants.SPTYPE_IL78=1;weathergen.falcon.constants.SPTYPE_KC10=2;weathergen.falcon.constants.SPTYPE_KC130R=3;weathergen.falcon.constants.SPTYPE_KC135=4;
weathergen.falcon.constants.SPTYPE_TU16N=5;weathergen.falcon.constants.SPTYPE_AN12=1;weathergen.falcon.constants.SPTYPE_AN124=2;weathergen.falcon.constants.SPTYPE_AN2=3;weathergen.falcon.constants.SPTYPE_AN225=4;weathergen.falcon.constants.SPTYPE_AN70=5;weathergen.falcon.constants.SPTYPE_AN72=6;weathergen.falcon.constants.SPTYPE_C130=7;weathergen.falcon.constants.SPTYPE_C141=8;weathergen.falcon.constants.SPTYPE_C17=9;weathergen.falcon.constants.SPTYPE_C5=10;
weathergen.falcon.constants.SPTYPE_IL76M=11;weathergen.falcon.constants.SPTYPE_MV22=12;weathergen.falcon.constants.SPTYPE_Y8=13;weathergen.falcon.constants.SPTYPE_CH46=1;weathergen.falcon.constants.SPTYPE_CH47=2;weathergen.falcon.constants.SPTYPE_CH53=3;weathergen.falcon.constants.SPTYPE_MI26=4;weathergen.falcon.constants.SPTYPE_UH1N=5;weathergen.falcon.constants.SPTYPE_UH60L=6;weathergen.falcon.constants.SPTYPE_SACRAMENTO=1;weathergen.falcon.constants.SPTYPE_FAGLST=1;
weathergen.falcon.constants.SPTYPE_120mmAP=28;weathergen.falcon.constants.SPTYPE_120mmHEAT=29;weathergen.falcon.constants.SPTYPE_105mm=1;weathergen.falcon.constants.SPTYPE_152mm=2;weathergen.falcon.constants.SPTYPE_73mm=3;weathergen.falcon.constants.SPTYPE_BOFORS=4;weathergen.falcon.constants.SPTYPE_BLU109B=1;weathergen.falcon.constants.SPTYPE_BLU27=2;weathergen.falcon.constants.SPTYPE_CBU52BB=3;weathergen.falcon.constants.SPTYPE_CBU58AB=4;weathergen.falcon.constants.SPTYPE_CBU87=5;
weathergen.falcon.constants.SPTYPE_CBU89B=6;weathergen.falcon.constants.SPTYPE_DURANDAL=7;weathergen.falcon.constants.SPTYPE_MK20ROCKEYE=8;weathergen.falcon.constants.SPTYPE_GBU10AB=1;weathergen.falcon.constants.SPTYPE_GBU12B=2;weathergen.falcon.constants.SPTYPE_GBU24B=3;weathergen.falcon.constants.SPTYPE_GPS_JSOW1=1;weathergen.falcon.constants.SPTYPE_GPS_JSOW2=2;weathergen.falcon.constants.SPTYPE_GPS_JSOW3=3;weathergen.falcon.constants.SPTYPE_GPS_JSOW4=4;
weathergen.falcon.constants.SPTYPE_GPS_JSOW5=5;weathergen.falcon.constants.SPTYPE_GPS_JDAM1=6;weathergen.falcon.constants.SPTYPE_GPS_JDAM2=7;weathergen.falcon.constants.SPTYPE_MK82=1;weathergen.falcon.constants.SPTYPE_MK82SNAKEYE=2;weathergen.falcon.constants.SPTYPE_MK84=3;weathergen.falcon.constants.SPTYPE_MK84AIR=4;weathergen.falcon.constants.SPTYPE_LOWALT=1;weathergen.falcon.constants.SPTYPE_CV67KENNEDY=1;weathergen.falcon.constants.SPTYPE_CG47=1;
weathergen.falcon.constants.SPTYPE_DECK_CLOUD1=1;weathergen.falcon.constants.SPTYPE_DEPTHCHARGE=1;weathergen.falcon.constants.SPTYPE_ALQ131=1;weathergen.falcon.constants.SPTYPE_ALLM16SQD=1;weathergen.falcon.constants.SPTYPE_ALLM4SQD=2;weathergen.falcon.constants.SPTYPE_ALLM60SQD=3;weathergen.falcon.constants.SPTYPE_CISARTSQD=4;weathergen.falcon.constants.SPTYPE_CISATMISSQD=5;weathergen.falcon.constants.SPTYPE_CISMORTSQD=6;weathergen.falcon.constants.SPTYPE_CISSAMSQD=7;
weathergen.falcon.constants.SPTYPE_DPRKARTSQD=8;weathergen.falcon.constants.SPTYPE_DPRKATMISSQD=9;weathergen.falcon.constants.SPTYPE_DPRKMORTSQD=10;weathergen.falcon.constants.SPTYPE_DPRKSAMSQD=11;weathergen.falcon.constants.SPTYPE_PRCARTSQD=12;weathergen.falcon.constants.SPTYPE_PRCATMISSQD=13;weathergen.falcon.constants.SPTYPE_PRCMORTSQD=14;weathergen.falcon.constants.SPTYPE_PRCSAMSQD=15;weathergen.falcon.constants.SPTYPE_ROKARTSQD=16;weathergen.falcon.constants.SPTYPE_ROKATMISSQD=17;
weathergen.falcon.constants.SPTYPE_ROKMORTSQD=18;weathergen.falcon.constants.SPTYPE_ROKSAMSQD=19;weathergen.falcon.constants.SPTYPE_USARTSQD=20;weathergen.falcon.constants.SPTYPE_USATMISSQD=21;weathergen.falcon.constants.SPTYPE_USMORTSQD=22;weathergen.falcon.constants.SPTYPE_USSAMSQUAD=23;weathergen.falcon.constants.SPTYPE_JANGWEI=1;weathergen.falcon.constants.SPTYPE_ULSAN=2;weathergen.falcon.constants.SPTYPE_100GAL=1;weathergen.falcon.constants.SPTYPE_300GAL=2;
weathergen.falcon.constants.SPTYPE_370GAL=3;weathergen.falcon.constants.SPTYPE_500GAL=4;weathergen.falcon.constants.SPTYPE_600GAL=5;weathergen.falcon.constants.SPTYPE_GEARDEST=1;weathergen.falcon.constants.SPTYPE_CARGOSHP=1;weathergen.falcon.constants.SPTYPE_GENTANKER=2;weathergen.falcon.constants.SPTYPE_12_7mm=1;weathergen.falcon.constants.SPTYPE_20mm=2;weathergen.falcon.constants.SPTYPE_30mm=3;weathergen.falcon.constants.SPTYPE_40mmGL=4;weathergen.falcon.constants.SPTYPE_7_62mm=5;
weathergen.falcon.constants.SPTYPE_7_62mmPKT=6;weathergen.falcon.constants.SPTYPE_76mm_3in_50cal=7;weathergen.falcon.constants.SPTYPE_GAU12U=8;weathergen.falcon.constants.SPTYPE_GAU8=9;weathergen.falcon.constants.SPTYPE_GSH23=10;weathergen.falcon.constants.SPTYPE_M16GUN=11;weathergen.falcon.constants.SPTYPE_M46130mm=12;weathergen.falcon.constants.SPTYPE_M4GUN=13;weathergen.falcon.constants.SPTYPE_M60MGUN=14;weathergen.falcon.constants.SPTYPE_MK15PHALANX=15;
weathergen.falcon.constants.SPTYPE_MK45=16;weathergen.falcon.constants.SPTYPE_MNCLRBLADE=1;weathergen.falcon.constants.SPTYPE_AA1=1;weathergen.falcon.constants.SPTYPE_AA10=2;weathergen.falcon.constants.SPTYPE_AA10C=3;weathergen.falcon.constants.SPTYPE_AA11=4;weathergen.falcon.constants.SPTYPE_AA12=5;weathergen.falcon.constants.SPTYPE_AA2=6;weathergen.falcon.constants.SPTYPE_AA2R=7;weathergen.falcon.constants.SPTYPE_AA3=8;weathergen.falcon.constants.SPTYPE_AA7=9;
weathergen.falcon.constants.SPTYPE_AA7R=10;weathergen.falcon.constants.SPTYPE_AA8=11;weathergen.falcon.constants.SPTYPE_AA9=12;weathergen.falcon.constants.SPTYPE_AIM120=13;weathergen.falcon.constants.SPTYPE_AIM54=14;weathergen.falcon.constants.SPTYPE_AIM7=15;weathergen.falcon.constants.SPTYPE_AIM9M=16;weathergen.falcon.constants.SPTYPE_AIM9P=17;weathergen.falcon.constants.SPTYPE_AIM9R=18;weathergen.falcon.constants.SPTYPE_AGM114=1;weathergen.falcon.constants.SPTYPE_AGM119=2;
weathergen.falcon.constants.SPTYPE_AGM122=3;weathergen.falcon.constants.SPTYPE_AGM45=4;weathergen.falcon.constants.SPTYPE_AGM65A=5;weathergen.falcon.constants.SPTYPE_AGM65B=6;weathergen.falcon.constants.SPTYPE_AGM65D=7;weathergen.falcon.constants.SPTYPE_AGM65G=8;weathergen.falcon.constants.SPTYPE_AGM78=9;weathergen.falcon.constants.SPTYPE_AGM84=10;weathergen.falcon.constants.SPTYPE_AGM88=11;weathergen.falcon.constants.SPTYPE_AS10=12;weathergen.falcon.constants.SPTYPE_AS11=13;
weathergen.falcon.constants.SPTYPE_AS12=14;weathergen.falcon.constants.SPTYPE_AS14=15;weathergen.falcon.constants.SPTYPE_AS15=16;weathergen.falcon.constants.SPTYPE_AS7=17;weathergen.falcon.constants.SPTYPE_AS9=18;weathergen.falcon.constants.SPTYPE_AT2=10;weathergen.falcon.constants.SPTYPE_AT6=20;weathergen.falcon.constants.SPTYPE_HELLFIRE=21;weathergen.falcon.constants.SPTYPE_AS4=1;weathergen.falcon.constants.SPTYPE_AS6=2;weathergen.falcon.constants.SPTYPE_ADATS=1;
weathergen.falcon.constants.SPTYPE_CHAPARRAL=2;weathergen.falcon.constants.SPTYPE_HAWK=3;weathergen.falcon.constants.SPTYPE_HN_5_A=4;weathergen.falcon.constants.SPTYPE_HYDRA=5;weathergen.falcon.constants.SPTYPE_MK26=6;weathergen.falcon.constants.SPTYPE_NIKE=7;weathergen.falcon.constants.SPTYPE_PATRIOT=8;weathergen.falcon.constants.SPTYPE_RAPIER=9;weathergen.falcon.constants.SPTYPE_RIM7=10;weathergen.falcon.constants.SPTYPE_SA13=12;weathergen.falcon.constants.SPTYPE_SA14=13;
weathergen.falcon.constants.SPTYPE_SA15=14;weathergen.falcon.constants.SPTYPE_SA19=15;weathergen.falcon.constants.SPTYPE_SA2=16;weathergen.falcon.constants.SPTYPE_SA3=17;weathergen.falcon.constants.SPTYPE_SA4=18;weathergen.falcon.constants.SPTYPE_SA5=19;weathergen.falcon.constants.SPTYPE_SA6=20;weathergen.falcon.constants.SPTYPE_SA7=21;weathergen.falcon.constants.SPTYPE_SA8=22;weathergen.falcon.constants.SPTYPE_SA9=23;weathergen.falcon.constants.SPTYPE_SAN5=24;
weathergen.falcon.constants.SPTYPE_STINGER=25;weathergen.falcon.constants.SPTYPE_TOWM1046=1;weathergen.falcon.constants.SPTYPE_122mmAProcket=1;weathergen.falcon.constants.SPTYPE_122mmHErocket=2;weathergen.falcon.constants.SPTYPE_240mmROCKET=3;weathergen.falcon.constants.SPTYPE_ASROC=4;weathergen.falcon.constants.SPTYPE_AT3=5;weathergen.falcon.constants.SPTYPE_AT5=6;weathergen.falcon.constants.SPTYPE_FROG7=7;weathergen.falcon.constants.SPTYPE_M47=8;weathergen.falcon.constants.SPTYPE_MINUTEMAN=9;
weathergen.falcon.constants.SPTYPE_PEACEKEEPER=11;weathergen.falcon.constants.SPTYPE_RPG_7VAT=12;weathergen.falcon.constants.SPTYPE_SCUD=13;weathergen.falcon.constants.SPTYPE_SS1=14;weathergen.falcon.constants.SPTYPE_SS18=15;weathergen.falcon.constants.SPTYPE_SS21=16;weathergen.falcon.constants.SPTYPE_SS24=17;weathergen.falcon.constants.SPTYPE_SS45=18;weathergen.falcon.constants.SPTYPE_SSN2=3;weathergen.falcon.constants.SPTYPE_160mmMORT=1;weathergen.falcon.constants.SPTYPE_60mmMORT=2;
weathergen.falcon.constants.SPTYPE_M1937MORT=3;weathergen.falcon.constants.SPTYPE_M252MORT=4;weathergen.falcon.constants.SPTYPE_LST1179=1;weathergen.falcon.constants.SPTYPE_NOTHING=1;weathergen.falcon.constants.SPTYPE_NOWEAPON=2;weathergen.falcon.constants.SPTYPE_OSA2=1;weathergen.falcon.constants.SPTYPE_WILDCAT=2;weathergen.falcon.constants.SPTYPE_PONTOONBRIDGE=1;weathergen.falcon.constants.SPTYPE_PUFFY_CLOUD1=1;weathergen.falcon.constants.SPTYPE_SINGLE=1;
weathergen.falcon.constants.SPTYPE_TRIPLE=2;weathergen.falcon.constants.SPTYPE_LAU3A=1;weathergen.falcon.constants.SPTYPE_UB3257=2;weathergen.falcon.constants.SPTYPE_VIKHR=22;weathergen.falcon.constants.SPTYPE_SMALL_CRATER1=1;weathergen.falcon.constants.SPTYPE_FIRETEAM=1;weathergen.falcon.constants.SPTYPE_DD963=1;weathergen.falcon.constants.SPTYPE_DELTA=1;weathergen.falcon.constants.SPTYPE_TRIDENT=2;weathergen.falcon.constants.SPTYPE_PTK250=9;weathergen.falcon.constants.SPTYPE_TYPHOON=3;
weathergen.falcon.constants.SPTYPE_OSCAR=1;weathergen.falcon.constants.SPTYPE_AKULA=1;weathergen.falcon.constants.SPTYPE_KILO=2;weathergen.falcon.constants.SPTYPE_LOSANGELES=3;weathergen.falcon.constants.SPTYPE_SEAWOLF=4;weathergen.falcon.constants.SPTYPE_MK32=1;weathergen.falcon.constants.SPTYPE_M167=1;weathergen.falcon.constants.SPTYPE_2A65=1;weathergen.falcon.constants.SPTYPE_M198=2;weathergen.falcon.constants.SPTYPE_M163=1;weathergen.falcon.constants.SPTYPE_P76ZSU23_4=2;
weathergen.falcon.constants.SPTYPE_ZSU57_2=4;weathergen.falcon.constants.SPTYPE_CHAPARRALL=1;weathergen.falcon.constants.SPTYPE_M2A2ADATS=2;weathergen.falcon.constants.SPTYPE_M2A2ADV=3;weathergen.falcon.constants.SPTYPE_SA13L=4;weathergen.falcon.constants.SPTYPE_SA15L_GM569=5;weathergen.falcon.constants.SPTYPE_SA2L=6;weathergen.falcon.constants.SPTYPE_SA4L=7;weathergen.falcon.constants.SPTYPE_SA6L=8;weathergen.falcon.constants.SPTYPE_M1A1=5;weathergen.falcon.constants.SPTYPE_M1A2=6;
weathergen.falcon.constants.SPTYPE_M2A2=7;weathergen.falcon.constants.SPTYPE_M2A2BC=8;weathergen.falcon.constants.SPTYPE_M48A5TNK=9;weathergen.falcon.constants.SPTYPE_M60=10;weathergen.falcon.constants.SPTYPE_PT76=13;weathergen.falcon.constants.SPTYPE_T55=14;weathergen.falcon.constants.SPTYPE_T62=15;weathergen.falcon.constants.SPTYPE_T72=16;weathergen.falcon.constants.SPTYPE_T80=17;weathergen.falcon.constants.SPTYPE_T90=18;weathergen.falcon.constants.SPTYPE_TYPE62=19;
weathergen.falcon.constants.SPTYPE_TYPE80=20;weathergen.falcon.constants.SPTYPE_TYPE85II=21;weathergen.falcon.constants.SPTYPE_TYPE90II=22;weathergen.falcon.constants.SPTYPE_XM8AGS=23;weathergen.falcon.constants.SPTYPE_2S19=1;weathergen.falcon.constants.SPTYPE_2S3=2;weathergen.falcon.constants.SPTYPE_M109=3;weathergen.falcon.constants.SPTYPE_M110A2=4;weathergen.falcon.constants.SPTYPE_M1973SPARTY=5;weathergen.falcon.constants.SPTYPE_M1974SPARTY=6;weathergen.falcon.constants.SPTYPE_MLRS=7;
weathergen.falcon.constants.SPTYPE_SM240=9;weathergen.falcon.constants.SPTYPE_AVLM=1;weathergen.falcon.constants.SPTYPE_M1MS=2;weathergen.falcon.constants.SPTYPE_M60AVLB=3;weathergen.falcon.constants.SPTYPE_M88AVRV=4;weathergen.falcon.constants.SPTYPE_M9ACE=5;weathergen.falcon.constants.SPTYPE_P76MDK_2DOZER=6;weathergen.falcon.constants.SPTYPE_P76MT_55BRGLY=7;weathergen.falcon.constants.SPTYPE_ACRV=1;weathergen.falcon.constants.SPTYPE_MTLBU=3;weathergen.falcon.constants.SPTYPE_AAV7A1=1;
weathergen.falcon.constants.SPTYPE_AAVC7A1=2;weathergen.falcon.constants.SPTYPE_BMD=3;weathergen.falcon.constants.SPTYPE_BMP1=4;weathergen.falcon.constants.SPTYPE_BMP1ATG=5;weathergen.falcon.constants.SPTYPE_BMP2=6;weathergen.falcon.constants.SPTYPE_BMP3=7;weathergen.falcon.constants.SPTYPE_M113=9;weathergen.falcon.constants.SPTYPE_M113A3=10;weathergen.falcon.constants.SPTYPE_M901=11;weathergen.falcon.constants.SPTYPE_160mmMRTL=1;weathergen.falcon.constants.SPTYPE_FROG7L_ZIL135=1;
weathergen.falcon.constants.SPTYPE_MTLB=3;weathergen.falcon.constants.SPTYPE_YW_534_APC=4;weathergen.falcon.constants.SPTYPE_BRIGADE=1;weathergen.falcon.constants.SPTYPE_CHINESE_SA6=2;weathergen.falcon.constants.SPTYPE_CHINESE_ZU23=3;weathergen.falcon.constants.SPTYPE_DPRK_SA2=4;weathergen.falcon.constants.SPTYPE_DPRK_SA3=5;weathergen.falcon.constants.SPTYPE_DPRK_SA5=6;weathergen.falcon.constants.SPTYPE_DPRK_ZSU57=7;weathergen.falcon.constants.SPTYPE_ROK_HAWK=8;
weathergen.falcon.constants.SPTYPE_30mmAAA=1;weathergen.falcon.constants.SPTYPE_203mm=6;weathergen.falcon.constants.SPTYPE_25mm=25;weathergen.falcon.constants.SPTYPE_M2A3=8;weathergen.falcon.constants.SPTYPE_HUMMVSTD=15;weathergen.falcon.constants.SPTYPE_HUMMVCARGO=14;weathergen.falcon.constants.SPTYPE_HMMWV_AMB=13;weathergen.falcon.constants.SPTYPE_ROK_NIKE=9;weathergen.falcon.constants.SPTYPE_SOVIET_SA15=10;weathergen.falcon.constants.SPTYPE_SOVIET_SA6=11;
weathergen.falcon.constants.SPTYPE_SOVIET_SA8=12;weathergen.falcon.constants.SPTYPE_US_HAWK=13;weathergen.falcon.constants.SPTYPE_US_PATRIOT=7;weathergen.falcon.constants.SPTYPE_SOVIET_AIR=1;weathergen.falcon.constants.SPTYPE_US_AIR=2;weathergen.falcon.constants.SPTYPE_DPRK_AMPH=1;weathergen.falcon.constants.SPTYPE_SOVIET_AMPH=2;weathergen.falcon.constants.SPTYPE_US_AMPH=3;weathergen.falcon.constants.SPTYPE_CHINESE_TYPE80=2;weathergen.falcon.constants.SPTYPE_CHINESE_TYPE85II=3;
weathergen.falcon.constants.SPTYPE_CHINESE_TYPE90II=4;weathergen.falcon.constants.SPTYPE_DPRK_T62=5;weathergen.falcon.constants.SPTYPE_ROK_M48=6;weathergen.falcon.constants.SPTYPE_SOVIET_T72=7;weathergen.falcon.constants.SPTYPE_SOVIET_T80=8;weathergen.falcon.constants.SPTYPE_SOVIET_T90=9;weathergen.falcon.constants.SPTYPE_US_M1=10;weathergen.falcon.constants.SPTYPE_US_M60=11;weathergen.falcon.constants.SPTYPE_US_CAV=1;weathergen.falcon.constants.SPTYPE_CHINESE_BB=1;
weathergen.falcon.constants.SPTYPE_SOVIET_BB=2;weathergen.falcon.constants.SPTYPE_US_BB=3;weathergen.falcon.constants.SPTYPE_CHINESE_CV=1;weathergen.falcon.constants.SPTYPE_SOVIET_CV=2;weathergen.falcon.constants.SPTYPE_US_CV=3;weathergen.falcon.constants.SPTYPE_CHINESE_CR=1;weathergen.falcon.constants.SPTYPE_SOVIET_CR=2;weathergen.falcon.constants.SPTYPE_US_CR=3;weathergen.falcon.constants.SPTYPE_ROK_DD=1;weathergen.falcon.constants.SPTYPE_SOVIET_DD=2;weathergen.falcon.constants.SPTYPE_US_DD=3;
weathergen.falcon.constants.SPTYPE_SOVIET_ENG=2;weathergen.falcon.constants.SPTYPE_US_ENG=1;weathergen.falcon.constants.SPTYPE_CHINESE_FF=1;weathergen.falcon.constants.SPTYPE_ROK_FF=2;weathergen.falcon.constants.SPTYPE_SOVIET_FF=3;weathergen.falcon.constants.SPTYPE_CHINESE_HQ=2;weathergen.falcon.constants.SPTYPE_DPRK_HQ=3;weathergen.falcon.constants.SPTYPE_ROK_HQ=4;weathergen.falcon.constants.SPTYPE_SOVIET_HQ=5;weathergen.falcon.constants.SPTYPE_US_HQ=1;
weathergen.falcon.constants.SPTYPE_CHINESE_INF=2;weathergen.falcon.constants.SPTYPE_DPRK_INF=3;weathergen.falcon.constants.SPTYPE_ROK_INF=4;weathergen.falcon.constants.SPTYPE_SOVIET_INF=5;weathergen.falcon.constants.SPTYPE_US_INF=1;weathergen.falcon.constants.SPTYPE_SOVIET_MARINE=2;weathergen.falcon.constants.SPTYPE_US_LAV25=1;weathergen.falcon.constants.SPTYPE_CHINESE_MECH=2;weathergen.falcon.constants.SPTYPE_DPRK_BMP1=3;weathergen.falcon.constants.SPTYPE_ROK_M113=4;
weathergen.falcon.constants.SPTYPE_SOVIET_MECH=5;weathergen.falcon.constants.SPTYPE_US_M2=1;weathergen.falcon.constants.SPTYPE_DPRK_PAT=1;weathergen.falcon.constants.SPTYPE_SOVIET_BM21=2;weathergen.falcon.constants.SPTYPE_SOVIET_BM24=3;weathergen.falcon.constants.SPTYPE_SOVIET_BM9A52=4;weathergen.falcon.constants.SPTYPE_US_MLRS=5;weathergen.falcon.constants.SPTYPE_ANY_SS=1;weathergen.falcon.constants.SPTYPE_SOVIET_SS=2;weathergen.falcon.constants.SPTYPE_US_SS=3;
weathergen.falcon.constants.SPTYPE_ANY_TANK=1;weathergen.falcon.constants.SPTYPE_SOVIET_TRAN=1;weathergen.falcon.constants.SPTYPE_US_TRAN=2;weathergen.falcon.constants.SPTYPE_CHINESE_SP=2;weathergen.falcon.constants.SPTYPE_ROK_SP=4;weathergen.falcon.constants.SPTYPE_SOVIET_SP=5;weathergen.falcon.constants.SPTYPE_US_M109=6;weathergen.falcon.constants.SPTYPE_SOVIET_FROG7=2;weathergen.falcon.constants.SPTYPE_SOVIET_SCUD=3;weathergen.falcon.constants.SPTYPE_CHINESE_SSBN=1;
weathergen.falcon.constants.SPTYPE_SOVIET_SSBN=2;weathergen.falcon.constants.SPTYPE_US_SSBN=3;weathergen.falcon.constants.SPTYPE_CHINESE_SSGN=1;weathergen.falcon.constants.SPTYPE_SOVIET_SSGN=2;weathergen.falcon.constants.SPTYPE_US_SSGN=3;weathergen.falcon.constants.SPTYPE_CHINESE_SSN=1;weathergen.falcon.constants.SPTYPE_SOVIET_SSN=2;weathergen.falcon.constants.SPTYPE_US_SSN=3;weathergen.falcon.constants.SPTYPE_SOVIET_SUP=2;weathergen.falcon.constants.SPTYPE_US_SUP=1;
weathergen.falcon.constants.SPTYPE_CHINESE_ART=2;weathergen.falcon.constants.SPTYPE_SOVIET_ART=3;weathergen.falcon.constants.SPTYPE_US_M198=1;weathergen.falcon.constants.SPTYPE_LHD1=1;weathergen.falcon.constants.SPTYPE_ZSU30=1;weathergen.falcon.constants.SPTYPE_ZU_23AAA=2;weathergen.falcon.constants.SPTYPE_2S6_TUNGUSKA=1;weathergen.falcon.constants.SPTYPE_HAWKL=2;weathergen.falcon.constants.SPTYPE_HUMMVAVG=3;weathergen.falcon.constants.SPTYPE_LAVADATS=4;weathergen.falcon.constants.SPTYPE_LAVADV=5;
weathergen.falcon.constants.SPTYPE_MK29L=6;weathergen.falcon.constants.SPTYPE_NIKEL=7;weathergen.falcon.constants.SPTYPE_PATRIOTL=8;weathergen.falcon.constants.SPTYPE_SA2R=9;weathergen.falcon.constants.SPTYPE_SA3L=10;weathergen.falcon.constants.SPTYPE_SA3R=11;weathergen.falcon.constants.SPTYPE_SA4R=12;weathergen.falcon.constants.SPTYPE_SA5L=13;weathergen.falcon.constants.SPTYPE_SA5R=14;weathergen.falcon.constants.SPTYPE_SA8L=15;weathergen.falcon.constants.SPTYPE_SA9L=16;
weathergen.falcon.constants.SPTYPE_BM21MLRS=1;weathergen.falcon.constants.SPTYPE_BM24MLRS=2;weathergen.falcon.constants.SPTYPE_BM9A52=3;weathergen.falcon.constants.SPTYPE_HUMMVTOW=16;weathergen.falcon.constants.SPTYPE_LAVR=1;weathergen.falcon.constants.SPTYPE_FIRETRUCK=1;weathergen.falcon.constants.SPTYPE_HAWKRADAR=17;weathergen.falcon.constants.SPTYPE_M997HQ=1;weathergen.falcon.constants.SPTYPE_NIKERADAR=18;weathergen.falcon.constants.SPTYPE_PATRIOTR=19;
weathergen.falcon.constants.SPTYPE_SA6RADAR=20;weathergen.falcon.constants.SPTYPE_BRDM1=1;weathergen.falcon.constants.SPTYPE_BRDM2=2;weathergen.falcon.constants.SPTYPE_BRDM3=3;weathergen.falcon.constants.SPTYPE_BTR70=4;weathergen.falcon.constants.SPTYPE_BTR80=5;weathergen.falcon.constants.SPTYPE_FAV=6;weathergen.falcon.constants.SPTYPE_LAV25=7;weathergen.falcon.constants.SPTYPE_LAVC2=8;weathergen.falcon.constants.SPTYPE_LAVM=9;weathergen.falcon.constants.SPTYPE_LAVTOW=10;
weathergen.falcon.constants.SPTYPE_M998=12;weathergen.falcon.constants.SPTYPE_CAR=2;weathergen.falcon.constants.SPTYPE_CARGOTRUCK=3;weathergen.falcon.constants.SPTYPE_FUELTRUCK=4;weathergen.falcon.constants.SPTYPE_JEEP=5;weathergen.falcon.constants.SPTYPE_KrAz255B=6;weathergen.falcon.constants.SPTYPE_KrAzFUEL=7;weathergen.falcon.constants.SPTYPE_M977=8;weathergen.falcon.constants.SPTYPE_M977_FUEL=9;weathergen.falcon.constants.SPTYPE_M977CARGO=10;weathergen.falcon.constants.SPTYPE_SCUDL=11;
weathergen.falcon.constants.SPTYPE_WC_551_APC=12;weathergen.falcon.constants.SPTYPE_120mmHE=26;weathergen.falcon.constants.SPTYPE_105mmAP=17;weathergen.falcon.constants.SPTYPE_105mmHE=18;weathergen.falcon.constants.SPTYPE_115mmAP=19;weathergen.falcon.constants.SPTYPE_115mmHE=20;weathergen.falcon.constants.SPTYPE_125mmAP=21;weathergen.falcon.constants.SPTYPE_125mmHE=22;weathergen.falcon.constants.SPTYPE_135mmAP=23;weathergen.falcon.constants.SPTYPE_135mmHE=24;
weathergen.falcon.constants.SPTYPE_155mmAAA=3;weathergen.falcon.constants.SPTYPE_155mmHE=7;weathergen.falcon.constants.SPTYPE_122mmHE=5;weathergen.falcon.constants.SPTYPE_2S1=8;weathergen.falcon.constants.SPTYPE_ZIL135=1;weathergen.falcon.constants.SPTYPE_DPRK_SP_152=1;weathergen.falcon.constants.SPTYPE_DPRK_AAA=1;weathergen.falcon.constants.SPTYPE_DPRK_SP_122=3;weathergen.falcon.constants.SPTYPE_DPRK_FROG=4;weathergen.falcon.constants.SPTYPE_TEST=1;weathergen.falcon.constants.SPTYPE_DPRK_SCUD=1;
weathergen.falcon.constants.SPTYPE_DPRK_T55=1;weathergen.falcon.constants.SPTYPE_DPRK_AIR_MOBILE=3;weathergen.falcon.constants.SPTYPE_DPRK_BM21=1;weathergen.falcon.constants.SPTYPE_2_75mm=4;weathergen.falcon.constants.SPTYPE_GBU15=4;weathergen.falcon.constants.SPTYPE_F18D=6;weathergen.falcon.constants.SPTYPE_F18A=7;weathergen.falcon.constants.SPTYPE_F18E=4;weathergen.falcon.constants.SPTYPE_AN24=14;weathergen.falcon.constants.SPTYPE_MK46=2;weathergen.falcon.constants.SPTYPE_GPU5=27;
weathergen.falcon.constants.SPTYPE_FAB250LD=6;weathergen.falcon.constants.SPTYPE_FAB250HD=7;weathergen.falcon.constants.SPTYPE_GBU28B=7;weathergen.falcon.constants.SPTYPE_FAB250LGB=5;weathergen.falcon.constants.SPTYPE_FAB1000LD=8;weathergen.falcon.constants.SPTYPE_FAB1000HD=9;weathergen.falcon.constants.SPTYPE_FAB1000LGB=6;weathergen.falcon.constants.SPTYPE_LANTIRN_NAV=1;weathergen.falcon.constants.SPTYPE_LANTIRN_TARG=2;weathergen.falcon.constants.SPTYPE_AGM130=19;
weathergen.falcon.constants.SPTYPE_AT4=2;weathergen.falcon.constants.SPTYPE_SA12=11;weathergen.falcon.constants.SPTYPE_MLRS_ROCKET=5;weathergen.falcon.constants.SPTYPE_UB1957=3;weathergen.falcon.constants.SPTYPE_RPK180=10;weathergen.falcon.constants.SPTYPE_RPK500=11;weathergen.falcon.constants.SPTYPE_AA8R=19;weathergen.falcon.constants.SPTYPE_CHAFF1=1;weathergen.falcon.constants.SPTYPE_300GALW=6;weathergen.falcon.constants.SPTYPE_57MMROCK=6;weathergen.falcon.constants.SPTYPE_DESTBOMBER=8;
weathergen.falcon.constants.SPTYPE_DISRUPTOR=20;weathergen.falcon.constants.SPTYPE_FFG=3;weathergen.falcon.constants.SPTYPE_ENFAC=3;weathergen.falcon.constants.SPTYPE_DESTF16_1=8;weathergen.falcon.constants.SPTYPE_DESTF16_2=9;weathergen.falcon.constants.SPTYPE_DESTMIG29=17;weathergen.falcon.constants.SPTYPE_KIROV=2;weathergen.falcon.constants.SPTYPE_ROK_MARINE=3;weathergen.falcon.constants.SPTYPE_ROK_AAA=14;weathergen.falcon.constants.SPTYPE_ROK_M198=4;weathergen.falcon.constants.SPTYPE_DESTASW=3;
weathergen.falcon.constants.SPTYPE_DESTATTACK=14;weathergen.falcon.constants.SPTYPE_DESTAWACS=4;weathergen.falcon.constants.SPTYPE_DESTECM=3;weathergen.falcon.constants.SPTYPE_DESTJSTAR=2;weathergen.falcon.constants.SPTYPE_DESTRECON=7;weathergen.falcon.constants.SPTYPE_DESTTANKER=6;weathergen.falcon.constants.SPTYPE_DESTTRANSPORT=15;weathergen.falcon.constants.SPTYPE_DESTATTHELO=9;weathergen.falcon.constants.SPTYPE_DESTRECHELO=3;weathergen.falcon.constants.SPTYPE_DESTTRANHELO=7;
weathergen.falcon.constants.SPTYPE_DESTMIG19=18;weathergen.falcon.constants.SPTYPE_DESTMIG21=19;weathergen.falcon.constants.SPTYPE_RIFLE=30;weathergen.falcon.constants.SPTYPE_RES_INF_SQUAD=24;weathergen.falcon.constants.SPTYPE_ALL_RESERVE=1;weathergen.falcon.constants.SPTYPE_DEBRIS1=1;weathergen.falcon.constants.SPTYPE_DEBRIS2=2;weathergen.falcon.constants.SPTYPE_DEBRIS3=3;weathergen.falcon.constants.SPTYPE_CRATER2=1;weathergen.falcon.constants.SPTYPE_CRATER3=2;
weathergen.falcon.constants.SPTYPE_CRATER4=3;weathergen.falcon.constants.SPTYPE_DESTIL28=15;weathergen.falcon.constants.SPTYPE_DESTMIG23MS=20;weathergen.falcon.constants.SPTYPE_DESTSU25=16;weathergen.falcon.constants.SPTYPE_DESTSU27=21;weathergen.falcon.constants.SPTYPE_DESTAN2=16;weathergen.falcon.constants.SPTYPE_30MM_TAIL_GUN=1;weathergen.falcon.constants.SPTYPE_DPRK_BMP2=6;weathergen.falcon.constants.SPTYPE_DPRK_TOW_ART=1;weathergen.falcon.constants.SPTYPE_D30=3;
weathergen.falcon.constants.SPTYPE_SIX=3;weathergen.falcon.constants.SPTYPE_QUAD=4;weathergen.falcon.constants.SPTYPE_GUYDIE=25;weathergen.falcon.constants.SPTYPE_DOWN_PILOT=26;weathergen.falcon.constants.SPTYPE_DPRK_FF=3;weathergen.falcon.constants.SPTYPE_ROK_PATROL=2;weathergen.falcon.constants.SPTYPE_240MM=8;weathergen.falcon.constants.SPTYPE_NUM380=1;weathergen.falcon.constants.SPTYPE_NUM270=2;weathergen.falcon.constants.SPTYPE_NUM160=3;weathergen.falcon.constants.SPTYPE_NAJIN=4;
weathergen.falcon.constants.SPTYPE_AC130=16;weathergen.falcon.constants.SPTYPE_F16BLU=14;weathergen.falcon.constants.SPTYPE_F4=15;weathergen.falcon.constants.SPTYPE_F5=16;weathergen.falcon.constants.SPTYPE_F16B=8;weathergen.falcon.constants.SPTYPE_PRC_MIG21=16;weathergen.falcon.constants.SPTYPE_CIS_MIG29=17;weathergen.falcon.constants.SPTYPE_CIS_SU27=18;weathergen.falcon.constants.SPTYPE_PRC_SU27=19;weathergen.falcon.constants.SPTYPE_57MM_HE=31;weathergen.falcon.constants.SPTYPE_SINGLE_AA=5;
weathergen.falcon.constants.SPTYPE_2RAIL=6;weathergen.falcon.constants.SPTYPE_MAVRACK=7;weathergen.falcon.constants.SPTYPE_MUH1=7;weathergen.falcon.constants.SPTYPE_CUH1=8;weathergen.falcon.constants.SPTYPE_NUM01=4;weathergen.falcon.constants.SPTYPE_RCKT1=1;weathergen.falcon.constants.SPTYPE_AA10A=21;weathergen.falcon.constants.SPTYPE_DPRK_HART=5;weathergen.falcon.constants.SPTYPE_ALL_AK47SQUAD=27;weathergen.falcon.constants.SPTYPE_AK47=32;weathergen.falcon.constants.SPTYPE_CF16A=8;
weathergen.falcon.constants.SPTYPE_BIRACK=8;weathergen.falcon.constants.SPTYPE_HBIRACK=9;weathergen.falcon.constants.SPTYPE_HTRIRACK=10;weathergen.falcon.constants.SPTYPE_HONERACK=11;weathergen.falcon.constants.SPTYPE_RTRIRACK=12;weathergen.falcon.constants.SPTYPE_ONELAU3A=1;weathergen.falcon.constants.SPTYPE_BILAU3A=2;weathergen.falcon.constants.SPTYPE_TRILAU3A=3;weathergen.falcon.constants.SPTYPE_NUM23RW=5;weathergen.falcon.constants.SPTYPE_NUM05LW=6;weathergen.falcon.constants.SPTYPE_WLOADER=2;
weathergen.falcon.constants.SPTYPE_APU=3;weathergen.falcon.constants.SPTYPE_WTRAILER=4;weathergen.falcon.constants.DTYPE_MIN=0;weathergen.falcon.constants.DTYPE_FEATURE=1;weathergen.falcon.constants.DTYPE_NONE=2;weathergen.falcon.constants.DTYPE_OBJECTIVE=3;weathergen.falcon.constants.DTYPE_UNIT=4;weathergen.falcon.constants.DTYPE_VEHICLE=5;weathergen.falcon.constants.DTYPE_WEAPON=6;weathergen.falcon.constants.DTYPE_MAX=7;weathergen.falcon.constants.NoMove=0;weathergen.falcon.constants.Foot=1;
weathergen.falcon.constants.Wheeled=2;weathergen.falcon.constants.Tracked=3;weathergen.falcon.constants.LowAir=4;weathergen.falcon.constants.Air=5;weathergen.falcon.constants.Naval=6;weathergen.falcon.constants.Rail=7;weathergen.falcon.constants.MOVEMENT_TYPES=8;weathergen.falcon.constants.VU_LAST_ENTITY_TYPE=100;weathergen.falcon.constants.PILOT_AVAILABLE=0;weathergen.falcon.constants.PILOT_KIA=1;weathergen.falcon.constants.PILOT_MIA=2;weathergen.falcon.constants.PILOT_RESCUED=3;
weathergen.falcon.constants.PILOT_IN_USE=4;weathergen.falcon.constants.NUM_CALLSIGNS=160;weathergen.falcon.constants.NUM_PILOTS=686;weathergen.falcon.constants.FIRST_PILOT_ID=2300;weathergen.falcon.constants.FIRST_CALLSIGN_ID=2E3;weathergen.falcon.constants.ATM_MAX_CYCLES=32;weathergen.falcon.constants._RSC_8_BIT_=1;weathergen.falcon.constants._RSC_16_BIT_=2;weathergen.falcon.constants._RSC_USECOLORKEY_=1073741824;weathergen.falcon.constants._RSC_SINGLE_=1;
weathergen.falcon.constants._RSC_MULTIPLE_=2;weathergen.falcon.constants._RSC_IS_IMAGE_=100;weathergen.falcon.constants._RSC_IS_SOUND_=101;weathergen.falcon.constants._RSC_IS_FLAT_=102;weathergen.falcon.constants.AMIS_NONE=0;weathergen.falcon.constants.AMIS_BARCAP=1;weathergen.falcon.constants.AMIS_BARCAP2=2;weathergen.falcon.constants.AMIS_HAVCAP=3;weathergen.falcon.constants.AMIS_TARCAP=4;weathergen.falcon.constants.AMIS_RESCAP=5;weathergen.falcon.constants.AMIS_AMBUSHCAP=6;
weathergen.falcon.constants.AMIS_SWEEP=7;weathergen.falcon.constants.AMIS_ALERT=8;weathergen.falcon.constants.AMIS_INTERCEPT=9;weathergen.falcon.constants.AMIS_ESCORT=10;weathergen.falcon.constants.AMIS_SEADSTRIKE=11;weathergen.falcon.constants.AMIS_SEADESCORT=12;weathergen.falcon.constants.AMIS_OCASTRIKE=13;weathergen.falcon.constants.AMIS_INTSTRIKE=14;weathergen.falcon.constants.AMIS_STRIKE=15;weathergen.falcon.constants.AMIS_DEEPSTRIKE=16;weathergen.falcon.constants.AMIS_STSTRIKE=17;
weathergen.falcon.constants.AMIS_STRATBOMB=18;weathergen.falcon.constants.AMIS_FAC=19;weathergen.falcon.constants.AMIS_ONCALLCAS=20;weathergen.falcon.constants.AMIS_PRPLANCAS=21;weathergen.falcon.constants.AMIS_CAS=22;weathergen.falcon.constants.AMIS_SAD=23;weathergen.falcon.constants.AMIS_INT=24;weathergen.falcon.constants.AMIS_BAI=25;weathergen.falcon.constants.AMIS_AWACS=26;weathergen.falcon.constants.AMIS_JSTAR=27;weathergen.falcon.constants.AMIS_TANKER=28;
weathergen.falcon.constants.AMIS_RECON=29;weathergen.falcon.constants.AMIS_BDA=30;weathergen.falcon.constants.AMIS_ECM=31;weathergen.falcon.constants.AMIS_AIRCAV=32;weathergen.falcon.constants.AMIS_AIRLIFT=33;weathergen.falcon.constants.AMIS_SAR=34;weathergen.falcon.constants.AMIS_ASW=35;weathergen.falcon.constants.AMIS_ASHIP=36;weathergen.falcon.constants.AMIS_PATROL=37;weathergen.falcon.constants.AMIS_RECONPATROL=38;weathergen.falcon.constants.AMIS_ABORT=39;
weathergen.falcon.constants.AMIS_TRAINING=40;weathergen.falcon.constants.AMIS_OTHER=41;weathergen.falcon.constants.ARO_CA=1;weathergen.falcon.constants.ARO_TACTRANS=2;weathergen.falcon.constants.ARO_S=3;weathergen.falcon.constants.ARO_GA=4;weathergen.falcon.constants.ARO_SB=5;weathergen.falcon.constants.ARO_ECM=6;weathergen.falcon.constants.ARO_SEAD=7;weathergen.falcon.constants.ARO_ASW=8;weathergen.falcon.constants.ARO_ASHIP=9;weathergen.falcon.constants.ARO_REC=10;
weathergen.falcon.constants.ARO_TRANS=11;weathergen.falcon.constants.ARO_ELINT=12;weathergen.falcon.constants.ARO_AWACS=12;weathergen.falcon.constants.ARO_JSTAR=13;weathergen.falcon.constants.ARO_TANK=14;weathergen.falcon.constants.ARO_FAC=15;weathergen.falcon.constants.ARO_OTHER=16;weathergen.falcon.constants.AMIS_TAR_NONE=0;weathergen.falcon.constants.AMIS_TAR_OBJECTIVE=1;weathergen.falcon.constants.AMIS_TAR_UNIT=2;weathergen.falcon.constants.AMIS_TAR_LOCATION=3;
weathergen.falcon.constants.AMIS_ESC_ALWAYS=99;weathergen.falcon.constants.AMIS_ESC_NONE=98;weathergen.falcon.constants.TANKER_NONE=0;weathergen.falcon.constants.TANKER_HALF=1;weathergen.falcon.constants.TANKER_FULL=2;weathergen.falcon.constants.TANKER_ALWAYS=3;weathergen.falcon.constants.AMIS_ADDAWACS=1;weathergen.falcon.constants.AMIS_ADDJSTAR=2;weathergen.falcon.constants.AMIS_ADDECM=4;weathergen.falcon.constants.AMIS_ADDBDA=8;weathergen.falcon.constants.AMIS_ADDESCORT=16;
weathergen.falcon.constants.AMIS_ADDSEAD=32;weathergen.falcon.constants.AMIS_ADDBARCAP=64;weathergen.falcon.constants.AMIS_ADDSWEEP=128;weathergen.falcon.constants.AMIS_ADDOCASTRIKE=256;weathergen.falcon.constants.AMIS_ADDTANKER=512;weathergen.falcon.constants.AMIS_NEEDTANKER=1024;weathergen.falcon.constants.AMIS_ADDFAC=2048;weathergen.falcon.constants.AMIS_ADDINTERCEPT=4096;weathergen.falcon.constants.AMIS_NOTHREAT=8192;weathergen.falcon.constants.AMIS_AVOIDTHREAT=16384;
weathergen.falcon.constants.AMIS_HIGHTHREAT=32768;weathergen.falcon.constants.AMIS_IMMEDIATE=65536;weathergen.falcon.constants.AMIS_MATCHSPEED=131072;weathergen.falcon.constants.AMIS_TARGET_ONLY=262144;weathergen.falcon.constants.AMIS_NO_BREAKPT=524288;weathergen.falcon.constants.AMIS_DONT_COORD=1048576;weathergen.falcon.constants.AMIS_AIR_LAUNCH_OK=2097152;weathergen.falcon.constants.AMIS_DONT_USE_AC=4194304;weathergen.falcon.constants.AMIS_NPC_ONLY=8388608;
weathergen.falcon.constants.AMIS_FUDGE_RANGE=16777216;weathergen.falcon.constants.AMIS_EXPECT_DIVERT=33554432;weathergen.falcon.constants.AMIS_ASSIGNED_TAR=67108864;weathergen.falcon.constants.AMIS_NO_DIST_BONUS=134217728;weathergen.falcon.constants.AMIS_NO_TARGETABORT=268435456;weathergen.falcon.constants.AMIS_FLYALWAYS=536870912;weathergen.falcon.constants.AMIS_HELP_REQUEST=1073741824;weathergen.falcon.constants.REQF_USERESERVES=1;weathergen.falcon.constants.REQF_CHECKED=2;
weathergen.falcon.constants.REQF_NEEDRESPONSE=4;weathergen.falcon.constants.REQF_MET=8;weathergen.falcon.constants.REQF_ONETRY=256;weathergen.falcon.constants.REQF_USE_REQ_SQUAD=512;weathergen.falcon.constants.REQF_PART_OF_ACTION=1024;weathergen.falcon.constants.REQF_ALLOW_ERRORS=2048;weathergen.falcon.constants.REQF_TE_MISSION=4096;weathergen.falcon.constants.NEED_SEAD=1;weathergen.falcon.constants.NEED_ECM=2;weathergen.falcon.constants.THREAT_LALT_SAM=16;
weathergen.falcon.constants.THREAT_HALT_SAM=32;weathergen.falcon.constants.THREAT_AAA=64;weathergen.falcon.constants.THREAT_ENROUTE=256;weathergen.falcon.constants.THREAT_TARGET=512;weathergen.falcon.constants.MPROF_LOW=1;weathergen.falcon.constants.MPROF_HIGH=2;weathergen.falcon.constants.TPROF_NONE=0;weathergen.falcon.constants.TPROF_ATTACK=1;weathergen.falcon.constants.TPROF_HPATTACK=2;weathergen.falcon.constants.TPROF_LOITER=3;weathergen.falcon.constants.TPROF_TARGET=4;
weathergen.falcon.constants.TPROF_AVOID=5;weathergen.falcon.constants.TPROF_SWEEP=6;weathergen.falcon.constants.TPROF_FLYBY=7;weathergen.falcon.constants.TPROF_SEARCH=8;weathergen.falcon.constants.TPROF_LAND=9;weathergen.falcon.constants.TDESC_NONE=0;weathergen.falcon.constants.TDESC_TTL=1;weathergen.falcon.constants.TDESC_ATA=2;weathergen.falcon.constants.TDESC_TAO=3;weathergen.falcon.constants.TOT_TAKEOFF=10;weathergen.falcon.constants.TOT_ENROUTE=11;weathergen.falcon.constants.TOT_INGRESS=12;
weathergen.falcon.constants.noContext=0;weathergen.falcon.constants.enemyUnitAdvanceBridge=1;weathergen.falcon.constants.enemyUnitMoveBridge=2;weathergen.falcon.constants.enemyUnitAdvance=3;weathergen.falcon.constants.enemyUnitMove=4;weathergen.falcon.constants.enemyUnitAttacking=5;weathergen.falcon.constants.enemyUnitDefending=6;weathergen.falcon.constants.enemyForcesPresent=7;weathergen.falcon.constants.attackEnemyUnit=8;weathergen.falcon.constants.emptyUnit1=9;
weathergen.falcon.constants.emptyUnit2=10;weathergen.falcon.constants.friendlyUnitAirborneMovement=11;weathergen.falcon.constants.emptyUnit5=12;weathergen.falcon.constants.emptyUnit6=13;weathergen.falcon.constants.enemyStrikesExpected=14;weathergen.falcon.constants.enemyAircraftPresent=15;weathergen.falcon.constants.enemyGroundForcesPresent=16;weathergen.falcon.constants.enemyRadarPresent=17;weathergen.falcon.constants.enemySupportAircraftPresent=18;
weathergen.falcon.constants.enemyCASAircraftPresent=19;weathergen.falcon.constants.interceptEnemyAircraft=20;weathergen.falcon.constants.emptyEnemyAir1=21;weathergen.falcon.constants.hostileAircraftPresent=22;weathergen.falcon.constants.emptyHostileAir1=23;weathergen.falcon.constants.friendlyRescueExpected=24;weathergen.falcon.constants.friendlyCASExpected=25;weathergen.falcon.constants.friendlyAssetsExpected=26;weathergen.falcon.constants.friendlyAssetsRefueling=27;
weathergen.falcon.constants.emptyFriendly1=28;weathergen.falcon.constants.emptyFriendly2=29;weathergen.falcon.constants.enemySupplyInterdictionBridge=30;weathergen.falcon.constants.enemySupplyInterdictionPort=31;weathergen.falcon.constants.enemySupplyInterdictionDepot=32;weathergen.falcon.constants.enemySupplyInterdictionZone=33;weathergen.falcon.constants.emptySupply1=34;weathergen.falcon.constants.enemyProductionSource=35;weathergen.falcon.constants.enemyFuelSource=36;
weathergen.falcon.constants.enemyEnergySource=37;weathergen.falcon.constants.enemyCommand=38;weathergen.falcon.constants.enemyAirDefense=39;weathergen.falcon.constants.enemyAirPowerAirbase=40;weathergen.falcon.constants.enemyAirPowerRadar=41;weathergen.falcon.constants.emptyObj1=42;weathergen.falcon.constants.emptyObj2=43;weathergen.falcon.constants.friendlyAWACSNeeded=44;weathergen.falcon.constants.friendlySuppliesIncomingAir=45;weathergen.falcon.constants.friendlySuppliesIncomingNaval=46;
weathergen.falcon.constants.friendlySuppliesIncomingGround=47;weathergen.falcon.constants.friendlySuppliesIncomingRail=48;weathergen.falcon.constants.targetReconNeeded=49;weathergen.falcon.constants.emptyx=50;weathergen.falcon.constants.emptyy=51;weathergen.falcon.constants.AirActionPrepAD=52;weathergen.falcon.constants.AirActionPrepAB=53;weathergen.falcon.constants.AirActionPrepAir=54;weathergen.falcon.constants.AirActionDCA=55;weathergen.falcon.constants.AirActionOCA=56;
weathergen.falcon.constants.AirActionInterdiction=57;weathergen.falcon.constants.AirActionAttrition=58;weathergen.falcon.constants.AirActionCAS=59;weathergen.falcon.constants.emptyAction1=60;weathergen.falcon.constants.enemyNavalForceActive=61;weathergen.falcon.constants.enemyNavalForceStatic=62;weathergen.falcon.constants.enemyNavalForceUnloading=63;weathergen.falcon.constants.otherContext=64;
weathergen.falcon.constants.TeamColorList=new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,"CAMP_TEAM_WHITE CAMP_TEAM_GREEN CAMP_TEAM_BLUE CAMP_TEAM_BROWN CAMP_TEAM_ORANGE CAMP_TEAM_YELLOW CAMP_TEAM_RED CAMP_TEAM_GREY".split(" "),null);weathergen.falcon.constants.OOB_FLAGS_USA=52E3;weathergen.falcon.constants.OOB_FLAGS_NKOREA=52001;weathergen.falcon.constants.OOB_FLAGS_CHINA=52002;weathergen.falcon.constants.OOB_FLAGS_CIS=52003;
weathergen.falcon.constants.OOB_FLAGS_SKOREA=52004;weathergen.falcon.constants.OOB_FLAGS_JAPAN=52005;weathergen.falcon.constants.OOB_FLAGS_USA_DRK=52006;weathergen.falcon.constants.OOB_FLAGS_NKOREA_DRK=52007;weathergen.falcon.constants.OOB_FLAGS_CHINA_DRK=52008;weathergen.falcon.constants.OOB_FLAGS_CIS_DRK=52009;weathergen.falcon.constants.OOB_FLAGS_SKOREA_DRK=52010;weathergen.falcon.constants.OOB_FLAGS_JAPAN_DRK=52011;weathergen.falcon.constants.SMFLGS_USA=52012;
weathergen.falcon.constants.SMFLGS_SKOREA=52013;weathergen.falcon.constants.SMFLGS_JAPAN=52014;weathergen.falcon.constants.SMFLGS_CIS=52015;weathergen.falcon.constants.SMFLGS_CHINA=52016;weathergen.falcon.constants.SMFLGS_NKOREA=52017;weathergen.falcon.constants.SMFLGS_GERMAN=52018;weathergen.falcon.constants.SMFLGS_FRANCE=52019;weathergen.falcon.constants.OOB_FLAGS_SWISS=52020;weathergen.falcon.constants.OOB_FLAGS_SWISS_HRZ=52021;weathergen.falcon.constants.OOB_FLAGS_BELGIUM_HRZ=52022;
weathergen.falcon.constants.OOB_FLAGS_BELGIUM=52023;weathergen.falcon.constants.OOB_FLAGS_BELGIUM_DRK=52024;weathergen.falcon.constants.OOB_FLAGS_BAHRAIN_HRZ=52025;weathergen.falcon.constants.OOB_FLAGS_BAHRAIN_DRK=52026;weathergen.falcon.constants.OOB_FLAGS_BRAZIL_HRZ=52027;weathergen.falcon.constants.OOB_FLAGS_BRAZIL=52028;weathergen.falcon.constants.OOB_FLAGS_BRAZIL_DRK=52029;weathergen.falcon.constants.SMFLGS_SWISS=52030;weathergen.falcon.constants.SMFLGS_BAHRAIN=52031;
weathergen.falcon.constants.OOB_FLAGS_GERMAN=52032;weathergen.falcon.constants.SMFLGS_BELGIUM=52033;weathergen.falcon.constants.SMFLGS_BRAZIL=52034;weathergen.falcon.constants.OOB_FLAGS_SWISS_DRK=52035;weathergen.falcon.constants.OOB_FLAGS_BAHRAIN=52036;weathergen.falcon.constants.OOB_FLAGS_GERMAN_DRK=52037;weathergen.falcon.constants.OOB_FLAGS_GERMAN_HRZ=52038;weathergen.falcon.constants.OOB_FLAGS_FRANCE_DRK=52039;weathergen.falcon.constants.OOB_FLAGS_FRANCE_HRZ=52040;
weathergen.falcon.constants.OOB_FLAGS_FRANCE=52041;weathergen.falcon.constants.OOB_FLAGS_USA_HRZ=52046;weathergen.falcon.constants.OOB_FLAGS_NKOREA_HRZ=52047;weathergen.falcon.constants.OOB_FLAGS_CHINA_HRZ=52048;weathergen.falcon.constants.OOB_FLAGS_CIS_HRZ=52049;weathergen.falcon.constants.OOB_FLAGS_SKOREA_HRZ=52050;weathergen.falcon.constants.OOB_FLAGS_JAPAN_HRZ=52051;
weathergen.falcon.constants.FlagImageID=new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"big-vert-dark","big-vert-dark",1527566886),weathergen.falcon.constants.OOB_FLAGS_SWISS_DRK,new cljs.core.Keyword(null,"big-vert","big-vert",-1944398663),weathergen.falcon.constants.OOB_FLAGS_SWISS,new cljs.core.Keyword(null,"big-horiz","big-horiz",1553227279),weathergen.falcon.constants.OOB_FLAGS_SWISS_HRZ,new cljs.core.Keyword(null,
"small-horiz","small-horiz",-223646297),weathergen.falcon.constants.SMFLGS_SWISS],null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"big-vert-dark","big-vert-dark",1527566886),weathergen.falcon.constants.OOB_FLAGS_USA_DRK,new cljs.core.Keyword(null,"big-vert","big-vert",-1944398663),weathergen.falcon.constants.OOB_FLAGS_USA,new cljs.core.Keyword(null,"big-horiz","big-horiz",1553227279),weathergen.falcon.constants.OOB_FLAGS_USA_HRZ,new cljs.core.Keyword(null,"small-horiz","small-horiz",
-223646297),weathergen.falcon.constants.SMFLGS_USA],null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"big-vert-dark","big-vert-dark",1527566886),weathergen.falcon.constants.OOB_FLAGS_SKOREA_DRK,new cljs.core.Keyword(null,"big-vert","big-vert",-1944398663),weathergen.falcon.constants.OOB_FLAGS_SKOREA,new cljs.core.Keyword(null,"big-horiz","big-horiz",1553227279),weathergen.falcon.constants.OOB_FLAGS_SKOREA_HRZ,new cljs.core.Keyword(null,"small-horiz","small-horiz",-223646297),
weathergen.falcon.constants.SMFLGS_SKOREA],null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"big-vert-dark","big-vert-dark",1527566886),weathergen.falcon.constants.OOB_FLAGS_JAPAN_DRK,new cljs.core.Keyword(null,"big-vert","big-vert",-1944398663),weathergen.falcon.constants.OOB_FLAGS_JAPAN,new cljs.core.Keyword(null,"big-horiz","big-horiz",1553227279),weathergen.falcon.constants.OOB_FLAGS_JAPAN_HRZ,new cljs.core.Keyword(null,"small-horiz","small-horiz",-223646297),weathergen.falcon.constants.SMFLGS_JAPAN],
null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"big-vert-dark","big-vert-dark",1527566886),weathergen.falcon.constants.OOB_FLAGS_CIS_DRK,new cljs.core.Keyword(null,"big-vert","big-vert",-1944398663),weathergen.falcon.constants.OOB_FLAGS_CIS,new cljs.core.Keyword(null,"big-horiz","big-horiz",1553227279),weathergen.falcon.constants.OOB_FLAGS_CIS_HRZ,new cljs.core.Keyword(null,"small-horiz","small-horiz",-223646297),weathergen.falcon.constants.SMFLGS_CIS],null),new cljs.core.PersistentArrayMap(null,
4,[new cljs.core.Keyword(null,"big-vert-dark","big-vert-dark",1527566886),weathergen.falcon.constants.OOB_FLAGS_CHINA_DRK,new cljs.core.Keyword(null,"big-vert","big-vert",-1944398663),weathergen.falcon.constants.OOB_FLAGS_CHINA,new cljs.core.Keyword(null,"big-horiz","big-horiz",1553227279),weathergen.falcon.constants.OOB_FLAGS_CHINA_HRZ,new cljs.core.Keyword(null,"small-horiz","small-horiz",-223646297),weathergen.falcon.constants.SMFLGS_CHINA],null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,
"big-vert-dark","big-vert-dark",1527566886),weathergen.falcon.constants.OOB_FLAGS_NKOREA_DRK,new cljs.core.Keyword(null,"big-vert","big-vert",-1944398663),weathergen.falcon.constants.OOB_FLAGS_NKOREA,new cljs.core.Keyword(null,"big-horiz","big-horiz",1553227279),weathergen.falcon.constants.OOB_FLAGS_NKOREA_HRZ,new cljs.core.Keyword(null,"small-horiz","small-horiz",-223646297),weathergen.falcon.constants.SMFLGS_NKOREA],null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"big-vert-dark",
"big-vert-dark",1527566886),weathergen.falcon.constants.OOB_FLAGS_GERMAN_DRK,new cljs.core.Keyword(null,"big-vert","big-vert",-1944398663),weathergen.falcon.constants.OOB_FLAGS_GERMAN,new cljs.core.Keyword(null,"big-horiz","big-horiz",1553227279),weathergen.falcon.constants.OOB_FLAGS_GERMAN_HRZ,new cljs.core.Keyword(null,"small-horiz","small-horiz",-223646297),weathergen.falcon.constants.SMFLGS_GERMAN],null)],null);weathergen.falcon.constants.BLUE_TEAM_ICONS=56512E4;
weathergen.falcon.constants.BLUE_TEAM_ICONS_W=565120001;weathergen.falcon.constants.BROWN_TEAM_ICONS=565120002;weathergen.falcon.constants.BROWN_TEAM_ICONS_W=565120003;weathergen.falcon.constants.GREEN_TEAM_ICONS=565120004;weathergen.falcon.constants.GREEN_TEAM_ICONS_W=565120005;weathergen.falcon.constants.GREY_TEAM_ICONS=565120006;weathergen.falcon.constants.GREY_TEAM_ICONS_W=565120007;weathergen.falcon.constants.ORANGE_TEAM_ICONS=565120008;weathergen.falcon.constants.ORANGE_TEAM_ICONS_W=565120009;
weathergen.falcon.constants.RED_TEAM_ICONS=565120010;weathergen.falcon.constants.RED_TEAM_ICONS_W=565120011;weathergen.falcon.constants.WHITE_TEAM_ICONS=565120012;weathergen.falcon.constants.WHITE_TEAM_ICONS_W=565120013;weathergen.falcon.constants.YELLOW_TEAM_ICONS=565120014;weathergen.falcon.constants.YELLOW_TEAM_ICONS_W=565120015;weathergen.falcon.constants.BLUE_AIR_EAST=565121E3;weathergen.falcon.constants.BLUE_AIR_EAST_W=565121001;weathergen.falcon.constants.BLUE_AIR_NE=565121002;
weathergen.falcon.constants.BLUE_AIR_NE_W=565121003;weathergen.falcon.constants.BLUE_AIR_NORTH=565121004;weathergen.falcon.constants.BLUE_AIR_NORTH_W=565121005;weathergen.falcon.constants.BLUE_AIR_NW=565121006;weathergen.falcon.constants.BLUE_AIR_NW_W=565121007;weathergen.falcon.constants.BLUE_AIR_SE=565121008;weathergen.falcon.constants.BLUE_AIR_SE_W=565121009;weathergen.falcon.constants.BLUE_AIR_SOUTH=565121010;weathergen.falcon.constants.BLUE_AIR_SOUTH_W=565121011;
weathergen.falcon.constants.BLUE_AIR_SW=565121012;weathergen.falcon.constants.BLUE_AIR_SW_W=565121013;weathergen.falcon.constants.BLUE_AIR_WEST=565121014;weathergen.falcon.constants.BLUE_AIR_WEST_W=565121015;weathergen.falcon.constants.BROWN_AIR_EAST=565121016;weathergen.falcon.constants.BROWN_AIR_EAST_W=565121017;weathergen.falcon.constants.BROWN_AIR_NE=565121018;weathergen.falcon.constants.BROWN_AIR_NE_W=565121019;weathergen.falcon.constants.BROWN_AIR_NORTH=565121020;
weathergen.falcon.constants.BROWN_AIR_NORTH_W=565121021;weathergen.falcon.constants.BROWN_AIR_NW=565121022;weathergen.falcon.constants.BROWN_AIR_NW_W=565121023;weathergen.falcon.constants.BROWN_AIR_SE=565121024;weathergen.falcon.constants.BROWN_AIR_SE_W=565121025;weathergen.falcon.constants.BROWN_AIR_SOUTH=565121026;weathergen.falcon.constants.BROWN_AIR_SOUTH_W=565121027;weathergen.falcon.constants.BROWN_AIR_SW=565121028;weathergen.falcon.constants.BROWN_AIR_SW_W=565121029;
weathergen.falcon.constants.BROWN_AIR_WEST=565121030;weathergen.falcon.constants.BROWN_AIR_WEST_W=565121031;weathergen.falcon.constants.GREEN_AIR_EAST=565121032;weathergen.falcon.constants.GREEN_AIR_EAST_W=565121033;weathergen.falcon.constants.GREEN_AIR_NE=565121034;weathergen.falcon.constants.GREEN_AIR_NE_W=565121035;weathergen.falcon.constants.GREEN_AIR_NORTH=565121036;weathergen.falcon.constants.GREEN_AIR_NORTH_W=565121037;weathergen.falcon.constants.GREEN_AIR_NW=565121038;
weathergen.falcon.constants.GREEN_AIR_NW_W=565121039;weathergen.falcon.constants.GREEN_AIR_SE=565121040;weathergen.falcon.constants.GREEN_AIR_SE_W=565121041;weathergen.falcon.constants.GREEN_AIR_SOUTH=565121042;weathergen.falcon.constants.GREEN_AIR_SOUTH_W=565121043;weathergen.falcon.constants.GREEN_AIR_SW=565121044;weathergen.falcon.constants.GREEN_AIR_SW_W=565121045;weathergen.falcon.constants.GREEN_AIR_WEST=565121046;weathergen.falcon.constants.GREEN_AIR_WEST_W=565121047;
weathergen.falcon.constants.GREY_AIR_EAST=565121048;weathergen.falcon.constants.GREY_AIR_EAST_W=565121049;weathergen.falcon.constants.GREY_AIR_NE=565121050;weathergen.falcon.constants.GREY_AIR_NE_W=565121051;weathergen.falcon.constants.GREY_AIR_NORTH=565121052;weathergen.falcon.constants.GREY_AIR_NORTH_W=565121053;weathergen.falcon.constants.GREY_AIR_NW=565121054;weathergen.falcon.constants.GREY_AIR_NW_W=565121055;weathergen.falcon.constants.GREY_AIR_SE=565121056;
weathergen.falcon.constants.GREY_AIR_SE_W=565121057;weathergen.falcon.constants.GREY_AIR_SOUTH=565121058;weathergen.falcon.constants.GREY_AIR_SOUTH_W=565121059;weathergen.falcon.constants.GREY_AIR_SW=565121060;weathergen.falcon.constants.GREY_AIR_SW_W=565121061;weathergen.falcon.constants.GREY_AIR_WEST=565121062;weathergen.falcon.constants.GREY_AIR_WEST_W=565121063;weathergen.falcon.constants.ORANGE_AIR_EAST=565121064;weathergen.falcon.constants.ORANGE_AIR_EAST_W=565121065;
weathergen.falcon.constants.ORANGE_AIR_NE=565121066;weathergen.falcon.constants.ORANGE_AIR_NE_W=565121067;weathergen.falcon.constants.ORANGE_AIR_NORTH=565121068;weathergen.falcon.constants.ORANGE_AIR_NORTH_W=565121069;weathergen.falcon.constants.ORANGE_AIR_NW=565121070;weathergen.falcon.constants.ORANGE_AIR_NW_W=565121071;weathergen.falcon.constants.ORANGE_AIR_SE=565121072;weathergen.falcon.constants.ORANGE_AIR_SE_W=565121073;weathergen.falcon.constants.ORANGE_AIR_SOUTH=565121074;
weathergen.falcon.constants.ORANGE_AIR_SOUTH_W=565121075;weathergen.falcon.constants.ORANGE_AIR_SW=565121076;weathergen.falcon.constants.ORANGE_AIR_SW_W=565121077;weathergen.falcon.constants.ORANGE_AIR_WEST=565121078;weathergen.falcon.constants.ORANGE_AIR_WEST_W=565121079;weathergen.falcon.constants.RED_AIR_EAST=565121080;weathergen.falcon.constants.RED_AIR_EAST_W=565121081;weathergen.falcon.constants.RED_AIR_NE=565121082;weathergen.falcon.constants.RED_AIR_NE_W=565121083;
weathergen.falcon.constants.RED_AIR_NORTH=565121084;weathergen.falcon.constants.RED_AIR_NORTH_W=565121085;weathergen.falcon.constants.RED_AIR_NW=565121086;weathergen.falcon.constants.RED_AIR_NW_W=565121087;weathergen.falcon.constants.RED_AIR_SE=565121088;weathergen.falcon.constants.RED_AIR_SE_W=565121089;weathergen.falcon.constants.RED_AIR_SOUTH=565121090;weathergen.falcon.constants.RED_AIR_SOUTH_W=565121091;weathergen.falcon.constants.RED_AIR_SW=565121092;
weathergen.falcon.constants.RED_AIR_SW_W=565121093;weathergen.falcon.constants.RED_AIR_WEST=565121094;weathergen.falcon.constants.RED_AIR_WEST_W=565121095;weathergen.falcon.constants.WHITE_AIR_EAST=565121096;weathergen.falcon.constants.WHITE_AIR_EAST_W=565121097;weathergen.falcon.constants.WHITE_AIR_NE=565121098;weathergen.falcon.constants.WHITE_AIR_NE_W=565121099;weathergen.falcon.constants.WHITE_AIR_NORTH=565121100;weathergen.falcon.constants.WHITE_AIR_NORTH_W=565121101;
weathergen.falcon.constants.WHITE_AIR_NW=565121102;weathergen.falcon.constants.WHITE_AIR_NW_W=565121103;weathergen.falcon.constants.WHITE_AIR_SE=565121104;weathergen.falcon.constants.WHITE_AIR_SE_W=565121105;weathergen.falcon.constants.WHITE_AIR_SOUTH=565121106;weathergen.falcon.constants.WHITE_AIR_SOUTH_W=565121107;weathergen.falcon.constants.WHITE_AIR_SW=565121108;weathergen.falcon.constants.WHITE_AIR_SW_W=565121109;weathergen.falcon.constants.WHITE_AIR_WEST=565121110;
weathergen.falcon.constants.WHITE_AIR_WEST_W=565121111;weathergen.falcon.constants.YELLOW_AIR_EAST=565121112;weathergen.falcon.constants.YELLOW_AIR_EAST_W=565121113;weathergen.falcon.constants.YELLOW_AIR_NE=565121114;weathergen.falcon.constants.YELLOW_AIR_NE_W=565121115;weathergen.falcon.constants.YELLOW_AIR_NORTH=565121116;weathergen.falcon.constants.YELLOW_AIR_NORTH_W=565121117;weathergen.falcon.constants.YELLOW_AIR_NW=565121118;weathergen.falcon.constants.YELLOW_AIR_NW_W=565121119;
weathergen.falcon.constants.YELLOW_AIR_SE=565121120;weathergen.falcon.constants.YELLOW_AIR_SE_W=565121121;weathergen.falcon.constants.YELLOW_AIR_SOUTH=565121122;weathergen.falcon.constants.YELLOW_AIR_SOUTH_W=565121123;weathergen.falcon.constants.YELLOW_AIR_SW=565121124;weathergen.falcon.constants.YELLOW_AIR_SW_W=565121125;weathergen.falcon.constants.YELLOW_AIR_WEST=565121126;weathergen.falcon.constants.YELLOW_AIR_WEST_W=565121127;weathergen.falcon.constants.NUM_RADAR_ARCS=8;
weathergen.falcon.constants.ALT_FOR_RANGE_DETERMINATION=2500;weathergen.falcon.constants.MINIMUM_RADAR_RATIO=.022;weathergen.falcon.constants.NoPt=0;weathergen.falcon.constants.RunwayPt=1;weathergen.falcon.constants.TakeoffPt=2;weathergen.falcon.constants.TaxiPt=3;weathergen.falcon.constants.SAMPt=4;weathergen.falcon.constants.ArtilleryPt=5;weathergen.falcon.constants.AAAPt=6;weathergen.falcon.constants.RadarPt=7;weathergen.falcon.constants.RunwayDimPt=8;weathergen.falcon.constants.SupportPt=9;
weathergen.falcon.constants.StaticRadarPt=10;weathergen.falcon.constants.SmallParkPt=11;weathergen.falcon.constants.LargeParkPt=12;weathergen.falcon.constants.SmallDockPt=13;weathergen.falcon.constants.LargeDockPt=14;weathergen.falcon.constants.TakeRunwayPt=15;weathergen.falcon.constants.HelicopterPt=16;weathergen.falcon.constants.FollowMePt=17;weathergen.falcon.constants.TrackPt=18;weathergen.falcon.constants.CritTaxiPt=19;weathergen.falcon.constants.WP_NOTHING=0;
weathergen.falcon.constants.WP_TAKEOFF=1;weathergen.falcon.constants.WP_ASSEMBLE=2;weathergen.falcon.constants.WP_POSTASSEMBLE=3;weathergen.falcon.constants.WP_REFUEL=4;weathergen.falcon.constants.WP_REARM=5;weathergen.falcon.constants.WP_PICKUP=6;weathergen.falcon.constants.WP_LAND=7;weathergen.falcon.constants.WP_TIMING=8;weathergen.falcon.constants.WP_CASCP=9;weathergen.falcon.constants.WP_ESCORT=10;weathergen.falcon.constants.WP_CA=11;weathergen.falcon.constants.WP_CAP=12;
weathergen.falcon.constants.WP_INTERCEPT=13;weathergen.falcon.constants.WP_GNDSTRIKE=14;weathergen.falcon.constants.WP_NAVSTRIKE=15;weathergen.falcon.constants.WP_SAD=16;weathergen.falcon.constants.WP_STRIKE=17;weathergen.falcon.constants.WP_BOMB=18;weathergen.falcon.constants.WP_SEAD=19;weathergen.falcon.constants.WP_ELINT=20;weathergen.falcon.constants.WP_RECON=21;weathergen.falcon.constants.WP_RESCUE=22;weathergen.falcon.constants.WP_ASW=23;weathergen.falcon.constants.WP_TANKER=24;
weathergen.falcon.constants.WP_AIRDROP=25;weathergen.falcon.constants.WP_JAM=26;weathergen.falcon.constants.WP_FAC=30;weathergen.falcon.constants.WP_MOVEOPPOSED=40;weathergen.falcon.constants.WP_MOVEUNOPPOSED=41;weathergen.falcon.constants.WP_AIRBORNE=42;weathergen.falcon.constants.WP_AMPHIBIOUS=43;weathergen.falcon.constants.WP_DEFEND=44;weathergen.falcon.constants.WP_REPAIR=45;weathergen.falcon.constants.WP_RESERVE=46;weathergen.falcon.constants.WP_AIRDEFENSE=47;
weathergen.falcon.constants.WP_FIRESUPPORT=48;weathergen.falcon.constants.WP_SECURE=49;weathergen.falcon.constants.WP_LAST=50;weathergen.falcon.constants.WPF_TARGET=1;weathergen.falcon.constants.WPF_ASSEMBLE=2;weathergen.falcon.constants.WPF_BREAKPOINT=4;weathergen.falcon.constants.WPF_IP=8;weathergen.falcon.constants.WPF_TURNPOINT=16;weathergen.falcon.constants.WPF_CP=32;weathergen.falcon.constants.WPF_REPEAT=64;weathergen.falcon.constants.WPF_TAKEOFF=128;weathergen.falcon.constants.WPF_LAND=256;
weathergen.falcon.constants.WPF_DIVERT=512;weathergen.falcon.constants.WPF_ALTERNATE=1024;weathergen.falcon.constants.WPF_HOLDCURRENT=2048;weathergen.falcon.constants.WPF_REPEAT_CONTINUOUS=4096;weathergen.falcon.constants.WPF_IN_PACKAGE=8192;weathergen.falcon.constants.WPF_TIME_LOCKED=16384;weathergen.falcon.constants.WPF_SPEED_LOCKED=32768;weathergen.falcon.constants.WPF_REFUEL_INFORMATION=65536;weathergen.falcon.constants.WPF_REQHELP=131072;weathergen.falcon.constants.WPF_CRITICAL_MASK=2047;
weathergen.falcon.constants.GRIDZ_SCALE_FACTOR=10;weathergen.falcon.constants.MINIMUM_ASL_ALTITUDE=5E3;weathergen.falcon.constants.COUN_NONE=0;weathergen.falcon.constants.COUN_US=1;weathergen.falcon.constants.COUN_SOUTH_KOREA=2;weathergen.falcon.constants.COUN_JAPAN=3;weathergen.falcon.constants.COUN_RUSSIA=4;weathergen.falcon.constants.COUN_CHINA=5;weathergen.falcon.constants.COUN_NORTH_KOREA=6;weathergen.falcon.constants.COUN_GORN=7;weathergen.falcon.constants.NUM_COUNS=8;
weathergen.falcon.constants.TEAM_NEUTRAL=0;weathergen.falcon.constants.TEAM_1=1;weathergen.falcon.constants.TEAM_2=2;weathergen.falcon.constants.TEAM_3=3;weathergen.falcon.constants.TEAM_4=4;weathergen.falcon.constants.TEAM_5=5;weathergen.falcon.constants.TEAM_6=6;weathergen.falcon.constants.TEAM_7=7;weathergen.falcon.constants.NUM_TEAMS=8;weathergen.falcon.constants.NoRelations=0;weathergen.falcon.constants.Allied=1;weathergen.falcon.constants.Friendly=2;weathergen.falcon.constants.Neutral=3;
weathergen.falcon.constants.Hostile=4;weathergen.falcon.constants.War=5;weathergen.falcon.constants.TEAM_ACTIVE=1;weathergen.falcon.constants.TEAM_HASSATS=2;weathergen.falcon.constants.TEAM_UPDATED=4;weathergen.falcon.constants.NUM_CAMERA_LABELS=16;weathergen.falcon.constants.ATO_OCA=1;weathergen.falcon.constants.ATO_STRIKE=2;weathergen.falcon.constants.ATO_INTERDICTION=3;weathergen.falcon.constants.ATO_SEAD=4;weathergen.falcon.constants.ATO_CAS=5;weathergen.falcon.constants.ATO_DCA=6;
weathergen.falcon.constants.ATO_CCCI=7;weathergen.falcon.constants.ATO_MARITIME=8;weathergen.falcon.constants.ATO_SUPPORT=9;weathergen.falcon.constants.ATO_OTHER=10;weathergen.falcon.constants.AIRCRAFT_NOT_ASSIGNED=0;weathergen.falcon.constants.AIRCRAFT_MISSING=1;weathergen.falcon.constants.AIRCRAFT_DEAD=2;weathergen.falcon.constants.AIRCRAFT_RTB=3;weathergen.falcon.constants.AIRCRAFT_AVAILABLE=4;weathergen.falcon.constants.PASL=2116.22;weathergen.falcon.constants.AASLK=661.48;weathergen.falcon.files.images={};
weathergen.falcon.files.images.read_index=cljs.core.memoize.call(null,function(a){var b=octet.core.spec.call(null,new cljs.core.Keyword(null,"type","type",1174270348),octet.core.int32,new cljs.core.Keyword(null,"id","id",-1388402092),octet.core.string.call(null,32)),c=octet.core.spec.call(null,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.int32,new cljs.core.Keyword(null,"center","center",-748944368),octet.core.repeat.call(null,2,octet.core.int16),new cljs.core.Keyword(null,"size",
"size",1098693007),octet.core.repeat.call(null,2,octet.core.int16),new cljs.core.Keyword(null,"image-offset","image-offset",-1802347612),octet.core.int32,new cljs.core.Keyword(null,"palette-size","palette-size",-995698822),octet.core.int32,new cljs.core.Keyword(null,"palette-offset","palette-offset",1376573573),octet.core.int32),d=octet.core.spec.call(null,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.int32,new cljs.core.Keyword(null,"channels","channels",1132759174),octet.core.int16,
new cljs.core.Keyword(null,"sound-type","sound-type",-1070198063),octet.core.int16,new cljs.core.Keyword(null,"offset","offset",296498311),octet.core.int32,new cljs.core.Keyword(null,"header-size","header-size",-111873897),octet.core.int32),e=octet.core.spec.call(null,new cljs.core.Keyword(null,"offset","offset",296498311),octet.core.int32,new cljs.core.Keyword(null,"size","size",1098693007),octet.core.int32),f=octet.core.spec.call(null,new cljs.core.Keyword(null,"size","size",1098693007),octet.core.int32,
new cljs.core.Keyword(null,"version","version",425292698),octet.core.int32);a=weathergen.filesystem.file_buf.call(null,a);var g=octet.buffer._STAR_byte_order_STAR_;octet.buffer._STAR_byte_order_STAR_=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);try{for(var h=octet.core.read.call(null,a,f),k=null!=h&&(h.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===h.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,h):h,l=cljs.core.get.call(null,k,new cljs.core.Keyword(null,
"size","size",1098693007)),m=octet.core.size.call(null,f),n=cljs.core.PersistentVector.EMPTY;;)if(0<l-m)var p=octet.core.read_STAR_.call(null,a,b,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),m],null)),q=cljs.core.nth.call(null,p,0,null),r=cljs.core.nth.call(null,p,1,null),f=m+q,u=octet.core.read_STAR_.call(null,a,function(){var a=cljs.core._EQ_,b=(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(r);if(cljs.core.truth_(a.call(null,
weathergen.falcon.constants._RSC_IS_IMAGE_,b)))return c;if(cljs.core.truth_(a.call(null,weathergen.falcon.constants._RSC_IS_SOUND_,b)))return d;if(cljs.core.truth_(a.call(null,weathergen.falcon.constants._RSC_IS_FLAT_,b)))return e;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));}(),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),f],null)),t=cljs.core.nth.call(null,
u,0,null),v=cljs.core.nth.call(null,u,1,null),f=f+t,w=cljs.core.conj.call(null,n,cljs.core.into.call(null,r,v)),m=f,n=w;else return n}finally{octet.buffer._STAR_byte_order_STAR_=g}});
weathergen.falcon.files.images.palette=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"palette-size","palette-size",-995698822)),c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"palette-offset","palette-offset",1376573573)),e=octet.buffer._STAR_byte_order_STAR_;octet.buffer._STAR_byte_order_STAR_=new cljs.core.Keyword(null,
"little-endian","little-endian",1877303413);try{return octet.core.read.call(null,a,octet.core.repeat.call(null,d,octet.core.uint16),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),c+8],null))}finally{octet.buffer._STAR_byte_order_STAR_=e}};
weathergen.falcon.files.images.read_image=function(a,b,c){var d=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"resource","resource",251898836)),f=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"image-id","image-id",-988480565)),g=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"base","base",185279322)),h=cljs.core.get.call(null,
d,new cljs.core.Keyword(null,"image-data","image-data",-377483758));a=weathergen.filesystem.file_buf.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(g),cljs.core.str.cljs$core$IFn$_invoke$arity$1(".rsc")].join(""));var k=weathergen.falcon.files.images.palette.call(null,a,h),l=null!=h&&(h.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===h.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,h):h,m=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"palette-size",
"palette-size",-995698822)),n=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"palette-offset","palette-offset",1376573573)),p=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"center","center",-748944368)),q=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"image-offset","image-offset",-1802347612)),r=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"size","size",1098693007)),u=weathergen.util.has_flag_QMARK_.call(null,(new cljs.core.Keyword(null,"flags","flags",1775418075)).cljs$core$IFn$_invoke$arity$1(h),
weathergen.falcon.constants._RSC_8_BIT_),t=weathergen.util.has_flag_QMARK_.call(null,(new cljs.core.Keyword(null,"flags","flags",1775418075)).cljs$core$IFn$_invoke$arity$1(h),weathergen.falcon.constants._RSC_USECOLORKEY_),v=cljs.core.nth.call(null,r,0,null),w=cljs.core.nth.call(null,r,1,null);taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.falcon.files.images",null,94,new cljs.core.Keyword(null,"p","p",151049309),
new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,z,w,x){return function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["read-image",new cljs.core.Keyword(null,"image-descriptor","image-descriptor",-1531626249),b],null)}}(b,d,e,f,g,h,a,k,h,l,m,n,p,q,r,u,t,r,v,w),null),null,-860912245);if(!cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(h),
weathergen.falcon.constants._RSC_IS_IMAGE_))throw cljs.core.ex_info.call(null,"Not an image",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"reason","reason",-2070751759),new cljs.core.Keyword("weathergen.falcon.files.images","not-an-image","weathergen.falcon.files.images/not-an-image",-961229360)],null));if(cljs.core.not.call(null,u)&&cljs.core.not.call(null,weathergen.util.has_flag_QMARK_.call(null,(new cljs.core.Keyword(null,"flags","flags",1775418075)).cljs$core$IFn$_invoke$arity$1(h),
weathergen.falcon.constants._RSC_16_BIT_)))throw cljs.core.ex_info.call(null,"Image is neither 8-bit nor 16-bit",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"reason","reason",-2070751759),new cljs.core.Keyword("weathergen.falcon.files.images","bit-size-unknown","weathergen.falcon.files.images/bit-size-unknown",1319239173)],null));c=c.call(null,v,w);d=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,c):c;c=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"set-pixel!","set-pixel!",1287500897));d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"finalize","finalize",-1152897571));e=cljs.core.truth_(u)?1:2;f=cljs.core.truth_(u)?octet.buffer.read_ubyte:octet.buffer.read_ushort;g=octet.buffer._STAR_byte_order_STAR_;octet.buffer._STAR_byte_order_STAR_=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);try{for(var x=cljs.core.seq.call(null,cljs.core.range.call(null,
w)),w=null,l=h=0;;)if(l<h){for(var y=cljs.core._nth.call(null,w,l),z=cljs.core.seq.call(null,cljs.core.range.call(null,v)),m=null,p=n=0;;)if(p<n){var A=cljs.core._nth.call(null,m,p),J=f.call(null,a,8+q+e*(A+y*v)),B=cljs.core.truth_(u)?cljs.core.nth.call(null,k,J):J,r=B>>10&31,C=B>>5&31,G=B&31,E=cljs.core.truth_(t)?cljs.core.truth_(u)?0===J:cljs.core._EQ_.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[31,0,31],null),new cljs.core.PersistentVector(null,3,5,
cljs.core.PersistentVector.EMPTY_NODE,[r,C,G],null)):t,D=((((cljs.core.truth_(E)?0:255)<<8)+8*G<<8)+8*C<<8)+8*r;c.call(null,A,y,D);p+=1}else{var L=cljs.core.seq.call(null,z);if(L){r=L;if(cljs.core.chunked_seq_QMARK_.call(null,r))var F=cljs.core.chunk_first.call(null,r),K=cljs.core.chunk_rest.call(null,r),r=F,M=cljs.core.count.call(null,F),z=K,m=r,n=M;else{var I=cljs.core.first.call(null,r),H=f.call(null,a,8+q+e*(I+y*v)),P=cljs.core.truth_(u)?cljs.core.nth.call(null,k,H):H,C=P>>10&31,G=P>>5&31,O=P&
31,N=cljs.core.truth_(t)?cljs.core.truth_(u)?0===H:cljs.core._EQ_.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[31,0,31],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[C,G,O],null)):t,Q=((((cljs.core.truth_(N)?0:255)<<8)+8*O<<8)+8*G<<8)+8*C;c.call(null,I,y,Q);z=cljs.core.next.call(null,r);m=null;n=0}p=0}else break}l+=1}else{var S=cljs.core.seq.call(null,x);if(S){m=S;if(cljs.core.chunked_seq_QMARK_.call(null,m))var V=
cljs.core.chunk_first.call(null,m),T=cljs.core.chunk_rest.call(null,m),m=V,U=cljs.core.count.call(null,V),x=T,w=m,h=U;else{for(var R=cljs.core.first.call(null,m),X=cljs.core.seq.call(null,cljs.core.range.call(null,v)),n=null,r=p=0;;)if(r<p){var Z=cljs.core._nth.call(null,n,r),Y=f.call(null,a,8+q+e*(Z+R*v)),aa=cljs.core.truth_(u)?cljs.core.nth.call(null,k,Y):Y,C=aa>>10&31,G=aa>>5&31,O=aa&31,ca=cljs.core.truth_(t)?cljs.core.truth_(u)?0===Y:cljs.core._EQ_.call(null,new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[31,0,31],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[C,G,O],null)):t,W=((((cljs.core.truth_(ca)?0:255)<<8)+8*O<<8)+8*G<<8)+8*C;c.call(null,Z,R,W);r+=1}else{var ba=cljs.core.seq.call(null,X);if(ba){C=ba;if(cljs.core.chunked_seq_QMARK_.call(null,C))var da=cljs.core.chunk_first.call(null,C),ga=cljs.core.chunk_rest.call(null,C),C=da,ea=cljs.core.count.call(null,da),X=ga,n=C,p=ea;else{var la=cljs.core.first.call(null,C),
ha=f.call(null,a,8+q+e*(la+R*v)),fa=cljs.core.truth_(u)?cljs.core.nth.call(null,k,ha):ha,G=fa>>10&31,O=fa>>5&31,ia=fa&31,ja=cljs.core.truth_(t)?cljs.core.truth_(u)?0===ha:cljs.core._EQ_.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[31,0,31],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[G,O,ia],null)):t,ma=((((cljs.core.truth_(ja)?0:255)<<8)+8*ia<<8)+8*O<<8)+8*G;c.call(null,la,R,ma);X=cljs.core.next.call(null,C);n=null;
p=0}r=0}else break}x=cljs.core.next.call(null,m);w=null;h=0}l=0}else break}}finally{octet.buffer._STAR_byte_order_STAR_=g}return d.call(null)};
weathergen.falcon.files.images.cache_key=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"resource","resource",251898836));var c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"image-id","image-id",-988480565)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"art-dir","art-dir",67381390)),e=cljs.core.get.call(null,
b,new cljs.core.Keyword(null,"idx-size","idx-size",893862481)),f=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"idx-modified","idx-modified",-1917929304)),g=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"rsc-size","rsc-size",-568560687)),b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"rsc-modified","rsc-modified",-250537226));return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),cljs.core.str.cljs$core$IFn$_invoke$arity$1("/"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1("/"),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),cljs.core.str.cljs$core$IFn$_invoke$arity$1("/"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(f),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(g),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("")};
weathergen.falcon.files.images.make_descriptor=function(a,b,c){var d=(new cljs.core.Keyword(null,"data-dir","data-dir",2038801936)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"installation","installation",943147954)).cljs$core$IFn$_invoke$arity$1(a)),e=(new cljs.core.Keyword(null,"art-dir","art-dir",67381390)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"theater","theater",258922071)).cljs$core$IFn$_invoke$arity$1(a)),f=(new cljs.core.Keyword(null,"art-dir","art-dir",
67381390)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"installation","installation",943147954)).cljs$core$IFn$_invoke$arity$1(a)),g=weathergen.filesystem.path_combine.call(null,d,e,b),h=weathergen.filesystem.path_combine.call(null,d,f,b),k=weathergen.filesystem.exists_QMARK_.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(g),cljs.core.str.cljs$core$IFn$_invoke$arity$1(".idx")].join("")),l=cljs.core.truth_(k)?e:f,m=weathergen.filesystem.path_combine.call(null,d,cljs.core.truth_(k)?
g:h),n=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(m),cljs.core.str.cljs$core$IFn$_invoke$arity$1(".idx")].join(""),p=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(m),cljs.core.str.cljs$core$IFn$_invoke$arity$1(".rsc")].join(""),q=weathergen.filesystem.stat.call(null,n),r=weathergen.filesystem.stat.call(null,p),u=(new cljs.core.Keyword(null,"data-dir","data-dir",2038801936)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"installation","installation",943147954)).cljs$core$IFn$_invoke$arity$1(a)),
t=weathergen.falcon.files.images.read_index.call(null,n),v=cljs.core.first.call(null,cljs.core.filter.call(null,function(a,b,d,e,f,g,h,k,l,m,n,p,q,r){return function(a){return cljs.core._EQ_.call(null,c,(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(a))}}(d,e,f,g,h,k,l,m,n,p,q,r,u,t),t));cljs.core.truth_(v)||function(){throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Assert failed: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(function(){var a=new goog.string.StringBuffer,
x=cljs.core._STAR_print_newline_STAR_,y=cljs.core._STAR_print_fn_STAR_;cljs.core._STAR_print_newline_STAR_=!0;cljs.core._STAR_print_fn_STAR_=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(a){return c.append(a)}}(x,y,a,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v);try{cljs.core.print.call(null,"Couldn't find an image with that ID",new cljs.core.Keyword(null,"resource","resource",251898836),b,new cljs.core.Keyword(null,"image-id","image-id",-988480565),c)}finally{cljs.core._STAR_print_fn_STAR_=y,cljs.core._STAR_print_newline_STAR_=
x}return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)}()),cljs.core.str.cljs$core$IFn$_invoke$arity$1("\n"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("image-data")].join(""));}();return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"idx-modified","idx-modified",-1917929304),new cljs.core.Keyword(null,"image-id","image-id",-988480565),new cljs.core.Keyword(null,"art-dir","art-dir",67381390),new cljs.core.Keyword(null,"idx-size","idx-size",893862481),new cljs.core.Keyword(null,
"rsc-size","rsc-size",-568560687),new cljs.core.Keyword(null,"image-data","image-data",-377483758),new cljs.core.Keyword(null,"resource","resource",251898836),new cljs.core.Keyword(null,"rsc-modified","rsc-modified",-250537226),new cljs.core.Keyword(null,"base","base",185279322)],[(new cljs.core.Keyword(null,"modified","modified",-2134587826)).cljs$core$IFn$_invoke$arity$1(q),c,l,(new cljs.core.Keyword(null,"size","size",1098693007)).cljs$core$IFn$_invoke$arity$1(q),(new cljs.core.Keyword(null,"size",
"size",1098693007)).cljs$core$IFn$_invoke$arity$1(r),v,b,(new cljs.core.Keyword(null,"modified","modified",-2134587826)).cljs$core$IFn$_invoke$arity$1(r),m])};weathergen.database={};weathergen.database.kuriles={};
weathergen.database.kuriles.theater_info=new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"owners","owners",1019390468),new cljs.core.PersistentArrayMap(null,8,[0,"XX",1,"US",2,"Japan",3,"ROK",4,"DPRK",5,"PRC",6,"CIS",7,"Gorn"],null),new cljs.core.Keyword(null,"size","size",1098693007),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1024,1024],null),new cljs.core.Keyword(null,"mapping","mapping",-1242405430),new cljs.core.PersistentArrayMap(null,4,
[new cljs.core.Keyword(null,"left","left",-399115937),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[51,11.75],null),new cljs.core.Keyword(null,"top","top",-1856271961),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[137,0],null),new cljs.core.Keyword(null,"bottom","bottom",-1550509018),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[41,59.95],null),new cljs.core.Keyword(null,"top-right","top-right",284698505),
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[151,40.475],null)],null),new cljs.core.Keyword(null,"objectives","objectives",933939509),cljs.core.PersistentVector.fromArray([new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),424,new cljs.core.Keyword(null,"y","y",-1757859776),920,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Zonalnoye Airport",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),4],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),174,new cljs.core.Keyword(null,"y","y",-1757859776),990,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Tsimmermanovka Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),5],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"x","x",2099068185),422,new cljs.core.Keyword(null,"y","y",-1757859776),864,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Onor Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),6],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),454,new cljs.core.Keyword(null,"y","y",-1757859776),841,new cljs.core.Keyword(null,
"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Pervomaysk Zhitnitsa Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),7],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),465,new cljs.core.Keyword(null,"y","y",-1757859776),772,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Poronaysk Northeast Airport",
new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),9],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),1012,new cljs.core.Keyword(null,"y","y",-1757859776),422,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Urup Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),
10],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),430,new cljs.core.Keyword(null,"y","y",-1757859776),778,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Matrosovo Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),11],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),24,new cljs.core.Keyword(null,
"y","y",-1757859776),913,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Dzyomgi",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),14],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),9,new cljs.core.Keyword(null,"y","y",-1757859776),890,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name",
"name",1843675177),"Komsomolsk-on-Amur",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),15],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),240,new cljs.core.Keyword(null,"y","y",-1757859776),759,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Kamenny Ruchey Naval AB",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",
new cljs.core.Keyword(null,"id","id",-1388402092),16],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),232,new cljs.core.Keyword(null,"y","y",-1757859776),737,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Vanino Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),17],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,
"x","x",2099068185),244,new cljs.core.Keyword(null,"y","y",-1757859776),730,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Sovetskaya Gavan Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),18],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),222,new cljs.core.Keyword(null,"y","y",-1757859776),724,new cljs.core.Keyword(null,
"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Maygatka Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),19],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),3,new cljs.core.Keyword(null,"y","y",-1757859776),810,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Dzhonka Airport",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),20],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),849,new cljs.core.Keyword(null,"y","y",-1757859776),316,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Vetrovoye Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),21],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"x","x",2099068185),6,new cljs.core.Keyword(null,"y","y",-1757859776),768,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Manoma",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),22],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),7,new cljs.core.Keyword(null,"y","y",-1757859776),757,new cljs.core.Keyword(null,
"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Chuin Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),23],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),419,new cljs.core.Keyword(null,"y","y",-1757859776),542,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Dolinsk-Sokol Airbase",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),24],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),363,new cljs.core.Keyword(null,"y","y",-1757859776),544,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Kostromskoye Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),25],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"x","x",2099068185),795,new cljs.core.Keyword(null,"y","y",-1757859776),280,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Burevestnik Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),26],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),448,new cljs.core.Keyword(null,"y","y",-1757859776),
471,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Ozerskiy Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),28],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),426,new cljs.core.Keyword(null,"y","y",-1757859776),480,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),
"Novaya Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),29],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),110,new cljs.core.Keyword(null,"y","y",-1757859776),531,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Samarga Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,
"id","id",-1388402092),30],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),298,new cljs.core.Keyword(null,"y","y",-1757859776),79,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Okadama Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),159],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",
2099068185),450,new cljs.core.Keyword(null,"y","y",-1757859776),51,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Tokachi-Obihiro Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),160],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),385,new cljs.core.Keyword(null,"y","y",-1757859776),145,new cljs.core.Keyword(null,"owner",
"owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Asahikawa Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),161],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),528,new cljs.core.Keyword(null,"y","y",-1757859776),73,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Kushiro Airport",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),162],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),587,new cljs.core.Keyword(null,"y","y",-1757859776),132,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Nakashibetsu Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),164],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"x","x",2099068185),528,new cljs.core.Keyword(null,"y","y",-1757859776),163,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Memanbetsu Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),166],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),468,new cljs.core.Keyword(null,"y","y",-1757859776),
205,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Monbetsu Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),167],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),341,new cljs.core.Keyword(null,"y","y",-1757859776),325,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),
"Wakkanai Air Station",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),169],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),293,new cljs.core.Keyword(null,"y","y",-1757859776),313,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Rishiri Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,
"id","id",-1388402092),170],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),327,new cljs.core.Keyword(null,"y","y",-1757859776),44,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"New Chitose Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),158],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,
"x","x",2099068185),414,new cljs.core.Keyword(null,"y","y",-1757859776),499,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Yuzhno-Sakhalinsk Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),27],null)],!0)],null);weathergen.database.balkans={};
weathergen.database.balkans.theater_info=new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"owners","owners",1019390468),new cljs.core.PersistentArrayMap(null,8,[0,"Greece",1,"Slovenia",2,"NATO",3,"Bosnia",4,"Albania",5,"Hungary",6,"FRY",7,"Croatia"],null),new cljs.core.Keyword(null,"size","size",1098693007),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1024,1024],null),new cljs.core.Keyword(null,"mapping","mapping",-1242405430),new cljs.core.PersistentArrayMap(null,
4,[new cljs.core.Keyword(null,"left","left",-399115937),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[11,0],null),new cljs.core.Keyword(null,"top","top",-1856271961),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[45,49.25],null),new cljs.core.Keyword(null,"bottom","bottom",-1550509018),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[36,37.3],null),new cljs.core.Keyword(null,"top-right","top-right",284698505),
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[24,11.67],null)],null),new cljs.core.Keyword(null,"objectives","objectives",933939509),cljs.core.PersistentVector.fromArray([new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),162,new cljs.core.Keyword(null,"y","y",-1757859776),962,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Aviano Airbase",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),51,new cljs.core.Keyword(null,"y","y",-1757859776),948,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Asiago Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),299,new cljs.core.Keyword(null,
"y","y",-1757859776),845,new cljs.core.Keyword(null,"owner","owner",-392611939),"Croatia",new cljs.core.Keyword(null,"name","name",1843675177),"Pula Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),266,new cljs.core.Keyword(null,"y","y",-1757859776),903,new cljs.core.Keyword(null,"owner","owner",-392611939),"Croatia",new cljs.core.Keyword(null,"name","name",1843675177),"Portoroz Airport",
new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),520,new cljs.core.Keyword(null,"y","y",-1757859776),933,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Zagreb Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),
792,new cljs.core.Keyword(null,"y","y",-1757859776),589,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Tivat Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),1015,new cljs.core.Keyword(null,"y","y",-1757859776),834,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",
1843675177),"Kovin Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),656,new cljs.core.Keyword(null,"y","y",-1757859776),397,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Grottaglie Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),570,new cljs.core.Keyword(null,"y","y",-1757859776),390,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Matera Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),154,new cljs.core.Keyword(null,"y","y",-1757859776),664,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,
"name","name",1843675177),"Perugia Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),57,new cljs.core.Keyword(null,"y","y",-1757859776),918,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Vicenza Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),124,new cljs.core.Keyword(null,"y","y",-1757859776),793,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Ravenna Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),790,new cljs.core.Keyword(null,"y","y",-1757859776),803,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,
"name","name",1843675177),"Tuzla Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),754,new cljs.core.Keyword(null,"y","y",-1757859776),737,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Sarajevo International",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),712,new cljs.core.Keyword(null,"y","y",-1757859776),412,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Brindisi-Casale Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),11,new cljs.core.Keyword(null,"y","y",-1757859776),962,new cljs.core.Keyword(null,"owner","owner",
-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Mattarello Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),419,new cljs.core.Keyword(null,"y","y",-1757859776),1009,new cljs.core.Keyword(null,"owner","owner",-392611939),"Slovenia",new cljs.core.Keyword(null,"name","name",1843675177),"Slovenj Gradec Airport",new cljs.core.Keyword(null,"type","type",1174270348),
"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),551,new cljs.core.Keyword(null,"y","y",-1757859776),988,new cljs.core.Keyword(null,"owner","owner",-392611939),"Croatia",new cljs.core.Keyword(null,"name","name",1843675177),"Varazdin Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),598,new cljs.core.Keyword(null,"y","y",-1757859776),
946,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Bjelovar Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),885,new cljs.core.Keyword(null,"y","y",-1757859776),837,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Sabac  Airstrip",new cljs.core.Keyword(null,
"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),862,new cljs.core.Keyword(null,"y","y",-1757859776),407,new cljs.core.Keyword(null,"owner","owner",-392611939),"Albania",new cljs.core.Keyword(null,"name","name",1843675177),"Mifol Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),1001,new cljs.core.Keyword(null,
"y","y",-1757859776),233,new cljs.core.Keyword(null,"owner","owner",-392611939),"Greece",new cljs.core.Keyword(null,"name","name",1843675177),"Preveza Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),1010,new cljs.core.Keyword(null,"y","y",-1757859776),115,new cljs.core.Keyword(null,"owner","owner",-392611939),"Greece",new cljs.core.Keyword(null,"name","name",1843675177),"Dionisios Solomos Airport",
new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),706,new cljs.core.Keyword(null,"y","y",-1757859776),1001,new cljs.core.Keyword(null,"owner","owner",-392611939),"Hungary",new cljs.core.Keyword(null,"name","name",1843675177),"Taszar Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),
794,new cljs.core.Keyword(null,"y","y",-1757859776),989,new cljs.core.Keyword(null,"owner","owner",-392611939),"Hungary",new cljs.core.Keyword(null,"name","name",1843675177),"Ocseny Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),950,new cljs.core.Keyword(null,"y","y",-1757859776),427,new cljs.core.Keyword(null,"owner","owner",-392611939),"Albania",new cljs.core.Keyword(null,"name",
"name",1843675177),"Berat Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),7,new cljs.core.Keyword(null,"y","y",-1757859776),629,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Grosseto Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),26,new cljs.core.Keyword(null,"y","y",-1757859776),676,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Ampugnano Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),486,new cljs.core.Keyword(null,"y","y",-1757859776),813,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,
"name","name",1843675177),"Udbina Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),447,new cljs.core.Keyword(null,"y","y",-1757859776),765,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Zemunik Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),701,new cljs.core.Keyword(null,"y","y",-1757859776),679,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Mostar Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),542,new cljs.core.Keyword(null,"y","y",-1757859776),708,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,
"name","name",1843675177),"Split Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),890,new cljs.core.Keyword(null,"y","y",-1757859776),741,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Lepa Glava Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,
[new cljs.core.Keyword(null,"x","x",2099068185),955,new cljs.core.Keyword(null,"y","y",-1757859776),840,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Beograd Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),947,new cljs.core.Keyword(null,"y","y",-1757859776),850,new cljs.core.Keyword(null,"owner","owner",-392611939),
"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Batajnica Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),982,new cljs.core.Keyword(null,"y","y",-1757859776),736,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Kraljevo Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),926,new cljs.core.Keyword(null,"y","y",-1757859776),678,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Sjenica Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),907,new cljs.core.Keyword(null,"y","y",-1757859776),629,new cljs.core.Keyword(null,"owner","owner",-392611939),
"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Ivangrad Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),846,new cljs.core.Keyword(null,"y","y",-1757859776),585,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Podgorica Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),749,new cljs.core.Keyword(null,"y","y",-1757859776),606,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Dubrovnic International",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),135,new cljs.core.Keyword(null,"y","y",-1757859776),778,new cljs.core.Keyword(null,"owner","owner",
-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Cervia Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),488,new cljs.core.Keyword(null,"y","y",-1757859776),842,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Bihac Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),
new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),28,new cljs.core.Keyword(null,"y","y",-1757859776),810,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Bologna Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),227,new cljs.core.Keyword(null,"y","y",-1757859776),517,new cljs.core.Keyword(null,
"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Frosinone Airfield",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),208,new cljs.core.Keyword(null,"y","y",-1757859776),957,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Rivolto Airport",new cljs.core.Keyword(null,"type","type",1174270348),
"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),335,new cljs.core.Keyword(null,"y","y",-1757859776),440,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Capodichino Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),81,new cljs.core.Keyword(null,"y","y",-1757859776),
900,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Padova Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),253,new cljs.core.Keyword(null,"y","y",-1757859776),942,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Ronchi dei legionari AP",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),314,new cljs.core.Keyword(null,"y","y",-1757859776),455,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Grazzanise Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),702,new cljs.core.Keyword(null,
"y","y",-1757859776),390,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"San Pancrazio Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),324,new cljs.core.Keyword(null,"y","y",-1757859776),593,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Pescara Airport",
new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),731,new cljs.core.Keyword(null,"y","y",-1757859776),370,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Lecce Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),
120,new cljs.core.Keyword(null,"y","y",-1757859776),923,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"S.Angelo Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),360,new cljs.core.Keyword(null,"y","y",-1757859776),891,new cljs.core.Keyword(null,"owner","owner",-392611939),"Croatia",new cljs.core.Keyword(null,"name",
"name",1843675177),"Rijeka Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),462,new cljs.core.Keyword(null,"y","y",-1757859776),950,new cljs.core.Keyword(null,"owner","owner",-392611939),"Slovenia",new cljs.core.Keyword(null,"name","name",1843675177),"Cerklje Ob Krki Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),643,new cljs.core.Keyword(null,"y","y",-1757859776),851,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Banja Luka Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),164,new cljs.core.Keyword(null,"y","y",-1757859776),755,new cljs.core.Keyword(null,"owner","owner",-392611939),
"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Rimini Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),607,new cljs.core.Keyword(null,"y","y",-1757859776),424,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Gioia del colle Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),
new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),484,new cljs.core.Keyword(null,"y","y",-1757859776),501,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Amendola Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),464,new cljs.core.Keyword(null,"y","y",-1757859776),492,new cljs.core.Keyword(null,
"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Gino Lisa Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),109,new cljs.core.Keyword(null,"y","y",-1757859776),929,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Istrana Airport",new cljs.core.Keyword(null,"type","type",1174270348),
"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),779,new cljs.core.Keyword(null,"y","y",-1757859776),853,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Brcko Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),108,new cljs.core.Keyword(null,"y","y",-1757859776),
775,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Forli Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),139,new cljs.core.Keyword(null,"y","y",-1757859776),910,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Tessera Airport",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),480,new cljs.core.Keyword(null,"y","y",-1757859776),1008,new cljs.core.Keyword(null,"owner","owner",-392611939),"Slovenia",new cljs.core.Keyword(null,"name","name",1843675177),"Maribor Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),30,new cljs.core.Keyword(null,
"y","y",-1757859776),1004,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Bolzano Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),354,new cljs.core.Keyword(null,"y","y",-1757859776),982,new cljs.core.Keyword(null,"owner","owner",-392611939),"Slovenia",new cljs.core.Keyword(null,"name","name",1843675177),"Ljubljana Airport",
new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),366,new cljs.core.Keyword(null,"y","y",-1757859776),934,new cljs.core.Keyword(null,"owner","owner",-392611939),"Slovenia",new cljs.core.Keyword(null,"name","name",1843675177),"Bloska Polica Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x",
"x",2099068185),445,new cljs.core.Keyword(null,"y","y",-1757859776),945,new cljs.core.Keyword(null,"owner","owner",-392611939),"Slovenia",new cljs.core.Keyword(null,"name","name",1843675177),"Cerklje Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),471,new cljs.core.Keyword(null,"y","y",-1757859776),898,new cljs.core.Keyword(null,"owner","owner",-392611939),"Croatia",new cljs.core.Keyword(null,
"name","name",1843675177),"Karlovac Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),708,new cljs.core.Keyword(null,"y","y",-1757859776),874,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Slavonski Brod Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),826,new cljs.core.Keyword(null,"y","y",-1757859776),709,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Gorazde Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),836,new cljs.core.Keyword(null,"y","y",-1757859776),602,new cljs.core.Keyword(null,"owner","owner",-392611939),
"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Danilovgrad Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),757,new cljs.core.Keyword(null,"y","y",-1757859776),628,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Trebenije Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),
new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),965,new cljs.core.Keyword(null,"y","y",-1757859776),553,new cljs.core.Keyword(null,"owner","owner",-392611939),"Albania",new cljs.core.Keyword(null,"name","name",1843675177),"Kukes Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),998,new cljs.core.Keyword(null,"y","y",-1757859776),410,new cljs.core.Keyword(null,
"owner","owner",-392611939),"Albania",new cljs.core.Keyword(null,"name","name",1843675177),"Korce Northwest Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),937,new cljs.core.Keyword(null,"y","y",-1757859776),351,new cljs.core.Keyword(null,"owner","owner",-392611939),"Albania",new cljs.core.Keyword(null,"name","name",1843675177),"Gjirokaster Airport",new cljs.core.Keyword(null,"type",
"type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),973,new cljs.core.Keyword(null,"y","y",-1757859776),154,new cljs.core.Keyword(null,"owner","owner",-392611939),"Greece",new cljs.core.Keyword(null,"name","name",1843675177),"Kefallinia Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),612,new cljs.core.Keyword(null,
"y","y",-1757859776),1002,new cljs.core.Keyword(null,"owner","owner",-392611939),"Hungary",new cljs.core.Keyword(null,"name","name",1843675177),"Nagykanizsa Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),739,new cljs.core.Keyword(null,"y","y",-1757859776),962,new cljs.core.Keyword(null,"owner","owner",-392611939),"Hungary",new cljs.core.Keyword(null,"name","name",1843675177),"Pecs East Airport",
new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),778,new cljs.core.Keyword(null,"y","y",-1757859776),952,new cljs.core.Keyword(null,"owner","owner",-392611939),"Hungary",new cljs.core.Keyword(null,"name","name",1843675177),"Satorhely Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),
932,new cljs.core.Keyword(null,"y","y",-1757859776),982,new cljs.core.Keyword(null,"owner","owner",-392611939),"Hungary",new cljs.core.Keyword(null,"name","name",1843675177),"Szeged Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),898,new cljs.core.Keyword(null,"y","y",-1757859776),481,new cljs.core.Keyword(null,"owner","owner",-392611939),"Albania",new cljs.core.Keyword(null,"name",
"name",1843675177),"Tirane International",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),888,new cljs.core.Keyword(null,"y","y",-1757859776),448,new cljs.core.Keyword(null,"owner","owner",-392611939),"Albania",new cljs.core.Keyword(null,"name","name",1843675177),"Lushnje Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),826,new cljs.core.Keyword(null,"y","y",-1757859776),932,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Sombor Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),798,new cljs.core.Keyword(null,"y","y",-1757859776),904,new cljs.core.Keyword(null,"owner","owner",-392611939),
"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Osijek Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),997,new cljs.core.Keyword(null,"y","y",-1757859776),465,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",1843675177),"Ohrid Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),589,new cljs.core.Keyword(null,"y","y",-1757859776),460,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Bari Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),243,new cljs.core.Keyword(null,"y","y",-1757859776),712,new cljs.core.Keyword(null,"owner","owner",-392611939),
"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Falconara Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),19,new cljs.core.Keyword(null,"y","y",-1757859776),736,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Peretola Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),193,new cljs.core.Keyword(null,"y","y",-1757859776),502,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Latina Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),907,new cljs.core.Keyword(null,"y","y",-1757859776),425,new cljs.core.Keyword(null,"owner","owner",-392611939),
"Albania",new cljs.core.Keyword(null,"name","name",1843675177),"Berat Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),882,new cljs.core.Keyword(null,"y","y",-1757859776),539,new cljs.core.Keyword(null,"owner","owner",-392611939),"Albania",new cljs.core.Keyword(null,"name","name",1843675177),"Gramsh Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),876,new cljs.core.Keyword(null,"y","y",-1757859776),555,new cljs.core.Keyword(null,"owner","owner",-392611939),"Albania",new cljs.core.Keyword(null,"name","name",1843675177),"Shkoder Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),1004,new cljs.core.Keyword(null,"y","y",-1757859776),310,new cljs.core.Keyword(null,"owner","owner",-392611939),
"Greece",new cljs.core.Keyword(null,"name","name",1843675177),"Ioannina Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),893,new cljs.core.Keyword(null,"y","y",-1757859776),491,new cljs.core.Keyword(null,"owner","owner",-392611939),"Albania",new cljs.core.Keyword(null,"name","name",1843675177),"Tirane Rinas Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),
new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),924,new cljs.core.Keyword(null,"y","y",-1757859776),450,new cljs.core.Keyword(null,"owner","owner",-392611939),"Albania",new cljs.core.Keyword(null,"name","name",1843675177),"Elbasan Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),127,new cljs.core.Keyword(null,"y","y",-1757859776),528,new cljs.core.Keyword(null,
"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Fiumicino Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),154,new cljs.core.Keyword(null,"y","y",-1757859776),131,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Birgi Airport",new cljs.core.Keyword(null,"type","type",1174270348),
"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),411,new cljs.core.Keyword(null,"y","y",-1757859776),90,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Catania Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),476,new cljs.core.Keyword(null,"y","y",-1757859776),
143,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Reggio Calabria Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),151,new cljs.core.Keyword(null,"y","y",-1757859776),514,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Pratica di Mare Airport",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),163,new cljs.core.Keyword(null,"y","y",-1757859776),530,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Ciampino Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),398,new cljs.core.Keyword(null,
"y","y",-1757859776),77,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Sigonella Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),215,new cljs.core.Keyword(null,"y","y",-1757859776),158,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Palermo Airport",
new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),539,new cljs.core.Keyword(null,"y","y",-1757859776),234,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Lamezia Terme Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),
622,new cljs.core.Keyword(null,"y","y",-1757859776),241,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Crotone Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),430,new cljs.core.Keyword(null,"y","y",-1757859776),777,new cljs.core.Keyword(null,"owner","owner",-392611939),"FRY",new cljs.core.Keyword(null,"name","name",
1843675177),"Zadar",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),178,new cljs.core.Keyword(null,"y","y",-1757859776),550,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Guidogna",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x",
"x",2099068185),98,new cljs.core.Keyword(null,"y","y",-1757859776),19,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,"name","name",1843675177),"Pantelleria Airport",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),157,new cljs.core.Keyword(null,"y","y",-1757859776),545,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,
"name","name",1843675177),"Roma",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null)],!0)],null);weathergen.database.korea={};
weathergen.database.korea.theater_info=new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"owners","owners",1019390468),new cljs.core.PersistentArrayMap(null,8,[0,"XX",1,"US",2,"ROK",3,"Japan",4,"CIS",5,"PRC",6,"DPRK",7,"Gorn"],null),new cljs.core.Keyword(null,"size","size",1098693007),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1024,1024],null),new cljs.core.Keyword(null,"mapping","mapping",-1242405430),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,
"left","left",-399115937),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[123,0],null),new cljs.core.Keyword(null,"top","top",-1856271961),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[43,3],null),new cljs.core.Keyword(null,"bottom","bottom",-1550509018),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[33,50],null),new cljs.core.Keyword(null,"top-right","top-right",284698505),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[135,35],null)],null),new cljs.core.Keyword(null,"objectives","objectives",933939509),cljs.core.PersistentVector.fromArray([new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),398,new cljs.core.Keyword(null,"y","y",-1757859776),236,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Kunsan Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,
"id","id",-1388402092),2663],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),254,new cljs.core.Keyword(null,"y","y",-1757859776),926,new cljs.core.Keyword(null,"owner","owner",-392611939),5,new cljs.core.Keyword(null,"name","name",1843675177),"Liuhe Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),2611],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x",
"x",2099068185),51,new cljs.core.Keyword(null,"y","y",-1757859776),899,new cljs.core.Keyword(null,"owner","owner",-392611939),5,new cljs.core.Keyword(null,"name","name",1843675177),"Shenyang Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),2608],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),896,new cljs.core.Keyword(null,"y","y",-1757859776),1019,new cljs.core.Keyword(null,"owner",
"owner",-392611939),4,new cljs.core.Keyword(null,"name","name",1843675177),"Nachodka Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),2604],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),908,new cljs.core.Keyword(null,"y","y",-1757859776),90,new cljs.core.Keyword(null,"owner","owner",-392611939),1,new cljs.core.Keyword(null,"name","name",1843675177),"Kadena Airbase",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),52],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),680,new cljs.core.Keyword(null,"y","y",-1757859776),155,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Pusan Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),2396],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"x","x",2099068185),577,new cljs.core.Keyword(null,"y","y",-1757859776),767,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Hwangsuwon Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1824],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),623,new cljs.core.Keyword(null,"y","y",-1757859776),
474,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Sokcho",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1570],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),415,new cljs.core.Keyword(null,"y","y",-1757859776),331,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),
"R110 Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1397],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),386,new cljs.core.Keyword(null,"y","y",-1757859776),317,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Seosan Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,
"id","id",-1388402092),1396],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),499,new cljs.core.Keyword(null,"y","y",-1757859776),309,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Chongwon Airfield",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1394],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,
"x","x",2099068185),475,new cljs.core.Keyword(null,"y","y",-1757859776),309,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"R505 Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1393],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),450,new cljs.core.Keyword(null,"y","y",-1757859776),347,new cljs.core.Keyword(null,"owner",
"owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Pyeongtaeg Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1392],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),459,new cljs.core.Keyword(null,"y","y",-1757859776),341,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Songwhan Highway Strip",new cljs.core.Keyword(null,
"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1391],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),573,new cljs.core.Keyword(null,"y","y",-1757859776),317,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"R601 Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1389],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"x","x",2099068185),580,new cljs.core.Keyword(null,"y","y",-1757859776),263,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Kumi Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1388],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),594,new cljs.core.Keyword(null,"y","y",-1757859776),
317,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Yechon Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1387],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),616,new cljs.core.Keyword(null,"y","y",-1757859776),335,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),
"Yongju Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1386],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),546,new cljs.core.Keyword(null,"y","y",-1757859776),350,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Choongwon Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,
"id","id",-1388402092),1385],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),657,new cljs.core.Keyword(null,"y","y",-1757859776),439,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Kangnung Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1384],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,
"x","x",2099068185),579,new cljs.core.Keyword(null,"y","y",-1757859776),371,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"R605 Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1383],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),547,new cljs.core.Keyword(null,"y","y",-1757859776),429,new cljs.core.Keyword(null,"owner",
"owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"R419 Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1382],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),448,new cljs.core.Keyword(null,"y","y",-1757859776),449,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"R222 Airstrip",new cljs.core.Keyword(null,
"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1381],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),466,new cljs.core.Keyword(null,"y","y",-1757859776),459,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"R217 Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1380],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"x","x",2099068185),522,new cljs.core.Keyword(null,"y","y",-1757859776),451,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Chuncheon Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1379],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),445,new cljs.core.Keyword(null,"y","y",-1757859776),
469,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"R218 Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1377],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),434,new cljs.core.Keyword(null,"y","y",-1757859776),470,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),
"Mandumi Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1376],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),424,new cljs.core.Keyword(null,"y","y",-1757859776),431,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"R113 Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,
"id","id",-1388402092),1375],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),454,new cljs.core.Keyword(null,"y","y",-1757859776),387,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Singal Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1374],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,
"x","x",2099068185),394,new cljs.core.Keyword(null,"y","y",-1757859776),437,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"R107 Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1373],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),316,new cljs.core.Keyword(null,"y","y",-1757859776),467,new cljs.core.Keyword(null,"owner",
"owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Haeju Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1372],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),265,new cljs.core.Keyword(null,"y","y",-1757859776),461,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Ongjin Airbase",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1371],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),249,new cljs.core.Keyword(null,"y","y",-1757859776),479,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Taetan Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1370],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"x","x",2099068185),236,new cljs.core.Keyword(null,"y","y",-1757859776),493,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Changyon Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1369],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),216,new cljs.core.Keyword(null,"y","y",-1757859776),
512,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Kwail Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1368],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),238,new cljs.core.Keyword(null,"y","y",-1757859776),569,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),
"Onch'on Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1367],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),332,new cljs.core.Keyword(null,"y","y",-1757859776),561,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Sangwon Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,
"id","id",-1388402092),1366],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),360,new cljs.core.Keyword(null,"y","y",-1757859776),493,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Nuch'on-ni Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1364],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,
"x","x",2099068185),393,new cljs.core.Keyword(null,"y","y",-1757859776),551,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Koksan Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1363],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),398,new cljs.core.Keyword(null,"y","y",-1757859776),551,new cljs.core.Keyword(null,"owner",
"owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Koksan Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1362],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),512,new cljs.core.Keyword(null,"y","y",-1757859776),550,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Hoeyang SE Highway Strip",
new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1361],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),488,new cljs.core.Keyword(null,"y","y",-1757859776),539,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Hyon-Ni Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),
1360],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),416,new cljs.core.Keyword(null,"y","y",-1757859776),502,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Taebukpo-ri Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1357],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),
536,new cljs.core.Keyword(null,"y","y",-1757859776),559,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Kojo Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1353],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),742,new cljs.core.Keyword(null,"y","y",-1757859776),882,new cljs.core.Keyword(null,"owner","owner",-392611939),
6,new cljs.core.Keyword(null,"name","name",1843675177),"Sugam-ni Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1352],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),733,new cljs.core.Keyword(null,"y","y",-1757859776),863,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Kyongsong Chuul Airstrip",new cljs.core.Keyword(null,
"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1351],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),644,new cljs.core.Keyword(null,"y","y",-1757859776),732,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Tangch'on Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1350],null),
new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),630,new cljs.core.Keyword(null,"y","y",-1757859776),731,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Iwon Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1349],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),476,new cljs.core.Keyword(null,
"y","y",-1757859776),635,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Yonghung Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1348],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),496,new cljs.core.Keyword(null,"y","y",-1757859776),598,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,
"name","name",1843675177),"Wonsan Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1347],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),474,new cljs.core.Keyword(null,"y","y",-1757859776),610,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Okpyong-Ni Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",
new cljs.core.Keyword(null,"id","id",-1388402092),1346],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),494,new cljs.core.Keyword(null,"y","y",-1757859776),662,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Sondok Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1342],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,
"x","x",2099068185),510,new cljs.core.Keyword(null,"y","y",-1757859776),692,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Toksan Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1341],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),315,new cljs.core.Keyword(null,"y","y",-1757859776),581,new cljs.core.Keyword(null,"owner",
"owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Mirim Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1340],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),318,new cljs.core.Keyword(null,"y","y",-1757859776),623,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Sunch'on Airbase",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1339],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),309,new cljs.core.Keyword(null,"y","y",-1757859776),669,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Yongbyon Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1338],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"x","x",2099068185),316,new cljs.core.Keyword(null,"y","y",-1757859776),662,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Kaech'on Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1337],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),271,new cljs.core.Keyword(null,"y","y",-1757859776),681,
new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"T'aech'on Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1336],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),236,new cljs.core.Keyword(null,"y","y",-1757859776),678,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),
"Panghyon Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1335],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),234,new cljs.core.Keyword(null,"y","y",-1757859776),655,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Kwaksan Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,
"id","id",-1388402092),1334],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),198,new cljs.core.Keyword(null,"y","y",-1757859776),662,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Sonch'on Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),1333],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,
"x","x",2099068185),624,new cljs.core.Keyword(null,"y","y",-1757859776),236,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Taegu Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1326],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),424,new cljs.core.Keyword(null,"y","y",-1757859776),152,new cljs.core.Keyword(null,"owner",
"owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Kwangju Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1315],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),498,new cljs.core.Keyword(null,"y","y",-1757859776),329,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Chongju Airbase",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1312],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),549,new cljs.core.Keyword(null,"y","y",-1757859776),402,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Hoengsong",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1310],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"x","x",2099068185),242,new cljs.core.Keyword(null,"y","y",-1757859776),683,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Panghyon Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1188],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),290,new cljs.core.Keyword(null,"y","y",-1757859776),603,
new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Sunan Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1099],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),452,new cljs.core.Keyword(null,"y","y",-1757859776),401,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),
"Seoul Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),1056],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),415,new cljs.core.Keyword(null,"y","y",-1757859776),418,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Kimpo Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,
"id","id",-1388402092),1055],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),324,new cljs.core.Keyword(null,"y","y",-1757859776),496,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Ayang-Ni Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),833],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,
"x","x",2099068185),307,new cljs.core.Keyword(null,"y","y",-1757859776),543,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Hwangju Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),832],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),439,new cljs.core.Keyword(null,"y","y",-1757859776),380,new cljs.core.Keyword(null,"owner",
"owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Suwon Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),830],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),445,new cljs.core.Keyword(null,"y","y",-1757859776),358,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Osan Airbase",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),828],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),543,new cljs.core.Keyword(null,"y","y",-1757859776),563,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Kuum-ni Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),791],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"x","x",2099068185),734,new cljs.core.Keyword(null,"y","y",-1757859776),848,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Orang Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),444],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),698,new cljs.core.Keyword(null,"y","y",-1757859776),795,new cljs.core.Keyword(null,
"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Kilchu Highway Strip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),439],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),654,new cljs.core.Keyword(null,"y","y",-1757859776),152,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Kimhae International",
new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),144],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),702,new cljs.core.Keyword(null,"y","y",-1757859776),245,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Pohang Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),
73],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),561,new cljs.core.Keyword(null,"y","y",-1757859776),143,new cljs.core.Keyword(null,"owner","owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"Sachon Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),72],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),320,new cljs.core.Keyword(null,
"y","y",-1757859776),644,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Pukch'ang-up Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),71],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),171,new cljs.core.Keyword(null,"y","y",-1757859776),713,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,
"name","name",1843675177),"Uiju Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),70],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),472,new cljs.core.Keyword(null,"y","y",-1757859776),731,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Changjin Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,
"id","id",-1388402092),69],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),597,new cljs.core.Keyword(null,"y","y",-1757859776),899,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Samjiyon-up Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),68],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x",
"x",2099068185),372,new cljs.core.Keyword(null,"y","y",-1757859776),818,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Manp'o Airbase",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase",new cljs.core.Keyword(null,"id","id",-1388402092),67],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),410,new cljs.core.Keyword(null,"y","y",-1757859776),404,new cljs.core.Keyword(null,"owner",
"owner",-392611939),2,new cljs.core.Keyword(null,"name","name",1843675177),"East Incheon Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),66],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),290,new cljs.core.Keyword(null,"y","y",-1757859776),509,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Ok-Tong Airstrip",new cljs.core.Keyword(null,
"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),65],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),308,new cljs.core.Keyword(null,"y","y",-1757859776),522,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Pongsan Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),64],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"x","x",2099068185),380,new cljs.core.Keyword(null,"y","y",-1757859776),509,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"P'yongsan Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),63],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),384,new cljs.core.Keyword(null,"y","y",-1757859776),
489,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Kumch'on Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),62],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),422,new cljs.core.Keyword(null,"y","y",-1757859776),530,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),
"Ich'on Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,"id","id",-1388402092),61],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"x","x",2099068185),532,new cljs.core.Keyword(null,"y","y",-1757859776),553,new cljs.core.Keyword(null,"owner","owner",-392611939),6,new cljs.core.Keyword(null,"name","name",1843675177),"Kongse-dong Airstrip",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip",new cljs.core.Keyword(null,
"id","id",-1388402092),60],null)],!0)],null);weathergen.database.israel={};
weathergen.database.israel.theater_info=new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"owners","owners",1019390468),new cljs.core.PersistentArrayMap(null,8,[0,"Hezbollah",1,"NATO",2,"Israel",3,"PA",4,"Jordan",5,"Syria",6,"Egypt",7,"Saudi Arabia"],null),new cljs.core.Keyword(null,"size","size",1098693007),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1024,1024],null),new cljs.core.Keyword(null,"mapping","mapping",-1242405430),new cljs.core.PersistentArrayMap(null,
4,[new cljs.core.Keyword(null,"left","left",-399115937),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[29,33.64],null),new cljs.core.Keyword(null,"top","top",-1856271961),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[34,49.2],null),new cljs.core.Keyword(null,"bottom","bottom",-1550509018),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[25,37.39],null),new cljs.core.Keyword(null,"top-right","top-right",
284698505),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[40,45.64],null)],null),new cljs.core.Keyword(null,"objectives","objectives",933939509),cljs.core.PersistentVector.fromArray([new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),809,new cljs.core.Keyword(null,"y","y",-1757859776),296,new cljs.core.Keyword(null,"owner","owner",-392611939),"Saudi Arabia",new cljs.core.Keyword(null,"name","name",1843675177),"Qalibha",new cljs.core.Keyword(null,
"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),630,new cljs.core.Keyword(null,"y","y",-1757859776),391,new cljs.core.Keyword(null,"owner","owner",-392611939),"Saudi Arabia",new cljs.core.Keyword(null,"name","name",1843675177),"Al Bir",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),553,new cljs.core.Keyword(null,
"y","y",-1757859776),487,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",new cljs.core.Keyword(null,"name","name",1843675177),"Al Quwayhra",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),631,new cljs.core.Keyword(null,"y","y",-1757859776),632,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",new cljs.core.Keyword(null,"name","name",1843675177),"Al Qantranah",
new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),712,new cljs.core.Keyword(null,"y","y",-1757859776),681,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",new cljs.core.Keyword(null,"name","name",1843675177),"Al Gadhaf",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),
630,new cljs.core.Keyword(null,"y","y",-1757859776),692,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",new cljs.core.Keyword(null,"name","name",1843675177),"Highway H",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),650,new cljs.core.Keyword(null,"y","y",-1757859776),717,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",new cljs.core.Keyword(null,"name","name",
1843675177),"Azraq",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),921,new cljs.core.Keyword(null,"y","y",-1757859776),795,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",new cljs.core.Keyword(null,"name","name",1843675177),"Wadi El Murbha",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),950,new cljs.core.Keyword(null,"y","y",-1757859776),812,new cljs.core.Keyword(null,"owner","owner",-392611939),"Saudi Arabia",new cljs.core.Keyword(null,"name","name",1843675177),"H 3",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),682,new cljs.core.Keyword(null,"y","y",-1757859776),987,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,
"name","name",1843675177),"Al Qusayr",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),586,new cljs.core.Keyword(null,"y","y",-1757859776),940,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,"name","name",1843675177),"Alat",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),699,new cljs.core.Keyword(null,"y","y",-1757859776),925,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,"name","name",1843675177),"An Nasariyah",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),561,new cljs.core.Keyword(null,"y","y",-1757859776),902,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,
"name","name",1843675177),"Rafic Hariri Intl",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),502,new cljs.core.Keyword(null,"y","y",-1757859776),714,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",new cljs.core.Keyword(null,"name","name",1843675177),"Ben Gurion",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),445,new cljs.core.Keyword(null,"y","y",-1757859776),641,new cljs.core.Keyword(null,"owner","owner",-392611939),"PA",new cljs.core.Keyword(null,"name","name",1843675177),"Yasser Arafat Intl",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),663,new cljs.core.Keyword(null,"y","y",-1757859776),861,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,
"name","name",1843675177),"Damascus INT",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),692,new cljs.core.Keyword(null,"y","y",-1757859776),892,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,"name","name",1843675177),"Dumyar",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),738,new cljs.core.Keyword(null,"y","y",-1757859776),644,new cljs.core.Keyword(null,"owner","owner",-392611939),"Saudi Arabia",new cljs.core.Keyword(null,"name","name",1843675177),"Guriat",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),984,new cljs.core.Keyword(null,"y","y",-1757859776),828,new cljs.core.Keyword(null,"owner","owner",-392611939),"Saudi Arabia",new cljs.core.Keyword(null,
"name","name",1843675177),"H 3 North West",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),986,new cljs.core.Keyword(null,"y","y",-1757859776),791,new cljs.core.Keyword(null,"owner","owner",-392611939),"Saudi Arabia",new cljs.core.Keyword(null,"name","name",1843675177),"H 3 South",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,
[new cljs.core.Keyword(null,"x","x",2099068185),839,new cljs.core.Keyword(null,"y","y",-1757859776),778,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",new cljs.core.Keyword(null,"name","name",1843675177),"H 4",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),473,new cljs.core.Keyword(null,"y","y",-1757859776),637,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",
new cljs.core.Keyword(null,"name","name",1843675177),"Hatzerim",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),487,new cljs.core.Keyword(null,"y","y",-1757859776),685,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",new cljs.core.Keyword(null,"name","name",1843675177),"Hatzor",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),659,new cljs.core.Keyword(null,"y","y",-1757859776),824,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,"name","name",1843675177),"Kalhalhak",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),619,new cljs.core.Keyword(null,"y","y",-1757859776),706,new cljs.core.Keyword(null,"owner","owner",-392611939),
"Jordan",new cljs.core.Keyword(null,"name","name",1843675177),"King Abdullha Ben",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),633,new cljs.core.Keyword(null,"y","y",-1757859776),553,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",new cljs.core.Keyword(null,"name","name",1843675177),"King Faisal",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),643,new cljs.core.Keyword(null,"y","y",-1757859776),760,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",new cljs.core.Keyword(null,"name","name",1843675177),"King Hussein",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),662,new cljs.core.Keyword(null,"y","y",-1757859776),875,new cljs.core.Keyword(null,"owner","owner",-392611939),
"Syria",new cljs.core.Keyword(null,"name","name",1843675177),"Mezze",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),506,new cljs.core.Keyword(null,"y","y",-1757859776),494,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",new cljs.core.Keyword(null,"name","name",1843675177),"Ovda",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),851,new cljs.core.Keyword(null,"y","y",-1757859776),990,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,"name","name",1843675177),"Palmyr",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),730,new cljs.core.Keyword(null,"y","y",-1757859776),729,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",
new cljs.core.Keyword(null,"name","name",1843675177),"Prince Hassan",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),614,new cljs.core.Keyword(null,"y","y",-1757859776),701,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",new cljs.core.Keyword(null,"name","name",1843675177),"Queen Alia INT",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),532,new cljs.core.Keyword(null,"y","y",-1757859776),782,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",new cljs.core.Keyword(null,"name","name",1843675177),"Ramat David",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),609,new cljs.core.Keyword(null,"y","y",-1757859776),897,new cljs.core.Keyword(null,"owner","owner",-392611939),
"Syria",new cljs.core.Keyword(null,"name","name",1843675177),"Riyaq",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),490,new cljs.core.Keyword(null,"y","y",-1757859776),730,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",new cljs.core.Keyword(null,"name","name",1843675177),"Sde Dov",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),717,new cljs.core.Keyword(null,"y","y",-1757859776),963,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,"name","name",1843675177),"Shayrat",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),685,new cljs.core.Keyword(null,"y","y",-1757859776),345,new cljs.core.Keyword(null,"owner","owner",-392611939),
"Saudi Arabia",new cljs.core.Keyword(null,"name","name",1843675177),"Prince Sultan Bin Abdulaziz",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),485,new cljs.core.Keyword(null,"y","y",-1757859776),694,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",new cljs.core.Keyword(null,"name","name",1843675177),"Tel Nof",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],
null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),774,new cljs.core.Keyword(null,"y","y",-1757859776),971,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,"name","name",1843675177),"Tiyas",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),886,new cljs.core.Keyword(null,"y","y",-1757859776),675,new cljs.core.Keyword(null,
"owner","owner",-392611939),"Saudi Arabia",new cljs.core.Keyword(null,"name","name",1843675177),"Turaif",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),670,new cljs.core.Keyword(null,"y","y",-1757859776),126,new cljs.core.Keyword(null,"owner","owner",-392611939),"Saudi Arabia",new cljs.core.Keyword(null,"name","name",1843675177),"Wejh",new cljs.core.Keyword(null,"type","type",1174270348),
"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),581,new cljs.core.Keyword(null,"y","y",-1757859776),947,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,"name","name",1843675177),"Wujah Al Hajar",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),328,new cljs.core.Keyword(null,"y","y",-1757859776),
392,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Abu Rudies",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),146,new cljs.core.Keyword(null,"y","y",-1757859776),622,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Al Mansurha",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),200,new cljs.core.Keyword(null,"y","y",-1757859776),617,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Al Manzilah",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),94,new cljs.core.Keyword(null,
"y","y",-1757859776),311,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Al Minya",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),66,new cljs.core.Keyword(null,"y","y",-1757859776),617,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Al Rhamaniya",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),167,new cljs.core.Keyword(null,"y","y",-1757859776),573,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Al Zaqaziq",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),219,new cljs.core.Keyword(null,
"y","y",-1757859776),570,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Alismaylia",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),216,new cljs.core.Keyword(null,"y","y",-1757859776),604,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"As Salihiya",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),99,new cljs.core.Keyword(null,"y","y",-1757859776),213,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Aysut",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),262,new cljs.core.Keyword(null,"y",
"y",-1757859776),617,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Baluza",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),101,new cljs.core.Keyword(null,"y","y",-1757859776),442,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Ben Suef",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),173,new cljs.core.Keyword(null,"y","y",-1757859776),549,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Bilbays 2",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),321,new cljs.core.Keyword(null,
"y","y",-1757859776),549,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Bir Gifgafa",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),98,new cljs.core.Keyword(null,"y","y",-1757859776),604,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Tanta",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),130,new cljs.core.Keyword(null,"y","y",-1757859776),514,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Cairo Almaza",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),89,new cljs.core.Keyword(null,
"y","y",-1757859776),519,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Cairo West",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),388,new cljs.core.Keyword(null,"y","y",-1757859776),616,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"El Arish",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),379,new cljs.core.Keyword(null,"y","y",-1757859776),330,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"El Tor",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),122,new cljs.core.Keyword(null,
"y","y",-1757859776),523,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Embaba",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),57,new cljs.core.Keyword(null,"y","y",-1757859776),567,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Gebel El Basur",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),142,new cljs.core.Keyword(null,"y","y",-1757859776),489,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Hulwan",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),156,new cljs.core.Keyword(null,
"y","y",-1757859776),548,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Inshas",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),27,new cljs.core.Keyword(null,"y","y",-1757859776),606,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Jinkalis New",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),247,new cljs.core.Keyword(null,"y","y",-1757859776),534,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Kirban",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),86,new cljs.core.Keyword(null,"y",
"y",-1757859776),474,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Kom Awashim",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),275,new cljs.core.Keyword(null,"y","y",-1757859776),57,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Luxur",new cljs.core.Keyword(null,
"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),225,new cljs.core.Keyword(null,"y","y",-1757859776),628,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Port Said",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),363,new cljs.core.Keyword(null,
"y","y",-1757859776),293,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Ras Jimsha New",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),443,new cljs.core.Keyword(null,"y","y",-1757859776),311,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Ras Nasrani",
new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),327,new cljs.core.Keyword(null,"y","y",-1757859776),327,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Ras Shukhayar New",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),
278,new cljs.core.Keyword(null,"y","y",-1757859776),471,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Ras Sudr",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),182,new cljs.core.Keyword(null,"y","y",-1757859776),521,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",
1843675177),"Wadi Al Jandali",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),209,new cljs.core.Keyword(null,"y","y",-1757859776),570,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Abu Suwayr",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),511,new cljs.core.Keyword(null,"y","y",-1757859776),470,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",new cljs.core.Keyword(null,"name","name",1843675177),"Aqaba INT",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),167,new cljs.core.Keyword(null,"y","y",-1757859776),547,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,
"name","name",1843675177),"Bilbays",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),343,new cljs.core.Keyword(null,"y","y",-1757859776),537,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Bir Hassana",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),154,new cljs.core.Keyword(null,"y","y",-1757859776),518,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Cairo INT",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),233,new cljs.core.Keyword(null,"y","y",-1757859776),548,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,
"name","name",1843675177),"Faid",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),1002,new cljs.core.Keyword(null,"y","y",-1757859776),805,new cljs.core.Keyword(null,"owner","owner",-392611939),"Saudi Arabia",new cljs.core.Keyword(null,"name","name",1843675177),"H 3",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),386,new cljs.core.Keyword(null,"y","y",-1757859776),217,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Hurghada",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),662,new cljs.core.Keyword(null,"y","y",-1757859776),852,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,
"name","name",1843675177),"Marj Ruhayyil",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),55,new cljs.core.Keyword(null,"y","y",-1757859776),54,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"New Valley",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),114,new cljs.core.Keyword(null,"y","y",-1757859776),565,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"Quaswyina",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),934,new cljs.core.Keyword(null,"y","y",-1757859776),763,new cljs.core.Keyword(null,"owner","owner",-392611939),"Saudi Arabia",new cljs.core.Keyword(null,
"name","name",1843675177),"Ruwayshid",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),748,new cljs.core.Keyword(null,"y","y",-1757859776),888,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,"name","name",1843675177),"Sayqal",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),691,new cljs.core.Keyword(null,"y","y",-1757859776),693,new cljs.core.Keyword(null,"owner","owner",-392611939),"Jordan",new cljs.core.Keyword(null,"name","name",1843675177),"Shaheed Mwaffaq",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),313,new cljs.core.Keyword(null,"y","y",-1757859776),153,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,
"name","name",1843675177),"Wadi Abu Shifat",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),426,new cljs.core.Keyword(null,"y","y",-1757859776),620,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"El Gora",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),421,new cljs.core.Keyword(null,"y","y",-1757859776),375,new cljs.core.Keyword(null,"owner","owner",-392611939),"Egypt",new cljs.core.Keyword(null,"name","name",1843675177),"St Cathrine",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),522,new cljs.core.Keyword(null,"y","y",-1757859776),634,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",new cljs.core.Keyword(null,
"name","name",1843675177),"Nevatim",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),478,new cljs.core.Keyword(null,"y","y",-1757859776),705,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",new cljs.core.Keyword(null,"name","name",1843675177),"Palmachim",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),475,new cljs.core.Keyword(null,"y","y",-1757859776),589,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",new cljs.core.Keyword(null,"name","name",1843675177),"Ramon",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),533,new cljs.core.Keyword(null,"y","y",-1757859776),775,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",new cljs.core.Keyword(null,
"name","name",1843675177),"Megiddo",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),506,new cljs.core.Keyword(null,"y","y",-1757859776),469,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",new cljs.core.Keyword(null,"name","name",1843675177),"Eilat",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"x","x",2099068185),648,new cljs.core.Keyword(null,"y","y",-1757859776),794,new cljs.core.Keyword(null,"owner","owner",-392611939),"Syria",new cljs.core.Keyword(null,"name","name",1843675177),"As Suwayda West",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),305,new cljs.core.Keyword(null,"y","y",-1757859776),982,new cljs.core.Keyword(null,"owner","owner",-392611939),"NATO",new cljs.core.Keyword(null,
"name","name",1843675177),"Akrotiri",new cljs.core.Keyword(null,"type","type",1174270348),"Airbase"],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"x","x",2099068185),573,new cljs.core.Keyword(null,"y","y",-1757859776),822,new cljs.core.Keyword(null,"owner","owner",-392611939),"Israel",new cljs.core.Keyword(null,"name","name",1843675177),"Rosh Pina",new cljs.core.Keyword(null,"type","type",1174270348),"Airstrip"],null)],!0)],null);weathergen.database.theater_info=new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"korea","korea",-1788137114),weathergen.database.korea.theater_info,new cljs.core.Keyword(null,"balkans","balkans",-514308101),weathergen.database.balkans.theater_info,new cljs.core.Keyword(null,"israel","israel",893888780),weathergen.database.israel.theater_info,new cljs.core.Keyword(null,"kuriles","kuriles",1501726930),weathergen.database.kuriles.theater_info],null);
weathergen.database.airbases=function(a){return cljs.core.filter.call(null,function(a){return(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,["Airstrip",null,"Airbase",null],null),null)).call(null,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(a))},(new cljs.core.Keyword(null,"objectives","objectives",933939509)).cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,weathergen.database.theater_info,a,cljs.core.PersistentArrayMap.EMPTY)))};weathergen.math={};weathergen.math.low_bits=function(a,b){return a&(1<<b)-1};weathergen.math.high_bits=function(a,b){return a>>32-b};weathergen.math.bit_rotate_right=function(a,b){return weathergen.math.high_bits.call(null,a,32-b)+(weathergen.math.low_bits.call(null,a,b)<<32-b)};weathergen.math.bit_rotate_left=function(a,b){return weathergen.math.high_bits.call(null,a,b)+(weathergen.math.low_bits.call(null,a,32-b)<<b)};weathergen.math.frac=function(a){return a-cljs.core.long$.call(null,a)};
weathergen.math.whole=cljs.core.long$;weathergen.math.mean=function(a,b){return(a+b)/2};weathergen.math.interpolate=function(a,b,c){return(1-c)*a+c*b};weathergen.math.vector_interpolate=function(a,b,c,d,e){c=function(a){return function(b,c){return(1-a)*b+a*c}}((c-d)/(e-d));return cljs.core.mapv.call(null,c,a,b)};weathergen.math.vector_add=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return weathergen.math.vector_add.cljs$core$IFn$_invoke$arity$variadic(b)};
weathergen.math.vector_add.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.apply.call(null,cljs.core.mapv,cljs.core._PLUS_,a)};weathergen.math.vector_add.cljs$lang$maxFixedArity=0;weathergen.math.vector_add.cljs$lang$applyTo=function(a){return weathergen.math.vector_add.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
weathergen.math.scramble=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return weathergen.math.scramble.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return weathergen.math.scramble.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
weathergen.math.scramble.cljs$core$IFn$_invoke$arity$1=function(a){return weathergen.math.scramble.call(null,a,1)};weathergen.math.scramble.cljs$core$IFn$_invoke$arity$2=function(a,b){return weathergen.math.frac.call(null,1E5*Math.abs(Math.sin(a*b)))};weathergen.math.scramble.cljs$lang$maxFixedArity=2;
weathergen.math.discrete_noise_field=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return weathergen.math.discrete_noise_field.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return weathergen.math.discrete_noise_field.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};weathergen.math.discrete_noise_field.cljs$core$IFn$_invoke$arity$2=function(a,b){return weathergen.math.discrete_noise_field.call(null,a,b,1)};weathergen.math.discrete_noise_field.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return weathergen.math.scramble.call(null,65521*a+b,c)};weathergen.math.discrete_noise_field.cljs$lang$maxFixedArity=3;
weathergen.math.continuous_noise_field=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return weathergen.math.continuous_noise_field.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return weathergen.math.continuous_noise_field.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};weathergen.math.continuous_noise_field.cljs$core$IFn$_invoke$arity$2=function(a,b){return weathergen.math.continuous_noise_field.call(null,a,b,1)};
weathergen.math.continuous_noise_field.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core.mod.call(null,weathergen.math.frac.call(null,a),1),e=cljs.core.mod.call(null,weathergen.math.frac.call(null,b),1);a=Math.floor(a);b=Math.floor(b);return weathergen.math.interpolate.call(null,weathergen.math.interpolate.call(null,weathergen.math.discrete_noise_field.call(null,a,b,c),weathergen.math.discrete_noise_field.call(null,a+1,b,c),d),weathergen.math.interpolate.call(null,weathergen.math.discrete_noise_field.call(null,
a,b+1,c),weathergen.math.discrete_noise_field.call(null,a+1,b+1,c),d),e)};weathergen.math.continuous_noise_field.cljs$lang$maxFixedArity=3;
weathergen.math.fractal_field=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return weathergen.math.fractal_field.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 5:return weathergen.math.fractal_field.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};weathergen.math.fractal_field.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return weathergen.math.fractal_field.call(null,a,b,c,1,1)};weathergen.math.fractal_field.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){for(var f=0,g=c;;){if(g<e)return f;f+=weathergen.math.continuous_noise_field.call(null,a/g,b/g,d)*(g/c/2);g/=2}};weathergen.math.fractal_field.cljs$lang$maxFixedArity=5;
weathergen.math.magnitude=function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return Math.sqrt(b*b+a*a)};weathergen.math.heading=function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return cljs.core.mod.call(null,180*Math.atan2(b,a)/Math.PI,360)};
weathergen.math.gradient=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 4:return weathergen.math.gradient.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return weathergen.math.gradient.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};weathergen.math.gradient.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return weathergen.math.gradient.call(null,a,b,c,d,c.call(null,a,b))};weathergen.math.gradient.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){var f=c.call(null,a+d,b);a=c.call(null,a,b+d);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[(f-e)/d,(a-e)/d],null)};weathergen.math.gradient.cljs$lang$maxFixedArity=5;weathergen.math.clamp=function(a,b,c){return c<a?a:b<c?b:c};
weathergen.math.nearest=function(a,b){return Math.round(a/b)*b};weathergen.math.scale=function(a,b){return cljs.core.mapv.call(null,function(b){return a*b},b)};weathergen.math.deg__GT_rad=function(a){return a*Math.PI/180};
weathergen.math.rotate=function(a,b){var c=cljs.core.nth.call(null,b,0,null),d=cljs.core.nth.call(null,b,1,null),e=weathergen.math.deg__GT_rad.call(null,-a),f=Math.cos(e),e=Math.sin(e);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c*f-d*e,c*e+d*f],null)};weathergen.math.normalize=function(a){var b=weathergen.math.magnitude.call(null,a);return 0===b?a:cljs.core.mapv.call(null,function(a){return function(b){return b/a}}(b),a)};
weathergen.math.distribute=function(a,b,c,d,e){a=2*a-1;e=Math.pow(Math.abs(a),e);return 0>a?(1-e)*(c-b)+b:e*(d-c)+c};weathergen.math.reject_tails=function(a,b){return weathergen.math.clamp.call(null,-1,1,1/(1-a)*(b-.5)*2)/2+.5};weathergen.coordinates={};weathergen.coordinates.ft_per_nm=6076.12;weathergen.coordinates.ft_per_km=3280.84;weathergen.coordinates.nm_per_km=weathergen.coordinates.ft_per_km/weathergen.coordinates.ft_per_nm;weathergen.coordinates.nm_per_map=1024*weathergen.coordinates.ft_per_km/weathergen.coordinates.ft_per_nm;weathergen.coordinates.nm__GT_ft=function(a){return a*weathergen.coordinates.ft_per_nm};weathergen.coordinates.fgrid__GT_nm=function(a){return a*weathergen.coordinates.nm_per_km};
weathergen.coordinates.km__GT_nm=weathergen.coordinates.fgrid__GT_nm;weathergen.coordinates.ft__GT_nm=function(a){return a/weathergen.coordinates.ft_per_nm};weathergen.coordinates.dm__GT_deg=function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return b+a/60};
weathergen.coordinates.lat_long__GT_grid=function(a,b,c){var d=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);var e=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);b=cljs.core.get_in.call(null,weathergen.database.theater_info,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,new cljs.core.Keyword(null,"mapping","mapping",-1242405430)],null));var f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;b=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"left","left",-399115937));var g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"top","top",-1856271961)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"bottom","bottom",-1550509018)),f=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"top-right","top-right",284698505)),f=cljs.core.map.call(null,weathergen.coordinates.dm__GT_deg,new cljs.core.PersistentVector(null,
6,5,cljs.core.PersistentVector.EMPTY_NODE,[b,g,h,f,e,c],null)),e=cljs.core.nth.call(null,f,0,null);c=cljs.core.nth.call(null,f,1,null);b=cljs.core.nth.call(null,f,2,null);var g=cljs.core.nth.call(null,f,3,null),h=cljs.core.nth.call(null,f,4,null),f=cljs.core.nth.call(null,f,5,null),k=weathergen.math.deg__GT_rad.call(null,c),l=weathergen.math.deg__GT_rad.call(null,h);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[(f-e)/(g-e)/Math.cos(k)*Math.cos(l)*d,(h-c)/(b-
c)*a],null)};
weathergen.coordinates.airbase_coordinates=function(a,b,c){var d=cljs.core.nth.call(null,a,0,null),e=cljs.core.nth.call(null,a,1,null);a=cljs.core.first.call(null,cljs.core.filter.call(null,function(a,b,d){return function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(a),c)}}(a,d,e),weathergen.database.airbases.call(null,b)));var f=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?
cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"x","x",2099068185));f=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"y","y",-1757859776));if(cljs.core.truth_(cljs.core.truth_(a)?f:a)){var g=(new cljs.core.Keyword(null,"size","size",1098693007)).cljs$core$IFn$_invoke$arity$1(b.call(null,weathergen.database.theater_info));b=cljs.core.nth.call(null,g,0,null);g=cljs.core.nth.call(null,g,1,null);return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[a/b*d|0,e-1-(f/g*e|0)],null)}return null};weathergen.coordinates.ffeet__GT_weather=function(a,b,c){var d=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.coordinates.ft__GT_nm.call(null,c)/weathergen.coordinates.nm_per_map*a,d-weathergen.coordinates.ft__GT_nm.call(null,b)/weathergen.coordinates.nm_per_map*d],null)};
weathergen.coordinates.weather__GT_fgrid=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"x","x",2099068185)),c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"y","y",-1757859776));return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"x","x",2099068185),d/59*(new cljs.core.Keyword(null,"theater-size-x",
"theater-size-x",1642493141)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966)).cljs$core$IFn$_invoke$arity$1(a)),new cljs.core.Keyword(null,"y","y",-1757859776),(1-c/59)*(new cljs.core.Keyword(null,"theater-size-y","theater-size-y",-1863614166)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966)).cljs$core$IFn$_invoke$arity$1(a))],null)};
weathergen.coordinates.weather__GT_nm=function(a,b){return b/59*(new cljs.core.Keyword(null,"theater-size-x","theater-size-x",1642493141)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966)).cljs$core$IFn$_invoke$arity$1(a))*weathergen.coordinates.nm_per_km};
weathergen.coordinates.nm__GT_weather=function(a,b){return b/weathergen.coordinates.nm_per_km/(new cljs.core.Keyword(null,"theater-size-x","theater-size-x",1642493141)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966)).cljs$core$IFn$_invoke$arity$1(a))*59};
weathergen.coordinates.fgrid__GT_weather=function(a,b,c){return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"x","x",2099068185),b/(new cljs.core.Keyword(null,"theater-size-x","theater-size-x",1642493141)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966)).cljs$core$IFn$_invoke$arity$1(a))*59,new cljs.core.Keyword(null,"y","y",-1757859776),59*(1-c/(new cljs.core.Keyword(null,"theater-size-y","theater-size-y",-1863614166)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,
"campaign-info","campaign-info",1158908966)).cljs$core$IFn$_invoke$arity$1(a)))],null)};
weathergen.coordinates.weather__GT_bullseye=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;cljs.core.get.call(null,c,new cljs.core.Keyword(null,"x","x",2099068185));cljs.core.get.call(null,c,new cljs.core.Keyword(null,"y","y",-1757859776));if(cljs.core.truth_(a)){var d=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,a):a,d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966)),e=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d,d=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"bullseye-x","bullseye-x",-1698783852)),e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"bullseye-y","bullseye-y",904460818)),c=weathergen.coordinates.weather__GT_fgrid.call(null,
a,c),f=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,c=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"x","x",2099068185)),f=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"y","y",-1757859776)),d=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c-d,f-e],null);return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"heading","heading",
-1312171873),weathergen.math.heading.call(null,d),new cljs.core.Keyword(null,"distance","distance",-1671893894),weathergen.math.magnitude.call(null,d)*weathergen.coordinates.nm_per_km],null)}return null};weathergen.progress={};weathergen.progress._STAR_reporter_STAR_=null;weathergen.progress._STAR_current_step_STAR_=null;weathergen.progress.Reporter=function(){};
weathergen.progress._start_step=function(a,b,c){if(null!=a&&null!=a.weathergen$progress$Reporter$_start_step$arity$3)return a.weathergen$progress$Reporter$_start_step$arity$3(a,b,c);var d=weathergen.progress._start_step[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=weathergen.progress._start_step._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"Reporter.-start-step",a);};weathergen.progress.Step=function(){};
weathergen.progress._succeeded=function(a){if(null!=a&&null!=a.weathergen$progress$Step$_succeeded$arity$1)return a.weathergen$progress$Step$_succeeded$arity$1(a);var b=weathergen.progress._succeeded[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=weathergen.progress._succeeded._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Step.-succeeded",a);};
weathergen.progress._warn=function(a,b){if(null!=a&&null!=a.weathergen$progress$Step$_warn$arity$2)return a.weathergen$progress$Step$_warn$arity$2(a,b);var c=weathergen.progress._warn[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=weathergen.progress._warn._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Step.-warn",a);};
weathergen.progress._failed=function(a,b){if(null!=a&&null!=a.weathergen$progress$Step$_failed$arity$2)return a.weathergen$progress$Step$_failed$arity$2(a,b);var c=weathergen.progress._failed[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=weathergen.progress._failed._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Step.-failed",a);};
weathergen.progress._id=function(a){if(null!=a&&null!=a.weathergen$progress$Step$_id$arity$1)return a.weathergen$progress$Step$_id$arity$1(a);var b=weathergen.progress._id[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=weathergen.progress._id._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Step.-id",a);};
weathergen.progress.report=function(a){return cljs.core.truth_(weathergen.progress._STAR_reporter_STAR_)?weathergen.progress._STAR_reporter_STAR_.call(null,a):null};weathergen.progress.start_step=function(a,b){return cljs.core.truth_(weathergen.progress._STAR_reporter_STAR_)?weathergen.progress._start_step.call(null,weathergen.progress._STAR_reporter_STAR_,a,b):null};
weathergen.progress.step_succeeded=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return weathergen.progress.step_succeeded.cljs$core$IFn$_invoke$arity$0();case 1:return weathergen.progress.step_succeeded.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
weathergen.progress.step_succeeded.cljs$core$IFn$_invoke$arity$0=function(){return weathergen.progress.step_succeeded.call(null,weathergen.progress._STAR_current_step_STAR_)};weathergen.progress.step_succeeded.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.truth_(a)?weathergen.progress._succeeded.call(null,a):null};weathergen.progress.step_succeeded.cljs$lang$maxFixedArity=1;
weathergen.progress.step_warn=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return weathergen.progress.step_warn.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return weathergen.progress.step_warn.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
weathergen.progress.step_warn.cljs$core$IFn$_invoke$arity$1=function(a){return weathergen.progress.step_warn.call(null,weathergen.progress._STAR_current_step_STAR_,a)};weathergen.progress.step_warn.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.truth_(a)?weathergen.progress._warn.call(null,a,b):null};weathergen.progress.step_warn.cljs$lang$maxFixedArity=2;
weathergen.progress.step_failed=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return weathergen.progress.step_failed.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return weathergen.progress.step_failed.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
weathergen.progress.step_failed.cljs$core$IFn$_invoke$arity$1=function(a){return weathergen.progress.step_failed.call(null,weathergen.progress._STAR_current_step_STAR_,a)};weathergen.progress.step_failed.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.truth_(a)?weathergen.progress._failed.call(null,a,b):null};weathergen.progress.step_failed.cljs$lang$maxFixedArity=2;
weathergen.progress.with_step=function(a,b){var c=weathergen.progress.start_step.call(null,a,weathergen.progress._STAR_current_step_STAR_),d=weathergen.progress._STAR_current_step_STAR_;weathergen.progress._STAR_current_step_STAR_=c;try{try{var e=b.call(null);weathergen.progress.step_succeeded.call(null);return e}catch(g){var f=g;console.error("Caught error","propagated?",cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(cljs.core.ex_data.call(null,
f)),new cljs.core.Keyword("weathergen.progress","propagated-error","weathergen.progress/propagated-error",1931683700)),":x",f,":data",cljs.core.ex_data.call(null,f));weathergen.progress.step_failed.call(null,function(){var a=cljs.core.ex_data.call(null,f),b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"type","type",1174270348)),b=cljs.core.get.call(null,
b,new cljs.core.Keyword(null,"omit-stack-trace?","omit-stack-trace?",1080142229));return cljs.core._EQ_.call(null,a,new cljs.core.Keyword("weathergen.progress","propagated-error","weathergen.progress/propagated-error",1931683700))?null:cljs.core.truth_(b)?f.message:f.stack}());throw cljs.core.ex_info.call(null,"Propagated error",new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword("weathergen.progress","propagated-error","weathergen.progress/propagated-error",
1931683700)],null),f);}}finally{weathergen.progress._STAR_current_step_STAR_=d}};weathergen.falcon.files.mission={};weathergen.falcon.files.mission.class_table_entry=function(a,b){return cljs.core.nth.call(null,(new cljs.core.Keyword(null,"class-table","class-table",207400992)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125)).cljs$core$IFn$_invoke$arity$1(b)-weathergen.falcon.constants.VU_LAST_ENTITY_TYPE)};
weathergen.falcon.files.mission.class_info=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"class-table","class-table",207400992)),c=cljs.core.nth.call(null,c,b-weathergen.falcon.constants.VU_LAST_ENTITY_TYPE);return(new cljs.core.Keyword(null,"class-info","class-info",-467052058)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,
"vu-class-data","vu-class-data",-1868219799)).cljs$core$IFn$_invoke$arity$1(c))};weathergen.falcon.files.mission.objective_class_entry=function(a,b){return cljs.core.nth.call(null,(new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382)).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.class_table_entry.call(null,a,b)))};
weathergen.falcon.files.mission.unit_class_entry=function(a,b){return cljs.core.nth.call(null,(new cljs.core.Keyword(null,"unit-class-data","unit-class-data",2122324209)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382)).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.class_table_entry.call(null,a,b)))};
weathergen.falcon.files.mission.weapon_class_entry=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"weapon-class-data","weapon-class-data",-1828241433));return cljs.core.nth.call(null,c,b)};
weathergen.falcon.files.mission.active_units=function(a){return cljs.core.remove.call(null,function(a){return(new cljs.core.Keyword(null,"inactive","inactive",-306247616)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"unit-flags","unit-flags",-1443684773)).cljs$core$IFn$_invoke$arity$1(a))},(new cljs.core.Keyword(null,"units","units",-533089095)).cljs$core$IFn$_invoke$arity$1(a))};
weathergen.falcon.files.mission.objective_type=function(a,b){return(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"class-info","class-info",-467052058)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799)).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.class_table_entry.call(null,a,b))))};
weathergen.falcon.files.mission.objective_type_name=function(a,b){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strings","strings",-2055406807),new cljs.core.Keyword(null,"objective-type-names","objective-type-names",-2115502438),weathergen.falcon.files.mission.objective_type.call(null,a,b)],null))};
weathergen.falcon.files.mission.find_objective=function(a,b,c){var d=cljs.core._EQ_;if(cljs.core.truth_(d.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),b)))return cljs.core.first.call(null,cljs.core.filter.call(null,function(a,b){return function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(a),c)}}(d,b),(new cljs.core.Keyword(null,"objectives","objectives",933939509)).cljs$core$IFn$_invoke$arity$1(a)));throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};
weathergen.falcon.files.mission.find_unit=function(a,b,c){var d=cljs.core._EQ_;if(cljs.core.truth_(d.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),b)))return cljs.core.first.call(null,cljs.core.filter.call(null,function(a,b){return function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(a),c)}}(d,b),weathergen.falcon.files.mission.active_units.call(null,a)));throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};
weathergen.falcon.files.mission.objective_name=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;cljs.core.get.call(null,c,new cljs.core.Keyword(null,"class-table","class-table",207400992));cljs.core.get.call(null,c,new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156));var d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"names","names",-1943074658));
cljs.core.get.call(null,c,new cljs.core.Keyword(null,"strings","strings",-2055406807));c=(new cljs.core.Keyword(null,"name-id","name-id",-279275372)).cljs$core$IFn$_invoke$arity$1(b);if(null==c)return"N/A";if(0!==c){d=d.call(null,c);if(cljs.core.truth_(d))return d;d=(new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)).cljs$core$IFn$_invoke$arity$1(b);return cljs.core.truth_(d)?d:"Unnamed objective"}c=weathergen.falcon.files.mission.find_objective.call(null,
a,new cljs.core.Keyword(null,"id","id",-1388402092),(new cljs.core.Keyword(null,"parent","parent",-878878779)).cljs$core$IFn$_invoke$arity$1(b));return cljs.core.truth_(c)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(d.call(null,(new cljs.core.Keyword(null,"name-id","name-id",-279275372)).cljs$core$IFn$_invoke$arity$1(c))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.objective_type_name.call(null,a,b))].join(""):d.call(null,
0)};
weathergen.falcon.files.mission.ordinal_suffix=function(a,b){var c=(new cljs.core.Keyword(null,"fn","fn",-1175266204)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"strings","strings",-2055406807)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core._EQ_.call(null,1,cljs.core.mod.call(null,b,10))&&cljs.core.not_EQ_.call(null,b,11)?c.call(null,15):cljs.core._EQ_.call(null,2,cljs.core.mod.call(null,b,10))&&cljs.core.not_EQ_.call(null,b,12)?c.call(null,16):cljs.core._EQ_.call(null,3,cljs.core.mod.call(null,
b,10))&&cljs.core.not_EQ_.call(null,b,13)?c.call(null,17):c.call(null,18)};weathergen.falcon.files.mission.partial_EQ_=function(a,b){return cljs.core.every_QMARK_.call(null,cljs.core.identity,cljs.core.map.call(null,cljs.core._EQ_,a,b))};
weathergen.falcon.files.mission.get_size_name=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"type-id","type-id",2030062700)),c=weathergen.falcon.files.mission.class_info.call(null,a,c),c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,
c):c,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"type","type",1174270348)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"domain","domain",1847214937));return(new cljs.core.Keyword(null,"fn","fn",-1175266204)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"strings","strings",-2055406807)).cljs$core$IFn$_invoke$arity$1(a)).call(null,function(){var a=weathergen.falcon.files.mission.partial_EQ_,b=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[e,d],null);return cljs.core.truth_(a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_AIR,weathergen.falcon.constants.TYPE_SQUADRON],null),b))?610:cljs.core.truth_(a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_AIR,weathergen.falcon.constants.TYPE_FLIGHT],null),b))?611:cljs.core.truth_(a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[weathergen.falcon.constants.DOMAIN_AIR,weathergen.falcon.constants.TYPE_PACKAGE],null),b))?612:cljs.core.truth_(a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_LAND,weathergen.falcon.constants.TYPE_BRIGADE],null),b))?614:cljs.core.truth_(a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_LAND,weathergen.falcon.constants.TYPE_BATTALION],null),b))?
615:cljs.core.truth_(a.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_SEA],null),b))?616:617}())};
weathergen.falcon.files.mission.unit_name=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;cljs.core.get.call(null,c,new cljs.core.Keyword(null,"name-id","name-id",-279275372));var d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"type-id","type-id",2030062700)),c=weathergen.falcon.files.mission.unit_class_entry.call(null,a,b),c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&
64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"name","name",1843675177)),d=weathergen.falcon.files.mission.class_info.call(null,a,d),d=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"domain","domain",1847214937)),f=cljs.core.get.call(null,
d,new cljs.core.Keyword(null,"type","type",1174270348)),d=(new cljs.core.Keyword(null,"fn","fn",-1175266204)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"strings","strings",-2055406807)).cljs$core$IFn$_invoke$arity$1(a)),g=cljs.core._EQ_,e=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[e,f],null);if(cljs.core.truth_(g.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_AIR,weathergen.falcon.constants.TYPE_FLIGHT],
null),e)))return e=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,c=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"callsign-id","callsign-id",501232863)),e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"callsign-num","callsign-num",-1771041170)),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(d.call(null,weathergen.falcon.constants.FIRST_CALLSIGN_ID+c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)].join("");if(cljs.core.truth_(g.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_AIR,weathergen.falcon.constants.TYPE_PACKAGE],null),e)))return c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"camp-id","camp-id",618705690)),
[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Package "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join("");d=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"name-id","name-id",-279275372));return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.ordinal_suffix.call(null,
a,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.get_size_name.call(null,a,b))].join("")};weathergen.falcon.files.mission.vu_id=octet.core.spec.call(null,new cljs.core.Keyword(null,"name","name",1843675177),octet.core.uint32,new cljs.core.Keyword(null,"creator","creator",-1069241724),octet.core.uint32);
weathergen.falcon.files.mission.campaign_time=function(){"undefined"===typeof weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35131&&(weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35131=function(a){this.meta35132=a;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35131.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35131(b)},
weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35131.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta35132},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35131.prototype.octet$spec$ISpecSize$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35131.prototype.octet$spec$ISpecSize$size$arity$1=function(a){return octet.core.size.call(null,octet.core.uint32)},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35131.prototype.octet$spec$ISpec$=
cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35131.prototype.octet$spec$ISpec$read$arity$3=function(a,b,c){b=octet.core.read_STAR_.call(null,b,octet.core.uint32,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),c],null));a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,weathergen.time.ms__GT_campaign_time.call(null,
b)],null)},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35131.prototype.octet$spec$ISpec$write$arity$4=function(a,b,c,d){return octet.core.write_BANG_.call(null,b,octet.core.int32,weathergen.time.campaign_time__GT_ms.call(null,d))},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35131.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta35132","meta35132",1354399242,null)],null)},
weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35131.cljs$lang$type=!0,weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35131.cljs$lang$ctorStr="weathergen.falcon.files.mission/t_weathergen$falcon$files$mission35131",weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35131.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"weathergen.falcon.files.mission/t_weathergen$falcon$files$mission35131")},weathergen.falcon.files.mission.__GT_t_weathergen$falcon$files$mission35131=
function(a){return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35131(a)});return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35131(cljs.core.PersistentArrayMap.EMPTY)}();weathergen.falcon.files.mission.vector3=octet.core.spec.call(null,new cljs.core.Keyword(null,"x","x",2099068185),octet.core.float$,new cljs.core.Keyword(null,"y","y",-1757859776),octet.core.float$,new cljs.core.Keyword(null,"z","z",-789527183),octet.core.float$);
weathergen.falcon.files.mission.vu_entity_fields=cljs.core.PersistentVector.fromArray([new cljs.core.Keyword(null,"id","id",-1388402092),octet.core.uint16,new cljs.core.Keyword(null,"collision-type","collision-type",1031477978),octet.core.uint16,new cljs.core.Keyword(null,"collision-radius","collision-radius",2064718833),octet.core.float$,new cljs.core.Keyword(null,"class-info","class-info",-467052058),octet.core.spec.call(null,new cljs.core.Keyword(null,"domain","domain",1847214937),octet.core.ubyte,
new cljs.core.Keyword(null,"class","class",-2030961996),octet.core.ubyte,new cljs.core.Keyword(null,"type","type",1174270348),octet.core.ubyte,new cljs.core.Keyword(null,"stype","stype",-63678419),octet.core.ubyte,new cljs.core.Keyword(null,"sptype","sptype",-1425026030),octet.core.ubyte,new cljs.core.Keyword(null,"owner","owner",-392611939),octet.core.ubyte,new cljs.core.Keyword(null,"field6","field6",-1844847589),octet.core.ubyte,new cljs.core.Keyword(null,"field7","field7",-882507065),octet.core.ubyte),
new cljs.core.Keyword(null,"update-rate","update-rate",549997679),octet.core.uint32,new cljs.core.Keyword(null,"update-tolerance","update-tolerance",1242588651),octet.core.uint32,new cljs.core.Keyword(null,"fine-update-range","fine-update-range",-2006748049),octet.core.float$,new cljs.core.Keyword(null,"fine-update-force-range","fine-update-force-range",-703217754),octet.core.float$,new cljs.core.Keyword(null,"fine-update-multiplier","fine-update-multiplier",1301129404),octet.core.float$,new cljs.core.Keyword(null,
"damage-speed","damage-speed",1800211525),octet.core.uint32,new cljs.core.Keyword(null,"hitpoints","hitpoints",-575579159),octet.core.int32,new cljs.core.Keyword(null,"major-revision-number","major-revision-number",473159511),octet.core.uint16,new cljs.core.Keyword(null,"minor-revision-number","minor-revision-number",-358429843),octet.core.uint16,new cljs.core.Keyword(null,"create-priority","create-priority",-433275059),octet.core.uint16,new cljs.core.Keyword(null,"management-domain","management-domain",
-382123626),octet.core.ubyte,new cljs.core.Keyword(null,"transferable","transferable",-243006862),octet.core.ubyte,new cljs.core.Keyword(null,"private","private",-558947994),octet.core.ubyte,new cljs.core.Keyword(null,"tangible","tangible",1450746508),octet.core.ubyte,new cljs.core.Keyword(null,"collidable","collidable",232142278),octet.core.ubyte,new cljs.core.Keyword(null,"global","global",93595047),octet.core.ubyte,new cljs.core.Keyword(null,"persistent","persistent",885415113),octet.core.ubyte,
new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.repeat.call(null,3,octet.core.byte$)],!0);
weathergen.falcon.files.mission.falcon4_entity_fields=new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),cljs.core.apply.call(null,octet.core.spec,weathergen.falcon.files.mission.vu_entity_fields),new cljs.core.Keyword(null,"vis-type","vis-type",802477693),octet.core.repeat.call(null,7,octet.core.int16),new cljs.core.Keyword(null,"vehicle-data-index","vehicle-data-index",1750693686),octet.core.int16,
new cljs.core.Keyword(null,"data-type","data-type",-326421468),octet.core.ubyte,new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382),octet.core.int32],null);
weathergen.falcon.files.mission.camp_base_fields=new cljs.core.PersistentVector(null,20,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125),octet.core.uint16,new cljs.core.Keyword(null,"x","x",2099068185),octet.core.int16,new cljs.core.Keyword(null,"y","y",-1757859776),octet.core.int16,new cljs.core.Keyword(null,"z","z",-789527183),octet.core.float$,new cljs.core.Keyword(null,
"spot-time","spot-time",644875706),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"spotted","spotted",183372374),octet.core.int16,new cljs.core.Keyword(null,"base-flags","base-flags",-1180150392),octet.core.int16,new cljs.core.Keyword(null,"owner","owner",-392611939),octet.core.ubyte,new cljs.core.Keyword(null,"camp-id","camp-id",618705690),octet.core.int16],null);
weathergen.falcon.files.mission.read_strings=function(a,b){var c=weathergen.filesystem.file_buf.call(null,weathergen.filesystem.path_combine.call(null,a,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1(".idx")].join(""))),d=octet.buffer._STAR_byte_order_STAR_;octet.buffer._STAR_byte_order_STAR_=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);try{var e=octet.core.read.call(null,c,octet.core.uint16),f=octet.core.read.call(null,c,octet.core.repeat.call(null,
e,octet.core.uint16),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),2],null)),g=weathergen.filesystem.file_text.call(null,weathergen.filesystem.path_combine.call(null,a,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1(".wch")].join("")));return function(a,b,c,d,e){return function(d){return d<a-1?cljs.core.subs.call(null,c,cljs.core.nth.call(null,b,d),cljs.core._EQ_.call(null,d,a-1)?cljs.core.count.call(null,
c):cljs.core.nth.call(null,b,d+1)):null}}(e,f,g,d,c)}finally{octet.buffer._STAR_byte_order_STAR_=d}};
weathergen.falcon.files.mission.read_strings_file=function(a){a=weathergen.falcon.files.mission.read_strings.call(null,a,"strings");var b=function(a){return function(b,c){return cljs.core.into.call(null,cljs.core.sorted_map.call(null),cljs.core.map_indexed.call(null,cljs.core.vector,cljs.core.map.call(null,a,cljs.core.range.call(null,b,b+c))))}}(a);return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"country-names","country-names",-1652413855),new cljs.core.Keyword(null,"fn",
"fn",-1175266204),new cljs.core.Keyword(null,"ground-stype-names","ground-stype-names",-543566554),new cljs.core.Keyword(null,"air-stype-names","air-stype-names",-1744167443),new cljs.core.Keyword(null,"time-compression-names","time-compression-names",-311196976),new cljs.core.Keyword(null,"unit-name-format","unit-name-format",-1907370252),new cljs.core.Keyword(null,"waypoint-type-names","waypoint-type-names",719960758),new cljs.core.Keyword(null,"objective-type-names","objective-type-names",-2115502438),
new cljs.core.Keyword(null,"camera-label-names","camera-label-names",-192056963),new cljs.core.Keyword(null,"mission-type-names","mission-type-names",-1426382657),new cljs.core.Keyword(null,"naval-stype-names","naval-stype-names",140822175)],[b.call(null,40,weathergen.falcon.constants.NUM_COUNS),a,b.call(null,560,20),b.call(null,540,20),b.call(null,75,5),a.call(null,58),b.call(null,350,weathergen.falcon.constants.WP_LAST),b.call(null,500,weathergen.falcon.constants.MAXIMUM_OBJTYPES),b.call(null,60,
weathergen.falcon.constants.NUM_CAMERA_LABELS),b.call(null,300,weathergen.falcon.constants.AMIS_OTHER),b.call(null,580,20)])};
weathergen.falcon.files.mission.unit_class_data=octet.core.spec.call(null,new cljs.core.Keyword(null,"index","index",-1531685915),octet.core.int32,new cljs.core.Keyword(null,"num-elements","num-elements",1960422107),octet.core.repeat.call(null,weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,octet.core.int32),new cljs.core.Keyword(null,"vehicle-type","vehicle-type",-362045068),octet.core.repeat.call(null,weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,octet.core.int16),new cljs.core.Keyword(null,
"vehicle-class","vehicle-class",-1789622839),octet.core.repeat.call(null,weathergen.falcon.constants.VEHICLE_GROUPS_PER_UNIT,octet.core.repeat.call(null,8,octet.core.ubyte)),new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.uint16,new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.fixed_string.call(null,20),new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.int16,new cljs.core.Keyword(null,"movement-type","movement-type",-1340819145),octet.core.int32,
new cljs.core.Keyword(null,"movement-speed","movement-speed",-1779674971),octet.core.int16,new cljs.core.Keyword(null,"max-range","max-range",623016397),octet.core.int16,new cljs.core.Keyword(null,"fuel","fuel",10405485),octet.core.int32,new cljs.core.Keyword(null,"rate","rate",-1428659698),octet.core.int16,new cljs.core.Keyword(null,"pt-data-index","pt-data-index",-54255967),octet.core.int16,new cljs.core.Keyword(null,"scores","scores",-1267421800),octet.core.repeat.call(null,weathergen.falcon.constants.MAXIMUM_ROLES,
octet.core.ubyte),new cljs.core.Keyword(null,"role","role",-736691072),octet.core.ubyte,new cljs.core.Keyword(null,"hit-chance","hit-chance",-2087636980),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"strength","strength",-415606478),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"range","range",1639692286),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,
octet.core.ubyte),new cljs.core.Keyword(null,"detection","detection",-1580072483),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116),octet.core.repeat.call(null,weathergen.falcon.constants.OtherDam+1,octet.core.ubyte),new cljs.core.Keyword(null,"radar-vehicle","radar-vehicle",-457407214),octet.core.ubyte,new cljs.core.Keyword(null,"padding2","padding2",1017532826),octet.core.byte$,new cljs.core.Keyword(null,
"special-index","special-index",-545525937),octet.core.int16,new cljs.core.Keyword(null,"icon-index","icon-index",-42714286),octet.core.uint16,new cljs.core.Keyword(null,"padding3","padding3",358697252),octet.core.repeat.call(null,2,octet.core.byte$));
weathergen.falcon.files.mission.objective_class_data=octet.core.spec.call(null,new cljs.core.Keyword(null,"index","index",-1531685915),octet.core.int16,new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.fixed_string.call(null,20),new cljs.core.Keyword(null,"data-rate","data-rate",-1399941497),octet.core.int16,new cljs.core.Keyword(null,"deag-distance","deag-distance",-1721226571),octet.core.int16,new cljs.core.Keyword(null,"pt-data-index","pt-data-index",-54255967),octet.core.int16,
new cljs.core.Keyword(null,"detection","detection",-1580072483),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116),octet.core.repeat.call(null,weathergen.falcon.constants.OtherDam+1,octet.core.ubyte),new cljs.core.Keyword(null,"mystery","mystery",-686775643),octet.core.ubyte,new cljs.core.Keyword(null,"icon-index","icon-index",-42714286),octet.core.uint16,new cljs.core.Keyword(null,"features","features",
-1146962336),octet.core.ubyte,new cljs.core.Keyword(null,"radar-feature","radar-feature",2111876796),octet.core.ubyte,new cljs.core.Keyword(null,"first-feature","first-feature",-1395776257),octet.core.int16);
weathergen.falcon.files.mission.vehicle_class_data=octet.core.spec.call(null,new cljs.core.Keyword(null,"index","index",-1531685915),octet.core.int16,new cljs.core.Keyword(null,"hit-points","hit-points",-906296276),octet.core.int16,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.uint32,new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.fixed_string.call(null,15),new cljs.core.Keyword(null,"nctr","nctr",1306882980),weathergen.falcon.files.fixed_string.call(null,
5),new cljs.core.Keyword(null,"rcs-factor","rcs-factor",-693378533),octet.core.float$,new cljs.core.Keyword(null,"max-wt","max-wt",220395483),octet.core.int32,new cljs.core.Keyword(null,"empty-wt","empty-wt",1037790536),octet.core.int32,new cljs.core.Keyword(null,"fuel-wt","fuel-wt",-1341155598),octet.core.int32,new cljs.core.Keyword(null,"fuel-econ","fuel-econ",-1774342065),octet.core.int16,new cljs.core.Keyword(null,"engine-sound","engine-sound",-1018050458),octet.core.int16,new cljs.core.Keyword(null,
"high-alt","high-alt",-1378024467),octet.core.int16,new cljs.core.Keyword(null,"low-alt","low-alt",-228079593),octet.core.int16,new cljs.core.Keyword(null,"cruise-alt","cruise-alt",2005550721),octet.core.int16,new cljs.core.Keyword(null,"max-speed","max-speed",-997417461),octet.core.int16,new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362),octet.core.int16,new cljs.core.Keyword(null,"number-of-pilots","number-of-pilots",-393973473),octet.core.int16,new cljs.core.Keyword(null,"rack-flags",
"rack-flags",-1071125122),octet.core.uint16,new cljs.core.Keyword(null,"visible-flags","visible-flags",1830152500),octet.core.uint16,new cljs.core.Keyword(null,"callsign-index","callsign-index",-2090912473),octet.core.ubyte,new cljs.core.Keyword(null,"callsign-slots","callsign-slots",-1388847774),octet.core.ubyte,new cljs.core.Keyword(null,"hit-chance","hit-chance",-2087636980),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"strength",
"strength",-415606478),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"range","range",1639692286),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"detection","detection",-1580072483),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"weapon","weapon",-504830232),octet.core.repeat.call(null,weathergen.falcon.constants.HARDPOINT_MAX,
octet.core.int16),new cljs.core.Keyword(null,"weapons","weapons",-1983639898),octet.core.repeat.call(null,weathergen.falcon.constants.HARDPOINT_MAX,octet.core.ubyte),new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116),octet.core.repeat.call(null,weathergen.falcon.constants.OtherDam+1,octet.core.ubyte),new cljs.core.Keyword(null,"mystery","mystery",-686775643),octet.core.repeat.call(null,3,octet.core.ubyte));
weathergen.falcon.files.mission.weapon_class_data=octet.core.spec.call(null,new cljs.core.Keyword(null,"index","index",-1531685915),octet.core.int16,new cljs.core.Keyword(null,"strength","strength",-415606478),octet.core.uint16,new cljs.core.Keyword(null,"damage-type","damage-type",898770578),octet.core.uint16,new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.repeat.call(null,2,octet.core.ubyte),new cljs.core.Keyword(null,"range","range",1639692286),octet.core.int16,new cljs.core.Keyword(null,
"flags","flags",1775418075),octet.core.uint16,new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.fixed_string.call(null,20),new cljs.core.Keyword(null,"hit-chance","hit-chance",-2087636980),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"fire-rate","fire-rate",-1458689931),octet.core.ubyte,new cljs.core.Keyword(null,"rariety","rariety",1749498612),octet.core.ubyte,new cljs.core.Keyword(null,"guidance-flags",
"guidance-flags",343892844),octet.core.uint16,new cljs.core.Keyword(null,"collective","collective",-1678283599),octet.core.ubyte,new cljs.core.Keyword(null,"padding2","padding2",1017532826),octet.core.ubyte,new cljs.core.Keyword(null,"simweap-index","simweap-index",1674222081),octet.core.int16,new cljs.core.Keyword(null,"drag-index","drag-index",-207918117),octet.core.int16,new cljs.core.Keyword(null,"blast-radius","blast-radius",796954270),octet.core.uint16,new cljs.core.Keyword(null,"radar-type",
"radar-type",-1913447362),octet.core.int16,new cljs.core.Keyword(null,"sim-data-idx","sim-data-idx",-713604174),octet.core.int16,new cljs.core.Keyword(null,"max-alt","max-alt",-363233306),octet.core.byte$,new cljs.core.Keyword(null,"padding3","padding3",358697252),octet.core.ubyte,new cljs.core.Keyword(null,"weight","weight",-1262796205),octet.core.uint16);
weathergen.falcon.files.mission.feature_class_data=octet.core.spec.call(null,new cljs.core.Keyword(null,"index","index",-1531685915),octet.core.int16,new cljs.core.Keyword(null,"repair-time","repair-time",699642051),octet.core.int16,new cljs.core.Keyword(null,"priority","priority",1431093715),octet.core.byte$,new cljs.core.Keyword(null,"padding1","padding1",-1028565124),octet.core.byte$,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.uint16,new cljs.core.Keyword(null,"name","name",
1843675177),weathergen.falcon.files.fixed_string.call(null,20),new cljs.core.Keyword(null,"hit-points","hit-points",-906296276),octet.core.int16,new cljs.core.Keyword(null,"height","height",1025178622),octet.core.int16,new cljs.core.Keyword(null,"angle","angle",1622094254),octet.core.float$,new cljs.core.Keyword(null,"radar-type","radar-type",-1913447362),octet.core.int16,new cljs.core.Keyword(null,"detection","detection",-1580072483),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,
octet.core.ubyte),new cljs.core.Keyword(null,"damage-mod","damage-mod",-756867116),octet.core.repeat.call(null,weathergen.falcon.constants.OtherDam+1,octet.core.ubyte),new cljs.core.Keyword(null,"padding2","padding2",1017532826),octet.core.repeat.call(null,3,octet.core.ubyte));
weathergen.falcon.files.mission.feature_entry_data=octet.core.spec.call(null,new cljs.core.Keyword(null,"index","index",-1531685915),octet.core.int16,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.uint16,new cljs.core.Keyword(null,"entity-class","entity-class",-1906919579),octet.core.repeat.call(null,8,octet.core.ubyte),new cljs.core.Keyword(null,"value","value",305978217),octet.core.ubyte,new cljs.core.Keyword(null,"padding1","padding1",-1028565124),octet.core.repeat.call(null,
3,octet.core.byte$),new cljs.core.Keyword(null,"offset","offset",296498311),weathergen.falcon.files.mission.vector3,new cljs.core.Keyword(null,"facing","facing",-854439413),octet.core.int16,new cljs.core.Keyword(null,"padding2","padding2",1017532826),octet.core.repeat.call(null,2,octet.core.byte$));
weathergen.falcon.files.mission.point_header_data=octet.core.spec.call(null,new cljs.core.Keyword(null,"obj-id","obj-id",1871733713),octet.core.int16,new cljs.core.Keyword(null,"type","type",1174270348),octet.core.ubyte,new cljs.core.Keyword(null,"count","count",2139924085),octet.core.ubyte,new cljs.core.Keyword(null,"features","features",-1146962336),octet.core.repeat.call(null,weathergen.falcon.constants.MAX_FEAT_DEPEND,octet.core.ubyte),new cljs.core.Keyword(null,"padding","padding",1660304693),
octet.core.byte$,new cljs.core.Keyword(null,"data","data",-232669377),octet.core.int16,new cljs.core.Keyword(null,"sin-heading","sin-heading",-1506379307),octet.core.float$,new cljs.core.Keyword(null,"cos-heading","cos-heading",-514525192),octet.core.float$,new cljs.core.Keyword(null,"first","first",-644103046),octet.core.int16,new cljs.core.Keyword(null,"tex-idx","tex-idx",1332437579),octet.core.int16,new cljs.core.Keyword(null,"runway-num","runway-num",-1171395800),octet.core.byte$,new cljs.core.Keyword(null,
"ltrt","ltrt",2069439),octet.core.byte$,new cljs.core.Keyword(null,"next-header","next-header",1386001069),octet.core.int16);weathergen.falcon.files.mission.extension=function(a){var b=clojure.string.last_index_of.call(null,a,".");return cljs.core.subs.call(null,a,b)};
weathergen.falcon.files.mission.file_types=cljs.core.PersistentHashMap.fromArrays(".PLT .OBD .UNI .PST .VER .POL .TE .EVT .CMP .TEA .WTH .OBJ".split(" "),[new cljs.core.Keyword(null,"pilots","pilots",353525853),new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611),new cljs.core.Keyword(null,"units","units",-533089095),new cljs.core.Keyword(null,"persistent-objects","persistent-objects",137656263),new cljs.core.Keyword(null,"version","version",425292698),new cljs.core.Keyword(null,
"primary-objectives","primary-objectives",-2010039039),new cljs.core.Keyword(null,"victory-conditions","victory-conditions",-1943285833),new cljs.core.Keyword(null,"events","events",1792552201),new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966),new cljs.core.Keyword(null,"teams","teams",1677714510),new cljs.core.Keyword(null,"weather","weather",1320452344),new cljs.core.Keyword(null,"objectives","objectives",933939509)]);
weathergen.falcon.files.mission.file_type=function(a){return cljs.core.get.call(null,weathergen.falcon.files.mission.file_types,clojure.string.upper_case.call(null,weathergen.falcon.files.mission.extension.call(null,a)),new cljs.core.Keyword(null,"unknown","unknown",-935977881))};
weathergen.falcon.files.mission.file_type_description=cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"primary-objectives","primary-objectives",-2010039039),new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966),new cljs.core.Keyword(null,"persistent-objects","persistent-objects",137656263),new cljs.core.Keyword(null,"events","events",1792552201),new cljs.core.Keyword(null,"teams","teams",1677714510),new cljs.core.Keyword(null,"objective-deltas","objective-deltas",
710518611),new cljs.core.Keyword(null,"objectives","objectives",933939509),new cljs.core.Keyword(null,"victory-conditions","victory-conditions",-1943285833),new cljs.core.Keyword(null,"weather","weather",1320452344),new cljs.core.Keyword(null,"units","units",-533089095),new cljs.core.Keyword(null,"version","version",425292698),new cljs.core.Keyword(null,"pilots","pilots",353525853)],"primary objectives;campaign info;persistent objects;events;teams;objective deltas;objectives;victory conditions;weather;units;version;pilots".split(";"));
"undefined"===typeof weathergen.falcon.files.mission.read_embedded_file_STAR_&&(weathergen.falcon.files.mission.read_embedded_file_STAR_=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy",
"hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));return new cljs.core.MultiFn(cljs.core.symbol.call(null,"weathergen.falcon.files.mission","read-embedded-file*"),function(a,b,c,d,e){return function(a,b,c,d){return a}}(a,b,c,d,e),new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}());
weathergen.falcon.files.mission.read_embedded_file=function(a,b,c,d){taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.falcon.files.mission",null,554,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,["read-embedded-file",new cljs.core.Keyword(null,
"type","type",1174270348),a,new cljs.core.Keyword(null,"file-name","file-name",-1654217259),(new cljs.core.Keyword(null,"file-name","file-name",-1654217259)).cljs$core$IFn$_invoke$arity$1(b)],null)},null),null,2116400571);return weathergen.progress.with_step.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Reading "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,weathergen.falcon.files.mission.file_type_description,a,"data"))].join(""),function(){return weathergen.falcon.files.mission.read_embedded_file_STAR_.call(null,
a,b,c,d)})};weathergen.falcon.files.mission.directory_entry=octet.core.spec.call(null,new cljs.core.Keyword(null,"file-name","file-name",-1654217259),weathergen.falcon.files.lstring.call(null,octet.core.ubyte),new cljs.core.Keyword(null,"offset","offset",296498311),octet.core.uint32,new cljs.core.Keyword(null,"length","length",588987862),octet.core.uint32);
weathergen.falcon.files.mission.find_install_dir=function(a){for(a=weathergen.filesystem.parent.call(null,a);;)if(cljs.core.truth_(a)){if(cljs.core.every_QMARK_.call(null,function(a){return function(b){return weathergen.filesystem.exists_QMARK_.call(null,weathergen.filesystem.path_combine.call(null,a,b))}}(a),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,["Bin","Data","Tools","User"],null)))return a;a=weathergen.filesystem.parent.call(null,a)}else return null};
weathergen.falcon.files.mission.campaign_dir=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return weathergen.falcon.files.mission.campaign_dir.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return weathergen.falcon.files.mission.campaign_dir.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};weathergen.falcon.files.mission.campaign_dir.cljs$core$IFn$_invoke$arity$1=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"installation","installation",943147954));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"theater","theater",258922071));return weathergen.falcon.files.mission.campaign_dir.call(null,a,b)};
weathergen.falcon.files.mission.campaign_dir.cljs$core$IFn$_invoke$arity$2=function(a,b){return weathergen.filesystem.path_combine.call(null,(new cljs.core.Keyword(null,"data-dir","data-dir",2038801936)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"campaign-dir","campaign-dir",-1278307883)).cljs$core$IFn$_invoke$arity$1(b))};weathergen.falcon.files.mission.campaign_dir.cljs$lang$maxFixedArity=2;
weathergen.falcon.files.mission.object_dir=function(a,b){return weathergen.filesystem.path_combine.call(null,(new cljs.core.Keyword(null,"data-dir","data-dir",2038801936)).cljs$core$IFn$_invoke$arity$1(a),function(){var c=(new cljs.core.Keyword(null,"object-dir","object-dir",-2124784896)).cljs$core$IFn$_invoke$arity$1(b);return cljs.core.truth_(c)?c:(new cljs.core.Keyword(null,"object-dir","object-dir",-2124784896)).cljs$core$IFn$_invoke$arity$1(a)}())};
weathergen.falcon.files.mission.parse_theater_def_line=function(a){var b=clojure.string.index_of.call(null,a," ");return cljs.core.truth_(b)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.keyword.call(null,cljs.core.subs.call(null,a,0,b)),cljs.core.subs.call(null,a,b+1)],null):null};
weathergen.falcon.files.mission.adjust_art_dir=function(a){return cljs.core.not_EQ_.call(null,clojure.string.lower_case.call(null,(new cljs.core.Keyword(null,"art-dir","art-dir",67381390)).cljs$core$IFn$_invoke$arity$1(a)),"art")?cljs.core.update.call(null,a,new cljs.core.Keyword(null,"art-dir","art-dir",67381390),weathergen.filesystem.path_combine,"Art"):a};
weathergen.falcon.files.mission.read_theater_def=function(a,b){var c=weathergen.filesystem.path_combine.call(null,a,b);if(cljs.core.not.call(null,weathergen.filesystem.exists_QMARK_.call(null,c))){var d=[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Can't find theater definition at "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),cljs.core.str.cljs$core$IFn$_invoke$arity$1(". Ignoring theater.")].join("");taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,
"warn","warn",-436710552),"weathergen.falcon.files.mission",null,620,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b){return function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(d,c),null),null,1243796741);weathergen.progress.step_warn.call(null,d);return null}c=cljs.core.into.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"path",
"path",-188191168),b],null),cljs.core.map.call(null,weathergen.falcon.files.mission.parse_theater_def_line,cljs.core.remove.call(null,function(a){return function(a){return a.startsWith("#")}}(c),cljs.core.remove.call(null,clojure.string.blank_QMARK_,cljs.core.map.call(null,clojure.string.trim,clojure.string.split_lines.call(null,weathergen.filesystem.file_text.call(null,c)))))));return weathergen.falcon.files.mission.adjust_art_dir.call(null,clojure.set.rename_keys.call(null,c,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,
"misctexdir","misctexdir",1667285632),new cljs.core.Keyword(null,"objectdir","objectdir",407109125),new cljs.core.Keyword(null,"mintact","mintact",-890985755),new cljs.core.Keyword(null,"terraindir","terraindir",1329705160),new cljs.core.Keyword(null,"artdir","artdir",-194008055),new cljs.core.Keyword(null,"campaigndir","campaigndir",1669742857),new cljs.core.Keyword(null,"simdatadir","simdatadir",-85891831),new cljs.core.Keyword(null,"3ddatadir","3ddatadir",1203546287),new cljs.core.Keyword(null,
"sounddir","sounddir",2140813242)],[new cljs.core.Keyword(null,"misc-tex-dir","misc-tex-dir",2025463376),new cljs.core.Keyword(null,"object-dir","object-dir",-2124784896),new cljs.core.Keyword(null,"min-tacan","min-tacan",767695708),new cljs.core.Keyword(null,"terrain-dir","terrain-dir",-682919794),new cljs.core.Keyword(null,"art-dir","art-dir",67381390),new cljs.core.Keyword(null,"campaign-dir","campaign-dir",-1278307883),new cljs.core.Keyword(null,"sim-data-dir","sim-data-dir",-1889768986),new cljs.core.Keyword(null,
"3d-data-dir","3d-data-dir",-1538342822),new cljs.core.Keyword(null,"sound-dir","sound-dir",604246964)])))};
weathergen.falcon.files.mission.read_theater_defs=function(a){return cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.mapv.call(null,function(b){return weathergen.falcon.files.mission.read_theater_def.call(null,a,b)},cljs.core.remove.call(null,clojure.string.blank_QMARK_,cljs.core.remove.call(null,function(a){return a.startsWith("#")},cljs.core.map.call(null,clojure.string.trim,clojure.string.split_lines.call(null,weathergen.filesystem.file_text.call(null,weathergen.filesystem.path_combine.call(null,
a,"Terrdata/theaterdefinition/theater.lst"))))))))};
weathergen.falcon.files.mission.read_id_list_file=function(a,b){return cljs.core.map.call(null,function(a){var c=cljs.core.nth.call(null,a,0,null),e=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,function(){var d=weathergen.util.str__GT_long.call(null,e);if(cljs.core.truth_(d))return d;taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"error","error",-978969032),"weathergen.falcon.files.mission",
null,672,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,c,d,e){return function(){return new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,["Error parsing image id",new cljs.core.Keyword(null,"name","name",1843675177),d,new cljs.core.Keyword(null,"id","id",-1388402092),e,new cljs.core.Keyword(null,"path","path",-188191168),b],null)}}(d,a,c,e),null),null,-1016336290);return null}()],null)},
cljs.core.map.call(null,function(a){return clojure.string.split.call(null,a,/[ \t=]+/)},cljs.core.remove.call(null,clojure.string.blank_QMARK_,cljs.core.map.call(null,clojure.string.trim,clojure.string.split_lines.call(null,weathergen.filesystem.file_text.call(null,weathergen.filesystem.path_combine.call(null,(new cljs.core.Keyword(null,"data-dir","data-dir",2038801936)).cljs$core$IFn$_invoke$arity$1(a),b)))))))};
weathergen.falcon.files.mission.read_id_list=function(a,b){var c=cljs.core.mapcat.call(null,function(b){return weathergen.falcon.files.mission.read_id_list_file.call(null,a,b)},cljs.core.remove.call(null,clojure.string.blank_QMARK_,cljs.core.map.call(null,clojure.string.trim,clojure.string.split_lines.call(null,weathergen.filesystem.file_text.call(null,weathergen.filesystem.path_combine.call(null,(new cljs.core.Keyword(null,"data-dir","data-dir",2038801936)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,
"art-dir","art-dir",67381390)).cljs$core$IFn$_invoke$arity$1(a),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1(".LST")].join("")))))));return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name-\x3eid","name-\x3eid",-338114168),cljs.core.zipmap.call(null,cljs.core.map.call(null,cljs.core.first,c),cljs.core.map.call(null,cljs.core.second,c)),new cljs.core.Keyword(null,"id-\x3ename","id-\x3ename",249122446),cljs.core.zipmap.call(null,
cljs.core.map.call(null,cljs.core.second,c),cljs.core.map.call(null,cljs.core.first,c))],null)};weathergen.falcon.files.mission.read_image_ids=function(a){return weathergen.falcon.files.mission.read_id_list.call(null,a,"IMAGEIDS")};weathergen.falcon.files.mission.read_user_ids=function(a){return weathergen.falcon.files.mission.read_id_list.call(null,a,"USERIDS")};
weathergen.falcon.files.mission.load_installation=function(a){var b=weathergen.filesystem.path_combine.call(null,a,"Data");return new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"install-dir","install-dir",2018055118),a,new cljs.core.Keyword(null,"data-dir","data-dir",2038801936),b,new cljs.core.Keyword(null,"art-dir","art-dir",67381390),"Art",new cljs.core.Keyword(null,"object-dir","object-dir",-2124784896),"Terrdata/objects",new cljs.core.Keyword(null,"theaters","theaters",-1420445930),
weathergen.falcon.files.mission.read_theater_defs.call(null,b)],null)};weathergen.falcon.files.mission.find_theater=function(a,b){return cljs.core.first.call(null,cljs.core.filter.call(null,function(c){return weathergen.filesystem.ancestor_QMARK_.call(null,weathergen.falcon.files.mission.campaign_dir.call(null,a,c),b)},(new cljs.core.Keyword(null,"theaters","theaters",-1420445930)).cljs$core$IFn$_invoke$arity$1(a)))};
weathergen.falcon.files.mission.theaterdef_name=function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"theater","theater",258922071),new cljs.core.Keyword(null,"name","name",1843675177)],null))};
weathergen.falcon.files.mission.load_initial_database=function(a,b){return cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"image-ids","image-ids",-529925649),weathergen.falcon.files.mission.read_image_ids.call(null,a),new cljs.core.Keyword(null,"user-ids","user-ids",-652076250),weathergen.falcon.files.mission.read_user_ids.call(null,a)],null),cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,function(){return function d(e){return new cljs.core.LazySeq(null,
function(){for(;;){var f=cljs.core.seq.call(null,e);if(f){var g=f;if(cljs.core.chunked_seq_QMARK_.call(null,g)){var h=cljs.core.chunk_first.call(null,g),k=cljs.core.count.call(null,h),l=cljs.core.chunk_buffer.call(null,k);return function(){for(var d=0;;)if(d<k){var e=cljs.core._nth.call(null,h,d),m=cljs.core.nth.call(null,e,0,null),n=cljs.core.nth.call(null,e,1,null),p=cljs.core.nth.call(null,e,2,null);cljs.core.chunk_append.call(null,l,function(){var q=weathergen.filesystem.path_combine.call(null,
weathergen.falcon.files.mission.object_dir.call(null,a,b),m),r=weathergen.filesystem.file_buf.call(null,q);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[n,function(){var u=octet.buffer._STAR_byte_order_STAR_;octet.buffer._STAR_byte_order_STAR_=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);try{return cljs.core.map_indexed.call(null,function(a,b,d,e,f,g,h,k,l,m,n,p,q){return function(a,b){return cljs.core.assoc.call(null,b,new cljs.core.Keyword("weathergen.falcon.files.mission",
"index","weathergen.falcon.files.mission/index",-1989089649),a)}}(d,u,q,r,e,m,n,p,h,k,l,g,f),octet.core.read.call(null,weathergen.filesystem.file_buf.call(null,weathergen.filesystem.path_combine.call(null,weathergen.falcon.files.mission.object_dir.call(null,a,b),m)),weathergen.falcon.files.larray.call(null,octet.core.uint16,p)))}finally{octet.buffer._STAR_byte_order_STAR_=u}}()],null)}());d+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),d.call(null,cljs.core.chunk_rest.call(null,
g))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),null)}var m=cljs.core.first.call(null,g),n=cljs.core.nth.call(null,m,0,null),p=cljs.core.nth.call(null,m,1,null),q=cljs.core.nth.call(null,m,2,null);return cljs.core.cons.call(null,function(){var d=weathergen.filesystem.path_combine.call(null,weathergen.falcon.files.mission.object_dir.call(null,a,b),n),e=weathergen.filesystem.file_buf.call(null,d);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[p,
function(){var h=octet.buffer._STAR_byte_order_STAR_;octet.buffer._STAR_byte_order_STAR_=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);try{return cljs.core.map_indexed.call(null,function(a,b,d,e,f,g,h,k,l){return function(a,b){return cljs.core.assoc.call(null,b,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),a)}}(h,d,e,m,n,p,q,g,f),octet.core.read.call(null,weathergen.filesystem.file_buf.call(null,weathergen.filesystem.path_combine.call(null,
weathergen.falcon.files.mission.object_dir.call(null,a,b),n)),weathergen.falcon.files.larray.call(null,octet.core.uint16,q)))}finally{octet.buffer._STAR_byte_order_STAR_=h}}()],null)}(),d.call(null,cljs.core.rest.call(null,g)))}return null}},null,null)}.call(null,new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["FALCON4.ct",new cljs.core.Keyword(null,"class-table","class-table",207400992),
cljs.core.apply.call(null,octet.core.spec,weathergen.falcon.files.mission.falcon4_entity_fields)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["FALCON4.UCD",new cljs.core.Keyword(null,"unit-class-data","unit-class-data",2122324209),weathergen.falcon.files.mission.unit_class_data],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["FALCON4.OCD",new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156),
weathergen.falcon.files.mission.objective_class_data],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["FALCON4.VCD",new cljs.core.Keyword(null,"vehicle-class-data","vehicle-class-data",1666024339),weathergen.falcon.files.mission.vehicle_class_data],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["FALCON4.WCD",new cljs.core.Keyword(null,"weapon-class-data","weapon-class-data",-1828241433),weathergen.falcon.files.mission.weapon_class_data],
null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["FALCON4.FCD",new cljs.core.Keyword(null,"feature-class-data","feature-class-data",-794349644),weathergen.falcon.files.mission.feature_class_data],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["falcon4.fed",new cljs.core.Keyword(null,"feature-entry-data","feature-entry-data",-87481893),weathergen.falcon.files.mission.feature_entry_data],null),new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,["FALCON4.PHD",new cljs.core.Keyword(null,"point-header-data","point-header-data",2108405911),weathergen.falcon.files.mission.point_header_data],null)],null))}()))};
weathergen.falcon.files.mission.read_embedded_files=function(a,b){var c=weathergen.filesystem.file_buf.call(null,a),d=octet.buffer._STAR_byte_order_STAR_;octet.buffer._STAR_byte_order_STAR_=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);try{var e=octet.core.read.call(null,c,octet.core.uint32),f=octet.core.read.call(null,c,octet.core.uint32,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),e],null)),g=octet.core.read.call(null,
c,octet.core.repeat.call(null,f,weathergen.falcon.files.mission.directory_entry),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),e+4],null)),h=function(){return function(a,c,d,e,f){return function r(g){return new cljs.core.LazySeq(null,function(a,c,d,e,f){return function(){for(;;){var a=cljs.core.seq.call(null,g);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var c=cljs.core.chunk_first.call(null,a),d=cljs.core.count.call(null,c),e=cljs.core.chunk_buffer.call(null,
d);a:for(var h=0;;)if(h<d){var k=cljs.core._nth.call(null,c,h),l=weathergen.falcon.files.mission.file_type.call(null,(new cljs.core.Keyword(null,"file-name","file-name",-1654217259)).cljs$core$IFn$_invoke$arity$1(k));cljs.core.chunk_append.call(null,e,cljs.core.assoc.call(null,k,new cljs.core.Keyword(null,"type","type",1174270348),l,new cljs.core.Keyword(null,"data","data",-232669377),weathergen.falcon.files.mission.read_embedded_file.call(null,l,k,f,b)));h+=1}else{c=!0;break a}return c?cljs.core.chunk_cons.call(null,
cljs.core.chunk.call(null,e),r.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),null)}e=cljs.core.first.call(null,a);c=weathergen.falcon.files.mission.file_type.call(null,(new cljs.core.Keyword(null,"file-name","file-name",-1654217259)).cljs$core$IFn$_invoke$arity$1(e));return cljs.core.cons.call(null,cljs.core.assoc.call(null,e,new cljs.core.Keyword(null,"type","type",1174270348),c,new cljs.core.Keyword(null,"data","data",-232669377),weathergen.falcon.files.mission.read_embedded_file.call(null,
c,e,f,b)),r.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,c,d,e,f),null,null)}}(e,f,g,d,c).call(null,g)}();if(!cljs.core._EQ_.call(null,cljs.core.count.call(null,h),cljs.core.count.call(null,cljs.core.distinct.call(null,cljs.core.map.call(null,new cljs.core.Keyword(null,"type","type",1174270348),h)))))throw Error("Assert failed: (-\x3e\x3e files (map :type) distinct count (\x3d (count files)))");return cljs.core.zipmap.call(null,cljs.core.map.call(null,new cljs.core.Keyword(null,"type",
"type",1174270348),h),cljs.core.map.call(null,new cljs.core.Keyword(null,"data","data",-232669377),h))}finally{octet.buffer._STAR_byte_order_STAR_=d}};
weathergen.falcon.files.mission.merge_objective_deltas=function(a,b){var c=cljs.core.zipmap.call(null,cljs.core.map.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),a),a);return cljs.core.vec.call(null,cljs.core.vals.call(null,cljs.core.reduce.call(null,function(a){return function(a,b){return cljs.core.update.call(null,a,(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(b),cljs.core.merge,b)}}(c),c,b)))};
weathergen.falcon.files.mission.read_mission=function(a,b){var c=weathergen.progress.with_step.call(null,"Locating installation directory",function(){return weathergen.falcon.files.mission.find_install_dir.call(null,b)}),d=weathergen.progress.with_step.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Scanning Falcon installation at "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(""),function(a){return function(){return weathergen.falcon.files.mission.load_installation.call(null,a)}}(c)),
e=weathergen.progress.with_step.call(null,"Determining theater",function(a,c){return function(){return weathergen.falcon.files.mission.find_theater.call(null,c,b)}}(c,d)),f=weathergen.progress.with_step.call(null,"Reading theater strings",function(a,b,c){return function(){return weathergen.falcon.files.mission.read_strings_file.call(null,weathergen.falcon.files.mission.campaign_dir.call(null,b,c))}}(c,d,e)),g=weathergen.progress.with_step.call(null,"Reading theater data",function(a,b,c,d){return function(){return cljs.core.assoc.call(null,
weathergen.falcon.files.mission.load_initial_database.call(null,b,c),new cljs.core.Keyword(null,"strings","strings",-2055406807),d)}}(c,d,e,f)),h=weathergen.progress.with_step.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Reading mission files from "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""),function(a,c,d,e,f){return function(){return weathergen.falcon.files.mission.read_embedded_files.call(null,b,f)}}(c,d,e,f,g)),k=(new cljs.core.Keyword(null,"campaign-info","campaign-info",
1158908966)).cljs$core$IFn$_invoke$arity$1(h),l=null!=k&&(k.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===k.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,k):k,m=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"theater-name","theater-name",2077458810)),n=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"scenario","scenario",-316635333)),p=weathergen.progress.with_step.call(null,"Reading theater names",function(a,b,c,d,e,f,g,h,k,l){return function(){return weathergen.falcon.files.mission.read_strings.call(null,
weathergen.falcon.files.mission.campaign_dir.call(null,b,c),k)}}(c,d,e,f,g,h,k,l,m,n)),q=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.extension.call(null,b))].join(""),r=weathergen.filesystem.path_combine.call(null,weathergen.filesystem.parent.call(null,b),q),u=weathergen.progress.with_step.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Reading scenario file: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(q)].join(""),
function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){return weathergen.falcon.files.mission.read_embedded_files.call(null,p,e)}}(c,d,e,f,g,h,k,l,m,n,p,q,r)),c=cljs.core.merge.call(null,g,h,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.Keyword(null,"installs","installs",-915592927),new cljs.core.Keyword(null,"mission-name","mission-name",1479736582),new cljs.core.Keyword(null,"candidate-installs","candidate-installs",1512655313),new cljs.core.Keyword(null,
"installation","installation",943147954),new cljs.core.Keyword(null,"objectives","objectives",933939509),new cljs.core.Keyword(null,"theater","theater",258922071),new cljs.core.Keyword(null,"names","names",-1943074658),new cljs.core.Keyword(null,"scenario-files","scenario-files",-1697993090)],[b,a,weathergen.filesystem.basename.call(null,b),cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.filter.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(b){cljs.core.nth.call(null,
b,0,null);b=cljs.core.nth.call(null,b,1,null);var c=weathergen.filesystem.exists_QMARK_.call(null,b);return cljs.core.truth_(c)?(c=weathergen.filesystem.exists_QMARK_.call(null,a),cljs.core.truth_(c)?weathergen.filesystem.identical_QMARK_.call(null,b,a):c):c}}(c,d,e,f,g,h,k,l,m,n,p,q,r,u),a)),d,weathergen.falcon.files.mission.merge_objective_deltas.call(null,(new cljs.core.Keyword(null,"objectives","objectives",933939509)).cljs$core$IFn$_invoke$arity$1(u),(new cljs.core.Keyword(null,"objective-deltas",
"objective-deltas",710518611)).cljs$core$IFn$_invoke$arity$1(h)),e,p,u]));return cljs.core.assoc.call(null,c,new cljs.core.Keyword(null,"map-image","map-image",-5560498),weathergen.falcon.files.images.make_descriptor.call(null,c,"resource/campmap","BIG_MAP_ID"))};
weathergen.falcon.files.mission.mission__GT_briefing=function(a,b,c){return cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"theaterdef-name","theaterdef-name",-635231832),weathergen.falcon.files.mission.theaterdef_name.call(null,a),new cljs.core.Keyword(null,"extension","extension",1453374065),weathergen.falcon.files.mission.extension.call(null,(new cljs.core.Keyword(null,"path","path",-188191168)).cljs$core$IFn$_invoke$arity$1(a)),new cljs.core.Keyword(null,
"install-id","install-id",-1310868737),b,new cljs.core.Keyword(null,"build-info","build-info",-622713066),c],null),cljs.core.select_keys.call(null,a,cljs.core.concat.call(null,cljs.core.vals.call(null,weathergen.falcon.files.mission.file_types),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)],null))))};
weathergen.falcon.files.mission.briefing__GT_mission=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"theaterdef-name","theaterdef-name",-635231832)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"install-id","install-id",-1310868737)),f="string"===typeof e?e:cljs.core.first.call(null,e),g=weathergen.progress.with_step.call(null,
[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Looking for installation of BMS version '"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(f),cljs.core.str.cljs$core$IFn$_invoke$arity$1("'.")].join(""),function(b,c,d,e,f){return function(){var b=cljs.core.get.call(null,a,f);if(cljs.core.truth_(b))return b;throw cljs.core.ex_info.call(null,"Not found",new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"reason","reason",-2070751759),new cljs.core.Keyword("weathergen.falcon.files.mission",
"install-not-found","weathergen.falcon.files.mission/install-not-found",852985674),new cljs.core.Keyword(null,"omit-stack-trace?","omit-stack-trace?",1080142229),!0,new cljs.core.Keyword(null,"installs","installs",-915592927),a,new cljs.core.Keyword(null,"install-id","install-id",-1310868737),f],null));}}(b,c,d,e,f)),h=weathergen.falcon.files.mission.load_installation.call(null,g),k=cljs.core.first.call(null,cljs.core.filter.call(null,function(a,b,c,d,e,f,g){return function(a){return cljs.core._EQ_.call(null,
c,(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(a))}}(b,c,d,e,f,g,h),(new cljs.core.Keyword(null,"theaters","theaters",-1420445930)).cljs$core$IFn$_invoke$arity$1(h)));if(!cljs.core.truth_(k))throw cljs.core.ex_info.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Theater "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not seem to be installed.")].join(""),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,
"reason","reason",-2070751759),new cljs.core.Keyword("weathergen.falcon.files.mission","theater-not-found","weathergen.falcon.files.mission/theater-not-found",259752510),new cljs.core.Keyword(null,"install-dir","install-dir",2018055118),g,new cljs.core.Keyword(null,"theaterdef-name","theaterdef-name",-635231832),d],null));var l=null,m=weathergen.falcon.files.mission.read_strings_file.call(null,weathergen.falcon.files.mission.campaign_dir.call(null,h,k)),n=cljs.core.assoc.call(null,weathergen.falcon.files.mission.load_initial_database.call(null,
h,k),new cljs.core.Keyword(null,"strings","strings",-2055406807),m),p=(new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966)).cljs$core$IFn$_invoke$arity$1(b),q=null!=p&&(p.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===p.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,p):p,r=cljs.core.get.call(null,q,new cljs.core.Keyword(null,"theater-name","theater-name",2077458810)),u=cljs.core.get.call(null,q,new cljs.core.Keyword(null,"scenario","scenario",
-316635333)),t=weathergen.falcon.files.mission.read_strings.call(null,weathergen.falcon.files.mission.campaign_dir.call(null,h,k),r),v=cljs.core.assoc.call(null,weathergen.falcon.files.mission.load_initial_database.call(null,h,k),new cljs.core.Keyword(null,"strings","strings",-2055406807),m),w=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(u),cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"extension","extension",1453374065)).cljs$core$IFn$_invoke$arity$1(b))].join(""),x=weathergen.filesystem.path_combine.call(null,
weathergen.falcon.files.mission.campaign_dir.call(null,h,k),w),c=weathergen.progress.with_step.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Reading scenario file: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(w)].join(""),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){return function(){return weathergen.falcon.files.mission.read_embedded_files.call(null,w,t)}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x)),h=cljs.core.merge.call(null,v,b,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"objectives","objectives",933939509),weathergen.falcon.files.mission.merge_objective_deltas.call(null,(new cljs.core.Keyword(null,"objectives","objectives",933939509)).cljs$core$IFn$_invoke$arity$1(c),(new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611)).cljs$core$IFn$_invoke$arity$1(b)),new cljs.core.Keyword(null,"scenario-files","scenario-files",-1697993090),c,new cljs.core.Keyword(null,"names","names",-1943074658),t,new cljs.core.Keyword(null,"installation","installation",
943147954),h,new cljs.core.Keyword(null,"theater","theater",258922071),k],null));return cljs.core.assoc.call(null,h,new cljs.core.Keyword(null,"map-image","map-image",-5560498),weathergen.falcon.files.images.make_descriptor.call(null,h,"resource/campmap","BIG_MAP_ID"))};
weathergen.falcon.files.mission.team_basic_info=octet.core.spec.call(null,new cljs.core.Keyword(null,"flag","flag",1088647881),octet.core.ubyte,new cljs.core.Keyword(null,"color","color",1011675173),octet.core.ubyte,new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.fixed_string.call(null,20),new cljs.core.Keyword(null,"motto","motto",-708709752),weathergen.falcon.files.fixed_string.call(null,200));
weathergen.falcon.files.mission.squadron_info=octet.core.spec.call(null,new cljs.core.Keyword(null,"x","x",2099068185),octet.core.float$,new cljs.core.Keyword(null,"y","y",-1757859776),octet.core.float$,new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"description-index","description-index",1949024606),octet.core.int16,new cljs.core.Keyword(null,"name-id","name-id",-279275372),octet.core.int16,new cljs.core.Keyword(null,"airbase-icon",
"airbase-icon",-1322581504),octet.core.int16,new cljs.core.Keyword(null,"squadron-patch","squadron-patch",883934030),octet.core.int16,new cljs.core.Keyword(null,"specialty","specialty",-159219386),octet.core.ubyte,new cljs.core.Keyword(null,"current-strength","current-strength",-809786824),octet.core.ubyte,new cljs.core.Keyword(null,"country","country",312965309),octet.core.ubyte,new cljs.core.Keyword(null,"airbase-name","airbase-name",-1509991393),weathergen.falcon.files.fixed_string.call(null,40),
new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.byte$);
weathergen.falcon.files.mission.event_node=octet.core.spec.call(null,new cljs.core.Keyword(null,"x","x",2099068185),octet.core.int16,new cljs.core.Keyword(null,"y","y",-1757859776),octet.core.int16,new cljs.core.Keyword(null,"time","time",1385887882),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.ubyte,new cljs.core.Keyword(null,"team","team",1355747699),octet.core.ubyte,new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.repeat.call(null,
2,octet.core.byte$),new cljs.core.Keyword(null,"event-text","event-text",-1878870726),octet.core.int32,new cljs.core.Keyword(null,"ui-event-node","ui-event-node",-1345265994),octet.core.int32,new cljs.core.Keyword(null,"event-text","event-text",-1878870726),weathergen.falcon.files.lstring.call(null,octet.core.uint16));
weathergen.falcon.files.mission.cmp_spec=octet.core.spec.call(null,new cljs.core.Keyword(null,"current-time","current-time",-1609407134),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"te-start","te-start",-810002242),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"te-time-limit","te-time-limit",-309642932),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"te-victory-points","te-victory-points",132309627),octet.core.int32,
new cljs.core.Keyword(null,"te-type","te-type",-255361660),octet.core.int32,new cljs.core.Keyword(null,"te-num-teams","te-num-teams",-1586070853),octet.core.int32,new cljs.core.Keyword(null,"te-num-aircraft","te-num-aircraft",318417356),octet.core.repeat.call(null,8,octet.core.int32),new cljs.core.Keyword(null,"te-num-f16s","te-num-f16s",-1823950404),octet.core.repeat.call(null,8,octet.core.int32),new cljs.core.Keyword(null,"te-team","te-team",268867708),octet.core.int32,new cljs.core.Keyword(null,
"te-team-points","te-team-points",2095170901),octet.core.repeat.call(null,8,octet.core.int32),new cljs.core.Keyword(null,"te-flags","te-flags",354248005),octet.core.int32,new cljs.core.Keyword(null,"team-info","team-info",-1689319883),octet.core.repeat.call(null,8,weathergen.falcon.files.mission.team_basic_info),new cljs.core.Keyword(null,"last-major-event","last-major-event",659606992),octet.core.uint32,new cljs.core.Keyword(null,"last-resupply","last-resupply",1047033340),octet.core.uint32,new cljs.core.Keyword(null,
"last-repair","last-repair",1138109175),octet.core.uint32,new cljs.core.Keyword(null,"last-reinforcement","last-reinforcement",292779879),octet.core.uint32,new cljs.core.Keyword(null,"time-stamp","time-stamp",-1161230692),octet.core.int16,new cljs.core.Keyword(null,"group","group",582596132),octet.core.int16,new cljs.core.Keyword(null,"ground-ratio","ground-ratio",-2128608539),octet.core.int16,new cljs.core.Keyword(null,"air-ratio","air-ratio",1013948242),octet.core.int16,new cljs.core.Keyword(null,
"air-defense-ratio","air-defense-ratio",1236036225),octet.core.int16,new cljs.core.Keyword(null,"naval-ratio","naval-ratio",1923404214),octet.core.int16,new cljs.core.Keyword(null,"brief","brief",-1044220717),octet.core.int16,new cljs.core.Keyword(null,"theater-size-x","theater-size-x",1642493141),octet.core.int16,new cljs.core.Keyword(null,"theater-size-y","theater-size-y",-1863614166),octet.core.int16,new cljs.core.Keyword(null,"current-day","current-day",129141412),octet.core.ubyte,new cljs.core.Keyword(null,
"active-team","active-team",-709241146),octet.core.ubyte,new cljs.core.Keyword(null,"day-zero","day-zero",1149503524),octet.core.ubyte,new cljs.core.Keyword(null,"endgame-result","endgame-result",-117243832),octet.core.ubyte,new cljs.core.Keyword(null,"situation","situation",-1432089725),octet.core.ubyte,new cljs.core.Keyword(null,"enemy-air-exp","enemy-air-exp",1693726133),octet.core.ubyte,new cljs.core.Keyword(null,"enemy-ad-exp","enemy-ad-exp",1654067742),octet.core.ubyte,new cljs.core.Keyword(null,
"bullseye-name","bullseye-name",-1974521298),octet.core.ubyte,new cljs.core.Keyword(null,"bullseye-x","bullseye-x",-1698783852),octet.core.int16,new cljs.core.Keyword(null,"bullseye-y","bullseye-y",904460818),octet.core.int16,new cljs.core.Keyword(null,"theater-name","theater-name",2077458810),weathergen.falcon.files.fixed_string.call(null,40),new cljs.core.Keyword(null,"scenario","scenario",-316635333),weathergen.falcon.files.fixed_string.call(null,40),new cljs.core.Keyword(null,"save-file","save-file",
-250442926),weathergen.falcon.files.fixed_string.call(null,40),new cljs.core.Keyword(null,"ui-name","ui-name",-5784516),weathergen.falcon.files.fixed_string.call(null,40),new cljs.core.Keyword(null,"player-squadron-id","player-squadron-id",269963792),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"recent-event-entries","recent-event-entries",1549481754),weathergen.falcon.files.larray.call(null,octet.core.int16,weathergen.falcon.files.mission.event_node),new cljs.core.Keyword(null,
"priority-event-entries","priority-event-entries",1522743125),weathergen.falcon.files.larray.call(null,octet.core.int16,weathergen.falcon.files.mission.event_node),new cljs.core.Keyword(null,"map","map",1371690461),weathergen.falcon.files.larray.call(null,octet.core.int16,octet.core.ubyte),new cljs.core.Keyword(null,"last-index-num","last-index-num",508638070),octet.core.int16,new cljs.core.Keyword(null,"squadron-info","squadron-info",-818676314),weathergen.falcon.files.larray.call(null,octet.core.int16,
weathergen.falcon.files.mission.squadron_info),new cljs.core.Keyword(null,"tempo","tempo",-1555208453),octet.core.ubyte,new cljs.core.Keyword(null,"creator-ip","creator-ip",1390615344),octet.core.int32,new cljs.core.Keyword(null,"creation-time","creation-time",-1921334563),octet.core.int32,new cljs.core.Keyword(null,"creation-rand","creation-rand",-844614550),octet.core.int32);
cljs.core._add_method.call(null,weathergen.falcon.files.mission.read_embedded_file_STAR_,new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966),function(a,b,c,d){b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"offset","offset",296498311));cljs.core.get.call(null,b,new cljs.core.Keyword(null,"length","length",588987862));b=
octet.buffer._STAR_byte_order_STAR_;octet.buffer._STAR_byte_order_STAR_=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);try{var e=octet.core.spec.call(null,new cljs.core.Keyword(null,"compressed-size","compressed-size",-1517579578),octet.core.int32,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",-434136147),octet.core.int32),f=octet.core.read.call(null,c,e,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),a],
null)),g=null!=f&&(f.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===f.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,f):f,h=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"compressed-size","compressed-size",-1517579578)),k=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",-434136147)),l=h-octet.core.size.call(null,octet.core.int32),m=weathergen.lzss.expand.call(null,c,a+octet.core.size.call(null,e),l,k);return cljs.core.into.call(null,
cljs.core.sorted_map.call(null),octet.core.read.call(null,m,weathergen.falcon.files.mission.cmp_spec))}finally{octet.buffer._STAR_byte_order_STAR_=b}});weathergen.falcon.files.mission.objective_link=octet.core.spec.call(null,new cljs.core.Keyword(null,"costs","costs",2093295309),octet.core.repeat.call(null,weathergen.falcon.constants.MOVEMENT_TYPES,octet.core.ubyte),new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.falcon.files.mission.vu_id);
weathergen.falcon.files.mission.objective_fields=weathergen.util.concatv.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"objective-type","objective-type",1907988670),octet.core.uint16],null),weathergen.falcon.files.mission.camp_base_fields,new cljs.core.PersistentVector(null,24,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"last-repair","last-repair",1138109175),weathergen.falcon.files.mission.campaign_time,
new cljs.core.Keyword(null,"obj-flags","obj-flags",-864355993),octet.core.uint32,new cljs.core.Keyword(null,"supply","supply",-1701696309),octet.core.ubyte,new cljs.core.Keyword(null,"fuel","fuel",10405485),octet.core.ubyte,new cljs.core.Keyword(null,"losses","losses",-189206407),octet.core.ubyte,new cljs.core.Keyword(null,"f-status","f-status",782756103),weathergen.falcon.files.larray.call(null,octet.core.ubyte,octet.core.ubyte),new cljs.core.Keyword(null,"priority","priority",1431093715),octet.core.ubyte,
new cljs.core.Keyword(null,"name-id","name-id",-279275372),octet.core.int16,new cljs.core.Keyword(null,"parent","parent",-878878779),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"first-owner","first-owner",911218300),octet.core.ubyte,new cljs.core.Keyword(null,"links","links",-654507394),weathergen.falcon.files.larray.call(null,octet.core.ubyte,weathergen.falcon.files.mission.objective_link),new cljs.core.Keyword(null,"radar-data","radar-data",-2114904134),weathergen.falcon.files.spec_if.call(null,
new cljs.core.Keyword(null,"has-radar-data","has-radar-data",-1734005648),octet.core.byte$,function(a){return cljs.core._EQ_.call(null,1,a)},new cljs.core.Keyword(null,"detect-ratio","detect-ratio",-1552651193),octet.core.repeat.call(null,weathergen.falcon.constants.NUM_RADAR_ARCS,octet.core.float$),weathergen.falcon.files.constant.call(null,null))],null));
cljs.core._add_method.call(null,weathergen.falcon.files.mission.read_embedded_file_STAR_,new cljs.core.Keyword(null,"objectives","objectives",933939509),function(a,b,c,d){b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"offset","offset",296498311));cljs.core.get.call(null,b,new cljs.core.Keyword(null,"length","length",588987862));b=octet.buffer._STAR_byte_order_STAR_;
octet.buffer._STAR_byte_order_STAR_=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);try{var e=octet.core.spec.call(null,new cljs.core.Keyword(null,"num-objectives","num-objectives",-1302595446),octet.core.int16,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",-434136147),octet.core.int32,new cljs.core.Keyword(null,"compressed-size","compressed-size",-1517579578),octet.core.int32),f=octet.core.read.call(null,c,e,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"offset","offset",296498311),a],null)),g=null!=f&&(f.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===f.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,f):f,h=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"num-objectives","num-objectives",-1302595446)),k=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"compressed-size","compressed-size",-1517579578)),l=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",-434136147)),
m=weathergen.lzss.expand.call(null,c,a+octet.core.size.call(null,e),k,l);return octet.core.read.call(null,m,octet.core.repeat.call(null,h,cljs.core.apply.call(null,octet.core.spec,weathergen.falcon.files.mission.objective_fields)))}finally{octet.buffer._STAR_byte_order_STAR_=b}});
weathergen.falcon.files.mission.objective_delta=octet.core.spec.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"last-repair","last-repair",1138109175),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"owner","owner",-392611939),octet.core.ubyte,new cljs.core.Keyword(null,"supply","supply",-1701696309),octet.core.ubyte,new cljs.core.Keyword(null,"fuel","fuel",10405485),octet.core.ubyte,new cljs.core.Keyword(null,
"losses","losses",-189206407),octet.core.ubyte,new cljs.core.Keyword(null,"f-status","f-status",782756103),weathergen.falcon.files.larray.call(null,octet.core.ubyte,octet.core.ubyte));
cljs.core._add_method.call(null,weathergen.falcon.files.mission.read_embedded_file_STAR_,new cljs.core.Keyword(null,"objective-deltas","objective-deltas",710518611),function(a,b,c,d){b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"offset","offset",296498311));cljs.core.get.call(null,b,new cljs.core.Keyword(null,"length","length",588987862));
b=octet.buffer._STAR_byte_order_STAR_;octet.buffer._STAR_byte_order_STAR_=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);try{var e=octet.core.spec.call(null,new cljs.core.Keyword(null,"compressed-size","compressed-size",-1517579578),octet.core.int32,new cljs.core.Keyword(null,"num-deltas","num-deltas",543784659),octet.core.int16,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",-434136147),octet.core.int32),f=octet.core.read.call(null,c,e,new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"offset","offset",296498311),a],null)),g=null!=f&&(f.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===f.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,f):f,h=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"num-deltas","num-deltas",543784659)),k=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"compressed-size","compressed-size",-1517579578)),l=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",
-434136147)),m=weathergen.lzss.expand.call(null,c,a+octet.core.size.call(null,e),k,l);return octet.core.read.call(null,m,octet.core.repeat.call(null,h,weathergen.falcon.files.mission.objective_delta))}finally{octet.buffer._STAR_byte_order_STAR_=b}});
cljs.core._add_method.call(null,weathergen.falcon.files.mission.read_embedded_file_STAR_,new cljs.core.Keyword(null,"victory-conditions","victory-conditions",-1943285833),function(a,b,c,d){b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"offset","offset",296498311));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"length","length",588987862));
return octet.core.read.call(null,c,weathergen.falcon.files.fixed_string.call(null,b),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),a],null))});
weathergen.falcon.files.mission.team_air_action=octet.core.spec.call(null,new cljs.core.Keyword(null,"start","start",-355208981),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"stop","stop",-2140911342),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"objective","objective",1301058585),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"last-objective","last-objective",-1761076877),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,
"type","type",1174270348),octet.core.ubyte,new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.repeat.call(null,3,octet.core.byte$));
weathergen.falcon.files.mission.team_ground_action=octet.core.spec.call(null,new cljs.core.Keyword(null,"time","time",1385887882),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"timeout","timeout",-318625318),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"objective","objective",1301058585),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"type","type",1174270348),octet.core.ubyte,new cljs.core.Keyword(null,"tempo","tempo",-1555208453),
octet.core.ubyte,new cljs.core.Keyword(null,"points","points",-1486596883),octet.core.ubyte);
weathergen.falcon.files.mission.team_status=octet.core.spec.call(null,new cljs.core.Keyword(null,"air-defence-vehicles","air-defence-vehicles",933914278),octet.core.uint16,new cljs.core.Keyword(null,"aircraft","aircraft",-790597916),octet.core.uint16,new cljs.core.Keyword(null,"ground-vehicles","ground-vehicles",-103851136),octet.core.uint16,new cljs.core.Keyword(null,"ships","ships",-875113158),octet.core.uint16,new cljs.core.Keyword(null,"supply","supply",-1701696309),octet.core.uint16,new cljs.core.Keyword(null,
"fuel","fuel",10405485),octet.core.uint16,new cljs.core.Keyword(null,"airbases","airbases",-1848087775),octet.core.uint16,new cljs.core.Keyword(null,"supply-level","supply-level",8080947),octet.core.ubyte,new cljs.core.Keyword(null,"fuel-level","fuel-level",1060451052),octet.core.ubyte);
weathergen.falcon.files.mission.atm_airbase=octet.core.spec.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"schedule","schedule",349275266),octet.core.repeat.call(null,weathergen.falcon.constants.ATM_MAX_CYCLES,octet.core.ubyte));
weathergen.falcon.files.mission.tasking_manager_fields=new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125),octet.core.uint16,new cljs.core.Keyword(null,"manager-flags","manager-flags",2031008919),octet.core.int16,new cljs.core.Keyword(null,"owner","owner",-392611939),octet.core.ubyte],null);
weathergen.falcon.files.mission.mission_request=octet.core.spec.call(null,new cljs.core.Keyword(null,"requester","requester",2032946161),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"target","target",253001721),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"secondary","secondary",-669381460),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"pak","pak",-1071422534),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"who","who",-235935040),
octet.core.ubyte,new cljs.core.Keyword(null,"vs","vs",-2022097090),octet.core.ubyte,new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.repeat.call(null,2,octet.core.byte$),new cljs.core.Keyword(null,"tot","tot",2086174646),octet.core.uint32,new cljs.core.Keyword(null,"tx","tx",466630418),octet.core.int16,new cljs.core.Keyword(null,"ty","ty",158290825),octet.core.int16,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.uint32,new cljs.core.Keyword(null,"caps","caps",
-183763072),octet.core.int16,new cljs.core.Keyword(null,"target-num","target-num",1623497814),octet.core.int16,new cljs.core.Keyword(null,"speed","speed",1257663751),octet.core.int16,new cljs.core.Keyword(null,"match-strength","match-strength",1432664922),octet.core.int16,new cljs.core.Keyword(null,"priority","priority",1431093715),octet.core.int16,new cljs.core.Keyword(null,"tot-type","tot-type",-524162589),octet.core.ubyte,new cljs.core.Keyword(null,"action-type","action-type",-1141667361),octet.core.ubyte,
new cljs.core.Keyword(null,"mission","mission",1740288522),octet.core.ubyte,new cljs.core.Keyword(null,"aircraft","aircraft",-790597916),octet.core.ubyte,new cljs.core.Keyword(null,"context","context",-830191113),octet.core.ubyte,new cljs.core.Keyword(null,"roe-check","roe-check",-302273906),octet.core.ubyte,new cljs.core.Keyword(null,"delayed","delayed",251992229),octet.core.ubyte,new cljs.core.Keyword(null,"start-block","start-block",885980136),octet.core.ubyte,new cljs.core.Keyword(null,"final-block",
"final-block",-1801414066),octet.core.ubyte,new cljs.core.Keyword(null,"slots","slots",276818598),octet.core.repeat.call(null,4,octet.core.ubyte),new cljs.core.Keyword(null,"min-to","min-to",-486357137),octet.core.byte$,new cljs.core.Keyword(null,"max-to","max-to",801697233),octet.core.byte$,new cljs.core.Keyword(null,"padding","padding",1660304693),octet.core.repeat.call(null,3,octet.core.byte$));
weathergen.falcon.files.mission.air_tasking_manager=cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.tasking_manager_fields,new cljs.core.PersistentVector(null,14,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.int16,new cljs.core.Keyword(null,"average-ca-strength","average-ca-strength",1605217659),octet.core.int16,new cljs.core.Keyword(null,"average-ca-missions","average-ca-missions",1515247290),
octet.core.int16,new cljs.core.Keyword(null,"sample-cycles","sample-cycles",1176043458),octet.core.ubyte,new cljs.core.Keyword(null,"airbases","airbases",-1848087775),weathergen.falcon.files.larray.call(null,octet.core.ubyte,weathergen.falcon.files.mission.atm_airbase),new cljs.core.Keyword(null,"cycle","cycle",710365284),octet.core.ubyte,new cljs.core.Keyword(null,"mission-requests","mission-requests",75740277),weathergen.falcon.files.larray.call(null,octet.core.int16,weathergen.falcon.files.mission.mission_request)],
null)));weathergen.falcon.files.mission.ground_tasking_manager=cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.tasking_manager_fields,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.int16],null)));
weathergen.falcon.files.mission.naval_tasking_manager=cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.tasking_manager_fields,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.int16],null)));
weathergen.falcon.files.mission.team=octet.core.spec.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125),octet.core.uint16,new cljs.core.Keyword(null,"who","who",-235935040),octet.core.ubyte,new cljs.core.Keyword(null,"c-team","c-team",1058111407),octet.core.ubyte,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.uint16,new cljs.core.Keyword(null,"members","members",159001018),
octet.core.repeat.call(null,8,octet.core.ubyte),new cljs.core.Keyword(null,"stance","stance",1737508388),octet.core.repeat.call(null,8,octet.core.int16),new cljs.core.Keyword(null,"first-colonel","first-colonel",1587615555),octet.core.int16,new cljs.core.Keyword(null,"first-commander","first-commander",813403189),octet.core.int16,new cljs.core.Keyword(null,"first-wingman","first-wingman",1224041428),octet.core.int16,new cljs.core.Keyword(null,"last-wingman","last-wingman",199145869),octet.core.int16,
new cljs.core.Keyword(null,"air-experience","air-experience",1765463253),octet.core.ubyte,new cljs.core.Keyword(null,"air-defense-experience","air-defense-experience",-1710546376),octet.core.ubyte,new cljs.core.Keyword(null,"ground-experience","ground-experience",107729084),octet.core.ubyte,new cljs.core.Keyword(null,"naval-experience","naval-experience",-527591070),octet.core.ubyte,new cljs.core.Keyword(null,"initiatve","initiatve",-26014217),octet.core.int16,new cljs.core.Keyword(null,"supply-available",
"supply-available",2126380660),octet.core.uint16,new cljs.core.Keyword(null,"fuel-available","fuel-available",-1529395011),octet.core.uint16,new cljs.core.Keyword(null,"replacements-available","replacements-available",-1198113611),octet.core.uint16,new cljs.core.Keyword(null,"player-rating","player-rating",-961496862),octet.core.float$,new cljs.core.Keyword(null,"last-player-mission","last-player-mission",-137478691),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"current-stats",
"current-stats",-1217775099),weathergen.falcon.files.mission.team_status,new cljs.core.Keyword(null,"start-stats","start-stats",-1172674533),weathergen.falcon.files.mission.team_status,new cljs.core.Keyword(null,"reinforcement","reinforcement",-1971947958),octet.core.int16,new cljs.core.Keyword(null,"bonus-objs","bonus-objs",-1412153629),octet.core.repeat.call(null,20,weathergen.falcon.files.mission.vu_id),new cljs.core.Keyword(null,"bonus-time","bonus-time",-1996956468),octet.core.repeat.call(null,
20,octet.core.uint32),new cljs.core.Keyword(null,"obj-type-priority","obj-type-priority",-1521374560),octet.core.repeat.call(null,36,octet.core.ubyte),new cljs.core.Keyword(null,"unit-type-priority","unit-type-priority",-1360846399),octet.core.repeat.call(null,20,octet.core.ubyte),new cljs.core.Keyword(null,"mission-priority","mission-priority",1715506931),octet.core.repeat.call(null,41,octet.core.ubyte),new cljs.core.Keyword(null,"max-vehicle","max-vehicle",1951303391),octet.core.repeat.call(null,
4,octet.core.ubyte),new cljs.core.Keyword(null,"team-flag","team-flag",-1307034656),octet.core.ubyte,new cljs.core.Keyword(null,"team-color","team-color",206199444),octet.core.ubyte,new cljs.core.Keyword(null,"equipment","equipment",790435115),octet.core.ubyte,new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.fixed_string.call(null,20),new cljs.core.Keyword(null,"motto","motto",-708709752),weathergen.falcon.files.fixed_string.call(null,200),new cljs.core.Keyword(null,"ground-action",
"ground-action",858540012),weathergen.falcon.files.mission.team_ground_action,new cljs.core.Keyword(null,"defensive-air-action","defensive-air-action",-480842903),weathergen.falcon.files.mission.team_air_action,new cljs.core.Keyword(null,"offensive-air-action","offensive-air-action",955423612),weathergen.falcon.files.mission.team_air_action);
weathergen.falcon.files.mission.team_record=octet.core.spec.call(null,new cljs.core.Keyword(null,"team","team",1355747699),weathergen.falcon.files.mission.team,new cljs.core.Keyword(null,"air-tasking-manager","air-tasking-manager",-279900872),weathergen.falcon.files.mission.air_tasking_manager,new cljs.core.Keyword(null,"ground-tasking-manager","ground-tasking-manager",1373954444),weathergen.falcon.files.mission.ground_tasking_manager,new cljs.core.Keyword(null,"naval-tasking-manager","naval-tasking-manager",
862649185),weathergen.falcon.files.mission.naval_tasking_manager);
cljs.core._add_method.call(null,weathergen.falcon.files.mission.read_embedded_file_STAR_,new cljs.core.Keyword(null,"teams","teams",1677714510),function(a,b,c,d){b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"offset","offset",296498311));cljs.core.get.call(null,b,new cljs.core.Keyword(null,"length","length",588987862));b=octet.buffer._STAR_byte_order_STAR_;
octet.buffer._STAR_byte_order_STAR_=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);try{return octet.core.read.call(null,c,weathergen.falcon.files.larray.call(null,octet.core.int16,weathergen.falcon.files.mission.team_record),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),a],null))}finally{octet.buffer._STAR_byte_order_STAR_=b}});
cljs.core._add_method.call(null,weathergen.falcon.files.mission.read_embedded_file_STAR_,new cljs.core.Keyword(null,"version","version",425292698),function(a,b,c,d){b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"offset","offset",296498311));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"length","length",588987862));c=octet.core.read.call(null,
c,weathergen.falcon.files.fixed_string.call(null,b),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),a],null));return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"version","version",425292698),cljs.core.long$.call(null,(new Number(c)).valueOf())],null)});
weathergen.falcon.files.mission.waypoint=function(){"undefined"===typeof weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35268&&(weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35268=function(a){this.meta35269=a;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35268.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35268(b)},
weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35268.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta35269},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35268.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35268.prototype.octet$spec$ISpec$read$arity$3=function(a,b,c){return weathergen.falcon.files.read__GT_.call(null,b,c,cljs.core.constantly.call(null,octet.core.spec.call(null,
new cljs.core.Keyword(null,"haves","haves",-405191810),weathergen.falcon.files.bitflags.call(null,octet.core.ubyte,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"deptime","deptime",1842159584),1,new cljs.core.Keyword(null,"target","target",253001721),2],null)),new cljs.core.Keyword(null,"grid-x","grid-x",1935903622),octet.core.int16,new cljs.core.Keyword(null,"grid-y","grid-y",1140315474),octet.core.int16,new cljs.core.Keyword(null,"grid-z","grid-z",855482282),octet.core.int16,
new cljs.core.Keyword(null,"arrive","arrive",-284644322),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"action","action",-811238024),octet.core.ubyte,new cljs.core.Keyword(null,"route-action","route-action",1993857154),octet.core.ubyte,new cljs.core.Keyword(null,"formation","formation",-38517787),octet.core.ubyte,new cljs.core.Keyword(null,"flags","flags",1775418075),octet.core.uint32)),function(a){return function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||
cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"haves","haves",-405191810));return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"target","target",253001721)))?octet.core.spec.call(null,new cljs.core.Keyword(null,"target-id","target-id",-1438159155),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"target-building","target-building",-464097984),octet.core.ubyte):weathergen.falcon.files.constant.call(null,
new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"target-id","target-id",-1438159155),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name","name",1843675177),0,new cljs.core.Keyword(null,"creator","creator",-1069241724),0],null),new cljs.core.Keyword(null,"target-building","target-building",-464097984),255],null))}}(this),function(a){return function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?
cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"haves","haves",-405191810));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"arrive","arrive",-284644322));return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"deptime","deptime",1842159584)))?octet.core.spec.call(null,new cljs.core.Keyword(null,"depart","depart",-100007287),weathergen.falcon.files.mission.campaign_time):weathergen.falcon.files.constant.call(null,new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"depart","depart",-100007287),b],null))}}(this))},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35268.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"meta35269","meta35269",971952853,null)],null)},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35268.cljs$lang$type=!0,weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35268.cljs$lang$ctorStr=
"weathergen.falcon.files.mission/t_weathergen$falcon$files$mission35268",weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35268.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"weathergen.falcon.files.mission/t_weathergen$falcon$files$mission35268")},weathergen.falcon.files.mission.__GT_t_weathergen$falcon$files$mission35268=function(a){return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35268(a)});return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35268(cljs.core.PersistentArrayMap.EMPTY)}();
weathergen.falcon.files.mission.unit_fields=cljs.core.into.call(null,weathergen.falcon.files.mission.camp_base_fields,new cljs.core.PersistentVector(null,28,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"last-check","last-check",-339535317),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"roster","roster",-2092272532),octet.core.int32,new cljs.core.Keyword(null,"unit-flags","unit-flags",-1443684773),weathergen.falcon.files.bitflags.call(null,octet.core.int32,
cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"inactive","inactive",-306247616),new cljs.core.Keyword(null,"targeted","targeted",1866166976),new cljs.core.Keyword(null,"scripted","scripted",841874113),new cljs.core.Keyword(null,"cargo","cargo",1523239588),new cljs.core.Keyword(null,"dead","dead",-1946604091),new cljs.core.Keyword(null,"parent","parent",-878878779),new cljs.core.Keyword(null,"no-abort","no-abort",-1391513562),new cljs.core.Keyword(null,"broken","broken",-1742446874),
new cljs.core.Keyword(null,"supported","supported",495067239),new cljs.core.Keyword(null,"engaged","engaged",-2134702904),new cljs.core.Keyword(null,"b1","b1",-1270036758),new cljs.core.Keyword(null,"diverted","diverted",-1205267702),new cljs.core.Keyword(null,"assigned","assigned",902306794),new cljs.core.Keyword(null,"commando","commando",-1208493780),new cljs.core.Keyword(null,"detached","detached",-1742825972),new cljs.core.Keyword(null,"final","final",1157881357),new cljs.core.Keyword(null,"retreating",
"retreating",939624530),new cljs.core.Keyword(null,"ordered","ordered",1187041426),new cljs.core.Keyword(null,"temp-dest","temp-dest",1981885235),new cljs.core.Keyword(null,"locked","locked",-1658763820),new cljs.core.Keyword(null,"has-ecm","has-ecm",-911757707),new cljs.core.Keyword(null,"fired","fired",847762742),new cljs.core.Keyword(null,"b3","b3",1128981270),new cljs.core.Keyword(null,"has-pilots","has-pilots",2107982743),new cljs.core.Keyword(null,"fragmented","fragmented",2137375992),new cljs.core.Keyword(null,
"moving","moving",1760797240),new cljs.core.Keyword(null,"losses","losses",-189206407),new cljs.core.Keyword(null,"no-pllaning","no-pllaning",391157466),new cljs.core.Keyword(null,"ia-kill","ia-kill",-551424899),new cljs.core.Keyword(null,"refused","refused",1763905885),new cljs.core.Keyword(null,"combat","combat",517558269)],[131072,1048576,256,8192,1,32,67108864,32768,8388608,64,128,4194304,4,512,4194304,1048576,2097152,8,16777216,16777216,4096,8388608,2,2097152,262144,1024,65536,16,33554432,2048,
16384])),new cljs.core.Keyword(null,"destination-x","destination-x",360399650),octet.core.int16,new cljs.core.Keyword(null,"destination-y","destination-y",1591470692),octet.core.int16,new cljs.core.Keyword(null,"target-id","target-id",-1438159155),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"cargo-id","cargo-id",-1256830674),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"moved","moved",486549219),octet.core.ubyte,new cljs.core.Keyword(null,"losses","losses",
-189206407),octet.core.ubyte,new cljs.core.Keyword(null,"tactic","tactic",-761722830),octet.core.ubyte,new cljs.core.Keyword(null,"current-wp","current-wp",-661271807),octet.core.uint16,new cljs.core.Keyword(null,"name-id","name-id",-279275372),octet.core.int16,new cljs.core.Keyword(null,"reinforcement","reinforcement",-1971947958),octet.core.int16,new cljs.core.Keyword(null,"waypoints","waypoints",-844253224),weathergen.falcon.files.larray.call(null,octet.core.uint16,weathergen.falcon.files.mission.waypoint)],
null));
weathergen.falcon.files.mission.pilot=octet.core.spec.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),octet.core.int16,new cljs.core.Keyword(null,"skill-and-rating","skill-and-rating",749733118),octet.core.ubyte,new cljs.core.Keyword(null,"status","status",-1997798413),octet.core.ubyte,new cljs.core.Keyword(null,"aa-kills","aa-kills",-876434324),octet.core.ubyte,new cljs.core.Keyword(null,"ag-kills","ag-kills",-1864909861),octet.core.ubyte,new cljs.core.Keyword(null,"as-kills","as-kills",
-1944782407),octet.core.ubyte,new cljs.core.Keyword(null,"an-kills","an-kills",-1903966172),octet.core.ubyte,new cljs.core.Keyword(null,"missions-flown","missions-flown",-1901147427),octet.core.int16);weathergen.falcon.files.mission.loadout=octet.core.spec.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),octet.core.repeat.call(null,16,octet.core.uint16),new cljs.core.Keyword(null,"count","count",2139924085),octet.core.repeat.call(null,16,octet.core.ubyte));
weathergen.falcon.files.mission.flight=cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.unit_fields,cljs.core.PersistentVector.fromArray([new cljs.core.Keyword(null,"type","type",1174270348),weathergen.falcon.files.constant.call(null,new cljs.core.Keyword(null,"flight","flight",-764860679)),new cljs.core.Keyword(null,"pos-z","pos-z",-2046554196),octet.core.float$,new cljs.core.Keyword(null,"fuel-burnt","fuel-burnt",1132148442),octet.core.int32,new cljs.core.Keyword(null,
"last-move","last-move",2069214404),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"last-combat","last-combat",406442709),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"time-on-target","time-on-target",-857850216),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"mission-over-time","mission-over-time",949947865),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"mission-target","mission-target",467808629),
octet.core.int16,new cljs.core.Keyword(null,"loadouts","loadouts",1824879361),weathergen.falcon.files.larray.call(null,octet.core.ubyte,weathergen.falcon.files.mission.loadout),new cljs.core.Keyword(null,"mission","mission",1740288522),octet.core.ubyte,new cljs.core.Keyword(null,"old-mission","old-mission",-292358051),octet.core.ubyte,new cljs.core.Keyword(null,"last-direction","last-direction",-1676432794),octet.core.ubyte,new cljs.core.Keyword(null,"priority","priority",1431093715),octet.core.ubyte,
new cljs.core.Keyword(null,"mission-id","mission-id",1232466132),octet.core.ubyte,new cljs.core.Keyword(null,"eval-flags","eval-flags",1604606092),octet.core.ubyte,new cljs.core.Keyword(null,"mission-context","mission-context",-1613541188),octet.core.ubyte,new cljs.core.Keyword(null,"package","package",1189062786),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"squadron","squadron",-1131671273),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"requester","requester",
2032946161),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"slots","slots",276818598),octet.core.repeat.call(null,4,octet.core.ubyte),new cljs.core.Keyword(null,"pilots","pilots",353525853),octet.core.repeat.call(null,4,octet.core.ubyte),new cljs.core.Keyword(null,"plane-stats","plane-stats",-4010361),octet.core.repeat.call(null,4,octet.core.ubyte),new cljs.core.Keyword(null,"player-slots","player-slots",-2024567622),octet.core.repeat.call(null,4,octet.core.ubyte),new cljs.core.Keyword(null,
"last-player-slot","last-player-slot",-1491370688),octet.core.ubyte,new cljs.core.Keyword(null,"callsign-id","callsign-id",501232863),octet.core.ubyte,new cljs.core.Keyword(null,"callsign-num","callsign-num",-1771041170),octet.core.ubyte,new cljs.core.Keyword(null,"refuel-quantity","refuel-quantity",-765272130),octet.core.uint32],!0)));
weathergen.falcon.files.mission.squadron=cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.unit_fields,cljs.core.PersistentVector.fromArray([new cljs.core.Keyword(null,"type","type",1174270348),weathergen.falcon.files.constant.call(null,new cljs.core.Keyword(null,"squadron","squadron",-1131671273)),new cljs.core.Keyword(null,"fuel","fuel",10405485),octet.core.int32,new cljs.core.Keyword(null,"specialty","specialty",-159219386),octet.core.ubyte,new cljs.core.Keyword(null,
"stores","stores",1203804823),octet.core.repeat.call(null,600,octet.core.ubyte),new cljs.core.Keyword(null,"pilots","pilots",353525853),octet.core.repeat.call(null,48,weathergen.falcon.files.mission.pilot),new cljs.core.Keyword(null,"schedule","schedule",349275266),octet.core.repeat.call(null,16,octet.core.int32),new cljs.core.Keyword(null,"airbase-id","airbase-id",-1975592308),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"hot-spot","hot-spot",-1626884754),weathergen.falcon.files.mission.vu_id,
new cljs.core.Keyword(null,"rating","rating",144173662),octet.core.repeat.call(null,16,octet.core.ubyte),new cljs.core.Keyword(null,"aa-kills","aa-kills",-876434324),octet.core.int16,new cljs.core.Keyword(null,"ag-kills","ag-kills",-1864909861),octet.core.int16,new cljs.core.Keyword(null,"as-kills","as-kills",-1944782407),octet.core.int16,new cljs.core.Keyword(null,"an-kills","an-kills",-1903966172),octet.core.int16,new cljs.core.Keyword(null,"missions-flown","missions-flown",-1901147427),octet.core.int16,
new cljs.core.Keyword(null,"mission-score","mission-score",1969337799),octet.core.int16,new cljs.core.Keyword(null,"total-losses","total-losses",-404891334),octet.core.ubyte,new cljs.core.Keyword(null,"pilot-losses","pilot-losses",-1237633377),octet.core.ubyte,new cljs.core.Keyword(null,"squadron-patch","squadron-patch",883934030),octet.core.ubyte],!0)));
weathergen.falcon.files.mission.package$=function(){var a=cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.unit_fields,new cljs.core.PersistentVector(null,16,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type","type",1174270348),weathergen.falcon.files.constant.call(null,new cljs.core.Keyword(null,"package","package",1189062786)),new cljs.core.Keyword(null,"elements","elements",657646735),weathergen.falcon.files.larray.call(null,
octet.core.ubyte,weathergen.falcon.files.mission.vu_id),new cljs.core.Keyword(null,"interceptor","interceptor",1127739076),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"awacs","awacs",296317915),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"jstar","jstar",942398657),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"ecm","ecm",1070201018),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"tanker","tanker",932081370),weathergen.falcon.files.mission.vu_id,
new cljs.core.Keyword(null,"wait-cycles","wait-cycles",1056333577),octet.core.ubyte],null)));"undefined"===typeof weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35277&&(weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35277=function(a,c){this.package_common=a;this.meta35278=c;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35277.prototype.cljs$core$IWithMeta$_with_meta$arity$2=
function(a){return function(a,b){return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35277(this.package_common,b)}}(a),weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35277.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta35278}}(a),weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35277.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35277.prototype.octet$spec$ISpec$read$arity$3=
function(a){return function(b,d,e){return weathergen.falcon.files.read__GT_.call(null,d,e,cljs.core.constantly.call(null,this.package_common),function(a,b){return function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;var b=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"unit-flags","unit-flags",-1443684773)),c=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"wait-cycles","wait-cycles",
1056333577));return cljs.core.truth_(function(){var a=0===c;return a?b.call(null,new cljs.core.Keyword(null,"final","final",1157881357)):a}())?octet.core.spec.call(null,new cljs.core.Keyword(null,"requests","requests",-733055638),octet.core.int16,new cljs.core.Keyword(null,"responses","responses",1257546453),octet.core.int16,new cljs.core.Keyword(null,"mission-request","mission-request",1082141061),octet.core.spec.call(null,new cljs.core.Keyword(null,"mission","mission",1740288522),octet.core.int16,
new cljs.core.Keyword(null,"context","context",-830191113),octet.core.int16,new cljs.core.Keyword(null,"requester","requester",2032946161),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"target","target",253001721),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"tot","tot",2086174646),octet.core.uint32,new cljs.core.Keyword(null,"action-type","action-type",-1141667361),octet.core.ubyte,new cljs.core.Keyword(null,"priority","priority",1431093715),octet.core.int16,
new cljs.core.Keyword(null,"package-flags","package-flags",-1703964557),weathergen.falcon.files.constant.call(null,0))):octet.core.spec.call(null,new cljs.core.Keyword(null,"flights","flights",-1637719124),octet.core.ubyte,new cljs.core.Keyword(null,"wait-for","wait-for",603509654),octet.core.int16,new cljs.core.Keyword(null,"iax","iax",-433137964),octet.core.int16,new cljs.core.Keyword(null,"iay","iay",-521538055),octet.core.int16,new cljs.core.Keyword(null,"eax","eax",-547444364),octet.core.int16,
new cljs.core.Keyword(null,"eay","eay",1273269818),octet.core.int16,new cljs.core.Keyword(null,"bpx","bpx",1117947531),octet.core.int16,new cljs.core.Keyword(null,"bpy","bpy",1257027485),octet.core.int16,new cljs.core.Keyword(null,"tpx","tpx",-159997489),octet.core.int16,new cljs.core.Keyword(null,"tpy","tpy",-1818085337),octet.core.int16,new cljs.core.Keyword(null,"takeoff","takeoff",719937767),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"tp-time","tp-time",1666792567),
weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"package-flags","package-flags",-1703964557),octet.core.uint32,new cljs.core.Keyword(null,"caps","caps",-183763072),octet.core.int16,new cljs.core.Keyword(null,"requests","requests",-733055638),octet.core.int16,new cljs.core.Keyword(null,"responses","responses",1257546453),octet.core.int16,new cljs.core.Keyword(null,"ingress-waypoints","ingress-waypoints",-335959125),weathergen.falcon.files.larray.call(null,octet.core.ubyte,
weathergen.falcon.files.mission.waypoint),new cljs.core.Keyword(null,"egress-waypoints","egress-waypoints",1279029151),weathergen.falcon.files.larray.call(null,octet.core.ubyte,weathergen.falcon.files.mission.waypoint),new cljs.core.Keyword(null,"mission-request","mission-request",1082141061),weathergen.falcon.files.mission.mission_request)}}(this,a))}}(a),weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35277.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"package-common","package-common",119587311,null),new cljs.core.Symbol(null,"meta35278","meta35278",-1873168093,null)],null)}}(a),weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35277.cljs$lang$type=!0,weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35277.cljs$lang$ctorStr="weathergen.falcon.files.mission/t_weathergen$falcon$files$mission35277",weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35277.cljs$lang$ctorPrWriter=
function(a){return function(a,b,e){return cljs.core._write.call(null,b,"weathergen.falcon.files.mission/t_weathergen$falcon$files$mission35277")}}(a),weathergen.falcon.files.mission.__GT_t_weathergen$falcon$files$mission35277=function(a){return function(a,b){return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35277(a,b)}}(a));return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35277(a,cljs.core.PersistentArrayMap.EMPTY)}();
weathergen.falcon.files.mission.ground_unit_fields=cljs.core.into.call(null,weathergen.falcon.files.mission.unit_fields,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"orders","orders",-1032870176),octet.core.ubyte,new cljs.core.Keyword(null,"division","division",259369926),octet.core.int16,new cljs.core.Keyword(null,"aobj","aobj",-793409761),weathergen.falcon.files.mission.vu_id],null));
weathergen.falcon.files.mission.brigade=cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.ground_unit_fields,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type","type",1174270348),weathergen.falcon.files.constant.call(null,new cljs.core.Keyword(null,"brigade","brigade",1288936530)),new cljs.core.Keyword(null,"elements","elements",657646735),weathergen.falcon.files.larray.call(null,octet.core.ubyte,
weathergen.falcon.files.mission.vu_id)],null)));
weathergen.falcon.files.mission.battalion=cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.ground_unit_fields,new cljs.core.PersistentVector(null,22,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type","type",1174270348),weathergen.falcon.files.constant.call(null,new cljs.core.Keyword(null,"battalion","battalion",1283181700)),new cljs.core.Keyword(null,"last-move","last-move",2069214404),weathergen.falcon.files.mission.campaign_time,
new cljs.core.Keyword(null,"last-combat","last-combat",406442709),weathergen.falcon.files.mission.campaign_time,new cljs.core.Keyword(null,"parent-id","parent-id",-1400729131),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"last-obj","last-obj",-2066143568),weathergen.falcon.files.mission.vu_id,new cljs.core.Keyword(null,"supply","supply",-1701696309),octet.core.ubyte,new cljs.core.Keyword(null,"fatigue","fatigue",435886183),octet.core.ubyte,new cljs.core.Keyword(null,"morale","morale",
980493731),octet.core.ubyte,new cljs.core.Keyword(null,"heading","heading",-1312171873),octet.core.ubyte,new cljs.core.Keyword(null,"final-heading","final-heading",-13156462),octet.core.ubyte,new cljs.core.Keyword(null,"position","position",-2011731912),octet.core.ubyte],null)));
weathergen.falcon.files.mission.task_force=cljs.core.apply.call(null,octet.core.spec,cljs.core.into.call(null,weathergen.falcon.files.mission.unit_fields,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type","type",1174270348),weathergen.falcon.files.constant.call(null,new cljs.core.Keyword(null,"task-force","task-force",1860415305)),new cljs.core.Keyword(null,"orders","orders",-1032870176),octet.core.ubyte,new cljs.core.Keyword(null,"supply",
"supply",-1701696309),octet.core.ubyte],null)));
weathergen.falcon.files.mission.unit_record=function(a){"undefined"===typeof weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35295&&(weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35295=function(a,c){this.database=a;this.meta35296=c;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35295.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,c){return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35295(this.database,
c)},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35295.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta35296},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35295.prototype.octet$spec$ISpec$=cljs.core.PROTOCOL_SENTINEL,weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35295.prototype.octet$spec$ISpec$read$arity$3=function(a,c,d){var b=this,f=octet.core.read.call(null,c,octet.core.int16,new cljs.core.PersistentArrayMap(null,1,
[new cljs.core.Keyword(null,"offset","offset",296498311),d],null));if(0===f)return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[2,null],null);var g=weathergen.falcon.files.mission.class_info.call(null,this.database,f),h=null!=g&&(g.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===g.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,g):g,k=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"domain","domain",1847214937)),l=cljs.core.get.call(null,
h,new cljs.core.Keyword(null,"type","type",1174270348)),m=function(){var a=cljs.core._EQ_,b=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[k,l],null);if(cljs.core.truth_(a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_AIR,weathergen.falcon.constants.TYPE_FLIGHT],null),b)))return weathergen.falcon.files.mission.flight;if(cljs.core.truth_(a.call(null,new cljs.core.PersistentVector(null,2,5,
cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_AIR,weathergen.falcon.constants.TYPE_PACKAGE],null),b)))return weathergen.falcon.files.mission.package$;if(cljs.core.truth_(a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_AIR,weathergen.falcon.constants.TYPE_SQUADRON],null),b)))return weathergen.falcon.files.mission.squadron;if(cljs.core.truth_(a.call(null,new cljs.core.PersistentVector(null,2,5,
cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_LAND,weathergen.falcon.constants.TYPE_BATTALION],null),b)))return weathergen.falcon.files.mission.battalion;if(cljs.core.truth_(a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_LAND,weathergen.falcon.constants.TYPE_BRIGADE],null),b)))return weathergen.falcon.files.mission.brigade;if(cljs.core.truth_(a.call(null,new cljs.core.PersistentVector(null,2,
5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.falcon.constants.DOMAIN_SEA,weathergen.falcon.constants.TYPE_TASKFORCE],null),b)))return weathergen.falcon.files.mission.task_force;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));}(),n=function(){try{return octet.core.read_STAR_.call(null,c,m,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),d+2],null))}catch(q){var a=
q;taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"error","error",-978969032),"weathergen.falcon.files.mission",null,1558,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b,c,e,f,g,h,k){return function(){return new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[a,"unit-record read",new cljs.core.Keyword(null,"domain","domain",1847214937),e,
new cljs.core.Keyword(null,"type","type",1174270348),f,new cljs.core.Keyword(null,"pos","pos",-864607220),d],null)}}(a,g,h,k,l,m,f,b),null),null,1941943787);throw a;}}();a=cljs.core.nth.call(null,n,0,null);n=cljs.core.nth.call(null,n,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a+2,cljs.core.assoc.call(null,n,new cljs.core.Keyword(null,"type-id","type-id",2030062700),f)],null)},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35295.getBasis=
function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"database","database",-805348194,null),new cljs.core.Symbol(null,"meta35296","meta35296",-1671912487,null)],null)},weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35295.cljs$lang$type=!0,weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35295.cljs$lang$ctorStr="weathergen.falcon.files.mission/t_weathergen$falcon$files$mission35295",weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35295.cljs$lang$ctorPrWriter=
function(a,c,d){return cljs.core._write.call(null,c,"weathergen.falcon.files.mission/t_weathergen$falcon$files$mission35295")},weathergen.falcon.files.mission.__GT_t_weathergen$falcon$files$mission35295=function(a,c){return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35295(a,c)});return new weathergen.falcon.files.mission.t_weathergen$falcon$files$mission35295(a,cljs.core.PersistentArrayMap.EMPTY)};
weathergen.falcon.files.mission.unit_lookup_by_id=function(a,b){return cljs.core.some.call(null,function(a){return cljs.core._EQ_.call(null,b,(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(a))?a:null},a)};
cljs.core._add_method.call(null,weathergen.falcon.files.mission.read_embedded_file_STAR_,new cljs.core.Keyword(null,"units","units",-533089095),function(a,b,c,d){a=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;var e=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"offset","offset",296498311)),f=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"length","length",588987862)),g=null!=d&&(d.cljs$lang$protocol_mask$partition0$&
64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d,h=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"class-table","class-table",207400992)),k=octet.buffer._STAR_byte_order_STAR_;octet.buffer._STAR_byte_order_STAR_=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);try{var l=octet.core.spec.call(null,new cljs.core.Keyword(null,"compressed-size","compressed-size",-1517579578),octet.core.int32,new cljs.core.Keyword(null,"num-units",
"num-units",1389753073),octet.core.int16,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",-434136147),octet.core.int32),m=octet.core.read.call(null,c,l,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"offset","offset",296498311),e],null)),n=null!=m&&(m.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===m.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,m):m,p=cljs.core.get.call(null,n,new cljs.core.Keyword(null,"compressed-size",
"compressed-size",-1517579578)),q=cljs.core.get.call(null,n,new cljs.core.Keyword(null,"num-units","num-units",1389753073)),r=cljs.core.get.call(null,n,new cljs.core.Keyword(null,"uncompressed-size","uncompressed-size",-434136147)),u=weathergen.lzss.expand.call(null,c,e+octet.core.size.call(null,l),f-6,r);return cljs.core.mapv.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,M){return function(a){return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.mission.unit_name.call(null,
u,a))}}(l,m,n,p,q,r,u,k,b,a,a,e,f,d,g,g,h),cljs.core.remove.call(null,cljs.core.nil_QMARK_,octet.core.read.call(null,u,octet.core.repeat.call(null,q,weathergen.falcon.files.mission.unit_record.call(null,g)))))}finally{octet.buffer._STAR_byte_order_STAR_=k}});
cljs.core._add_method.call(null,weathergen.falcon.files.mission.read_embedded_file_STAR_,new cljs.core.Keyword(null,"default","default",-1987822328),function(a,b,c,d){return new cljs.core.Keyword(null,"not-yet-implemented","not-yet-implemented",354832030)});
weathergen.falcon.files.mission.flight_aircraft_quantity=function(a){return cljs.core.count.call(null,cljs.core.remove.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AIRCRAFT_NOT_ASSIGNED]),(new cljs.core.Keyword(null,"plane-stats","plane-stats",-4010361)).cljs$core$IFn$_invoke$arity$1(a)))};
weathergen.falcon.files.mission.loadout_weapons=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"id","id",-1388402092)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"count","count",2139924085));return cljs.core.mapv.call(null,function(b,c,d,e){return function(b){var c=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,
b,1,null);c=weathergen.falcon.files.mission.weapon_class_entry.call(null,a,c);return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name","name",1843675177),(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(c),new cljs.core.Keyword(null,"quantity","quantity",-1929050694),b*(cljs.core.truth_(weathergen.util.has_flag_QMARK_.call(null,(new cljs.core.Keyword(null,"flags","flags",1775418075)).cljs$core$IFn$_invoke$arity$1(c),weathergen.falcon.constants.WEAP_ONETENTH))?
10:1)],null)}}(b,c,d,e),cljs.core.reduce.call(null,function(a,b,c,d){return function(a,b){var c=cljs.core.nth.call(null,b,0,null),d=cljs.core.nth.call(null,b,1,null);return 0===c||0===d?a:cljs.core.update.call(null,a,c,cljs.core.fnil.call(null,cljs.core._PLUS_,0),d)}}(b,c,d,e),cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,cljs.core.vector,d,e)))};
weathergen.falcon.files.mission.flight_loadouts=function(a,b){var c=(new cljs.core.Keyword(null,"loadouts","loadouts",1824879361)).cljs$core$IFn$_invoke$arity$1(b),d=weathergen.falcon.files.mission.flight_aircraft_quantity.call(null,b);return function(b,c){return function h(d){return new cljs.core.LazySeq(null,function(b,c){return function(){for(;;){var e=cljs.core.seq.call(null,d);if(e){if(cljs.core.chunked_seq_QMARK_.call(null,e)){var f=cljs.core.chunk_first.call(null,e),k=cljs.core.count.call(null,
f),l=cljs.core.chunk_buffer.call(null,k);a:for(var m=0;;)if(m<k){var t=cljs.core._nth.call(null,f,m);cljs.core.chunk_append.call(null,l,weathergen.falcon.files.mission.loadout_weapons.call(null,a,cljs.core._EQ_.call(null,cljs.core.count.call(null,b),c)?cljs.core.nth.call(null,b,t):cljs.core.first.call(null,b)));m+=1}else{f=!0;break a}return f?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),h.call(null,cljs.core.chunk_rest.call(null,e))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,
l),null)}l=cljs.core.first.call(null,e);return cljs.core.cons.call(null,weathergen.falcon.files.mission.loadout_weapons.call(null,a,cljs.core._EQ_.call(null,cljs.core.count.call(null,b),c)?cljs.core.nth.call(null,b,l):cljs.core.first.call(null,b)),h.call(null,cljs.core.rest.call(null,e)))}return null}}}(b,c),null,null)}}(c,d).call(null,cljs.core.range.call(null,d))};
weathergen.falcon.files.mission.compute_speed=function(a,b){var c=36089>=b?1-6.875E-6*b:.7519,d=a/(weathergen.falcon.constants.AASLK*Math.sqrt(c)),c=c*(36089>=b?Math.pow(c,4.256):.2971*Math.pow(2.718,4.806E-5*(36089-b)))*weathergen.falcon.constants.PASL,c=1>=d?c*(Math.pow(1+.2*d*d,3.5)-1):c*(166.9*d*d/Math.pow(7-1/(d*d),2.5)-1),e=1+c/weathergen.falcon.constants.PASL,f=1479.12*Math.sqrt(Math.pow(e,.285714)-1);1889.65<c?(e*=Math.pow(7-weathergen.falcon.constants.AASLK*weathergen.falcon.constants.AASLK/
(f*f),2.5),e=51.1987*Math.sqrt(0>e?.1:e)):e=f;return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mach","mach",172480995),d,new cljs.core.Keyword(null,"ias","ias",291909619),e,new cljs.core.Keyword(null,"cas","cas",-451543220),f,new cljs.core.Keyword(null,"qc","qc",-7621727),c],null)};
weathergen.falcon.files.mission.waypoint_comments=function(a,b){var c=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strings","strings",-2055406807),new cljs.core.Keyword(null,"fn","fn",-1175266204)],null)),d=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,
"flags","flags",1775418075)),f=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"action","action",-811238024)),d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"route-action","route-action",1993857154));return cljs.core.truth_(weathergen.util.has_flag_QMARK_.call(null,e,weathergen.falcon.constants.WPF_ALTERNATE))?c.call(null,237):cljs.core.truth_(weathergen.util.has_flag_QMARK_.call(null,e,weathergen.falcon.constants.WPF_REPEAT))?c.call(null,247):cljs.core._EQ_.call(null,weathergen.falcon.constants.WP_NOTHING,
f)?c.call(null,1650+d):c.call(null,1650+f)};
weathergen.falcon.files.mission.flight_waypoints=function(a,b){var c=cljs.core.map_indexed.call(null,function(b,c){var d=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"action","action",-811238024)),h=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"route-action","route-action",1993857154)),k=cljs.core.get.call(null,d,new cljs.core.Keyword(null,
"arrive","arrive",-284644322)),l=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"depart","depart",-100007287)),d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"haves","haves",-405191810)),m=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strings","strings",-2055406807),new cljs.core.Keyword(null,"waypoint-type-names","waypoint-type-names",719960758),e],null)),h=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strings","strings",-2055406807),new cljs.core.Keyword(null,"waypoint-type-names","waypoint-type-names",719960758),h],null));return cljs.core.assoc.call(null,c,new cljs.core.Keyword("weathergen.falcon.files.mission","number","weathergen.falcon.files.mission/number",-1176793792),b+1,new cljs.core.Keyword("weathergen.falcon.files.mission","action-name","weathergen.falcon.files.mission/action-name",-1230729595),m,new cljs.core.Keyword("weathergen.falcon.files.mission",
"enroute-action-name","weathergen.falcon.files.mission/enroute-action-name",-95379962),m,new cljs.core.Keyword("weathergen.falcon.files.mission","description","weathergen.falcon.files.mission/description",-1977659382),cljs.core._EQ_.call(null,e,weathergen.falcon.constants.WP_NOTHING)?h:m,new cljs.core.Keyword("weathergen.falcon.files.mission","remain","weathergen.falcon.files.mission/remain",1849736680),cljs.core.truth_(d.call(null,new cljs.core.Keyword(null,"deptime","deptime",1842159584)))?weathergen.time.difference_hms.call(null,
k,l):null,new cljs.core.Keyword("weathergen.falcon.files.mission","altitude","weathergen.falcon.files.mission/altitude",543643555),(new cljs.core.Keyword(null,"grid-z","grid-z",855482282)).cljs$core$IFn$_invoke$arity$1(c)*weathergen.falcon.constants.GRIDZ_SCALE_FACTOR,new cljs.core.Keyword("weathergen.falcon.files.mission","comments","weathergen.falcon.files.mission/comments",-1789953753),weathergen.falcon.files.mission.waypoint_comments.call(null,a,c))},(new cljs.core.Keyword(null,"waypoints","waypoints",
-844253224)).cljs$core$IFn$_invoke$arity$1(b));return cljs.core.map.call(null,function(a){return function(a){return cljs.core.not.call(null,function(){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"action","action",-811238024)),b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"flags","flags",1775418075)),b=weathergen.util.has_flag_QMARK_.call(null,
b,weathergen.falcon.constants.WPF_ALTERNATE);return cljs.core.truth_(b)?b:cljs.core._EQ_.call(null,weathergen.falcon.constants.WP_REFUEL,c)}())?a:cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"arrive","arrive",-284644322),new cljs.core.Keyword(null,"depart","depart",-100007287),new cljs.core.Keyword("weathergen.falcon.files.mission","distance","weathergen.falcon.files.mission/distance",18637316),new cljs.core.Keyword("weathergen.falcon.files.mission","heading","weathergen.falcon.files.mission/heading",
361734949),new cljs.core.Keyword("weathergen.falcon.files.mission","speed-ias","weathergen.falcon.files.mission/speed-ias",-2064912472),new cljs.core.Keyword("weathergen.falcon.files.mission","speed-cas","weathergen.falcon.files.mission/speed-cas",-588060328),new cljs.core.Keyword("weathergen.falcon.files.mission","speed-gnd","weathergen.falcon.files.mission/speed-gnd",-39445006),new cljs.core.Keyword("weathergen.falcon.files.mission","speed-mach","weathergen.falcon.files.mission/speed-mach",-185245472),
new cljs.core.Keyword("weathergen.falcon.files.mission","speed-tas","weathergen.falcon.files.mission/speed-tas",568219840))}}(c),cljs.core.into.call(null,cljs.core.vec.call(null,cljs.core.take.call(null,1,c)),cljs.core.map.call(null,function(a){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,
c,new cljs.core.Keyword(null,"grid-x","grid-x",1935903622)),c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"grid-y","grid-y",1140315474)),e=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,l=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"grid-x","grid-x",1935903622)),e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"grid-y","grid-y",1140315474)),d=new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[d-l,c-e],null),c=weathergen.coordinates.fgrid__GT_nm.call(null,weathergen.math.magnitude.call(null,d)),l=(weathergen.time.campaign_time__GT_ms.call(null,(new cljs.core.Keyword(null,"arrive","arrive",-284644322)).cljs$core$IFn$_invoke$arity$1(a))-weathergen.time.campaign_time__GT_ms.call(null,(new cljs.core.Keyword(null,"depart","depart",-100007287)).cljs$core$IFn$_invoke$arity$1(b)))/1E3/60/60,l=c/l,b=cljs.core.truth_(weathergen.util.has_flag_QMARK_.call(null,
(new cljs.core.Keyword(null,"flags","flags",1775418075)).cljs$core$IFn$_invoke$arity$1(a),weathergen.falcon.constants.WPF_HOLDCURRENT))?(new cljs.core.Keyword("weathergen.falcon.files.mission","altitude","weathergen.falcon.files.mission/altitude",543643555)).cljs$core$IFn$_invoke$arity$1(b):(new cljs.core.Keyword("weathergen.falcon.files.mission","altitude","weathergen.falcon.files.mission/altitude",543643555)).cljs$core$IFn$_invoke$arity$1(a),b=weathergen.falcon.files.mission.compute_speed.call(null,
l,b),m=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,b=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"mach","mach",172480995)),e=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"ias","ias",291909619)),m=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"cas","cas",-451543220));return cljs.core.assoc.call(null,a,new cljs.core.Keyword("weathergen.falcon.files.mission","distance","weathergen.falcon.files.mission/distance",
18637316),c,new cljs.core.Keyword("weathergen.falcon.files.mission","heading","weathergen.falcon.files.mission/heading",361734949),weathergen.math.heading.call(null,d),new cljs.core.Keyword("weathergen.falcon.files.mission","speed-ias","weathergen.falcon.files.mission/speed-ias",-2064912472),e,new cljs.core.Keyword("weathergen.falcon.files.mission","speed-cas","weathergen.falcon.files.mission/speed-cas",-588060328),m,new cljs.core.Keyword("weathergen.falcon.files.mission","speed-tas","weathergen.falcon.files.mission/speed-tas",
568219840),l,new cljs.core.Keyword("weathergen.falcon.files.mission","speed-gnd","weathergen.falcon.files.mission/speed-gnd",-39445006),l,new cljs.core.Keyword("weathergen.falcon.files.mission","speed-mach","weathergen.falcon.files.mission/speed-mach",-185245472),b)}}(c),cljs.core.partition.call(null,2,1,c))))};
weathergen.falcon.files.mission.flight_mission_name=function(a,b){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"strings","strings",-2055406807),new cljs.core.Keyword(null,"mission-type-names","mission-type-names",-1426382657),(new cljs.core.Keyword(null,"mission","mission",1740288522)).cljs$core$IFn$_invoke$arity$1(b)],null))};
weathergen.falcon.files.mission.flight_mission_category=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"mission","mission",1740288522)),d=cljs.core.contains_QMARK_;return cljs.core.truth_(d.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_ESCORT,weathergen.falcon.constants.AMIS_OCASTRIKE,
weathergen.falcon.constants.AMIS_SWEEP,weathergen.falcon.constants.AMIS_TARCAP]),c))?weathergen.falcon.constants.ATO_OCA:cljs.core.truth_(d.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_STRIKE,weathergen.falcon.constants.AMIS_STRATBOMB,weathergen.falcon.constants.AMIS_STSTRIKE,weathergen.falcon.constants.AMIS_DEEPSTRIKE]),c))?weathergen.falcon.constants.ATO_STRIKE:cljs.core.truth_(d.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_INT,
weathergen.falcon.constants.AMIS_SAD,weathergen.falcon.constants.AMIS_BAI,weathergen.falcon.constants.AMIS_INTSTRIKE]),c))?weathergen.falcon.constants.ATO_INTERDICTION:cljs.core.truth_(d.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_SEADESCORT,weathergen.falcon.constants.AMIS_SEADSTRIKE]),c))?weathergen.falcon.constants.ATO_SEAD:cljs.core.truth_(d.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_CAS,weathergen.falcon.constants.AMIS_PRPLANCAS,
weathergen.falcon.constants.AMIS_FAC,weathergen.falcon.constants.AMIS_ONCALLCAS]),c))?weathergen.falcon.constants.ATO_CAS:cljs.core.truth_(d.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_ALERT,weathergen.falcon.constants.AMIS_HAVCAP,weathergen.falcon.constants.AMIS_AMBUSHCAP,weathergen.falcon.constants.AMIS_BARCAP2,weathergen.falcon.constants.AMIS_BARCAP,weathergen.falcon.constants.AMIS_INTERCEPT]),c))?weathergen.falcon.constants.ATO_DCA:cljs.core.truth_(d.call(null,
cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_PATROL,weathergen.falcon.constants.AMIS_RECON,weathergen.falcon.constants.AMIS_RECONPATROL,weathergen.falcon.constants.AMIS_BDA,weathergen.falcon.constants.AMIS_JSTAR,weathergen.falcon.constants.AMIS_AWACS,weathergen.falcon.constants.AMIS_ECM]),c))?weathergen.falcon.constants.ATO_CCCI:cljs.core.truth_(d.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_ASW,weathergen.falcon.constants.AMIS_ASHIP]),
c))?weathergen.falcon.constants.ATO_MARITIME:cljs.core.truth_(d.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.AMIS_RESCAP,weathergen.falcon.constants.AMIS_TANKER,weathergen.falcon.constants.AMIS_SAR,weathergen.falcon.constants.AMIS_AIRLIFT]),c))?weathergen.falcon.constants.ATO_SUPPORT:weathergen.falcon.constants.ATO_OTHER};
weathergen.falcon.files.mission.team_number=function(a){return null==a?0:"number"===typeof a?a:(new cljs.core.Keyword(null,"who","who",-235935040)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"team","team",1355747699)).cljs$core$IFn$_invoke$arity$1(a))};
weathergen.falcon.files.mission.team_name=function(a,b){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"team","team",1355747699)).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,(new cljs.core.Keyword(null,"teams","teams",1677714510)).cljs$core$IFn$_invoke$arity$1(a),weathergen.falcon.files.mission.team_number.call(null,b))))};
weathergen.falcon.files.mission.team_flag=function(a,b,c){b=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966),new cljs.core.Keyword(null,"team-info","team-info",-1689319883),weathergen.falcon.files.mission.team_number.call(null,b)],null));c=cljs.core.get_in.call(null,weathergen.falcon.constants.FlagImageID,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[(new cljs.core.Keyword(null,"flag","flag",1088647881)).cljs$core$IFn$_invoke$arity$1(b),c],null));c=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"image-ids","image-ids",-529925649),new cljs.core.Keyword(null,"id-\x3ename","id-\x3ename",249122446),c],null));return weathergen.falcon.files.images.make_descriptor.call(null,a,"resource/main",c)};
weathergen.falcon.files.mission.side=function(a,b){return(new cljs.core.Keyword(null,"c-team","c-team",1058111407)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"team","team",1355747699)).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,(new cljs.core.Keyword(null,"teams","teams",1677714510)).cljs$core$IFn$_invoke$arity$1(a),weathergen.falcon.files.mission.team_number.call(null,b))))};
weathergen.falcon.files.mission.team_priority=function(a,b,c){a=cljs.core.nth.call(null,(new cljs.core.Keyword(null,"stance","stance",1737508388)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"team","team",1355747699)).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,(new cljs.core.Keyword(null,"teams","teams",1677714510)).cljs$core$IFn$_invoke$arity$1(a),b))),weathergen.falcon.files.mission.team_number.call(null,c));return cljs.core.PersistentArrayMap.createAsIfByAssoc([weathergen.falcon.constants.Allied,
0,weathergen.falcon.constants.Friendly,1,weathergen.falcon.constants.War,2,weathergen.falcon.constants.Hostile,3,weathergen.falcon.constants.Neutral,4]).call(null,a,5)};
weathergen.falcon.files.mission.teams=function(a){var b=cljs.core.set.call(null,cljs.core.distinct.call(null,cljs.core.map.call(null,new cljs.core.Keyword(null,"owner","owner",-392611939),(new cljs.core.Keyword(null,"units","units",-533089095)).cljs$core$IFn$_invoke$arity$1(a)))),c=cljs.core.set.call(null,cljs.core.distinct.call(null,cljs.core.map.call(null,new cljs.core.Keyword(null,"owner","owner",-392611939),(new cljs.core.Keyword(null,"objectives","objectives",933939509)).cljs$core$IFn$_invoke$arity$1(a)))),
d=cljs.core.into.call(null,b,c),e=cljs.core.filter.call(null,function(a,b,c){return function(a){return c.call(null,weathergen.falcon.files.mission.team_number.call(null,a))}}(b,c,d),(new cljs.core.Keyword(null,"teams","teams",1677714510)).cljs$core$IFn$_invoke$arity$1(a)),f=(new cljs.core.Keyword(null,"who","who",-235935040)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"team","team",1355747699)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,e)));return cljs.core.sort_by.call(null,
function(b,c,d,e,f){return function(b){return weathergen.falcon.files.mission.team_priority.call(null,a,f,(new cljs.core.Keyword(null,"who","who",-235935040)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"team","team",1355747699)).cljs$core$IFn$_invoke$arity$1(b)))}}(b,c,d,e,f),e)};
weathergen.falcon.files.mission.last_player_team=function(a){return cljs.core.first.call(null,cljs.core.sort_by.call(null,function(a){return-weathergen.time.campaign_time__GT_ms.call(null,(new cljs.core.Keyword(null,"last-player-mission","last-player-mission",-137478691)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"team","team",1355747699)).cljs$core$IFn$_invoke$arity$1(a)))},weathergen.falcon.files.mission.teams.call(null,a)))};
weathergen.falcon.files.mission.sides=function(a){return cljs.core.distinct.call(null,cljs.core.map.call(null,new cljs.core.Keyword(null,"c-team","c-team",1058111407),cljs.core.map.call(null,new cljs.core.Keyword(null,"team","team",1355747699),weathergen.falcon.files.mission.teams.call(null,a))))};
weathergen.falcon.files.mission.teams_for_side=function(a,b){return cljs.core.set.call(null,cljs.core.map.call(null,weathergen.falcon.files.mission.team_number,cljs.core.filter.call(null,function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"c-team","c-team",1058111407)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"team","team",1355747699)).cljs$core$IFn$_invoke$arity$1(a)),b)},weathergen.falcon.files.mission.teams.call(null,a))))};
weathergen.falcon.files.mission.team_color=function(a){return cljs.core.nth.call(null,new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"white","white",-483998618),new cljs.core.Keyword(null,"green","green",-945526839),new cljs.core.Keyword(null,"blue","blue",-622100620),new cljs.core.Keyword(null,"brown","brown",1414854429),new cljs.core.Keyword(null,"orange","orange",73816386),new cljs.core.Keyword(null,"yellow","yellow",-881035449),new cljs.core.Keyword(null,
"red","red",-969428204),new cljs.core.Keyword(null,"grey","grey",1875582333)],null),weathergen.falcon.files.mission.team_number.call(null,a))};
weathergen.falcon.files.mission.package_name=function(a,b){var c=weathergen.util.filter_EQ_.call(null,new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"package","package",1189062786),(new cljs.core.Keyword(null,"units","units",-533089095)).cljs$core$IFn$_invoke$arity$1(a));return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"name-id","name-id",-279275372)).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.unit_lookup_by_id.call(null,
c,b)))};
weathergen.falcon.files.mission.squadron_aircraft=function(a,b){return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"airframe","airframe",643222926),(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,(new cljs.core.Keyword(null,"vehicle-class-data","vehicle-class-data",1666024339)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382)).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,(new cljs.core.Keyword(null,
"class-table","class-table",207400992)).cljs$core$IFn$_invoke$arity$1(a),cljs.core.first.call(null,(new cljs.core.Keyword(null,"vehicle-type","vehicle-type",-362045068)).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,(new cljs.core.Keyword(null,"unit-class-data","unit-class-data",2122324209)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382)).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,(new cljs.core.Keyword(null,"class-table",
"class-table",207400992)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"type-id","type-id",2030062700)).cljs$core$IFn$_invoke$arity$1(b)-100))))))))),new cljs.core.Keyword(null,"quantity","quantity",-1929050694),cljs.core.reduce.call(null,cljs.core._PLUS_,function(){return function d(a){return new cljs.core.LazySeq(null,function(){for(;;){var e=cljs.core.seq.call(null,a);if(e){if(cljs.core.chunked_seq_QMARK_.call(null,e)){var g=cljs.core.chunk_first.call(null,e),h=cljs.core.count.call(null,
g),k=cljs.core.chunk_buffer.call(null,h);a:for(var l=0;;)if(l<h){var m=cljs.core._nth.call(null,g,l);cljs.core.chunk_append.call(null,k,(new cljs.core.Keyword(null,"roster","roster",-2092272532)).cljs$core$IFn$_invoke$arity$1(b)>>2*m&3);l+=1}else{g=!0;break a}return g?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),d.call(null,cljs.core.chunk_rest.call(null,e))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),null)}k=cljs.core.first.call(null,e);return cljs.core.cons.call(null,
(new cljs.core.Keyword(null,"roster","roster",-2092272532)).cljs$core$IFn$_invoke$arity$1(b)>>2*k&3,d.call(null,cljs.core.rest.call(null,e)))}return null}},null,null)}.call(null,cljs.core.range.call(null,16))}())],null)};
weathergen.falcon.files.mission.airbase_status=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"class-table","class-table",207400992)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"objective-class-data","objective-class-data",-2036255156)),f=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"feature-class-data",
"feature-class-data",-794349644)),g=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"feature-entry-data","feature-entry-data",-87481893)),h=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"point-header-data","point-header-data",2108405911)),k=cljs.core.nth.call(null,e,(new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382)).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.class_table_entry.call(null,a,b))),l=null!=k&&(k.cljs$lang$protocol_mask$partition0$&64||
cljs.core.PROTOCOL_SENTINEL===k.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,k):k,m=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"features","features",-1146962336)),n=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"first-feature","first-feature",-1395776257)),p=cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a){return cljs.core.nth.call(null,f,a)}}(a,c,d,e,f,g,h,k,k,l,m,n),cljs.core.range.call(null,n,n+m)),q=function(){return function(a,c,d,
e,f,g,h,k,l,m,n,p,q){return function H(r){return new cljs.core.LazySeq(null,function(a,c,d,e,f,g,h,k,l,m,n,p,q){return function(){for(;;){var a=cljs.core.seq.call(null,r);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var c=cljs.core.chunk_first.call(null,a),d=cljs.core.count.call(null,c),e=cljs.core.chunk_buffer.call(null,d);return function(){for(var a=0;;)if(a<d){var f=cljs.core._nth.call(null,c,a);cljs.core.chunk_append.call(null,e,function(){var a=cljs.core.long$.call(null,f/4),c=f-4*a;return 0>
c||255<c||cljs.core.count.call(null,(new cljs.core.Keyword(null,"f-status","f-status",782756103)).cljs$core$IFn$_invoke$arity$1(b))<=a?0:cljs.core.nth.call(null,(new cljs.core.Keyword(null,"f-status","f-status",782756103)).cljs$core$IFn$_invoke$arity$1(b),a,0)>>2*c&3}());a+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),H.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),null)}var f=cljs.core.first.call(null,a);
return cljs.core.cons.call(null,function(){var a=cljs.core.long$.call(null,f/4),c=f-4*a;return 0>c||255<c||cljs.core.count.call(null,(new cljs.core.Keyword(null,"f-status","f-status",782756103)).cljs$core$IFn$_invoke$arity$1(b))<=a?0:cljs.core.nth.call(null,(new cljs.core.Keyword(null,"f-status","f-status",782756103)).cljs$core$IFn$_invoke$arity$1(b),a,0)>>2*c&3}(),H.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,c,d,e,f,g,h,k,l,m,n,p,q),null,null)}}(a,c,d,e,f,g,h,k,k,l,m,n,p).call(null,
cljs.core.range.call(null,m))}(),r=cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(a){a=cljs.core.nth.call(null,c,(new cljs.core.Keyword(null,"index","index",-1531685915)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"feature-class-info","feature-class-info",1970317689),cljs.core.nth.call(null,e,(new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382)).cljs$core$IFn$_invoke$arity$1(a)))}}(a,c,d,e,f,g,h,
k,k,l,m,n,p,q),p),u=cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a,b,c){return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"status","status",-1997798413),b,new cljs.core.Keyword(null,"class-info","class-info",-467052058),c)}}(a,c,d,e,f,g,h,k,k,l,m,n,p,q,r),p,q,r),t=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,
"class-info","class-info",-467052058)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"class-info","class-info",-467052058)).cljs$core$IFn$_invoke$arity$1(a)))),weathergen.falcon.constants.TYPE_RUNWAY)}}(a,c,d,e,f,g,h,k,k,l,m,n,p,q,r,u),v=function(){var b=100-cljs.core.reduce.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(a,b){var c=cljs.core._EQ_;var d=(new cljs.core.Keyword(null,
"status","status",-1997798413)).cljs$core$IFn$_invoke$arity$1(b);c=cljs.core.truth_(c.call(null,weathergen.falcon.constants.VIS_DAMAGED,d))?cljs.core.long$.call(null,(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(b)/2):cljs.core.truth_(c.call(null,weathergen.falcon.constants.VIS_DESTROYED,d))?(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(b):0;return a+c}}(0,a,c,d,e,f,g,h,k,k,l,m,n,p,q,r,u,t),0,cljs.core.remove.call(null,
t,u));return 0>b?0:b}(),w=function(){for(var b=(new cljs.core.Keyword(null,"pt-data-index","pt-data-index",-54255967)).cljs$core$IFn$_invoke$arity$1(k),w=new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"total","total",1916810418),0,new cljs.core.Keyword(null,"destroyed","destroyed",-427566535),0],null);;){var x=cljs.core.nth.call(null,h,b);if(0===b)return w;var J=(new cljs.core.Keyword(null,"next-header","next-header",1386001069)).cljs$core$IFn$_invoke$arity$1(x),w=cljs.core._EQ_.call(null,
weathergen.falcon.constants.RunwayPt,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(x))?cljs.core.update.call(null,cljs.core.update.call(null,w,new cljs.core.Keyword(null,"total","total",1916810418),cljs.core.inc),new cljs.core.Keyword(null,"destroyed","destroyed",-427566535),cljs.core._PLUS_,cljs.core.truth_(cljs.core.some.call(null,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.VIS_DESTROYED]),cljs.core.map.call(null,new cljs.core.Keyword(null,
"status","status",-1997798413),cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x){return function(a){return cljs.core.nth.call(null,w,a)}}(b,w,x,a,c,d,e,f,g,h,k,k,l,m,n,p,q,r,u,t,v),cljs.core.take_while.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x){return function(a){return 255>a}}(b,w,x,a,c,d,e,f,g,h,k,k,l,m,n,p,q,r,u,t,v),(new cljs.core.Keyword(null,"features","features",-1146962336)).cljs$core$IFn$_invoke$arity$1(x))))))?1:0):w,b=J}}(),x=null!=w&&(w.cljs$lang$protocol_mask$partition0$&
64||cljs.core.PROTOCOL_SENTINEL===w.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,w):w,w=cljs.core.get.call(null,x,new cljs.core.Keyword(null,"total","total",1916810418)),x=cljs.core.get.call(null,x,new cljs.core.Keyword(null,"destroyed","destroyed",-427566535)),w=0===w?100:100-cljs.core.long$.call(null,x/w*100);return w<v?w:v};weathergen.falcon.files.mission.objective_status=function(a,b){return weathergen.falcon.files.mission.airbase_status.call(null,a,b)};
weathergen.falcon.files.mission.airbases=function(a){var b=cljs.core.set.call(null,cljs.core.map.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),cljs.core.remove.call(null,function(a){return cljs.core._EQ_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[7,7],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"stype","stype",-63678419)],null)),cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,
"sptype","sptype",-1425026030)],null))],null))},cljs.core.filter.call(null,function(a){return cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.constants.TYPE_AIRBASE,weathergen.falcon.constants.TYPE_AIRSTRIP]).call(null,cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,
"type","type",1174270348)],null)))},weathergen.util.filter_EQ_.call(null,function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"class","class",-2030961996)],null))},weathergen.falcon.constants.CLASS_OBJECTIVE,weathergen.util.filter_EQ_.call(null,function(a){return cljs.core.get_in.call(null,
a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"domain","domain",1847214937)],null))},weathergen.falcon.constants.DOMAIN_LAND,(new cljs.core.Keyword(null,"class-table","class-table",207400992)).cljs$core$IFn$_invoke$arity$1(a)))))));return cljs.core.filterv.call(null,function(a){return function(b){return a.call(null,
(new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125)).cljs$core$IFn$_invoke$arity$1(b)-100)}}(b),(new cljs.core.Keyword(null,"objectives","objectives",933939509)).cljs$core$IFn$_invoke$arity$1(a))};
weathergen.falcon.files.mission.carriers=function(a){var b=cljs.core.set.call(null,cljs.core.map.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),weathergen.util.filter_EQ_.call(null,function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",
-467052058),new cljs.core.Keyword(null,"stype","stype",-63678419)],null))},weathergen.falcon.constants.STYPE_UNIT_CARRIER,weathergen.util.filter_EQ_.call(null,function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"type","type",1174270348)],null))},weathergen.falcon.constants.TYPE_TASKFORCE,
weathergen.util.filter_EQ_.call(null,function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"class","class",-2030961996)],null))},weathergen.falcon.constants.CLASS_UNIT,weathergen.util.filter_EQ_.call(null,function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"domain","domain",1847214937)],null),weathergen.falcon.constants.DOMAIN_SEA)},weathergen.falcon.constants.DOMAIN_SEA,(new cljs.core.Keyword(null,"class-table","class-table",207400992)).cljs$core$IFn$_invoke$arity$1(a)))))));return cljs.core.filterv.call(null,function(a){return function(b){return a.call(null,
(new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125)).cljs$core$IFn$_invoke$arity$1(b)-100)}}(b),weathergen.falcon.files.mission.active_units.call(null,a))};
weathergen.falcon.files.mission.army_bases=function(a){var b=cljs.core.set.call(null,cljs.core.map.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","index","weathergen.falcon.files.mission/index",-1989089649),weathergen.util.filter_EQ_.call(null,function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info",
"class-info",-467052058),new cljs.core.Keyword(null,"type","type",1174270348)],null))},weathergen.falcon.constants.TYPE_ARMYBASE,weathergen.util.filter_EQ_.call(null,function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"class","class",-2030961996)],null))},weathergen.falcon.constants.CLASS_OBJECTIVE,
weathergen.util.filter_EQ_.call(null,function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"vu-class-data","vu-class-data",-1868219799),new cljs.core.Keyword(null,"class-info","class-info",-467052058),new cljs.core.Keyword(null,"domain","domain",1847214937)],null))},weathergen.falcon.constants.DOMAIN_LAND,(new cljs.core.Keyword(null,"class-table","class-table",207400992)).cljs$core$IFn$_invoke$arity$1(a))))));
return cljs.core.filterv.call(null,function(a){return function(b){return a.call(null,(new cljs.core.Keyword(null,"entity-type","entity-type",-1957300125)).cljs$core$IFn$_invoke$arity$1(b)-100)}}(b),(new cljs.core.Keyword(null,"objectives","objectives",933939509)).cljs$core$IFn$_invoke$arity$1(a))};
weathergen.falcon.files.mission.carrier_name=function(a,b){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,(new cljs.core.Keyword(null,"vehicle-class-data","vehicle-class-data",1666024339)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"data-pointer","data-pointer",-1957576382)).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.class_table_entry.call(null,a,b))))};
weathergen.falcon.files.mission.air_icon_resource_prefix=new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"white","white",-483998618),"wh",new cljs.core.Keyword(null,"green","green",-945526839),"gn",new cljs.core.Keyword(null,"blue","blue",-622100620),"bl",new cljs.core.Keyword(null,"brown","brown",1414854429),"br",new cljs.core.Keyword(null,"orange","orange",73816386),"or",new cljs.core.Keyword(null,"yellow","yellow",-881035449),"yl",new cljs.core.Keyword(null,"red","red",-969428204),
"rd",new cljs.core.Keyword(null,"grey","grey",1875582333),"gy"],null);
weathergen.falcon.files.mission.squadron_image=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"owner","owner",-392611939)),d=weathergen.falcon.files.mission.unit_class_entry.call(null,a,b),d=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,
d):d,d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"icon-index","icon-index",-42714286)),e=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"image-ids","image-ids",-529925649));return weathergen.falcon.files.images.make_descriptor.call(null,a,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("resource/"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.air_icon_resource_prefix.call(null,
weathergen.falcon.files.mission.team_color.call(null,c))),cljs.core.str.cljs$core$IFn$_invoke$arity$1("air_nn")].join(""),cljs.core.get_in.call(null,e,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"id-\x3ename","id-\x3ename",249122446),d],null)))};
weathergen.falcon.files.mission.icon_resource_prefix=new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"white","white",-483998618),"wht",new cljs.core.Keyword(null,"green","green",-945526839),"grn",new cljs.core.Keyword(null,"blue","blue",-622100620),"blu",new cljs.core.Keyword(null,"brown","brown",1414854429),"brn",new cljs.core.Keyword(null,"orange","orange",73816386),"orn",new cljs.core.Keyword(null,"yellow","yellow",-881035449),"ylw",new cljs.core.Keyword(null,"red","red",-969428204),
"red",new cljs.core.Keyword(null,"grey","grey",1875582333),"gry"],null);
weathergen.falcon.files.mission.objective_image=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"owner","owner",-392611939)),d=weathergen.falcon.files.mission.objective_class_entry.call(null,a,b),d=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,d):d,d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"icon-index","icon-index",-42714286)),e=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"image-ids","image-ids",-529925649));return weathergen.falcon.files.images.make_descriptor.call(null,a,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("resource/"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.icon_resource_prefix.call(null,
weathergen.falcon.files.mission.team_color.call(null,c))),cljs.core.str.cljs$core$IFn$_invoke$arity$1("dark")].join(""),cljs.core.get_in.call(null,e,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"id-\x3ename","id-\x3ename",249122446),d],null)))};
weathergen.falcon.files.mission.unit_image=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"owner","owner",-392611939)),d=weathergen.falcon.files.mission.unit_class_entry.call(null,a,b),d=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,
d):d,d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"icon-index","icon-index",-42714286)),e=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"image-ids","image-ids",-529925649));return weathergen.falcon.files.images.make_descriptor.call(null,a,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("resource/"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.icon_resource_prefix.call(null,
weathergen.falcon.files.mission.team_color.call(null,c))),cljs.core.str.cljs$core$IFn$_invoke$arity$1("dark")].join(""),cljs.core.get_in.call(null,e,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"id-\x3ename","id-\x3ename",249122446),d],null)))};
weathergen.falcon.files.mission.squadron_type=function(a,b){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.unit_class_entry.call(null,a,b))};
weathergen.falcon.files.mission.squadron_airbase=function(a,b){var c=weathergen.falcon.files.mission.find_objective.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092),(new cljs.core.Keyword(null,"airbase-id","airbase-id",-1975592308)).cljs$core$IFn$_invoke$arity$1(b));if(cljs.core.truth_(c))return cljs.core.assoc.call(null,c,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),weathergen.falcon.files.mission.objective_name.call(null,
a,c));c=weathergen.falcon.files.mission.find_unit.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092),(new cljs.core.Keyword(null,"airbase-id","airbase-id",-1975592308)).cljs$core$IFn$_invoke$arity$1(b));return cljs.core.assoc.call(null,c,new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),weathergen.falcon.files.mission.carrier_name.call(null,a,c))};
weathergen.falcon.files.mission.flights=function(a){var b=null==a?null:weathergen.falcon.files.mission.active_units.call(null,a),c=null==b?null:cljs.core.filter.call(null,function(a,b){return function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"flight","flight",-764860679))}}(a,b),b);return null==c?null:cljs.core.map.call(null,function(b,c,f){return function(b){var c=weathergen.falcon.files.mission.find_unit.call(null,
a,new cljs.core.Keyword(null,"id","id",-1388402092),(new cljs.core.Keyword(null,"squadron","squadron",-1131671273)).cljs$core$IFn$_invoke$arity$1(b));return cljs.core.assoc.call(null,b,new cljs.core.Keyword("weathergen.falcon.files.mission","mission","weathergen.falcon.files.mission/mission",43331456),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.mission.flight_mission_name.call(null,a,b),new cljs.core.Keyword(null,"category",
"category",-593092832),weathergen.falcon.files.mission.flight_mission_category.call(null,a,b)],null),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron","weathergen.falcon.files.mission/squadron",463902337),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"name","name",1843675177),cljs.core.not.call(null,c)?"Unknown":weathergen.falcon.files.mission.unit_name.call(null,a,c)],null),new cljs.core.Keyword("weathergen.falcon.files.mission","airbase","weathergen.falcon.files.mission/airbase",
-1926407441),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"name","name",1843675177),cljs.core.not.call(null,c)?"Unknown":(new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.squadron_airbase.call(null,a,c))],null),new cljs.core.Keyword("weathergen.falcon.files.mission","package","weathergen.falcon.files.mission/package",-1415630340),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.mission.package_name.call(null,a,(new cljs.core.Keyword(null,"package","package",1189062786)).cljs$core$IFn$_invoke$arity$1(b))],null),new cljs.core.Keyword("weathergen.falcon.files.mission","waypoints","weathergen.falcon.files.mission/waypoints",712228162),weathergen.falcon.files.mission.flight_waypoints.call(null,a,b),new cljs.core.Keyword("weathergen.falcon.files.mission","loadouts","weathergen.falcon.files.mission/loadouts",
142269567),weathergen.falcon.files.mission.flight_loadouts.call(null,a,b),new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"airframe","airframe",643222926),cljs.core.not.call(null,c)?"Unknown":(new cljs.core.Keyword(null,"airframe","airframe",643222926)).cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.squadron_aircraft.call(null,a,c)),new cljs.core.Keyword(null,
"quantity","quantity",-1929050694),weathergen.falcon.files.mission.flight_aircraft_quantity.call(null,b)],null))}}(a,b,c),c)};
weathergen.falcon.files.mission.oob_air=function(a){var b=cljs.core.group_by.call(null,new cljs.core.Keyword(null,"airbase-id","airbase-id",-1975592308),cljs.core.map.call(null,function(b){return cljs.core.assoc.call(null,b,new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258),weathergen.falcon.files.mission.squadron_aircraft.call(null,a,b),new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-type","weathergen.falcon.files.mission/squadron-type",
1124226793),weathergen.falcon.files.mission.squadron_type.call(null,a,b),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),weathergen.falcon.files.mission.squadron_image.call(null,a,b))},(new cljs.core.Keyword(null,"squadron","squadron",-1131671273)).cljs$core$IFn$_invoke$arity$1(cljs.core.group_by.call(null,new cljs.core.Keyword(null,"type","type",1174270348),weathergen.falcon.files.mission.active_units.call(null,a))))),c=weathergen.falcon.files.mission.airbases.call(null,
a),d=weathergen.falcon.files.mission.carriers.call(null,a),e=weathergen.falcon.files.mission.army_bases.call(null,a),f=cljs.core.mapv.call(null,function(b,c,d,e){return function(c){return cljs.core.assoc.call(null,c,new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),cljs.core.select_keys.call(null,c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"x","x",2099068185),new cljs.core.Keyword(null,
"y","y",-1757859776)],null)),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),weathergen.falcon.files.mission.airbase_status.call(null,a,c),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),cljs.core.get.call(null,b,(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(c)),new cljs.core.Keyword("weathergen.falcon.files.mission","image",
"weathergen.falcon.files.mission/image",-1683332210),weathergen.falcon.files.mission.objective_image.call(null,a,c),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),weathergen.falcon.files.mission.objective_name.call(null,a,c))}}(b,c,d,e),c),g=cljs.core.mapv.call(null,function(b,c,d,e,f){return function(c){return cljs.core.assoc.call(null,c,new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",
125705122),cljs.core.select_keys.call(null,c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"x","x",2099068185),new cljs.core.Keyword(null,"y","y",-1757859776)],null)),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),100,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),cljs.core.get.call(null,b,(new cljs.core.Keyword(null,
"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(c)),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),weathergen.falcon.files.mission.unit_image.call(null,a,c),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975),weathergen.falcon.files.mission.carrier_name.call(null,a,c))}}(b,c,d,e,f),d),b=cljs.core.mapv.call(null,function(b,c,d,e,f,g){return function(c){return cljs.core.assoc.call(null,
c,new cljs.core.Keyword("weathergen.falcon.files.mission","location","weathergen.falcon.files.mission/location",125705122),cljs.core.select_keys.call(null,c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"x","x",2099068185),new cljs.core.Keyword(null,"y","y",-1757859776)],null)),new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917),weathergen.falcon.files.mission.objective_status.call(null,
a,c),new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),cljs.core.get.call(null,b,(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(c)),new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210),weathergen.falcon.files.mission.objective_image.call(null,a,c),new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",
1235339975),weathergen.falcon.files.mission.objective_name.call(null,a,c))}}(b,c,d,e,f,g),e);return cljs.core.vec.call(null,cljs.core.concat.call(null,f,g,b))};weathergen.falcon.files.mission.order_of_battle=function(a){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"air","air",-104121788),weathergen.falcon.files.mission.oob_air.call(null,a)],null)};
weathergen.falcon.files.mission.mission_time=function(a){return(new cljs.core.Keyword(null,"current-time","current-time",-1609407134)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966)).cljs$core$IFn$_invoke$arity$1(a))};var garden={selectors:{}};garden.selectors.ICSSSelector=function(){};garden.selectors.css_selector=function(a){if(null!=a&&null!=a.garden$selectors$ICSSSelector$css_selector$arity$1)return a.garden$selectors$ICSSSelector$css_selector$arity$1(a);var b=garden.selectors.css_selector[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=garden.selectors.css_selector._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"ICSSSelector.css-selector",a);};
garden.selectors.selector_QMARK_=function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.garden$selectors$ICSSSelector$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,garden.selectors.ICSSSelector,a):cljs.core.native_satisfies_QMARK_.call(null,garden.selectors.ICSSSelector,a)};garden.selectors.ICSSSelector.string=!0;garden.selectors.css_selector.string=function(a){return a};cljs.core.Keyword.prototype.garden$selectors$ICSSSelector$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Keyword.prototype.garden$selectors$ICSSSelector$css_selector$arity$1=function(a){return cljs.core.name.call(null,this)};cljs.core.Symbol.prototype.garden$selectors$ICSSSelector$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Symbol.prototype.garden$selectors$ICSSSelector$css_selector$arity$1=function(a){return cljs.core.name.call(null,this)};
garden.selectors.CSSSelector=function(a,b,c,d){this.selector=a;this.__meta=b;this.__extmap=c;this.__hash=d;this.cljs$lang$protocol_mask$partition0$=2229667595;this.cljs$lang$protocol_mask$partition1$=8192};garden.selectors.CSSSelector.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
garden.selectors.CSSSelector.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "selector":return this.selector;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
garden.selectors.CSSSelector.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#garden.selectors.CSSSelector{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"selector","selector",762528866),this.selector],null)],null),this.__extmap))};garden.selectors.CSSSelector.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;
garden.selectors.CSSSelector.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,1,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"selector","selector",762528866)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):cljs.core.nil_iter.call(null))};garden.selectors.CSSSelector.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};
garden.selectors.CSSSelector.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new garden.selectors.CSSSelector(this.selector,this.__meta,this.__extmap,this.__hash)};garden.selectors.CSSSelector.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 1+cljs.core.count.call(null,this.__extmap)};garden.selectors.CSSSelector.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_imap.call(null,this)};
garden.selectors.CSSSelector.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.truth_(cljs.core.truth_(b)?this.constructor===b.constructor&&cljs.core.equiv_map.call(null,this,b):b)?!0:!1};garden.selectors.CSSSelector.prototype.garden$selectors$ICSSSelector$=cljs.core.PROTOCOL_SENTINEL;
garden.selectors.CSSSelector.prototype.garden$selectors$ICSSSelector$css_selector$arity$1=function(a){return garden.selectors.css_selector.call(null,(new cljs.core.Keyword(null,"selector","selector",762528866)).cljs$core$IFn$_invoke$arity$1(this))};
garden.selectors.CSSSelector.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"selector","selector",762528866),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new garden.selectors.CSSSelector(this.selector,this.__meta,cljs.core.not_empty.call(null,
cljs.core.dissoc.call(null,this.__extmap,b)),null)};garden.selectors.CSSSelector.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){return cljs.core.truth_(cljs.core.keyword_identical_QMARK_.call(null,new cljs.core.Keyword(null,"selector","selector",762528866),b))?new garden.selectors.CSSSelector(c,this.__meta,this.__extmap,null):new garden.selectors.CSSSelector(this.selector,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
garden.selectors.CSSSelector.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"selector","selector",762528866),this.selector],null)],null),this.__extmap))};
garden.selectors.CSSSelector.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new garden.selectors.CSSSelector(this.selector,b,this.__extmap,this.__hash)};garden.selectors.CSSSelector.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
garden.selectors.CSSSelector.prototype.call=function(){var a=null,b=function(a,b){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b))].join(""),null,null,null)},c=function(a,b,c){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c))].join(""),null,null,null)},d=function(a,b,c,d){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d))].join(""),null,null,null)},e=function(a,b,c,d,e){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e))].join(""),null,null,null)},f=function(a,b,c,d,e,f){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f))].join(""),null,null,null)},g=function(a,b,c,d,e,f,g){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g))].join(""),null,null,null)},h=function(a,b,c,d,e,f,g,h){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h))].join(""),null,null,null)},k=function(a,b,c,d,e,f,g,h,k){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k))].join(""),null,null,null)},l=function(a,b,c,d,e,f,g,h,k,l){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l))].join(""),null,null,null)},m=function(a,b,c,d,e,f,g,h,k,l,m){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m))].join(""),null,null,null)},n=function(a,b,c,d,e,f,g,h,k,l,m,n){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n))].join(""),null,null,null)},p=function(a,b,c,d,e,f,g,h,k,l,m,n,p){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
p))].join(""),null,null,null)},q=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q))].join(""),null,null,null)},r=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,r))].join(""),null,null,null)},u=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,r)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
u))].join(""),null,null,null)},t=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,r)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,u)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
t))].join(""),null,null,null)},v=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,r)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,u)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
t)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,v))].join(""),null,null,null)},w=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,r)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
u)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,t)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,v)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,w))].join(""),null,null,null)},x=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,r)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,u)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,t)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,v)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,w)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
x))].join(""),null,null,null)},y=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,r)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,u)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
t)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,v)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,w)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,x)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,y))].join(""),null,null,null)},a=function(a,A,J,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q,S,V,T){switch(arguments.length){case 1:return this;case 2:return b.call(this,
a,A);case 3:return c.call(this,a,A,J);case 4:return d.call(this,a,A,J,B);case 5:return e.call(this,a,A,J,B,C);case 6:return f.call(this,a,A,J,B,C,G);case 7:return g.call(this,a,A,J,B,C,G,E);case 8:return h.call(this,a,A,J,B,C,G,E,D);case 9:return k.call(this,a,A,J,B,C,G,E,D,L);case 10:return l.call(this,a,A,J,B,C,G,E,D,L,F);case 11:return m.call(this,a,A,J,B,C,G,E,D,L,F,K);case 12:return n.call(this,a,A,J,B,C,G,E,D,L,F,K,M);case 13:return p.call(this,a,A,J,B,C,G,E,D,L,F,K,M,I);case 14:return q.call(this,
a,A,J,B,C,G,E,D,L,F,K,M,I,H);case 15:return r.call(this,a,A,J,B,C,G,E,D,L,F,K,M,I,H,P);case 16:return u.call(this,a,A,J,B,C,G,E,D,L,F,K,M,I,H,P,O);case 17:return t.call(this,a,A,J,B,C,G,E,D,L,F,K,M,I,H,P,O,N);case 18:return v.call(this,a,A,J,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q);case 19:return w.call(this,a,A,J,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q,S);case 20:return x.call(this,a,A,J,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q,S,V);case 21:return y.call(this,a,A,J,B,C,G,E,D,L,F,K,M,I,H,P,O,N,Q,S,V,T)}throw Error("Invalid arity: "+
(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=function(a){return this};a.cljs$core$IFn$_invoke$arity$2=b;a.cljs$core$IFn$_invoke$arity$3=c;a.cljs$core$IFn$_invoke$arity$4=d;a.cljs$core$IFn$_invoke$arity$5=e;a.cljs$core$IFn$_invoke$arity$6=f;a.cljs$core$IFn$_invoke$arity$7=g;a.cljs$core$IFn$_invoke$arity$8=h;a.cljs$core$IFn$_invoke$arity$9=k;a.cljs$core$IFn$_invoke$arity$10=l;a.cljs$core$IFn$_invoke$arity$11=m;a.cljs$core$IFn$_invoke$arity$12=n;a.cljs$core$IFn$_invoke$arity$13=p;a.cljs$core$IFn$_invoke$arity$14=
q;a.cljs$core$IFn$_invoke$arity$15=r;a.cljs$core$IFn$_invoke$arity$16=u;a.cljs$core$IFn$_invoke$arity$17=t;a.cljs$core$IFn$_invoke$arity$18=v;a.cljs$core$IFn$_invoke$arity$19=w;a.cljs$core$IFn$_invoke$arity$20=x;a.cljs$core$IFn$_invoke$arity$21=y;return a}();garden.selectors.CSSSelector.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone.call(null,b)))};garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$0=function(){return this};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c))].join(""),
null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
d))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$7=function(a,b,c,d,e,f,g){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$8=function(a,b,c,d,e,f,g,h){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$9=function(a,b,c,d,e,f,g,h,k){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
k))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$10=function(a,b,c,d,e,f,g,h,k,l){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$11=function(a,b,c,d,e,f,g,h,k,l,m){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$12=function(a,b,c,d,e,f,g,h,k,l,m,n){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$13=function(a,b,c,d,e,f,g,h,k,l,m,n,p){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$14=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$15=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
r))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$16=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,c)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
r)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,u))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$17=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
r)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,u)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,t))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$18=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
r)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,u)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,t)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,v))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$19=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
r)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,u)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,t)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,v)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,w))].join(""),null,null,null)};
garden.selectors.CSSSelector.prototype.cljs$core$IFn$_invoke$arity$20=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x){return new garden.selectors.CSSSelector([cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.garden$selectors$ICSSSelector$css_selector$arity$1(null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,f)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,g)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,h)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
k)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,l)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,m)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,n)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,p)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,q)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,
r)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,u)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,t)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,v)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,w)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,x))].join(""),null,null,null)};
garden.selectors.CSSSelector.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"selector","selector",-1891906903,null)],null)};garden.selectors.CSSSelector.cljs$lang$type=!0;garden.selectors.CSSSelector.cljs$lang$ctorPrSeq=function(a){return cljs.core._conj.call(null,cljs.core.List.EMPTY,"garden.selectors/CSSSelector")};
garden.selectors.CSSSelector.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"garden.selectors/CSSSelector")};garden.selectors.__GT_CSSSelector=function(a){return new garden.selectors.CSSSelector(a,null,null,null)};
garden.selectors.map__GT_CSSSelector=function(a){return new garden.selectors.CSSSelector((new cljs.core.Keyword(null,"selector","selector",762528866)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"selector","selector",762528866)),null)};garden.selectors.selector=function(a){return new garden.selectors.CSSSelector(a,null,null,null)};
garden.selectors.html_tags=cljs.core.PersistentVector.fromArray([new cljs.core.Symbol(null,"a","a",-482876059,null),new cljs.core.Symbol(null,"abbr","abbr",-565843885,null),new cljs.core.Symbol(null,"address","address",-2094936343,null),new cljs.core.Symbol(null,"area","area",2112538783,null),new cljs.core.Symbol(null,"article","article",1618846482,null),new cljs.core.Symbol(null,"aside","aside",-1240038232,null),new cljs.core.Symbol(null,"audio","audio",-835308448,null),new cljs.core.Symbol(null,
"b","b",-1172211299,null),new cljs.core.Symbol(null,"base","base",1825810849,null),new cljs.core.Symbol(null,"bdi","bdi",317505641,null),new cljs.core.Symbol(null,"bdo","bdo",-490616675,null),new cljs.core.Symbol(null,"blockquote","blockquote",2012795717,null),new cljs.core.Symbol(null,"body","body",-408674142,null),new cljs.core.Symbol(null,"br","br",-1720330977,null),new cljs.core.Symbol(null,"button","button",-1197855826,null),new cljs.core.Symbol(null,"canvas","canvas",-158285962,null),new cljs.core.Symbol(null,
"caption","caption",785147625,null),new cljs.core.Symbol(null,"cite","cite",-744995773,null),new cljs.core.Symbol(null,"code","code",-1068142627,null),new cljs.core.Symbol(null,"col","col",-318831557,null),new cljs.core.Symbol(null,"colgroup","colgroup",-2003317124,null),new cljs.core.Symbol(null,"command","command",745990803,null),new cljs.core.Symbol(null,"datalist","datalist",405488053,null),new cljs.core.Symbol(null,"dd","dd",300093898,null),new cljs.core.Symbol(null,"del","del",-2079460185,null),
new cljs.core.Symbol(null,"details","details",-697640358,null),new cljs.core.Symbol(null,"dfn","dfn",1882439694,null),new cljs.core.Symbol(null,"div","div",-1597244137,null),new cljs.core.Symbol(null,"dl","dl",-499620186,null),new cljs.core.Symbol(null,"dt","dt",1272086768,null),new cljs.core.Symbol(null,"em","em",-1946622734,null),new cljs.core.Symbol(null,"embed","embed",285618178,null),new cljs.core.Symbol(null,"fieldset","fieldset",-309239289,null),new cljs.core.Symbol(null,"figcaption","figcaption",
-149590520,null),new cljs.core.Symbol(null,"figure","figure",1079137448,null),new cljs.core.Symbol(null,"footer","footer",-1047990379,null),new cljs.core.Symbol(null,"form","form",16469056,null),new cljs.core.Symbol(null,"h1","h1",-256355935,null),new cljs.core.Symbol(null,"h2","h2",1267868799,null),new cljs.core.Symbol(null,"h3","h3",-586824606,null),new cljs.core.Symbol(null,"h4","h4",-649572776,null),new cljs.core.Symbol(null,"h5","h5",-188625098,null),new cljs.core.Symbol(null,"h6","h6",-2097141989,
null),new cljs.core.Symbol(null,"head","head",869147608,null),new cljs.core.Symbol(null,"header","header",1759972661,null),new cljs.core.Symbol(null,"hgroup","hgroup",-1525585280,null),new cljs.core.Symbol(null,"hr","hr",-1276695702,null),new cljs.core.Symbol(null,"html","html",641734630,null),new cljs.core.Symbol(null,"i","i",253690212,null),new cljs.core.Symbol(null,"iframe","iframe",-1770013743,null),new cljs.core.Symbol(null,"img","img",-1211748411,null),new cljs.core.Symbol(null,"input","input",
-2097503808,null),new cljs.core.Symbol(null,"ins","ins",618547957,null),new cljs.core.Symbol(null,"kbd","kbd",1956688402,null),new cljs.core.Symbol(null,"keygen","keygen",1068838274,null),new cljs.core.Symbol(null,"label","label",-936024965,null),new cljs.core.Symbol(null,"legend","legend",613339282,null),new cljs.core.Symbol(null,"li","li",-1930876848,null),new cljs.core.Symbol(null,"link","link",-128631941,null),new cljs.core.Symbol(null,"map","map",-1282745308,null),new cljs.core.Symbol(null,"mark",
"mark",1266715182,null),new cljs.core.Symbol(null,"math","math",-386381276,null),new cljs.core.Symbol(null,"menu","menu",1992786725,null),new cljs.core.Symbol(null,"meta","meta",-1154898805,null),new cljs.core.Symbol(null,"meter","meter",1452889916,null),new cljs.core.Symbol(null,"nav","nav",-1934895292,null),new cljs.core.Symbol(null,"noscript","noscript",935754238,null),new cljs.core.Symbol(null,"object","object",-1179821820,null),new cljs.core.Symbol(null,"ol","ol",-1721911718,null),new cljs.core.Symbol(null,
"optgroup","optgroup",-916153551,null),new cljs.core.Symbol(null,"option","option",1705663799,null),new cljs.core.Symbol(null,"output","output",534662484,null),new cljs.core.Symbol(null,"p","p",1791580836,null),new cljs.core.Symbol(null,"param","param",-640803946,null),new cljs.core.Symbol(null,"pre","pre",-535978900,null),new cljs.core.Symbol(null,"progress","progress",1884855074,null),new cljs.core.Symbol(null,"q","q",-1965434072,null),new cljs.core.Symbol(null,"rp","rp",-647737686,null),new cljs.core.Symbol(null,
"rt","rt",-2030955077,null),new cljs.core.Symbol(null,"ruby","ruby",-653698108,null),new cljs.core.Symbol(null,"s","s",-948495851,null),new cljs.core.Symbol(null,"samp","samp",-1148294633,null),new cljs.core.Symbol(null,"script","script",336087726,null),new cljs.core.Symbol(null,"section","section",1340390001,null),new cljs.core.Symbol(null,"select","select",-1506602266,null),new cljs.core.Symbol(null,"small","small",-520957065,null),new cljs.core.Symbol(null,"source","source",1206599988,null),new cljs.core.Symbol(null,
"span","span",-1259562778,null),new cljs.core.Symbol(null,"strong","strong",1910060527,null),new cljs.core.Symbol(null,"style","style",1143888791,null),new cljs.core.Symbol(null,"sub","sub",-453228498,null),new cljs.core.Symbol(null,"summary","summary",2021379479,null),new cljs.core.Symbol(null,"sup","sup",-398960819,null),new cljs.core.Symbol(null,"svg","svg",-1797646627,null),new cljs.core.Symbol(null,"table","table",1075588491,null),new cljs.core.Symbol(null,"tbody","tbody",1559853227,null),new cljs.core.Symbol(null,
"td","td",-1174502416,null),new cljs.core.Symbol(null,"textarea","textarea",990155703,null),new cljs.core.Symbol(null,"tfoot","tfoot",938931637,null),new cljs.core.Symbol(null,"th","th",1094922961,null),new cljs.core.Symbol(null,"thead","thead",1348656231,null),new cljs.core.Symbol(null,"time","time",-1268547887,null),new cljs.core.Symbol(null,"title","title",-2017930186,null),new cljs.core.Symbol(null,"tr","tr",215756881,null),new cljs.core.Symbol(null,"track","track",1836319014,null),new cljs.core.Symbol(null,
"u","u",483896742,null),new cljs.core.Symbol(null,"ul","ul",291010124,null),new cljs.core.Symbol(null,"var","var",870848730,null),new cljs.core.Symbol(null,"video","video",1797419657,null),new cljs.core.Symbol(null,"wbr","wbr",1869193327,null)],!0);garden.selectors.a=garden.selectors.selector.call(null,"a");garden.selectors.abbr=garden.selectors.selector.call(null,"abbr");garden.selectors.address=garden.selectors.selector.call(null,"address");
garden.selectors.area=garden.selectors.selector.call(null,"area");garden.selectors.article=garden.selectors.selector.call(null,"article");garden.selectors.aside=garden.selectors.selector.call(null,"aside");garden.selectors.audio=garden.selectors.selector.call(null,"audio");garden.selectors.b=garden.selectors.selector.call(null,"b");garden.selectors.base=garden.selectors.selector.call(null,"base");garden.selectors.bdi=garden.selectors.selector.call(null,"bdi");
garden.selectors.bdo=garden.selectors.selector.call(null,"bdo");garden.selectors.blockquote=garden.selectors.selector.call(null,"blockquote");garden.selectors.body=garden.selectors.selector.call(null,"body");garden.selectors.br=garden.selectors.selector.call(null,"br");garden.selectors.button=garden.selectors.selector.call(null,"button");garden.selectors.canvas=garden.selectors.selector.call(null,"canvas");garden.selectors.caption=garden.selectors.selector.call(null,"caption");
garden.selectors.cite=garden.selectors.selector.call(null,"cite");garden.selectors.code=garden.selectors.selector.call(null,"code");garden.selectors.col=garden.selectors.selector.call(null,"col");garden.selectors.colgroup=garden.selectors.selector.call(null,"colgroup");garden.selectors.command=garden.selectors.selector.call(null,"command");garden.selectors.datalist=garden.selectors.selector.call(null,"datalist");garden.selectors.dd=garden.selectors.selector.call(null,"dd");
garden.selectors.del=garden.selectors.selector.call(null,"del");garden.selectors.details=garden.selectors.selector.call(null,"details");garden.selectors.dfn=garden.selectors.selector.call(null,"dfn");garden.selectors.div=garden.selectors.selector.call(null,"div");garden.selectors.dl=garden.selectors.selector.call(null,"dl");garden.selectors.dt=garden.selectors.selector.call(null,"dt");garden.selectors.em=garden.selectors.selector.call(null,"em");
garden.selectors.embed=garden.selectors.selector.call(null,"embed");garden.selectors.fieldset=garden.selectors.selector.call(null,"fieldset");garden.selectors.figcaption=garden.selectors.selector.call(null,"figcaption");garden.selectors.figure=garden.selectors.selector.call(null,"figure");garden.selectors.footer=garden.selectors.selector.call(null,"footer");garden.selectors.form=garden.selectors.selector.call(null,"form");garden.selectors.h1=garden.selectors.selector.call(null,"h1");
garden.selectors.h2=garden.selectors.selector.call(null,"h2");garden.selectors.h3=garden.selectors.selector.call(null,"h3");garden.selectors.h4=garden.selectors.selector.call(null,"h4");garden.selectors.h5=garden.selectors.selector.call(null,"h5");garden.selectors.h6=garden.selectors.selector.call(null,"h6");garden.selectors.head=garden.selectors.selector.call(null,"head");garden.selectors.header=garden.selectors.selector.call(null,"header");
garden.selectors.hgroup=garden.selectors.selector.call(null,"hgroup");garden.selectors.hr=garden.selectors.selector.call(null,"hr");garden.selectors.html=garden.selectors.selector.call(null,"html");garden.selectors.i=garden.selectors.selector.call(null,"i");garden.selectors.iframe=garden.selectors.selector.call(null,"iframe");garden.selectors.img=garden.selectors.selector.call(null,"img");garden.selectors.input=garden.selectors.selector.call(null,"input");
garden.selectors.ins=garden.selectors.selector.call(null,"ins");garden.selectors.kbd=garden.selectors.selector.call(null,"kbd");garden.selectors.keygen=garden.selectors.selector.call(null,"keygen");garden.selectors.label=garden.selectors.selector.call(null,"label");garden.selectors.legend=garden.selectors.selector.call(null,"legend");garden.selectors.li=garden.selectors.selector.call(null,"li");garden.selectors.link=garden.selectors.selector.call(null,"link");
garden.selectors.map=garden.selectors.selector.call(null,"map");garden.selectors.mark=garden.selectors.selector.call(null,"mark");garden.selectors.math=garden.selectors.selector.call(null,"math");garden.selectors.menu=garden.selectors.selector.call(null,"menu");garden.selectors.meta=garden.selectors.selector.call(null,"meta");garden.selectors.meter=garden.selectors.selector.call(null,"meter");garden.selectors.nav=garden.selectors.selector.call(null,"nav");
garden.selectors.noscript=garden.selectors.selector.call(null,"noscript");garden.selectors.object=garden.selectors.selector.call(null,"object");garden.selectors.ol=garden.selectors.selector.call(null,"ol");garden.selectors.optgroup=garden.selectors.selector.call(null,"optgroup");garden.selectors.option=garden.selectors.selector.call(null,"option");garden.selectors.output=garden.selectors.selector.call(null,"output");garden.selectors.p=garden.selectors.selector.call(null,"p");
garden.selectors.param=garden.selectors.selector.call(null,"param");garden.selectors.pre=garden.selectors.selector.call(null,"pre");garden.selectors.progress=garden.selectors.selector.call(null,"progress");garden.selectors.q=garden.selectors.selector.call(null,"q");garden.selectors.rp=garden.selectors.selector.call(null,"rp");garden.selectors.rt=garden.selectors.selector.call(null,"rt");garden.selectors.ruby=garden.selectors.selector.call(null,"ruby");
garden.selectors.s=garden.selectors.selector.call(null,"s");garden.selectors.samp=garden.selectors.selector.call(null,"samp");garden.selectors.script=garden.selectors.selector.call(null,"script");garden.selectors.section=garden.selectors.selector.call(null,"section");garden.selectors.select=garden.selectors.selector.call(null,"select");garden.selectors.small=garden.selectors.selector.call(null,"small");garden.selectors.source=garden.selectors.selector.call(null,"source");
garden.selectors.span=garden.selectors.selector.call(null,"span");garden.selectors.strong=garden.selectors.selector.call(null,"strong");garden.selectors.style=garden.selectors.selector.call(null,"style");garden.selectors.sub=garden.selectors.selector.call(null,"sub");garden.selectors.summary=garden.selectors.selector.call(null,"summary");garden.selectors.sup=garden.selectors.selector.call(null,"sup");garden.selectors.svg=garden.selectors.selector.call(null,"svg");
garden.selectors.table=garden.selectors.selector.call(null,"table");garden.selectors.tbody=garden.selectors.selector.call(null,"tbody");garden.selectors.td=garden.selectors.selector.call(null,"td");garden.selectors.textarea=garden.selectors.selector.call(null,"textarea");garden.selectors.tfoot=garden.selectors.selector.call(null,"tfoot");garden.selectors.th=garden.selectors.selector.call(null,"th");garden.selectors.thead=garden.selectors.selector.call(null,"thead");
garden.selectors.time=garden.selectors.selector.call(null,"time");garden.selectors.title=garden.selectors.selector.call(null,"title");garden.selectors.tr=garden.selectors.selector.call(null,"tr");garden.selectors.track=garden.selectors.selector.call(null,"track");garden.selectors.u=garden.selectors.selector.call(null,"u");garden.selectors.ul=garden.selectors.selector.call(null,"ul");garden.selectors.var$=garden.selectors.selector.call(null,"var");
garden.selectors.video=garden.selectors.selector.call(null,"video");garden.selectors.wbr=garden.selectors.selector.call(null,"wbr");
garden.selectors.pseudo_classes=cljs.core.PersistentVector.fromArray([new cljs.core.Symbol(null,"active","active",-758473701,null),new cljs.core.Symbol(null,"checked","checked",1589575708,null),new cljs.core.Symbol(null,"default","default",-347290801,null),new cljs.core.Symbol(null,"disabled","disabled",110747309,null),new cljs.core.Symbol(null,"empty","empty",-1886564811,null),new cljs.core.Symbol(null,"enabled","enabled",-1458526013,null),new cljs.core.Symbol(null,"first","first",996428481,null),
new cljs.core.Symbol(null,"first-child","first-child",-540335927,null),new cljs.core.Symbol(null,"first-of-type","first-of-type",900311874,null),new cljs.core.Symbol(null,"fullscreen","fullscreen",1636160473,null),new cljs.core.Symbol(null,"focus","focus",1875209438,null),new cljs.core.Symbol(null,"hover","hover",1299389816,null),new cljs.core.Symbol(null,"indeterminate","indeterminate",1127490551,null),new cljs.core.Symbol(null,"in-range","in-range",-1297863944,null),new cljs.core.Symbol(null,"invalid",
"invalid",2053401043,null),new cljs.core.Symbol(null,"last-child","last-child",-1323765444,null),new cljs.core.Symbol(null,"last-of-type","last-of-type",986453331,null),new cljs.core.Symbol(null,"left","left",1241415590,null),new cljs.core.Symbol(null,"links","links",986024133,null),new cljs.core.Symbol(null,"only-child","only-child",220029032,null),new cljs.core.Symbol(null,"only-of-type","only-of-type",-1960460626,null),new cljs.core.Symbol(null,"optional","optional",-600484260,null),new cljs.core.Symbol(null,
"out-of-range","out-of-range",-1962117180,null),new cljs.core.Symbol(null,"read-only","read-only",1448824641,null),new cljs.core.Symbol(null,"read-write","read-write",1818554410,null),new cljs.core.Symbol(null,"required","required",-846788763,null),new cljs.core.Symbol(null,"right","right",1187949694,null),new cljs.core.Symbol(null,"root","root",1191874074,null),new cljs.core.Symbol(null,"scope","scope",1201173109,null),new cljs.core.Symbol(null,"target","target",1893533248,null),new cljs.core.Symbol(null,
"valid","valid",1796145767,null),new cljs.core.Symbol(null,"visited","visited",29677652,null)],!0);garden.selectors.active=garden.selectors.selector.call(null,":active");garden.selectors.checked=garden.selectors.selector.call(null,":checked");garden.selectors.default$=garden.selectors.selector.call(null,":default");garden.selectors.disabled=garden.selectors.selector.call(null,":disabled");garden.selectors.empty=garden.selectors.selector.call(null,":empty");
garden.selectors.enabled=garden.selectors.selector.call(null,":enabled");garden.selectors.first=garden.selectors.selector.call(null,":first");garden.selectors.first_child=garden.selectors.selector.call(null,":first-child");garden.selectors.first_of_type=garden.selectors.selector.call(null,":first-of-type");garden.selectors.fullscreen=garden.selectors.selector.call(null,":fullscreen");garden.selectors.focus=garden.selectors.selector.call(null,":focus");
garden.selectors.hover=garden.selectors.selector.call(null,":hover");garden.selectors.indeterminate=garden.selectors.selector.call(null,":indeterminate");garden.selectors.in_range=garden.selectors.selector.call(null,":in-range");garden.selectors.invalid=garden.selectors.selector.call(null,":invalid");garden.selectors.last_child=garden.selectors.selector.call(null,":last-child");garden.selectors.last_of_type=garden.selectors.selector.call(null,":last-of-type");
garden.selectors.left=garden.selectors.selector.call(null,":left");garden.selectors.links=garden.selectors.selector.call(null,":links");garden.selectors.only_child=garden.selectors.selector.call(null,":only-child");garden.selectors.only_of_type=garden.selectors.selector.call(null,":only-of-type");garden.selectors.optional=garden.selectors.selector.call(null,":optional");garden.selectors.out_of_range=garden.selectors.selector.call(null,":out-of-range");
garden.selectors.read_only=garden.selectors.selector.call(null,":read-only");garden.selectors.read_write=garden.selectors.selector.call(null,":read-write");garden.selectors.required=garden.selectors.selector.call(null,":required");garden.selectors.right=garden.selectors.selector.call(null,":right");garden.selectors.root=garden.selectors.selector.call(null,":root");garden.selectors.scope=garden.selectors.selector.call(null,":scope");garden.selectors.target=garden.selectors.selector.call(null,":target");
garden.selectors.valid=garden.selectors.selector.call(null,":valid");garden.selectors.visited=garden.selectors.selector.call(null,":visited");
garden.selectors.lang=cljs.core.with_meta(function(){var a=function(a){a=cljs.core.apply.call(null,function(a){return cljs.core.name.call(null,a)},a);a=cljs.core.truth_(garden.selectors.selector_QMARK_.call(null,a))?garden.selectors.css_selector.call(null,a):a;return garden.selectors.selector.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(":"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("lang"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("("),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(")")].join(""))},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}(),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"rettag","rettag",-602973235),null],null));
garden.selectors.not=cljs.core.with_meta(function(){var a=function(a){a=cljs.core.apply.call(null,function(a){return garden.selectors.css_selector.call(null,a)},a);a=cljs.core.truth_(garden.selectors.selector_QMARK_.call(null,a))?garden.selectors.css_selector.call(null,a):a;return garden.selectors.selector.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(":"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("not"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("("),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(")")].join(""))},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}(),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"rettag","rettag",-602973235),null],null));
garden.selectors.nth_child_re=/\s*(?:[-+]?\d+n\s*(?:[-+]\s*\d+)?|[-+]?\d+|odd|even)\s*/i;
garden.selectors.nth_x=function(a){if(!("string"===typeof a||a instanceof cljs.core.Keyword||a instanceof cljs.core.Symbol))throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Assert failed: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1("Agument must be a string, keyword, or symbol"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("\n"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("(or (string? x) (keyword? x) (symbol? x))")].join(""));a=cljs.core.name.call(null,a);var b=cljs.core.re_matches.call(null,
garden.selectors.nth_child_re,a);if(cljs.core.truth_(b))return b;throw cljs.core.ex_info.call(null,"Selector must be either a keyword, string, or symbol.",[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid value "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_str.call(null,a))].join(""));};
garden.selectors.nth_child=cljs.core.with_meta(function(){var a=function(a){a=cljs.core.apply.call(null,function(a){return"number"===typeof a?garden.selectors.nth_x.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1("n")].join("")):garden.selectors.nth_x.call(null,a)},a);a=cljs.core.truth_(garden.selectors.selector_QMARK_.call(null,a))?garden.selectors.css_selector.call(null,a):a;return garden.selectors.selector.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(":"),
cljs.core.str.cljs$core$IFn$_invoke$arity$1("nth-child"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("("),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(")")].join(""))},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=
a;return b}(),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"rettag","rettag",-602973235),null],null));
garden.selectors.nth_last_child=cljs.core.with_meta(function(){var a=function(a){a=cljs.core.apply.call(null,function(a){return garden.selectors.nth_x.call(null,a)},a);a=cljs.core.truth_(garden.selectors.selector_QMARK_.call(null,a))?garden.selectors.css_selector.call(null,a):a;return garden.selectors.selector.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(":"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("nth-last-child"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("("),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(")")].join(""))},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}(),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"rettag","rettag",-602973235),null],null));
garden.selectors.nth_of_type=cljs.core.with_meta(function(){var a=function(a){a=cljs.core.apply.call(null,function(a){return garden.selectors.nth_x.call(null,a)},a);a=cljs.core.truth_(garden.selectors.selector_QMARK_.call(null,a))?garden.selectors.css_selector.call(null,a):a;return garden.selectors.selector.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(":"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("nth-of-type"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("("),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(")")].join(""))},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}(),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"rettag","rettag",-602973235),null],null));
garden.selectors.nth_last_of_type=cljs.core.with_meta(function(){var a=function(a){a=cljs.core.apply.call(null,function(a){return garden.selectors.nth_x.call(null,a)},a);a=cljs.core.truth_(garden.selectors.selector_QMARK_.call(null,a))?garden.selectors.css_selector.call(null,a):a;return garden.selectors.selector.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(":"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("nth-last-of-type"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("("),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(")")].join(""))},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}(),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"rettag","rettag",-602973235),null],null));
garden.selectors.after=garden.selectors.selector.call(null,"::after");garden.selectors.before=garden.selectors.selector.call(null,"::before");garden.selectors.first_letter=garden.selectors.selector.call(null,"::first-letter");garden.selectors.first_line=garden.selectors.selector.call(null,"::first-line");
garden.selectors.attr=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return garden.selectors.attr.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 3:return garden.selectors.attr.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
garden.selectors.attr.cljs$core$IFn$_invoke$arity$1=function(a){return garden.selectors.selector.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("["),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.name.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1("]")].join(""))};
garden.selectors.attr.cljs$core$IFn$_invoke$arity$3=function(a,b,c){c=cljs.core.name.call(null,c);c=cljs.core.truth_(cljs.core.re_matches.call(null,/\"(\\|[^\"])*\"|'(\\|[^\'])*'/,c))?c:cljs.core.pr_str.call(null,c);return garden.selectors.selector.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("["),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.name.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.name.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),
cljs.core.str.cljs$core$IFn$_invoke$arity$1("]")].join(""))};garden.selectors.attr.cljs$lang$maxFixedArity=3;garden.selectors.attr_EQ_=function(a,b){return garden.selectors.attr.call(null,a,"\x3d",b)};garden.selectors.attr_contains=function(a,b){return garden.selectors.attr.call(null,a,"~\x3d",b)};garden.selectors.attr_starts_with=function(a,b){return garden.selectors.attr.call(null,a,"^\x3d",b)};
garden.selectors.attr_starts_with_STAR_=function(a,b){return garden.selectors.attr.call(null,a,"|\x3d",b)};garden.selectors.attr_ends_with=function(a,b){return garden.selectors.attr.call(null,a,"$\x3d",b)};garden.selectors.attr_matches=function(a,b){return garden.selectors.attr.call(null,a,"*\x3d",b)};
garden.selectors.descendant=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return garden.selectors.descendant.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),garden.selectors.descendant.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
garden.selectors.descendant.cljs$core$IFn$_invoke$arity$2=function(a,b){return garden.selectors.selector.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b))].join(""))};
garden.selectors.descendant.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return garden.selectors.selector.call(null,clojure.string.join.call(null," ",cljs.core.map.call(null,garden.selectors.css_selector,cljs.core.cons.call(null,garden.selectors.descendant.call(null,a,b),c))))};
garden.selectors.descendant.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return garden.selectors.descendant.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};garden.selectors.descendant.cljs$lang$maxFixedArity=2;
garden.selectors._PLUS_=function(a,b){return garden.selectors.selector.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" + "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b))].join(""))};
garden.selectors._=function(a,b){return garden.selectors.selector.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" ~ "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b))].join(""))};
garden.selectors._GT_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return garden.selectors._GT_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return garden.selectors._GT_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),garden.selectors._GT_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
garden.selectors._GT_.cljs$core$IFn$_invoke$arity$1=function(a){return garden.selectors.selector.call(null,a)};garden.selectors._GT_.cljs$core$IFn$_invoke$arity$2=function(a,b){return garden.selectors.selector.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" \x3e "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.selectors.css_selector.call(null,b))].join(""))};
garden.selectors._GT_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return garden.selectors.selector.call(null,clojure.string.join.call(null," \x3e ",cljs.core.map.call(null,garden.selectors.css_selector,cljs.core.cons.call(null,garden.selectors._GT_.call(null,a,b),c))))};
garden.selectors._GT_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return garden.selectors._GT_.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};garden.selectors._GT_.cljs$lang$maxFixedArity=2;garden.selectors._AMPERSAND_=garden.selectors.selector.call(null,"\x26");
garden.selectors.lex_specificity=function(a){var b=/^\#[a-zA-Z][\w-]*/,c=/^\.[a-zA-Z][\w-]*/,d=/^\[[^\]]*\]/,e=/^[a-zA-Z][\w-]/,f=/^:[a-zA-Z][\w-]*(?:\([^\)]+\))?/,g=/^::[a-zA-Z][\w-]*/;return cljs.core.some.call(null,function(b,c,d,e,f,g){return function(b){var c=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);c=cljs.core.re_find.call(null,c,a);return cljs.core.truth_(c)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null):null}}(b,c,d,e,
f,g),new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,new cljs.core.Keyword(null,"a","a",-2123407586)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,new cljs.core.Keyword(null,"b","b",1482224470)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,new cljs.core.Keyword(null,"b","b",1482224470)],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[f,new cljs.core.Keyword(null,"b","b",1482224470)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[e,new cljs.core.Keyword(null,"c","c",-1763192079)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[g,new cljs.core.Keyword(null,"c","c",-1763192079)],null)],null))};
garden.selectors.specificity_STAR_=function(a){a=garden.selectors.css_selector.call(null,a);for(var b=new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"a","a",-2123407586),0,new cljs.core.Keyword(null,"b","b",1482224470),0,new cljs.core.Keyword(null,"c","c",-1763192079),0],null);;){if(cljs.core.empty_QMARK_.call(null,a))return b;var c=garden.selectors.lex_specificity.call(null,a);if(cljs.core.truth_(c)){var d=c,c=cljs.core.nth.call(null,d,0,null),d=cljs.core.nth.call(null,d,1,null),
e=cljs.core.re_find.call(null,/^:not\(([^\)]*)\)/,c);cljs.core.truth_(e)?(d=e,cljs.core.nth.call(null,d,0,null),d=cljs.core.nth.call(null,d,1,null),a=cljs.core.subs.call(null,a,cljs.core.count.call(null,c)),b=cljs.core.merge_with.call(null,cljs.core._PLUS_,b,garden.selectors.specificity_STAR_.call(null,d))):(a=cljs.core.subs.call(null,a,cljs.core.count.call(null,c)),b=cljs.core.update_in.call(null,b,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[d],null),cljs.core.inc))}else a=
cljs.core.subs.call(null,a,1)}};
garden.selectors.specificity=function(a){if(!(null!=a?cljs.core.PROTOCOL_SENTINEL===a.garden$selectors$ICSSSelector$||(a.cljs$lang$protocol_mask$partition$?0:cljs.core.native_satisfies_QMARK_.call(null,garden.selectors.ICSSSelector,a)):cljs.core.native_satisfies_QMARK_.call(null,garden.selectors.ICSSSelector,a)))throw Error("Assert failed: (satisfies? ICSSSelector selector)");a=garden.selectors.specificity_STAR_.call(null,a);var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"a","a",-2123407586));var c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"b","b",1482224470)),b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"c","c",-1763192079));a=clojure.string.replace.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""),/^0*/,"");return cljs.core.empty_QMARK_.call(null,
a)?0:parseInt(a)};weathergen.settings={};weathergen.settings.electron=cljs.nodejs.require.call(null,"electron");weathergen.settings.remote=weathergen.settings.electron.remote;weathergen.settings.remote_if_necessary=function(a){return cljs.core._EQ_.call(null,"renderer",process.type)?weathergen.settings.remote:a};weathergen.settings.app=function(){return cljs.core._EQ_.call(null,"renderer",process.type)?weathergen.settings.remote.app:weathergen.settings.electron.app};
weathergen.settings.app_dir=weathergen.filesystem.path_combine.call(null,weathergen.settings.app.call(null).getPath("appData"),"craigandera.org","VMT");weathergen.settings.settings_path=weathergen.filesystem.path_combine.call(null,weathergen.settings.app_dir,"settings.edn");
weathergen.settings.load_settings=function(){return cljs.core.truth_(weathergen.filesystem.exists_QMARK_.call(null,weathergen.settings.settings_path))?cljs.reader.read_string.call(null,weathergen.filesystem.file_text.call(null,weathergen.settings.settings_path)):null};hoplon.storage_atom={};hoplon.storage_atom.IStorageBackend=function(){};hoplon.storage_atom._get=function(a,b){if(null!=a&&null!=a.hoplon$storage_atom$IStorageBackend$_get$arity$2)return a.hoplon$storage_atom$IStorageBackend$_get$arity$2(a,b);var c=hoplon.storage_atom._get[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=hoplon.storage_atom._get._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IStorageBackend.-get",a);};
hoplon.storage_atom._commit_BANG_=function(a,b){if(null!=a&&null!=a.hoplon$storage_atom$IStorageBackend$_commit_BANG_$arity$2)return a.hoplon$storage_atom$IStorageBackend$_commit_BANG_$arity$2(a,b);var c=hoplon.storage_atom._commit_BANG_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=hoplon.storage_atom._commit_BANG_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"IStorageBackend.-commit!",a);};
hoplon.storage_atom.StorageBackend=function(a,b){this.store=a;this.key=b};hoplon.storage_atom.StorageBackend.prototype.hoplon$storage_atom$IStorageBackend$=cljs.core.PROTOCOL_SENTINEL;hoplon.storage_atom.StorageBackend.prototype.hoplon$storage_atom$IStorageBackend$_get$arity$2=function(a,b){var c=this.store.getItem(cljs.core.pr_str.call(null,this.key));return cljs.core.truth_(c)?cljs.reader.read_string.call(null,c):b};
hoplon.storage_atom.StorageBackend.prototype.hoplon$storage_atom$IStorageBackend$_commit_BANG_$arity$2=function(a,b){return this.store.setItem(cljs.core.pr_str.call(null,this.key),cljs.core.pr_str.call(null,b))};hoplon.storage_atom.StorageBackend.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"store","store",-1142205747,null),new cljs.core.Symbol(null,"key","key",124488940,null)],null)};
hoplon.storage_atom.StorageBackend.cljs$lang$type=!0;hoplon.storage_atom.StorageBackend.cljs$lang$ctorStr="hoplon.storage-atom/StorageBackend";hoplon.storage_atom.StorageBackend.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"hoplon.storage-atom/StorageBackend")};hoplon.storage_atom.__GT_StorageBackend=function(a,b){return new hoplon.storage_atom.StorageBackend(a,b)};
hoplon.storage_atom.store=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return hoplon.storage_atom.store.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
hoplon.storage_atom.store.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){var d=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"ignore-existing","ignore-existing",1266811770)),f=function(){var a=cljs.core.truth_(e)?new cljs.core.Keyword("hoplon.storage-atom","none","hoplon.storage-atom/none",-1380531245):e;return cljs.core.truth_(a)?a:
hoplon.storage_atom._get.call(null,b,new cljs.core.Keyword("hoplon.storage-atom","none","hoplon.storage-atom/none",-1380531245))}();cljs.core._EQ_.call(null,new cljs.core.Keyword("hoplon.storage-atom","none","hoplon.storage-atom/none",-1380531245),f)?hoplon.storage_atom._commit_BANG_.call(null,b,cljs.core.deref.call(null,a)):cljs.core.reset_BANG_.call(null,a,f);cljs.core.add_watch.call(null,a,new cljs.core.Keyword("hoplon.storage-atom","storage-watch","hoplon.storage-atom/storage-watch",-690647421),
function(a,c,d,e,f){return function(a,c,d,e){return hoplon.storage_atom._commit_BANG_.call(null,b,e)}}(a,f,c,d,e));return a};hoplon.storage_atom.store.cljs$lang$maxFixedArity=2;hoplon.storage_atom.store.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return hoplon.storage_atom.store.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
hoplon.storage_atom.html_storage=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=3<b.length?new cljs.core.IndexedSeq(b.slice(3),0,null):null;return hoplon.storage_atom.html_storage.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)};
hoplon.storage_atom.html_storage.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){d=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d;d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"ignore-existing","ignore-existing",1266811770));return hoplon.storage_atom.store.call(null,a,new hoplon.storage_atom.StorageBackend(b,c),new cljs.core.Keyword(null,"ignore-existing","ignore-existing",1266811770),
d)};hoplon.storage_atom.html_storage.cljs$lang$maxFixedArity=3;hoplon.storage_atom.html_storage.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c),c=cljs.core.first.call(null,d),d=cljs.core.next.call(null,d);return hoplon.storage_atom.html_storage.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};
hoplon.storage_atom.local_storage=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return hoplon.storage_atom.local_storage.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
hoplon.storage_atom.local_storage.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"ignore-existing","ignore-existing",1266811770));return hoplon.storage_atom.html_storage.call(null,a,localStorage,b,new cljs.core.Keyword(null,"ignore-existing","ignore-existing",1266811770),c)};
hoplon.storage_atom.local_storage.cljs$lang$maxFixedArity=2;hoplon.storage_atom.local_storage.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return hoplon.storage_atom.local_storage.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
hoplon.storage_atom.session_storage=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return hoplon.storage_atom.session_storage.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
hoplon.storage_atom.session_storage.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"ignore-existing","ignore-existing",1266811770));return hoplon.storage_atom.html_storage.call(null,a,sessionStorage,b,new cljs.core.Keyword(null,"ignore-existing","ignore-existing",1266811770),c)};
hoplon.storage_atom.session_storage.cljs$lang$maxFixedArity=2;hoplon.storage_atom.session_storage.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return hoplon.storage_atom.session_storage.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};garden.types={};garden.types.CSSUnit=function(a,b,c,d,e){this.unit=a;this.magnitude=b;this.__meta=c;this.__extmap=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=2229667594;this.cljs$lang$protocol_mask$partition1$=8192};garden.types.CSSUnit.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
garden.types.CSSUnit.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "unit":return this.unit;case "magnitude":return this.magnitude;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
garden.types.CSSUnit.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#garden.types.CSSUnit{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"unit","unit",375175175),this.unit],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"magnitude","magnitude",1924274222),this.magnitude],null)],null),this.__extmap))};garden.types.CSSUnit.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;
garden.types.CSSUnit.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,2,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"unit","unit",375175175),new cljs.core.Keyword(null,"magnitude","magnitude",1924274222)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):cljs.core.nil_iter.call(null))};garden.types.CSSUnit.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};
garden.types.CSSUnit.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new garden.types.CSSUnit(this.unit,this.magnitude,this.__meta,this.__extmap,this.__hash)};garden.types.CSSUnit.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 2+cljs.core.count.call(null,this.__extmap)};garden.types.CSSUnit.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_imap.call(null,this)};
garden.types.CSSUnit.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.truth_(cljs.core.truth_(b)?this.constructor===b.constructor&&cljs.core.equiv_map.call(null,this,b):b)?!0:!1};
garden.types.CSSUnit.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"unit","unit",375175175),null,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new garden.types.CSSUnit(this.unit,
this.magnitude,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
garden.types.CSSUnit.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"unit","unit",375175175),b))?new garden.types.CSSUnit(c,this.magnitude,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222),b))?new garden.types.CSSUnit(this.unit,c,this.__meta,this.__extmap,null):new garden.types.CSSUnit(this.unit,this.magnitude,
this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
garden.types.CSSUnit.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"unit","unit",375175175),this.unit],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"magnitude","magnitude",1924274222),
this.magnitude],null)],null),this.__extmap))};garden.types.CSSUnit.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new garden.types.CSSUnit(this.unit,this.magnitude,b,this.__extmap,this.__hash)};garden.types.CSSUnit.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
garden.types.CSSUnit.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"unit","unit",2015706702,null),new cljs.core.Symbol(null,"magnitude","magnitude",-730161547,null)],null)};garden.types.CSSUnit.cljs$lang$type=!0;garden.types.CSSUnit.cljs$lang$ctorPrSeq=function(a){return cljs.core._conj.call(null,cljs.core.List.EMPTY,"garden.types/CSSUnit")};
garden.types.CSSUnit.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"garden.types/CSSUnit")};garden.types.__GT_CSSUnit=function(a,b){return new garden.types.CSSUnit(a,b,null,null,null)};
garden.types.map__GT_CSSUnit=function(a){return new garden.types.CSSUnit((new cljs.core.Keyword(null,"unit","unit",375175175)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"magnitude","magnitude",1924274222)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"unit","unit",375175175),new cljs.core.Keyword(null,"magnitude","magnitude",1924274222)),null)};
garden.types.CSSFunction=function(a,b,c,d,e){this.function$=a;this.args=b;this.__meta=c;this.__extmap=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=2229667594;this.cljs$lang$protocol_mask$partition1$=8192};garden.types.CSSFunction.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
garden.types.CSSFunction.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "function":return this.function$;case "args":return this.args;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
garden.types.CSSFunction.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#garden.types.CSSFunction{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"function","function",-2127255473),this.function$],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"args","args",1315556576),this.args],null)],null),this.__extmap))};garden.types.CSSFunction.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;
garden.types.CSSFunction.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,2,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"function","function",-2127255473),new cljs.core.Keyword(null,"args","args",1315556576)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):cljs.core.nil_iter.call(null))};
garden.types.CSSFunction.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};garden.types.CSSFunction.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new garden.types.CSSFunction(this.function$,this.args,this.__meta,this.__extmap,this.__hash)};garden.types.CSSFunction.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 2+cljs.core.count.call(null,this.__extmap)};
garden.types.CSSFunction.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_imap.call(null,this)};garden.types.CSSFunction.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.truth_(cljs.core.truth_(b)?this.constructor===b.constructor&&cljs.core.equiv_map.call(null,this,b):b)?!0:!1};
garden.types.CSSFunction.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"args","args",1315556576),null,new cljs.core.Keyword(null,"function","function",-2127255473),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new garden.types.CSSFunction(this.function$,
this.args,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
garden.types.CSSFunction.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"function","function",-2127255473),b))?new garden.types.CSSFunction(c,this.args,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"args","args",1315556576),b))?new garden.types.CSSFunction(this.function$,c,this.__meta,this.__extmap,null):new garden.types.CSSFunction(this.function$,
this.args,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
garden.types.CSSFunction.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"function","function",-2127255473),this.function$],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"args","args",1315556576),
this.args],null)],null),this.__extmap))};garden.types.CSSFunction.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new garden.types.CSSFunction(this.function$,this.args,b,this.__extmap,this.__hash)};
garden.types.CSSFunction.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
garden.types.CSSFunction.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"function","function",-486723946,null),new cljs.core.Symbol(null,"args","args",-1338879193,null)],null)};garden.types.CSSFunction.cljs$lang$type=!0;garden.types.CSSFunction.cljs$lang$ctorPrSeq=function(a){return cljs.core._conj.call(null,cljs.core.List.EMPTY,"garden.types/CSSFunction")};
garden.types.CSSFunction.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"garden.types/CSSFunction")};garden.types.__GT_CSSFunction=function(a,b){return new garden.types.CSSFunction(a,b,null,null,null)};
garden.types.map__GT_CSSFunction=function(a){return new garden.types.CSSFunction((new cljs.core.Keyword(null,"function","function",-2127255473)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"args","args",1315556576)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"function","function",-2127255473),new cljs.core.Keyword(null,"args","args",1315556576)),null)};
garden.types.CSSAtRule=function(a,b,c,d,e){this.identifier=a;this.value=b;this.__meta=c;this.__extmap=d;this.__hash=e;this.cljs$lang$protocol_mask$partition0$=2229667594;this.cljs$lang$protocol_mask$partition1$=8192};garden.types.CSSAtRule.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
garden.types.CSSAtRule.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "identifier":return this.identifier;case "value":return this.value;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
garden.types.CSSAtRule.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#garden.types.CSSAtRule{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"identifier","identifier",-805503498),this.identifier],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"value","value",305978217),this.value],null)],null),this.__extmap))};garden.types.CSSAtRule.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;
garden.types.CSSAtRule.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,2,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"identifier","identifier",-805503498),new cljs.core.Keyword(null,"value","value",305978217)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):cljs.core.nil_iter.call(null))};
garden.types.CSSAtRule.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};garden.types.CSSAtRule.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new garden.types.CSSAtRule(this.identifier,this.value,this.__meta,this.__extmap,this.__hash)};garden.types.CSSAtRule.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 2+cljs.core.count.call(null,this.__extmap)};
garden.types.CSSAtRule.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_imap.call(null,this)};garden.types.CSSAtRule.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.truth_(cljs.core.truth_(b)?this.constructor===b.constructor&&cljs.core.equiv_map.call(null,this,b):b)?!0:!1};
garden.types.CSSAtRule.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),null,new cljs.core.Keyword(null,"identifier","identifier",-805503498),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new garden.types.CSSAtRule(this.identifier,
this.value,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
garden.types.CSSAtRule.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"identifier","identifier",-805503498),b))?new garden.types.CSSAtRule(c,this.value,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"value","value",305978217),b))?new garden.types.CSSAtRule(this.identifier,c,this.__meta,this.__extmap,null):new garden.types.CSSAtRule(this.identifier,
this.value,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
garden.types.CSSAtRule.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"identifier","identifier",-805503498),this.identifier],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"value","value",
305978217),this.value],null)],null),this.__extmap))};garden.types.CSSAtRule.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new garden.types.CSSAtRule(this.identifier,this.value,b,this.__extmap,this.__hash)};
garden.types.CSSAtRule.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
garden.types.CSSAtRule.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"identifier","identifier",835028029,null),new cljs.core.Symbol(null,"value","value",1946509744,null)],null)};garden.types.CSSAtRule.cljs$lang$type=!0;garden.types.CSSAtRule.cljs$lang$ctorPrSeq=function(a){return cljs.core._conj.call(null,cljs.core.List.EMPTY,"garden.types/CSSAtRule")};
garden.types.CSSAtRule.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"garden.types/CSSAtRule")};garden.types.__GT_CSSAtRule=function(a,b){return new garden.types.CSSAtRule(a,b,null,null,null)};
garden.types.map__GT_CSSAtRule=function(a){return new garden.types.CSSAtRule((new cljs.core.Keyword(null,"identifier","identifier",-805503498)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"identifier","identifier",-805503498),new cljs.core.Keyword(null,"value","value",305978217)),null)};garden.util={};garden.util.format=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return garden.util.format.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};garden.util.format.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.apply.call(null,goog.string.format,a,b)};garden.util.format.cljs$lang$maxFixedArity=1;
garden.util.format.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return garden.util.format.cljs$core$IFn$_invoke$arity$variadic(b,a)};garden.util.ToString=function(){};
garden.util.to_str=function(a){if(null!=a&&null!=a.garden$util$ToString$to_str$arity$1)return a.garden$util$ToString$to_str$arity$1(a);var b=garden.util.to_str[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=garden.util.to_str._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"ToString.to-str",a);};cljs.core.Keyword.prototype.garden$util$ToString$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Keyword.prototype.garden$util$ToString$to_str$arity$1=function(a){return cljs.core.name.call(null,this)};garden.util.ToString._=!0;garden.util.to_str._=function(a){return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)};garden.util.ToString["null"]=!0;garden.util.to_str["null"]=function(a){return""};garden.util.as_str=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return garden.util.as_str.cljs$core$IFn$_invoke$arity$variadic(b)};
garden.util.as_str.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.apply.call(null,cljs.core.str,cljs.core.map.call(null,garden.util.to_str,a))};garden.util.as_str.cljs$lang$maxFixedArity=0;garden.util.as_str.cljs$lang$applyTo=function(a){return garden.util.as_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
garden.util.string__GT_int=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return garden.util.string__GT_int.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};garden.util.string__GT_int.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=cljs.core.nth.call(null,b,0,null);c=cljs.core.truth_(c)?c:10;return parseInt(a,c)};garden.util.string__GT_int.cljs$lang$maxFixedArity=1;
garden.util.string__GT_int.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return garden.util.string__GT_int.cljs$core$IFn$_invoke$arity$variadic(b,a)};garden.util.int__GT_string=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return garden.util.int__GT_string.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
garden.util.int__GT_string.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=cljs.core.nth.call(null,b,0,null);c=cljs.core.truth_(c)?c:10;return a.toString(c)};garden.util.int__GT_string.cljs$lang$maxFixedArity=1;garden.util.int__GT_string.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return garden.util.int__GT_string.cljs$core$IFn$_invoke$arity$variadic(b,a)};
garden.util.space_join=function(a){return clojure.string.join.call(null," ",cljs.core.map.call(null,garden.util.to_str,a))};
garden.util.comma_join=function(a){var b=function(){return function d(a){return new cljs.core.LazySeq(null,function(){for(;;){var b=cljs.core.seq.call(null,a);if(b){if(cljs.core.chunked_seq_QMARK_.call(null,b)){var e=cljs.core.chunk_first.call(null,b),h=cljs.core.count.call(null,e),k=cljs.core.chunk_buffer.call(null,h);a:for(var l=0;;)if(l<h){var m=cljs.core._nth.call(null,e,l);cljs.core.chunk_append.call(null,k,cljs.core.sequential_QMARK_.call(null,m)?garden.util.space_join.call(null,m):garden.util.to_str.call(null,
m));l+=1}else{e=!0;break a}return e?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),d.call(null,cljs.core.chunk_rest.call(null,b))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),null)}k=cljs.core.first.call(null,b);return cljs.core.cons.call(null,cljs.core.sequential_QMARK_.call(null,k)?garden.util.space_join.call(null,k):garden.util.to_str.call(null,k),d.call(null,cljs.core.rest.call(null,b)))}return null}},null,null)}.call(null,a)}();return clojure.string.join.call(null,
", ",b)};garden.util.wrap_quotes=function(a){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1('"'),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1('"')].join("")};garden.util.hash_map_QMARK_=function(a){return cljs.core.map_QMARK_.call(null,a)&&!cljs.core.record_QMARK_.call(null,a)};garden.util.rule_QMARK_=cljs.core.vector_QMARK_;garden.util.declaration_QMARK_=garden.util.hash_map_QMARK_;garden.util.at_rule_QMARK_=function(a){return a instanceof garden.types.CSSAtRule};
garden.util.at_media_QMARK_=function(a){var b=garden.util.at_rule_QMARK_.call(null,a);return cljs.core.truth_(b)?cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"identifier","identifier",-805503498)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"media","media",-1066138403)):b};
garden.util.at_keyframes_QMARK_=function(a){var b=garden.util.at_rule_QMARK_.call(null,a);return cljs.core.truth_(b)?cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"identifier","identifier",-805503498)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"keyframes","keyframes",-1437976012)):b};
garden.util.at_import_QMARK_=function(a){var b=garden.util.at_rule_QMARK_.call(null,a);return cljs.core.truth_(b)?cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"identifier","identifier",-805503498)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"import","import",-1399500709)):b};
garden.util.prefix=function(a,b){var c=garden.util.to_str.call(null,a);return cljs.core._EQ_.call(null,"-",cljs.core.last.call(null,c))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""):[cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("")};
garden.util.vendor_prefix=function(a,b){var c=garden.util.to_str.call(null,a);return cljs.core._EQ_.call(null,"-",cljs.core.first.call(null,c))?garden.util.prefix.call(null,c,b):garden.util.prefix.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(""),b)};garden.util.natural_QMARK_=function(a){return cljs.core.integer_QMARK_.call(null,a)&&0<a};garden.util.between_QMARK_=function(a,b,c){return a>=(b<c?b:c)&&a<=(b>c?b:c)};
garden.util.clip=function(a,b,c){b=a<=b?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);c=b<c?b:c;return a>c?a:c};
garden.util.average=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return garden.util.average.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};garden.util.average.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.apply.call(null,cljs.core._PLUS_,a,b,c)/(2+cljs.core.count.call(null,c))};garden.util.average.cljs$lang$maxFixedArity=2;
garden.util.average.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return garden.util.average.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};garden.util.cartesian_product=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return garden.util.cartesian_product.cljs$core$IFn$_invoke$arity$variadic(b)};
garden.util.cartesian_product.cljs$core$IFn$_invoke$arity$variadic=function(a){var b=cljs.core.vec.call(null,a),c=function(a){return function f(b){var c=function(a){return function(b){for(var c=cljs.core.count.call(null,b)-1;;){if(cljs.core._EQ_.call(null,c,-1))return null;var d=cljs.core.next.call(null,b.call(null,c));if(d)return cljs.core.assoc.call(null,b,c,d);d=c-1;b=cljs.core.assoc.call(null,b,c,a.call(null,c));c=d}}}(a);return cljs.core.truth_(b)?cljs.core.cons.call(null,cljs.core.map.call(null,
cljs.core.first,b),new cljs.core.LazySeq(null,function(a,c){return function(){return f.call(null,a.call(null,b))}}(c,a),null,null)):null}}(b);return cljs.core.every_QMARK_.call(null,cljs.core.seq,a)?new cljs.core.LazySeq(null,function(a,b){return function(){return b.call(null,a)}}(b,c),null,null):null};garden.util.cartesian_product.cljs$lang$maxFixedArity=0;
garden.util.cartesian_product.cljs$lang$applyTo=function(a){return garden.util.cartesian_product.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};garden.color={};garden.color.CSSColor=function(a,b,c,d,e,f,g,h,k,l){this.red=a;this.green=b;this.blue=c;this.hue=d;this.saturation=e;this.lightness=f;this.alpha=g;this.__meta=h;this.__extmap=k;this.__hash=l;this.cljs$lang$protocol_mask$partition0$=2229667595;this.cljs$lang$protocol_mask$partition1$=8192};garden.color.CSSColor.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
garden.color.CSSColor.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "red":return this.red;case "green":return this.green;case "blue":return this.blue;case "hue":return this.hue;case "saturation":return this.saturation;case "lightness":return this.lightness;case "alpha":return this.alpha;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
garden.color.CSSColor.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#garden.color.CSSColor{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"red","red",-969428204),this.red],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"green","green",-945526839),this.green],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"blue","blue",-622100620),this.blue],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"hue","hue",-508078848),this.hue],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"saturation","saturation",-14247929),this.saturation],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"lightness","lightness",-2040901930),this.lightness],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"alpha","alpha",-1574982441),this.alpha],null)],null),this.__extmap))};
garden.color.CSSColor.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;
garden.color.CSSColor.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,7,new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"red","red",-969428204),new cljs.core.Keyword(null,"green","green",-945526839),new cljs.core.Keyword(null,"blue","blue",-622100620),new cljs.core.Keyword(null,"hue","hue",-508078848),new cljs.core.Keyword(null,"saturation","saturation",-14247929),new cljs.core.Keyword(null,
"lightness","lightness",-2040901930),new cljs.core.Keyword(null,"alpha","alpha",-1574982441)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):cljs.core.nil_iter.call(null))};garden.color.CSSColor.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};
garden.color.CSSColor.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new garden.color.CSSColor(this.red,this.green,this.blue,this.hue,this.saturation,this.lightness,this.alpha,this.__meta,this.__extmap,this.__hash)};garden.color.CSSColor.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 7+cljs.core.count.call(null,this.__extmap)};
garden.color.CSSColor.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_imap.call(null,this)};garden.color.CSSColor.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.truth_(cljs.core.truth_(b)?this.constructor===b.constructor&&cljs.core.equiv_map.call(null,this,b):b)?!0:!1};
garden.color.CSSColor.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"hue","hue",-508078848),null,new cljs.core.Keyword(null,"saturation","saturation",-14247929),null,new cljs.core.Keyword(null,"green","green",-945526839),null,new cljs.core.Keyword(null,"red","red",-969428204),null,new cljs.core.Keyword(null,"blue","blue",-622100620),null,new cljs.core.Keyword(null,
"lightness","lightness",-2040901930),null,new cljs.core.Keyword(null,"alpha","alpha",-1574982441),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new garden.color.CSSColor(this.red,this.green,this.blue,this.hue,this.saturation,this.lightness,this.alpha,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
garden.color.CSSColor.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"red","red",-969428204),b))?new garden.color.CSSColor(c,this.green,this.blue,this.hue,this.saturation,this.lightness,this.alpha,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"green","green",-945526839),b))?new garden.color.CSSColor(this.red,c,this.blue,this.hue,this.saturation,
this.lightness,this.alpha,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"blue","blue",-622100620),b))?new garden.color.CSSColor(this.red,this.green,c,this.hue,this.saturation,this.lightness,this.alpha,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"hue","hue",-508078848),b))?new garden.color.CSSColor(this.red,this.green,this.blue,c,this.saturation,this.lightness,this.alpha,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,
new cljs.core.Keyword(null,"saturation","saturation",-14247929),b))?new garden.color.CSSColor(this.red,this.green,this.blue,this.hue,c,this.lightness,this.alpha,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"lightness","lightness",-2040901930),b))?new garden.color.CSSColor(this.red,this.green,this.blue,this.hue,this.saturation,c,this.alpha,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"alpha","alpha",-1574982441),
b))?new garden.color.CSSColor(this.red,this.green,this.blue,this.hue,this.saturation,this.lightness,c,this.__meta,this.__extmap,null):new garden.color.CSSColor(this.red,this.green,this.blue,this.hue,this.saturation,this.lightness,this.alpha,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
garden.color.CSSColor.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"red","red",-969428204),this.red],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"green","green",-945526839),this.green],
null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"blue","blue",-622100620),this.blue],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"hue","hue",-508078848),this.hue],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"saturation","saturation",-14247929),this.saturation],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"lightness","lightness",-2040901930),this.lightness],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"alpha","alpha",-1574982441),this.alpha],null)],null),this.__extmap))};
garden.color.CSSColor.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new garden.color.CSSColor(this.red,this.green,this.blue,this.hue,this.saturation,this.lightness,this.alpha,b,this.__extmap,this.__hash)};
garden.color.CSSColor.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
garden.color.CSSColor.prototype.call=function(){var a=null,b=function(a,b){return cljs.core.get.call(null,this,b)},c=function(a,b,c){return cljs.core.get.call(null,this,b,c)},a=function(a,e,f){switch(arguments.length){case 1:return this;case 2:return b.call(this,a,e);case 3:return c.call(this,a,e,f)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=function(a){return this};a.cljs$core$IFn$_invoke$arity$2=b;a.cljs$core$IFn$_invoke$arity$3=c;return a}();
garden.color.CSSColor.prototype.apply=function(a,b){return this.call.apply(this,[this].concat(cljs.core.aclone.call(null,b)))};garden.color.CSSColor.prototype.cljs$core$IFn$_invoke$arity$0=function(){return this};garden.color.CSSColor.prototype.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.get.call(null,this,a)};garden.color.CSSColor.prototype.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.get.call(null,this,a,b)};
garden.color.CSSColor.getBasis=function(){return new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"red","red",671103323,null),new cljs.core.Symbol(null,"green","green",695004688,null),new cljs.core.Symbol(null,"blue","blue",1018430907,null),new cljs.core.Symbol(null,"hue","hue",1132452679,null),new cljs.core.Symbol(null,"saturation","saturation",1626283598,null),new cljs.core.Symbol(null,"lightness","lightness",-400370403,null),new cljs.core.Symbol(null,
"alpha","alpha",65549086,null)],null)};garden.color.CSSColor.cljs$lang$type=!0;garden.color.CSSColor.cljs$lang$ctorPrSeq=function(a){return cljs.core._conj.call(null,cljs.core.List.EMPTY,"garden.color/CSSColor")};garden.color.CSSColor.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"garden.color/CSSColor")};garden.color.__GT_CSSColor=function(a,b,c,d,e,f,g){return new garden.color.CSSColor(a,b,c,d,e,f,g,null,null,null)};
garden.color.map__GT_CSSColor=function(a){return new garden.color.CSSColor((new cljs.core.Keyword(null,"red","red",-969428204)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"green","green",-945526839)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"blue","blue",-622100620)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"hue","hue",-508078848)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"saturation","saturation",-14247929)).cljs$core$IFn$_invoke$arity$1(a),
(new cljs.core.Keyword(null,"lightness","lightness",-2040901930)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"alpha","alpha",-1574982441)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"red","red",-969428204),new cljs.core.Keyword(null,"green","green",-945526839),new cljs.core.Keyword(null,"blue","blue",-622100620),new cljs.core.Keyword(null,"hue","hue",-508078848),new cljs.core.Keyword(null,"saturation","saturation",-14247929),new cljs.core.Keyword(null,
"lightness","lightness",-2040901930),new cljs.core.Keyword(null,"alpha","alpha",-1574982441)),null)};garden.color.as_color=garden.color.map__GT_CSSColor;
garden.color.rgb=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return garden.color.rgb.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 3:return garden.color.rgb.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
garden.color.rgb.cljs$core$IFn$_invoke$arity$1=function(a){var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),d=cljs.core.nth.call(null,a,2,null);if(cljs.core.every_QMARK_.call(null,function(a,b,c,d,k){return function(a){return garden.util.between_QMARK_.call(null,a,0,255)}}(a,b,c,d,a),a))return garden.color.as_color.call(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"red","red",-969428204),b,new cljs.core.Keyword(null,"green","green",-945526839),
c,new cljs.core.Keyword(null,"blue","blue",-622100620),d],null));throw cljs.core.ex_info.call(null,"RGB values must be between 0 and 255",cljs.core.PersistentArrayMap.EMPTY);};garden.color.rgb.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return garden.color.rgb.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,c],null))};garden.color.rgb.cljs$lang$maxFixedArity=3;
garden.color.rgba=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return garden.color.rgba.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 4:return garden.color.rgba.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
garden.color.rgba.cljs$core$IFn$_invoke$arity$1=function(a){var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),d=cljs.core.nth.call(null,a,2,null);a=cljs.core.nth.call(null,a,3,null);if(cljs.core.truth_(garden.util.between_QMARK_.call(null,a,0,1)))return garden.color.as_color.call(null,cljs.core.assoc.call(null,garden.color.rgb.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b,c,d],null)),new cljs.core.Keyword(null,"alpha","alpha",
-1574982441),a));throw cljs.core.ex_info.call(null,"Alpha value must be between 0 and 1",cljs.core.PersistentArrayMap.EMPTY);};garden.color.rgba.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return garden.color.rgba.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,c,d],null))};garden.color.rgba.cljs$lang$maxFixedArity=4;
garden.color.hsl=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return garden.color.hsl.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 3:return garden.color.hsl.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
garden.color.hsl.cljs$core$IFn$_invoke$arity$1=function(a){var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),d=cljs.core.nth.call(null,a,2,null);a=cljs.core.map.call(null,function(a,b,c,d){return function(a){return cljs.core.get.call(null,a,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222),a)}}(a,b,c,d),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b,c,d],null));var b=cljs.core.nth.call(null,a,0,null),e=cljs.core.nth.call(null,
a,1,null),f=cljs.core.nth.call(null,a,2,null);if(cljs.core.truth_(function(){var a=garden.util.between_QMARK_.call(null,e,0,100);return cljs.core.truth_(a)?garden.util.between_QMARK_.call(null,f,0,100):a}()))return garden.color.as_color.call(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"hue","hue",-508078848),cljs.core.mod.call(null,b,360),new cljs.core.Keyword(null,"saturation","saturation",-14247929),e,new cljs.core.Keyword(null,"lightness","lightness",-2040901930),f],
null));throw cljs.core.ex_info.call(null,"Saturation and lightness must be between 0(%) and 100(%)",cljs.core.PersistentArrayMap.EMPTY);};garden.color.hsl.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return garden.color.hsl.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,c],null))};garden.color.hsl.cljs$lang$maxFixedArity=3;
garden.color.hsla=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return garden.color.hsla.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 4:return garden.color.hsla.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
garden.color.hsla.cljs$core$IFn$_invoke$arity$1=function(a){var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),d=cljs.core.nth.call(null,a,2,null);a=cljs.core.nth.call(null,a,3,null);if(cljs.core.truth_(garden.util.between_QMARK_.call(null,a,0,1)))return garden.color.as_color.call(null,cljs.core.assoc.call(null,garden.color.hsl.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b,c,d],null)),new cljs.core.Keyword(null,"alpha","alpha",
-1574982441),a));throw cljs.core.ex_info.call(null,"Alpha value must be between 0 and 1",cljs.core.PersistentArrayMap.EMPTY);};garden.color.hsla.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return garden.color.hsla.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,c,d],null))};garden.color.hsla.cljs$lang$maxFixedArity=4;
garden.color.rgb_QMARK_=function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.every_QMARK_.call(null,a,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"green","green",-945526839),null,new cljs.core.Keyword(null,"red","red",-969428204),null,new cljs.core.Keyword(null,"blue","blue",-622100620),null],null),null))};
garden.color.hsl_QMARK_=function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.every_QMARK_.call(null,a,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"hue","hue",-508078848),null,new cljs.core.Keyword(null,"saturation","saturation",-14247929),null,new cljs.core.Keyword(null,"lightness","lightness",-2040901930),null],null),null))};
garden.color.color_QMARK_=function(a){var b=garden.color.rgb_QMARK_.call(null,a);return cljs.core.truth_(b)?b:garden.color.hsl_QMARK_.call(null,a)};garden.color.hex_re=/#?([\da-fA-F]{6}|[\da-fA-F]{3})/;garden.color.hex_QMARK_=function(a){return cljs.core.boolean$.call(null,function(){var b="string"===typeof a;return b?cljs.core.re_matches.call(null,garden.color.hex_re,a):b}())};
garden.color.hex__GT_rgb=function(a){a=cljs.core.re_matches.call(null,garden.color.hex_re,a);if(cljs.core.truth_(a)){var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),d=cljs.core._EQ_.call(null,3,cljs.core.count.call(null,c))?cljs.core.apply.call(null,cljs.core.str,cljs.core.mapcat.call(null,function(a,b,c,d){return function(a){return cljs.core._conj.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,a),a)}}(a,b,c,a),c)):c;return garden.color.rgb.call(null,cljs.core.map.call(null,
function(a,b,c,d,k){return function(a){return garden.util.string__GT_int.call(null,a,16)}}(d,a,b,c,a),cljs.core.re_seq.call(null,/[\da-fA-F]{2}/,d)))}return null};
garden.color.rgb__GT_hex=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"red","red",-969428204)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"green","green",-945526839)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"blue","blue",-622100620));a=function(a,b,c,d,e){return function(a){return clojure.string.replace.call(null,
garden.util.format.call(null,"%2s",garden.util.int__GT_string.call(null,a,16))," ","0")}}(a,b,c,d,e);return cljs.core.apply.call(null,cljs.core.str,"#",cljs.core.map.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[c,d,e],null)))};garden.color.trim_one=function(a){return 1<a?1:a};
garden.color.rgb__GT_hsl=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"red","red",-969428204)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"green","green",-945526839)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"blue","blue",-622100620));if(cljs.core.truth_(garden.color.hsl_QMARK_.call(null,b)))return b;
a=cljs.core.map.call(null,function(a,b,c,d,e,f){return function(a){return a/255}}(a,b,b,c,d,e),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[c,d,e],null));var f=cljs.core.nth.call(null,a,0,null),g=cljs.core.nth.call(null,a,1,null),h=cljs.core.nth.call(null,a,2,null),k=function(){var a=f>g?f:g;return a>h?a:h}(),l=function(){var a=f<g?f:g;return a<h?a:h}(),m=k-l;a=function(){var a=cljs.core._EQ_;if(cljs.core.truth_(a.call(null,l,k)))return 0;if(cljs.core.truth_(a.call(null,
f,k)))return(g-h)/m*60;if(cljs.core.truth_(a.call(null,g,k)))return(h-f)/m*60+120;if(cljs.core.truth_(a.call(null,h,k)))return(f-g)/m*60+240;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(k)].join(""));}();b=garden.color.trim_one.call(null,(k+l)/2);c=garden.color.trim_one.call(null,cljs.core._EQ_.call(null,k,l)?0:.5>b?m/(2*b):m/(2-2*b));return garden.color.hsl.call(null,cljs.core.mod.call(null,a,360),100*c,100*b)};
garden.color.hsl__GT_rgb=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"hue","hue",-508078848)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"saturation","saturation",-14247929)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"lightness","lightness",-2040901930));if(cljs.core.truth_(garden.color.rgb_QMARK_.call(null,
b)))return b;var f=c/360,g=d/100,h=e/100,k=.5>=h?h*(g+1):h+g-h*g,l=2*h-k,c=cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,y){return function(a){return Math.round(255*a)}}(f,g,h,k,l,a,b,b,c,d,e),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[garden.color.hue__GT_rgb.call(null,l,k,f+1/3),garden.color.hue__GT_rgb.call(null,l,k,f),garden.color.hue__GT_rgb.call(null,l,k,f-1/3)],null));a=cljs.core.nth.call(null,c,0,null);b=cljs.core.nth.call(null,c,1,null);c=cljs.core.nth.call(null,
c,2,null);return garden.color.rgb.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,c],null))};garden.color.hue__GT_rgb=function(a,b,c){c=0>c?c+1:1<c?c-1:c;return 1>6*c?a+(b-a)*c*6:1>2*c?b:2>3*c?a+(b-a)*(2/3-c)*6:a};garden.color.hsl__GT_hex=function(a){return garden.color.rgb__GT_hex.call(null,garden.color.hsl__GT_rgb.call(null,a))};garden.color.hex__GT_hsl=function(a){return garden.color.rgb__GT_hsl.call(null,garden.color.hex__GT_rgb.call(null,a))};
garden.color.percent_clip=cljs.core.partial.call(null,garden.util.clip,0,100);garden.color.rgb_clip=cljs.core.partial.call(null,garden.util.clip,0,255);
garden.color.as_hex=function(a){if(cljs.core.truth_(garden.color.hex_QMARK_.call(null,a)))return a;if(cljs.core.truth_(garden.color.rgb_QMARK_.call(null,a)))return garden.color.rgb__GT_hex.call(null,a);if(cljs.core.truth_(garden.color.hsl_QMARK_.call(null,a)))return garden.color.hsl__GT_hex.call(null,a);throw cljs.core.ex_info.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Can't convert "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" to a color.")].join(""),
cljs.core.PersistentArrayMap.EMPTY);};
garden.color.as_rgb=function(a){if(cljs.core.truth_(garden.color.rgb_QMARK_.call(null,a)))return a;if(cljs.core.truth_(garden.color.hsl_QMARK_.call(null,a)))return garden.color.hsl__GT_rgb.call(null,a);if(cljs.core.truth_(garden.color.hex_QMARK_.call(null,a)))return garden.color.hex__GT_rgb.call(null,a);if("number"===typeof a)return garden.color.rgb.call(null,cljs.core.map.call(null,garden.color.rgb_clip,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,a,a],null)));
throw cljs.core.ex_info.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Can't convert "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" to a color.")].join(""),cljs.core.PersistentArrayMap.EMPTY);};
garden.color.as_hsl=function(a){if(cljs.core.truth_(garden.color.hsl_QMARK_.call(null,a)))return a;if(cljs.core.truth_(garden.color.rgb_QMARK_.call(null,a)))return garden.color.rgb__GT_hsl.call(null,a);if(cljs.core.truth_(garden.color.hex_QMARK_.call(null,a)))return garden.color.hex__GT_hsl.call(null,a);if("number"===typeof a)return garden.color.hsl.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,garden.color.percent_clip.call(null,a),garden.color.percent_clip.call(null,
a)],null));throw cljs.core.ex_info.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Can't convert "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" to a color.")].join(""),cljs.core.PersistentArrayMap.EMPTY);};
garden.color.restrict_rgb=function(a){return cljs.core.select_keys.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"red","red",-969428204),new cljs.core.Keyword(null,"green","green",-945526839),new cljs.core.Keyword(null,"blue","blue",-622100620)],null))};
garden.color.make_color_operation=function(a){return function(){var b=null,c=function(b,c){var d=cljs.core.comp.call(null,garden.color.rgb_clip,a),e=garden.color.restrict_rgb.call(null,garden.color.as_rgb.call(null,b)),f=garden.color.restrict_rgb.call(null,garden.color.as_rgb.call(null,c));return garden.color.as_color.call(null,cljs.core.merge_with.call(null,d,e,f))},d=function(){var a=function(a,c,d){return cljs.core.reduce.call(null,b,b.call(null,a,c),d)},c=function(b,c,d){var e=null;if(2<arguments.length){for(var e=
0,f=Array(arguments.length-2);e<f.length;)f[e]=arguments[e+2],++e;e=new cljs.core.IndexedSeq(f,0,null)}return a.call(this,b,c,e)};c.cljs$lang$maxFixedArity=2;c.cljs$lang$applyTo=function(b){var c=cljs.core.first(b);b=cljs.core.next(b);var d=cljs.core.first(b);b=cljs.core.rest(b);return a(c,d,b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}(),b=function(a,b,g){switch(arguments.length){case 1:return a;case 2:return c.call(this,a,b);default:var e=null;if(2<arguments.length){for(var e=0,f=Array(arguments.length-
2);e<f.length;)f[e]=arguments[e+2],++e;e=new cljs.core.IndexedSeq(f,0,null)}return d.cljs$core$IFn$_invoke$arity$variadic(a,b,e)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$lang$maxFixedArity=2;b.cljs$lang$applyTo=d.cljs$lang$applyTo;b.cljs$core$IFn$_invoke$arity$1=function(a){return a};b.cljs$core$IFn$_invoke$arity$2=c;b.cljs$core$IFn$_invoke$arity$variadic=d.cljs$core$IFn$_invoke$arity$variadic;return b}()};garden.color.color_PLUS_=garden.color.make_color_operation.call(null,cljs.core._PLUS_);
garden.color.color_=garden.color.make_color_operation.call(null,cljs.core._);garden.color.color_STAR_=garden.color.make_color_operation.call(null,cljs.core._STAR_);garden.color.color_div=garden.color.make_color_operation.call(null,cljs.core._SLASH_);
garden.color.update_color=function(a,b,c,d){var e=(new cljs.core.Keyword(null,"magnitude","magnitude",1924274222)).cljs$core$IFn$_invoke$arity$1(d);d=cljs.core.truth_(e)?e:d;return cljs.core.update_in.call(null,garden.color.as_hsl.call(null,a),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[b],null),c,d)};
garden.color.rotate_hue=function(a,b){return garden.color.update_color.call(null,a,new cljs.core.Keyword(null,"hue","hue",-508078848),cljs.core.comp.call(null,function(a){return cljs.core.mod.call(null,a,360)},cljs.core._PLUS_),b)};garden.color.saturate=function(a,b){return garden.color.update_color.call(null,a,new cljs.core.Keyword(null,"saturation","saturation",-14247929),cljs.core.comp.call(null,garden.color.percent_clip,cljs.core._PLUS_),b)};
garden.color.desaturate=function(a,b){return garden.color.update_color.call(null,a,new cljs.core.Keyword(null,"saturation","saturation",-14247929),cljs.core.comp.call(null,garden.color.percent_clip,cljs.core._),b)};garden.color.lighten=function(a,b){return garden.color.update_color.call(null,a,new cljs.core.Keyword(null,"lightness","lightness",-2040901930),cljs.core.comp.call(null,garden.color.percent_clip,cljs.core._PLUS_),b)};
garden.color.darken=function(a,b){return garden.color.update_color.call(null,a,new cljs.core.Keyword(null,"lightness","lightness",-2040901930),cljs.core.comp.call(null,garden.color.percent_clip,cljs.core._),b)};
garden.color.invert=function(a){return garden.color.as_color.call(null,cljs.core.merge_with.call(null,cljs.core._,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"red","red",-969428204),255,new cljs.core.Keyword(null,"green","green",-945526839),255,new cljs.core.Keyword(null,"blue","blue",-622100620),255],null),garden.color.as_rgb.call(null,a)))};
garden.color.mix=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return garden.color.mix.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:return b=new cljs.core.IndexedSeq(b.slice(2),0,null),garden.color.mix.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)}};
garden.color.mix.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=garden.color.restrict_rgb.call(null,garden.color.as_rgb.call(null,a)),d=garden.color.restrict_rgb.call(null,garden.color.as_rgb.call(null,b));return garden.color.as_color.call(null,cljs.core.merge_with.call(null,garden.util.average,c,d))};garden.color.mix.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.call(null,garden.color.mix,garden.color.mix.call(null,a,b),c)};
garden.color.mix.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return garden.color.mix.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};garden.color.mix.cljs$lang$maxFixedArity=2;garden.color.complement=function(a){return garden.color.rotate_hue.call(null,a,180)};
garden.color.hue_rotations=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return garden.color.hue_rotations.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};garden.color.hue_rotations.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.map.call(null,cljs.core.partial.call(null,garden.color.rotate_hue,a),b)};garden.color.hue_rotations.cljs$lang$maxFixedArity=1;
garden.color.hue_rotations.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return garden.color.hue_rotations.cljs$core$IFn$_invoke$arity$variadic(b,a)};
garden.color.analogous=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return garden.color.analogous.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return garden.color.analogous.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
garden.color.analogous.cljs$core$IFn$_invoke$arity$1=function(a){return garden.color.analogous.call(null,a,!0)};garden.color.analogous.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.core.truth_(b)?cljs.core._PLUS_:cljs.core._;return garden.color.hue_rotations.call(null,a,0,c.call(null,30),c.call(null,60))};garden.color.analogous.cljs$lang$maxFixedArity=2;garden.color.triad=function(a){return garden.color.hue_rotations.call(null,a,0,120,240)};
garden.color.split_complement=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return garden.color.split_complement.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return garden.color.split_complement.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
garden.color.split_complement.cljs$core$IFn$_invoke$arity$1=function(a){return garden.color.split_complement.call(null,a,130)};garden.color.split_complement.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=garden.util.clip.call(null,1,179,b);return garden.color.hue_rotations.call(null,a,0,c,-c)};garden.color.split_complement.cljs$lang$maxFixedArity=2;
garden.color.tetrad=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return garden.color.tetrad.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return garden.color.tetrad.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
garden.color.tetrad.cljs$core$IFn$_invoke$arity$1=function(a){return garden.color.tetrad.call(null,a,90)};
garden.color.tetrad.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=garden.util.clip.call(null,1,90,Math.abs((new cljs.core.Keyword(null,"magnitude","magnitude",1924274222)).cljs$core$IFn$_invoke$arity$2(b,b))),c=garden.color.rotate_hue.call(null,a,c);return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[garden.color.rotate_hue.call(null,a,0),garden.color.complement.call(null,a),c,garden.color.complement.call(null,c)],null)};
garden.color.tetrad.cljs$lang$maxFixedArity=2;garden.color.shades=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return garden.color.shades.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return garden.color.shades.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
garden.color.shades.cljs$core$IFn$_invoke$arity$1=function(a){return garden.color.shades.call(null,a,10)};
garden.color.shades.cljs$core$IFn$_invoke$arity$2=function(a,b){return function(a){return function e(c){return new cljs.core.LazySeq(null,function(a){return function(){for(;;){var f=cljs.core.seq.call(null,c);if(f){if(cljs.core.chunked_seq_QMARK_.call(null,f)){var g=cljs.core.chunk_first.call(null,f),l=cljs.core.count.call(null,g),m=cljs.core.chunk_buffer.call(null,l);a:for(var n=0;;)if(n<l){var p=cljs.core._nth.call(null,g,n);cljs.core.chunk_append.call(null,m,cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,
"lightness","lightness",-2040901930),p*b));n+=1}else{g=!0;break a}return g?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,m),e.call(null,cljs.core.chunk_rest.call(null,f))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,m),null)}m=cljs.core.first.call(null,f);return cljs.core.cons.call(null,cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"lightness","lightness",-2040901930),m*b),e.call(null,cljs.core.rest.call(null,f)))}return null}}}(a),null,null)}}(garden.color.as_hsl.call(null,
a)).call(null,cljs.core.range.call(null,1,Math.floor(100/b)))};garden.color.shades.cljs$lang$maxFixedArity=2;
garden.color.color_name__GT_hex=cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"aquamarine","aquamarine",263648544),new cljs.core.Keyword(null,"lime","lime",-1796425088),new cljs.core.Keyword(null,"deepskyblue","deepskyblue",-1691758944),new cljs.core.Keyword(null,"darksalmon","darksalmon",-896495551),new cljs.core.Keyword(null,"antiquewhite","antiquewhite",-1702201183),new cljs.core.Keyword(null,"mediumturquoise","mediumturquoise",2112212449),new cljs.core.Keyword(null,"slategrey",
"slategrey",-1531406687),new cljs.core.Keyword(null,"slategray","slategray",-178672671),new cljs.core.Keyword(null,"sienna","sienna",-1559699358),new cljs.core.Keyword(null,"orange","orange",73816386),new cljs.core.Keyword(null,"navajowhite","navajowhite",1463125346),new cljs.core.Keyword(null,"lavenderblush","lavenderblush",667482818),new cljs.core.Keyword(null,"firebrick","firebrick",-214380606),new cljs.core.Keyword(null,"orangered","orangered",-1851964317),new cljs.core.Keyword(null,"palevioletred",
"palevioletred",-1198100061),new cljs.core.Keyword(null,"lawngreen","lawngreen",672111043),new cljs.core.Keyword(null,"seashell","seashell",1208259012),new cljs.core.Keyword(null,"lightpink","lightpink",808485476),new cljs.core.Keyword(null,"darkolivegreen","darkolivegreen",-2098617596),new cljs.core.Keyword(null,"aliceblue","aliceblue",-1185534108),new cljs.core.Keyword(null,"gray","gray",1013268388),new cljs.core.Keyword(null,"lightsteelblue","lightsteelblue",-209586236),new cljs.core.Keyword(null,
"whitesmoke","whitesmoke",1847137252),new cljs.core.Keyword(null,"darkgoldenrod","darkgoldenrod",-1115778811),new cljs.core.Keyword(null,"tan","tan",1273609893),new cljs.core.Keyword(null,"bisque","bisque",-862836634),new cljs.core.Keyword(null,"white","white",-483998618),new cljs.core.Keyword(null,"lightgreen","lightgreen",-1542529498),new cljs.core.Keyword(null,"darkseagreen","darkseagreen",410063911),new cljs.core.Keyword(null,"crimson","crimson",-1192060857),new cljs.core.Keyword(null,"darkslategray",
"darkslategray",348576839),new cljs.core.Keyword(null,"mistyrose","mistyrose",-619815737),new cljs.core.Keyword(null,"chocolate","chocolate",772404615),new cljs.core.Keyword(null,"yellow","yellow",-881035449),new cljs.core.Keyword(null,"cadetblue","cadetblue",1126335112),new cljs.core.Keyword(null,"navy","navy",1626342120),new cljs.core.Keyword(null,"ghostwhite","ghostwhite",-1030428888),new cljs.core.Keyword(null,"dimgrey","dimgrey",265814984),new cljs.core.Keyword(null,"seagreen","seagreen",1345424905),
new cljs.core.Keyword(null,"green","green",-945526839),new cljs.core.Keyword(null,"mediumseagreen","mediumseagreen",2130779146),new cljs.core.Keyword(null,"indigo","indigo",-280252374),new cljs.core.Keyword(null,"olivedrab","olivedrab",477000042),new cljs.core.Keyword(null,"cyan","cyan",1118839274),new cljs.core.Keyword(null,"peachpuff","peachpuff",-1932127734),new cljs.core.Keyword(null,"limegreen","limegreen",-121735638),new cljs.core.Keyword(null,"mediumslateblue","mediumslateblue",-900241526),
new cljs.core.Keyword(null,"violet","violet",-1351470549),new cljs.core.Keyword(null,"sandybrown","sandybrown",-417646484),new cljs.core.Keyword(null,"yellowgreen","yellowgreen",844595052),new cljs.core.Keyword(null,"mediumspringgreen","mediumspringgreen",-257604339),new cljs.core.Keyword(null,"steelblue","steelblue",1620562381),new cljs.core.Keyword(null,"rosybrown","rosybrown",1634897517),new cljs.core.Keyword(null,"cornflowerblue","cornflowerblue",-1713148307),new cljs.core.Keyword(null,"ivory",
"ivory",-1259182451),new cljs.core.Keyword(null,"lightgoldenrodyellow","lightgoldenrodyellow",1849392877),new cljs.core.Keyword(null,"salmon","salmon",-1093653298),new cljs.core.Keyword(null,"darkcyan","darkcyan",-1999655442),new cljs.core.Keyword(null,"peru","peru",1147074382),new cljs.core.Keyword(null,"cornsilk","cornsilk",-1628976146),new cljs.core.Keyword(null,"lightslategray","lightslategray",-1109503825),new cljs.core.Keyword(null,"blueviolet","blueviolet",887936463),new cljs.core.Keyword(null,
"forestgreen","forestgreen",1609185807),new cljs.core.Keyword(null,"lightseagreen","lightseagreen",-1503692817),new cljs.core.Keyword(null,"gold","gold",-806826416),new cljs.core.Keyword(null,"gainsboro","gainsboro",-218568880),new cljs.core.Keyword(null,"darkorchid","darkorchid",-1255783536),new cljs.core.Keyword(null,"burlywood","burlywood",1747294160),new cljs.core.Keyword(null,"lightskyblue","lightskyblue",397352944),new cljs.core.Keyword(null,"chartreuse","chartreuse",-1626529775),new cljs.core.Keyword(null,
"snow","snow",1266930033),new cljs.core.Keyword(null,"moccasin","moccasin",885646097),new cljs.core.Keyword(null,"honeydew","honeydew",297211825),new cljs.core.Keyword(null,"aqua","aqua",745022417),new cljs.core.Keyword(null,"darkred","darkred",1564487633),new cljs.core.Keyword(null,"mediumorchid","mediumorchid",114416082),new cljs.core.Keyword(null,"lightsalmon","lightsalmon",278000114),new cljs.core.Keyword(null,"saddlebrown","saddlebrown",-1556765006),new cljs.core.Keyword(null,"wheat","wheat",
783520466),new cljs.core.Keyword(null,"springgreen","springgreen",-1241565454),new cljs.core.Keyword(null,"lightslategrey","lightslategrey",1806136178),new cljs.core.Keyword(null,"darkblue","darkblue",511597490),new cljs.core.Keyword(null,"powderblue","powderblue",65928114),new cljs.core.Keyword(null,"turquoise","turquoise",876845491),new cljs.core.Keyword(null,"blanchedalmond","blanchedalmond",-1397674477),new cljs.core.Keyword(null,"papayawhip","papayawhip",-330388621),new cljs.core.Keyword(null,
"slateblue","slateblue",79472627),new cljs.core.Keyword(null,"lightblue","lightblue",-1333083084),new cljs.core.Keyword(null,"skyblue","skyblue",-2076132812),new cljs.core.Keyword(null,"red","red",-969428204),new cljs.core.Keyword(null,"lightyellow","lightyellow",1576303380),new cljs.core.Keyword(null,"blue","blue",-622100620),new cljs.core.Keyword(null,"palegreen","palegreen",1360601109),new cljs.core.Keyword(null,"greenyellow","greenyellow",1380924629),new cljs.core.Keyword(null,"khaki","khaki",
-1417823979),new cljs.core.Keyword(null,"maroon","maroon",-952210123),new cljs.core.Keyword(null,"darkgrey","darkgrey",-860992715),new cljs.core.Keyword(null,"midnightblue","midnightblue",688164725),new cljs.core.Keyword(null,"floralwhite","floralwhite",1656937461),new cljs.core.Keyword(null,"deeppink","deeppink",1577828374),new cljs.core.Keyword(null,"paleturquoise","paleturquoise",1255621750),new cljs.core.Keyword(null,"darkkhaki","darkkhaki",1599585526),new cljs.core.Keyword(null,"azure","azure",
1864287702),new cljs.core.Keyword(null,"indianred","indianred",-1829312906),new cljs.core.Keyword(null,"darkviolet","darkviolet",552615766),new cljs.core.Keyword(null,"mediumpurple","mediumpurple",-1891751018),new cljs.core.Keyword(null,"fuchsia","fuchsia",990719926),new cljs.core.Keyword(null,"coral","coral",1082484055),new cljs.core.Keyword(null,"mediumvioletred","mediumvioletred",-1767902505),new cljs.core.Keyword(null,"lemonchiffon","lemonchiffon",1115945815),new cljs.core.Keyword(null,"mediumblue",
"mediumblue",-1579936616),new cljs.core.Keyword(null,"darkmagenta","darkmagenta",-1534491240),new cljs.core.Keyword(null,"goldenrod","goldenrod",2000666104),new cljs.core.Keyword(null,"darkorange","darkorange",1453996632),new cljs.core.Keyword(null,"orchid","orchid",-1953715528),new cljs.core.Keyword(null,"plum","plum",2022177528),new cljs.core.Keyword(null,"pink","pink",393815864),new cljs.core.Keyword(null,"teal","teal",1231496088),new cljs.core.Keyword(null,"magenta","magenta",1687937081),new cljs.core.Keyword(null,
"lightgrey","lightgrey",-729897351),new cljs.core.Keyword(null,"purple","purple",-876021126),new cljs.core.Keyword(null,"dodgerblue","dodgerblue",-1678389350),new cljs.core.Keyword(null,"darkturquoise","darkturquoise",-80977765),new cljs.core.Keyword(null,"mintcream","mintcream",1437895067),new cljs.core.Keyword(null,"hotpink","hotpink",1103829723),new cljs.core.Keyword(null,"thistle","thistle",1477120028),new cljs.core.Keyword(null,"royalblue","royalblue",978912636),new cljs.core.Keyword(null,"darkgreen",
"darkgreen",2002841276),new cljs.core.Keyword(null,"darkslateblue","darkslateblue",807219996),new cljs.core.Keyword(null,"silver","silver",1044501468),new cljs.core.Keyword(null,"darkgray","darkgray",-1229776547),new cljs.core.Keyword(null,"oldlace","oldlace",-966038915),new cljs.core.Keyword(null,"mediumaquamarine","mediumaquamarine",1476241181),new cljs.core.Keyword(null,"brown","brown",1414854429),new cljs.core.Keyword(null,"lightgray","lightgray",-845833379),new cljs.core.Keyword(null,"olive",
"olive",-2080542466),new cljs.core.Keyword(null,"lightcoral","lightcoral",-988903010),new cljs.core.Keyword(null,"tomato","tomato",1086708254),new cljs.core.Keyword(null,"lightcyan","lightcyan",-481418530),new cljs.core.Keyword(null,"linen","linen",-1305214018),new cljs.core.Keyword(null,"darkslategrey","darkslategrey",-114797409),new cljs.core.Keyword(null,"lavender","lavender",-1469567809),new cljs.core.Keyword(null,"dimgray","dimgray",-412750241),new cljs.core.Keyword(null,"palegoldenrod","palegoldenrod",
-2067529985),new cljs.core.Keyword(null,"beige","beige",836725695),new cljs.core.Keyword(null,"black","black",1294279647)],"#7fffd4 #00ff00 #00bfff #e9967a #faebd7 #48d1cc #708090 #708090 #a0522d #ffa500 #ffdead #fff0f5 #b22222 #ff4500 #db7093 #7cfc00 #fff5ee #ffb6c1 #556b2f #f0f8ff #808080 #b0c4de #f5f5f5 #b8860b #d2b48c #ffe4c4 #ffffff #90ee90 #8fbc8f #dc143c #2f4f4f #ffe4e1 #d2691e #ffff00 #5f9ea0 #000080 #f8f8ff #696969 #2e8b57 #008000 #3cb371 #4b0082 #6b8e23 #00ffff #ffdab9 #32cd32 #7b68ee #ee82ee #f4a460 #9acd32 #00fa9a #4682b4 #bc8f8f #6495ed #fffff0 #fafad2 #fa8072 #008b8b #cd853f #fff8dc #778899 #8a2be2 #228b22 #20b2aa #ffd700 #dcdcdc #9932cc #deb887 #87cefa #7fff00 #fffafa #ffe4b5 #f0fff0 #00ffff #8b0000 #ba55d3 #ffa07a #8b4513 #f5deb3 #00ff7f #778899 #00008b #b0e0e6 #40e0d0 #ffebcd #ffefd5 #6a5acd #add8e6 #87ceeb #ff0000 #ffffe0 #0000ff #98fb98 #adff2f #f0e68c #800000 #a9a9a9 #191970 #fffaf0 #ff1493 #afeeee #bdb76b #f0ffff #cd5c5c #9400d3 #9370db #ff00ff #ff7f50 #c71585 #fffacd #0000cd #8b008b #daa520 #ff8c00 #da70d6 #dda0dd #ffc0cb #008080 #ff00ff #d3d3d3 #800080 #1e90ff #00ced1 #f5fffa #ff69b4 #d8bfd8 #4169e1 #006400 #483d8b #c0c0c0 #a9a9a9 #fdf5e6 #66cdaa #a52a2a #d3d3d3 #808000 #f08080 #ff6347 #e0ffff #faf0e6 #2f4f4f #e6e6fa #696969 #eee8aa #f5f5dc #000000".split(" "));
garden.color.ex_info_color_name=function(a){return cljs.core.ex_info.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Unknown color "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_str.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" see (:expected (ex-data e)) for a list of color names")].join(""),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"given","given",716253602),a,new cljs.core.Keyword(null,"expected","expected",1583670997),cljs.core.set.call(null,
cljs.core.keys.call(null,garden.color.color_name__GT_hex))],null))};garden.color.color_name__GT_color=cljs.core.memoize.call(null,function(a){return garden.color.color_name__GT_hex.call(null,a)});garden.color.from_name=function(a){var b=garden.color.color_name__GT_color.call(null,cljs.core.keyword.call(null,a));if(cljs.core.truth_(b))return b;throw garden.color.ex_info_color_name.call(null,a);};garden.color.scale_color_value=function(a,b){return a+(0<b?b/100*(100-a):a*b/100)};
garden.color.scale_lightness=function(a,b){return garden.color.update_color.call(null,a,new cljs.core.Keyword(null,"lightness","lightness",-2040901930),garden.color.scale_color_value,b)};garden.color.scale_saturation=function(a,b){return garden.color.update_color.call(null,a,new cljs.core.Keyword(null,"saturation","saturation",-14247929),garden.color.scale_color_value,b)};garden.color.decrown_hex=function(a){return clojure.string.replace.call(null,a,/^#/,"")};
garden.color.crown_hex=function(a){return cljs.core.truth_(cljs.core.re_find.call(null,/^#/,a))?a:[cljs.core.str.cljs$core$IFn$_invoke$arity$1("#"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("")};
garden.color.expand_hex=function(a){a=garden.color.decrown_hex.call(null,a);return cljs.core._EQ_.call(null,3,cljs.core.count.call(null,a))?clojure.string.join.call(null,cljs.core.mapcat.call(null,cljs.core.vector,a,a)):cljs.core._EQ_.call(null,1,cljs.core.count.call(null,a))?clojure.string.join.call(null,cljs.core.repeat.call(null,6,a)):a};garden.color.hex__GT_long=function(a){return parseInt(garden.color.expand_hex.call(null,clojure.string.replace.call(null,a,/^#/,"")),16)};
garden.color.long__GT_hex=function(a){return a.toString(16)};
garden.color.weighted_mix=function(a,b,c){var d=cljs.core.map.call(null,function(a){return a/100},new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[100-c,c],null));c=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);b=cljs.core.map.call(null,cljs.core.comp.call(null,garden.color.hex__GT_long,garden.color.as_hex),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null));a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,
b,1,null);return garden.color.crown_hex.call(null,garden.color.expand_hex.call(null,garden.color.long__GT_hex.call(null,a*c+b*d)))};garden.stylesheet={};garden.stylesheet.rule=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return garden.stylesheet.rule.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
garden.stylesheet.rule.cljs$core$IFn$_invoke$arity$variadic=function(a,b){if(a instanceof cljs.core.Keyword||"string"===typeof a||a instanceof cljs.core.Symbol)return function(){var c=function(c){return cljs.core.into.call(null,cljs.core.apply.call(null,cljs.core.vector,a,b),c)},d=function(a){var b=null;if(0<arguments.length){for(var b=0,d=Array(arguments.length-0);b<d.length;)d[b]=arguments[b+0],++b;b=new cljs.core.IndexedSeq(d,0,null)}return c.call(this,b)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=
function(a){a=cljs.core.seq(a);return c(a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}();throw cljs.core.ex_info.call(null,"Selector must be either a keyword, string, or symbol.",cljs.core.PersistentArrayMap.EMPTY);};garden.stylesheet.rule.cljs$lang$maxFixedArity=1;garden.stylesheet.rule.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return garden.stylesheet.rule.cljs$core$IFn$_invoke$arity$variadic(b,a)};
garden.stylesheet.cssfn=function(a){return function(){var b=function(b){return new garden.types.CSSFunction(a,b,null,null,null)},c=function(a){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return b.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return b(a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}()};
garden.stylesheet.at_rule=function(a,b){return new garden.types.CSSAtRule(a,b,null,null,null)};garden.stylesheet.at_font_face=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return garden.stylesheet.at_font_face.cljs$core$IFn$_invoke$arity$variadic(b)};
garden.stylesheet.at_font_face.cljs$core$IFn$_invoke$arity$variadic=function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["@font-face",a],null)};garden.stylesheet.at_font_face.cljs$lang$maxFixedArity=0;garden.stylesheet.at_font_face.cljs$lang$applyTo=function(a){return garden.stylesheet.at_font_face.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
garden.stylesheet.at_import=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return garden.stylesheet.at_import.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:return b=new cljs.core.IndexedSeq(b.slice(1),0,null),garden.stylesheet.at_import.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)}};
garden.stylesheet.at_import.cljs$core$IFn$_invoke$arity$1=function(a){return garden.stylesheet.at_rule.call(null,new cljs.core.Keyword(null,"import","import",-1399500709),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"url","url",276297046),a,new cljs.core.Keyword(null,"media-queries","media-queries",-1563277678),null],null))};
garden.stylesheet.at_import.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return garden.stylesheet.at_rule.call(null,new cljs.core.Keyword(null,"import","import",-1399500709),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"url","url",276297046),a,new cljs.core.Keyword(null,"media-queries","media-queries",-1563277678),b],null))};
garden.stylesheet.at_import.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return garden.stylesheet.at_import.cljs$core$IFn$_invoke$arity$variadic(b,a)};garden.stylesheet.at_import.cljs$lang$maxFixedArity=1;
garden.stylesheet.at_media=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return garden.stylesheet.at_media.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
garden.stylesheet.at_media.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return garden.stylesheet.at_rule.call(null,new cljs.core.Keyword(null,"media","media",-1066138403),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"media-queries","media-queries",-1563277678),a,new cljs.core.Keyword(null,"rules","rules",1198912366),b],null))};garden.stylesheet.at_media.cljs$lang$maxFixedArity=1;
garden.stylesheet.at_media.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return garden.stylesheet.at_media.cljs$core$IFn$_invoke$arity$variadic(b,a)};garden.stylesheet.at_keyframes=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return garden.stylesheet.at_keyframes.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
garden.stylesheet.at_keyframes.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return garden.stylesheet.at_rule.call(null,new cljs.core.Keyword(null,"keyframes","keyframes",-1437976012),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"identifier","identifier",-805503498),a,new cljs.core.Keyword(null,"frames","frames",1765687497),b],null))};garden.stylesheet.at_keyframes.cljs$lang$maxFixedArity=1;
garden.stylesheet.at_keyframes.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return garden.stylesheet.at_keyframes.cljs$core$IFn$_invoke$arity$variadic(b,a)};garden.stylesheet.rgb=function(a,b,c){return garden.color.rgb.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,c],null))};
garden.stylesheet.hsl=function(a,b,c){return garden.color.hsl.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,c],null))};garden.units={};garden.units.length_units=cljs.core.PersistentHashSet.createAsIfByAssoc([new cljs.core.Keyword(null,"mm","mm",-1652850560),new cljs.core.Keyword(null,"pt","pt",556460867),new cljs.core.Keyword(null,"px","px",281329899),new cljs.core.Keyword(null,"pc","pc",512913453),cljs.core.keyword.call(null,"%"),new cljs.core.Keyword(null,"cm","cm",540591536),new cljs.core.Keyword(null,"in","in",-1531184865)]);
garden.units.angular_units=new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"deg","deg",-681556081),null,new cljs.core.Keyword(null,"turn","turn",75759344),null,new cljs.core.Keyword(null,"rad","rad",-833983012),null,new cljs.core.Keyword(null,"grad","grad",1125187229),null],null),null);
garden.units.time_units=new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"s","s",1705939918),null,new cljs.core.Keyword(null,"ms","ms",-1152709733),null],null),null);garden.units.frequency_units=new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"kHz","kHz",240398466),null,new cljs.core.Keyword(null,"Hz","Hz",-1958732916),null],null),null);
garden.units.resolution_units=new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"dppx","dppx",1920508843),null,new cljs.core.Keyword(null,"dpcm","dpcm",-1187601236),null,new cljs.core.Keyword(null,"dpi","dpi",-986162832),null],null),null);garden.units.unit_QMARK_=function(a){return a instanceof garden.types.CSSUnit};
garden.units.length_QMARK_=function(a){var b=garden.units.unit_QMARK_.call(null,a);return cljs.core.truth_(b)?cljs.core.contains_QMARK_.call(null,garden.units.length_units,(new cljs.core.Keyword(null,"unit","unit",375175175)).cljs$core$IFn$_invoke$arity$1(a)):b};
garden.units.angle_QMARK_=function(a){var b=garden.units.unit_QMARK_.call(null,a);return cljs.core.truth_(b)?cljs.core.contains_QMARK_.call(null,garden.units.angular_units,(new cljs.core.Keyword(null,"unit","unit",375175175)).cljs$core$IFn$_invoke$arity$1(a)):b};
garden.units.time_QMARK_=function(a){var b=garden.units.unit_QMARK_.call(null,a);return cljs.core.truth_(b)?cljs.core.contains_QMARK_.call(null,garden.units.time_units,(new cljs.core.Keyword(null,"unit","unit",375175175)).cljs$core$IFn$_invoke$arity$1(a)):b};
garden.units.frequency_QMARK_=function(a){var b=garden.units.unit_QMARK_.call(null,a);return cljs.core.truth_(b)?cljs.core.contains_QMARK_.call(null,garden.units.frequency_units,(new cljs.core.Keyword(null,"unit","unit",375175175)).cljs$core$IFn$_invoke$arity$1(a)):b};
garden.units.resolution_QMARK_=function(a){var b=garden.units.unit_QMARK_.call(null,a);return cljs.core.truth_(b)?cljs.core.contains_QMARK_.call(null,garden.units.resolution_units,(new cljs.core.Keyword(null,"unit","unit",375175175)).cljs$core$IFn$_invoke$arity$1(a)):b};
garden.units.conversions=cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"mm","mm",-1652850560),new cljs.core.Keyword(null,"kHz","kHz",240398466),new cljs.core.Keyword(null,"pt","pt",556460867),new cljs.core.Keyword(null,"px","px",281329899),new cljs.core.Keyword(null,"rem","rem",-976484757),new cljs.core.Keyword(null,"em","em",707813035),new cljs.core.Keyword(null,"Hz","Hz",-1958732916),new cljs.core.Keyword(null,"pc","pc",512913453),cljs.core.keyword.call(null,"%"),new cljs.core.Keyword(null,
"s","s",1705939918),new cljs.core.Keyword(null,"deg","deg",-681556081),new cljs.core.Keyword(null,"cm","cm",540591536),new cljs.core.Keyword(null,"turn","turn",75759344),new cljs.core.Keyword(null,"ms","ms",-1152709733),new cljs.core.Keyword(null,"rad","rad",-833983012),new cljs.core.Keyword(null,"grad","grad",1125187229),new cljs.core.Keyword(null,"in","in",-1531184865)],[new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"mm","mm",-1652850560),1,new cljs.core.Keyword(null,"pt",
"pt",556460867),2.83464567,new cljs.core.Keyword(null,"px","px",281329899),3.7795275591],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"kHz","kHz",240398466),1],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"pt","pt",556460867),1,new cljs.core.Keyword(null,"px","px",281329899),1.3333333333],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"px","px",281329899),1],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"rem","rem",-976484757),1],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"em","em",707813035),1],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"Hz","Hz",-1958732916),1,new cljs.core.Keyword(null,"kHz","kHz",240398466),.001],null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mm","mm",-1652850560),4.23333333,new cljs.core.Keyword(null,"pc","pc",512913453),1,new cljs.core.Keyword(null,"pt","pt",556460867),12,new cljs.core.Keyword(null,
"px","px",281329899),16],null),cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.keyword.call(null,"%"),1]),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"ms","ms",-1152709733),1E3,new cljs.core.Keyword(null,"s","s",1705939918),1],null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"deg","deg",-681556081),1,new cljs.core.Keyword(null,"grad","grad",1125187229),1.111111111,new cljs.core.Keyword(null,"rad","rad",-833983012),.0174532925,new cljs.core.Keyword(null,
"turn","turn",75759344),.002777778],null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"cm","cm",540591536),1,new cljs.core.Keyword(null,"mm","mm",-1652850560),10,new cljs.core.Keyword(null,"pc","pc",512913453),2.36220473,new cljs.core.Keyword(null,"pt","pt",556460867),28.3464567,new cljs.core.Keyword(null,"px","px",281329899),37.795275591],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"turn","turn",75759344),1],null),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"ms","ms",-1152709733),1],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"rad","rad",-833983012),1,new cljs.core.Keyword(null,"turn","turn",75759344),.159154943],null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"grad","grad",1125187229),1,new cljs.core.Keyword(null,"rad","rad",-833983012),63.661977237,new cljs.core.Keyword(null,"turn","turn",75759344),.0025],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,
"cm","cm",540591536),2.54,new cljs.core.Keyword(null,"in","in",-1531184865),1,new cljs.core.Keyword(null,"mm","mm",-1652850560),25.4,new cljs.core.Keyword(null,"pc","pc",512913453),6,new cljs.core.Keyword(null,"pt","pt",556460867),72,new cljs.core.Keyword(null,"px","px",281329899),96],null)]);garden.units.convertable_QMARK_=function(a){return cljs.core.contains_QMARK_.call(null,garden.units.conversions,a)};
garden.units.convert=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222)),c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"unit","unit",375175175));if(cljs.core.every_QMARK_.call(null,garden.units.convertable_QMARK_,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[c,b],null))){var e=cljs.core.get_in.call(null,garden.units.conversions,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null)),f=cljs.core.get_in.call(null,garden.units.conversions,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,c],null));if(cljs.core.truth_(e))return new garden.types.CSSUnit(b,e*d,null,null,null);if(cljs.core.truth_(f))return new garden.types.CSSUnit(b,d/f,null,null,null);throw cljs.core.ex_info.call(null,garden.util.format.call(null,
"Can't convert %s to %s",cljs.core.name.call(null,c),cljs.core.name.call(null,b)),cljs.core.PersistentArrayMap.EMPTY);}d=cljs.core.first.call(null,cljs.core.drop_while.call(null,garden.units.convertable_QMARK_,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b],null)));throw cljs.core.ex_info.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Inconvertible unit "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.name.call(null,d))].join(""),cljs.core.PersistentArrayMap.EMPTY);
};garden.units.unit_re=/([+-]?\d+(?:\.?\d+)?)(p[xtc]|in|[cm]m|%|r?em|ex|ch|v(?:[wh]|m(?:in|ax))|deg|g?rad|turn|m?s|k?Hz|dp(?:i|cm|px))/;
garden.units.read_unit=function(a){var b=cljs.core.re_matches.call(null,garden.units.unit_re,a);return cljs.core.truth_(b)?(cljs.core.nth.call(null,b,0,null),a=cljs.core.nth.call(null,b,1,null),b=cljs.core.nth.call(null,b,2,null),b=cljs.core.keyword.call(null,b),a=cljs.core.truth_(a)?cljs.reader.read_string.call(null,a):0,new garden.types.CSSUnit(b,a,null,null,null)):null};
garden.units.make_unit_predicate=function(a){return function(b){var c=garden.units.unit_QMARK_.call(null,b);return cljs.core.truth_(c)?cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"unit","unit",375175175)).cljs$core$IFn$_invoke$arity$1(b),a):c}};
garden.units.make_unit_fn=function(a){return function(b){if("number"===typeof b)return new garden.types.CSSUnit(a,b,null,null,null);if(cljs.core.truth_(garden.units.unit_QMARK_.call(null,b)))return cljs.core._EQ_.call(null,a.call(null,b),a)?b:garden.units.convert.call(null,b,a);b=garden.util.format.call(null,"Unable to convert from %s to %s",cljs.core.type.getName(),cljs.core.name.call(null,a));var c=new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"given","given",716253602),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"type","type",1174270348),cljs.core.type,new cljs.core.Keyword(null,"unit","unit",375175175),a],null)],null);throw cljs.core.ex_info.call(null,b,c);}};
garden.units.make_unit_adder=function(a){return function(a){return function(){var b=null,d=function(){return a.call(null,0)},e=function(b){return a.call(null,b)},f=function(b,c){var d=a.call(null,b),d=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d,d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222)),e=a.call(null,c),e=null!=e&&(e.cljs$lang$protocol_mask$partition0$&
64||cljs.core.PROTOCOL_SENTINEL===e.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,e):e,e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222));return a.call(null,d+e)},g=function(){var a=function(a,c,d){return cljs.core.reduce.call(null,b,b.call(null,a,c),d)},c=function(b,c,d){var e=null;if(2<arguments.length){for(var e=0,f=Array(arguments.length-2);e<f.length;)f[e]=arguments[e+2],++e;e=new cljs.core.IndexedSeq(f,0,null)}return a.call(this,b,c,e)};
c.cljs$lang$maxFixedArity=2;c.cljs$lang$applyTo=function(b){var c=cljs.core.first(b);b=cljs.core.next(b);var d=cljs.core.first(b);b=cljs.core.rest(b);return a(c,d,b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}(),b=function(a,b,c){switch(arguments.length){case 0:return d.call(this);case 1:return e.call(this,a);case 2:return f.call(this,a,b);default:var h=null;if(2<arguments.length){for(var h=0,k=Array(arguments.length-2);h<k.length;)k[h]=arguments[h+2],++h;h=new cljs.core.IndexedSeq(k,0,null)}return g.cljs$core$IFn$_invoke$arity$variadic(a,
b,h)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$lang$maxFixedArity=2;b.cljs$lang$applyTo=g.cljs$lang$applyTo;b.cljs$core$IFn$_invoke$arity$0=d;b.cljs$core$IFn$_invoke$arity$1=e;b.cljs$core$IFn$_invoke$arity$2=f;b.cljs$core$IFn$_invoke$arity$variadic=g.cljs$core$IFn$_invoke$arity$variadic;return b}()}(garden.units.make_unit_fn.call(null,a))};
garden.units.make_unit_subtractor=function(a){return function(a){return function(){var b=null,d=function(b){return a.call(null,-b)},e=function(b,c){var d=a.call(null,b),d=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d,d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222)),e=a.call(null,c),e=null!=e&&(e.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
e.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,e):e,e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222));return a.call(null,d-e)},f=function(){var a=function(a,c,d){return cljs.core.reduce.call(null,b,b.call(null,a,c),d)},c=function(b,c,d){var e=null;if(2<arguments.length){for(var e=0,f=Array(arguments.length-2);e<f.length;)f[e]=arguments[e+2],++e;e=new cljs.core.IndexedSeq(f,0,null)}return a.call(this,b,c,e)};c.cljs$lang$maxFixedArity=2;c.cljs$lang$applyTo=
function(b){var c=cljs.core.first(b);b=cljs.core.next(b);var d=cljs.core.first(b);b=cljs.core.rest(b);return a(c,d,b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}(),b=function(a,b,c){switch(arguments.length){case 1:return d.call(this,a);case 2:return e.call(this,a,b);default:var g=null;if(2<arguments.length){for(var g=0,h=Array(arguments.length-2);g<h.length;)h[g]=arguments[g+2],++g;g=new cljs.core.IndexedSeq(h,0,null)}return f.cljs$core$IFn$_invoke$arity$variadic(a,b,g)}throw Error("Invalid arity: "+
(arguments.length-1));};b.cljs$lang$maxFixedArity=2;b.cljs$lang$applyTo=f.cljs$lang$applyTo;b.cljs$core$IFn$_invoke$arity$1=d;b.cljs$core$IFn$_invoke$arity$2=e;b.cljs$core$IFn$_invoke$arity$variadic=f.cljs$core$IFn$_invoke$arity$variadic;return b}()}(garden.units.make_unit_fn.call(null,a))};
garden.units.make_unit_multiplier=function(a){return function(a){return function(){var b=null,d=function(){return a.call(null,1)},e=function(b){return a.call(null,b)},f=function(b,c){var d=a.call(null,b),d=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d,d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222)),e=a.call(null,c),e=null!=e&&(e.cljs$lang$protocol_mask$partition0$&
64||cljs.core.PROTOCOL_SENTINEL===e.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,e):e,e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222));return a.call(null,d*e)},g=function(){var a=function(a,c,d){return cljs.core.reduce.call(null,b,b.call(null,a,c),d)},c=function(b,c,d){var e=null;if(2<arguments.length){for(var e=0,f=Array(arguments.length-2);e<f.length;)f[e]=arguments[e+2],++e;e=new cljs.core.IndexedSeq(f,0,null)}return a.call(this,b,c,e)};
c.cljs$lang$maxFixedArity=2;c.cljs$lang$applyTo=function(b){var c=cljs.core.first(b);b=cljs.core.next(b);var d=cljs.core.first(b);b=cljs.core.rest(b);return a(c,d,b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}(),b=function(a,b,c){switch(arguments.length){case 0:return d.call(this);case 1:return e.call(this,a);case 2:return f.call(this,a,b);default:var h=null;if(2<arguments.length){for(var h=0,k=Array(arguments.length-2);h<k.length;)k[h]=arguments[h+2],++h;h=new cljs.core.IndexedSeq(k,0,null)}return g.cljs$core$IFn$_invoke$arity$variadic(a,
b,h)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$lang$maxFixedArity=2;b.cljs$lang$applyTo=g.cljs$lang$applyTo;b.cljs$core$IFn$_invoke$arity$0=d;b.cljs$core$IFn$_invoke$arity$1=e;b.cljs$core$IFn$_invoke$arity$2=f;b.cljs$core$IFn$_invoke$arity$variadic=g.cljs$core$IFn$_invoke$arity$variadic;return b}()}(garden.units.make_unit_fn.call(null,a))};
garden.units.make_unit_divider=function(a){return function(a){return function(){var b=null,d=function(b){return a.call(null,1/b)},e=function(b,c){var d=a.call(null,b),d=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d,d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222)),e=a.call(null,c),e=null!=e&&(e.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
e.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,e):e,e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222));return a.call(null,d/e)},f=function(){var a=function(a,c,d){return cljs.core.reduce.call(null,b,b.call(null,a,c),d)},c=function(b,c,d){var e=null;if(2<arguments.length){for(var e=0,f=Array(arguments.length-2);e<f.length;)f[e]=arguments[e+2],++e;e=new cljs.core.IndexedSeq(f,0,null)}return a.call(this,b,c,e)};c.cljs$lang$maxFixedArity=2;c.cljs$lang$applyTo=
function(b){var c=cljs.core.first(b);b=cljs.core.next(b);var d=cljs.core.first(b);b=cljs.core.rest(b);return a(c,d,b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}(),b=function(a,b,c){switch(arguments.length){case 1:return d.call(this,a);case 2:return e.call(this,a,b);default:var g=null;if(2<arguments.length){for(var g=0,h=Array(arguments.length-2);g<h.length;)h[g]=arguments[g+2],++g;g=new cljs.core.IndexedSeq(h,0,null)}return f.cljs$core$IFn$_invoke$arity$variadic(a,b,g)}throw Error("Invalid arity: "+
(arguments.length-1));};b.cljs$lang$maxFixedArity=2;b.cljs$lang$applyTo=f.cljs$lang$applyTo;b.cljs$core$IFn$_invoke$arity$1=d;b.cljs$core$IFn$_invoke$arity$2=e;b.cljs$core$IFn$_invoke$arity$variadic=f.cljs$core$IFn$_invoke$arity$variadic;return b}()}(garden.units.make_unit_fn.call(null,a))};garden.units.cm=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"cm","cm",540591536));garden.units.cm_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"cm","cm",540591536));
garden.units.cm_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"cm","cm",540591536));garden.units.cm_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"cm","cm",540591536));garden.units.cm_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"cm","cm",540591536));garden.units.cm_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"cm","cm",540591536));
garden.units.mm=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"mm","mm",-1652850560));garden.units.mm_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"mm","mm",-1652850560));garden.units.mm_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"mm","mm",-1652850560));garden.units.mm_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"mm","mm",-1652850560));
garden.units.mm_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"mm","mm",-1652850560));garden.units.mm_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"mm","mm",-1652850560));garden.units.in$=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"in","in",-1531184865));garden.units.in_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"in","in",-1531184865));
garden.units.in_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"in","in",-1531184865));garden.units.in_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"in","in",-1531184865));garden.units.in_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"in","in",-1531184865));garden.units.in_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"in","in",-1531184865));
garden.units.px=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"px","px",281329899));garden.units.px_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"px","px",281329899));garden.units.px_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"px","px",281329899));garden.units.px_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"px","px",281329899));
garden.units.px_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"px","px",281329899));garden.units.px_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"px","px",281329899));garden.units.pt=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"pt","pt",556460867));garden.units.pt_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"pt","pt",556460867));
garden.units.pt_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"pt","pt",556460867));garden.units.pt_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"pt","pt",556460867));garden.units.pt_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"pt","pt",556460867));garden.units.pt_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"pt","pt",556460867));
garden.units.pc=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"pc","pc",512913453));garden.units.pc_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"pc","pc",512913453));garden.units.pc_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"pc","pc",512913453));garden.units.pc_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"pc","pc",512913453));
garden.units.pc_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"pc","pc",512913453));garden.units.pc_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"pc","pc",512913453));garden.units.percent=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"%","%",1704198600));garden.units.percent_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"%","%",1704198600));
garden.units.percent_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"%","%",1704198600));garden.units.percent_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"%","%",1704198600));garden.units.percent_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"%","%",1704198600));garden.units.percent_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"%","%",1704198600));
garden.units.em=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"em","em",707813035));garden.units.em_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"em","em",707813035));garden.units.em_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"em","em",707813035));garden.units.em_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"em","em",707813035));
garden.units.em_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"em","em",707813035));garden.units.em_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"em","em",707813035));garden.units.ex=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"ex","ex",-1413771341));garden.units.ex_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"ex","ex",-1413771341));
garden.units.ex_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"ex","ex",-1413771341));garden.units.ex_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"ex","ex",-1413771341));garden.units.ex_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"ex","ex",-1413771341));garden.units.ex_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"ex","ex",-1413771341));
garden.units.ch=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"ch","ch",-554717905));garden.units.ch_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"ch","ch",-554717905));garden.units.ch_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"ch","ch",-554717905));garden.units.ch_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"ch","ch",-554717905));
garden.units.ch_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"ch","ch",-554717905));garden.units.ch_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"ch","ch",-554717905));garden.units.rem=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"rem","rem",-976484757));garden.units.rem_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"rem","rem",-976484757));
garden.units.rem_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"rem","rem",-976484757));garden.units.rem_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"rem","rem",-976484757));garden.units.rem_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"rem","rem",-976484757));garden.units.rem_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"rem","rem",-976484757));
garden.units.vw=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"vw","vw",1941049135));garden.units.vw_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"vw","vw",1941049135));garden.units.vw_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"vw","vw",1941049135));garden.units.vw_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"vw","vw",1941049135));
garden.units.vw_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"vw","vw",1941049135));garden.units.vw_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"vw","vw",1941049135));garden.units.vh=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"vh","vh",79552846));garden.units.vh_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"vh","vh",79552846));
garden.units.vh_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"vh","vh",79552846));garden.units.vh_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"vh","vh",79552846));garden.units.vh_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"vh","vh",79552846));garden.units.vh_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"vh","vh",79552846));
garden.units.vmin=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"vmin","vmin",446546816));garden.units.vmin_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"vmin","vmin",446546816));garden.units.vmin_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"vmin","vmin",446546816));garden.units.vmin_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"vmin","vmin",446546816));
garden.units.vmin_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"vmin","vmin",446546816));garden.units.vmin_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"vmin","vmin",446546816));garden.units.vmax=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"vmax","vmax",-1435213544));garden.units.vmax_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"vmax","vmax",-1435213544));
garden.units.vmax_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"vmax","vmax",-1435213544));garden.units.vmax_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"vmax","vmax",-1435213544));garden.units.vmax_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"vmax","vmax",-1435213544));garden.units.vmax_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"vmax","vmax",-1435213544));
garden.units.deg=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"deg","deg",-681556081));garden.units.deg_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"deg","deg",-681556081));garden.units.deg_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"deg","deg",-681556081));garden.units.deg_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"deg","deg",-681556081));
garden.units.deg_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"deg","deg",-681556081));garden.units.deg_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"deg","deg",-681556081));garden.units.grad=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"grad","grad",1125187229));garden.units.grad_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"grad","grad",1125187229));
garden.units.grad_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"grad","grad",1125187229));garden.units.grad_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"grad","grad",1125187229));garden.units.grad_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"grad","grad",1125187229));garden.units.grad_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"grad","grad",1125187229));
garden.units.rad=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"rad","rad",-833983012));garden.units.rad_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"rad","rad",-833983012));garden.units.rad_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"rad","rad",-833983012));garden.units.rad_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"rad","rad",-833983012));
garden.units.rad_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"rad","rad",-833983012));garden.units.rad_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"rad","rad",-833983012));garden.units.turn=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"turn","turn",75759344));garden.units.turn_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"turn","turn",75759344));
garden.units.turn_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"turn","turn",75759344));garden.units.turn_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"turn","turn",75759344));garden.units.turn_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"turn","turn",75759344));garden.units.turn_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"turn","turn",75759344));
garden.units.s=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"s","s",1705939918));garden.units.s_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"s","s",1705939918));garden.units.s_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"s","s",1705939918));garden.units.s_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"s","s",1705939918));
garden.units.s_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"s","s",1705939918));garden.units.s_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"s","s",1705939918));garden.units.ms=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"ms","ms",-1152709733));garden.units.ms_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"ms","ms",-1152709733));
garden.units.ms_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"ms","ms",-1152709733));garden.units.ms_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"ms","ms",-1152709733));garden.units.ms_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"ms","ms",-1152709733));garden.units.ms_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"ms","ms",-1152709733));
garden.units.Hz=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"Hz","Hz",-1958732916));garden.units.Hz_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"Hz","Hz",-1958732916));garden.units.Hz_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"Hz","Hz",-1958732916));garden.units.Hz_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"Hz","Hz",-1958732916));
garden.units.Hz_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"Hz","Hz",-1958732916));garden.units.Hz_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"Hz","Hz",-1958732916));garden.units.kHz=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"kHz","kHz",240398466));garden.units.kHz_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"kHz","kHz",240398466));
garden.units.kHz_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"kHz","kHz",240398466));garden.units.kHz_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"kHz","kHz",240398466));garden.units.kHz_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"kHz","kHz",240398466));garden.units.kHz_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"kHz","kHz",240398466));
garden.units.dpi=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"dpi","dpi",-986162832));garden.units.dpi_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"dpi","dpi",-986162832));garden.units.dpi_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"dpi","dpi",-986162832));garden.units.dpi_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"dpi","dpi",-986162832));
garden.units.dpi_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"dpi","dpi",-986162832));garden.units.dpi_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"dpi","dpi",-986162832));garden.units.dpcm=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"dpcm","dpcm",-1187601236));garden.units.dpcm_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"dpcm","dpcm",-1187601236));
garden.units.dpcm_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"dpcm","dpcm",-1187601236));garden.units.dpcm_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"dpcm","dpcm",-1187601236));garden.units.dpcm_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"dpcm","dpcm",-1187601236));garden.units.dpcm_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"dpcm","dpcm",-1187601236));
garden.units.dppx=garden.units.make_unit_fn.call(null,new cljs.core.Keyword(null,"dppx","dppx",1920508843));garden.units.dppx_QMARK_=garden.units.make_unit_predicate.call(null,new cljs.core.Keyword(null,"dppx","dppx",1920508843));garden.units.dppx_PLUS_=garden.units.make_unit_adder.call(null,new cljs.core.Keyword(null,"dppx","dppx",1920508843));garden.units.dppx_=garden.units.make_unit_subtractor.call(null,new cljs.core.Keyword(null,"dppx","dppx",1920508843));
garden.units.dppx_STAR_=garden.units.make_unit_multiplier.call(null,new cljs.core.Keyword(null,"dppx","dppx",1920508843));garden.units.dppx_div=garden.units.make_unit_divider.call(null,new cljs.core.Keyword(null,"dppx","dppx",1920508843));garden.compression={};garden.compression.token_fn=function(a){var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null);return function(a,b,c){return function(a){a=cljs.core.re_find.call(null,c,a);return cljs.core.truth_(a)?new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"tag","tag",-1290361223),b,new cljs.core.Keyword(null,"chunk","chunk",-1191159620),a,new cljs.core.Keyword(null,"size","size",1098693007),cljs.core.count.call(null,a)],null):null}}(a,b,c)};
garden.compression.tokenizer=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return garden.compression.tokenizer.cljs$core$IFn$_invoke$arity$variadic(b)};
garden.compression.tokenizer.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(a){return function(b){return cljs.core.some.call(null,function(a){return function(a){return a.call(null,b)}}(a),a)}}(cljs.core.map.call(null,garden.compression.token_fn,a))};garden.compression.tokenizer.cljs$lang$maxFixedArity=0;garden.compression.tokenizer.cljs$lang$applyTo=function(a){return garden.compression.tokenizer.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
garden.compression.stylesheet_tokenizer=garden.compression.tokenizer.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"string","string",-1989541586),/^\"(?:\\.|[^\"])*\"/],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"r-brace","r-brace",-1335738887),/^\s*\{\s*/],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"l-brace","l-brace",613286657),/^;?\s*}/],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"r-paren","r-paren",-1688338021),/^\s*\(\s*/],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"l-paren","l-paren",2052672514),/^\s*\)/],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"comma","comma",1699024745),/^,\s*/],
null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"colon","colon",-965200945),/^:\s*/],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"semicolon","semicolon",797086549),/^;/],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"space+","space+",378127624),/^ +/],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"white-space+","white-space+",1452157162),/^\s+/],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"any","any",1705907423),/^./],null));
garden.compression.compress_stylesheet=function(a){for(var b="";;){var c=garden.compression.stylesheet_tokenizer.call(null,a);if(cljs.core.truth_(c)){var c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"tag","tag",-1290361223)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"chunk","chunk",-1191159620)),c=cljs.core.get.call(null,c,
new cljs.core.Keyword(null,"size","size",1098693007));a=cljs.core.subs.call(null,a,c);b=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1(function(){var a=d;switch(a instanceof cljs.core.Keyword?a.fqn:null){case "l-brace":return"}";case "l-paren":return")";case "space+":return" ";case "comma":return",";case "white-space+":return"";case "string":return e;case "colon":return":";case "semi-comma":return";";case "r-brace":return"{";case "r-paren":return"(";default:return e}}())].join("")}else return b}};garden.compiler={};
garden.compiler._STAR_flags_STAR_=new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"pretty-print?","pretty-print?",1932217158),!0,new cljs.core.Keyword(null,"preamble","preamble",1641040241),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,"output-to","output-to",-965533968),null,new cljs.core.Keyword(null,"vendors","vendors",-153040496),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,"auto-prefix","auto-prefix",1484803466),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,
"media-expressions","media-expressions",1920421643),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"nesting-behavior","nesting-behavior",-1555995755),new cljs.core.Keyword(null,"default","default",-1987822328)],null)],null);
garden.compiler.media_expression_behavior=new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"merge","merge",-1804319409),function(a,b){return cljs.core.merge.call(null,b,a)},new cljs.core.Keyword(null,"default","default",-1987822328),function(a,b){return a}],null);garden.compiler._STAR_selector_context_STAR_=null;garden.compiler._STAR_media_query_context_STAR_=null;
var ret__24604__auto___36033=function(){garden.compiler.with_selector_context=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=3<b.length?new cljs.core.IndexedSeq(b.slice(3),0,null):null;return garden.compiler.with_selector_context.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)};garden.compiler.with_selector_context.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return cljs.core.sequence.call(null,cljs.core.seq.call(null,
cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","binding","cljs.core/binding",2050379843,null)),function(){var a=cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("garden.compiler","*selector-context*","garden.compiler/*selector-context*",1030088346,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,c)))));return cljs.core._conj.call(null,
cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"do","do",1686842252,null)),d)));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}())))};garden.compiler.with_selector_context.cljs$lang$maxFixedArity=3;garden.compiler.with_selector_context.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,
c);var d=cljs.core.next.call(null,c),c=cljs.core.first.call(null,d),d=cljs.core.next.call(null,d);return garden.compiler.with_selector_context.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};return null}();garden.compiler.with_selector_context.cljs$lang$macro=!0;
var ret__24604__auto___36041=function(){garden.compiler.with_media_query_context=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=3<b.length?new cljs.core.IndexedSeq(b.slice(3),0,null):null;return garden.compiler.with_media_query_context.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)};garden.compiler.with_media_query_context.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){return cljs.core.sequence.call(null,cljs.core.seq.call(null,
cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","binding","cljs.core/binding",2050379843,null)),function(){var a=cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("garden.compiler","*media-query-context*","garden.compiler/*media-query-context*",-1783105708,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,c)))));return cljs.core._conj.call(null,
cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"do","do",1686842252,null)),d)));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}())))};garden.compiler.with_media_query_context.cljs$lang$maxFixedArity=3;garden.compiler.with_media_query_context.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,
c);var d=cljs.core.next.call(null,c),c=cljs.core.first.call(null,d),d=cljs.core.next.call(null,d);return garden.compiler.with_media_query_context.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};return null}();garden.compiler.with_media_query_context.cljs$lang$macro=!0;garden.compiler.vendors=function(){return cljs.core.seq.call(null,(new cljs.core.Keyword(null,"vendors","vendors",-153040496)).cljs$core$IFn$_invoke$arity$1(garden.compiler._STAR_flags_STAR_))};
garden.compiler.auto_prefixed_properties=function(){return cljs.core.set.call(null,cljs.core.map.call(null,cljs.core.name,(new cljs.core.Keyword(null,"auto-prefix","auto-prefix",1484803466)).cljs$core$IFn$_invoke$arity$1(garden.compiler._STAR_flags_STAR_)))};garden.compiler.auto_prefix_QMARK_=function(a){return cljs.core.contains_QMARK_.call(null,garden.compiler.auto_prefixed_properties.call(null),a)};
garden.compiler.top_level_expression_QMARK_=function(a){var b=garden.util.rule_QMARK_.call(null,a);if(cljs.core.truth_(b))return b;b=garden.util.at_import_QMARK_.call(null,a);if(cljs.core.truth_(b))return b;b=garden.util.at_media_QMARK_.call(null,a);return cljs.core.truth_(b)?b:garden.util.at_keyframes_QMARK_.call(null,a)};garden.compiler.divide_vec=function(a,b){return cljs.core.juxt.call(null,cljs.core.filter,cljs.core.remove).call(null,a,b)};garden.compiler.IExpandable=function(){};
garden.compiler.expand=function(a){if(null!=a&&null!=a.garden$compiler$IExpandable$expand$arity$1)return a.garden$compiler$IExpandable$expand$arity$1(a);var b=garden.compiler.expand[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=garden.compiler.expand._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"IExpandable.expand",a);};
garden.compiler.expand_seqs=function(a){return cljs.core.mapcat.call(null,function(a){return cljs.core.seq_QMARK_.call(null,a)?garden.compiler.expand_seqs.call(null,a):cljs.core._conj.call(null,cljs.core.List.EMPTY,a)},a)};
garden.compiler.expand_declaration_1=function(a){return cljs.core.reduce.call(null,function(a){return function(b,d){var c=cljs.core.nth.call(null,d,0,null),f=cljs.core.nth.call(null,d,1,null);return cljs.core.truth_(garden.util.hash_map_QMARK_.call(null,f))?cljs.core.reduce.call(null,function(a,b,c,d){return function(a,c){var e=cljs.core.nth.call(null,c,0,null),f=cljs.core.nth.call(null,c,1,null);return cljs.core.assoc.call(null,a,d.call(null,b,e),f)}}(d,c,f,a),b,garden.compiler.expand_declaration_1.call(null,
f)):cljs.core.assoc.call(null,b,garden.util.to_str.call(null,c),f)}}(function(a,c){return garden.util.as_str.call(null,a,"-",c)}),cljs.core.PersistentArrayMap.EMPTY,a)};garden.compiler.expand_declaration=function(a){return cljs.core.seq.call(null,a)?cljs.core.with_meta.call(null,garden.compiler.expand_declaration_1.call(null,a),cljs.core.meta.call(null,a)):null};garden.compiler.parent_selector_re=/^&(?:\S+)?$/;
garden.compiler.extract_reference=function(a){a=cljs.core.re_find.call(null,garden.compiler.parent_selector_re,garden.util.to_str.call(null,cljs.core.last.call(null,a)));return cljs.core.truth_(a)?cljs.core.apply.call(null,cljs.core.str,cljs.core.rest.call(null,a)):null};
garden.compiler.expand_selector_reference=function(a){var b=garden.compiler.extract_reference.call(null,a);if(cljs.core.truth_(b)){var c=cljs.core.butlast.call(null,a);return cljs.core.concat.call(null,cljs.core.butlast.call(null,c),function(){var a=garden.util.as_str.call(null,cljs.core.last.call(null,c),b);return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}())}return a};
garden.compiler.expand_selector=function(a,b){var c=cljs.core.map.call(null,garden.selectors.css_selector,a),c=cljs.core.seq.call(null,b)?cljs.core.map.call(null,cljs.core.flatten,garden.util.cartesian_product.call(null,b,c)):cljs.core.map.call(null,cljs.core.list,c);return cljs.core.map.call(null,garden.compiler.expand_selector_reference,c)};
garden.compiler.expand_rule=function(a){var b=cljs.core.split_with.call(null,garden.selectors.selector_QMARK_,a);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);a=garden.compiler.expand_selector.call(null,a,garden.compiler._STAR_selector_context_STAR_);var b=garden.compiler.expand.call(null,b),c=garden.compiler.divide_vec.call(null,garden.util.declaration_QMARK_,b),b=cljs.core.nth.call(null,c,0,null),c=cljs.core.nth.call(null,c,1,null);a:{var d=garden.compiler._STAR_selector_context_STAR_;
garden.compiler._STAR_selector_context_STAR_=cljs.core.seq.call(null,a)?a:garden.compiler._STAR_selector_context_STAR_;try{var e=cljs.core.doall.call(null,cljs.core.mapcat.call(null,garden.compiler.expand,c));break a}finally{garden.compiler._STAR_selector_context_STAR_=d}e=void 0}return cljs.core.conj.call(null,e,cljs.core.conj.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null),cljs.core.mapcat.call(null,garden.compiler.expand,b)))};
"undefined"===typeof garden.compiler.expand_at_rule&&(garden.compiler.expand_at_rule=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));
return new cljs.core.MultiFn(cljs.core.symbol.call(null,"garden.compiler","expand-at-rule"),new cljs.core.Keyword(null,"identifier","identifier",-805503498),new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}());cljs.core._add_method.call(null,garden.compiler.expand_at_rule,new cljs.core.Keyword(null,"default","default",-1987822328),function(a){return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)});
cljs.core._add_method.call(null,garden.compiler.expand_at_rule,new cljs.core.Keyword(null,"keyframes","keyframes",-1437976012),function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"value","value",305978217));var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"identifier","identifier",-805503498));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"frames","frames",1765687497));a=new garden.types.CSSAtRule(new cljs.core.Keyword(null,"keyframes","keyframes",-1437976012),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"identifier","identifier",-805503498),garden.util.to_str.call(null,a),new cljs.core.Keyword(null,"frames","frames",1765687497),cljs.core.mapcat.call(null,
garden.compiler.expand,b)],null),null,null,null);return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)});
garden.compiler.expand_media_query_expression=function(a){var b=garden.compiler.media_expression_behavior.call(null,cljs.core.get_in.call(null,garden.compiler._STAR_flags_STAR_,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"media-expressions","media-expressions",1920421643),new cljs.core.Keyword(null,"nesting-behavior","nesting-behavior",-1555995755)],null)));return cljs.core.truth_(b)?b.call(null,a,garden.compiler._STAR_media_query_context_STAR_):
a};
cljs.core._add_method.call(null,garden.compiler.expand_at_rule,new cljs.core.Keyword(null,"media","media",-1066138403),function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"value","value",305978217));var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,
a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"media-queries","media-queries",-1563277678));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"rules","rules",1198912366));a=garden.compiler.expand_media_query_expression.call(null,a);a:{var c=garden.compiler._STAR_media_query_context_STAR_;garden.compiler._STAR_media_query_context_STAR_=a;try{var d=cljs.core.doall.call(null,cljs.core.mapcat.call(null,garden.compiler.expand,garden.compiler.expand.call(null,b)));break a}finally{garden.compiler._STAR_media_query_context_STAR_=
c}d=void 0}b=garden.compiler.divide_vec.call(null,garden.util.at_media_QMARK_,d);d=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return cljs.core.cons.call(null,new garden.types.CSSAtRule(new cljs.core.Keyword(null,"media","media",-1066138403),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"media-queries","media-queries",-1563277678),a,new cljs.core.Keyword(null,"rules","rules",1198912366),b],null),null,null,null),d)});
garden.compiler.expand_stylesheet=function(a){return cljs.core.apply.call(null,cljs.core.concat,cljs.core.map.call(null,garden.compiler.expand,garden.compiler.expand.call(null,a)))};garden.compiler.IExpandable["null"]=!0;garden.compiler.expand["null"]=function(a){return null};cljs.core.IndexedSeq.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.IndexedSeq.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_seqs.call(null,this)};
cljs.core.LazySeq.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.LazySeq.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_seqs.call(null,this)};cljs.core.NodeSeq.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.NodeSeq.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_seqs.call(null,this)};cljs.core.BlackNode.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.BlackNode.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_rule.call(null,this)};cljs.core.PersistentArrayMapSeq.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentArrayMapSeq.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_seqs.call(null,this)};cljs.core.ChunkedSeq.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.ChunkedSeq.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_seqs.call(null,this)};cljs.core.Cons.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Cons.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_seqs.call(null,this)};cljs.core.RSeq.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.RSeq.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_seqs.call(null,this)};garden.types.CSSFunction.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;garden.types.CSSFunction.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return cljs.core._conj.call(null,cljs.core.List.EMPTY,this)};cljs.core.PersistentHashMap.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentHashMap.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){a=garden.compiler.expand_declaration.call(null,this);return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)};cljs.core.ArrayNodeSeq.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.ArrayNodeSeq.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_seqs.call(null,this)};cljs.core.Subvec.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Subvec.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_rule.call(null,this)};garden.compiler.IExpandable._=!0;garden.compiler.expand._=function(a){return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)};cljs.core.PersistentTreeMap.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentTreeMap.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){a=garden.compiler.expand_declaration.call(null,this);return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)};cljs.core.ChunkedCons.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.ChunkedCons.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_seqs.call(null,this)};garden.types.CSSAtRule.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;
garden.types.CSSAtRule.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_at_rule.call(null,this)};cljs.core.RedNode.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.RedNode.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_rule.call(null,this)};cljs.core.PersistentVector.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentVector.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_rule.call(null,this)};cljs.core.PersistentArrayMap.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentArrayMap.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){a=garden.compiler.expand_declaration.call(null,this);return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)};
garden.color.CSSColor.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;garden.color.CSSColor.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return cljs.core._conj.call(null,cljs.core.List.EMPTY,this)};cljs.core.List.prototype.garden$compiler$IExpandable$=cljs.core.PROTOCOL_SENTINEL;cljs.core.List.prototype.garden$compiler$IExpandable$expand$arity$1=function(a){return garden.compiler.expand_seqs.call(null,this)};garden.compiler.CSSRenderer=function(){};
garden.compiler.render_css=function(a){if(null!=a&&null!=a.garden$compiler$CSSRenderer$render_css$arity$1)return a.garden$compiler$CSSRenderer$render_css$arity$1(a);var b=garden.compiler.render_css[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=garden.compiler.render_css._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"CSSRenderer.render-css",a);};garden.compiler.comma=", ";garden.compiler.colon=": ";garden.compiler.semicolon=";";
garden.compiler.l_brace=" {\n";garden.compiler.r_brace="\n}";garden.compiler.l_brace_1=" {\n\n";garden.compiler.r_brace_1="\n\n}";garden.compiler.rule_sep="\n\n";garden.compiler.indent="  ";
garden.compiler.space_separated_list=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return garden.compiler.space_separated_list.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return garden.compiler.space_separated_list.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
garden.compiler.space_separated_list.cljs$core$IFn$_invoke$arity$1=function(a){return garden.compiler.space_separated_list.call(null,garden.compiler.render_css,a)};garden.compiler.space_separated_list.cljs$core$IFn$_invoke$arity$2=function(a,b){return clojure.string.join.call(null," ",cljs.core.map.call(null,a,b))};garden.compiler.space_separated_list.cljs$lang$maxFixedArity=2;
garden.compiler.comma_separated_list=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return garden.compiler.comma_separated_list.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return garden.compiler.comma_separated_list.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
garden.compiler.comma_separated_list.cljs$core$IFn$_invoke$arity$1=function(a){return garden.compiler.comma_separated_list.call(null,garden.compiler.render_css,a)};
garden.compiler.comma_separated_list.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=function(){return function e(b){return new cljs.core.LazySeq(null,function(){for(;;){var c=cljs.core.seq.call(null,b);if(c){if(cljs.core.chunked_seq_QMARK_.call(null,c)){var f=cljs.core.chunk_first.call(null,c),k=cljs.core.count.call(null,f),l=cljs.core.chunk_buffer.call(null,k);a:for(var m=0;;)if(m<k){var n=cljs.core._nth.call(null,f,m);cljs.core.chunk_append.call(null,l,cljs.core.sequential_QMARK_.call(null,n)?
garden.compiler.space_separated_list.call(null,a,n):a.call(null,n));m+=1}else{f=!0;break a}return f?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),e.call(null,cljs.core.chunk_rest.call(null,c))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),null)}l=cljs.core.first.call(null,c);return cljs.core.cons.call(null,cljs.core.sequential_QMARK_.call(null,l)?garden.compiler.space_separated_list.call(null,a,l):a.call(null,l),e.call(null,cljs.core.rest.call(null,c)))}return null}},
null,null)}.call(null,b)}();return clojure.string.join.call(null,garden.compiler.comma,c)};garden.compiler.comma_separated_list.cljs$lang$maxFixedArity=2;garden.compiler.rule_join=function(a){return clojure.string.join.call(null,garden.compiler.rule_sep,a)};garden.compiler.indent_loc_re=RegExp("(?\x3d[ A-Za-z#.}-]+)^","gm");garden.compiler.indent_str=function(a){return a.replace(garden.compiler.indent_loc_re,garden.compiler.indent)};
garden.compiler.render_value=function(a){return cljs.core.truth_(garden.util.at_keyframes_QMARK_.call(null,a))?garden.util.to_str.call(null,cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"identifier","identifier",-805503498)],null))):garden.compiler.render_css.call(null,a)};
garden.compiler.render_property_and_value=function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);if(cljs.core.set_QMARK_.call(null,a))return clojure.string.join.call(null,"\n",cljs.core.map.call(null,garden.compiler.render_property_and_value,cljs.core.partition.call(null,2,cljs.core.interleave.call(null,cljs.core.repeat.call(null,b),a))));a=cljs.core.sequential_QMARK_.call(null,a)?garden.compiler.comma_separated_list.call(null,garden.compiler.render_value,a):garden.compiler.render_value.call(null,
a);return garden.util.as_str.call(null,b,garden.compiler.colon,a,garden.compiler.semicolon)};garden.compiler.add_blocks=function(a,b){return cljs.core.mapcat.call(null,function(b){return cljs.core.cons.call(null,b,a.call(null,b))},b)};
garden.compiler.prefixed_blocks=function(a,b){var c=cljs.core.nth.call(null,b,0,null),d=cljs.core.nth.call(null,b,1,null);return function(a,b,c){return function k(d){return new cljs.core.LazySeq(null,function(a,b,c){return function(){for(;;){var a=cljs.core.seq.call(null,d);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var e=cljs.core.chunk_first.call(null,a),f=cljs.core.count.call(null,e),g=cljs.core.chunk_buffer.call(null,f);a:for(var l=0;;)if(l<f){var m=cljs.core._nth.call(null,e,l);cljs.core.chunk_append.call(null,
g,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[garden.util.vendor_prefix.call(null,m,cljs.core.name.call(null,b)),c],null));l+=1}else{e=!0;break a}return e?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,g),k.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,g),null)}g=cljs.core.first.call(null,a);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[garden.util.vendor_prefix.call(null,g,cljs.core.name.call(null,b)),c],null),k.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c),null,null)}}(b,c,d).call(null,a)};garden.compiler.prefix_all_properties=function(a,b){return garden.compiler.add_blocks.call(null,cljs.core.partial.call(null,garden.compiler.prefixed_blocks,a),b)};
garden.compiler.prefix_auto_properties=function(a,b){return garden.compiler.add_blocks.call(null,function(b){var c=cljs.core.nth.call(null,b,0,null);cljs.core.nth.call(null,b,1,null);return cljs.core.truth_(garden.compiler.auto_prefix_QMARK_.call(null,cljs.core.name.call(null,c)))?garden.compiler.prefixed_blocks.call(null,a,b):null},b)};
garden.compiler.prefix_declaration=function(a){var b=(new cljs.core.Keyword(null,"vendors","vendors",-153040496)).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,a));b=cljs.core.truth_(b)?b:garden.compiler.vendors.call(null);return(cljs.core.truth_((new cljs.core.Keyword(null,"prefix","prefix",-265908465)).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,a)))?garden.compiler.prefix_all_properties:garden.compiler.prefix_auto_properties).call(null,b,a)};
garden.compiler.render_declaration=function(a){return clojure.string.join.call(null,"\n",cljs.core.map.call(null,garden.compiler.render_property_and_value,garden.compiler.prefix_declaration.call(null,a)))};garden.compiler.render_selector=function(a){return garden.compiler.comma_separated_list.call(null,a)};
garden.compiler.render_rule=function(a){var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null);return cljs.core.seq.call(null,a)&&cljs.core.every_QMARK_.call(null,cljs.core.seq,a)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.compiler.render_selector.call(null,b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.compiler.l_brace),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.compiler.indent_str.call(null,clojure.string.join.call(null,"\n",cljs.core.map.call(null,
garden.compiler.render_css,c)))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.compiler.r_brace)].join(""):null};
garden.compiler.render_media_expr_part=function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);var c=cljs.core.map.call(null,garden.compiler.render_value,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)),b=cljs.core.nth.call(null,c,0,null),c=cljs.core.nth.call(null,c,1,null);return!0===a?b:!1===a?[cljs.core.str.cljs$core$IFn$_invoke$arity$1("not "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""):cljs.core._EQ_.call(null,
"only",c)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1("only "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""):cljs.core.truth_(cljs.core.truth_(a)?cljs.core.seq.call(null,c):a)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1("("),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.compiler.colon),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),cljs.core.str.cljs$core$IFn$_invoke$arity$1(")")].join(""):[cljs.core.str.cljs$core$IFn$_invoke$arity$1("("),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1(")")].join("")};garden.compiler.render_media_expr=function(a){return cljs.core.sequential_QMARK_.call(null,a)?garden.compiler.comma_separated_list.call(null,cljs.core.map.call(null,garden.compiler.render_media_expr,a)):clojure.string.join.call(null," and ",cljs.core.map.call(null,garden.compiler.render_media_expr_part,a))};
garden.compiler.render_unit=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"magnitude","magnitude",1924274222));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"unit","unit",375175175));return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.name.call(null,b))].join("")};
garden.compiler.render_function=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"function","function",-2127255473));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"args","args",1315556576));b=cljs.core.sequential_QMARK_.call(null,b)?garden.compiler.comma_separated_list.call(null,b):garden.util.to_str.call(null,b);return garden.util.format.call(null,
"%s(%s)",garden.util.to_str.call(null,a),b)};
garden.compiler.render_color=function(a){var b=(new cljs.core.Keyword(null,"alpha","alpha",-1574982441)).cljs$core$IFn$_invoke$arity$1(a);if(cljs.core.truth_(b)){a=garden.color.as_hsl.call(null,a);var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"hue","hue",-508078848));var d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"saturation",
"saturation",-14247929)),c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"lightness","lightness",-2040901930)),c=cljs.core.map.call(null,garden.units.percent,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,c],null)),d=cljs.core.nth.call(null,c,0,null),c=cljs.core.nth.call(null,c,1,null);return garden.util.format.call(null,"hsla(%s)",garden.compiler.comma_separated_list.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[a,
d,c,b],null)))}return garden.color.as_hex.call(null,a)};
"undefined"===typeof garden.compiler.render_at_rule&&(garden.compiler.render_at_rule=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));
return new cljs.core.MultiFn(cljs.core.symbol.call(null,"garden.compiler","render-at-rule"),new cljs.core.Keyword(null,"identifier","identifier",-805503498),new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}());cljs.core._add_method.call(null,garden.compiler.render_at_rule,new cljs.core.Keyword(null,"default","default",-1987822328),function(a){return null});
cljs.core._add_method.call(null,garden.compiler.render_at_rule,new cljs.core.Keyword(null,"import","import",-1399500709),function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"value","value",305978217));var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"url","url",276297046));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"media-queries","media-queries",-1563277678));a="string"===typeof a?garden.util.wrap_quotes.call(null,a):garden.compiler.render_css.call(null,a);b=cljs.core.truth_(b)?garden.compiler.render_media_expr.call(null,b):null;return[cljs.core.str.cljs$core$IFn$_invoke$arity$1("@import "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(b)?
[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""):a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.compiler.semicolon)].join("")});
cljs.core._add_method.call(null,garden.compiler.render_at_rule,new cljs.core.Keyword(null,"keyframes","keyframes",-1437976012),function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"value","value",305978217)),d=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,c):c,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"identifier","identifier",-805503498)),f=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"frames","frames",1765687497));if(cljs.core.seq.call(null,f)){var g=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.util.to_str.call(null,e)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.compiler.l_brace_1),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.compiler.indent_str.call(null,garden.compiler.rule_join.call(null,
cljs.core.map.call(null,garden.compiler.render_css,f)))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.compiler.r_brace_1)].join(""),h=function(a,b,c,d,e,f,g,h){return function(a){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1("@"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.util.vendor_prefix.call(null,a,"keyframes "))].join("")}}(g,c,d,e,f,a,b,c);return garden.compiler.rule_join.call(null,cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,t){return function(b){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("")}}(g,h,c,d,e,f,a,b,c),cljs.core.cons.call(null,"@keyframes ",cljs.core.map.call(null,h,garden.compiler.vendors.call(null)))))}return null});
cljs.core._add_method.call(null,garden.compiler.render_at_rule,new cljs.core.Keyword(null,"media","media",-1066138403),function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"value","value",305978217));var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,
a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"media-queries","media-queries",-1563277678));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"rules","rules",1198912366));return cljs.core.seq.call(null,b)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1("@media "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.compiler.render_media_expr.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.compiler.l_brace_1),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.compiler.indent_str.call(null,
garden.compiler.rule_join.call(null,cljs.core.map.call(null,garden.compiler.render_css,b)))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(garden.compiler.r_brace_1)].join(""):null});garden.compiler.CSSRenderer["null"]=!0;garden.compiler.render_css["null"]=function(a){return""};garden.color.CSSColor.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;
garden.color.CSSColor.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return garden.compiler.render_color.call(null,this)};cljs.core.IndexedSeq.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.IndexedSeq.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return cljs.core.map.call(null,garden.compiler.render_css,this)};cljs.core.LazySeq.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.LazySeq.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return cljs.core.map.call(null,garden.compiler.render_css,this)};cljs.core.NodeSeq.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.NodeSeq.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return cljs.core.map.call(null,garden.compiler.render_css,this)};cljs.core.BlackNode.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.BlackNode.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return garden.compiler.render_rule.call(null,this)};cljs.core.PersistentArrayMapSeq.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentArrayMapSeq.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return cljs.core.map.call(null,garden.compiler.render_css,this)};garden.types.CSSUnit.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;
garden.types.CSSUnit.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return garden.compiler.render_unit.call(null,this)};cljs.core.ChunkedSeq.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.ChunkedSeq.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return cljs.core.map.call(null,garden.compiler.render_css,this)};cljs.core.Cons.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Cons.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return cljs.core.map.call(null,garden.compiler.render_css,this)};cljs.core.RSeq.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.RSeq.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return cljs.core.map.call(null,garden.compiler.render_css,this)};garden.compiler.CSSRenderer.number=!0;garden.compiler.render_css.number=function(a){return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)};
garden.types.CSSFunction.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;garden.types.CSSFunction.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return garden.compiler.render_function.call(null,this)};cljs.core.PersistentHashMap.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentHashMap.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return garden.compiler.render_declaration.call(null,this)};
cljs.core.ArrayNodeSeq.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.ArrayNodeSeq.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return cljs.core.map.call(null,garden.compiler.render_css,this)};cljs.core.Subvec.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Subvec.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return garden.compiler.render_rule.call(null,this)};garden.compiler.CSSRenderer._=!0;
garden.compiler.render_css._=function(a){return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)};cljs.core.PersistentTreeMap.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentTreeMap.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return garden.compiler.render_declaration.call(null,this)};cljs.core.ChunkedCons.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.ChunkedCons.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return cljs.core.map.call(null,garden.compiler.render_css,this)};garden.types.CSSAtRule.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;garden.types.CSSAtRule.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return garden.compiler.render_at_rule.call(null,this)};cljs.core.RedNode.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.RedNode.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return garden.compiler.render_rule.call(null,this)};cljs.core.PersistentVector.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentVector.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return garden.compiler.render_rule.call(null,this)};cljs.core.Keyword.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Keyword.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return cljs.core.name.call(null,this)};cljs.core.PersistentArrayMap.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentArrayMap.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return garden.compiler.render_declaration.call(null,this)};cljs.core.List.prototype.garden$compiler$CSSRenderer$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.List.prototype.garden$compiler$CSSRenderer$render_css$arity$1=function(a){return cljs.core.map.call(null,garden.compiler.render_css,this)};garden.compiler.compile_style=function(a){return cljs.core.first.call(null,garden.compiler.render_css.call(null,garden.compiler.expand.call(null,cljs.core.reduce.call(null,cljs.core.merge,cljs.core.filter.call(null,garden.util.declaration_QMARK_,a)))))};
garden.compiler.do_compile=function(a,b){var c=garden.compiler._STAR_flags_STAR_;garden.compiler._STAR_flags_STAR_=a;try{return garden.compiler.rule_join.call(null,cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,garden.compiler.render_css,cljs.core.filter.call(null,garden.compiler.top_level_expression_QMARK_,garden.compiler.expand_stylesheet.call(null,b)))))}finally{garden.compiler._STAR_flags_STAR_=c}};
garden.compiler.do_preamble=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;cljs.core.get.call(null,c,new cljs.core.Keyword(null,"preamble","preamble",1641040241));return b};
garden.compiler.do_compression=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"pretty-print?","pretty-print?",1932217158)),c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"pretty-print","pretty-print",-1314067013));return cljs.core.truth_(cljs.core.truth_(d)?d:c)?b:garden.compression.compress_stylesheet.call(null,
b)};garden.compiler.do_output_to=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;cljs.core.get.call(null,c,new cljs.core.Keyword(null,"output-to","output-to",-965533968));return b};
garden.compiler.compile_css=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return garden.compiler.compile_css.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
garden.compiler.compile_css.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=cljs.core.truth_(function(){var b=garden.util.hash_map_QMARK_.call(null,a);return cljs.core.truth_(b)?cljs.core.some.call(null,cljs.core.set.call(null,cljs.core.keys.call(null,a)),cljs.core.keys.call(null,garden.compiler._STAR_flags_STAR_)):b}())?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.merge.call(null,garden.compiler._STAR_flags_STAR_,a),b],null):new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[garden.compiler._STAR_flags_STAR_,cljs.core.cons.call(null,a,b)],null),d=cljs.core.nth.call(null,c,0,null),c=cljs.core.nth.call(null,c,1,null);return garden.compiler.do_output_to.call(null,d,garden.compiler.do_compression.call(null,d,garden.compiler.do_preamble.call(null,d,garden.compiler.do_compile.call(null,d,c))))};garden.compiler.compile_css.cljs$lang$maxFixedArity=1;
garden.compiler.compile_css.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return garden.compiler.compile_css.cljs$core$IFn$_invoke$arity$variadic(b,a)};garden.core={};garden.core.css=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return garden.core.css.cljs$core$IFn$_invoke$arity$variadic(b)};garden.core.css.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.apply.call(null,garden.compiler.compile_css,a)};garden.core.css.cljs$lang$maxFixedArity=0;
garden.core.css.cljs$lang$applyTo=function(a){return garden.core.css.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};garden.core.style=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return garden.core.style.cljs$core$IFn$_invoke$arity$variadic(b)};garden.core.style.cljs$core$IFn$_invoke$arity$variadic=function(a){return garden.compiler.compile_style.call(null,a)};
garden.core.style.cljs$lang$maxFixedArity=0;garden.core.style.cljs$lang$applyTo=function(a){return garden.core.style.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};weathergen.ui={};weathergen.ui.common={};weathergen.ui.common.tinycolor=module.exports;weathergen.ui.common.measurement=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return weathergen.ui.common.measurement.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
weathergen.ui.common.measurement.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return clojure.string.join.call(null," ",cljs.core.map.call(null,function(b){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("")},b))};weathergen.ui.common.measurement.cljs$lang$maxFixedArity=1;
weathergen.ui.common.measurement.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return weathergen.ui.common.measurement.cljs$core$IFn$_invoke$arity$variadic(b,a)};weathergen.ui.common.px=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return weathergen.ui.common.px.cljs$core$IFn$_invoke$arity$variadic(b)};
weathergen.ui.common.px.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.apply.call(null,weathergen.ui.common.measurement,"px",a)};weathergen.ui.common.px.cljs$lang$maxFixedArity=0;weathergen.ui.common.px.cljs$lang$applyTo=function(a){return weathergen.ui.common.px.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
weathergen.ui.common.pct=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return weathergen.ui.common.pct.cljs$core$IFn$_invoke$arity$variadic(b)};weathergen.ui.common.pct.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.apply.call(null,weathergen.ui.common.measurement,"%",a)};weathergen.ui.common.pct.cljs$lang$maxFixedArity=0;
weathergen.ui.common.pct.cljs$lang$applyTo=function(a){return weathergen.ui.common.pct.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};weathergen.ui.common.ems=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return weathergen.ui.common.ems.cljs$core$IFn$_invoke$arity$variadic(b)};
weathergen.ui.common.ems.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.apply.call(null,weathergen.ui.common.measurement,"em",a)};weathergen.ui.common.ems.cljs$lang$maxFixedArity=0;weathergen.ui.common.ems.cljs$lang$applyTo=function(a){return weathergen.ui.common.ems.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
weathergen.ui.common.colors=new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"invalid","invalid",412869516),"#c70505",new cljs.core.Keyword(null,"invalid-background","invalid-background",-917496690),"#fcc",new cljs.core.Keyword(null,"error-message","error-message",1756021561),"#c70505",new cljs.core.Keyword(null,"edit","edit",-1641834166),"rgba(128,128,255,0.5)",new cljs.core.Keyword(null,"header-background","header-background",1686840154),"lightgray",new cljs.core.Keyword(null,
"team","team",1355747699),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"dark-text","dark-text",814777253),new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"white","white",-483998618),"gray",new cljs.core.Keyword(null,"green","green",-945526839),"green",new cljs.core.Keyword(null,"blue","blue",-622100620),"blue",new cljs.core.Keyword(null,"brown","brown",1414854429),"#923c25",new cljs.core.Keyword(null,"orange","orange",73816386),"darkorange",new cljs.core.Keyword(null,
"yellow","yellow",-881035449),"#caae18",new cljs.core.Keyword(null,"red","red",-969428204),"red",new cljs.core.Keyword(null,"gray","gray",1013268388),"darkgray"],null),new cljs.core.Keyword(null,"light-text","light-text",-274885440),new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"white","white",-483998618),"white",new cljs.core.Keyword(null,"green","green",-945526839),"lightgreen",new cljs.core.Keyword(null,"blue","blue",-622100620),"#8ddbf5",new cljs.core.Keyword(null,"brown",
"brown",1414854429),"#e27e43",new cljs.core.Keyword(null,"orange","orange",73816386),"orange",new cljs.core.Keyword(null,"yellow","yellow",-881035449),"yellow",new cljs.core.Keyword(null,"red","red",-969428204),"#f9adad",new cljs.core.Keyword(null,"gray","gray",1013268388),"lightgray"],null)],null)],null);
weathergen.ui.common.team_color=function(a,b){return cljs.core.get_in.call(null,weathergen.ui.common.colors,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"team","team",1355747699),b,weathergen.falcon.files.mission.team_color.call(null,a)],null))};
weathergen.ui.common.class_for=cljs.core.memoize.call(null,function(a){return clojure.string.replace.call(null,cljs.core.subs.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),1),/[^a-zA-Z0-9]/,"-")});weathergen.ui.common.class_selector_for=function(a){return garden.selectors.selector.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("."),cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.common.class_for.call(null,a))].join(""))};
weathergen.ui.common.registered_styles=cljs.core.atom.call(null,cljs.core.PersistentHashSet.EMPTY);
weathergen.ui.common.register_styles_BANG_=function(a,b){if(cljs.core.contains_QMARK_.call(null,cljs.core.deref.call(null,weathergen.ui.common.registered_styles),a))return null;var c=document.getElementsByTagName("head")[0],d=javelin.core.formula.call(null,function(a){return function(a,b){return a.call(null,b)}}(c)).call(null,garden.core.css,b);cljs.core.swap_BANG_.call(null,weathergen.ui.common.registered_styles,cljs.core.conj,a);return hoplon.core.when_dom.call(null,c,function(b,c){return function(){taoensso.timbre._log_BANG_.call(null,
taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.ui.common",null,109,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(b,c){return function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Registering style",""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)],null)}}(b,c),null),null,502558705);return b.appendChild(hoplon.core.style.call(null,
new cljs.core.Keyword(null,"type","type",1174270348),"text/css",new cljs.core.Keyword(null,"debug","debug",-1608172596),""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),c))}}(c,d))};weathergen.ui.common.register_class_BANG_=function(a,b){return weathergen.ui.common.register_styles_BANG_.call(null,a,cljs.core.into.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.ui.common.class_selector_for.call(null,a)],null),b))};
weathergen.ui.common.contrasting=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return weathergen.ui.common.contrasting.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 3:return weathergen.ui.common.contrasting.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};weathergen.ui.common.contrasting.cljs$core$IFn$_invoke$arity$1=function(a){return weathergen.ui.common.contrasting.call(null,a,"black","white")};weathergen.ui.common.contrasting.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return weathergen.ui.common.tinycolor.mostReadable(a,[b,c]).toHexString()};weathergen.ui.common.contrasting.cljs$lang$maxFixedArity=3;weathergen.ui.common.darken=function(a,b){return weathergen.ui.common.tinycolor.call(null,a).darken(b).toHexString()};
weathergen.ui.common.lighten=function(a,b){return weathergen.ui.common.tinycolor.call(null,a).lighten(b).toHexString()};weathergen.ui.common.spin=function(a,b){return weathergen.ui.common.tinycolor.call(null,a).spin(b).toHexString()};weathergen.ui.common.to_hex_str=function(a){return weathergen.ui.common.tinycolor.call(null,a).toHexString()};
weathergen.ui.common.styled=function(){var a=function(a){var b=hoplon.core.parse_args.call(null,a),c=cljs.core.nth.call(null,b,0,null);a=cljs.core.nth.call(null,b,1,null);var f=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"garden","garden",-1966516149)),h=cljs.core.dissoc.call(null,c,new cljs.core.Keyword(null,"garden","garden",-1966516149)),
k=document.getElementsByTagName("head")[0],l=""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.gensym.call(null)),b=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b,c,d){return a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("#"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join("")),b],null))}}(c,f,g,h,k,l,b,c,a)).call(null,garden.core.css,g,cljs.core.keyword,
l);k.appendChild(hoplon.core.style.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"text/css",b));return hoplon.core.div.call(null,cljs.core.merge.call(null,h,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"id","id",-1388402092),l],null)),a)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=
function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.common.inl=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"css","css",1135045163));return hoplon.core.div.call(null,cljs.core.update.call(null,b,new cljs.core.Keyword(null,"css","css",
1135045163),function(a,b,c,d,e,f){return function(g){return cljs.core.truth_(javelin.core.cell_QMARK_.call(null,g))?javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a){return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"display","display",242065432),"inline-block")}}(a,b,c,d,e,f)).call(null,g):cljs.core.assoc.call(null,g,new cljs.core.Keyword(null,"display","display",242065432),"inline-block")}}(b,f,g,a,b,c)),c)},b=function(b){var c=null;if(0<arguments.length){for(var c=
0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.common.triangle=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"r","r",-471384190)),h=javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a){return a}}(b,f,g,a,b,c)).call(null,
g),k=cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"r","r",-471384190)),l=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a,b){return a*b}}(b,f,g,h,k,.8660254037844387,.5,a,b,c)).call(null,h,.8660254037844387),m=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a,b){return a*b}}(b,f,g,h,k,.8660254037844387,.5,l,a,b,c)).call(null,h,.8660254037844387);return hoplon.svg.path.call(null,new cljs.core.Keyword(null,"d","d",1972142424),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,A){return function(a,b){return goog.string.format("M%f,%f L%f,%f L%f,%f Z",0,-b,a,b,-a,b)}}(b,f,g,h,k,.8660254037844387,.5,l,m,a,b,c)).call(null,l,m),k)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;
return b}();
weathergen.ui.common.pre_cell=function(a,b){weathergen.ui.common.register_styles_BANG_.call(null,new cljs.core.Keyword("weathergen.ui.common","pre-cell","weathergen.ui.common/pre-cell",-1959908687),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,".pre-cell",".pre-cell",1928754490),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"background","background",
-863952629),"black",new cljs.core.Keyword(null,"color","color",1011675173),"green",new cljs.core.Keyword(null,"font-family","font-family",-667419874),"monospace"],null)],null)],null));return hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"pre-cell",hoplon.core.h4.call(null,a),hoplon.core.pre.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"pre-wrap"],
null),javelin.core.formula.call(null,function(a,b){return a.call(null,b,new cljs.core.Keyword(null,"stream","stream",1534941648),null,new cljs.core.Keyword(null,"pretty","pretty",-1916372486),!0)}).call(null,cljs.pprint.write,b)))};
weathergen.ui.common.control_section=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=javelin.core.cell.call(null,cljs.core.not.call(null,(new cljs.core.Keyword(null,"collapsed?","collapsed?",-1661420674)).cljs$core$IFn$_invoke$arity$1(b))),g=function(a,b,c,d){return function(){return cljs.core.swap_BANG_.call(null,a,cljs.core.not)}}(f,a,b,c);return hoplon.core.fieldset.call(null,new cljs.core.Keyword(null,
"class","class",-2030961996),"controls",cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"title","title",636505583),new cljs.core.Keyword(null,"collapsed?","collapsed?",-1661420674),new cljs.core.Keyword(null,"help-for","help-for",-1997101642)),hoplon.core.legend.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"click","click",1912301393),g,new cljs.core.Keyword(null,"class","class",-2030961996),javelin.core.formula.call(null,function(a,b,c,d,e){return function(a){return new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"toggle","toggle",1291842030),!0,new cljs.core.Keyword(null,"visible","visible",-1024216805),a],null)}}(f,g,a,b,c)).call(null,f),""),hoplon.core.span.call(null,(new cljs.core.Keyword(null,"title","title",636505583)).cljs$core$IFn$_invoke$arity$1(b))),hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"control-visibility-container",new cljs.core.Keyword(null,"toggle","toggle",1291842030),f,new cljs.core.Keyword(null,"fade-toggle","fade-toggle",
-1468421852),f,hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"control-container",c)))},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.common.format_time=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return weathergen.ui.common.format_time.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return weathergen.ui.common.format_time.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
weathergen.ui.common.format_time.cljs$core$IFn$_invoke$arity$1=function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;cljs.core.get.call(null,a,new cljs.core.Keyword(null,"day","day",-274800446));cljs.core.get.call(null,a,new cljs.core.Keyword(null,"hour","hour",-555989214));cljs.core.get.call(null,a,new cljs.core.Keyword(null,"minute","minute",-642875969));cljs.core.get.call(null,a,new cljs.core.Keyword(null,
"second","second",-444702010));return weathergen.ui.common.format_time.call(null,a,cljs.core.PersistentArrayMap.EMPTY)};
weathergen.ui.common.format_time.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"day","day",-274800446)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"hour","hour",-555989214)),f=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"minute","minute",-642875969)),g=cljs.core.get.call(null,
c,new cljs.core.Keyword(null,"second","second",-444702010)),h=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,k=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"seconds?","seconds?",-1600404958)),h=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"omit-day?","omit-day?",1622751707));return cljs.core.truth_(c)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(h)?"":goog.string.format("%02d/",
d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(k)?goog.string.format("%02d:%02d:%02d",e,f,g):goog.string.format("%02d:%02d",e,f))].join(""):null};weathergen.ui.common.format_time.cljs$lang$maxFixedArity=2;weathergen.ui.common.format_heading=function(a){return null==a?null:a.toFixed(0)};weathergen.ui.common.format_distance=function(a){return null==a?null:a.toFixed(1)};
weathergen.ui.common.format_speed=function(a){a=null==a?null:weathergen.math.nearest.call(null,a,5);return null==a?null:a.toFixed(0)};weathergen.ui.common.format_mach=function(a){return null==a?null:a.toFixed(2)};
weathergen.ui.common.color_picker=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"change","change",-1163046502)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"hide","hide",-596913169)),k=
cljs.core.get.call(null,f,new cljs.core.Keyword(null,"show","show",-576705889)),l=cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"change","change",-1163046502),new cljs.core.Keyword(null,"hide","hide",-596913169),new cljs.core.Keyword(null,"show","show",-576705889)),m=cljs.core.atom.call(null,!1),n=hoplon.core.input.call(null,l,new cljs.core.Keyword(null,"class","class",-2030961996),"minicolors",new cljs.core.Keyword(null,"type","type",1174270348),"hidden",new cljs.core.Keyword(null,"change",
"change",-1163046502),function(a,b,c,d,e,f,g,h,k,l){return function(a){return cljs.core.truth_(cljs.core.truth_(c)?cljs.core.deref.call(null,g):c)?c.call(null,a):null}}(b,f,g,h,k,l,m,a,b,c));cljs.core.add_watch.call(null,(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(b),cljs.core.keyword.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.gensym.call(null))),function(a,b,c,d,e,f,g,h,k,l,m){return function(b,c,d,e){return cljs.core.truth_(e)?jQuery(a).minicolors("value",
weathergen.ui.common.to_hex_str.call(null,e)):null}}(n,b,f,g,h,k,l,m,a,b,c));hoplon.core.when_dom.call(null,n,function(a,b,c,d,e,f,g,h,k,l,m){return function(){return jQuery(a).minicolors({theme:"weathergen",show:function(a,b,c,d,e,f,g,h,k,l,m){return function(){cljs.core.reset_BANG_.call(null,h,!0);return cljs.core.truth_(f)?f.call(null):null}}(a,b,c,d,e,f,g,h,k,l,m),hide:function(a,b,c,d,e,f,g,h,k,l,m){return function(){cljs.core.reset_BANG_.call(null,h,!1);return cljs.core.truth_(e)?e.call(null):
null}}(a,b,c,d,e,f,g,h,k,l,m)})}}(n,b,f,g,h,k,l,m,a,b,c));return n},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.common.side_label=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"mission","mission",1740288522)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"side","side",389652279)),k=javelin.core.formula.call(null,
function(a,b,c,d,e,f,g){return function(h,k){var l=cljs.core.set.call(null,cljs.core.map.call(null,function(a,b,c,d,e,f,g){return function(a){return(new cljs.core.Keyword(null,"who","who",-235935040)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"team","team",1355747699)).cljs$core$IFn$_invoke$arity$1(a))}}(a,b,c,d,e,f,g),cljs.core.filter.call(null,function(a,b,c,d,e,f,g){return function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"c-team","c-team",1058111407)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,
"team","team",1355747699)).cljs$core$IFn$_invoke$arity$1(a)),k)}}(a,b,c,d,e,f,g),weathergen.falcon.files.mission.teams.call(null,h))));return cljs.core.disj.call(null,l,k)}}(b,f,g,h,a,b,c)).call(null,g,h);return hoplon.core.div.call(null,cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"mission","mission",1740288522),new cljs.core.Keyword(null,"side","side",389652279)),hoplon.core.loop_tpl_STAR_.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(k,l,m){return cljs.core.interpose.call(null,
new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"color","color",1011675173),"",new cljs.core.Keyword(null,"name","name",1843675177),"/"],null),function(){return function(a,b,c,d,e,f,g,h){return function L(l){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h){return function(){for(;;){var a=cljs.core.seq.call(null,l);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,
c);a:for(var e=0;;)if(e<c){var f=cljs.core._nth.call(null,b,e);cljs.core.chunk_append.call(null,d,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"color","color",1011675173),weathergen.ui.common.team_color.call(null,f,new cljs.core.Keyword(null,"dark-text","dark-text",814777253)),new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.mission.team_name.call(null,k,f)],null));e+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,
d),L.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}d=cljs.core.first.call(null,a);return cljs.core.cons.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"color","color",1011675173),weathergen.ui.common.team_color.call(null,d,new cljs.core.Keyword(null,"dark-text","dark-text",814777253)),new cljs.core.Keyword(null,"name","name",1843675177),weathergen.falcon.files.mission.team_name.call(null,k,d)],null),L.call(null,
cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h),null,null)}}(a,b,c,d,e,f,g,h).call(null,cljs.core.into.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[l],null),m))}())}}(b,f,g,h,k,a,b,c)).call(null,g,h,k),function(a,b,c,d,e,f,g,h){return function(k){k=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[a],null)}}(a,b,c,d,e,f,g,h)).call(null,k));var l=cljs.core.nth.call(null,k,0,null),m=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"color","color",1011675173));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"name","name",1843675177));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(k,l,a,b,c,d,e,f,g,h)).call(null,l)),n=cljs.core.nth.call(null,m,0,null),p=cljs.core.nth.call(null,m,1,null);return hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(a){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"color","color",1011675173),
a],null)}}(m,n,p,k,l,a,b,c,d,e,f,g,h)).call(null,n),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(a){return a}}(m,n,p,k,l,a,b,c,d,e,f,g,h)).call(null,p))}}(b,f,g,h,k,a,b,c)))},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=
a;return b}();weathergen.ui.common.image_cache_path=function(a){return weathergen.filesystem.path_combine.call(null,weathergen.settings.app_dir,"cache","images",[cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.images.cache_key.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(".png")].join(""))};
weathergen.ui.common.save_blob_async=function(a,b){var c=new FileReader;c.onload=function(a){return function(){return weathergen.filesystem.save_data.call(null,b,new Buffer(a.result))}}(c);return c.readAsArrayBuffer(a)};
weathergen.ui.common.get_image=function(a,b){var c=weathergen.ui.common.image_cache_path.call(null,b);if(cljs.core.truth_(weathergen.filesystem.exists_QMARK_.call(null,c)))return c;var d=document.createElement("canvas"),e=[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Loading image "),cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"image-id","image-id",-988480565)).cljs$core$IFn$_invoke$arity$1(b))].join(""),f=console.time(e);weathergen.falcon.files.images.read_image.call(null,
a,b,function(a,b,c,d){return function(e,f){c.width=e;c.height=f;var g=c.getContext("2d"),h=g.getImageData(0,0,e,f),k=new ArrayBuffer(h.data.length),l=new Uint8ClampedArray(k),m=new Uint32Array(k);return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"set-pixel!","set-pixel!",1287500897),function(a,b,c,d,f,g,h,k,l){return function(a,b,c){return f[a+b*e]=c}}(g,h,k,l,m,a,b,c,d),new cljs.core.Keyword(null,"finalize","finalize",-1152897571),function(a,b,c,d,e,f,g,h,k){return function(){b.data.set(d);
return a.putImageData(b,0,0)}}(g,h,k,l,m,a,b,c,d)],null)}}(e,f,d,c));console.timeEnd(e);d.toBlob(function(a,b){return function(a){return weathergen.ui.common.save_blob_async.call(null,a,b)}}(d,c));return d.toDataURL()};
weathergen.ui.common.team_selector=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"selectable-teams","selectable-teams",1104557919)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"mission",
"mission",1740288522)),k=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"selected-teams","selected-teams",317107671)),l=cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"mission","mission",1740288522),new cljs.core.Keyword(null,"selected-teams","selected-teams",317107671),new cljs.core.Keyword(null,"selectable-teams","selectable-teams",1104557919));return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"margin-bottom","margin-bottom",388334941),"5px"],null),l,hoplon.core.loop_tpl_STAR_.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b){return a.call(null,b)}}(b,f,g,h,k,l,a,b,c)).call(null,weathergen.falcon.files.mission.teams,h),function(a,b,c,d,e,f,g,h,k){return function(l){var m=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[a],null)}}(a,b,c,d,e,f,g,h,k)).call(null,l)),n=cljs.core.nth.call(null,m,0,null);return weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a){return new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px",new cljs.core.Keyword(null,"padding","padding",1660304693),"3px",new cljs.core.Keyword(null,"border","border",1444987323),
[cljs.core.str.cljs$core$IFn$_invoke$arity$1("2px solid "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.common.team_color.call(null,a,new cljs.core.Keyword(null,"dark-text","dark-text",814777253)))].join(""),new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"top"],null)}}(m,n,a,b,c,d,e,f,g,h,k)).call(null,n),hoplon.core.img.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"border","border",1444987323),"solid 1px black"],null),new cljs.core.Keyword(null,"src","src",-1651076051),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a,b){return weathergen.ui.common.get_image.call(null,a,weathergen.falcon.files.mission.team_flag.call(null,a,b,new cljs.core.Keyword(null,"big-vert","big-vert",-1944398663)))}}(m,n,a,b,c,d,e,f,g,h,k)).call(null,d,n)),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center"],null),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a,b){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"color","color",1011675173),b.call(null,a,new cljs.core.Keyword(null,"dark-text","dark-text",814777253))],null)}}(m,n,a,b,c,d,e,f,g,h,k)).call(null,
n,weathergen.ui.common.team_color),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a,b,c){return a.call(null,b,(new cljs.core.Keyword(null,"who","who",-235935040)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"team","team",1355747699)).cljs$core$IFn$_invoke$arity$1(c)))}}(m,n,a,b,c,d,e,f,g,h,k)).call(null,weathergen.falcon.files.mission.team_name,d,n))),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center",new cljs.core.Keyword(null,"height","height",1025178622),"33px"],null),function(){var l=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a,b,c,d){return a.call(null,d,b.call(null,c))}}(m,n,a,b,c,d,e,f,g,h,k)).call(null,cljs.core.contains_QMARK_,weathergen.falcon.files.mission.team_number,n,e),p=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a,b,c,d){return a.call(null,
b,c.call(null,d))}}(l,m,n,a,b,c,d,e,f,g,h,k)).call(null,cljs.core.contains_QMARK_,c,weathergen.falcon.files.mission.team_number,n);return hoplon.core.input.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),"auto"],null),new cljs.core.Keyword(null,"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"toggle","toggle",1291842030),p,new cljs.core.Keyword(null,"value","value",305978217),
l,new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){return cljs.core.swap_BANG_.call(null,k,cljs.core.comp.call(null,cljs.core.set,cljs.core.truth_(cljs.core.deref.call(null,a))?cljs.core.disj:cljs.core.conj),weathergen.falcon.files.mission.team_number.call(null,cljs.core.deref.call(null,d)))}}(l,p,m,n,a,b,c,d,e,f,g,h,k))}()))}}(b,f,g,h,k,l,a,b,c)))},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<
e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.common.side_selector=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"selected-sides","selected-sides",-922979619)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"mission","mission",
1740288522)),k=cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"mission","mission",1740288522),new cljs.core.Keyword(null,"selected-sides","selected-sides",-922979619));return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),"5px"],null),k,hoplon.core.loop_tpl_STAR_.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a,b){return b.call(null,
a)}}(b,f,g,h,k,a,b,c)).call(null,h,weathergen.falcon.files.mission.sides),function(a,b,c,d,e,f,g,h){return function(k){var l=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h)).call(null,k)),m=cljs.core.nth.call(null,l,0,null);return weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),
javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px",new cljs.core.Keyword(null,"padding","padding",1660304693),"3px",new cljs.core.Keyword(null,"border","border",1444987323),[cljs.core.str.cljs$core$IFn$_invoke$arity$1("2px solid "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.common.team_color.call(null,a,new cljs.core.Keyword(null,"dark-text",
"dark-text",814777253)))].join(""),new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center"],null)}}(l,m,a,b,c,d,e,f,g,h)).call(null,m),hoplon.core.loop_tpl_STAR_.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a,b,c){return b.call(null,a,c)}}(l,m,a,b,c,d,e,f,g,h)).call(null,d,weathergen.falcon.files.mission.teams_for_side,m),function(a,b,c,d,e,f,g,h,k,l){return function(m){m=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h,k,l)).call(null,m));var n=cljs.core.nth.call(null,m,0,null);return hoplon.core.img.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"border","border",1444987323),"solid 1px black",new cljs.core.Keyword(null,"padding-right","padding-right",-1250249681),"2px"],
null),new cljs.core.Keyword(null,"src","src",-1651076051),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a,b){return weathergen.ui.common.get_image.call(null,a,weathergen.falcon.files.mission.team_flag.call(null,a,b,new cljs.core.Keyword(null,"big-vert","big-vert",-1944398663)))}}(m,n,a,b,c,d,e,f,g,h,k,l)).call(null,f,n))}}(l,m,a,b,c,d,e,f,g,h)),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"text-align","text-align",1786091845),"center"],null),weathergen.ui.common.side_label.call(null,new cljs.core.Keyword(null,"mission","mission",1740288522),d,new cljs.core.Keyword(null,"side","side",389652279),m)),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center"],null),function(){var k=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a,
b,c,d){return a.call(null,b,c.call(null,d))}}(l,m,a,b,c,d,e,f,g,h)).call(null,cljs.core.contains_QMARK_,c,weathergen.falcon.files.mission.team_number,m);return hoplon.core.input.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),"auto"],null),new cljs.core.Keyword(null,"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"value","value",305978217),k,new cljs.core.Keyword(null,"change",
"change",-1163046502),function(a,b,c,d,e,f,g,h,k,l,m){return function(){return cljs.core.swap_BANG_.call(null,f,cljs.core.comp.call(null,cljs.core.set,cljs.core.truth_(cljs.core.deref.call(null,a))?cljs.core.disj:cljs.core.conj),weathergen.falcon.files.mission.team_number.call(null,cljs.core.deref.call(null,c)))}}(k,l,m,a,b,c,d,e,f,g,h))}()))}}(b,f,g,h,k,a,b,c)))},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,
0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.common.dropdown=function(){var a=function(a){var b=hoplon.core.parse_args.call(null,a),c=cljs.core.nth.call(null,b,0,null),f=cljs.core.nth.call(null,b,1,null),g=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,h=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"value","value",305978217)),k=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"choices","choices",1385611597)),l=cljs.core.dissoc.call(null,
c,new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"choices","choices",1385611597)),m=cljs.core.map_indexed.call(null,function(a,b,c,d,e,f,g,h){return function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.assoc.call(null,b,new cljs.core.Keyword("weathergen.ui.common","index","weathergen.ui.common/index",-813327910),""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a))],
null)}}(c,g,h,k,l,b,c,f),k),n=cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,m),p=hoplon.core.select.call(null);p.call(null,cljs.core.assoc.call(null,l,new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(n){return(new cljs.core.Keyword("weathergen.ui.common","index","weathergen.ui.common/index",-813327910)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,cljs.core.filter.call(null,function(a,b,c,
d,e,f,g,h,k,l,m){return function(a){return cljs.core._EQ_.call(null,n,(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(a))}}(a,b,c,d,e,f,g,h,k,l,m),cljs.core.vals.call(null,b))))}}(p,m,n,c,g,h,k,l,b,c,f)).call(null,h),new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e,f,g,h,k,l,m){return function(a){return cljs.core.reset_BANG_.call(null,f,(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(c.call(null,
cljs.core.deref.call(null,a))))}}(p,m,n,c,g,h,k,l,b,c,f)),function(){return function(a,b,c,d,e,f,g,h,k,l,m){return function C(n){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(){for(;;){var p=cljs.core.seq.call(null,n);if(p){var q=p;if(cljs.core.chunked_seq_QMARK_.call(null,q)){var r=cljs.core.chunk_first.call(null,q),u=cljs.core.count.call(null,r),t=cljs.core.chunk_buffer.call(null,u);return function(){for(var n=0;;)if(n<u){var v=cljs.core._nth.call(null,r,n),w=
cljs.core.nth.call(null,v,0,null),x=cljs.core.nth.call(null,v,1,null);cljs.core.chunk_append.call(null,t,hoplon.core.option.call(null,new cljs.core.Keyword(null,"value","value",305978217),w,new cljs.core.Keyword(null,"selected","selected",574897764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x){return function(a,b,c){return b.call(null,c,(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(a))}}(n,v,w,x,r,u,t,q,p,a,b,c,d,e,f,g,h,
k,l,m)).call(null,x,cljs.core._EQ_,f),(new cljs.core.Keyword(null,"label","label",1718410804)).cljs$core$IFn$_invoke$arity$1(x)));n+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,t),C.call(null,cljs.core.chunk_rest.call(null,q))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,t),null)}var v=cljs.core.first.call(null,q),w=cljs.core.nth.call(null,v,0,null),x=cljs.core.nth.call(null,v,1,null);return cljs.core.cons.call(null,hoplon.core.option.call(null,new cljs.core.Keyword(null,
"value","value",305978217),w,new cljs.core.Keyword(null,"selected","selected",574897764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a,b,c){return b.call(null,c,(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(a))}}(v,w,x,q,p,a,b,c,d,e,f,g,h,k,l,m)).call(null,x,cljs.core._EQ_,f),(new cljs.core.Keyword(null,"label","label",1718410804)).cljs$core$IFn$_invoke$arity$1(x)),C.call(null,cljs.core.rest.call(null,q)))}return null}}}(a,
b,c,d,e,f,g,h,k,l,m),null,null)}}(p,m,n,c,g,h,k,l,b,c,f).call(null,m)}());return p},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.common.radio_group=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"value","value",305978217)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"choices","choices",1385611597)),k=
cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"choices","choices",1385611597)),l=cljs.core.truth_(javelin.core.cell_QMARK_.call(null,h))?h:javelin.core.cell.call(null,h),m=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(l){return cljs.core.map_indexed.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),
cljs.core.assoc.call(null,b,new cljs.core.Keyword("weathergen.ui.common","index","weathergen.ui.common/index",-813327910),""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a))],null)}}(a,b,c,d,e,f,g,h,k),l)}}(l,b,f,g,h,k,a,b,c)).call(null,l),n=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,a)}}(l,m,b,f,g,h,k,a,b,c)).call(null,m),p=""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.gensym);return hoplon.core.div.call(null,
hoplon.core.loop_tpl_STAR_.call(null,m,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(p){p=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h,k,l,m,n)).call(null,p));var q=cljs.core.nth.call(null,p,0,null),r=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(p,q,a,b,c,d,e,f,g,h,k,l,m,n)).call(null,q)),u=cljs.core.nth.call(null,r,0,null),t=cljs.core.nth.call(null,r,1,null),v=""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.gensym.call(null));return hoplon.core.div.call(null,hoplon.core.input.call(null,new cljs.core.Keyword(null,
"type","type",1174270348),"radio",new cljs.core.Keyword(null,"id","id",-1388402092),v,new cljs.core.Keyword(null,"name","name",1843675177),d,new cljs.core.Keyword(null,"value","value",305978217),t,new cljs.core.Keyword(null,"checked","checked",-50955819),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(a,b){return cljs.core._EQ_.call(null,a,(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(b))}}(v,r,u,t,p,q,a,b,c,d,e,
f,g,h,k,l,m,n)).call(null,g,u),new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(a){console.log("Radio is changing",a);return cljs.core.reset_BANG_.call(null,p,(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,cljs.core.deref.call(null,k),a.currentTarget.value)))}}(v,r,u,t,p,q,a,b,c,d,e,f,g,h,k,l,m,n)),hoplon.core.label.call(null,new cljs.core.Keyword(null,"for","for",
-1323786319),v,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(a){return(new cljs.core.Keyword(null,"label","label",1718410804)).cljs$core$IFn$_invoke$arity$1(a)}}(v,r,u,t,p,q,a,b,c,d,e,f,g,h,k,l,m,n)).call(null,u)))}}(l,m,n,p,b,f,g,h,k,a,b,c)))},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=
0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();weathergen.ui.common.versioned_local_storage=function(a,b){return hoplon.storage_atom.local_storage.call(null,javelin.core.cell.call(null,b),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.hash.call(null,b))].join(""))};
weathergen.ui.common.svg_scale=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return weathergen.ui.common.svg_scale.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return weathergen.ui.common.svg_scale.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
weathergen.ui.common.svg_scale.cljs$core$IFn$_invoke$arity$1=function(a){return goog.string.format("scale(%f)",a)};weathergen.ui.common.svg_scale.cljs$core$IFn$_invoke$arity$2=function(a,b){return goog.string.format("scale(%f,%f)",a,b)};weathergen.ui.common.svg_scale.cljs$lang$maxFixedArity=2;weathergen.ui.common.svg_translate=function(a,b){return goog.string.format("translate(%f,%f)",a,b)};weathergen.ui.common.svg_rotate=function(a){return goog.string.format("rotate(%f)",a)};
weathergen.ui.common.svg_xform_combine=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return weathergen.ui.common.svg_xform_combine.cljs$core$IFn$_invoke$arity$variadic(b)};weathergen.ui.common.svg_xform_combine.cljs$core$IFn$_invoke$arity$variadic=function(a){return clojure.string.join.call(null," ",a)};weathergen.ui.common.svg_xform_combine.cljs$lang$maxFixedArity=0;
weathergen.ui.common.svg_xform_combine.cljs$lang$applyTo=function(a){return weathergen.ui.common.svg_xform_combine.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};var interval_value_36650=.45,interval_36651=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(interval_value_36650),cljs.core.str.cljs$core$IFn$_invoke$arity$1("s")].join("");
weathergen.ui.common.register_styles_BANG_.call(null,new cljs.core.Keyword("weathergen.ui.common","animations","weathergen.ui.common/animations",338673555),new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[garden.stylesheet.at_keyframes.call(null,weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.common","pulse-animation","weathergen.ui.common/pulse-animation",-696492175)),
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"from","from",1815293044),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"opacity","opacity",397153780),1],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"to","to",192099007),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"opacity","opacity",397153780),0],null)],null))],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.ui.common.class_selector_for.call(null,new cljs.core.Keyword("weathergen.ui.common","pulse","weathergen.ui.common/pulse",-535065247)),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"animation-duration","animation-duration",-1261077706),interval_36651,new cljs.core.Keyword(null,"animation-name","animation-name",-302195330),weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.common","pulse-animation",
"weathergen.ui.common/pulse-animation",-696492175)),new cljs.core.Keyword(null,"animation-iteration-count","animation-iteration-count",-1410888227),"infinite",new cljs.core.Keyword(null,"animation-timing-function","animation-timing-function",-1186881521),"ease-in-out",new cljs.core.Keyword(null,"animation-direction","animation-direction",-362912441),"alternate",new cljs.core.Keyword(null,"animation-delay","animation-delay",-488570176),interval_36651],null)],null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[garden.stylesheet.at_keyframes.call(null,weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.common","collapse-animation","weathergen.ui.common/collapse-animation",-506320172)),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"from","from",1815293044),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"transform","transform",1381301764),weathergen.ui.common.svg_scale.call(null,
1),new cljs.core.Keyword(null,"stroke-dashoffset","stroke-dashoffset",-782320340),0],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"to","to",192099007),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"transform","transform",1381301764),weathergen.ui.common.svg_scale.call(null,.02),new cljs.core.Keyword(null,"stroke-dashoffset","stroke-dashoffset",-782320340),50],null)],null))],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.ui.common.class_selector_for.call(null,new cljs.core.Keyword("weathergen.ui.common","collapse","weathergen.ui.common/collapse",-901062267)),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"animation-duration","animation-duration",-1261077706),interval_36651,new cljs.core.Keyword(null,"animation-name","animation-name",-302195330),weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.common","collapse-animation",
"weathergen.ui.common/collapse-animation",-506320172)),new cljs.core.Keyword(null,"animation-iteration-count","animation-iteration-count",-1410888227),1,new cljs.core.Keyword(null,"animation-timing-function","animation-timing-function",-1186881521),"ease-out",new cljs.core.Keyword(null,"animation-direction","animation-direction",-362912441),"normal"],null)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[garden.stylesheet.at_keyframes.call(null,weathergen.ui.common.class_for.call(null,
new cljs.core.Keyword("weathergen.ui.common","delayed-fade-out-animation","weathergen.ui.common/delayed-fade-out-animation",-813416372)),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"from","from",1815293044),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"opacity","opacity",397153780),.35],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["80%",new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"opacity","opacity",397153780),.35],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"to","to",192099007),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"opacity","opacity",397153780),0],null)],null))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.ui.common.class_selector_for.call(null,new cljs.core.Keyword("weathergen.ui.common",
"delayed-fade-out","weathergen.ui.common/delayed-fade-out",1307931935)),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"animation-duration","animation-duration",-1261077706),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(interval_value_36650/.8),cljs.core.str.cljs$core$IFn$_invoke$arity$1("s")].join(""),new cljs.core.Keyword(null,"animation-name","animation-name",-302195330),weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.common","delayed-fade-out-animation",
"weathergen.ui.common/delayed-fade-out-animation",-813416372)),new cljs.core.Keyword(null,"animation-iteration-count","animation-iteration-count",-1410888227),1,new cljs.core.Keyword(null,"animation-timing-function","animation-timing-function",-1186881521),"ease-out",new cljs.core.Keyword(null,"animation-direction","animation-direction",-362912441),"normal"],null)],null)],null));
weathergen.ui.common.pulse_class=weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.common","pulse","weathergen.ui.common/pulse",-535065247));weathergen.ui.common.collapse_class=weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.common","collapse","weathergen.ui.common/collapse",-901062267));
weathergen.ui.common.delayed_fade_out_class=weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.common","delayed-fade-out","weathergen.ui.common/delayed-fade-out",1307931935));
weathergen.ui.common.heading=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return weathergen.ui.common.heading.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return weathergen.ui.common.heading.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
weathergen.ui.common.heading.cljs$core$IFn$_invoke$arity$1=function(a){return weathergen.ui.common.heading.call(null,cljs.core.PersistentArrayMap.EMPTY,a)};
weathergen.ui.common.heading.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"margin-top","margin-top",392161226));return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"color","color",1011675173),
"white",new cljs.core.Keyword(null,"background","background",-863952629),"black",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,cljs.core.truth_(c)?c:15),new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),weathergen.ui.common.px.call(null,5),new cljs.core.Keyword(null,"padding","padding",1660304693),weathergen.ui.common.px.call(null,2)],null),b)};weathergen.ui.common.heading.cljs$lang$maxFixedArity=2;
weathergen.ui.common.path_lens=function(a,b){return javelin.core.lens.call(null,javelin.core.formula.call(null,function(a){return cljs.core.get_in.call(null,a,b)}).call(null,a),function(c){return cljs.core.swap_BANG_.call(null,a,cljs.core.assoc_in,b,c)})};var rum={cursor:{}};rum.cursor.Cursor=function(a,b,c){this.ref=a;this.path=b;this.meta=c;this.cljs$lang$protocol_mask$partition0$=2153938944;this.cljs$lang$protocol_mask$partition1$=114690};rum.cursor.Cursor.prototype.equiv=function(a){return cljs.core._equiv.call(null,this,a)};
rum.cursor.Cursor.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){cljs.core._write.call(null,b,"#object [rum.cursor.Cursor ");cljs.core.pr_writer.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"val","val",128701612),cljs.core._deref.call(null,this)],null),b,c);return cljs.core._write.call(null,b,"]")};rum.cursor.Cursor.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta};
rum.cursor.Cursor.prototype.cljs$core$IHash$_hash$arity$1=function(a){return goog.getUid(this)};rum.cursor.Cursor.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return this===b};rum.cursor.Cursor.prototype.cljs$core$IReset$_reset_BANG_$arity$2=function(a,b){cljs.core.swap_BANG_.call(null,this.ref,cljs.core.assoc_in,this.path,b);return b};
rum.cursor.Cursor.prototype.cljs$core$ISwap$_swap_BANG_$arity$2=function(a,b){return cljs.core._reset_BANG_.call(null,this,b.call(null,cljs.core._deref.call(null,this)))};rum.cursor.Cursor.prototype.cljs$core$ISwap$_swap_BANG_$arity$3=function(a,b,c){return cljs.core._reset_BANG_.call(null,this,b.call(null,cljs.core._deref.call(null,this),c))};
rum.cursor.Cursor.prototype.cljs$core$ISwap$_swap_BANG_$arity$4=function(a,b,c,d){return cljs.core._reset_BANG_.call(null,this,b.call(null,cljs.core._deref.call(null,this),c,d))};rum.cursor.Cursor.prototype.cljs$core$ISwap$_swap_BANG_$arity$5=function(a,b,c,d,e){return cljs.core._reset_BANG_.call(null,this,cljs.core.apply.call(null,b,cljs.core._deref.call(null,this),c,d,e))};
rum.cursor.Cursor.prototype.cljs$core$IWatchable$_add_watch$arity$3=function(a,b,c){var d=this;cljs.core.add_watch.call(null,d.ref,cljs.core._conj.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,b),this),function(a){return function(e,g,h,k){e=cljs.core.get_in.call(null,h,d.path);k=cljs.core.get_in.call(null,k,d.path);return cljs.core.not_EQ_.call(null,e,k)?c.call(null,b,a,e,k):null}}(this));return this};
rum.cursor.Cursor.prototype.cljs$core$IWatchable$_remove_watch$arity$2=function(a,b){cljs.core.remove_watch.call(null,this.ref,cljs.core._conj.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,b),this));return this};rum.cursor.Cursor.prototype.cljs$core$IDeref$_deref$arity$1=function(a){return cljs.core.get_in.call(null,cljs.core._deref.call(null,this.ref),this.path)};
rum.cursor.Cursor.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"ref","ref",-1364538802,null),new cljs.core.Symbol(null,"path","path",1452340359,null),new cljs.core.Symbol(null,"meta","meta",-1154898805,null)],null)};rum.cursor.Cursor.cljs$lang$type=!0;rum.cursor.Cursor.cljs$lang$ctorStr="rum.cursor/Cursor";rum.cursor.Cursor.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"rum.cursor/Cursor")};
rum.cursor.__GT_Cursor=function(a,b,c){return new rum.cursor.Cursor(a,b,c)};rum.derived_atom={};
rum.derived_atom.derived_atom=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return rum.derived_atom.derived_atom.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return rum.derived_atom.derived_atom.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
rum.derived_atom.derived_atom.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return rum.derived_atom.derived_atom.call(null,a,b,c,cljs.core.PersistentArrayMap.EMPTY)};
rum.derived_atom.derived_atom.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){var e=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d,f=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"ref","ref",1289896967)),g=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"check-equals?","check-equals?",-2005755315),!0),h=function(){var b=cljs.core.count.call(null,a);switch(b){case 1:var h=cljs.core.nth.call(null,
a,0,null);return function(a,b,d,e,f,g,h){return function(){return c.call(null,cljs.core.deref.call(null,b))}}(a,h,b,d,e,f,g);case 2:var h=cljs.core.nth.call(null,a,0,null),k=cljs.core.nth.call(null,a,1,null);return function(a,b,d,e,f,g,h,k){return function(){return c.call(null,cljs.core.deref.call(null,b),cljs.core.deref.call(null,d))}}(a,h,k,b,d,e,f,g);case 3:var h=cljs.core.nth.call(null,a,0,null),k=cljs.core.nth.call(null,a,1,null),l=cljs.core.nth.call(null,a,2,null);return function(a,b,d,e,f,
g,h,k,l){return function(){return c.call(null,cljs.core.deref.call(null,b),cljs.core.deref.call(null,d),cljs.core.deref.call(null,e))}}(a,h,k,l,b,d,e,f,g);default:return function(b,d,e,f,g){return function(){return cljs.core.apply.call(null,c,cljs.core.map.call(null,cljs.core.deref,a))}}(b,d,e,f,g)}}();if(cljs.core.truth_(f)){cljs.core.reset_BANG_.call(null,f,h.call(null));var k=f}else k=cljs.core.atom.call(null,h.call(null));for(var h=cljs.core.truth_(g)?function(a,b,c,d,e,f){return function(a,b,
c,d){a=e.call(null);return cljs.core.not_EQ_.call(null,cljs.core.deref.call(null,f),a)?cljs.core.reset_BANG_.call(null,f,a):null}}(d,e,f,g,h,k):function(a,b,c,d,e,f){return function(a,b,c,d){return cljs.core.reset_BANG_.call(null,f,e.call(null))}}(d,e,f,g,h,k),l=cljs.core.seq.call(null,a),m=null,n=0,p=0;;)if(p<n){var q=cljs.core._nth.call(null,m,p);cljs.core.add_watch.call(null,q,b,h);p+=1}else if(l=cljs.core.seq.call(null,l))m=l,cljs.core.chunked_seq_QMARK_.call(null,m)?(l=cljs.core.chunk_first.call(null,
m),p=cljs.core.chunk_rest.call(null,m),m=l,n=cljs.core.count.call(null,l),l=p):(l=cljs.core.first.call(null,m),cljs.core.add_watch.call(null,l,b,h),l=cljs.core.next.call(null,m),m=null,n=0),p=0;else break;return k};rum.derived_atom.derived_atom.cljs$lang$maxFixedArity=4;goog.dom.BrowserFeature={CAN_ADD_NAME_OR_TYPE_ATTRIBUTES:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),CAN_USE_CHILDREN_ATTRIBUTE:!goog.userAgent.GECKO&&!goog.userAgent.IE||goog.userAgent.IE&&goog.userAgent.isDocumentModeOrHigher(9)||goog.userAgent.GECKO&&goog.userAgent.isVersionOrHigher("1.9.1"),CAN_USE_INNER_TEXT:goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),CAN_USE_PARENT_ELEMENT_PROPERTY:goog.userAgent.IE||goog.userAgent.OPERA||goog.userAgent.WEBKIT,INNER_HTML_NEEDS_SCOPED_ELEMENT:goog.userAgent.IE,
LEGACY_IE_RANGES:goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(9)};goog.dom.tags={};goog.dom.tags.VOID_TAGS_={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0};goog.dom.tags.isVoidTag=function(a){return!0===goog.dom.tags.VOID_TAGS_[a]};goog.string.TypedString=function(){};goog.string.Const=function(){this.stringConstValueWithSecurityContract__googStringSecurityPrivate_="";this.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_=goog.string.Const.TYPE_MARKER_};goog.string.Const.prototype.implementsGoogStringTypedString=!0;goog.string.Const.prototype.getTypedStringValue=function(){return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_};
goog.string.Const.prototype.toString=function(){return"Const{"+this.stringConstValueWithSecurityContract__googStringSecurityPrivate_+"}"};goog.string.Const.unwrap=function(a){if(a instanceof goog.string.Const&&a.constructor===goog.string.Const&&a.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_===goog.string.Const.TYPE_MARKER_)return a.stringConstValueWithSecurityContract__googStringSecurityPrivate_;goog.asserts.fail("expected object of type Const, got '"+a+"'");return"type_error:Const"};
goog.string.Const.from=function(a){return goog.string.Const.create__googStringSecurityPrivate_(a)};goog.string.Const.TYPE_MARKER_={};goog.string.Const.create__googStringSecurityPrivate_=function(a){var b=new goog.string.Const;b.stringConstValueWithSecurityContract__googStringSecurityPrivate_=a;return b};goog.string.Const.EMPTY=goog.string.Const.from("");goog.html={};goog.html.SafeScript=function(){this.privateDoNotAccessOrElseSafeScriptWrappedValue_="";this.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.SafeScript.prototype.implementsGoogStringTypedString=!0;goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};goog.html.SafeScript.fromConstant=function(a){a=goog.string.Const.unwrap(a);return 0===a.length?goog.html.SafeScript.EMPTY:goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(a)};
goog.html.SafeScript.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeScriptWrappedValue_};goog.DEBUG&&(goog.html.SafeScript.prototype.toString=function(){return"SafeScript{"+this.privateDoNotAccessOrElseSafeScriptWrappedValue_+"}"});
goog.html.SafeScript.unwrap=function(a){if(a instanceof goog.html.SafeScript&&a.constructor===goog.html.SafeScript&&a.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseSafeScriptWrappedValue_;goog.asserts.fail("expected object of type SafeScript, got '"+a+"' of type "+goog.typeOf(a));return"type_error:SafeScript"};goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse=function(a){return(new goog.html.SafeScript).initSecurityPrivateDoNotAccessOrElse_(a)};
goog.html.SafeScript.prototype.initSecurityPrivateDoNotAccessOrElse_=function(a){this.privateDoNotAccessOrElseSafeScriptWrappedValue_=a;return this};goog.html.SafeScript.EMPTY=goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse("");goog.html.SafeStyle=function(){this.privateDoNotAccessOrElseSafeStyleWrappedValue_="";this.SAFE_STYLE_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.SafeStyle.prototype.implementsGoogStringTypedString=!0;goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};
goog.html.SafeStyle.fromConstant=function(a){a=goog.string.Const.unwrap(a);if(0===a.length)return goog.html.SafeStyle.EMPTY;goog.html.SafeStyle.checkStyle_(a);goog.asserts.assert(goog.string.endsWith(a,";"),"Last character of style string is not ';': "+a);goog.asserts.assert(goog.string.contains(a,":"),"Style string must contain at least one ':', to specify a \"name: value\" pair: "+a);return goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(a)};
goog.html.SafeStyle.checkStyle_=function(a){goog.asserts.assert(!/[<>]/.test(a),"Forbidden characters in style string: "+a)};goog.html.SafeStyle.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeStyleWrappedValue_};goog.DEBUG&&(goog.html.SafeStyle.prototype.toString=function(){return"SafeStyle{"+this.privateDoNotAccessOrElseSafeStyleWrappedValue_+"}"});
goog.html.SafeStyle.unwrap=function(a){if(a instanceof goog.html.SafeStyle&&a.constructor===goog.html.SafeStyle&&a.SAFE_STYLE_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseSafeStyleWrappedValue_;goog.asserts.fail("expected object of type SafeStyle, got '"+a+"' of type "+goog.typeOf(a));return"type_error:SafeStyle"};goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse=function(a){return(new goog.html.SafeStyle).initSecurityPrivateDoNotAccessOrElse_(a)};
goog.html.SafeStyle.prototype.initSecurityPrivateDoNotAccessOrElse_=function(a){this.privateDoNotAccessOrElseSafeStyleWrappedValue_=a;return this};goog.html.SafeStyle.EMPTY=goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse("");goog.html.SafeStyle.INNOCUOUS_STRING="zClosurez";
goog.html.SafeStyle.create=function(a){var b="",c;for(c in a){if(!/^[-_a-zA-Z0-9]+$/.test(c))throw Error("Name allows only [-_a-zA-Z0-9], got: "+c);var d=a[c];null!=d&&(d instanceof goog.string.Const?(d=goog.string.Const.unwrap(d),goog.asserts.assert(!/[{;}]/.test(d),"Value does not allow [{;}].")):goog.html.SafeStyle.VALUE_RE_.test(d)?goog.html.SafeStyle.hasBalancedQuotes_(d)||(goog.asserts.fail("String value requires balanced quotes, got: "+d),d=goog.html.SafeStyle.INNOCUOUS_STRING):(goog.asserts.fail("String value allows only [-,.\"'%_!# a-zA-Z0-9], rgb() and rgba(), got: "+
d),d=goog.html.SafeStyle.INNOCUOUS_STRING),b+=c+":"+d+";")}if(!b)return goog.html.SafeStyle.EMPTY;goog.html.SafeStyle.checkStyle_(b);return goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(b)};goog.html.SafeStyle.hasBalancedQuotes_=function(a){for(var b=!0,c=!0,d=0;d<a.length;d++){var e=a.charAt(d);"'"==e&&c?b=!b:'"'==e&&b&&(c=!c)}return b&&c};goog.html.SafeStyle.VALUE_RE_=/^([-,."'%_!# a-zA-Z0-9]+|(?:rgb|hsl)a?\([0-9.%, ]+\))$/;
goog.html.SafeStyle.concat=function(a){var b="",c=function(a){goog.isArray(a)?goog.array.forEach(a,c):b+=goog.html.SafeStyle.unwrap(a)};goog.array.forEach(arguments,c);return b?goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(b):goog.html.SafeStyle.EMPTY};goog.html.SafeStyleSheet=function(){this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_="";this.SAFE_STYLE_SHEET_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.SafeStyleSheet.prototype.implementsGoogStringTypedString=!0;goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};
goog.html.SafeStyleSheet.concat=function(a){var b="",c=function(a){goog.isArray(a)?goog.array.forEach(a,c):b+=goog.html.SafeStyleSheet.unwrap(a)};goog.array.forEach(arguments,c);return goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(b)};
goog.html.SafeStyleSheet.fromConstant=function(a){a=goog.string.Const.unwrap(a);if(0===a.length)return goog.html.SafeStyleSheet.EMPTY;goog.asserts.assert(!goog.string.contains(a,"\x3c"),"Forbidden '\x3c' character in style sheet string: "+a);return goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(a)};goog.html.SafeStyleSheet.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_};
goog.DEBUG&&(goog.html.SafeStyleSheet.prototype.toString=function(){return"SafeStyleSheet{"+this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_+"}"});
goog.html.SafeStyleSheet.unwrap=function(a){if(a instanceof goog.html.SafeStyleSheet&&a.constructor===goog.html.SafeStyleSheet&&a.SAFE_STYLE_SHEET_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_;goog.asserts.fail("expected object of type SafeStyleSheet, got '"+a+"' of type "+goog.typeOf(a));return"type_error:SafeStyleSheet"};
goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse=function(a){return(new goog.html.SafeStyleSheet).initSecurityPrivateDoNotAccessOrElse_(a)};goog.html.SafeStyleSheet.prototype.initSecurityPrivateDoNotAccessOrElse_=function(a){this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_=a;return this};goog.html.SafeStyleSheet.EMPTY=goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse("");goog.fs={};goog.fs.url={};goog.fs.url.createObjectUrl=function(a){return goog.fs.url.getUrlObject_().createObjectURL(a)};goog.fs.url.revokeObjectUrl=function(a){goog.fs.url.getUrlObject_().revokeObjectURL(a)};goog.fs.url.getUrlObject_=function(){var a=goog.fs.url.findUrlObject_();if(null!=a)return a;throw Error("This browser doesn't seem to support blob URLs");};
goog.fs.url.findUrlObject_=function(){return goog.isDef(goog.global.URL)&&goog.isDef(goog.global.URL.createObjectURL)?goog.global.URL:goog.isDef(goog.global.webkitURL)&&goog.isDef(goog.global.webkitURL.createObjectURL)?goog.global.webkitURL:goog.isDef(goog.global.createObjectURL)?goog.global:null};goog.fs.url.browserSupportsObjectUrls=function(){return null!=goog.fs.url.findUrlObject_()};goog.i18n={};goog.i18n.bidi={};goog.i18n.bidi.FORCE_RTL=!1;
goog.i18n.bidi.IS_RTL=goog.i18n.bidi.FORCE_RTL||("ar"==goog.LOCALE.substring(0,2).toLowerCase()||"fa"==goog.LOCALE.substring(0,2).toLowerCase()||"he"==goog.LOCALE.substring(0,2).toLowerCase()||"iw"==goog.LOCALE.substring(0,2).toLowerCase()||"ps"==goog.LOCALE.substring(0,2).toLowerCase()||"sd"==goog.LOCALE.substring(0,2).toLowerCase()||"ug"==goog.LOCALE.substring(0,2).toLowerCase()||"ur"==goog.LOCALE.substring(0,2).toLowerCase()||"yi"==goog.LOCALE.substring(0,2).toLowerCase())&&(2==goog.LOCALE.length||
"-"==goog.LOCALE.substring(2,3)||"_"==goog.LOCALE.substring(2,3))||3<=goog.LOCALE.length&&"ckb"==goog.LOCALE.substring(0,3).toLowerCase()&&(3==goog.LOCALE.length||"-"==goog.LOCALE.substring(3,4)||"_"==goog.LOCALE.substring(3,4));goog.i18n.bidi.Format={LRE:"‪",RLE:"‫",PDF:"‬",LRM:"‎",RLM:"‏"};goog.i18n.bidi.Dir={LTR:1,RTL:-1,NEUTRAL:0};goog.i18n.bidi.RIGHT="right";goog.i18n.bidi.LEFT="left";goog.i18n.bidi.I18N_RIGHT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.LEFT:goog.i18n.bidi.RIGHT;
goog.i18n.bidi.I18N_LEFT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT;goog.i18n.bidi.toDir=function(a,b){return"number"==typeof a?0<a?goog.i18n.bidi.Dir.LTR:0>a?goog.i18n.bidi.Dir.RTL:b?null:goog.i18n.bidi.Dir.NEUTRAL:null==a?null:a?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR};goog.i18n.bidi.ltrChars_="A-Za-zÀ-ÖØ-öø-ʸ̀-֐ࠀ-῿‎Ⰰ-﬜︀-﹯﻽-";goog.i18n.bidi.rtlChars_="֑-ۯۺ-߿‏יִ-﷿ﹰ-ﻼ";goog.i18n.bidi.htmlSkipReg_=/<[^>]*>|&[^;]+;/g;
goog.i18n.bidi.stripHtmlIfNeeded_=function(a,b){return b?a.replace(goog.i18n.bidi.htmlSkipReg_,""):a};goog.i18n.bidi.rtlCharReg_=new RegExp("["+goog.i18n.bidi.rtlChars_+"]");goog.i18n.bidi.ltrCharReg_=new RegExp("["+goog.i18n.bidi.ltrChars_+"]");goog.i18n.bidi.hasAnyRtl=function(a,b){return goog.i18n.bidi.rtlCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.hasRtlChar=goog.i18n.bidi.hasAnyRtl;
goog.i18n.bidi.hasAnyLtr=function(a,b){return goog.i18n.bidi.ltrCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.ltrRe_=new RegExp("^["+goog.i18n.bidi.ltrChars_+"]");goog.i18n.bidi.rtlRe_=new RegExp("^["+goog.i18n.bidi.rtlChars_+"]");goog.i18n.bidi.isRtlChar=function(a){return goog.i18n.bidi.rtlRe_.test(a)};goog.i18n.bidi.isLtrChar=function(a){return goog.i18n.bidi.ltrRe_.test(a)};goog.i18n.bidi.isNeutralChar=function(a){return!goog.i18n.bidi.isLtrChar(a)&&!goog.i18n.bidi.isRtlChar(a)};
goog.i18n.bidi.ltrDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.rtlChars_+"]*["+goog.i18n.bidi.ltrChars_+"]");goog.i18n.bidi.rtlDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.ltrChars_+"]*["+goog.i18n.bidi.rtlChars_+"]");goog.i18n.bidi.startsWithRtl=function(a,b){return goog.i18n.bidi.rtlDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.isRtlText=goog.i18n.bidi.startsWithRtl;
goog.i18n.bidi.startsWithLtr=function(a,b){return goog.i18n.bidi.ltrDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.isLtrText=goog.i18n.bidi.startsWithLtr;goog.i18n.bidi.isRequiredLtrRe_=/^http:\/\/.*/;goog.i18n.bidi.isNeutralText=function(a,b){a=goog.i18n.bidi.stripHtmlIfNeeded_(a,b);return goog.i18n.bidi.isRequiredLtrRe_.test(a)||!goog.i18n.bidi.hasAnyLtr(a)&&!goog.i18n.bidi.hasAnyRtl(a)};
goog.i18n.bidi.ltrExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.ltrChars_+"][^"+goog.i18n.bidi.rtlChars_+"]*$");goog.i18n.bidi.rtlExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.rtlChars_+"][^"+goog.i18n.bidi.ltrChars_+"]*$");goog.i18n.bidi.endsWithLtr=function(a,b){return goog.i18n.bidi.ltrExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.isLtrExitText=goog.i18n.bidi.endsWithLtr;
goog.i18n.bidi.endsWithRtl=function(a,b){return goog.i18n.bidi.rtlExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.isRtlExitText=goog.i18n.bidi.endsWithRtl;goog.i18n.bidi.rtlLocalesRe_=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Arab|Hebr|Thaa|Nkoo|Tfng))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;goog.i18n.bidi.isRtlLanguage=function(a){return goog.i18n.bidi.rtlLocalesRe_.test(a)};goog.i18n.bidi.bracketGuardTextRe_=/(\(.*?\)+)|(\[.*?\]+)|(\{.*?\}+)|(<.*?>+)/g;
goog.i18n.bidi.guardBracketInText=function(a,b){var c=(void 0===b?goog.i18n.bidi.hasAnyRtl(a):b)?goog.i18n.bidi.Format.RLM:goog.i18n.bidi.Format.LRM;return a.replace(goog.i18n.bidi.bracketGuardTextRe_,c+"$\x26"+c)};goog.i18n.bidi.enforceRtlInHtml=function(a){return"\x3c"==a.charAt(0)?a.replace(/<\w+/,"$\x26 dir\x3drtl"):"\n\x3cspan dir\x3drtl\x3e"+a+"\x3c/span\x3e"};goog.i18n.bidi.enforceRtlInText=function(a){return goog.i18n.bidi.Format.RLE+a+goog.i18n.bidi.Format.PDF};
goog.i18n.bidi.enforceLtrInHtml=function(a){return"\x3c"==a.charAt(0)?a.replace(/<\w+/,"$\x26 dir\x3dltr"):"\n\x3cspan dir\x3dltr\x3e"+a+"\x3c/span\x3e"};goog.i18n.bidi.enforceLtrInText=function(a){return goog.i18n.bidi.Format.LRE+a+goog.i18n.bidi.Format.PDF};goog.i18n.bidi.dimensionsRe_=/:\s*([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)/g;goog.i18n.bidi.leftRe_=/left/gi;goog.i18n.bidi.rightRe_=/right/gi;goog.i18n.bidi.tempRe_=/%%%%/g;
goog.i18n.bidi.mirrorCSS=function(a){return a.replace(goog.i18n.bidi.dimensionsRe_,":$1 $4 $3 $2").replace(goog.i18n.bidi.leftRe_,"%%%%").replace(goog.i18n.bidi.rightRe_,goog.i18n.bidi.LEFT).replace(goog.i18n.bidi.tempRe_,goog.i18n.bidi.RIGHT)};goog.i18n.bidi.doubleQuoteSubstituteRe_=/([\u0591-\u05f2])"/g;goog.i18n.bidi.singleQuoteSubstituteRe_=/([\u0591-\u05f2])'/g;
goog.i18n.bidi.normalizeHebrewQuote=function(a){return a.replace(goog.i18n.bidi.doubleQuoteSubstituteRe_,"$1״").replace(goog.i18n.bidi.singleQuoteSubstituteRe_,"$1׳")};goog.i18n.bidi.wordSeparatorRe_=/\s+/;goog.i18n.bidi.hasNumeralsRe_=/[\d\u06f0-\u06f9]/;goog.i18n.bidi.rtlDetectionThreshold_=.4;
goog.i18n.bidi.estimateDirection=function(a,b){for(var c=0,d=0,e=!1,f=goog.i18n.bidi.stripHtmlIfNeeded_(a,b).split(goog.i18n.bidi.wordSeparatorRe_),g=0;g<f.length;g++){var h=f[g];goog.i18n.bidi.startsWithRtl(h)?(c++,d++):goog.i18n.bidi.isRequiredLtrRe_.test(h)?e=!0:goog.i18n.bidi.hasAnyLtr(h)?d++:goog.i18n.bidi.hasNumeralsRe_.test(h)&&(e=!0)}return 0==d?e?goog.i18n.bidi.Dir.LTR:goog.i18n.bidi.Dir.NEUTRAL:c/d>goog.i18n.bidi.rtlDetectionThreshold_?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR};
goog.i18n.bidi.detectRtlDirectionality=function(a,b){return goog.i18n.bidi.estimateDirection(a,b)==goog.i18n.bidi.Dir.RTL};goog.i18n.bidi.setElementDirAndAlign=function(a,b){a&&(b=goog.i18n.bidi.toDir(b))&&(a.style.textAlign=b==goog.i18n.bidi.Dir.RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,a.dir=b==goog.i18n.bidi.Dir.RTL?"rtl":"ltr")};
goog.i18n.bidi.setElementDirByTextDirectionality=function(a,b){switch(goog.i18n.bidi.estimateDirection(b)){case goog.i18n.bidi.Dir.LTR:a.dir="ltr";break;case goog.i18n.bidi.Dir.RTL:a.dir="rtl";break;default:a.removeAttribute("dir")}};goog.i18n.bidi.DirectionalString=function(){};goog.html.TrustedResourceUrl=function(){this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_="";this.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.TrustedResourceUrl.prototype.implementsGoogStringTypedString=!0;goog.html.TrustedResourceUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_};
goog.html.TrustedResourceUrl.prototype.implementsGoogI18nBidiDirectionalString=!0;goog.html.TrustedResourceUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR};goog.DEBUG&&(goog.html.TrustedResourceUrl.prototype.toString=function(){return"TrustedResourceUrl{"+this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_+"}"});
goog.html.TrustedResourceUrl.unwrap=function(a){if(a instanceof goog.html.TrustedResourceUrl&&a.constructor===goog.html.TrustedResourceUrl&&a.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_;goog.asserts.fail("expected object of type TrustedResourceUrl, got '"+a+"' of type "+goog.typeOf(a));return"type_error:TrustedResourceUrl"};
goog.html.TrustedResourceUrl.format=function(a,b){var c=goog.string.Const.unwrap(a);if(!goog.html.TrustedResourceUrl.BASE_URL_.test(c))throw Error("Invalid TrustedResourceUrl format: "+c);var d=c.replace(goog.html.TrustedResourceUrl.FORMAT_MARKER_,function(a,d){if(!Object.prototype.hasOwnProperty.call(b,d))throw Error('Found marker, "'+d+'", in format string, "'+c+'", but no valid label mapping found in args: '+JSON.stringify(b));var e=b[d];return e instanceof goog.string.Const?goog.string.Const.unwrap(e):
encodeURIComponent(String(e))});return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(d)};goog.html.TrustedResourceUrl.FORMAT_MARKER_=/%{(\w+)}/g;goog.html.TrustedResourceUrl.BASE_URL_=/^(?:https:)?\/\/[0-9a-z.:[\]-]+\/|^\/[^\/\\]|^about:blank(#|$)/i;goog.html.TrustedResourceUrl.fromConstant=function(a){return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(a))};
goog.html.TrustedResourceUrl.fromConstants=function(a){for(var b="",c=0;c<a.length;c++)b+=goog.string.Const.unwrap(a[c]);return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(b)};goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse=function(a){var b=new goog.html.TrustedResourceUrl;b.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_=a;return b};goog.html.SafeUrl=function(){this.privateDoNotAccessOrElseSafeHtmlWrappedValue_="";this.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.SafeUrl.INNOCUOUS_STRING="about:invalid#zClosurez";goog.html.SafeUrl.prototype.implementsGoogStringTypedString=!0;goog.html.SafeUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_};
goog.html.SafeUrl.prototype.implementsGoogI18nBidiDirectionalString=!0;goog.html.SafeUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR};goog.DEBUG&&(goog.html.SafeUrl.prototype.toString=function(){return"SafeUrl{"+this.privateDoNotAccessOrElseSafeHtmlWrappedValue_+"}"});
goog.html.SafeUrl.unwrap=function(a){if(a instanceof goog.html.SafeUrl&&a.constructor===goog.html.SafeUrl&&a.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseSafeHtmlWrappedValue_;goog.asserts.fail("expected object of type SafeUrl, got '"+a+"' of type "+goog.typeOf(a));return"type_error:SafeUrl"};goog.html.SafeUrl.fromConstant=function(a){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(a))};
goog.html.SAFE_MIME_TYPE_PATTERN_=/^(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm))$/i;goog.html.SafeUrl.fromBlob=function(a){a=goog.html.SAFE_MIME_TYPE_PATTERN_.test(a.type)?goog.fs.url.createObjectUrl(a):goog.html.SafeUrl.INNOCUOUS_STRING;return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};goog.html.DATA_URL_PATTERN_=/^data:([^;,]*);base64,[a-z0-9+\/]+=*$/i;
goog.html.SafeUrl.fromDataUrl=function(a){var b=a.match(goog.html.DATA_URL_PATTERN_),b=b&&goog.html.SAFE_MIME_TYPE_PATTERN_.test(b[1]);return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(b?a:goog.html.SafeUrl.INNOCUOUS_STRING)};goog.html.SafeUrl.fromTelUrl=function(a){goog.string.caseInsensitiveStartsWith(a,"tel:")||(a=goog.html.SafeUrl.INNOCUOUS_STRING);return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};goog.html.SafeUrl.fromTrustedResourceUrl=function(a){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.html.TrustedResourceUrl.unwrap(a))};
goog.html.SAFE_URL_PATTERN_=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;goog.html.SafeUrl.sanitize=function(a){if(a instanceof goog.html.SafeUrl)return a;a=a.implementsGoogStringTypedString?a.getTypedStringValue():String(a);goog.html.SAFE_URL_PATTERN_.test(a)||(a=goog.html.SafeUrl.INNOCUOUS_STRING);return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};
goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse=function(a){var b=new goog.html.SafeUrl;b.privateDoNotAccessOrElseSafeHtmlWrappedValue_=a;return b};goog.html.SafeUrl.ABOUT_BLANK=goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse("about:blank");goog.html.SafeHtml=function(){this.privateDoNotAccessOrElseSafeHtmlWrappedValue_="";this.SAFE_HTML_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_;this.dir_=null};goog.html.SafeHtml.prototype.implementsGoogI18nBidiDirectionalString=!0;goog.html.SafeHtml.prototype.getDirection=function(){return this.dir_};goog.html.SafeHtml.prototype.implementsGoogStringTypedString=!0;goog.html.SafeHtml.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_};
goog.DEBUG&&(goog.html.SafeHtml.prototype.toString=function(){return"SafeHtml{"+this.privateDoNotAccessOrElseSafeHtmlWrappedValue_+"}"});
goog.html.SafeHtml.unwrap=function(a){if(a instanceof goog.html.SafeHtml&&a.constructor===goog.html.SafeHtml&&a.SAFE_HTML_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseSafeHtmlWrappedValue_;goog.asserts.fail("expected object of type SafeHtml, got '"+a+"' of type "+goog.typeOf(a));return"type_error:SafeHtml"};
goog.html.SafeHtml.htmlEscape=function(a){if(a instanceof goog.html.SafeHtml)return a;var b=null;a.implementsGoogI18nBidiDirectionalString&&(b=a.getDirection());a=a.implementsGoogStringTypedString?a.getTypedStringValue():String(a);return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.htmlEscape(a),b)};
goog.html.SafeHtml.htmlEscapePreservingNewlines=function(a){if(a instanceof goog.html.SafeHtml)return a;a=goog.html.SafeHtml.htmlEscape(a);return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.newLineToBr(goog.html.SafeHtml.unwrap(a)),a.getDirection())};
goog.html.SafeHtml.htmlEscapePreservingNewlinesAndSpaces=function(a){if(a instanceof goog.html.SafeHtml)return a;a=goog.html.SafeHtml.htmlEscape(a);return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.whitespaceEscape(goog.html.SafeHtml.unwrap(a)),a.getDirection())};goog.html.SafeHtml.from=goog.html.SafeHtml.htmlEscape;goog.html.SafeHtml.VALID_NAMES_IN_TAG_=/^[a-zA-Z0-9-]+$/;
goog.html.SafeHtml.URL_ATTRIBUTES_={action:!0,cite:!0,data:!0,formaction:!0,href:!0,manifest:!0,poster:!0,src:!0};goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_={APPLET:!0,BASE:!0,EMBED:!0,IFRAME:!0,LINK:!0,MATH:!0,META:!0,OBJECT:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0};goog.html.SafeHtml.create=function(a,b,c){goog.html.SafeHtml.verifyTagName(String(a));return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(String(a),b,c)};
goog.html.SafeHtml.verifyTagName=function(a){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(a))throw Error("Invalid tag name \x3c"+a+"\x3e.");if(a.toUpperCase()in goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_)throw Error("Tag name \x3c"+a+"\x3e is not allowed for SafeHtml.");};
goog.html.SafeHtml.createIframe=function(a,b,c,d){a&&goog.html.TrustedResourceUrl.unwrap(a);var e={};e.src=a||null;e.srcdoc=b&&goog.html.SafeHtml.unwrap(b);a=goog.html.SafeHtml.combineAttributes(e,{sandbox:""},c);return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",a,d)};
goog.html.SafeHtml.createSandboxIframe=function(a,b,c,d){if(!goog.html.SafeHtml.canUseSandboxIframe())throw Error("The browser does not support sandboxed iframes.");var e={};e.src=a?goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(a)):null;e.srcdoc=b||null;e.sandbox="";a=goog.html.SafeHtml.combineAttributes(e,{},c);return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",a,d)};
goog.html.SafeHtml.canUseSandboxIframe=function(){return goog.global.HTMLIFrameElement&&"sandbox"in goog.global.HTMLIFrameElement.prototype};goog.html.SafeHtml.createScriptSrc=function(a,b){goog.html.TrustedResourceUrl.unwrap(a);var c=goog.html.SafeHtml.combineAttributes({src:a},{},b);return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script",c)};
goog.html.SafeHtml.createScript=function(a,b){for(var c in b){var d=c.toLowerCase();if("language"==d||"src"==d||"text"==d||"type"==d)throw Error('Cannot set "'+d+'" attribute');}c="";a=goog.array.concat(a);for(d=0;d<a.length;d++)c+=goog.html.SafeScript.unwrap(a[d]);c=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(c,goog.i18n.bidi.Dir.NEUTRAL);return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script",b,c)};
goog.html.SafeHtml.createStyle=function(a,b){var c=goog.html.SafeHtml.combineAttributes({type:"text/css"},{},b),d="";a=goog.array.concat(a);for(var e=0;e<a.length;e++)d+=goog.html.SafeStyleSheet.unwrap(a[e]);d=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(d,goog.i18n.bidi.Dir.NEUTRAL);return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("style",c,d)};
goog.html.SafeHtml.createMetaRefresh=function(a,b){var c=goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(a));(goog.labs.userAgent.browser.isIE()||goog.labs.userAgent.browser.isEdge())&&goog.string.contains(c,";")&&(c="'"+c.replace(/'/g,"%27")+"'");return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("meta",{"http-equiv":"refresh",content:(b||0)+"; url\x3d"+c})};
goog.html.SafeHtml.getAttrNameAndValue_=function(a,b,c){if(c instanceof goog.string.Const)c=goog.string.Const.unwrap(c);else if("style"==b.toLowerCase())c=goog.html.SafeHtml.getStyleValue_(c);else{if(/^on/i.test(b))throw Error('Attribute "'+b+'" requires goog.string.Const value, "'+c+'" given.');if(b.toLowerCase()in goog.html.SafeHtml.URL_ATTRIBUTES_)if(c instanceof goog.html.TrustedResourceUrl)c=goog.html.TrustedResourceUrl.unwrap(c);else if(c instanceof goog.html.SafeUrl)c=goog.html.SafeUrl.unwrap(c);
else if(goog.isString(c))c=goog.html.SafeUrl.sanitize(c).getTypedStringValue();else throw Error('Attribute "'+b+'" on tag "'+a+'" requires goog.html.SafeUrl, goog.string.Const, or string, value "'+c+'" given.');}c.implementsGoogStringTypedString&&(c=c.getTypedStringValue());goog.asserts.assert(goog.isString(c)||goog.isNumber(c),"String or number value expected, got "+typeof c+" with value: "+c);return b+'\x3d"'+goog.string.htmlEscape(String(c))+'"'};
goog.html.SafeHtml.getStyleValue_=function(a){if(!goog.isObject(a))throw Error('The "style" attribute requires goog.html.SafeStyle or map of style properties, '+typeof a+" given: "+a);a instanceof goog.html.SafeStyle||(a=goog.html.SafeStyle.create(a));return goog.html.SafeStyle.unwrap(a)};goog.html.SafeHtml.createWithDir=function(a,b,c,d){b=goog.html.SafeHtml.create(b,c,d);b.dir_=a;return b};
goog.html.SafeHtml.concat=function(a){var b=goog.i18n.bidi.Dir.NEUTRAL,c="",d=function(a){goog.isArray(a)?goog.array.forEach(a,d):(a=goog.html.SafeHtml.htmlEscape(a),c+=goog.html.SafeHtml.unwrap(a),a=a.getDirection(),b==goog.i18n.bidi.Dir.NEUTRAL?b=a:a!=goog.i18n.bidi.Dir.NEUTRAL&&b!=a&&(b=null))};goog.array.forEach(arguments,d);return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(c,b)};
goog.html.SafeHtml.concatWithDir=function(a,b){var c=goog.html.SafeHtml.concat(goog.array.slice(arguments,1));c.dir_=a;return c};goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse=function(a,b){return(new goog.html.SafeHtml).initSecurityPrivateDoNotAccessOrElse_(a,b)};goog.html.SafeHtml.prototype.initSecurityPrivateDoNotAccessOrElse_=function(a,b){this.privateDoNotAccessOrElseSafeHtmlWrappedValue_=a;this.dir_=b;return this};
goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse=function(a,b,c){var d=null;var e="\x3c"+a+goog.html.SafeHtml.stringifyAttributes(a,b);goog.isDefAndNotNull(c)?goog.isArray(c)||(c=[c]):c=[];goog.dom.tags.isVoidTag(a.toLowerCase())?(goog.asserts.assert(!c.length,"Void tag \x3c"+a+"\x3e does not allow content."),e+="\x3e"):(d=goog.html.SafeHtml.concat(c),e+="\x3e"+goog.html.SafeHtml.unwrap(d)+"\x3c/"+a+"\x3e",d=d.getDirection());(a=b&&b.dir)&&(d=/^(ltr|rtl|auto)$/i.test(a)?goog.i18n.bidi.Dir.NEUTRAL:
null);return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(e,d)};goog.html.SafeHtml.stringifyAttributes=function(a,b){var c="";if(b)for(var d in b){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(d))throw Error('Invalid attribute name "'+d+'".');var e=b[d];goog.isDefAndNotNull(e)&&(c+=" "+goog.html.SafeHtml.getAttrNameAndValue_(a,d,e))}return c};
goog.html.SafeHtml.combineAttributes=function(a,b,c){var d={},e;for(e in a)goog.asserts.assert(e.toLowerCase()==e,"Must be lower case"),d[e]=a[e];for(e in b)goog.asserts.assert(e.toLowerCase()==e,"Must be lower case"),d[e]=b[e];for(e in c){var f=e.toLowerCase();if(f in a)throw Error('Cannot override "'+f+'" attribute, got "'+e+'" with value "'+c[e]+'"');f in b&&delete d[f];d[e]=c[e]}return d};
goog.html.SafeHtml.DOCTYPE_HTML=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("\x3c!DOCTYPE html\x3e",goog.i18n.bidi.Dir.NEUTRAL);goog.html.SafeHtml.EMPTY=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("",goog.i18n.bidi.Dir.NEUTRAL);goog.html.SafeHtml.BR=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("\x3cbr\x3e",goog.i18n.bidi.Dir.NEUTRAL);goog.dom.safe={};goog.dom.safe.InsertAdjacentHtmlPosition={AFTERBEGIN:"afterbegin",AFTEREND:"afterend",BEFOREBEGIN:"beforebegin",BEFOREEND:"beforeend"};goog.dom.safe.insertAdjacentHtml=function(a,b,c){a.insertAdjacentHTML(b,goog.html.SafeHtml.unwrap(c))};goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_={MATH:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0};
goog.dom.safe.setInnerHtml=function(a,b){if(goog.asserts.ENABLE_ASSERTS){var c=a.tagName.toUpperCase();if(goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_[c])throw Error("goog.dom.safe.setInnerHtml cannot be used to set content of "+a.tagName+".");}a.innerHTML=goog.html.SafeHtml.unwrap(b)};goog.dom.safe.setOuterHtml=function(a,b){a.outerHTML=goog.html.SafeHtml.unwrap(b)};goog.dom.safe.setStyle=function(a,b){a.style.cssText=goog.html.SafeStyle.unwrap(b)};goog.dom.safe.documentWrite=function(a,b){a.write(goog.html.SafeHtml.unwrap(b))};
goog.dom.safe.setAnchorHref=function(a,b){goog.dom.safe.assertIsHTMLAnchorElement_(a);var c=b instanceof goog.html.SafeUrl?b:goog.html.SafeUrl.sanitize(b);a.href=goog.html.SafeUrl.unwrap(c)};goog.dom.safe.setImageSrc=function(a,b){goog.dom.safe.assertIsHTMLImageElement_(a);var c=b instanceof goog.html.SafeUrl?b:goog.html.SafeUrl.sanitize(b);a.src=goog.html.SafeUrl.unwrap(c)};goog.dom.safe.setEmbedSrc=function(a,b){goog.dom.safe.assertIsHTMLEmbedElement_(a);a.src=goog.html.TrustedResourceUrl.unwrap(b)};
goog.dom.safe.setFrameSrc=function(a,b){goog.dom.safe.assertIsHTMLFrameElement_(a);a.src=goog.html.TrustedResourceUrl.unwrap(b)};goog.dom.safe.setIframeSrc=function(a,b){goog.dom.safe.assertIsHTMLIFrameElement_(a);a.src=goog.html.TrustedResourceUrl.unwrap(b)};goog.dom.safe.setIframeSrcdoc=function(a,b){goog.dom.safe.assertIsHTMLIFrameElement_(a);a.srcdoc=goog.html.SafeHtml.unwrap(b)};
goog.dom.safe.setLinkHrefAndRel=function(a,b,c){goog.dom.safe.assertIsHTMLLinkElement_(a);a.rel=c;goog.string.caseInsensitiveContains(c,"stylesheet")?(goog.asserts.assert(b instanceof goog.html.TrustedResourceUrl,'URL must be TrustedResourceUrl because "rel" contains "stylesheet"'),a.href=goog.html.TrustedResourceUrl.unwrap(b)):a.href=b instanceof goog.html.TrustedResourceUrl?goog.html.TrustedResourceUrl.unwrap(b):b instanceof goog.html.SafeUrl?goog.html.SafeUrl.unwrap(b):goog.html.SafeUrl.sanitize(b).getTypedStringValue()};
goog.dom.safe.setObjectData=function(a,b){goog.dom.safe.assertIsHTMLObjectElement_(a);a.data=goog.html.TrustedResourceUrl.unwrap(b)};goog.dom.safe.setScriptSrc=function(a,b){goog.dom.safe.assertIsHTMLScriptElement_(a);a.src=goog.html.TrustedResourceUrl.unwrap(b)};goog.dom.safe.setScriptContent=function(a,b){goog.dom.safe.assertIsHTMLScriptElement_(a);a.text=goog.html.SafeScript.unwrap(b)};
goog.dom.safe.setLocationHref=function(a,b){goog.dom.safe.assertIsLocation_(a);var c=b instanceof goog.html.SafeUrl?b:goog.html.SafeUrl.sanitize(b);a.href=goog.html.SafeUrl.unwrap(c)};goog.dom.safe.openInWindow=function(a,b,c,d,e){a=a instanceof goog.html.SafeUrl?a:goog.html.SafeUrl.sanitize(a);return(b||window).open(goog.html.SafeUrl.unwrap(a),c?goog.string.Const.unwrap(c):"",d,e)};
goog.dom.safe.assertIsLocation_=function(a){goog.asserts.ENABLE_ASSERTS&&"undefined"!=typeof Location&&"undefined"!=typeof Element&&goog.asserts.assert(a&&(a instanceof Location||!(a instanceof Element)),"Argument is not a Location (or a non-Element mock); got: %s",goog.dom.safe.debugStringForType_(a));return a};
goog.dom.safe.assertIsHTMLAnchorElement_=function(a){goog.asserts.ENABLE_ASSERTS&&"undefined"!=typeof HTMLAnchorElement&&"undefined"!=typeof Location&&"undefined"!=typeof Element&&goog.asserts.assert(a&&(a instanceof HTMLAnchorElement||!(a instanceof Location||a instanceof Element)),"Argument is not a HTMLAnchorElement (or a non-Element mock); got: %s",goog.dom.safe.debugStringForType_(a));return a};
goog.dom.safe.assertIsHTMLLinkElement_=function(a){goog.asserts.ENABLE_ASSERTS&&"undefined"!=typeof HTMLLinkElement&&"undefined"!=typeof Location&&"undefined"!=typeof Element&&goog.asserts.assert(a&&(a instanceof HTMLLinkElement||!(a instanceof Location||a instanceof Element)),"Argument is not a HTMLLinkElement (or a non-Element mock); got: %s",goog.dom.safe.debugStringForType_(a));return a};
goog.dom.safe.assertIsHTMLImageElement_=function(a){goog.asserts.ENABLE_ASSERTS&&"undefined"!=typeof HTMLImageElement&&"undefined"!=typeof Element&&goog.asserts.assert(a&&(a instanceof HTMLImageElement||!(a instanceof Element)),"Argument is not a HTMLImageElement (or a non-Element mock); got: %s",goog.dom.safe.debugStringForType_(a));return a};
goog.dom.safe.assertIsHTMLEmbedElement_=function(a){goog.asserts.ENABLE_ASSERTS&&"undefined"!=typeof HTMLEmbedElement&&"undefined"!=typeof Element&&goog.asserts.assert(a&&(a instanceof HTMLEmbedElement||!(a instanceof Element)),"Argument is not a HTMLEmbedElement (or a non-Element mock); got: %s",goog.dom.safe.debugStringForType_(a));return a};
goog.dom.safe.assertIsHTMLFrameElement_=function(a){goog.asserts.ENABLE_ASSERTS&&"undefined"!=typeof HTMLFrameElement&&"undefined"!=typeof Element&&goog.asserts.assert(a&&(a instanceof HTMLFrameElement||!(a instanceof Element)),"Argument is not a HTMLFrameElement (or a non-Element mock); got: %s",goog.dom.safe.debugStringForType_(a));return a};
goog.dom.safe.assertIsHTMLIFrameElement_=function(a){goog.asserts.ENABLE_ASSERTS&&"undefined"!=typeof HTMLIFrameElement&&"undefined"!=typeof Element&&goog.asserts.assert(a&&(a instanceof HTMLIFrameElement||!(a instanceof Element)),"Argument is not a HTMLIFrameElement (or a non-Element mock); got: %s",goog.dom.safe.debugStringForType_(a));return a};
goog.dom.safe.assertIsHTMLObjectElement_=function(a){goog.asserts.ENABLE_ASSERTS&&"undefined"!=typeof HTMLObjectElement&&"undefined"!=typeof Element&&goog.asserts.assert(a&&(a instanceof HTMLObjectElement||!(a instanceof Element)),"Argument is not a HTMLObjectElement (or a non-Element mock); got: %s",goog.dom.safe.debugStringForType_(a));return a};
goog.dom.safe.assertIsHTMLScriptElement_=function(a){goog.asserts.ENABLE_ASSERTS&&"undefined"!=typeof HTMLScriptElement&&"undefined"!=typeof Element&&goog.asserts.assert(a&&(a instanceof HTMLScriptElement||!(a instanceof Element)),"Argument is not a HTMLScriptElement (or a non-Element mock); got: %s",goog.dom.safe.debugStringForType_(a));return a};
goog.dom.safe.debugStringForType_=function(a){return goog.isObject(a)?a.constructor.displayName||a.constructor.name||Object.prototype.toString.call(a):void 0===a?"undefined":null===a?"null":typeof a};goog.html.uncheckedconversions={};goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract=function(a,b,c){goog.asserts.assertString(goog.string.Const.unwrap(a),"must provide justification");goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)),"must provide non-empty justification");return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(b,c||null)};
goog.html.uncheckedconversions.safeScriptFromStringKnownToSatisfyTypeContract=function(a,b){goog.asserts.assertString(goog.string.Const.unwrap(a),"must provide justification");goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)),"must provide non-empty justification");return goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(b)};
goog.html.uncheckedconversions.safeStyleFromStringKnownToSatisfyTypeContract=function(a,b){goog.asserts.assertString(goog.string.Const.unwrap(a),"must provide justification");goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)),"must provide non-empty justification");return goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(b)};
goog.html.uncheckedconversions.safeStyleSheetFromStringKnownToSatisfyTypeContract=function(a,b){goog.asserts.assertString(goog.string.Const.unwrap(a),"must provide justification");goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)),"must provide non-empty justification");return goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(b)};
goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract=function(a,b){goog.asserts.assertString(goog.string.Const.unwrap(a),"must provide justification");goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)),"must provide non-empty justification");return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(b)};
goog.html.uncheckedconversions.trustedResourceUrlFromStringKnownToSatisfyTypeContract=function(a,b){goog.asserts.assertString(goog.string.Const.unwrap(a),"must provide justification");goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)),"must provide non-empty justification");return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(b)};goog.math.Coordinate=function(a,b){this.x=goog.isDef(a)?a:0;this.y=goog.isDef(b)?b:0};goog.math.Coordinate.prototype.clone=function(){return new goog.math.Coordinate(this.x,this.y)};goog.DEBUG&&(goog.math.Coordinate.prototype.toString=function(){return"("+this.x+", "+this.y+")"});goog.math.Coordinate.prototype.equals=function(a){return a instanceof goog.math.Coordinate&&goog.math.Coordinate.equals(this,a)};goog.math.Coordinate.equals=function(a,b){return a==b?!0:a&&b?a.x==b.x&&a.y==b.y:!1};
goog.math.Coordinate.distance=function(a,b){var c=a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)};goog.math.Coordinate.magnitude=function(a){return Math.sqrt(a.x*a.x+a.y*a.y)};goog.math.Coordinate.azimuth=function(a){return goog.math.angle(0,0,a.x,a.y)};goog.math.Coordinate.squaredDistance=function(a,b){var c=a.x-b.x,d=a.y-b.y;return c*c+d*d};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.math.Coordinate.prototype.ceil=function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);return this};goog.math.Coordinate.prototype.floor=function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);return this};goog.math.Coordinate.prototype.round=function(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this};
goog.math.Coordinate.prototype.translate=function(a,b){a instanceof goog.math.Coordinate?(this.x+=a.x,this.y+=a.y):(this.x+=Number(a),goog.isNumber(b)&&(this.y+=b));return this};goog.math.Coordinate.prototype.scale=function(a,b){var c=goog.isNumber(b)?b:a;this.x*=a;this.y*=c;return this};goog.math.Coordinate.prototype.rotateRadians=function(a,b){var c=b||new goog.math.Coordinate(0,0),d=this.x,e=this.y,f=Math.cos(a),g=Math.sin(a);this.x=(d-c.x)*f-(e-c.y)*g+c.x;this.y=(d-c.x)*g+(e-c.y)*f+c.y};
goog.math.Coordinate.prototype.rotateDegrees=function(a,b){this.rotateRadians(goog.math.toRadians(a),b)};goog.math.Size=function(a,b){this.width=a;this.height=b};goog.math.Size.equals=function(a,b){return a==b?!0:a&&b?a.width==b.width&&a.height==b.height:!1};goog.math.Size.prototype.clone=function(){return new goog.math.Size(this.width,this.height)};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 2*(this.width+this.height)};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(a){return this.width<=a.width&&this.height<=a.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(a,b){var c=goog.isNumber(b)?b:a;this.width*=a;this.height*=c;return this};
goog.math.Size.prototype.scaleToCover=function(a){a=this.aspectRatio()<=a.aspectRatio()?a.width/this.width:a.height/this.height;return this.scale(a)};goog.math.Size.prototype.scaleToFit=function(a){a=this.aspectRatio()>a.aspectRatio()?a.width/this.width:a.height/this.height;return this.scale(a)};goog.dom.ASSUME_QUIRKS_MODE=!1;goog.dom.ASSUME_STANDARDS_MODE=!1;goog.dom.COMPAT_MODE_KNOWN_=goog.dom.ASSUME_QUIRKS_MODE||goog.dom.ASSUME_STANDARDS_MODE;goog.dom.getDomHelper=function(a){return a?new goog.dom.DomHelper(goog.dom.getOwnerDocument(a)):goog.dom.defaultDomHelper_||(goog.dom.defaultDomHelper_=new goog.dom.DomHelper)};goog.dom.getDocument=function(){return document};goog.dom.getElement=function(a){return goog.dom.getElementHelper_(document,a)};
goog.dom.getElementHelper_=function(a,b){return goog.isString(b)?a.getElementById(b):b};goog.dom.getRequiredElement=function(a){return goog.dom.getRequiredElementHelper_(document,a)};goog.dom.getRequiredElementHelper_=function(a,b){goog.asserts.assertString(b);var c=goog.dom.getElementHelper_(a,b);return c=goog.asserts.assertElement(c,"No element found with id: "+b)};goog.dom.$=goog.dom.getElement;goog.dom.getElementsByTagName=function(a,b){return(b||document).getElementsByTagName(String(a))};
goog.dom.getElementsByTagNameAndClass=function(a,b,c){return goog.dom.getElementsByTagNameAndClass_(document,a,b,c)};goog.dom.getElementsByClass=function(a,b){var c=b||document;return goog.dom.canUseQuerySelector_(c)?c.querySelectorAll("."+a):goog.dom.getElementsByTagNameAndClass_(document,"*",a,b)};
goog.dom.getElementByClass=function(a,b){var c=b||document;return(c.getElementsByClassName?c.getElementsByClassName(a)[0]:goog.dom.canUseQuerySelector_(c)?c.querySelector("."+a):goog.dom.getElementsByTagNameAndClass_(document,"*",a,b)[0])||null};goog.dom.getRequiredElementByClass=function(a,b){var c=goog.dom.getElementByClass(a,b);return goog.asserts.assert(c,"No element found with className: "+a)};goog.dom.canUseQuerySelector_=function(a){return!(!a.querySelectorAll||!a.querySelector)};
goog.dom.getElementsByTagNameAndClass_=function(a,b,c,d){a=d||a;var e=b&&"*"!=b?String(b).toUpperCase():"";if(goog.dom.canUseQuerySelector_(a)&&(e||c))return a.querySelectorAll(e+(c?"."+c:""));if(c&&a.getElementsByClassName){d=a.getElementsByClassName(c);if(e){a={};for(var f=b=0,g;g=d[f];f++)e==g.nodeName&&(a[b++]=g);a.length=b;return a}return d}d=a.getElementsByTagName(e||"*");if(c){a={};for(f=b=0;g=d[f];f++)e=g.className,"function"==typeof e.split&&goog.array.contains(e.split(/\s+/),c)&&(a[b++]=
g);a.length=b;return a}return d};goog.dom.$$=goog.dom.getElementsByTagNameAndClass;goog.dom.setProperties=function(a,b){goog.object.forEach(b,function(b,d){b&&b.implementsGoogStringTypedString&&(b=b.getTypedStringValue());"style"==d?a.style.cssText=b:"class"==d?a.className=b:"for"==d?a.htmlFor=b:goog.dom.DIRECT_ATTRIBUTE_MAP_.hasOwnProperty(d)?a.setAttribute(goog.dom.DIRECT_ATTRIBUTE_MAP_[d],b):goog.string.startsWith(d,"aria-")||goog.string.startsWith(d,"data-")?a.setAttribute(d,b):a[d]=b})};
goog.dom.DIRECT_ATTRIBUTE_MAP_={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",nonce:"nonce",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"};goog.dom.getViewportSize=function(a){return goog.dom.getViewportSize_(a||window)};goog.dom.getViewportSize_=function(a){a=a.document;a=goog.dom.isCss1CompatMode_(a)?a.documentElement:a.body;return new goog.math.Size(a.clientWidth,a.clientHeight)};
goog.dom.getDocumentHeight=function(){return goog.dom.getDocumentHeight_(window)};goog.dom.getDocumentHeightForWindow=function(a){return goog.dom.getDocumentHeight_(a)};
goog.dom.getDocumentHeight_=function(a){var b=a.document,c=0;if(b){var c=b.body,d=b.documentElement;if(!d||!c)return 0;a=goog.dom.getViewportSize_(a).height;if(goog.dom.isCss1CompatMode_(b)&&d.scrollHeight)c=d.scrollHeight!=a?d.scrollHeight:d.offsetHeight;else{var b=d.scrollHeight,e=d.offsetHeight;d.clientHeight!=e&&(b=c.scrollHeight,e=c.offsetHeight);c=b>a?b>e?b:e:b<e?b:e}}return c};goog.dom.getPageScroll=function(a){return goog.dom.getDomHelper((a||goog.global||window).document).getDocumentScroll()};
goog.dom.getDocumentScroll=function(){return goog.dom.getDocumentScroll_(document)};goog.dom.getDocumentScroll_=function(a){var b=goog.dom.getDocumentScrollElement_(a);a=goog.dom.getWindow_(a);return goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("10")&&a.pageYOffset!=b.scrollTop?new goog.math.Coordinate(b.scrollLeft,b.scrollTop):new goog.math.Coordinate(a.pageXOffset||b.scrollLeft,a.pageYOffset||b.scrollTop)};goog.dom.getDocumentScrollElement=function(){return goog.dom.getDocumentScrollElement_(document)};
goog.dom.getDocumentScrollElement_=function(a){return a.scrollingElement?a.scrollingElement:!goog.userAgent.WEBKIT&&goog.dom.isCss1CompatMode_(a)?a.documentElement:a.body||a.documentElement};goog.dom.getWindow=function(a){return a?goog.dom.getWindow_(a):window};goog.dom.getWindow_=function(a){return a.parentWindow||a.defaultView};goog.dom.createDom=function(a,b,c){return goog.dom.createDom_(document,arguments)};
goog.dom.createDom_=function(a,b){var c=String(b[0]),d=b[1];if(!goog.dom.BrowserFeature.CAN_ADD_NAME_OR_TYPE_ATTRIBUTES&&d&&(d.name||d.type)){c=["\x3c",c];d.name&&c.push(' name\x3d"',goog.string.htmlEscape(d.name),'"');if(d.type){c.push(' type\x3d"',goog.string.htmlEscape(d.type),'"');var e={};goog.object.extend(e,d);delete e.type;d=e}c.push("\x3e");c=c.join("")}c=a.createElement(c);d&&(goog.isString(d)?c.className=d:goog.isArray(d)?c.className=d.join(" "):goog.dom.setProperties(c,d));2<b.length&&
goog.dom.append_(a,c,b,2);return c};goog.dom.append_=function(a,b,c,d){function e(c){c&&b.appendChild(goog.isString(c)?a.createTextNode(c):c)}for(;d<c.length;d++){var f=c[d];goog.isArrayLike(f)&&!goog.dom.isNodeLike(f)?goog.array.forEach(goog.dom.isNodeList(f)?goog.array.toArray(f):f,e):e(f)}};goog.dom.$dom=goog.dom.createDom;goog.dom.createElement=function(a){return goog.dom.createElement_(document,a)};goog.dom.createElement_=function(a,b){return a.createElement(String(b))};
goog.dom.createTextNode=function(a){return document.createTextNode(String(a))};goog.dom.createTable=function(a,b,c){return goog.dom.createTable_(document,a,b,!!c)};goog.dom.createTable_=function(a,b,c,d){for(var e=goog.dom.createElement_(a,"TABLE"),f=e.appendChild(goog.dom.createElement_(a,"TBODY")),g=0;g<b;g++){for(var h=goog.dom.createElement_(a,"TR"),k=0;k<c;k++){var l=goog.dom.createElement_(a,"TD");d&&goog.dom.setTextContent(l,goog.string.Unicode.NBSP);h.appendChild(l)}f.appendChild(h)}return e};
goog.dom.constHtmlToNode=function(a){var b=goog.array.map(arguments,goog.string.Const.unwrap),b=goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Constant HTML string, that gets turned into a Node later, so it will be automatically balanced."),b.join(""));return goog.dom.safeHtmlToNode(b)};goog.dom.safeHtmlToNode=function(a){return goog.dom.safeHtmlToNode_(document,a)};
goog.dom.safeHtmlToNode_=function(a,b){var c=goog.dom.createElement_(a,"DIV");goog.dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT?(goog.dom.safe.setInnerHtml(c,goog.html.SafeHtml.concat(goog.html.SafeHtml.BR,b)),c.removeChild(c.firstChild)):goog.dom.safe.setInnerHtml(c,b);return goog.dom.childrenToNode_(a,c)};goog.dom.childrenToNode_=function(a,b){if(1==b.childNodes.length)return b.removeChild(b.firstChild);for(var c=a.createDocumentFragment();b.firstChild;)c.appendChild(b.firstChild);return c};
goog.dom.isCss1CompatMode=function(){return goog.dom.isCss1CompatMode_(document)};goog.dom.isCss1CompatMode_=function(a){return goog.dom.COMPAT_MODE_KNOWN_?goog.dom.ASSUME_STANDARDS_MODE:"CSS1Compat"==a.compatMode};goog.dom.canHaveChildren=function(a){if(a.nodeType!=goog.dom.NodeType.ELEMENT)return!1;switch(a.tagName){case "APPLET":case "AREA":case "BASE":case "BR":case "COL":case "COMMAND":case "EMBED":case "FRAME":case "HR":case "IMG":case "INPUT":case "IFRAME":case "ISINDEX":case "KEYGEN":case "LINK":case "NOFRAMES":case "NOSCRIPT":case "META":case "OBJECT":case "PARAM":case "SCRIPT":case "SOURCE":case "STYLE":case "TRACK":case "WBR":return!1}return!0};
goog.dom.appendChild=function(a,b){a.appendChild(b)};goog.dom.append=function(a,b){goog.dom.append_(goog.dom.getOwnerDocument(a),a,arguments,1)};goog.dom.removeChildren=function(a){for(var b;b=a.firstChild;)a.removeChild(b)};goog.dom.insertSiblingBefore=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b)};goog.dom.insertSiblingAfter=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b.nextSibling)};goog.dom.insertChildAt=function(a,b,c){a.insertBefore(b,a.childNodes[c]||null)};
goog.dom.removeNode=function(a){return a&&a.parentNode?a.parentNode.removeChild(a):null};goog.dom.replaceNode=function(a,b){var c=b.parentNode;c&&c.replaceChild(a,b)};goog.dom.flattenElement=function(a){var b,c=a.parentNode;if(c&&c.nodeType!=goog.dom.NodeType.DOCUMENT_FRAGMENT){if(a.removeNode)return a.removeNode(!1);for(;b=a.firstChild;)c.insertBefore(b,a);return goog.dom.removeNode(a)}};
goog.dom.getChildren=function(a){return goog.dom.BrowserFeature.CAN_USE_CHILDREN_ATTRIBUTE&&void 0!=a.children?a.children:goog.array.filter(a.childNodes,function(a){return a.nodeType==goog.dom.NodeType.ELEMENT})};goog.dom.getFirstElementChild=function(a){return goog.isDef(a.firstElementChild)?a.firstElementChild:goog.dom.getNextElementNode_(a.firstChild,!0)};goog.dom.getLastElementChild=function(a){return goog.isDef(a.lastElementChild)?a.lastElementChild:goog.dom.getNextElementNode_(a.lastChild,!1)};
goog.dom.getNextElementSibling=function(a){return goog.isDef(a.nextElementSibling)?a.nextElementSibling:goog.dom.getNextElementNode_(a.nextSibling,!0)};goog.dom.getPreviousElementSibling=function(a){return goog.isDef(a.previousElementSibling)?a.previousElementSibling:goog.dom.getNextElementNode_(a.previousSibling,!1)};goog.dom.getNextElementNode_=function(a,b){for(;a&&a.nodeType!=goog.dom.NodeType.ELEMENT;)a=b?a.nextSibling:a.previousSibling;return a};
goog.dom.getNextNode=function(a){if(!a)return null;if(a.firstChild)return a.firstChild;for(;a&&!a.nextSibling;)a=a.parentNode;return a?a.nextSibling:null};goog.dom.getPreviousNode=function(a){if(!a)return null;if(!a.previousSibling)return a.parentNode;for(a=a.previousSibling;a&&a.lastChild;)a=a.lastChild;return a};goog.dom.isNodeLike=function(a){return goog.isObject(a)&&0<a.nodeType};goog.dom.isElement=function(a){return goog.isObject(a)&&a.nodeType==goog.dom.NodeType.ELEMENT};
goog.dom.isWindow=function(a){return goog.isObject(a)&&a.window==a};goog.dom.getParentElement=function(a){var b;if(goog.dom.BrowserFeature.CAN_USE_PARENT_ELEMENT_PROPERTY&&!(goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("9")&&!goog.userAgent.isVersionOrHigher("10")&&goog.global.SVGElement&&a instanceof goog.global.SVGElement)&&(b=a.parentElement))return b;b=a.parentNode;return goog.dom.isElement(b)?b:null};
goog.dom.contains=function(a,b){if(!a||!b)return!1;if(a.contains&&b.nodeType==goog.dom.NodeType.ELEMENT)return a==b||a.contains(b);if("undefined"!=typeof a.compareDocumentPosition)return a==b||!!(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};
goog.dom.compareNodeOrder=function(a,b){if(a==b)return 0;if(a.compareDocumentPosition)return a.compareDocumentPosition(b)&2?1:-1;if(goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(9)){if(a.nodeType==goog.dom.NodeType.DOCUMENT)return-1;if(b.nodeType==goog.dom.NodeType.DOCUMENT)return 1}if("sourceIndex"in a||a.parentNode&&"sourceIndex"in a.parentNode){var c=a.nodeType==goog.dom.NodeType.ELEMENT,d=b.nodeType==goog.dom.NodeType.ELEMENT;if(c&&d)return a.sourceIndex-b.sourceIndex;var e=a.parentNode,
f=b.parentNode;return e==f?goog.dom.compareSiblingOrder_(a,b):!c&&goog.dom.contains(e,b)?-1*goog.dom.compareParentsDescendantNodeIe_(a,b):!d&&goog.dom.contains(f,a)?goog.dom.compareParentsDescendantNodeIe_(b,a):(c?a.sourceIndex:e.sourceIndex)-(d?b.sourceIndex:f.sourceIndex)}d=goog.dom.getOwnerDocument(a);c=d.createRange();c.selectNode(a);c.collapse(!0);d=d.createRange();d.selectNode(b);d.collapse(!0);return c.compareBoundaryPoints(goog.global.Range.START_TO_END,d)};
goog.dom.compareParentsDescendantNodeIe_=function(a,b){var c=a.parentNode;if(c==b)return-1;for(var d=b;d.parentNode!=c;)d=d.parentNode;return goog.dom.compareSiblingOrder_(d,a)};goog.dom.compareSiblingOrder_=function(a,b){for(var c=b;c=c.previousSibling;)if(c==a)return-1;return 1};
goog.dom.findCommonAncestor=function(a){var b,c=arguments.length;if(!c)return null;if(1==c)return arguments[0];var d=[],e=Infinity;for(b=0;b<c;b++){for(var f=[],g=arguments[b];g;)f.unshift(g),g=g.parentNode;d.push(f);e=Math.min(e,f.length)}f=null;for(b=0;b<e;b++){for(var g=d[0][b],h=1;h<c;h++)if(g!=d[h][b])return f;f=g}return f};goog.dom.getOwnerDocument=function(a){goog.asserts.assert(a,"Node cannot be null or undefined.");return a.nodeType==goog.dom.NodeType.DOCUMENT?a:a.ownerDocument||a.document};
goog.dom.getFrameContentDocument=function(a){return a.contentDocument||a.contentWindow.document};goog.dom.getFrameContentWindow=function(a){try{return a.contentWindow||(a.contentDocument?goog.dom.getWindow(a.contentDocument):null)}catch(b){}return null};
goog.dom.setTextContent=function(a,b){goog.asserts.assert(null!=a,"goog.dom.setTextContent expects a non-null value for node");if("textContent"in a)a.textContent=b;else if(a.nodeType==goog.dom.NodeType.TEXT)a.data=b;else if(a.firstChild&&a.firstChild.nodeType==goog.dom.NodeType.TEXT){for(;a.lastChild!=a.firstChild;)a.removeChild(a.lastChild);a.firstChild.data=b}else{goog.dom.removeChildren(a);var c=goog.dom.getOwnerDocument(a);a.appendChild(c.createTextNode(String(b)))}};
goog.dom.getOuterHtml=function(a){goog.asserts.assert(null!==a,"goog.dom.getOuterHtml expects a non-null value for element");if("outerHTML"in a)return a.outerHTML;var b=goog.dom.getOwnerDocument(a),b=goog.dom.createElement_(b,"DIV");b.appendChild(a.cloneNode(!0));return b.innerHTML};goog.dom.findNode=function(a,b){var c=[];return goog.dom.findNodes_(a,b,c,!0)?c[0]:void 0};goog.dom.findNodes=function(a,b){var c=[];goog.dom.findNodes_(a,b,c,!1);return c};
goog.dom.findNodes_=function(a,b,c,d){if(null!=a)for(a=a.firstChild;a;){if(b(a)&&(c.push(a),d)||goog.dom.findNodes_(a,b,c,d))return!0;a=a.nextSibling}return!1};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(a){return goog.dom.hasSpecifiedTabIndex_(a)&&goog.dom.isTabIndexFocusable_(a)};goog.dom.setFocusableTabIndex=function(a,b){b?a.tabIndex=0:(a.tabIndex=-1,a.removeAttribute("tabIndex"))};
goog.dom.isFocusable=function(a){var b;return(b=goog.dom.nativelySupportsFocus_(a)?!a.disabled&&(!goog.dom.hasSpecifiedTabIndex_(a)||goog.dom.isTabIndexFocusable_(a)):goog.dom.isFocusableTabIndex(a))&&goog.userAgent.IE?goog.dom.hasNonZeroBoundingRect_(a):b};goog.dom.hasSpecifiedTabIndex_=function(a){return goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9")?(a=a.getAttributeNode("tabindex"),goog.isDefAndNotNull(a)&&a.specified):a.hasAttribute("tabindex")};
goog.dom.isTabIndexFocusable_=function(a){a=a.tabIndex;return goog.isNumber(a)&&0<=a&&32768>a};goog.dom.nativelySupportsFocus_=function(a){return"A"==a.tagName||"INPUT"==a.tagName||"TEXTAREA"==a.tagName||"SELECT"==a.tagName||"BUTTON"==a.tagName};goog.dom.hasNonZeroBoundingRect_=function(a){a=!goog.isFunction(a.getBoundingClientRect)||goog.userAgent.IE&&null==a.parentElement?{height:a.offsetHeight,width:a.offsetWidth}:a.getBoundingClientRect();return goog.isDefAndNotNull(a)&&0<a.height&&0<a.width};
goog.dom.getTextContent=function(a){if(goog.dom.BrowserFeature.CAN_USE_INNER_TEXT&&null!==a&&"innerText"in a)a=goog.string.canonicalizeNewlines(a.innerText);else{var b=[];goog.dom.getTextContent_(a,b,!0);a=b.join("")}a=a.replace(/ \xAD /g," ").replace(/\xAD/g,"");a=a.replace(/\u200B/g,"");goog.dom.BrowserFeature.CAN_USE_INNER_TEXT||(a=a.replace(/ +/g," "));" "!=a&&(a=a.replace(/^\s*/,""));return a};goog.dom.getRawTextContent=function(a){var b=[];goog.dom.getTextContent_(a,b,!1);return b.join("")};
goog.dom.getTextContent_=function(a,b,c){if(!(a.nodeName in goog.dom.TAGS_TO_IGNORE_))if(a.nodeType==goog.dom.NodeType.TEXT)c?b.push(String(a.nodeValue).replace(/(\r\n|\r|\n)/g,"")):b.push(a.nodeValue);else if(a.nodeName in goog.dom.PREDEFINED_TAG_VALUES_)b.push(goog.dom.PREDEFINED_TAG_VALUES_[a.nodeName]);else for(a=a.firstChild;a;)goog.dom.getTextContent_(a,b,c),a=a.nextSibling};goog.dom.getNodeTextLength=function(a){return goog.dom.getTextContent(a).length};
goog.dom.getNodeTextOffset=function(a,b){for(var c=b||goog.dom.getOwnerDocument(a).body,d=[];a&&a!=c;){for(var e=a;e=e.previousSibling;)d.unshift(goog.dom.getTextContent(e));a=a.parentNode}return goog.string.trimLeft(d.join("")).replace(/ +/g," ").length};
goog.dom.getNodeAtOffset=function(a,b,c){a=[a];for(var d=0,e=null;0<a.length&&d<b;)if(e=a.pop(),!(e.nodeName in goog.dom.TAGS_TO_IGNORE_))if(e.nodeType==goog.dom.NodeType.TEXT)var f=e.nodeValue.replace(/(\r\n|\r|\n)/g,"").replace(/ +/g," "),d=d+f.length;else if(e.nodeName in goog.dom.PREDEFINED_TAG_VALUES_)d+=goog.dom.PREDEFINED_TAG_VALUES_[e.nodeName].length;else for(f=e.childNodes.length-1;0<=f;f--)a.push(e.childNodes[f]);goog.isObject(c)&&(c.remainder=e?e.nodeValue.length+b-d-1:0,c.node=e);return e};
goog.dom.isNodeList=function(a){if(a&&"number"==typeof a.length){if(goog.isObject(a))return"function"==typeof a.item||"string"==typeof a.item;if(goog.isFunction(a))return"function"==typeof a.item}return!1};goog.dom.getAncestorByTagNameAndClass=function(a,b,c,d){if(!b&&!c)return null;var e=b?String(b).toUpperCase():null;return goog.dom.getAncestor(a,function(a){return(!e||a.nodeName==e)&&(!c||goog.isString(a.className)&&goog.array.contains(a.className.split(/\s+/),c))},!0,d)};
goog.dom.getAncestorByClass=function(a,b,c){return goog.dom.getAncestorByTagNameAndClass(a,null,b,c)};goog.dom.getAncestor=function(a,b,c,d){a&&!c&&(a=a.parentNode);for(c=0;a&&(null==d||c<=d);){goog.asserts.assert("parentNode"!=a.name);if(b(a))return a;a=a.parentNode;c++}return null};goog.dom.getActiveElement=function(a){try{return a&&a.activeElement}catch(b){}return null};
goog.dom.getPixelRatio=function(){var a=goog.dom.getWindow();return goog.isDef(a.devicePixelRatio)?a.devicePixelRatio:a.matchMedia?goog.dom.matchesPixelRatio_(3)||goog.dom.matchesPixelRatio_(2)||goog.dom.matchesPixelRatio_(1.5)||goog.dom.matchesPixelRatio_(1)||.75:1};goog.dom.matchesPixelRatio_=function(a){return goog.dom.getWindow().matchMedia("(min-resolution: "+a+"dppx),(min--moz-device-pixel-ratio: "+a+"),(min-resolution: "+96*a+"dpi)").matches?a:0};goog.dom.getCanvasContext2D=function(a){return a.getContext("2d")};
goog.dom.DomHelper=function(a){this.document_=a||goog.global.document||document};goog.dom.DomHelper.prototype.getDomHelper=goog.dom.getDomHelper;goog.dom.DomHelper.prototype.setDocument=function(a){this.document_=a};goog.dom.DomHelper.prototype.getDocument=function(){return this.document_};goog.dom.DomHelper.prototype.getElement=function(a){return goog.dom.getElementHelper_(this.document_,a)};
goog.dom.DomHelper.prototype.getRequiredElement=function(a){return goog.dom.getRequiredElementHelper_(this.document_,a)};goog.dom.DomHelper.prototype.$=goog.dom.DomHelper.prototype.getElement;goog.dom.DomHelper.prototype.getElementsByTagName=function(a,b){return(b||this.document_).getElementsByTagName(String(a))};goog.dom.DomHelper.prototype.getElementsByTagNameAndClass=function(a,b,c){return goog.dom.getElementsByTagNameAndClass_(this.document_,a,b,c)};
goog.dom.DomHelper.prototype.getElementsByClass=function(a,b){return goog.dom.getElementsByClass(a,b||this.document_)};goog.dom.DomHelper.prototype.getElementByClass=function(a,b){return goog.dom.getElementByClass(a,b||this.document_)};goog.dom.DomHelper.prototype.getRequiredElementByClass=function(a,b){return goog.dom.getRequiredElementByClass(a,b||this.document_)};goog.dom.DomHelper.prototype.$$=goog.dom.DomHelper.prototype.getElementsByTagNameAndClass;
goog.dom.DomHelper.prototype.setProperties=goog.dom.setProperties;goog.dom.DomHelper.prototype.getViewportSize=function(a){return goog.dom.getViewportSize(a||this.getWindow())};goog.dom.DomHelper.prototype.getDocumentHeight=function(){return goog.dom.getDocumentHeight_(this.getWindow())};goog.dom.DomHelper.prototype.createDom=function(a,b,c){return goog.dom.createDom_(this.document_,arguments)};goog.dom.DomHelper.prototype.$dom=goog.dom.DomHelper.prototype.createDom;
goog.dom.DomHelper.prototype.createElement=function(a){return goog.dom.createElement_(this.document_,a)};goog.dom.DomHelper.prototype.createTextNode=function(a){return this.document_.createTextNode(String(a))};goog.dom.DomHelper.prototype.createTable=function(a,b,c){return goog.dom.createTable_(this.document_,a,b,!!c)};goog.dom.DomHelper.prototype.safeHtmlToNode=function(a){return goog.dom.safeHtmlToNode_(this.document_,a)};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.getActiveElement=function(a){return goog.dom.getActiveElement(a||this.document_)};goog.dom.DomHelper.prototype.appendChild=goog.dom.appendChild;
goog.dom.DomHelper.prototype.append=goog.dom.append;goog.dom.DomHelper.prototype.canHaveChildren=goog.dom.canHaveChildren;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.insertChildAt=goog.dom.insertChildAt;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.getChildren=goog.dom.getChildren;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.isElement=goog.dom.isElement;goog.dom.DomHelper.prototype.isWindow=goog.dom.isWindow;goog.dom.DomHelper.prototype.getParentElement=goog.dom.getParentElement;goog.dom.DomHelper.prototype.contains=goog.dom.contains;goog.dom.DomHelper.prototype.compareNodeOrder=goog.dom.compareNodeOrder;
goog.dom.DomHelper.prototype.findCommonAncestor=goog.dom.findCommonAncestor;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.getOuterHtml=goog.dom.getOuterHtml;goog.dom.DomHelper.prototype.findNode=goog.dom.findNode;
goog.dom.DomHelper.prototype.findNodes=goog.dom.findNodes;goog.dom.DomHelper.prototype.isFocusableTabIndex=goog.dom.isFocusableTabIndex;goog.dom.DomHelper.prototype.setFocusableTabIndex=goog.dom.setFocusableTabIndex;goog.dom.DomHelper.prototype.isFocusable=goog.dom.isFocusable;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.getNodeAtOffset=goog.dom.getNodeAtOffset;goog.dom.DomHelper.prototype.isNodeList=goog.dom.isNodeList;goog.dom.DomHelper.prototype.getAncestorByTagNameAndClass=goog.dom.getAncestorByTagNameAndClass;goog.dom.DomHelper.prototype.getAncestorByClass=goog.dom.getAncestorByClass;goog.dom.DomHelper.prototype.getAncestor=goog.dom.getAncestor;goog.dom.DomHelper.prototype.getCanvasContext2D=goog.dom.getCanvasContext2D;var sablono={util:{}};sablono.util._STAR_base_url_STAR_=null;sablono.util.ToString=function(){};sablono.util.to_str=function(a){if(null!=a&&null!=a.sablono$util$ToString$to_str$arity$1)return a.sablono$util$ToString$to_str$arity$1(a);var b=sablono.util.to_str[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=sablono.util.to_str._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"ToString.to-str",a);};sablono.util.ToURI=function(){};
sablono.util.to_uri=function(a){if(null!=a&&null!=a.sablono$util$ToURI$to_uri$arity$1)return a.sablono$util$ToURI$to_uri$arity$1(a);var b=sablono.util.to_uri[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=sablono.util.to_uri._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"ToURI.to-uri",a);};
sablono.util.as_str=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return sablono.util.as_str.cljs$core$IFn$_invoke$arity$variadic(b)};sablono.util.as_str.cljs$core$IFn$_invoke$arity$variadic=function(a){return clojure.string.join.call(null,cljs.core.map.call(null,sablono.util.to_str,a))};sablono.util.as_str.cljs$lang$maxFixedArity=0;
sablono.util.as_str.cljs$lang$applyTo=function(a){return sablono.util.as_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
sablono.util.camel_case=function(a){if(a instanceof cljs.core.Keyword||"string"===typeof a||a instanceof cljs.core.Symbol){var b=cljs.core.name.call(null,a).split("-"),c=cljs.core.seq.call(null,b),b=cljs.core.first.call(null,c),c=cljs.core.next.call(null,c);return cljs.core.empty_QMARK_.call(null,c)||cljs.core._EQ_.call(null,"aria",b)||cljs.core._EQ_.call(null,"data",b)?a:cljs.core.keyword.call(null,clojure.string.join.call(null,cljs.core.conj.call(null,cljs.core.map.call(null,clojure.string.capitalize,
c),b)))}return a};
sablono.util.camel_case_keys=function(a){return cljs.core.map_QMARK_.call(null,a)?(a=cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[sablono.util.camel_case.call(null,b),a],null)}),a),cljs.core.map_QMARK_.call(null,(new cljs.core.Keyword(null,"style","style",-496642736)).cljs$core$IFn$_invoke$arity$1(a))?cljs.core.update.call(null,
a,new cljs.core.Keyword(null,"style","style",-496642736),sablono.util.camel_case_keys):a):a};sablono.util.element_QMARK_=function(a){return cljs.core.vector_QMARK_.call(null,a)&&cljs.core.first.call(null,a)instanceof cljs.core.Keyword};
sablono.util.html_to_dom_attrs=function(a){return clojure.set.rename_keys.call(null,sablono.util.camel_case_keys.call(null,a),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"class","class",-2030961996),new cljs.core.Keyword(null,"className","className",-1983287057),new cljs.core.Keyword(null,"for","for",-1323786319),new cljs.core.Keyword(null,"htmlFor","htmlFor",-1050291720)],null))};
sablono.util.join_classes=function(a){return clojure.string.join.call(null," ",cljs.core.into.call(null,cljs.core.PersistentVector.EMPTY,cljs.core.comp.call(null,cljs.core.mapcat.call(null,function(a){return"string"===typeof a?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null):cljs.core.seq.call(null,a)}),cljs.core.remove.call(null,cljs.core.nil_QMARK_)),a))};
sablono.util.react_fn=function(a){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"textarea","textarea",-650375824),null,new cljs.core.Keyword(null,"input","input",556931961),null,new cljs.core.Keyword(null,"select","select",1147833503),null],null),null),cljs.core.keyword.call(null,a))?new cljs.core.Symbol("sablono.interpreter","create-element","sablono.interpreter/create-element",748785555,null):new cljs.core.Symbol("js",
"React.createElement","js/React.createElement",1766367641,null)};cljs.core.Keyword.prototype.sablono$util$ToString$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Keyword.prototype.sablono$util$ToString$to_str$arity$1=function(a){return cljs.core.name.call(null,this)};goog.Uri.prototype.sablono$util$ToString$=cljs.core.PROTOCOL_SENTINEL;
goog.Uri.prototype.sablono$util$ToString$to_str$arity$1=function(a){var b=this;if(cljs.core.truth_(function(){var a=b.hasDomain();return cljs.core.truth_(a)?a:null==b.getPath()||cljs.core.not.call(null,cljs.core.re_matches.call(null,/^\/.*/,b.getPath()))}()))return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(b);a=""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(sablono.util._STAR_base_url_STAR_);return cljs.core.truth_(cljs.core.re_matches.call(null,/.*\/$/,a))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,
a,0,cljs.core.count.call(null,a)-1)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""):[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("")};sablono.util.ToString["null"]=!0;sablono.util.to_str["null"]=function(a){return""};sablono.util.ToString.number=!0;sablono.util.to_str.number=function(a){return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)};sablono.util.ToString._=!0;sablono.util.to_str._=function(a){return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)};
goog.Uri.prototype.sablono$util$ToURI$=cljs.core.PROTOCOL_SENTINEL;goog.Uri.prototype.sablono$util$ToURI$to_uri$arity$1=function(a){return this};sablono.util.ToURI._=!0;sablono.util.to_uri._=function(a){return new goog.Uri(""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a))};sablono.normalize={};sablono.normalize.compact_map=function(a){return cljs.core.truth_(a)?cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.remove.call(null,function(a){cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return cljs.core.empty_QMARK_.call(null,a)}),a):null};sablono.normalize.class_name=function(a){return"string"===typeof a?a:a instanceof cljs.core.Keyword?cljs.core.name.call(null,a):a};
sablono.normalize.map_lookup_QMARK_=function(a){return cljs.core.list_QMARK_.call(null,a)&&cljs.core.first.call(null,a)instanceof cljs.core.Keyword};
sablono.normalize.class$=function(a){return null==a?null:cljs.core.truth_(sablono.normalize.map_lookup_QMARK_.call(null,a))?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null):cljs.core.list_QMARK_.call(null,a)?cljs.core.first.call(null,a)instanceof cljs.core.Symbol?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null):cljs.core.map.call(null,sablono.normalize.class_name,a):a instanceof cljs.core.Symbol?new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null):"string"===typeof a?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null):a instanceof cljs.core.Keyword?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[sablono.normalize.class_name.call(null,a)],null):(cljs.core.set_QMARK_.call(null,a)||cljs.core.sequential_QMARK_.call(null,a))&&cljs.core.every_QMARK_.call(null,function(a){return a instanceof cljs.core.Keyword||"string"===typeof a},
a)?cljs.core.mapv.call(null,sablono.normalize.class_name,a):cljs.core.set_QMARK_.call(null,a)||cljs.core.sequential_QMARK_.call(null,a)?cljs.core.mapv.call(null,sablono.normalize.class_name,a):a};
sablono.normalize.attributes=function(a){return cljs.core.truth_((new cljs.core.Keyword(null,"class","class",-2030961996)).cljs$core$IFn$_invoke$arity$1(a))?cljs.core.update_in.call(null,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"class","class",-2030961996)],null),sablono.normalize.class$):a};
sablono.normalize.merge_with_class=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return sablono.normalize.merge_with_class.cljs$core$IFn$_invoke$arity$variadic(b)};
sablono.normalize.merge_with_class.cljs$core$IFn$_invoke$arity$variadic=function(a){var b=cljs.core.map.call(null,sablono.normalize.attributes,a);a=cljs.core.mapcat.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),b);return cljs.core.seq.call(null,b)?(b=cljs.core.reduce.call(null,cljs.core.into,cljs.core.PersistentArrayMap.EMPTY,b),cljs.core.empty_QMARK_.call(null,a)?b:cljs.core.assoc.call(null,b,new cljs.core.Keyword(null,"class","class",-2030961996),cljs.core.vec.call(null,a))):
null};sablono.normalize.merge_with_class.cljs$lang$maxFixedArity=0;sablono.normalize.merge_with_class.cljs$lang$applyTo=function(a){return sablono.normalize.merge_with_class.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};sablono.normalize.strip_css=function(a){return cljs.core.truth_(a)?clojure.string.replace.call(null,a,/^[.#]/,""):null};
sablono.normalize.match_tag=function(a){var b=cljs.core.re_seq.call(null,/[#.]?[^#.]+/,cljs.core.name.call(null,a));if(cljs.core.empty_QMARK_.call(null,b))throw cljs.core.ex_info.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Can't match CSS tag: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),a],null));a=cljs.core.truth_((new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,
2,["#",null,".",null],null),null)).call(null,cljs.core.ffirst.call(null,b)))?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["div",b],null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.first.call(null,b),cljs.core.rest.call(null,b)],null);var c=cljs.core.nth.call(null,a,0,null),d=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[c,sablono.normalize.strip_css.call(null,
cljs.core.some.call(null,function(a,b,c,d){return function(a){return cljs.core._EQ_.call(null,"#",cljs.core.first.call(null,a))?a:null}}(b,a,c,d),d)),cljs.core.into.call(null,cljs.core.PersistentVector.EMPTY,cljs.core.comp.call(null,cljs.core.filter.call(null,function(a,b,c,d){return function(a){return cljs.core._EQ_.call(null,".",cljs.core.first.call(null,a))}}(b,a,c,d)),cljs.core.map.call(null,sablono.normalize.strip_css)),d)],null)};
sablono.normalize.children=function(a){return cljs.core.remove.call(null,cljs.core.nil_QMARK_,null==a?cljs.core.List.EMPTY:"string"===typeof a?cljs.core._conj.call(null,cljs.core.List.EMPTY,a):cljs.core.truth_(sablono.util.element_QMARK_.call(null,a))?cljs.core._conj.call(null,cljs.core.List.EMPTY,a):cljs.core.list_QMARK_.call(null,a)&&cljs.core.first.call(null,a)instanceof cljs.core.Symbol?cljs.core._conj.call(null,cljs.core.List.EMPTY,a):cljs.core.list_QMARK_.call(null,a)?a:cljs.core.sequential_QMARK_.call(null,
a)&&cljs.core._EQ_.call(null,cljs.core.count.call(null,a),1)&&cljs.core.sequential_QMARK_.call(null,cljs.core.first.call(null,a))&&"string"!==typeof cljs.core.first.call(null,a)&&cljs.core.not.call(null,sablono.util.element_QMARK_.call(null,cljs.core.first.call(null,a)))?sablono.normalize.children.call(null,cljs.core.first.call(null,a)):cljs.core.sequential_QMARK_.call(null,a)?a:cljs.core._conj.call(null,cljs.core.List.EMPTY,a))};
sablono.normalize.element=function(a){a=cljs.core.seq.call(null,a);var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);if(!(b instanceof cljs.core.Keyword||b instanceof cljs.core.Symbol||"string"===typeof b))throw cljs.core.ex_info.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" is not a valid element name.")].join(""),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"tag","tag",-1290361223),b,new cljs.core.Keyword(null,
"content","content",15833224),a],null));var c=sablono.normalize.match_tag.call(null,b),b=cljs.core.nth.call(null,c,0,null),d=cljs.core.nth.call(null,c,1,null),c=cljs.core.nth.call(null,c,2,null),d=sablono.normalize.compact_map.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"id","id",-1388402092),d,new cljs.core.Keyword(null,"class","class",-2030961996),c],null)),c=cljs.core.first.call(null,a);return cljs.core.map_QMARK_.call(null,c)?new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[b,sablono.normalize.merge_with_class.call(null,d,c),sablono.normalize.children.call(null,cljs.core.next.call(null,a))],null):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[b,sablono.normalize.attributes.call(null,d),sablono.normalize.children.call(null,a)],null)};sablono.interpreter={};sablono.interpreter.IInterpreter=function(){};sablono.interpreter.interpret=function(a){if(null!=a&&null!=a.sablono$interpreter$IInterpreter$interpret$arity$1)return a.sablono$interpreter$IInterpreter$interpret$arity$1(a);var b=sablono.interpreter.interpret[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=sablono.interpreter.interpret._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"IInterpreter.interpret",a);};
sablono.interpreter.wrap_form_element=function(a,b,c){return React.createClass({displayName:[cljs.core.str.cljs$core$IFn$_invoke$arity$1("wrapped-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""),getInitialState:function(){return{state_value:c.call(null,this.props[b])}},onChange:function(a){var c=this.props.onChange;if(null==c)return null;c.call(null,a);return this.setState({state_value:a.target[b]})},componentWillReceiveProps:function(a){var d=this.state.state_value,f=ReactDOM.findDOMNode(this)[b];
return cljs.core.not_EQ_.call(null,d,f)?this.setState({state_value:f}):this.setState({state_value:c.call(null,a[b])})},render:function(){var c={};goog.object.extend(c,this.props,{onChange:this.onChange,children:this.props.children});c[b]=this.state.state_value;return React.createElement(a,c)}})};sablono.interpreter.wrapped_input=sablono.interpreter.wrap_form_element.call(null,"input","value",cljs.core.str);
sablono.interpreter.wrapped_checked=sablono.interpreter.wrap_form_element.call(null,"input","checked",cljs.core.boolean$);sablono.interpreter.wrapped_select=sablono.interpreter.wrap_form_element.call(null,"select","value",cljs.core.str);sablono.interpreter.wrapped_textarea=sablono.interpreter.wrap_form_element.call(null,"textarea","value",cljs.core.str);sablono.interpreter.defined_QMARK_=function(a){return null!=a&&void 0!==a};
sablono.interpreter.create_element=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return sablono.interpreter.create_element.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
sablono.interpreter.create_element.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){var d=function(){var c=null!=b?function(){switch(cljs.core.name.call(null,a)){case "input":switch(b.type){case "radio":return cljs.core.truth_(sablono.interpreter.defined_QMARK_.call(null,b.checked))?sablono.interpreter.wrapped_checked:null;case "checkbox":return cljs.core.truth_(sablono.interpreter.defined_QMARK_.call(null,b.checked))?sablono.interpreter.wrapped_checked:null;default:return cljs.core.truth_(sablono.interpreter.defined_QMARK_.call(null,
b.value))?sablono.interpreter.wrapped_input:null}case "select":return cljs.core.truth_(sablono.interpreter.defined_QMARK_.call(null,b.value))?sablono.interpreter.wrapped_select:null;case "textarea":return cljs.core.truth_(sablono.interpreter.defined_QMARK_.call(null,b.value))?sablono.interpreter.wrapped_textarea:null;default:return null}}():null;return cljs.core.truth_(c)?c:cljs.core.name.call(null,a)}();c=cljs.core.remove.call(null,cljs.core.nil_QMARK_,c);null!=b&&(null==b.value&&(b.value=void 0),
null==b.checked&&(b.checked=void 0));return cljs.core.empty_QMARK_.call(null,c)?React.createElement(d,b):cljs.core.apply.call(null,React.createElement,d,b,c)};sablono.interpreter.create_element.cljs$lang$maxFixedArity=2;sablono.interpreter.create_element.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return sablono.interpreter.create_element.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
sablono.interpreter.attributes=function(a){a=cljs.core.clj__GT_js.call(null,sablono.util.html_to_dom_attrs.call(null,a));var b=a.className,b=cljs.core.array_QMARK_.call(null,b)?clojure.string.join.call(null," ",b):b;clojure.string.blank_QMARK_.call(null,b)?delete a.className:a.className=b;return a};sablono.interpreter.interpret_seq=function(a){return cljs.core.map.call(null,sablono.interpreter.interpret,a)};
sablono.interpreter.element=function(a){var b=sablono.normalize.element.call(null,a);a=cljs.core.nth.call(null,b,0,null);var c=cljs.core.nth.call(null,b,1,null),b=cljs.core.nth.call(null,b,2,null);return cljs.core.apply.call(null,sablono.interpreter.create_element,a,sablono.interpreter.attributes.call(null,c),sablono.interpreter.interpret_seq.call(null,b))};
sablono.interpreter.interpret_vec=function(a){return cljs.core.truth_(sablono.util.element_QMARK_.call(null,a))?sablono.interpreter.element.call(null,a):sablono.interpreter.interpret_seq.call(null,a)};cljs.core.Cons.prototype.sablono$interpreter$IInterpreter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Cons.prototype.sablono$interpreter$IInterpreter$interpret$arity$1=function(a){return sablono.interpreter.interpret_seq.call(null,this)};cljs.core.ChunkedSeq.prototype.sablono$interpreter$IInterpreter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.ChunkedSeq.prototype.sablono$interpreter$IInterpreter$interpret$arity$1=function(a){return sablono.interpreter.interpret_seq.call(null,this)};cljs.core.LazySeq.prototype.sablono$interpreter$IInterpreter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.LazySeq.prototype.sablono$interpreter$IInterpreter$interpret$arity$1=function(a){return sablono.interpreter.interpret_seq.call(null,this)};cljs.core.List.prototype.sablono$interpreter$IInterpreter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.List.prototype.sablono$interpreter$IInterpreter$interpret$arity$1=function(a){return sablono.interpreter.interpret_seq.call(null,this)};cljs.core.IndexedSeq.prototype.sablono$interpreter$IInterpreter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.IndexedSeq.prototype.sablono$interpreter$IInterpreter$interpret$arity$1=function(a){return sablono.interpreter.interpret_seq.call(null,this)};cljs.core.Subvec.prototype.sablono$interpreter$IInterpreter$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.Subvec.prototype.sablono$interpreter$IInterpreter$interpret$arity$1=function(a){return sablono.interpreter.interpret_vec.call(null,this)};cljs.core.PersistentVector.prototype.sablono$interpreter$IInterpreter$=cljs.core.PROTOCOL_SENTINEL;cljs.core.PersistentVector.prototype.sablono$interpreter$IInterpreter$interpret$arity$1=function(a){return sablono.interpreter.interpret_vec.call(null,this)};sablono.interpreter.IInterpreter._=!0;sablono.interpreter.interpret._=function(a){return a};
sablono.interpreter.IInterpreter["null"]=!0;sablono.interpreter.interpret["null"]=function(a){return null};sablono.core={};
sablono.core.wrap_attrs=function(a){return function(){var b=function(b){if(cljs.core.map_QMARK_.call(null,cljs.core.first.call(null,b))){var c=cljs.core.apply.call(null,a,cljs.core.rest.call(null,b)),d=cljs.core.seq.call(null,c),c=cljs.core.first.call(null,d),d=cljs.core.next.call(null,d);return cljs.core.map_QMARK_.call(null,cljs.core.first.call(null,d))?cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,cljs.core.merge.call(null,cljs.core.first.call(null,
d),cljs.core.first.call(null,b))],null),cljs.core.rest.call(null,d)):cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,cljs.core.first.call(null,b)],null),d)}return cljs.core.apply.call(null,a,b)},c=function(a){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return b.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);
return b(a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}()};
sablono.core.update_arglists=function(a){return function c(a){return new cljs.core.LazySeq(null,function(){for(;;){var d=cljs.core.seq.call(null,a);if(d){if(cljs.core.chunked_seq_QMARK_.call(null,d)){var f=cljs.core.chunk_first.call(null,d),g=cljs.core.count.call(null,f),h=cljs.core.chunk_buffer.call(null,g);a:for(var k=0;;)if(k<g){var l=cljs.core._nth.call(null,f,k);cljs.core.chunk_append.call(null,h,cljs.core.vec.call(null,cljs.core.cons.call(null,new cljs.core.Symbol(null,"attr-map?","attr-map?",
116307443,null),l)));k+=1}else{f=!0;break a}return f?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),c.call(null,cljs.core.chunk_rest.call(null,d))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}h=cljs.core.first.call(null,d);return cljs.core.cons.call(null,cljs.core.vec.call(null,cljs.core.cons.call(null,new cljs.core.Symbol(null,"attr-map?","attr-map?",116307443,null),h)),c.call(null,cljs.core.rest.call(null,d)))}return null}},null,null)}.call(null,a)};
sablono.core.include_css=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return sablono.core.include_css.cljs$core$IFn$_invoke$arity$variadic(b)};
sablono.core.include_css.cljs$core$IFn$_invoke$arity$variadic=function(a){return function c(a){return new cljs.core.LazySeq(null,function(){for(;;){var d=cljs.core.seq.call(null,a);if(d){if(cljs.core.chunked_seq_QMARK_.call(null,d)){var f=cljs.core.chunk_first.call(null,d),g=cljs.core.count.call(null,f),h=cljs.core.chunk_buffer.call(null,g);a:for(var k=0;;)if(k<g){var l=cljs.core._nth.call(null,f,k);cljs.core.chunk_append.call(null,h,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"link","link",-1769163468),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"type","type",1174270348),"text/css",new cljs.core.Keyword(null,"href","href",-793805698),sablono.util.as_str.call(null,l),new cljs.core.Keyword(null,"rel","rel",1378823488),"stylesheet"],null)],null));k+=1}else{f=!0;break a}return f?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),c.call(null,cljs.core.chunk_rest.call(null,d))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,
h),null)}h=cljs.core.first.call(null,d);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"link","link",-1769163468),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"type","type",1174270348),"text/css",new cljs.core.Keyword(null,"href","href",-793805698),sablono.util.as_str.call(null,h),new cljs.core.Keyword(null,"rel","rel",1378823488),"stylesheet"],null)],null),c.call(null,cljs.core.rest.call(null,
d)))}return null}},null,null)}.call(null,a)};sablono.core.include_css.cljs$lang$maxFixedArity=0;sablono.core.include_css.cljs$lang$applyTo=function(a){return sablono.core.include_css.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};sablono.core.include_js=function(a){return goog.dom.appendChild(goog.dom.getDocument().body,goog.dom.createDom("script",{src:a}))};sablono.core.include_react=function(){return sablono.core.include_js.call(null,"http://fb.me/react-0.12.2.js")};
sablono.core.link_to37360=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return sablono.core.link_to37360.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
sablono.core.link_to37360.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"a","a",-2123407586),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"href","href",-793805698),sablono.util.as_str.call(null,a)],null),b],null)};sablono.core.link_to37360.cljs$lang$maxFixedArity=1;
sablono.core.link_to37360.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return sablono.core.link_to37360.cljs$core$IFn$_invoke$arity$variadic(b,a)};sablono.core.link_to=sablono.core.wrap_attrs.call(null,sablono.core.link_to37360);
sablono.core.mail_to37366=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return sablono.core.mail_to37366.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
sablono.core.mail_to37366.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=cljs.core.nth.call(null,b,0,null),d=cljs.core.PersistentVector,e=cljs.core.PersistentVector.EMPTY_NODE,f=new cljs.core.Keyword(null,"a","a",-2123407586),g=new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"href","href",-793805698),[cljs.core.str.cljs$core$IFn$_invoke$arity$1("mailto:"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join("")],null);c=cljs.core.truth_(c)?c:a;return new d(null,3,5,e,
[f,g,c],null)};sablono.core.mail_to37366.cljs$lang$maxFixedArity=1;sablono.core.mail_to37366.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return sablono.core.mail_to37366.cljs$core$IFn$_invoke$arity$variadic(b,a)};sablono.core.mail_to=sablono.core.wrap_attrs.call(null,sablono.core.mail_to37366);
sablono.core.unordered_list37376=function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"ul","ul",-1349521403),function(){return function c(a){return new cljs.core.LazySeq(null,function(){for(;;){var d=cljs.core.seq.call(null,a);if(d){if(cljs.core.chunked_seq_QMARK_.call(null,d)){var f=cljs.core.chunk_first.call(null,d),g=cljs.core.count.call(null,f),h=cljs.core.chunk_buffer.call(null,g);a:for(var k=0;;)if(k<g){var l=cljs.core._nth.call(null,
f,k);cljs.core.chunk_append.call(null,h,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),l],null));k+=1}else{f=!0;break a}return f?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),c.call(null,cljs.core.chunk_rest.call(null,d))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}h=cljs.core.first.call(null,d);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"li","li",723558921),h],null),c.call(null,cljs.core.rest.call(null,d)))}return null}},null,null)}.call(null,a)}()],null)};sablono.core.unordered_list=sablono.core.wrap_attrs.call(null,sablono.core.unordered_list37376);
sablono.core.ordered_list37386=function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"ol","ol",932524051),function(){return function c(a){return new cljs.core.LazySeq(null,function(){for(;;){var d=cljs.core.seq.call(null,a);if(d){if(cljs.core.chunked_seq_QMARK_.call(null,d)){var f=cljs.core.chunk_first.call(null,d),g=cljs.core.count.call(null,f),h=cljs.core.chunk_buffer.call(null,g);a:for(var k=0;;)if(k<g){var l=cljs.core._nth.call(null,
f,k);cljs.core.chunk_append.call(null,h,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),l],null));k+=1}else{f=!0;break a}return f?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),c.call(null,cljs.core.chunk_rest.call(null,d))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}h=cljs.core.first.call(null,d);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"li","li",723558921),h],null),c.call(null,cljs.core.rest.call(null,d)))}return null}},null,null)}.call(null,a)}()],null)};sablono.core.ordered_list=sablono.core.wrap_attrs.call(null,sablono.core.ordered_list37386);
sablono.core.image37396=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return sablono.core.image37396.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.image37396.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
sablono.core.image37396.cljs$core$IFn$_invoke$arity$1=function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"src","src",-1651076051),sablono.util.as_str.call(null,a)],null)],null)};
sablono.core.image37396.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"src","src",-1651076051),sablono.util.as_str.call(null,a),new cljs.core.Keyword(null,"alt","alt",-3214426),b],null)],null)};sablono.core.image37396.cljs$lang$maxFixedArity=2;sablono.core.image=sablono.core.wrap_attrs.call(null,sablono.core.image37396);
sablono.core._STAR_group_STAR_=cljs.core.PersistentVector.EMPTY;sablono.core.make_name=function(a){return cljs.core.reduce.call(null,function(a,c){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1("["),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),cljs.core.str.cljs$core$IFn$_invoke$arity$1("]")].join("")},cljs.core.conj.call(null,sablono.core._STAR_group_STAR_,sablono.util.as_str.call(null,a)))};
sablono.core.make_id=function(a){return cljs.core.reduce.call(null,function(a,c){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join("")},cljs.core.conj.call(null,sablono.core._STAR_group_STAR_,sablono.util.as_str.call(null,a)))};
sablono.core.input_field_STAR_=function(a,b,c){var d=cljs.core.PersistentVector,e=cljs.core.PersistentVector.EMPTY_NODE,f=new cljs.core.Keyword(null,"input","input",556931961),g=cljs.core.PersistentArrayMap,h=new cljs.core.Keyword(null,"type","type",1174270348),k=new cljs.core.Keyword(null,"name","name",1843675177),l=sablono.core.make_name.call(null,b),m=new cljs.core.Keyword(null,"id","id",-1388402092);b=sablono.core.make_id.call(null,b);var n=new cljs.core.Keyword(null,"value","value",305978217);
c=cljs.core.truth_(c)?c:void 0;return new d(null,2,5,e,[f,new g(null,4,[h,a,k,l,m,b,n,c],null)],null)};
sablono.core.color_field37408=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return sablono.core.color_field37408.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.color_field37408.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
sablono.core.color_field37408.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.color_field37408.call(null,a,null)};sablono.core.color_field37408.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"color","color",-1642760596,null)),a,b)};sablono.core.color_field37408.cljs$lang$maxFixedArity=2;sablono.core.color_field=sablono.core.wrap_attrs.call(null,sablono.core.color_field37408);
sablono.core.date_field37412=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return sablono.core.date_field37412.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.date_field37412.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
sablono.core.date_field37412.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.date_field37412.call(null,a,null)};sablono.core.date_field37412.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"date","date",177097065,null)),a,b)};sablono.core.date_field37412.cljs$lang$maxFixedArity=2;sablono.core.date_field=sablono.core.wrap_attrs.call(null,sablono.core.date_field37412);
sablono.core.datetime_field37416=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return sablono.core.datetime_field37416.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.datetime_field37416.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
sablono.core.datetime_field37416.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.datetime_field37416.call(null,a,null)};sablono.core.datetime_field37416.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"datetime","datetime",2135207229,null)),a,b)};sablono.core.datetime_field37416.cljs$lang$maxFixedArity=2;sablono.core.datetime_field=sablono.core.wrap_attrs.call(null,sablono.core.datetime_field37416);
sablono.core.datetime_local_field37420=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return sablono.core.datetime_local_field37420.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.datetime_local_field37420.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};sablono.core.datetime_local_field37420.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.datetime_local_field37420.call(null,a,null)};sablono.core.datetime_local_field37420.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"datetime-local","datetime-local",-507312697,null)),a,b)};sablono.core.datetime_local_field37420.cljs$lang$maxFixedArity=2;
sablono.core.datetime_local_field=sablono.core.wrap_attrs.call(null,sablono.core.datetime_local_field37420);
sablono.core.email_field37424=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return sablono.core.email_field37424.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.email_field37424.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
sablono.core.email_field37424.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.email_field37424.call(null,a,null)};sablono.core.email_field37424.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"email","email",-1238619063,null)),a,b)};sablono.core.email_field37424.cljs$lang$maxFixedArity=2;sablono.core.email_field=sablono.core.wrap_attrs.call(null,sablono.core.email_field37424);
sablono.core.file_field37428=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return sablono.core.file_field37428.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.file_field37428.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
sablono.core.file_field37428.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.file_field37428.call(null,a,null)};sablono.core.file_field37428.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"file","file",370885649,null)),a,b)};sablono.core.file_field37428.cljs$lang$maxFixedArity=2;sablono.core.file_field=sablono.core.wrap_attrs.call(null,sablono.core.file_field37428);
sablono.core.hidden_field37432=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return sablono.core.hidden_field37432.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.hidden_field37432.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
sablono.core.hidden_field37432.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.hidden_field37432.call(null,a,null)};sablono.core.hidden_field37432.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"hidden","hidden",1328025435,null)),a,b)};sablono.core.hidden_field37432.cljs$lang$maxFixedArity=2;sablono.core.hidden_field=sablono.core.wrap_attrs.call(null,sablono.core.hidden_field37432);
sablono.core.month_field37436=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return sablono.core.month_field37436.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.month_field37436.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
sablono.core.month_field37436.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.month_field37436.call(null,a,null)};sablono.core.month_field37436.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"month","month",-319717006,null)),a,b)};sablono.core.month_field37436.cljs$lang$maxFixedArity=2;sablono.core.month_field=sablono.core.wrap_attrs.call(null,sablono.core.month_field37436);
sablono.core.number_field37440=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return sablono.core.number_field37440.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.number_field37440.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
sablono.core.number_field37440.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.number_field37440.call(null,a,null)};sablono.core.number_field37440.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"number","number",-1084057331,null)),a,b)};sablono.core.number_field37440.cljs$lang$maxFixedArity=2;sablono.core.number_field=sablono.core.wrap_attrs.call(null,sablono.core.number_field37440);
sablono.core.password_field37444=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return sablono.core.password_field37444.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.password_field37444.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
sablono.core.password_field37444.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.password_field37444.call(null,a,null)};sablono.core.password_field37444.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"password","password",2057553998,null)),a,b)};sablono.core.password_field37444.cljs$lang$maxFixedArity=2;sablono.core.password_field=sablono.core.wrap_attrs.call(null,sablono.core.password_field37444);
sablono.core.range_field37448=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return sablono.core.range_field37448.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.range_field37448.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
sablono.core.range_field37448.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.range_field37448.call(null,a,null)};sablono.core.range_field37448.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"range","range",-1014743483,null)),a,b)};sablono.core.range_field37448.cljs$lang$maxFixedArity=2;sablono.core.range_field=sablono.core.wrap_attrs.call(null,sablono.core.range_field37448);
sablono.core.search_field37452=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return sablono.core.search_field37452.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.search_field37452.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
sablono.core.search_field37452.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.search_field37452.call(null,a,null)};sablono.core.search_field37452.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"search","search",-1089495947,null)),a,b)};sablono.core.search_field37452.cljs$lang$maxFixedArity=2;sablono.core.search_field=sablono.core.wrap_attrs.call(null,sablono.core.search_field37452);
sablono.core.tel_field37456=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return sablono.core.tel_field37456.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.tel_field37456.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
sablono.core.tel_field37456.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.tel_field37456.call(null,a,null)};sablono.core.tel_field37456.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"tel","tel",1864669686,null)),a,b)};sablono.core.tel_field37456.cljs$lang$maxFixedArity=2;sablono.core.tel_field=sablono.core.wrap_attrs.call(null,sablono.core.tel_field37456);
sablono.core.text_field37460=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return sablono.core.text_field37460.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.text_field37460.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
sablono.core.text_field37460.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.text_field37460.call(null,a,null)};sablono.core.text_field37460.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"text","text",-150030170,null)),a,b)};sablono.core.text_field37460.cljs$lang$maxFixedArity=2;sablono.core.text_field=sablono.core.wrap_attrs.call(null,sablono.core.text_field37460);
sablono.core.time_field37464=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return sablono.core.time_field37464.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.time_field37464.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
sablono.core.time_field37464.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.time_field37464.call(null,a,null)};sablono.core.time_field37464.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"time","time",-1268547887,null)),a,b)};sablono.core.time_field37464.cljs$lang$maxFixedArity=2;sablono.core.time_field=sablono.core.wrap_attrs.call(null,sablono.core.time_field37464);
sablono.core.url_field37468=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return sablono.core.url_field37468.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.url_field37468.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
sablono.core.url_field37468.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.url_field37468.call(null,a,null)};sablono.core.url_field37468.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"url","url",1916828573,null)),a,b)};sablono.core.url_field37468.cljs$lang$maxFixedArity=2;sablono.core.url_field=sablono.core.wrap_attrs.call(null,sablono.core.url_field37468);
sablono.core.week_field37472=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return sablono.core.week_field37472.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.week_field37472.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
sablono.core.week_field37472.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.week_field37472.call(null,a,null)};sablono.core.week_field37472.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.input_field_STAR_.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,"week","week",314058249,null)),a,b)};sablono.core.week_field37472.cljs$lang$maxFixedArity=2;sablono.core.week_field=sablono.core.wrap_attrs.call(null,sablono.core.week_field37472);
sablono.core.file_upload=sablono.core.file_field;
sablono.core.check_box37544=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return sablono.core.check_box37544.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.check_box37544.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return sablono.core.check_box37544.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};sablono.core.check_box37544.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.check_box37544.call(null,a,null)};sablono.core.check_box37544.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.check_box37544.call(null,a,b,"true")};
sablono.core.check_box37544.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core.PersistentVector,e=cljs.core.PersistentVector.EMPTY_NODE,f=new cljs.core.Keyword(null,"input","input",556931961),g=cljs.core.PersistentArrayMap,h=new cljs.core.Keyword(null,"type","type",1174270348),k=new cljs.core.Keyword(null,"name","name",1843675177),l=sablono.core.make_name.call(null,a),m=new cljs.core.Keyword(null,"id","id",-1388402092);a=sablono.core.make_id.call(null,a);var n=new cljs.core.Keyword(null,
"value","value",305978217);c=cljs.core.truth_(c)?c:void 0;return new d(null,2,5,e,[f,new g(null,5,[h,"checkbox",k,l,m,a,n,c,new cljs.core.Keyword(null,"checked","checked",-50955819),b],null)],null)};sablono.core.check_box37544.cljs$lang$maxFixedArity=3;sablono.core.check_box=sablono.core.wrap_attrs.call(null,sablono.core.check_box37544);
sablono.core.radio_button37552=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return sablono.core.radio_button37552.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.radio_button37552.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return sablono.core.radio_button37552.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};sablono.core.radio_button37552.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.radio_button37552.call(null,a,null)};sablono.core.radio_button37552.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.radio_button37552.call(null,a,b,"true")};
sablono.core.radio_button37552.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core.PersistentVector,e=cljs.core.PersistentVector.EMPTY_NODE,f=new cljs.core.Keyword(null,"input","input",556931961),g=cljs.core.PersistentArrayMap,h=new cljs.core.Keyword(null,"type","type",1174270348),k=new cljs.core.Keyword(null,"name","name",1843675177),l=sablono.core.make_name.call(null,a),m=new cljs.core.Keyword(null,"id","id",-1388402092);a=sablono.core.make_id.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(sablono.util.as_str.call(null,
a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(sablono.util.as_str.call(null,c))].join(""));var n=new cljs.core.Keyword(null,"value","value",305978217);c=cljs.core.truth_(c)?c:void 0;return new d(null,2,5,e,[f,new g(null,5,[h,"radio",k,l,m,a,n,c,new cljs.core.Keyword(null,"checked","checked",-50955819),b],null)],null)};sablono.core.radio_button37552.cljs$lang$maxFixedArity=3;sablono.core.radio_button=sablono.core.wrap_attrs.call(null,sablono.core.radio_button37552);
sablono.core.hash_key=function(a){return goog.string.hashCode(cljs.core.pr_str.call(null,a))};
sablono.core.select_options37560=function(a){return function c(a){return new cljs.core.LazySeq(null,function(){for(;;){var d=cljs.core.seq.call(null,a);if(d){if(cljs.core.chunked_seq_QMARK_.call(null,d)){var f=cljs.core.chunk_first.call(null,d),g=cljs.core.count.call(null,f),h=cljs.core.chunk_buffer.call(null,g);return function(){for(var a=0;;)if(a<g){var c=cljs.core._nth.call(null,f,a);cljs.core.chunk_append.call(null,h,cljs.core.sequential_QMARK_.call(null,c)?function(){var a=c,d=cljs.core.nth.call(null,
a,0,null),e=cljs.core.nth.call(null,a,1,null),a=cljs.core.nth.call(null,a,2,null),a=cljs.core.boolean$.call(null,a);return cljs.core.sequential_QMARK_.call(null,e)?new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"optgroup","optgroup",1738282218),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"key","key",-1516042587),sablono.core.hash_key.call(null,d),new cljs.core.Keyword(null,"label","label",1718410804),d],null),sablono.core.select_options37560.call(null,
e)],null):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"option","option",65132272),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"disabled","disabled",-1529784218),a,new cljs.core.Keyword(null,"key","key",-1516042587),sablono.core.hash_key.call(null,e),new cljs.core.Keyword(null,"value","value",305978217),e],null),d],null)}():new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"option","option",65132272),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"key","key",-1516042587),sablono.core.hash_key.call(null,c),new cljs.core.Keyword(null,"value","value",305978217),c],null),c],null));a+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),c.call(null,cljs.core.chunk_rest.call(null,d))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}var k=cljs.core.first.call(null,d);return cljs.core.cons.call(null,cljs.core.sequential_QMARK_.call(null,
k)?function(){var a=k,c=cljs.core.nth.call(null,a,0,null),d=cljs.core.nth.call(null,a,1,null),a=cljs.core.nth.call(null,a,2,null),a=cljs.core.boolean$.call(null,a);return cljs.core.sequential_QMARK_.call(null,d)?new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"optgroup","optgroup",1738282218),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"key","key",-1516042587),sablono.core.hash_key.call(null,c),new cljs.core.Keyword(null,
"label","label",1718410804),c],null),sablono.core.select_options37560.call(null,d)],null):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"option","option",65132272),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"disabled","disabled",-1529784218),a,new cljs.core.Keyword(null,"key","key",-1516042587),sablono.core.hash_key.call(null,d),new cljs.core.Keyword(null,"value","value",305978217),d],null),c],null)}():new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"option","option",65132272),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"key","key",-1516042587),sablono.core.hash_key.call(null,k),new cljs.core.Keyword(null,"value","value",305978217),k],null),k],null),c.call(null,cljs.core.rest.call(null,d)))}return null}},null,null)}.call(null,a)};sablono.core.select_options=sablono.core.wrap_attrs.call(null,sablono.core.select_options37560);
sablono.core.drop_down37594=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return sablono.core.drop_down37594.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return sablono.core.drop_down37594.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
sablono.core.drop_down37594.cljs$core$IFn$_invoke$arity$2=function(a,b){return sablono.core.drop_down37594.call(null,a,b,null)};
sablono.core.drop_down37594.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"select","select",1147833503),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name","name",1843675177),sablono.core.make_name.call(null,a),new cljs.core.Keyword(null,"id","id",-1388402092),sablono.core.make_id.call(null,a)],null),sablono.core.select_options.call(null,b,c)],null)};
sablono.core.drop_down37594.cljs$lang$maxFixedArity=3;sablono.core.drop_down=sablono.core.wrap_attrs.call(null,sablono.core.drop_down37594);
sablono.core.text_area37602=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return sablono.core.text_area37602.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return sablono.core.text_area37602.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
sablono.core.text_area37602.cljs$core$IFn$_invoke$arity$1=function(a){return sablono.core.text_area37602.call(null,a,null)};
sablono.core.text_area37602.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.core.PersistentVector,d=cljs.core.PersistentVector.EMPTY_NODE,e=new cljs.core.Keyword(null,"textarea","textarea",-650375824),f=cljs.core.PersistentArrayMap,g=new cljs.core.Keyword(null,"name","name",1843675177),h=sablono.core.make_name.call(null,a),k=new cljs.core.Keyword(null,"id","id",-1388402092),l=sablono.core.make_id.call(null,a),m=new cljs.core.Keyword(null,"value","value",305978217);var n=cljs.core.truth_(b)?
b:void 0;return new c(null,2,5,d,[e,new f(null,3,[g,h,k,l,m,n],null)],null)};sablono.core.text_area37602.cljs$lang$maxFixedArity=2;sablono.core.text_area=sablono.core.wrap_attrs.call(null,sablono.core.text_area37602);
sablono.core.label37610=function(a,b){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"label","label",1718410804),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"htmlFor","htmlFor",-1050291720),sablono.core.make_id.call(null,a)],null),b],null)};sablono.core.label=sablono.core.wrap_attrs.call(null,sablono.core.label37610);
sablono.core.submit_button37611=function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"input","input",556931961),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"type","type",1174270348),"submit",new cljs.core.Keyword(null,"value","value",305978217),a],null)],null)};sablono.core.submit_button=sablono.core.wrap_attrs.call(null,sablono.core.submit_button37611);
sablono.core.reset_button37612=function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"input","input",556931961),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"type","type",1174270348),"reset",new cljs.core.Keyword(null,"value","value",305978217),a],null)],null)};sablono.core.reset_button=sablono.core.wrap_attrs.call(null,sablono.core.reset_button37612);
sablono.core.form_to37613=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return sablono.core.form_to37613.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
sablono.core.form_to37613.cljs$core$IFn$_invoke$arity$variadic=function(a,b){var c=cljs.core.nth.call(null,a,0,null),d=cljs.core.nth.call(null,a,1,null),e=clojure.string.upper_case.call(null,cljs.core.name.call(null,c)),d=sablono.util.to_uri.call(null,d);return cljs.core.vec.call(null,cljs.core.concat.call(null,cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"get","get",1683182755),null,new cljs.core.Keyword(null,
"post","post",269697687),null],null),null),c)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"form","form",-1624062471),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"method","method",55703592),e,new cljs.core.Keyword(null,"action","action",-811238024),d],null)],null):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"form","form",-1624062471),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"method","method",55703592),"POST",new cljs.core.Keyword(null,"action","action",-811238024),d],null),sablono.core.hidden_field.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"key","key",-1516042587),3735928559],null),"_method",e)],null),b))};sablono.core.form_to37613.cljs$lang$maxFixedArity=1;
sablono.core.form_to37613.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return sablono.core.form_to37613.cljs$core$IFn$_invoke$arity$variadic(b,a)};sablono.core.form_to=sablono.core.wrap_attrs.call(null,sablono.core.form_to37613);rum.util={};rum.util.collect=function(a,b){return cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,function(b){return cljs.core.get.call(null,b,a)},b))};rum.util.collect_STAR_=function(a,b){return cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.mapcat.call(null,function(b){return cljs.core.map.call(null,function(a){return cljs.core.get.call(null,b,a)},a)},b))};
rum.util.call_all=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return rum.util.call_all.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};rum.util.call_all.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.reduce.call(null,function(a,b){return cljs.core.apply.call(null,b,a,c)},a,b)};rum.util.call_all.cljs$lang$maxFixedArity=2;
rum.util.call_all.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return rum.util.call_all.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};rum.util.filter_vals=function(a,b){return cljs.core.reduce_kv.call(null,function(b,d,e){return cljs.core.truth_(a.call(null,e))?cljs.core.assoc.call(null,b,d,e):b},cljs.core.PersistentArrayMap.EMPTY,b)};rum.core={};rum.core.state=function(a){return a.state[":rum/state"]};
rum.core.build_class=function(a,b,c){var d=rum.util.collect.call(null,new cljs.core.Keyword(null,"init","init",-1875481434),b),e=rum.util.collect_STAR_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"will-mount","will-mount",-434633071),new cljs.core.Keyword(null,"before-render","before-render",71256781)],null),b),f=rum.util.collect.call(null,new cljs.core.Keyword(null,"wrap-render","wrap-render",1782000986),b),g=cljs.core.reduce.call(null,
function(a,b,c,d){return function(a,b){return b.call(null,a)}}(d,e,a,f),a,f),h=rum.util.collect_STAR_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"did-mount","did-mount",918232960),new cljs.core.Keyword(null,"after-render","after-render",1997533433)],null),b),k=rum.util.collect.call(null,new cljs.core.Keyword(null,"did-remount","did-remount",1362550500),b),l=rum.util.collect.call(null,new cljs.core.Keyword(null,"should-update",
"should-update",-1292781795),b),m=rum.util.collect_STAR_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"will-update","will-update",328062998),new cljs.core.Keyword(null,"before-render","before-render",71256781)],null),b),n=rum.util.collect_STAR_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"did-update","did-update",-2143702256),new cljs.core.Keyword(null,"after-render",
"after-render",1997533433)],null),b),p=rum.util.collect.call(null,new cljs.core.Keyword(null,"will-unmount","will-unmount",-808051550),b),q=rum.util.collect.call(null,new cljs.core.Keyword(null,"child-context","child-context",-1375270295),b);b=cljs.core.reduce.call(null,cljs.core.merge,rum.util.collect.call(null,new cljs.core.Keyword(null,"class-properties","class-properties",1351279702),b));return React.createClass(cljs.core.clj__GT_js.call(null,rum.util.filter_vals.call(null,cljs.core.some_QMARK_,
cljs.core.merge.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"componentDidUpdate","componentDidUpdate",-1983477981),new cljs.core.Keyword(null,"displayName","displayName",-809144601),new cljs.core.Keyword(null,"componentWillUnmount","componentWillUnmount",1573788814),new cljs.core.Keyword(null,"componentWillReceiveProps","componentWillReceiveProps",559988974),new cljs.core.Keyword(null,"shouldComponentUpdate","shouldComponentUpdate",1795750960),new cljs.core.Keyword(null,
"render","render",-1408033454),new cljs.core.Keyword(null,"getChildContext","getChildContext",-1321948108),new cljs.core.Keyword(null,"componentWillUpdate","componentWillUpdate",657390932),new cljs.core.Keyword(null,"getInitialState","getInitialState",1541760916),new cljs.core.Keyword(null,"componentDidMount","componentDidMount",955710936),new cljs.core.Keyword(null,"componentWillMount","componentWillMount",-285327619)],[cljs.core.empty_QMARK_.call(null,n)?null:function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(a,
b){return cljs.core._vreset_BANG_.call(null,rum.core.state.call(null,this),rum.util.call_all.call(null,cljs.core._deref.call(null,rum.core.state.call(null,this)),l))}}(d,e,a,f,g,h,k,l,m,n,p,q,b),c,cljs.core.empty_QMARK_.call(null,p)?null:function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){return cljs.core._vreset_BANG_.call(null,rum.core.state.call(null,this),rum.util.call_all.call(null,cljs.core._deref.call(null,rum.core.state.call(null,this)),m))}}(d,e,a,f,g,h,k,l,m,n,p,q,b),function(a,b,c,d,
e,f,g,h,k,l,m,n,p){return function(q){var r=cljs.core.deref.call(null,rum.core.state.call(null,this));q=cljs.core.merge.call(null,r,q[":rum/initial-state"]);r=cljs.core.reduce.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(b,c){return c.call(null,a,b)}}(r,q,this,a,b,c,d,e,f,g,h,k,l,m,n,p),q,g);return this.setState({":rum/state":cljs.core.volatile_BANG_.call(null,r)})}}(d,e,a,f,g,h,k,l,m,n,p,q,b),cljs.core.empty_QMARK_.call(null,l)?null:function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(q,
r){var u=cljs.core.deref.call(null,rum.core.state.call(null,this)),t=cljs.core.deref.call(null,r[":rum/state"]),u=cljs.core.some.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(c){return c.call(null,a,b)}}(u,t,this,a,b,c,d,e,f,g,h,k,l,m,n,p),h);return cljs.core.truth_(u)?u:!1}}(d,e,a,f,g,h,k,l,m,n,p,q,b),function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){var a=rum.core.state.call(null,this),b=e.call(null,cljs.core.deref.call(null,a)),c=cljs.core.nth.call(null,b,0,null),b=cljs.core.nth.call(null,
b,1,null);cljs.core.vreset_BANG_.call(null,a,b);return c}}(d,e,a,f,g,h,k,l,m,n,p,q,b),cljs.core.empty_QMARK_.call(null,q)?null:function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){var q=cljs.core.deref.call(null,rum.core.state.call(null,this));return cljs.core.clj__GT_js.call(null,cljs.core.transduce.call(null,cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(b){return b.call(null,a)}}(q,this,a,b,c,d,e,f,g,h,k,l,m,n,p)),cljs.core.merge,cljs.core.PersistentArrayMap.EMPTY,
n))}}(d,e,a,f,g,h,k,l,m,n,p,q,b),cljs.core.empty_QMARK_.call(null,m)?null:function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(a,b){var c=b[":rum/state"];return cljs.core._vreset_BANG_.call(null,c,rum.util.call_all.call(null,cljs.core._deref.call(null,c),k))}}(d,e,a,f,g,h,k,l,m,n,p,q,b),function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){var b=this.props,b=rum.util.call_all.call(null,cljs.core.assoc.call(null,b[":rum/initial-state"],new cljs.core.Keyword("rum","react-component","rum/react-component",
-1879897248),this),a,b);return{":rum/state":cljs.core.volatile_BANG_.call(null,b)}}}(d,e,a,f,g,h,k,l,m,n,p,q,b),cljs.core.empty_QMARK_.call(null,h)?null:function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){return cljs.core._vreset_BANG_.call(null,rum.core.state.call(null,this),rum.util.call_all.call(null,cljs.core._deref.call(null,rum.core.state.call(null,this)),f))}}(d,e,a,f,g,h,k,l,m,n,p,q,b),cljs.core.empty_QMARK_.call(null,e)?null:function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){return cljs.core._vreset_BANG_.call(null,
rum.core.state.call(null,this),rum.util.call_all.call(null,cljs.core._deref.call(null,rum.core.state.call(null,this)),b))}}(d,e,a,f,g,h,k,l,m,n,p,q,b)]),b))))};
rum.core.build_ctor=function(a,b,c){a=rum.core.build_class.call(null,a,b,c);b=cljs.core.first.call(null,rum.util.collect.call(null,new cljs.core.Keyword(null,"key-fn","key-fn",-636154479),b));b=null!=b?function(a,b){return function(){var c=function(c){c={":rum/initial-state":new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("rum","args","rum/args",1315791754),c],null),key:cljs.core.apply.call(null,b,c)};return React.createElement(a,c)},d=function(a){var b=null;if(0<arguments.length){for(var b=
0,d=Array(arguments.length-0);b<d.length;)d[b]=arguments[b+0],++b;b=new cljs.core.IndexedSeq(d,0,null)}return c.call(this,b)};d.cljs$lang$maxFixedArity=0;d.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return c(a)};d.cljs$core$IFn$_invoke$arity$variadic=c;return d}()}(a,b):function(a,b){return function(){var b=function(b){b={":rum/initial-state":new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("rum","args","rum/args",1315791754),b],null)};return React.createElement(a,b)},c=function(a){var c=
null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return b.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return b(a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}()}(a,b);return cljs.core.with_meta.call(null,b,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("rum","class","rum/class",-2030775258),a],null))};
rum.core.build_defc=function(a,b,c){return cljs.core.empty_QMARK_.call(null,b)?(b=function(b){return cljs.core.apply.call(null,a,b[":rum/args"])},c=b.displayName=c,c=function(a,b){return function(){var b=function(b){return React.createElement(a,{":rum/args":b})},c=function(a){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return b.call(this,c)};c.cljs$lang$maxFixedArity=0;c.cljs$lang$applyTo=function(a){a=
cljs.core.seq(a);return b(a)};c.cljs$core$IFn$_invoke$arity$variadic=b;return c}()}(b,c),cljs.core.with_meta.call(null,c,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("rum","class","rum/class",-2030775258),b],null))):rum.core.build_ctor.call(null,function(b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.call(null,a,(new cljs.core.Keyword("rum","args","rum/args",1315791754)).cljs$core$IFn$_invoke$arity$1(b)),b],null)},b,c)};
rum.core.build_defcs=function(a,b,c){return rum.core.build_ctor.call(null,function(b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.call(null,a,b,(new cljs.core.Keyword("rum","args","rum/args",1315791754)).cljs$core$IFn$_invoke$arity$1(b)),b],null)},b,c)};
rum.core.build_defcc=function(a,b,c){return rum.core.build_ctor.call(null,function(b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.call(null,a,(new cljs.core.Keyword("rum","react-component","rum/react-component",-1879897248)).cljs$core$IFn$_invoke$arity$1(b),(new cljs.core.Keyword("rum","args","rum/args",1315791754)).cljs$core$IFn$_invoke$arity$1(b)),b],null)},b,c)};
rum.core.schedule=function(){var a=function(){var a="undefined"!==typeof window;if(a){a=window.requestAnimationFrame;if(cljs.core.truth_(a))return a;a=window.webkitRequestAnimationFrame;if(cljs.core.truth_(a))return a;a=window.mozRequestAnimationFrame;return cljs.core.truth_(a)?a:window.msRequestAnimationFrame}return a}();return cljs.core.truth_(a)?a:function(a){return function(a){return setTimeout(a,16)}}(a)}();
rum.core.batch=function(){var a="undefined"!==typeof ReactNative?ReactNative.unstable_batchedUpdates:null;if(cljs.core.truth_(a))return a;var b="undefined"!==typeof ReactDOM?ReactDOM.unstable_batchedUpdates:null;return cljs.core.truth_(b)?b:function(a,b){return function(a,b){return a.call(null,b)}}(b,a)}();rum.core.empty_queue=cljs.core.PersistentVector.EMPTY;rum.core.render_queue=cljs.core.volatile_BANG_.call(null,rum.core.empty_queue);
rum.core.render_all=function(a){a=cljs.core.seq.call(null,a);for(var b=null,c=0,d=0;;)if(d<c){var e=cljs.core._nth.call(null,b,d);cljs.core.truth_(e.isMounted())&&e.forceUpdate();d+=1}else if(a=cljs.core.seq.call(null,a))b=a,cljs.core.chunked_seq_QMARK_.call(null,b)?(a=cljs.core.chunk_first.call(null,b),b=cljs.core.chunk_rest.call(null,b),e=a,c=cljs.core.count.call(null,a),a=b,b=e):(e=cljs.core.first.call(null,b),cljs.core.truth_(e.isMounted())&&e.forceUpdate(),a=cljs.core.next.call(null,b),b=null,
c=0),d=0;else return null};rum.core.render=function(){var a=cljs.core.deref.call(null,rum.core.render_queue);cljs.core.vreset_BANG_.call(null,rum.core.render_queue,rum.core.empty_queue);return rum.core.batch.call(null,rum.core.render_all,a)};
rum.core.request_render=function(a){cljs.core.empty_QMARK_.call(null,cljs.core.deref.call(null,rum.core.render_queue))&&rum.core.schedule.call(null,rum.core.render);return cljs.core._vreset_BANG_.call(null,rum.core.render_queue,cljs.core.conj.call(null,cljs.core._deref.call(null,rum.core.render_queue),a))};rum.core.mount=function(a,b){ReactDOM.render(a,b);return null};rum.core.unmount=function(a){return ReactDOM.unmountComponentAtNode(a)};
rum.core.with_key=function(a,b){return React.cloneElement(a,{key:b},null)};rum.core.with_ref=function(a,b){return React.cloneElement(a,{ref:b},null)};rum.core.dom_node=function(a){return ReactDOM.findDOMNode((new cljs.core.Keyword("rum","react-component","rum/react-component",-1879897248)).cljs$core$IFn$_invoke$arity$1(a))};
rum.core.ref=function(a,b){return(new cljs.core.Keyword("rum","react-component","rum/react-component",-1879897248)).cljs$core$IFn$_invoke$arity$1(a).refs[cljs.core.name.call(null,b)]};rum.core.ref_node=function(a,b){return ReactDOM.findDOMNode(rum.core.ref.call(null,a,cljs.core.name.call(null,b)))};
rum.core.static$=new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"should-update","should-update",-1292781795),function(a,b){return cljs.core.not_EQ_.call(null,(new cljs.core.Keyword("rum","args","rum/args",1315791754)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword("rum","args","rum/args",1315791754)).cljs$core$IFn$_invoke$arity$1(b))}],null);
rum.core.local=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return rum.core.local.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return rum.core.local.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
rum.core.local.cljs$core$IFn$_invoke$arity$1=function(a){return rum.core.local.call(null,a,new cljs.core.Keyword("rum","local","rum/local",-1497916586))};
rum.core.local.cljs$core$IFn$_invoke$arity$2=function(a,b){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"will-mount","will-mount",-434633071),function(c){var d=cljs.core.atom.call(null,a),e=(new cljs.core.Keyword("rum","react-component","rum/react-component",-1879897248)).cljs$core$IFn$_invoke$arity$1(c);cljs.core.add_watch.call(null,d,b,function(a,b){return function(a,c,d,e){return rum.core.request_render.call(null,b)}}(d,e));return cljs.core.assoc.call(null,c,b,d)}],
null)};rum.core.local.cljs$lang$maxFixedArity=2;
rum.core.reactive=new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"init","init",-1875481434),function(a,b){return cljs.core.assoc.call(null,a,new cljs.core.Keyword("rum.reactive","key","rum.reactive/key",-803425142),cljs.core.random_uuid.call(null))},new cljs.core.Keyword(null,"wrap-render","wrap-render",1782000986),function(a){return function(b){var c=rum.core._STAR_reactions_STAR_;rum.core._STAR_reactions_STAR_=cljs.core.volatile_BANG_.call(null,cljs.core.PersistentHashSet.EMPTY);
try{var d=(new cljs.core.Keyword("rum","react-component","rum/react-component",-1879897248)).cljs$core$IFn$_invoke$arity$1(b),e=(new cljs.core.Keyword("rum.reactive","refs","rum.reactive/refs",-814076325)).cljs$core$IFn$_invoke$arity$2(b,cljs.core.PersistentHashSet.EMPTY),f=a.call(null,b),g=cljs.core.nth.call(null,f,0,null),h=cljs.core.nth.call(null,f,1,null),k=cljs.core.deref.call(null,rum.core._STAR_reactions_STAR_),l=(new cljs.core.Keyword("rum.reactive","key","rum.reactive/key",-803425142)).cljs$core$IFn$_invoke$arity$1(b),
m=cljs.core.seq.call(null,e);b=null;for(var n=0,p=0;;)if(p<n){var q=cljs.core._nth.call(null,b,p);cljs.core.contains_QMARK_.call(null,k,q)||cljs.core.remove_watch.call(null,q,l);p+=1}else{var r=cljs.core.seq.call(null,m);if(r){var u=r;if(cljs.core.chunked_seq_QMARK_.call(null,u)){var t=cljs.core.chunk_first.call(null,u),v=cljs.core.chunk_rest.call(null,u),u=t,w=cljs.core.count.call(null,t),m=v;b=u;n=w}else{var x=cljs.core.first.call(null,u);cljs.core.contains_QMARK_.call(null,k,x)||cljs.core.remove_watch.call(null,
x,l);m=cljs.core.next.call(null,u);b=null;n=0}p=0}else break}for(var y=cljs.core.seq.call(null,k),m=null,r=q=0;;)if(r<q){var z=cljs.core._nth.call(null,m,r);cljs.core.contains_QMARK_.call(null,e,z)||cljs.core.add_watch.call(null,z,l,function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(a,b,c,d){return rum.core.request_render.call(null,f)}}(y,m,q,r,z,d,e,f,g,h,k,l,c));r+=1}else{var A=cljs.core.seq.call(null,y);if(A){t=A;if(cljs.core.chunked_seq_QMARK_.call(null,t))var J=cljs.core.chunk_first.call(null,
t),B=cljs.core.chunk_rest.call(null,t),t=J,C=cljs.core.count.call(null,J),y=B,m=t,q=C;else{var G=cljs.core.first.call(null,t);cljs.core.contains_QMARK_.call(null,e,G)||cljs.core.add_watch.call(null,G,l,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a,b,c,d){return rum.core.request_render.call(null,h)}}(y,m,q,r,G,t,A,d,e,f,g,h,k,l,c));y=cljs.core.next.call(null,t);m=null;q=0}r=0}else break}return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[g,cljs.core.assoc.call(null,
h,new cljs.core.Keyword("rum.reactive","refs","rum.reactive/refs",-814076325),k)],null)}finally{rum.core._STAR_reactions_STAR_=c}}},new cljs.core.Keyword(null,"will-unmount","will-unmount",-808051550),function(a){for(var b=(new cljs.core.Keyword("rum.reactive","key","rum.reactive/key",-803425142)).cljs$core$IFn$_invoke$arity$1(a),c=cljs.core.seq.call(null,(new cljs.core.Keyword("rum.reactive","refs","rum.reactive/refs",-814076325)).cljs$core$IFn$_invoke$arity$1(a)),d=null,e=0,f=0;;)if(f<e){var g=
cljs.core._nth.call(null,d,f);cljs.core.remove_watch.call(null,g,b);f+=1}else if(c=cljs.core.seq.call(null,c))d=c,cljs.core.chunked_seq_QMARK_.call(null,d)?(c=cljs.core.chunk_first.call(null,d),f=cljs.core.chunk_rest.call(null,d),d=c,e=cljs.core.count.call(null,c),c=f):(c=cljs.core.first.call(null,d),cljs.core.remove_watch.call(null,c,b),c=cljs.core.next.call(null,d),d=null,e=0),f=0;else break;return cljs.core.dissoc.call(null,a,new cljs.core.Keyword("rum.reactive","refs","rum.reactive/refs",-814076325),
new cljs.core.Keyword("rum.reactive","key","rum.reactive/key",-803425142))}],null);
rum.core.react=function(a){if(!cljs.core.truth_(rum.core._STAR_reactions_STAR_))throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Assert failed: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1("rum.core/react is only supported in conjunction with rum.core/reactive"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("\n"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("*reactions*")].join(""));cljs.core._vreset_BANG_.call(null,rum.core._STAR_reactions_STAR_,cljs.core.conj.call(null,cljs.core._deref.call(null,
rum.core._STAR_reactions_STAR_),a));return cljs.core.deref.call(null,a)};rum.core.derived_atom=rum.derived_atom.derived_atom;rum.core.cursor_in=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return rum.core.cursor_in.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
rum.core.cursor_in.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;return a instanceof rum.cursor.Cursor?new rum.cursor.Cursor(a.ref,cljs.core.into.call(null,a.path,b),(new cljs.core.Keyword(null,"meta","meta",1499536964)).cljs$core$IFn$_invoke$arity$1(c)):new rum.cursor.Cursor(a,b,(new cljs.core.Keyword(null,"meta","meta",1499536964)).cljs$core$IFn$_invoke$arity$1(c))};
rum.core.cursor_in.cljs$lang$maxFixedArity=2;rum.core.cursor_in.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return rum.core.cursor_in.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};
rum.core.cursor=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return rum.core.cursor.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};rum.core.cursor.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return cljs.core.apply.call(null,rum.core.cursor_in,a,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[b],null),c)};
rum.core.cursor.cljs$lang$maxFixedArity=2;rum.core.cursor.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return rum.core.cursor.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};weathergen.ui.trees={};
weathergen.ui.trees.tree_STAR_=function(a,b,c,d){var e=cljs.core.seq.call(null,b),f=cljs.core.first.call(null,e),g=cljs.core.next.call(null,e),h=null!=f&&(f.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===f.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,f):f,k=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"formatter","formatter",-483008823)),l=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"children","children",-940561982)),m=cljs.core.get.call(null,
h,new cljs.core.Keyword(null,"attrs","attrs",-2090668713));return weathergen.ui.common.styled.call(null,new cljs.core.Keyword(null,"garden","garden",-1966516149),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),"-28px"],null)],null),hoplon.core.ol.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"list-style-type","list-style-type",-1703248598),"none"],null),hoplon.core.loop_tpl_STAR_.call(null,c,function(b,c,e,f,g,h,k,l,m,y,z){return function(n){var p=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(b,c,e,f,g,h,k,l,m,y,z)).call(null,n)),q=cljs.core.nth.call(null,p,0,null),r=cljs.core.truth_(y)?
y.call(null,q):javelin.core.cell.call(null,null),u=javelin.core.cell.call(null,!0);cljs.core.truth_(a)&&hoplon.core.do_watch.call(null,a,function(a,b,c,e,f,g,h,k,l,m,n,p,q,r,u){return function(a,c){if(cljs.core._EQ_.call(null,c,new cljs.core.Keyword(null,"all-expanded","all-expanded",1437674225)))return cljs.core.reset_BANG_.call(null,b,!0);if(cljs.core._EQ_.call(null,c,new cljs.core.Keyword(null,"all-collapsed","all-collapsed",437702622)))return cljs.core.reset_BANG_.call(null,b,!1);if(cljs.core._EQ_.call(null,
cljs.core.first.call(null,c),new cljs.core.Keyword(null,"expand-through-level","expand-through-level",-1840001384))){var e=d<cljs.core.second.call(null,c);return cljs.core.reset_BANG_.call(null,b,e)}return null}}(r,u,p,q,b,c,e,f,g,h,k,l,m,y,z));return hoplon.core.li.call(null,cljs.core.truth_(z)?z.call(null,q):cljs.core.PersistentArrayMap.EMPTY,weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"white-space","white-space",-707351930),"nowrap"],null),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"width","width",-384071477),"15px",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"120%",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"top"],null),function(){var d=new cljs.core.Delay(function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(){return hoplon.core.div.call(null,
new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"cursor","cursor",1011937484),"pointer",new cljs.core.Keyword(null,"position","position",-2011731912),"relative",new cljs.core.Keyword(null,"background","background",-863952629),"transparent"],null),new cljs.core.Keyword(null,"click","click",1912301393),function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(){return javelin.core.dosync_STAR_.call(null,
function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(){cljs.core.swap_BANG_.call(null,c,cljs.core.not);return cljs.core.truth_(a)?cljs.core.reset_BANG_.call(null,a,null):null}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u))}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a){return new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"display","display",
242065432),"inline-block",new cljs.core.Keyword(null,"width","width",-384071477),0,new cljs.core.Keyword(null,"height","height",1025178622),0,new cljs.core.Keyword(null,"border-left","border-left",-1150760178),"5px solid transparent",new cljs.core.Keyword(null,"border-right","border-right",-668932860),"5px solid transparent",new cljs.core.Keyword(null,"border-top","border-top",-158897573),"7px solid black",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle",new cljs.core.Keyword(null,
"transform","transform",1381301764),[cljs.core.str.cljs$core$IFn$_invoke$arity$1("rotate("),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(a)?0:-90),cljs.core.str.cljs$core$IFn$_invoke$arity$1("deg)")].join("")],null)}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,u)).call(null,c)))}}(r,u,p,q,b,c,e,f,g,h,k,l,m,y,z),null),n=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(){return""}}(d,r,u,p,q,b,c,e,f,g,h,k,l,m,y,z),null),t=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){return function(c){return cljs.core.deref.call(null,
function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(d,n,r,u,p,q,b,c,e,f,g,h,k,l,m,y,z);return javelin.core.formula.call(null,t).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(a,b){return a.call(null,b)}}(d,n,t,r,u,p,q,b,c,e,f,g,h,k,l,m,y,z)).call(null,cljs.core.seq,r))}()),m.call(null,u,q)),function(){var n=new cljs.core.Delay(function(b,c,e,f,g,h,k,l,m,n,p,q,r,u,t){return function(){return weathergen.ui.trees.tree_STAR_.call(null,
a,n,b,d+1)}}(r,u,p,q,b,c,e,f,g,h,k,l,m,y,z),null),t=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(){return null}}(n,r,u,p,q,b,c,e,f,g,h,k,l,m,y,z),null),v=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(n,t,r,u,p,q,b,c,e,f,g,h,k,l,m,y,z);return javelin.core.formula.call(null,v).call(null,javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(a,b){return cljs.core.truth_(a)?b:a}}(n,t,v,r,u,p,q,b,c,e,f,g,h,k,l,m,y,z)).call(null,u,r))}())}}(b,e,f,g,f,g,f,h,k,l,m))))};weathergen.ui.trees.tree=function(a,b,c){return weathergen.ui.trees.tree_STAR_.call(null,a,b,c,0)};
weathergen.ui.trees.inline=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return weathergen.ui.trees.inline.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
weathergen.ui.trees.inline.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),cljs.core.assoc_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.Keyword(null,"display","display",242065432)],null),"inline-block"),b],null)};
weathergen.ui.trees.inline.cljs$lang$maxFixedArity=1;weathergen.ui.trees.inline.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return weathergen.ui.trees.inline.cljs$core$IFn$_invoke$arity$variadic(b,a)};
weathergen.ui.trees.RTree=rum.core.build_defc.call(null,function(a,b){return React.createElement("ol",{style:{listStyleType:"none"}},cljs.core.into_array.call(null,function(){return function d(b){return new cljs.core.LazySeq(null,function(){for(;;){var e=cljs.core.seq.call(null,b);if(e){var g=e;if(cljs.core.chunked_seq_QMARK_.call(null,g)){var h=cljs.core.chunk_first.call(null,g),k=cljs.core.count.call(null,h),l=cljs.core.chunk_buffer.call(null,k);return function(){for(var b=0;;)if(b<k){var d=cljs.core._nth.call(null,
h,b),f=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d,m=f,n=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"ui","ui",-469653645)),p=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"attrs","attrs",-2090668713)),q=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"expanded?","expanded?",2055832296)),r=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"children","children",-940561982)),
u=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"id","id",-1388402092));cljs.core.chunk_append.call(null,l,function(){var t=cljs.core.assoc.call(null,p,new cljs.core.Keyword(null,"key","key",-1516042587),u);return cljs.core.apply.call(null,React.createElement,"li",cljs.core.map_QMARK_.call(null,t)?sablono.interpreter.attributes.call(null,t):null,cljs.core.map_QMARK_.call(null,t)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[React.createElement("div",{style:{display:"inline-flex",
whiteSpace:"nowrap"}},sablono.interpreter.interpret.call(null,weathergen.ui.trees.inline.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,15),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,120),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),
"top"],null)],null),cljs.core.empty_QMARK_.call(null,r)?"":weathergen.ui.trees.inline.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"cursor","cursor",1011937484),"pointer",new cljs.core.Keyword(null,"position","position",-2011731912),"relative",new cljs.core.Keyword(null,"background","background",-863952629),"transparent"],null),new cljs.core.Keyword(null,"on-click","on-click",
1632826543),function(b,d,e,f,g,h,k,l,m,n,p,q,r,u,t){return function(b){return a.call(null,n)}}(b,t,d,f,m,n,p,q,r,u,h,k,l,g,e)],null),weathergen.ui.trees.inline.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"width","width",-384071477),0,new cljs.core.Keyword(null,"height","height",1025178622),0,new cljs.core.Keyword(null,"border-left","border-left",-1150760178),"5px solid transparent",
new cljs.core.Keyword(null,"border-right","border-right",-668932860),"5px solid transparent",new cljs.core.Keyword(null,"border-top","border-top",-158897573),"7px solid black",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,-8),new cljs.core.Keyword(null,"transform","transform",1381301764),[cljs.core.str.cljs$core$IFn$_invoke$arity$1("rotate("),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(q)?
0:-90),cljs.core.str.cljs$core$IFn$_invoke$arity$1("deg)")].join("")],null)],null))))),sablono.interpreter.interpret.call(null,n)),sablono.interpreter.interpret.call(null,cljs.core.truth_(function(){var a=q;return cljs.core.truth_(a)?r:a}())?weathergen.ui.trees.RTree.call(null,a,r):null)],null):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[sablono.interpreter.interpret.call(null,t),React.createElement("div",{style:{display:"inline-flex",whiteSpace:"nowrap"}},sablono.interpreter.interpret.call(null,
weathergen.ui.trees.inline.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,15),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,120),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"top"],null)],null),cljs.core.empty_QMARK_.call(null,r)?"":
weathergen.ui.trees.inline.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"cursor","cursor",1011937484),"pointer",new cljs.core.Keyword(null,"position","position",-2011731912),"relative",new cljs.core.Keyword(null,"background","background",-863952629),"transparent"],null),new cljs.core.Keyword(null,"on-click","on-click",1632826543),function(b,d,e,f,g,h,k,l,m,n,p,q,r,u,t){return function(b){return a.call(null,
n)}}(b,t,d,f,m,n,p,q,r,u,h,k,l,g,e)],null),weathergen.ui.trees.inline.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"width","width",-384071477),0,new cljs.core.Keyword(null,"height","height",1025178622),0,new cljs.core.Keyword(null,"border-left","border-left",-1150760178),"5px solid transparent",new cljs.core.Keyword(null,"border-right","border-right",-668932860),"5px solid transparent",
new cljs.core.Keyword(null,"border-top","border-top",-158897573),"7px solid black",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,-8),new cljs.core.Keyword(null,"transform","transform",1381301764),[cljs.core.str.cljs$core$IFn$_invoke$arity$1("rotate("),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(q)?0:-90),cljs.core.str.cljs$core$IFn$_invoke$arity$1("deg)")].join("")],
null)],null))))),sablono.interpreter.interpret.call(null,n)),sablono.interpreter.interpret.call(null,cljs.core.truth_(function(){var a=q;return cljs.core.truth_(a)?r:a}())?weathergen.ui.trees.RTree.call(null,a,r):null)],null))}());b+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),d.call(null,cljs.core.chunk_rest.call(null,g))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),null)}var m=cljs.core.first.call(null,g),n=null!=m&&(m.cljs$lang$protocol_mask$partition0$&
64||cljs.core.PROTOCOL_SENTINEL===m.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,m):m,p=n,q=cljs.core.get.call(null,n,new cljs.core.Keyword(null,"ui","ui",-469653645)),r=cljs.core.get.call(null,n,new cljs.core.Keyword(null,"attrs","attrs",-2090668713)),u=cljs.core.get.call(null,n,new cljs.core.Keyword(null,"expanded?","expanded?",2055832296)),t=cljs.core.get.call(null,n,new cljs.core.Keyword(null,"children","children",-940561982)),v=cljs.core.get.call(null,n,new cljs.core.Keyword(null,
"id","id",-1388402092));return cljs.core.cons.call(null,function(){var b=cljs.core.assoc.call(null,r,new cljs.core.Keyword(null,"key","key",-1516042587),v);return cljs.core.apply.call(null,React.createElement,"li",cljs.core.map_QMARK_.call(null,b)?sablono.interpreter.attributes.call(null,b):null,cljs.core.map_QMARK_.call(null,b)?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[React.createElement("div",{style:{display:"inline-flex",whiteSpace:"nowrap"}},sablono.interpreter.interpret.call(null,
weathergen.ui.trees.inline.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,15),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,120),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"top"],null)],null),cljs.core.empty_QMARK_.call(null,t)?"":
weathergen.ui.trees.inline.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"cursor","cursor",1011937484),"pointer",new cljs.core.Keyword(null,"position","position",-2011731912),"relative",new cljs.core.Keyword(null,"background","background",-863952629),"transparent"],null),new cljs.core.Keyword(null,"on-click","on-click",1632826543),function(b,d,e,f,g,h,k,l,m,n,p){return function(b){return a.call(null,
m)}}(b,m,n,p,q,r,u,t,v,g,e)],null),weathergen.ui.trees.inline.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"width","width",-384071477),0,new cljs.core.Keyword(null,"height","height",1025178622),0,new cljs.core.Keyword(null,"border-left","border-left",-1150760178),"5px solid transparent",new cljs.core.Keyword(null,"border-right","border-right",-668932860),"5px solid transparent",
new cljs.core.Keyword(null,"border-top","border-top",-158897573),"7px solid black",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,-8),new cljs.core.Keyword(null,"transform","transform",1381301764),[cljs.core.str.cljs$core$IFn$_invoke$arity$1("rotate("),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(u)?0:-90),cljs.core.str.cljs$core$IFn$_invoke$arity$1("deg)")].join("")],
null)],null))))),sablono.interpreter.interpret.call(null,q)),sablono.interpreter.interpret.call(null,cljs.core.truth_(function(){var a=u;return cljs.core.truth_(a)?t:a}())?weathergen.ui.trees.RTree.call(null,a,t):null)],null):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[sablono.interpreter.interpret.call(null,b),React.createElement("div",{style:{display:"inline-flex",whiteSpace:"nowrap"}},sablono.interpreter.interpret.call(null,weathergen.ui.trees.inline.call(null,
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,15),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,120),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"top"],null)],null),cljs.core.empty_QMARK_.call(null,t)?"":weathergen.ui.trees.inline.call(null,
new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"cursor","cursor",1011937484),"pointer",new cljs.core.Keyword(null,"position","position",-2011731912),"relative",new cljs.core.Keyword(null,"background","background",-863952629),"transparent"],null),new cljs.core.Keyword(null,"on-click","on-click",1632826543),function(b,d,e,f,g,h,k,l,m,n,p){return function(b){return a.call(null,m)}}(b,
m,n,p,q,r,u,t,v,g,e)],null),weathergen.ui.trees.inline.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"width","width",-384071477),0,new cljs.core.Keyword(null,"height","height",1025178622),0,new cljs.core.Keyword(null,"border-left","border-left",-1150760178),"5px solid transparent",new cljs.core.Keyword(null,"border-right","border-right",-668932860),"5px solid transparent",
new cljs.core.Keyword(null,"border-top","border-top",-158897573),"7px solid black",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,-8),new cljs.core.Keyword(null,"transform","transform",1381301764),[cljs.core.str.cljs$core$IFn$_invoke$arity$1("rotate("),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(u)?0:-90),cljs.core.str.cljs$core$IFn$_invoke$arity$1("deg)")].join("")],
null)],null))))),sablono.interpreter.interpret.call(null,q)),sablono.interpreter.interpret.call(null,cljs.core.truth_(function(){var a=u;return cljs.core.truth_(a)?t:a}())?weathergen.ui.trees.RTree.call(null,a,t):null)],null))}(),d.call(null,cljs.core.rest.call(null,g)))}return null}},null,null)}.call(null,b)}()))},null,"RTree");
weathergen.ui.trees.rtree=function(a,b){var c=weathergen.ui.common.styled.call(null,new cljs.core.Keyword(null,"garden","garden",-1966516149),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"ol","ol",932524051),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"text-indent","text-indent",-1987214414),weathergen.ui.common.px.call(null,2)],null)],
null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.px.call(null,-28)],null)],null)],null));hoplon.core.do_watch.call(null,a,function(a){return function(c,d){return rum.core.mount.call(null,weathergen.ui.trees.RTree.call(null,b,d),a)}}(c));return c};weathergen.ui.buttons={};
weathergen.ui.buttons.image_button_style=function(a){return new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"border-style","border-style",-485574304),cljs.core.truth_(a)?"inset":"outset",new cljs.core.Keyword(null,"border-color","border-color",-2059162761),"#ddd",new cljs.core.Keyword(null,"border-radius","border-radius",419594011),"6px",new cljs.core.Keyword(null,"padding","padding",1660304693),"2px",new cljs.core.Keyword(null,"background","background",-863952629),cljs.core.truth_(a)?
"lightgrey":"white",new cljs.core.Keyword(null,"border-width","border-width",-1512605390),"2px",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle"],null)};
weathergen.ui.buttons.image_button=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,f=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"css","css",1135045163)),g=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"latched?","latched?",2124907793)),h=cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,
"css","css",1135045163),new cljs.core.Keyword(null,"latched?","latched?",2124907793)),k=javelin.core.cell.call(null,!1);return hoplon.core.img.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a,b){return cljs.core.merge.call(null,weathergen.ui.buttons.image_button_style.call(null,cljs.core.truth_(a)?a:b),d)}}(k,b,c,f,g,h,a,b)).call(null,g,k),new cljs.core.Keyword(null,"mousedown","mousedown",1391242074),function(a,
b,c,d,e,f,g,h){return function(k){k=function(a,b,c,d,e,f,g,h){return function E(b){document.removeEventListener("mouseup",E);return cljs.core.reset_BANG_.call(null,a,!1)}}(a,b,c,d,e,f,g,h);document.addEventListener("mouseup",k);return cljs.core.reset_BANG_.call(null,a,!0)}}(k,b,c,f,g,h,a,b),new cljs.core.Keyword(null,"dragstart","dragstart",955864218),cljs.core.constantly.call(null,!1),h)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+
0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.common.register_class_BANG_.call(null,new cljs.core.Keyword("weathergen.ui.buttons","div-button","weathergen.ui.buttons/div-button",-1385258890),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"border-style","border-style",-485574304),new cljs.core.Keyword(null,"color","color",1011675173),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),new cljs.core.Keyword(null,"background",
"background",-863952629),new cljs.core.Keyword(null,"cursor","cursor",1011937484),new cljs.core.Keyword(null,"border-width","border-width",-1512605390),new cljs.core.Keyword(null,"padding","padding",1660304693),new cljs.core.Keyword(null,"border-color","border-color",-2059162761),new cljs.core.Keyword(null,"text-decoration","text-decoration",1836813207),new cljs.core.Keyword(null,"display","display",242065432),new cljs.core.Keyword(null,"border-radius","border-radius",419594011),new cljs.core.Keyword(null,
"font-family","font-family",-667419874),new cljs.core.Keyword(null,"margin","margin",-995903681)],"solid;black;72%;linear-gradient(white, white 75%, #ededed 100%);pointer;0.5px;3px;#d0d0d0;none;inline-block;4px;Lucida Grande, Lucida Sans Unicode, Tahoma, sans-serif;2px".split(";")),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"\x26:active","\x26:active",-1687810105),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background",
"background",-863952629),"linear-gradient(#c0c0c0, #f0f0f0)"],null)],null)],null));weathergen.ui.common.register_class_BANG_.call(null,new cljs.core.Keyword("weathergen.ui.buttons","latched-div-button","weathergen.ui.buttons/latched-div-button",103418273),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),"linear-gradient(#c0c0c0, #f0f0f0)"],null)],null));
weathergen.ui.common.register_class_BANG_.call(null,new cljs.core.Keyword("weathergen.ui.buttons","disabled-button","weathergen.ui.buttons/disabled-button",1352747181),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"pointer-events","pointer-events",-1053858853),"none",new cljs.core.Keyword(null,"color","color",1011675173),"grey",new cljs.core.Keyword(null,"cursor","cursor",1011937484),"default"],null)],
null));
weathergen.ui.buttons.a_button=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"disabled?","disabled?",-1523234181)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"latched?","latched?",2124907793)),
k=cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"latched?","latched?",2124907793),new cljs.core.Keyword(null,"disabled?","disabled?",-1523234181)),l=javelin.core.cell.call(null,!1);return hoplon.core.a.call(null,cljs.core.merge.call(null,k,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"class","class",-2030961996),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b,c){return cljs.core.PersistentArrayMap.createAsIfByAssoc([weathergen.ui.common.class_for.call(null,
new cljs.core.Keyword("weathergen.ui.buttons","div-button","weathergen.ui.buttons/div-button",-1385258890)),!0,weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.buttons","latched-div-button","weathergen.ui.buttons/latched-div-button",103418273)),cljs.core.truth_(a)?a:b,weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.buttons","disabled-button","weathergen.ui.buttons/disabled-button",1352747181)),c])}}(l,b,f,g,h,k,a,b,c)).call(null,h,l,g)],null)),
c)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();goog.crypt={};goog.crypt.stringToByteArray=function(a){for(var b=[],c=0,d=0;d<a.length;d++){for(var e=a.charCodeAt(d);255<e;)b[c++]=e&255,e>>=8;b[c++]=e}return b};goog.crypt.byteArrayToString=function(a){if(8192>=a.length)return String.fromCharCode.apply(null,a);for(var b="",c=0;c<a.length;c+=8192)var d=goog.array.slice(a,c,c+8192),b=b+String.fromCharCode.apply(null,d);return b};goog.crypt.byteArrayToHex=function(a){return goog.array.map(a,function(a){a=a.toString(16);return 1<a.length?a:"0"+a}).join("")};
goog.crypt.hexToByteArray=function(a){goog.asserts.assert(0==a.length%2,"Key string length must be multiple of 2");for(var b=[],c=0;c<a.length;c+=2)b.push(parseInt(a.substring(c,c+2),16));return b};
goog.crypt.stringToUtf8ByteArray=function(a){for(var b=[],c=0,d=0;d<a.length;d++){var e=a.charCodeAt(d);128>e?b[c++]=e:(2048>e?b[c++]=e>>6|192:(55296==(e&64512)&&d+1<a.length&&56320==(a.charCodeAt(d+1)&64512)?(e=65536+((e&1023)<<10)+(a.charCodeAt(++d)&1023),b[c++]=e>>18|240,b[c++]=e>>12&63|128):b[c++]=e>>12|224,b[c++]=e>>6&63|128),b[c++]=e&63|128)}return b};
goog.crypt.utf8ByteArrayToString=function(a){for(var b,c,d=[],e=0,f=0;e<a.length;){var g=a[e++];if(128>g)d[f++]=String.fromCharCode(g);else if(191<g&&224>g)c=a[e++],d[f++]=String.fromCharCode((g&31)<<6|c&63);else if(239<g&&365>g){c=a[e++];b=a[e++];var h=a[e++];b=((g&7)<<18|(c&63)<<12|(b&63)<<6|h&63)-65536;d[f++]=String.fromCharCode(55296+(b>>10));d[f++]=String.fromCharCode(56320+(b&1023))}else c=a[e++],b=a[e++],d[f++]=String.fromCharCode((g&15)<<12|(c&63)<<6|b&63)}return d.join("")};
goog.crypt.xorByteArray=function(a,b){goog.asserts.assert(a.length==b.length,"XOR array lengths must match");for(var c=[],d=0;d<a.length;d++)c.push(a[d]^b[d]);return c};goog.userAgent.product={};goog.userAgent.product.ASSUME_FIREFOX=!1;goog.userAgent.product.ASSUME_IPHONE=!1;goog.userAgent.product.ASSUME_IPAD=!1;goog.userAgent.product.ASSUME_ANDROID=!1;goog.userAgent.product.ASSUME_CHROME=!1;goog.userAgent.product.ASSUME_SAFARI=!1;
goog.userAgent.product.PRODUCT_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_OPERA||goog.userAgent.product.ASSUME_FIREFOX||goog.userAgent.product.ASSUME_IPHONE||goog.userAgent.product.ASSUME_IPAD||goog.userAgent.product.ASSUME_ANDROID||goog.userAgent.product.ASSUME_CHROME||goog.userAgent.product.ASSUME_SAFARI;goog.userAgent.product.OPERA=goog.userAgent.OPERA;goog.userAgent.product.IE=goog.userAgent.IE;goog.userAgent.product.EDGE=goog.userAgent.EDGE;
goog.userAgent.product.FIREFOX=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_FIREFOX:goog.labs.userAgent.browser.isFirefox();goog.userAgent.product.isIphoneOrIpod_=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpod()};goog.userAgent.product.IPHONE=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPHONE:goog.userAgent.product.isIphoneOrIpod_();
goog.userAgent.product.IPAD=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad();goog.userAgent.product.ANDROID=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_ANDROID:goog.labs.userAgent.browser.isAndroidBrowser();goog.userAgent.product.CHROME=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_CHROME:goog.labs.userAgent.browser.isChrome();
goog.userAgent.product.isSafariDesktop_=function(){return goog.labs.userAgent.browser.isSafari()&&!goog.labs.userAgent.platform.isIos()};goog.userAgent.product.SAFARI=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_SAFARI:goog.userAgent.product.isSafariDesktop_();goog.crypt.base64={};goog.crypt.base64.byteToCharMap_=null;goog.crypt.base64.charToByteMap_=null;goog.crypt.base64.byteToCharMapWebSafe_=null;goog.crypt.base64.ENCODED_VALS_BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";goog.crypt.base64.ENCODED_VALS=goog.crypt.base64.ENCODED_VALS_BASE+"+/\x3d";goog.crypt.base64.ENCODED_VALS_WEBSAFE=goog.crypt.base64.ENCODED_VALS_BASE+"-_.";
goog.crypt.base64.ASSUME_NATIVE_SUPPORT_=goog.userAgent.GECKO||goog.userAgent.WEBKIT&&!goog.userAgent.product.SAFARI||goog.userAgent.OPERA;goog.crypt.base64.HAS_NATIVE_ENCODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||"function"==typeof goog.global.btoa;goog.crypt.base64.HAS_NATIVE_DECODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||!goog.userAgent.product.SAFARI&&!goog.userAgent.IE&&"function"==typeof goog.global.atob;
goog.crypt.base64.encodeByteArray=function(a,b){goog.asserts.assert(goog.isArrayLike(a),"encodeByteArray takes an array as a parameter");goog.crypt.base64.init_();for(var c=b?goog.crypt.base64.byteToCharMapWebSafe_:goog.crypt.base64.byteToCharMap_,d=[],e=0;e<a.length;e+=3){var f=a[e],g=e+1<a.length,h=g?a[e+1]:0,k=e+2<a.length,l=k?a[e+2]:0,m=f>>2,f=(f&3)<<4|h>>4,h=(h&15)<<2|l>>6,l=l&63;k||(l=64,g||(h=64));d.push(c[m],c[f],c[h],c[l])}return d.join("")};
goog.crypt.base64.encodeString=function(a,b){return goog.crypt.base64.HAS_NATIVE_ENCODE_&&!b?goog.global.btoa(a):goog.crypt.base64.encodeByteArray(goog.crypt.stringToByteArray(a),b)};goog.crypt.base64.decodeString=function(a,b){if(goog.crypt.base64.HAS_NATIVE_DECODE_&&!b)return goog.global.atob(a);var c="";goog.crypt.base64.decodeStringInternal_(a,function(a){c+=String.fromCharCode(a)});return c};
goog.crypt.base64.decodeStringToByteArray=function(a,b){var c=[];goog.crypt.base64.decodeStringInternal_(a,function(a){c.push(a)});return c};goog.crypt.base64.decodeStringToUint8Array=function(a){goog.asserts.assert(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10"),"Browser does not support typed arrays");var b=new Uint8Array(Math.ceil(3*a.length/4)),c=0;goog.crypt.base64.decodeStringInternal_(a,function(a){b[c++]=a});return b.subarray(0,c)};
goog.crypt.base64.decodeStringInternal_=function(a,b){function c(b){for(;d<a.length;){var c=a.charAt(d++),e=goog.crypt.base64.charToByteMap_[c];if(null!=e)return e;if(!goog.string.isEmptyOrWhitespace(c))throw Error("Unknown base64 encoding at char: "+c);}return b}goog.crypt.base64.init_();for(var d=0;;){var e=c(-1),f=c(0),g=c(64),h=c(64);if(64===h&&-1===e)break;b(e<<2|f>>4);64!=g&&(b(f<<4&240|g>>2),64!=h&&b(g<<6&192|h))}};
goog.crypt.base64.init_=function(){if(!goog.crypt.base64.byteToCharMap_){goog.crypt.base64.byteToCharMap_={};goog.crypt.base64.charToByteMap_={};goog.crypt.base64.byteToCharMapWebSafe_={};for(var a=0;a<goog.crypt.base64.ENCODED_VALS.length;a++)goog.crypt.base64.byteToCharMap_[a]=goog.crypt.base64.ENCODED_VALS.charAt(a),goog.crypt.base64.charToByteMap_[goog.crypt.base64.byteToCharMap_[a]]=a,goog.crypt.base64.byteToCharMapWebSafe_[a]=goog.crypt.base64.ENCODED_VALS_WEBSAFE.charAt(a),a>=goog.crypt.base64.ENCODED_VALS_BASE.length&&
(goog.crypt.base64.charToByteMap_[goog.crypt.base64.ENCODED_VALS_WEBSAFE.charAt(a)]=a)}};var com={cognitect:{}};com.cognitect.transit={};com.cognitect.transit.util={};com.cognitect.transit.util.objectKeys="undefined"!=typeof Object.keys?function(a){return Object.keys(a)}:function(a){return goog.object.getKeys(a)};com.cognitect.transit.util.isArray="undefined"!=typeof Array.isArray?function(a){return Array.isArray(a)}:function(a){return"array"===goog.typeOf(a)};com.cognitect.transit.util.chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\x3d";
com.cognitect.transit.util.randInt=function(a){return Math.round(Math.random()*a)};com.cognitect.transit.util.randHex=function(){return com.cognitect.transit.util.randInt(15).toString(16)};
com.cognitect.transit.util.randomUUID=function(){var a=(8|3&com.cognitect.transit.util.randInt(14)).toString(16);return com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+"-"+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+
com.cognitect.transit.util.randHex()+"-4"+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+"-"+a+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+"-"+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+
com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()+com.cognitect.transit.util.randHex()};
com.cognitect.transit.util.btoa=function(a){if("undefined"!=typeof btoa)return btoa(a);a=String(a);for(var b,c,d=0,e=com.cognitect.transit.util.chars,f="";a.charAt(d|0)||(e="\x3d",d%1);f+=e.charAt(63&b>>8-d%1*8)){c=a.charCodeAt(d+=.75);if(255<c)throw Error("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");b=b<<8|c}return f};
com.cognitect.transit.util.atob=function(a){if("undefined"!=typeof atob)return atob(a);a=String(a).replace(/=+$/,"");if(1==a.length%4)throw Error("'atob' failed: The string to be decoded is not correctly encoded.");for(var b=0,c,d,e=0,f="";d=a.charAt(e++);~d&&(c=b%4?64*c+d:d,b++%4)?f+=String.fromCharCode(255&c>>(-2*b&6)):0)d=com.cognitect.transit.util.chars.indexOf(d);return f};
com.cognitect.transit.util.Uint8ToBase64=function(a){for(var b=0,c=a.length,d="",e;b<c;)e=a.subarray(b,Math.min(b+32768,c)),d+=String.fromCharCode.apply(null,e),b+=32768;return com.cognitect.transit.util.btoa(d)};com.cognitect.transit.util.Base64ToUint8=function(a){a=com.cognitect.transit.util.atob(a);for(var b=a.length,c=new Uint8Array(b),d=0;d<b;d++){var e=a.charCodeAt(d);c[d]=e}return c};com.cognitect.transit.eq={};com.cognitect.transit.eq.hashCodeProperty="transit$hashCode$";com.cognitect.transit.eq.hashCodeCounter=1;
com.cognitect.transit.eq.equals=function(a,b){if(null==a)return null==b;if(a===b)return!0;if("object"===typeof a){if(com.cognitect.transit.util.isArray(a)){if(com.cognitect.transit.util.isArray(b)&&a.length===b.length){for(var c=0;c<a.length;c++)if(!com.cognitect.transit.eq.equals(a[c],b[c]))return!1;return!0}return!1}if(a.com$cognitect$transit$equals)return a.com$cognitect$transit$equals(b);if(null!=b&&"object"===typeof b){if(b.com$cognitect$transit$equals)return b.com$cognitect$transit$equals(a);
var c=0,d=com.cognitect.transit.util.objectKeys(b).length,e;for(e in a)if(a.hasOwnProperty(e)&&(c++,!b.hasOwnProperty(e)||!com.cognitect.transit.eq.equals(a[e],b[e])))return!1;return c===d}}return!1};com.cognitect.transit.eq.hashCombine=function(a,b){return a^b+2654435769+(a<<6)+(a>>2)};com.cognitect.transit.eq.stringCodeCache={};com.cognitect.transit.eq.stringCodeCacheSize=0;com.cognitect.transit.eq.STR_CACHE_MAX=256;
com.cognitect.transit.eq.hashString=function(a){var b=com.cognitect.transit.eq.stringCodeCache[a];if(null!=b)return b;for(var c=b=0;c<a.length;++c)b=31*b+a.charCodeAt(c),b%=4294967296;com.cognitect.transit.eq.stringCodeCacheSize++;com.cognitect.transit.eq.stringCodeCacheSize>=com.cognitect.transit.eq.STR_CACHE_MAX&&(com.cognitect.transit.eq.stringCodeCache={},com.cognitect.transit.eq.stringCodeCacheSize=1);return com.cognitect.transit.eq.stringCodeCache[a]=b};
com.cognitect.transit.eq.hashMapLike=function(a){var b=0;if(null!=a.forEach)a.forEach(function(a,c,d){b=(b+(com.cognitect.transit.eq.hashCode(c)^com.cognitect.transit.eq.hashCode(a)))%4503599627370496});else for(var c=com.cognitect.transit.util.objectKeys(a),d=0;d<c.length;d++)var e=c[d],f=a[e],b=(b+(com.cognitect.transit.eq.hashCode(e)^com.cognitect.transit.eq.hashCode(f)))%4503599627370496;return b};
com.cognitect.transit.eq.hashArrayLike=function(a){var b=0;if(com.cognitect.transit.util.isArray(a))for(var c=0;c<a.length;c++)b=com.cognitect.transit.eq.hashCombine(b,com.cognitect.transit.eq.hashCode(a[c]));else a.forEach&&a.forEach(function(a,c){b=com.cognitect.transit.eq.hashCombine(b,com.cognitect.transit.eq.hashCode(a))});return b};
com.cognitect.transit.eq.hashCode=function(a){if(null==a)return 0;switch(typeof a){case "number":return a;case "boolean":return!0===a?1:0;case "string":return com.cognitect.transit.eq.hashString(a);case "function":var b=a[com.cognitect.transit.eq.hashCodeProperty];b||(b=com.cognitect.transit.eq.hashCodeCounter,"undefined"!=typeof Object.defineProperty?Object.defineProperty(a,com.cognitect.transit.eq.hashCodeProperty,{value:b,enumerable:!1}):a[com.cognitect.transit.eq.hashCodeProperty]=b,com.cognitect.transit.eq.hashCodeCounter++);
return b;default:return a instanceof Date?a.valueOf():com.cognitect.transit.util.isArray(a)?com.cognitect.transit.eq.hashArrayLike(a):a.com$cognitect$transit$hashCode?a.com$cognitect$transit$hashCode():com.cognitect.transit.eq.hashMapLike(a)}};com.cognitect.transit.eq.extendToEQ=function(a,b){a.com$cognitect$transit$hashCode=b.hashCode;a.com$cognitect$transit$equals=b.equals;return a};com.cognitect.transit.types={};com.cognitect.transit.types.ITERATOR="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";com.cognitect.transit.types.TaggedValue=function(a,b){this.tag=a;this.rep=b;this.hashCode=-1};com.cognitect.transit.types.TaggedValue.prototype.toString=function(){return"[TaggedValue: "+this.tag+", "+this.rep+"]"};com.cognitect.transit.types.TaggedValue.prototype.equiv=function(a){return com.cognitect.transit.eq.equals(this,a)};
com.cognitect.transit.types.TaggedValue.prototype.equiv=com.cognitect.transit.types.TaggedValue.prototype.equiv;com.cognitect.transit.types.TaggedValue.prototype.com$cognitect$transit$equals=function(a){return a instanceof com.cognitect.transit.types.TaggedValue?this.tag===a.tag&&com.cognitect.transit.eq.equals(this.rep,a.rep):!1};
com.cognitect.transit.types.TaggedValue.prototype.com$cognitect$transit$hashCode=function(){-1===this.hashCode&&(this.hashCode=com.cognitect.transit.eq.hashCombine(com.cognitect.transit.eq.hashCode(this.tag),com.cognitect.transit.eq.hashCode(this.rep)));return this.hashCode};com.cognitect.transit.types.taggedValue=function(a,b){return new com.cognitect.transit.types.TaggedValue(a,b)};com.cognitect.transit.types.isTaggedValue=function(a){return a instanceof com.cognitect.transit.types.TaggedValue};
com.cognitect.transit.types.nullValue=function(){return null};com.cognitect.transit.types.boolValue=function(a){return"t"===a};com.cognitect.transit.types.MAX_INT=goog.math.Long.fromString("9007199254740991");com.cognitect.transit.types.MIN_INT=goog.math.Long.fromString("-9007199254740991");
com.cognitect.transit.types.intValue=function(a){if("number"===typeof a||a instanceof goog.math.Long)return a;a=goog.math.Long.fromString(a,10);return a.greaterThan(com.cognitect.transit.types.MAX_INT)||a.lessThan(com.cognitect.transit.types.MIN_INT)?a:a.toNumber()};goog.math.Long.prototype.equiv=function(a){return com.cognitect.transit.eq.equals(this,a)};goog.math.Long.prototype.equiv=goog.math.Long.prototype.equiv;
goog.math.Long.prototype.com$cognitect$transit$equals=function(a){return a instanceof goog.math.Long&&this.equals(a)};goog.math.Long.prototype.com$cognitect$transit$hashCode=function(){return this.toInt()};com.cognitect.transit.types.isInteger=function(a){return a instanceof goog.math.Long?!0:"number"===typeof a&&!isNaN(a)&&Infinity!==a&&parseFloat(a)===parseInt(a,10)};com.cognitect.transit.types.floatValue=function(a){return parseFloat(a)};
com.cognitect.transit.types.bigInteger=function(a){return com.cognitect.transit.types.taggedValue("n",a)};com.cognitect.transit.types.isBigInteger=function(a){return a instanceof com.cognitect.transit.types.TaggedValue&&"n"===a.tag};com.cognitect.transit.types.bigDecimalValue=function(a){return com.cognitect.transit.types.taggedValue("f",a)};com.cognitect.transit.types.isBigDecimal=function(a){return a instanceof com.cognitect.transit.types.TaggedValue&&"f"===a.tag};
com.cognitect.transit.types.charValue=function(a){return a};com.cognitect.transit.types.Keyword=function(a){this._name=a;this.hashCode=-1};com.cognitect.transit.types.Keyword.prototype.toString=function(){return":"+this._name};com.cognitect.transit.types.Keyword.prototype.namespace=function(){var a=this._name.indexOf("/");return-1!=a?this._name.substring(0,a):null};
com.cognitect.transit.types.Keyword.prototype.name=function(){var a=this._name.indexOf("/");return-1!=a?this._name.substring(a+1,this._name.length):this._name};com.cognitect.transit.types.Keyword.prototype.equiv=function(a){return com.cognitect.transit.eq.equals(this,a)};com.cognitect.transit.types.Keyword.prototype.equiv=com.cognitect.transit.types.Keyword.prototype.equiv;
com.cognitect.transit.types.Keyword.prototype.com$cognitect$transit$equals=function(a){return a instanceof com.cognitect.transit.types.Keyword&&this._name==a._name};com.cognitect.transit.types.Keyword.prototype.com$cognitect$transit$hashCode=function(){-1===this.hashCode&&(this.hashCode=com.cognitect.transit.eq.hashCode(this._name));return this.hashCode};com.cognitect.transit.types.keyword=function(a){return new com.cognitect.transit.types.Keyword(a)};
com.cognitect.transit.types.isKeyword=function(a){return a instanceof com.cognitect.transit.types.Keyword};com.cognitect.transit.types.Symbol=function(a){this._name=a;this.hashCode=-1};com.cognitect.transit.types.Symbol.prototype.namespace=function(){var a=this._name.indexOf("/");return-1!=a?this._name.substring(0,a):null};com.cognitect.transit.types.Symbol.prototype.name=function(){var a=this._name.indexOf("/");return-1!=a?this._name.substring(a+1,this._name.length):this._name};
com.cognitect.transit.types.Symbol.prototype.toString=function(){return this._name};com.cognitect.transit.types.Symbol.prototype.equiv=function(a){return com.cognitect.transit.eq.equals(this,a)};com.cognitect.transit.types.Symbol.prototype.equiv=com.cognitect.transit.types.Symbol.prototype.equiv;com.cognitect.transit.types.Symbol.prototype.com$cognitect$transit$equals=function(a){return a instanceof com.cognitect.transit.types.Symbol&&this._name==a._name};
com.cognitect.transit.types.Symbol.prototype.com$cognitect$transit$hashCode=function(){-1===this.hashCode&&(this.hashCode=com.cognitect.transit.eq.hashCode(this._name));return this.hashCode};com.cognitect.transit.types.symbol=function(a){return new com.cognitect.transit.types.Symbol(a)};com.cognitect.transit.types.isSymbol=function(a){return a instanceof com.cognitect.transit.types.Symbol};
com.cognitect.transit.types.hexFor=function(a,b,c){var d="";c=c||b+1;for(var e=8*(7-b),f=goog.math.Long.fromInt(255).shiftLeft(e);b<c;b++,e-=8,f=f.shiftRightUnsigned(8)){var g=a.and(f).shiftRightUnsigned(e).toString(16);1==g.length&&(g="0"+g);d+=g}return d};com.cognitect.transit.types.UUID=function(a,b){this.high=a;this.low=b;this.hashCode=-1};com.cognitect.transit.types.UUID.prototype.getLeastSignificantBits=function(){return this.low};
com.cognitect.transit.types.UUID.prototype.getMostSignificantBits=function(){return this.high};com.cognitect.transit.types.UUID.prototype.toString=function(){var a=this.high,b=this.low;var c=""+(com.cognitect.transit.types.hexFor(a,0,4)+"-");c+=com.cognitect.transit.types.hexFor(a,4,6)+"-";c+=com.cognitect.transit.types.hexFor(a,6,8)+"-";c+=com.cognitect.transit.types.hexFor(b,0,2)+"-";return c+=com.cognitect.transit.types.hexFor(b,2,8)};
com.cognitect.transit.types.UUID.prototype.equiv=function(a){return com.cognitect.transit.eq.equals(this,a)};com.cognitect.transit.types.UUID.prototype.equiv=com.cognitect.transit.types.UUID.prototype.equiv;com.cognitect.transit.types.UUID.prototype.com$cognitect$transit$equals=function(a){return a instanceof com.cognitect.transit.types.UUID&&this.high.equals(a.high)&&this.low.equals(a.low)};
com.cognitect.transit.types.UUID.prototype.com$cognitect$transit$hashCode=function(){-1===this.hashCode&&(this.hashCode=com.cognitect.transit.eq.hashCode(this.toString()));return this.hashCode};
com.cognitect.transit.types.UUIDfromString=function(a){a=a.replace(/-/g,"");var b,c;var d=b=0;for(c=24;8>d;d+=2,c-=8)b|=parseInt(a.substring(d,d+2),16)<<c;var e=0;d=8;for(c=24;16>d;d+=2,c-=8)e|=parseInt(a.substring(d,d+2),16)<<c;var f=goog.math.Long.fromBits(e,b);b=0;d=16;for(c=24;24>d;d+=2,c-=8)b|=parseInt(a.substring(d,d+2),16)<<c;e=0;for(c=d=24;32>d;d+=2,c-=8)e|=parseInt(a.substring(d,d+2),16)<<c;a=goog.math.Long.fromBits(e,b);return new com.cognitect.transit.types.UUID(f,a)};
com.cognitect.transit.types.uuid=function(a){return com.cognitect.transit.types.UUIDfromString(a)};com.cognitect.transit.types.isUUID=function(a){return a instanceof com.cognitect.transit.types.UUID};com.cognitect.transit.types.date=function(a){a="number"===typeof a?a:parseInt(a,10);return new Date(a)};com.cognitect.transit.types.verboseDate=function(a){return new Date(a)};Date.prototype.com$cognitect$transit$equals=function(a){return a instanceof Date?this.valueOf()===a.valueOf():!1};
Date.prototype.com$cognitect$transit$hashCode=function(){return this.valueOf()};com.cognitect.transit.types.binary=function(a,b){return b&&!1===b.preferBuffers||"undefined"==typeof Buffer?"undefined"!=typeof Uint8Array?com.cognitect.transit.util.Base64ToUint8(a):com.cognitect.transit.types.taggedValue("b",a):new Buffer(a,"base64")};
com.cognitect.transit.types.isBinary=function(a){return"undefined"!=typeof Buffer&&a instanceof Buffer?!0:"undefined"!=typeof Uint8Array&&a instanceof Uint8Array?!0:a instanceof com.cognitect.transit.types.TaggedValue&&"b"===a.tag};com.cognitect.transit.types.uri=function(a){return com.cognitect.transit.types.taggedValue("r",a)};com.cognitect.transit.types.isURI=function(a){return a instanceof com.cognitect.transit.types.TaggedValue&&"r"===a.tag};com.cognitect.transit.types.KEYS=0;
com.cognitect.transit.types.VALUES=1;com.cognitect.transit.types.ENTRIES=2;com.cognitect.transit.types.TransitArrayMapIterator=function(a,b){this.entries=a;this.type=b||com.cognitect.transit.types.KEYS;this.idx=0};
com.cognitect.transit.types.TransitArrayMapIterator.prototype.next=function(){if(this.idx<this.entries.length){var a={value:this.type===com.cognitect.transit.types.KEYS?this.entries[this.idx]:this.type===com.cognitect.transit.types.VALUES?this.entries[this.idx+1]:[this.entries[this.idx],this.entries[this.idx+1]],done:!1};this.idx+=2;return a}return{value:null,done:!0}};com.cognitect.transit.types.TransitArrayMapIterator.prototype.next=com.cognitect.transit.types.TransitArrayMapIterator.prototype.next;
com.cognitect.transit.types.TransitArrayMapIterator.prototype[com.cognitect.transit.types.ITERATOR]=function(){return this};com.cognitect.transit.types.TransitMapIterator=function(a,b){this.map=a;this.type=b||com.cognitect.transit.types.KEYS;this.keys=this.map.getKeys();this.idx=0;this.bucket=null;this.bucketIdx=0};
com.cognitect.transit.types.TransitMapIterator.prototype.next=function(){if(this.idx<this.map.size){null!=this.bucket&&this.bucketIdx<this.bucket.length||(this.bucket=this.map.map[this.keys[this.idx]],this.bucketIdx=0);var a={value:this.type===com.cognitect.transit.types.KEYS?this.bucket[this.bucketIdx]:this.type===com.cognitect.transit.types.VALUES?this.bucket[this.bucketIdx+1]:[this.bucket[this.bucketIdx],this.bucket[this.bucketIdx+1]],done:!1};this.idx++;this.bucketIdx+=2;return a}return{value:null,
done:!0}};com.cognitect.transit.types.TransitMapIterator.prototype.next=com.cognitect.transit.types.TransitMapIterator.prototype.next;com.cognitect.transit.types.TransitMapIterator.prototype[com.cognitect.transit.types.ITERATOR]=function(){return this};
com.cognitect.transit.types.mapEquals=function(a,b){if(a instanceof com.cognitect.transit.types.TransitMap&&com.cognitect.transit.types.isMap(b)){if(a.size!==b.size)return!1;for(var c in a.map)for(var d=a.map[c],e=0;e<d.length;e+=2)if(!com.cognitect.transit.eq.equals(d[e+1],b.get(d[e])))return!1;return!0}if(a instanceof com.cognitect.transit.types.TransitArrayMap&&com.cognitect.transit.types.isMap(b)){if(a.size!==b.size)return!1;c=a._entries;for(e=0;e<c.length;e+=2)if(!com.cognitect.transit.eq.equals(c[e+
1],b.get(c[e])))return!1;return!0}if(null!=b&&"object"===typeof b&&(e=com.cognitect.transit.util.objectKeys(b),c=e.length,a.size===c)){for(d=0;d<c;d++){var f=e[d];if(!a.has(f)||!com.cognitect.transit.eq.equals(b[f],a.get(f)))return!1}return!0}return!1};com.cognitect.transit.types.SMALL_ARRAY_MAP_THRESHOLD=8;com.cognitect.transit.types.ARRAY_MAP_THRESHOLD=32;com.cognitect.transit.types.ARRAY_MAP_ACCESS_THRESHOLD=32;
com.cognitect.transit.types.print=function(a){return null==a?"null":goog.isArray(a)?"["+a.toString()+"]":goog.isString(a)?'"'+a+'"':a.toString()};com.cognitect.transit.types.printMap=function(a){var b=0,c="TransitMap {";a.forEach(function(d,e){c+=com.cognitect.transit.types.print(e)+" \x3d\x3e "+com.cognitect.transit.types.print(d);b<a.size-1&&(c+=", ");b++});return c+"}"};
com.cognitect.transit.types.printSet=function(a){var b=0,c="TransitSet {";a.forEach(function(d){c+=com.cognitect.transit.types.print(d);b<a.size-1&&(c+=", ");b++});return c+"}"};com.cognitect.transit.types.TransitArrayMap=function(a){this._entries=a;this.backingMap=null;this.hashCode=-1;this.size=a.length/2;this.accesses=0};com.cognitect.transit.types.TransitArrayMap.prototype.toString=function(){return com.cognitect.transit.types.printMap(this)};
com.cognitect.transit.types.TransitArrayMap.prototype.inspect=function(){return this.toString()};com.cognitect.transit.types.TransitArrayMap.prototype.convert=function(){if(this.backingMap)throw Error("Invalid operation, already converted");if(this.size<com.cognitect.transit.types.SMALL_ARRAY_MAP_THRESHOLD)return!1;this.accesses++;return this.accesses>com.cognitect.transit.types.ARRAY_MAP_ACCESS_THRESHOLD?(this.backingMap=com.cognitect.transit.types.map(this._entries,!1,!0),this._entries=[],!0):!1};
com.cognitect.transit.types.TransitArrayMap.prototype.clear=function(){this.hashCode=-1;this.backingMap?this.backingMap.clear():this._entries=[];this.size=0};com.cognitect.transit.types.TransitArrayMap.prototype.clear=com.cognitect.transit.types.TransitArrayMap.prototype.clear;com.cognitect.transit.types.TransitArrayMap.prototype.keys=function(){return this.backingMap?this.backingMap.keys():new com.cognitect.transit.types.TransitArrayMapIterator(this._entries,com.cognitect.transit.types.KEYS)};
com.cognitect.transit.types.TransitArrayMap.prototype.keys=com.cognitect.transit.types.TransitArrayMap.prototype.keys;com.cognitect.transit.types.TransitArrayMap.prototype.keySet=function(){if(this.backingMap)return this.backingMap.keySet();for(var a=[],b=0,c=0;c<this._entries.length;b++,c+=2)a[b]=this._entries[c];return a};com.cognitect.transit.types.TransitArrayMap.prototype.keySet=com.cognitect.transit.types.TransitArrayMap.prototype.keySet;
com.cognitect.transit.types.TransitArrayMap.prototype.entries=function(){return this.backingMap?this.backingMap.entries():new com.cognitect.transit.types.TransitArrayMapIterator(this._entries,com.cognitect.transit.types.ENTRIES)};com.cognitect.transit.types.TransitArrayMap.prototype.entries=com.cognitect.transit.types.TransitArrayMap.prototype.entries;
com.cognitect.transit.types.TransitArrayMap.prototype.values=function(){return this.backingMap?this.backingMap.values():new com.cognitect.transit.types.TransitArrayMapIterator(this._entries,com.cognitect.transit.types.VALUES)};com.cognitect.transit.types.TransitArrayMap.prototype.values=com.cognitect.transit.types.TransitArrayMap.prototype.values;
com.cognitect.transit.types.TransitArrayMap.prototype.forEach=function(a){if(this.backingMap)this.backingMap.forEach(a);else for(var b=0;b<this._entries.length;b+=2)a(this._entries[b+1],this._entries[b])};com.cognitect.transit.types.TransitArrayMap.prototype.forEach=com.cognitect.transit.types.TransitArrayMap.prototype.forEach;
com.cognitect.transit.types.TransitArrayMap.prototype.get=function(a,b){if(this.backingMap)return this.backingMap.get(a);if(this.convert())return this.get(a);for(var c=0;c<this._entries.length;c+=2)if(com.cognitect.transit.eq.equals(this._entries[c],a))return this._entries[c+1];return b};com.cognitect.transit.types.TransitArrayMap.prototype.get=com.cognitect.transit.types.TransitArrayMap.prototype.get;
com.cognitect.transit.types.TransitArrayMap.prototype.has=function(a){if(this.backingMap)return this.backingMap.has(a);if(this.convert())return this.has(a);for(var b=0;b<this._entries.length;b+=2)if(com.cognitect.transit.eq.equals(this._entries[b],a))return!0;return!1};com.cognitect.transit.types.TransitArrayMap.prototype.has=com.cognitect.transit.types.TransitArrayMap.prototype.has;
com.cognitect.transit.types.TransitArrayMap.prototype.set=function(a,b){this.hashCode=-1;if(this.backingMap)this.backingMap.set(a,b),this.size=this.backingMap.size;else{for(var c=0;c<this._entries.length;c+=2)if(com.cognitect.transit.eq.equals(this._entries[c],a)){this._entries[c+1]=b;return}this._entries.push(a);this._entries.push(b);this.size++;this.size>com.cognitect.transit.types.ARRAY_MAP_THRESHOLD&&(this.backingMap=com.cognitect.transit.types.map(this._entries,!1,!0),this._entries=null)}};
com.cognitect.transit.types.TransitArrayMap.prototype.set=com.cognitect.transit.types.TransitArrayMap.prototype.set;com.cognitect.transit.types.TransitArrayMap.prototype["delete"]=function(a){this.hashCode=-1;if(this.backingMap)return a=this.backingMap["delete"](a),this.size=this.backingMap.size,a;for(var b=0;b<this._entries.length;b+=2)if(com.cognitect.transit.eq.equals(this._entries[b],a))return a=this._entries[b+1],this._entries.splice(b,2),this.size--,a};
com.cognitect.transit.types.TransitArrayMap.prototype.clone=function(){var a=com.cognitect.transit.types.map();this.forEach(function(b,c){a.set(c,b)});return a};com.cognitect.transit.types.TransitArrayMap.prototype.clone=com.cognitect.transit.types.TransitArrayMap.prototype.clone;com.cognitect.transit.types.TransitArrayMap.prototype[com.cognitect.transit.types.ITERATOR]=function(){return this.entries()};
com.cognitect.transit.types.TransitArrayMap.prototype.com$cognitect$transit$hashCode=function(){if(this.backingMap)return this.backingMap.com$cognitect$transit$hashCode();-1===this.hashCode&&(this.hashCode=com.cognitect.transit.eq.hashMapLike(this));return this.hashCode};com.cognitect.transit.types.TransitArrayMap.prototype.com$cognitect$transit$equals=function(a){return this.backingMap?com.cognitect.transit.types.mapEquals(this.backingMap,a):com.cognitect.transit.types.mapEquals(this,a)};
com.cognitect.transit.types.TransitMap=function(a,b,c){this.map=b||{};this._keys=a||[];this.size=c||0;this.hashCode=-1};com.cognitect.transit.types.TransitMap.prototype.toString=function(){return com.cognitect.transit.types.printMap(this)};com.cognitect.transit.types.TransitMap.prototype.inspect=function(){return this.toString()};com.cognitect.transit.types.TransitMap.prototype.clear=function(){this.hashCode=-1;this.map={};this._keys=[];this.size=0};
com.cognitect.transit.types.TransitMap.prototype.clear=com.cognitect.transit.types.TransitMap.prototype.clear;com.cognitect.transit.types.TransitMap.prototype.getKeys=function(){return null!=this._keys?this._keys:com.cognitect.transit.util.objectKeys(this.map)};
com.cognitect.transit.types.TransitMap.prototype["delete"]=function(a){this.hashCode=-1;this._keys=null;for(var b=com.cognitect.transit.eq.hashCode(a),c=this.map[b],d=0;d<c.length;d+=2)if(com.cognitect.transit.eq.equals(a,c[d]))return a=c[d+1],c.splice(d,2),0===c.length&&delete this.map[b],this.size--,a};com.cognitect.transit.types.TransitMap.prototype.entries=function(){return new com.cognitect.transit.types.TransitMapIterator(this,com.cognitect.transit.types.ENTRIES)};
com.cognitect.transit.types.TransitMap.prototype.entries=com.cognitect.transit.types.TransitMap.prototype.entries;com.cognitect.transit.types.TransitMap.prototype.forEach=function(a){for(var b=this.getKeys(),c=0;c<b.length;c++)for(var d=this.map[b[c]],e=0;e<d.length;e+=2)a(d[e+1],d[e],this)};com.cognitect.transit.types.TransitMap.prototype.forEach=com.cognitect.transit.types.TransitMap.prototype.forEach;
com.cognitect.transit.types.TransitMap.prototype.get=function(a,b){var c=com.cognitect.transit.eq.hashCode(a),c=this.map[c];if(null!=c)for(var d=0;d<c.length;d+=2){if(com.cognitect.transit.eq.equals(a,c[d]))return c[d+1]}else return b};com.cognitect.transit.types.TransitMap.prototype.get=com.cognitect.transit.types.TransitMap.prototype.get;
com.cognitect.transit.types.TransitMap.prototype.has=function(a){var b=com.cognitect.transit.eq.hashCode(a),b=this.map[b];if(null!=b)for(var c=0;c<b.length;c+=2)if(com.cognitect.transit.eq.equals(a,b[c]))return!0;return!1};com.cognitect.transit.types.TransitMap.prototype.has=com.cognitect.transit.types.TransitMap.prototype.has;com.cognitect.transit.types.TransitMap.prototype.keys=function(){return new com.cognitect.transit.types.TransitMapIterator(this,com.cognitect.transit.types.KEYS)};
com.cognitect.transit.types.TransitMap.prototype.keys=com.cognitect.transit.types.TransitMap.prototype.keys;com.cognitect.transit.types.TransitMap.prototype.keySet=function(){for(var a=this.getKeys(),b=[],c=0;c<a.length;c++)for(var d=this.map[a[c]],e=0;e<d.length;e+=2)b.push(d[e]);return b};com.cognitect.transit.types.TransitMap.prototype.keySet=com.cognitect.transit.types.TransitMap.prototype.keySet;
com.cognitect.transit.types.TransitMap.prototype.set=function(a,b){this.hashCode=-1;var c=com.cognitect.transit.eq.hashCode(a),d=this.map[c];if(null==d)this._keys&&this._keys.push(c),this.map[c]=[a,b],this.size++;else{for(var c=!0,e=0;e<d.length;e+=2)if(com.cognitect.transit.eq.equals(b,d[e])){c=!1;d[e]=b;break}c&&(d.push(a),d.push(b),this.size++)}};com.cognitect.transit.types.TransitMap.prototype.set=com.cognitect.transit.types.TransitMap.prototype.set;
com.cognitect.transit.types.TransitMap.prototype.values=function(){return new com.cognitect.transit.types.TransitMapIterator(this,com.cognitect.transit.types.VALUES)};com.cognitect.transit.types.TransitMap.prototype.values=com.cognitect.transit.types.TransitMap.prototype.values;com.cognitect.transit.types.TransitMap.prototype.clone=function(){var a=com.cognitect.transit.types.map();this.forEach(function(b,c){a.set(c,b)});return a};com.cognitect.transit.types.TransitMap.prototype.clone=com.cognitect.transit.types.TransitMap.prototype.clone;
com.cognitect.transit.types.TransitMap.prototype[com.cognitect.transit.types.ITERATOR]=function(){return this.entries()};com.cognitect.transit.types.TransitMap.prototype.com$cognitect$transit$hashCode=function(){-1===this.hashCode&&(this.hashCode=com.cognitect.transit.eq.hashMapLike(this));return this.hashCode};com.cognitect.transit.types.TransitMap.prototype.com$cognitect$transit$equals=function(a){return com.cognitect.transit.types.mapEquals(this,a)};
com.cognitect.transit.types.map=function(a,b,c){a=a||[];b=!1===b?b:!0;if((!0!==c||!c)&&a.length<=2*com.cognitect.transit.types.ARRAY_MAP_THRESHOLD){if(b){var d=a;a=[];for(b=0;b<d.length;b+=2){var e=!1;for(c=0;c<a.length;c+=2)if(com.cognitect.transit.eq.equals(a[c],d[b])){a[c+1]=d[b+1];e=!0;break}e||(a.push(d[b]),a.push(d[b+1]))}}return new com.cognitect.transit.types.TransitArrayMap(a)}var d={},e=[],f=0;for(b=0;b<a.length;b+=2){c=com.cognitect.transit.eq.hashCode(a[b]);var g=d[c];if(null==g)e.push(c),
d[c]=[a[b],a[b+1]],f++;else{var h=!0;for(c=0;c<g.length;c+=2)if(com.cognitect.transit.eq.equals(g[c],a[b])){g[c+1]=a[b+1];h=!1;break}h&&(g.push(a[b]),g.push(a[b+1]),f++)}}return new com.cognitect.transit.types.TransitMap(e,d,f)};com.cognitect.transit.types.isArrayMap=function(a){return a instanceof com.cognitect.transit.types.TransitArrayMap};com.cognitect.transit.types.isMap=function(a){return a instanceof com.cognitect.transit.types.TransitArrayMap||a instanceof com.cognitect.transit.types.TransitMap};
com.cognitect.transit.types.TransitSet=function(a){this.map=a;this.size=a.size};com.cognitect.transit.types.TransitSet.prototype.toString=function(){return com.cognitect.transit.types.printSet(this)};com.cognitect.transit.types.TransitSet.prototype.inspect=function(){return this.toString()};com.cognitect.transit.types.TransitSet.prototype.add=function(a){this.map.set(a,a);this.size=this.map.size};com.cognitect.transit.types.TransitSet.prototype.add=com.cognitect.transit.types.TransitSet.prototype.add;
com.cognitect.transit.types.TransitSet.prototype.clear=function(){this.map=new com.cognitect.transit.types.TransitMap;this.size=0};com.cognitect.transit.types.TransitSet.prototype.clear=com.cognitect.transit.types.TransitSet.prototype.clear;com.cognitect.transit.types.TransitSet.prototype["delete"]=function(a){a=this.map["delete"](a);this.size=this.map.size;return a};com.cognitect.transit.types.TransitSet.prototype.entries=function(){return this.map.entries()};
com.cognitect.transit.types.TransitSet.prototype.entries=com.cognitect.transit.types.TransitSet.prototype.entries;com.cognitect.transit.types.TransitSet.prototype.forEach=function(a,b){var c=this;this.map.forEach(function(b,e,f){a(e,c)})};com.cognitect.transit.types.TransitSet.prototype.forEach=com.cognitect.transit.types.TransitSet.prototype.forEach;com.cognitect.transit.types.TransitSet.prototype.has=function(a){return this.map.has(a)};com.cognitect.transit.types.TransitSet.prototype.has=com.cognitect.transit.types.TransitSet.prototype.has;
com.cognitect.transit.types.TransitSet.prototype.keys=function(){return this.map.keys()};com.cognitect.transit.types.TransitSet.prototype.keys=com.cognitect.transit.types.TransitSet.prototype.keys;com.cognitect.transit.types.TransitSet.prototype.keySet=function(){return this.map.keySet()};com.cognitect.transit.types.TransitSet.prototype.keySet=com.cognitect.transit.types.TransitSet.prototype.keySet;com.cognitect.transit.types.TransitSet.prototype.values=function(){return this.map.values()};
com.cognitect.transit.types.TransitSet.prototype.values=com.cognitect.transit.types.TransitSet.prototype.values;com.cognitect.transit.types.TransitSet.prototype.clone=function(){var a=com.cognitect.transit.types.set();this.forEach(function(b){a.add(b)});return a};com.cognitect.transit.types.TransitSet.prototype.clone=com.cognitect.transit.types.TransitSet.prototype.clone;com.cognitect.transit.types.TransitSet.prototype[com.cognitect.transit.types.ITERATOR]=function(){return this.values()};
com.cognitect.transit.types.TransitSet.prototype.com$cognitect$transit$equals=function(a){if(a instanceof com.cognitect.transit.types.TransitSet){if(this.size===a.size)return com.cognitect.transit.eq.equals(this.map,a.map)}else return!1};com.cognitect.transit.types.TransitSet.prototype.com$cognitect$transit$hashCode=function(a){return com.cognitect.transit.eq.hashCode(this.map)};
com.cognitect.transit.types.set=function(a){a=a||[];for(var b={},c=[],d=0,e=0;e<a.length;e++){var f=com.cognitect.transit.eq.hashCode(a[e]),g=b[f];if(null==g)c.push(f),b[f]=[a[e],a[e]],d++;else{for(var f=!0,h=0;h<g.length;h+=2)if(com.cognitect.transit.eq.equals(g[h],a[e])){f=!1;break}f&&(g.push(a[e]),g.push(a[e]),d++)}}return new com.cognitect.transit.types.TransitSet(new com.cognitect.transit.types.TransitMap(c,b,d))};com.cognitect.transit.types.isSet=function(a){return a instanceof com.cognitect.transit.types.TransitSet};
com.cognitect.transit.types.quoted=function(a){return com.cognitect.transit.types.taggedValue("'",a)};com.cognitect.transit.types.isQuoted=function(a){return a instanceof com.cognitect.transit.types.TaggedValue&&"'"===a.tag};com.cognitect.transit.types.list=function(a){return com.cognitect.transit.types.taggedValue("list",a)};com.cognitect.transit.types.isList=function(a){return a instanceof com.cognitect.transit.types.TaggedValue&&"list"===a.tag};
com.cognitect.transit.types.link=function(a){return com.cognitect.transit.types.taggedValue("link",a)};com.cognitect.transit.types.isLink=function(a){return a instanceof com.cognitect.transit.types.TaggedValue&&"link"===a.tag};com.cognitect.transit.types.specialDouble=function(a){switch(a){case "-INF":return-Infinity;case "INF":return Infinity;case "NaN":return NaN;default:throw Error("Invalid special double value "+a);}};com.cognitect.transit.delimiters={};com.cognitect.transit.delimiters.ESC="~";com.cognitect.transit.delimiters.TAG="#";com.cognitect.transit.delimiters.SUB="^";com.cognitect.transit.delimiters.RES="`";com.cognitect.transit.delimiters.ESC_TAG="~#";com.cognitect.transit.caching={};com.cognitect.transit.caching.MIN_SIZE_CACHEABLE=3;com.cognitect.transit.caching.BASE_CHAR_IDX=48;com.cognitect.transit.caching.CACHE_CODE_DIGITS=44;com.cognitect.transit.caching.MAX_CACHE_ENTRIES=com.cognitect.transit.caching.CACHE_CODE_DIGITS*com.cognitect.transit.caching.CACHE_CODE_DIGITS;com.cognitect.transit.caching.MAX_CACHE_SIZE=4096;
com.cognitect.transit.caching.isCacheable=function(a,b){if(a.length>com.cognitect.transit.caching.MIN_SIZE_CACHEABLE){if(b)return!0;var c=a.charAt(0),d=a.charAt(1);return c===com.cognitect.transit.delimiters.ESC?":"===d||"$"===d||"#"===d:!1}return!1};
com.cognitect.transit.caching.idxToCode=function(a){var b=Math.floor(a/com.cognitect.transit.caching.CACHE_CODE_DIGITS);a=String.fromCharCode(a%com.cognitect.transit.caching.CACHE_CODE_DIGITS+com.cognitect.transit.caching.BASE_CHAR_IDX);return 0===b?com.cognitect.transit.delimiters.SUB+a:com.cognitect.transit.delimiters.SUB+String.fromCharCode(b+com.cognitect.transit.caching.BASE_CHAR_IDX)+a};com.cognitect.transit.caching.WriteCache=function(){this.cacheSize=this.gen=this.idx=0;this.cache={}};
com.cognitect.transit.caching.WriteCache.prototype.write=function(a,b){if(com.cognitect.transit.caching.isCacheable(a,b)){this.cacheSize===com.cognitect.transit.caching.MAX_CACHE_SIZE?(this.clear(),this.gen=0,this.cache={}):this.idx===com.cognitect.transit.caching.MAX_CACHE_ENTRIES&&this.clear();var c=this.cache[a];return null==c?(this.cache[a]=[com.cognitect.transit.caching.idxToCode(this.idx),this.gen],this.idx++,a):c[1]!=this.gen?(c[1]=this.gen,c[0]=com.cognitect.transit.caching.idxToCode(this.idx),
this.idx++,a):c[0]}return a};com.cognitect.transit.caching.WriteCache.prototype.clear=function(){this.idx=0;this.gen++};com.cognitect.transit.caching.writeCache=function(){return new com.cognitect.transit.caching.WriteCache};com.cognitect.transit.caching.isCacheCode=function(a){return a.charAt(0)===com.cognitect.transit.delimiters.SUB&&" "!==a.charAt(1)};
com.cognitect.transit.caching.codeToIdx=function(a){if(2===a.length)return a.charCodeAt(1)-com.cognitect.transit.caching.BASE_CHAR_IDX;var b=(a.charCodeAt(1)-com.cognitect.transit.caching.BASE_CHAR_IDX)*com.cognitect.transit.caching.CACHE_CODE_DIGITS;a=a.charCodeAt(2)-com.cognitect.transit.caching.BASE_CHAR_IDX;return b+a};com.cognitect.transit.caching.ReadCache=function(){this.idx=0;this.cache=[]};
com.cognitect.transit.caching.ReadCache.prototype.write=function(a,b){this.idx==com.cognitect.transit.caching.MAX_CACHE_ENTRIES&&(this.idx=0);this.cache[this.idx]=a;this.idx++;return a};com.cognitect.transit.caching.ReadCache.prototype.read=function(a,b){return this.cache[com.cognitect.transit.caching.codeToIdx(a)]};com.cognitect.transit.caching.ReadCache.prototype.clear=function(){this.idx=0};com.cognitect.transit.caching.readCache=function(){return new com.cognitect.transit.caching.ReadCache};com.cognitect.transit.impl={};com.cognitect.transit.impl.decoder={};com.cognitect.transit.impl.decoder.Tag=function(a){this.str=a};com.cognitect.transit.impl.decoder.tag=function(a){return new com.cognitect.transit.impl.decoder.Tag(a)};com.cognitect.transit.impl.decoder.isTag=function(a){return a&&a instanceof com.cognitect.transit.impl.decoder.Tag};com.cognitect.transit.impl.decoder.isGroundHandler=function(a){switch(a){case "_":case "s":case "?":case "i":case "d":case "b":case "'":case "array":case "map":return!0}return!1};
com.cognitect.transit.impl.decoder.Decoder=function(a){this.options=a||{};this.handlers={};for(var b in this.defaults.handlers)this.handlers[b]=this.defaults.handlers[b];for(b in this.options.handlers){if(com.cognitect.transit.impl.decoder.isGroundHandler(b))throw Error('Cannot override handler for ground type "'+b+'"');this.handlers[b]=this.options.handlers[b]}this.preferStrings=null!=this.options.preferStrings?this.options.preferStrings:this.defaults.preferStrings;this.preferBuffers=null!=this.options.preferBuffers?
this.options.preferBuffers:this.defaults.preferBuffers;this.defaultHandler=this.options.defaultHandler||this.defaults.defaultHandler;this.mapBuilder=this.options.mapBuilder;this.arrayBuilder=this.options.arrayBuilder};
com.cognitect.transit.impl.decoder.Decoder.prototype.defaults={handlers:{_:function(a,b){return com.cognitect.transit.types.nullValue()},"?":function(a,b){return com.cognitect.transit.types.boolValue(a)},b:function(a,b){return com.cognitect.transit.types.binary(a,b)},i:function(a,b){return com.cognitect.transit.types.intValue(a)},n:function(a,b){return com.cognitect.transit.types.bigInteger(a)},d:function(a,b){return com.cognitect.transit.types.floatValue(a)},f:function(a,b){return com.cognitect.transit.types.bigDecimalValue(a)},
c:function(a,b){return com.cognitect.transit.types.charValue(a)},":":function(a,b){return com.cognitect.transit.types.keyword(a)},$:function(a,b){return com.cognitect.transit.types.symbol(a)},r:function(a,b){return com.cognitect.transit.types.uri(a)},z:function(a,b){return com.cognitect.transit.types.specialDouble(a)},"'":function(a,b){return a},m:function(a,b){return com.cognitect.transit.types.date(a)},t:function(a,b){return com.cognitect.transit.types.verboseDate(a)},u:function(a,b){return com.cognitect.transit.types.uuid(a)},
set:function(a,b){return com.cognitect.transit.types.set(a)},list:function(a,b){return com.cognitect.transit.types.list(a)},link:function(a,b){return com.cognitect.transit.types.link(a)},cmap:function(a,b){return com.cognitect.transit.types.map(a,!1)}},defaultHandler:function(a,b){return com.cognitect.transit.types.taggedValue(a,b)},preferStrings:!0,preferBuffers:!0};
com.cognitect.transit.impl.decoder.Decoder.prototype.decode=function(a,b,c,d){if(null==a)return null;switch(typeof a){case "string":return this.decodeString(a,b,c,d);case "object":return com.cognitect.transit.util.isArray(a)?"^ "===a[0]?this.decodeArrayHash(a,b,c,d):this.decodeArray(a,b,c,d):this.decodeHash(a,b,c,d)}return a};com.cognitect.transit.impl.decoder.Decoder.prototype.decode=com.cognitect.transit.impl.decoder.Decoder.prototype.decode;
com.cognitect.transit.impl.decoder.Decoder.prototype.decodeString=function(a,b,c,d){return com.cognitect.transit.caching.isCacheable(a,c)?(a=this.parseString(a,b,!1),b&&b.write(a,c),a):com.cognitect.transit.caching.isCacheCode(a)?b.read(a,c):this.parseString(a,b,c)};
com.cognitect.transit.impl.decoder.Decoder.prototype.decodeHash=function(a,b,c,d){c=com.cognitect.transit.util.objectKeys(a);var e=c[0];d=1==c.length?this.decode(e,b,!1,!1):null;if(com.cognitect.transit.impl.decoder.isTag(d))return a=a[e],c=this.handlers[d.str],null!=c?c(this.decode(a,b,!1,!0),this):com.cognitect.transit.types.taggedValue(d.str,this.decode(a,b,!1,!1));if(this.mapBuilder){if(c.length<2*com.cognitect.transit.types.SMALL_ARRAY_MAP_THRESHOLD&&this.mapBuilder.fromArray){var f=[];for(e=
0;e<c.length;e++)d=c[e],f.push(this.decode(d,b,!0,!1)),f.push(this.decode(a[d],b,!1,!1));return this.mapBuilder.fromArray(f,a)}f=this.mapBuilder.init(a);for(e=0;e<c.length;e++)d=c[e],f=this.mapBuilder.add(f,this.decode(d,b,!0,!1),this.decode(a[d],b,!1,!1),a);return this.mapBuilder.finalize(f,a)}f=[];for(e=0;e<c.length;e++)d=c[e],f.push(this.decode(d,b,!0,!1)),f.push(this.decode(a[d],b,!1,!1));return com.cognitect.transit.types.map(f,!1)};
com.cognitect.transit.impl.decoder.Decoder.prototype.decodeArrayHash=function(a,b,c,d){if(this.mapBuilder){if(a.length<2*com.cognitect.transit.types.SMALL_ARRAY_MAP_THRESHOLD+1&&this.mapBuilder.fromArray){d=[];for(c=1;c<a.length;c+=2)d.push(this.decode(a[c],b,!0,!1)),d.push(this.decode(a[c+1],b,!1,!1));return this.mapBuilder.fromArray(d,a)}d=this.mapBuilder.init(a);for(c=1;c<a.length;c+=2)d=this.mapBuilder.add(d,this.decode(a[c],b,!0,!1),this.decode(a[c+1],b,!1,!1),a);return this.mapBuilder.finalize(d,
a)}d=[];for(c=1;c<a.length;c+=2)d.push(this.decode(a[c],b,!0,!1)),d.push(this.decode(a[c+1],b,!1,!1));return com.cognitect.transit.types.map(d,!1)};
com.cognitect.transit.impl.decoder.Decoder.prototype.decodeArray=function(a,b,c,d){if(d){var e=[];for(d=0;d<a.length;d++)e.push(this.decode(a[d],b,c,!1));return e}e=b&&b.idx;if(2===a.length&&"string"===typeof a[0]&&(d=this.decode(a[0],b,!1,!1),com.cognitect.transit.impl.decoder.isTag(d)))return a=a[1],e=this.handlers[d.str],null!=e?e=e(this.decode(a,b,c,!0),this):com.cognitect.transit.types.taggedValue(d.str,this.decode(a,b,c,!1));b&&e!=b.idx&&(b.idx=e);if(this.arrayBuilder){if(32>=a.length&&this.arrayBuilder.fromArray){e=
[];for(d=0;d<a.length;d++)e.push(this.decode(a[d],b,c,!1));return this.arrayBuilder.fromArray(e,a)}e=this.arrayBuilder.init(a);for(d=0;d<a.length;d++)e=this.arrayBuilder.add(e,this.decode(a[d],b,c,!1),a);return this.arrayBuilder.finalize(e,a)}e=[];for(d=0;d<a.length;d++)e.push(this.decode(a[d],b,c,!1));return e};
com.cognitect.transit.impl.decoder.Decoder.prototype.parseString=function(a,b,c){if(a.charAt(0)===com.cognitect.transit.delimiters.ESC){b=a.charAt(1);if(b===com.cognitect.transit.delimiters.ESC||b===com.cognitect.transit.delimiters.SUB||b===com.cognitect.transit.delimiters.RES)return a.substring(1);if(b===com.cognitect.transit.delimiters.TAG)return com.cognitect.transit.impl.decoder.tag(a.substring(2));c=this.handlers[b];return null==c?this.defaultHandler(b,a.substring(2)):c(a.substring(2),this)}return a};
com.cognitect.transit.impl.decoder.decoder=function(a){return new com.cognitect.transit.impl.decoder.Decoder(a)};com.cognitect.transit.impl.reader={};com.cognitect.transit.impl.reader.JSONUnmarshaller=function(a){this.decoder=new com.cognitect.transit.impl.decoder.Decoder(a)};com.cognitect.transit.impl.reader.JSONUnmarshaller.prototype.unmarshal=function(a,b){return this.decoder.decode(JSON.parse(a),b)};com.cognitect.transit.impl.reader.Reader=function(a,b){this.unmarshaller=a;this.options=b||{};this.cache=this.options.cache?this.options.cache:new com.cognitect.transit.caching.ReadCache};
com.cognitect.transit.impl.reader.Reader.prototype.read=function(a){a=this.unmarshaller.unmarshal(a,this.cache);this.cache.clear();return a};com.cognitect.transit.impl.reader.Reader.prototype.read=com.cognitect.transit.impl.reader.Reader.prototype.read;com.cognitect.transit.handlers={};com.cognitect.transit.handlers.ctorGuid=0;com.cognitect.transit.handlers.ctorGuidProperty="transit$guid$"+com.cognitect.transit.util.randomUUID();
com.cognitect.transit.handlers.typeTag=function(a){if(null==a)return"null";if(a===String)return"string";if(a===Boolean)return"boolean";if(a===Number)return"number";if(a===Array)return"array";if(a===Object)return"map";var b=a[com.cognitect.transit.handlers.ctorGuidProperty];null==b&&("undefined"!=typeof Object.defineProperty?(b=++com.cognitect.transit.handlers.ctorGuid,Object.defineProperty(a,com.cognitect.transit.handlers.ctorGuidProperty,{value:b,enumerable:!1})):a[com.cognitect.transit.handlers.ctorGuidProperty]=
b=++com.cognitect.transit.handlers.ctorGuid);return b};com.cognitect.transit.handlers.constructor=function(a){return null==a?null:a.constructor};com.cognitect.transit.handlers.padZeros=function(a,b){for(var c=a.toString(),d=c.length;d<b;d++)c="0"+c;return c};com.cognitect.transit.handlers.stringableKeys=function(a){a=com.cognitect.transit.util.objectKeys(a);for(var b=0;b<a.length;b++);return!0};com.cognitect.transit.handlers.NilHandler=function(){};
com.cognitect.transit.handlers.NilHandler.prototype.tag=function(a){return"_"};com.cognitect.transit.handlers.NilHandler.prototype.rep=function(a){return null};com.cognitect.transit.handlers.NilHandler.prototype.stringRep=function(a){return"null"};com.cognitect.transit.handlers.StringHandler=function(){};com.cognitect.transit.handlers.StringHandler.prototype.tag=function(a){return"s"};com.cognitect.transit.handlers.StringHandler.prototype.rep=function(a){return a};
com.cognitect.transit.handlers.StringHandler.prototype.stringRep=function(a){return a};com.cognitect.transit.handlers.NumberHandler=function(){};com.cognitect.transit.handlers.NumberHandler.prototype.tag=function(a){return"i"};com.cognitect.transit.handlers.NumberHandler.prototype.rep=function(a){return a};com.cognitect.transit.handlers.NumberHandler.prototype.stringRep=function(a){return a.toString()};com.cognitect.transit.handlers.IntegerHandler=function(){};
com.cognitect.transit.handlers.IntegerHandler.prototype.tag=function(a){return"i"};com.cognitect.transit.handlers.IntegerHandler.prototype.rep=function(a){return a.toString()};com.cognitect.transit.handlers.IntegerHandler.prototype.stringRep=function(a){return a.toString()};com.cognitect.transit.handlers.BooleanHandler=function(){};com.cognitect.transit.handlers.BooleanHandler.prototype.tag=function(a){return"?"};com.cognitect.transit.handlers.BooleanHandler.prototype.rep=function(a){return a};
com.cognitect.transit.handlers.BooleanHandler.prototype.stringRep=function(a){return a.toString()};com.cognitect.transit.handlers.ArrayHandler=function(){};com.cognitect.transit.handlers.ArrayHandler.prototype.tag=function(a){return"array"};com.cognitect.transit.handlers.ArrayHandler.prototype.rep=function(a){return a};com.cognitect.transit.handlers.ArrayHandler.prototype.stringRep=function(a){return null};com.cognitect.transit.handlers.MapHandler=function(){};
com.cognitect.transit.handlers.MapHandler.prototype.tag=function(a){return"map"};com.cognitect.transit.handlers.MapHandler.prototype.rep=function(a){return a};com.cognitect.transit.handlers.MapHandler.prototype.stringRep=function(a){return null};com.cognitect.transit.handlers.VerboseDateHandler=function(){};com.cognitect.transit.handlers.VerboseDateHandler.prototype.tag=function(a){return"t"};
com.cognitect.transit.handlers.VerboseDateHandler.prototype.rep=function(a){return a.getUTCFullYear()+"-"+com.cognitect.transit.handlers.padZeros(a.getUTCMonth()+1,2)+"-"+com.cognitect.transit.handlers.padZeros(a.getUTCDate(),2)+"T"+com.cognitect.transit.handlers.padZeros(a.getUTCHours(),2)+":"+com.cognitect.transit.handlers.padZeros(a.getUTCMinutes(),2)+":"+com.cognitect.transit.handlers.padZeros(a.getUTCSeconds(),2)+"."+com.cognitect.transit.handlers.padZeros(a.getUTCMilliseconds(),3)+"Z"};
com.cognitect.transit.handlers.VerboseDateHandler.prototype.stringRep=function(a,b){return b.rep(a)};com.cognitect.transit.handlers.DateHandler=function(){};com.cognitect.transit.handlers.DateHandler.prototype.tag=function(a){return"m"};com.cognitect.transit.handlers.DateHandler.prototype.rep=function(a){return a.valueOf()};com.cognitect.transit.handlers.DateHandler.prototype.stringRep=function(a){return a.valueOf().toString()};
com.cognitect.transit.handlers.DateHandler.prototype.getVerboseHandler=function(a){return new com.cognitect.transit.handlers.VerboseDateHandler};com.cognitect.transit.handlers.UUIDHandler=function(){};com.cognitect.transit.handlers.UUIDHandler.prototype.tag=function(a){return"u"};com.cognitect.transit.handlers.UUIDHandler.prototype.rep=function(a){return a.toString()};com.cognitect.transit.handlers.UUIDHandler.prototype.stringRep=function(a){return a.toString()};
com.cognitect.transit.handlers.KeywordHandler=function(){};com.cognitect.transit.handlers.KeywordHandler.prototype.tag=function(a){return":"};com.cognitect.transit.handlers.KeywordHandler.prototype.rep=function(a){return a._name};com.cognitect.transit.handlers.KeywordHandler.prototype.stringRep=function(a,b){return b.rep(a)};com.cognitect.transit.handlers.SymbolHandler=function(){};com.cognitect.transit.handlers.SymbolHandler.prototype.tag=function(a){return"$"};
com.cognitect.transit.handlers.SymbolHandler.prototype.rep=function(a){return a._name};com.cognitect.transit.handlers.SymbolHandler.prototype.stringRep=function(a,b){return b.rep(a)};com.cognitect.transit.handlers.TaggedHandler=function(){};com.cognitect.transit.handlers.TaggedHandler.prototype.tag=function(a){return a.tag};com.cognitect.transit.handlers.TaggedHandler.prototype.rep=function(a){return a.rep};com.cognitect.transit.handlers.TaggedHandler.prototype.stringRep=function(a,b){return null};
com.cognitect.transit.handlers.TransitSetHandler=function(){};com.cognitect.transit.handlers.TransitSetHandler.prototype.tag=function(a){return"set"};com.cognitect.transit.handlers.TransitSetHandler.prototype.rep=function(a){var b=[];a.forEach(function(a,d){b.push(a)});return com.cognitect.transit.types.taggedValue("array",b)};com.cognitect.transit.handlers.TransitSetHandler.prototype.stringRep=function(a,b){return null};com.cognitect.transit.handlers.TransitArrayMapHandler=function(){};
com.cognitect.transit.handlers.TransitArrayMapHandler.prototype.tag=function(a){return"map"};com.cognitect.transit.handlers.TransitArrayMapHandler.prototype.rep=function(a){return a};com.cognitect.transit.handlers.TransitArrayMapHandler.prototype.stringRep=function(a,b){return null};com.cognitect.transit.handlers.TransitMapHandler=function(){};com.cognitect.transit.handlers.TransitMapHandler.prototype.tag=function(a){return"map"};com.cognitect.transit.handlers.TransitMapHandler.prototype.rep=function(a){return a};
com.cognitect.transit.handlers.TransitMapHandler.prototype.stringRep=function(a,b){return null};com.cognitect.transit.handlers.BufferHandler=function(){};com.cognitect.transit.handlers.BufferHandler.prototype.tag=function(a){return"b"};com.cognitect.transit.handlers.BufferHandler.prototype.rep=function(a){return a.toString("base64")};com.cognitect.transit.handlers.BufferHandler.prototype.stringRep=function(a,b){return null};com.cognitect.transit.handlers.Uint8ArrayHandler=function(){};
com.cognitect.transit.handlers.Uint8ArrayHandler.prototype.tag=function(a){return"b"};com.cognitect.transit.handlers.Uint8ArrayHandler.prototype.rep=function(a){return com.cognitect.transit.util.Uint8ToBase64(a)};com.cognitect.transit.handlers.Uint8ArrayHandler.prototype.stringRep=function(a,b){return null};
com.cognitect.transit.handlers.defaultHandlers=function(a){a.set(null,new com.cognitect.transit.handlers.NilHandler);a.set(String,new com.cognitect.transit.handlers.StringHandler);a.set(Number,new com.cognitect.transit.handlers.NumberHandler);a.set(goog.math.Long,new com.cognitect.transit.handlers.IntegerHandler);a.set(Boolean,new com.cognitect.transit.handlers.BooleanHandler);a.set(Array,new com.cognitect.transit.handlers.ArrayHandler);a.set(Object,new com.cognitect.transit.handlers.MapHandler);
a.set(Date,new com.cognitect.transit.handlers.DateHandler);a.set(com.cognitect.transit.types.UUID,new com.cognitect.transit.handlers.UUIDHandler);a.set(com.cognitect.transit.types.Keyword,new com.cognitect.transit.handlers.KeywordHandler);a.set(com.cognitect.transit.types.Symbol,new com.cognitect.transit.handlers.SymbolHandler);a.set(com.cognitect.transit.types.TaggedValue,new com.cognitect.transit.handlers.TaggedHandler);a.set(com.cognitect.transit.types.TransitSet,new com.cognitect.transit.handlers.TransitSetHandler);
a.set(com.cognitect.transit.types.TransitArrayMap,new com.cognitect.transit.handlers.TransitArrayMapHandler);a.set(com.cognitect.transit.types.TransitMap,new com.cognitect.transit.handlers.TransitMapHandler);"undefined"!=typeof Buffer&&a.set(Buffer,new com.cognitect.transit.handlers.BufferHandler);"undefined"!=typeof Uint8Array&&a.set(Uint8Array,new com.cognitect.transit.handlers.Uint8ArrayHandler);return a};com.cognitect.transit.handlers.Handlers=function(){this.handlers={};com.cognitect.transit.handlers.defaultHandlers(this)};
com.cognitect.transit.handlers.Handlers.prototype.get=function(a){a="string"===typeof a?this.handlers[a]:this.handlers[com.cognitect.transit.handlers.typeTag(a)];return null!=a?a:this.handlers["default"]};com.cognitect.transit.handlers.Handlers.prototype.get=com.cognitect.transit.handlers.Handlers.prototype.get;com.cognitect.transit.handlers.validTag=function(a){switch(a){case "null":case "string":case "boolean":case "number":case "array":case "map":return!1}return!0};
com.cognitect.transit.handlers.Handlers.prototype.set=function(a,b){"string"===typeof a&&com.cognitect.transit.handlers.validTag(a)?this.handlers[a]=b:this.handlers[com.cognitect.transit.handlers.typeTag(a)]=b};com.cognitect.transit.impl.writer={};com.cognitect.transit.impl.writer.escape=function(a){if(0<a.length){var b=a.charAt(0);return b===com.cognitect.transit.delimiters.ESC||b===com.cognitect.transit.delimiters.SUB||b===com.cognitect.transit.delimiters.RES?com.cognitect.transit.delimiters.ESC+a:a}return a};
com.cognitect.transit.impl.writer.JSONMarshaller=function(a){this.opts=a||{};this.preferStrings=null!=this.opts.preferStrings?this.opts.preferStrings:!0;this.objectBuilder=this.opts.objectBuilder||null;this.handlers=new com.cognitect.transit.handlers.Handlers;if(a=this.opts.handlers){if(com.cognitect.transit.util.isArray(a)||!a.forEach)throw Error('transit writer "handlers" option must be a map');var b=this;a.forEach(function(a,d){if(void 0!==d)b.handlers.set(d,a);else throw Error("Cannot create handler for JavaScript undefined");
})}this.handlerForForeign=this.opts.handlerForForeign;this.unpack=this.opts.unpack||function(a){return com.cognitect.transit.types.isArrayMap(a)&&null===a.backingMap?a._entries:!1};this.verbose=this.opts&&this.opts.verbose||!1};com.cognitect.transit.impl.writer.JSONMarshaller.prototype.handler=function(a){var b=this.handlers.get(com.cognitect.transit.handlers.constructor(a));return null!=b?b:(a=a&&a.transitTag)?this.handlers.get(a):null};
com.cognitect.transit.impl.writer.JSONMarshaller.prototype.registerHandler=function(a,b){this.handlers.set(a,b)};com.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitNil=function(a,b){return a?this.emitString(com.cognitect.transit.delimiters.ESC,"_","",a,b):null};com.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitString=function(a,b,c,d,e){a=a+b+c;return e?e.write(a,d):a};
com.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitBoolean=function(a,b,c){return b?this.emitString(com.cognitect.transit.delimiters.ESC,"?",a.toString()[0],b,c):a};
com.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitInteger=function(a,b,c){return Infinity===a?this.emitString(com.cognitect.transit.delimiters.ESC,"z","INF",b,c):-Infinity===a?this.emitString(com.cognitect.transit.delimiters.ESC,"z","-INF",b,c):isNaN(a)?this.emitString(com.cognitect.transit.delimiters.ESC,"z","NaN",b,c):b||"string"===typeof a||a instanceof goog.math.Long?this.emitString(com.cognitect.transit.delimiters.ESC,"i",a.toString(),b,c):a};
com.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitDouble=function(a,b,c){return b?this.emitString(a.ESC,"d",a,b,c):a};com.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitBinary=function(a,b,c){return this.emitString(com.cognitect.transit.delimiters.ESC,"b",a,b,c)};
com.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitQuoted=function(a,b,c){if(a.verbose){a={};var d=this.emitString(com.cognitect.transit.delimiters.ESC_TAG,"'","",!0,c);a[d]=com.cognitect.transit.impl.writer.marshal(this,b,!1,c);return a}return[this.emitString(com.cognitect.transit.delimiters.ESC_TAG,"'","",!0,c),com.cognitect.transit.impl.writer.marshal(this,b,!1,c)]};
com.cognitect.transit.impl.writer.emitObjects=function(a,b,c){var d=[];if(com.cognitect.transit.util.isArray(b))for(var e=0;e<b.length;e++)d.push(com.cognitect.transit.impl.writer.marshal(a,b[e],!1,c));else b.forEach(function(b,e){d.push(com.cognitect.transit.impl.writer.marshal(a,b,!1,c))});return d};com.cognitect.transit.impl.writer.emitArray=function(a,b,c,d){return com.cognitect.transit.impl.writer.emitObjects(a,b,d)};
com.cognitect.transit.impl.writer.isStringableKey=function(a,b){if("string"!==typeof b){var c=a.handler(b);return c&&1===c.tag(b).length}return!0};
com.cognitect.transit.impl.writer.stringableKeys=function(a,b){var c=a.unpack(b),d=!0;if(c){for(var e=0;e<c.length&&(d=com.cognitect.transit.impl.writer.isStringableKey(a,c[e]),d);e+=2);return d}if(b.keys&&(c=b.keys(),e=null,c.next)){for(e=c.next();!e.done;){d=com.cognitect.transit.impl.writer.isStringableKey(a,e.value);if(!d)break;e=c.next()}return d}if(b.forEach)return b.forEach(function(b,c){d=d&&com.cognitect.transit.impl.writer.isStringableKey(a,c)}),d;throw Error("Cannot walk keys of object type "+
com.cognitect.transit.handlers.constructor(b).name);};com.cognitect.transit.impl.writer.isForeignObject=function(a){if(a.constructor.transit$isObject)return!0;var b=a.constructor.toString(),b=b.substr(9),b=b.substr(0,b.indexOf("("));isObject="Object"==b;"undefined"!=typeof Object.defineProperty?Object.defineProperty(a.constructor,"transit$isObject",{value:isObject,enumerable:!1}):a.constructor.transit$isObject=isObject;return isObject};
com.cognitect.transit.impl.writer.emitMap=function(a,b,c,d){var e=null,f=null,g=null,e=null;c=0;if(b.constructor===Object||null!=b.forEach||a.handlerForForeign&&com.cognitect.transit.impl.writer.isForeignObject(b)){if(a.verbose){if(null!=b.forEach)if(com.cognitect.transit.impl.writer.stringableKeys(a,b)){var h={};b.forEach(function(b,c){h[com.cognitect.transit.impl.writer.marshal(a,c,!0,!1)]=com.cognitect.transit.impl.writer.marshal(a,b,!1,d)})}else{e=a.unpack(b);f=[];g=a.emitString(com.cognitect.transit.delimiters.ESC_TAG,
"cmap","",!0,d);if(e)for(;c<e.length;c+=2)f.push(com.cognitect.transit.impl.writer.marshal(a,e[c],!1,!1)),f.push(com.cognitect.transit.impl.writer.marshal(a,e[c+1],!1,d));else b.forEach(function(b,c){f.push(com.cognitect.transit.impl.writer.marshal(a,c,!1,!1));f.push(com.cognitect.transit.impl.writer.marshal(a,b,!1,d))});h={};h[g]=f}else for(e=com.cognitect.transit.util.objectKeys(b),h={};c<e.length;c++)h[com.cognitect.transit.impl.writer.marshal(a,e[c],!0,!1)]=com.cognitect.transit.impl.writer.marshal(a,
b[e[c]],!1,d);return h}if(null!=b.forEach){if(com.cognitect.transit.impl.writer.stringableKeys(a,b)){e=a.unpack(b);h=["^ "];if(e)for(;c<e.length;c+=2)h.push(com.cognitect.transit.impl.writer.marshal(a,e[c],!0,d)),h.push(com.cognitect.transit.impl.writer.marshal(a,e[c+1],!1,d));else b.forEach(function(b,c){h.push(com.cognitect.transit.impl.writer.marshal(a,c,!0,d));h.push(com.cognitect.transit.impl.writer.marshal(a,b,!1,d))});return h}e=a.unpack(b);f=[];g=a.emitString(com.cognitect.transit.delimiters.ESC_TAG,
"cmap","",!0,d);if(e)for(;c<e.length;c+=2)f.push(com.cognitect.transit.impl.writer.marshal(a,e[c],!1,d)),f.push(com.cognitect.transit.impl.writer.marshal(a,e[c+1],!1,d));else b.forEach(function(b,c){f.push(com.cognitect.transit.impl.writer.marshal(a,c,!1,d));f.push(com.cognitect.transit.impl.writer.marshal(a,b,!1,d))});return[g,f]}h=["^ "];for(e=com.cognitect.transit.util.objectKeys(b);c<e.length;c++)h.push(com.cognitect.transit.impl.writer.marshal(a,e[c],!0,d)),h.push(com.cognitect.transit.impl.writer.marshal(a,
b[e[c]],!1,d));return h}if(null!=a.objectBuilder)return a.objectBuilder(b,function(b){return com.cognitect.transit.impl.writer.marshal(a,b,!0,d)},function(b){return com.cognitect.transit.impl.writer.marshal(a,b,!1,d)});c=com.cognitect.transit.handlers.constructor(b).name;e=Error("Cannot write "+c);e.data={obj:b,type:c};throw e;};
com.cognitect.transit.impl.writer.emitTaggedMap=function(a,b,c,d,e){return a.verbose?(d={},d[a.emitString(com.cognitect.transit.delimiters.ESC_TAG,b,"",!0,e)]=com.cognitect.transit.impl.writer.marshal(a,c,!1,e),d):[a.emitString(com.cognitect.transit.delimiters.ESC_TAG,b,"",!0,e),com.cognitect.transit.impl.writer.marshal(a,c,!1,e)]};
com.cognitect.transit.impl.writer.emitEncoded=function(a,b,c,d,e,f,g){if(1===c.length){if("string"===typeof d)return a.emitString(com.cognitect.transit.delimiters.ESC,c,d,f,g);if(f||a.preferStrings){(d=a.verbose&&b.getVerboseHandler())?(c=d.tag(e),d=d.stringRep(e,d)):d=b.stringRep(e,b);if(null!==d)return a.emitString(com.cognitect.transit.delimiters.ESC,c,d,f,g);a=Error('Tag "'+c+'" cannot be encoded as string');a.data={tag:c,rep:d,obj:e};throw a;}}return com.cognitect.transit.impl.writer.emitTaggedMap(a,
c,d,f,g)};
com.cognitect.transit.impl.writer.marshal=function(a,b,c,d){var e=a.handler(b)||(a.handlerForForeign?a.handlerForForeign(b,a.handlers):null),f=e?e.tag(b):null,g=e?e.rep(b):null;if(null!=e&&null!=f)switch(f){case "_":return a.emitNil(c,d);case "s":return a.emitString("","",com.cognitect.transit.impl.writer.escape(g),c,d);case "?":return a.emitBoolean(g,c,d);case "i":return a.emitInteger(g,c,d);case "d":return a.emitDouble(g,c,d);case "b":return a.emitBinary(g,c,d);case "'":return a.emitQuoted(a,g,
d);case "array":return com.cognitect.transit.impl.writer.emitArray(a,g,c,d);case "map":return com.cognitect.transit.impl.writer.emitMap(a,g,c,d);default:return com.cognitect.transit.impl.writer.emitEncoded(a,e,f,g,b,c,d)}else throw a=com.cognitect.transit.handlers.constructor(b).name,c=Error("Cannot write "+a),c.data={obj:b,type:a},c;};
com.cognitect.transit.impl.writer.maybeQuoted=function(a,b){var c=a.handler(b)||(a.handlerForForeign?a.handlerForForeign(b,a.handlers):null);if(null!=c)return 1===c.tag(b).length?com.cognitect.transit.types.quoted(b):b;var c=com.cognitect.transit.handlers.constructor(b).name,d=Error("Cannot write "+c);d.data={obj:b,type:c};throw d;};
com.cognitect.transit.impl.writer.marshalTop=function(a,b,c,d){return JSON.stringify(com.cognitect.transit.impl.writer.marshal(a,com.cognitect.transit.impl.writer.maybeQuoted(a,b),c,d))};com.cognitect.transit.impl.writer.Writer=function(a,b){this._marshaller=a;this.options=b||{};this.cache=!1===this.options.cache?null:this.options.cache?this.options.cache:new com.cognitect.transit.caching.WriteCache};com.cognitect.transit.impl.writer.Writer.prototype.marshaller=function(){return this._marshaller};
com.cognitect.transit.impl.writer.Writer.prototype.marshaller=com.cognitect.transit.impl.writer.Writer.prototype.marshaller;com.cognitect.transit.impl.writer.Writer.prototype.write=function(a,b){var c=b||{};var d=c.asMapKey||!1,e=this._marshaller.verbose?!1:this.cache;c=!1===c.marshalTop?com.cognitect.transit.impl.writer.marshal(this._marshaller,a,d,e):com.cognitect.transit.impl.writer.marshalTop(this._marshaller,a,d,e);null!=this.cache&&this.cache.clear();return c};
com.cognitect.transit.impl.writer.Writer.prototype.write=com.cognitect.transit.impl.writer.Writer.prototype.write;com.cognitect.transit.impl.writer.Writer.prototype.register=function(a,b){this._marshaller.registerHandler(a,b)};com.cognitect.transit.impl.writer.Writer.prototype.register=com.cognitect.transit.impl.writer.Writer.prototype.register;var TRANSIT_DEV=!0,TRANSIT_NODE_TARGET=!1,TRANSIT_BROWSER_TARGET=!1,TRANSIT_BROWSER_AMD_TARGET=!1;com.cognitect.transit.reader=function(a,b){if("json"===a||"json-verbose"===a||null==a){var c=new com.cognitect.transit.impl.reader.JSONUnmarshaller(b);return new com.cognitect.transit.impl.reader.Reader(c,b)}throw Error("Cannot create reader of type "+a);};
com.cognitect.transit.writer=function(a,b){if("json"===a||"json-verbose"===a||null==a){"json-verbose"===a&&(null==b&&(b={}),b.verbose=!0);var c=new com.cognitect.transit.impl.writer.JSONMarshaller(b);return new com.cognitect.transit.impl.writer.Writer(c,b)}c=Error('Type must be "json"');c.data={type:a};throw c;};
com.cognitect.transit.makeWriteHandler=function(a){var b=function(){};b.prototype.tag=a.tag;b.prototype.rep=a.rep;b.prototype.stringRep=a.stringRep;b.prototype.getVerboseHandler=a.getVerboseHandler;return new b};com.cognitect.transit.makeBuilder=function(a){var b=function(){};b.prototype.init=a.init;b.prototype.add=a.add;b.prototype.finalize=a.finalize;b.prototype.fromArray=a.fromArray;return new b};com.cognitect.transit.date=com.cognitect.transit.types.date;com.cognitect.transit.integer=com.cognitect.transit.types.intValue;
com.cognitect.transit.isInteger=com.cognitect.transit.types.isInteger;com.cognitect.transit.uuid=com.cognitect.transit.types.uuid;com.cognitect.transit.isUUID=com.cognitect.transit.types.isUUID;com.cognitect.transit.bigInt=com.cognitect.transit.types.bigInteger;com.cognitect.transit.isBigInt=com.cognitect.transit.types.isBigInteger;com.cognitect.transit.bigDec=com.cognitect.transit.types.bigDecimalValue;com.cognitect.transit.isBigDec=com.cognitect.transit.types.isBigDecimal;
com.cognitect.transit.keyword=com.cognitect.transit.types.keyword;com.cognitect.transit.isKeyword=com.cognitect.transit.types.isKeyword;com.cognitect.transit.symbol=com.cognitect.transit.types.symbol;com.cognitect.transit.isSymbol=com.cognitect.transit.types.isSymbol;com.cognitect.transit.binary=com.cognitect.transit.types.binary;com.cognitect.transit.isBinary=com.cognitect.transit.types.isBinary;com.cognitect.transit.uri=com.cognitect.transit.types.uri;com.cognitect.transit.isURI=com.cognitect.transit.types.isURI;
com.cognitect.transit.map=com.cognitect.transit.types.map;com.cognitect.transit.isMap=com.cognitect.transit.types.isMap;com.cognitect.transit.set=com.cognitect.transit.types.set;com.cognitect.transit.isSet=com.cognitect.transit.types.isSet;com.cognitect.transit.list=com.cognitect.transit.types.list;com.cognitect.transit.isList=com.cognitect.transit.types.isList;com.cognitect.transit.quoted=com.cognitect.transit.types.quoted;com.cognitect.transit.isQuoted=com.cognitect.transit.types.isQuoted;
com.cognitect.transit.tagged=com.cognitect.transit.types.taggedValue;com.cognitect.transit.isTaggedValue=com.cognitect.transit.types.isTaggedValue;com.cognitect.transit.link=com.cognitect.transit.types.link;com.cognitect.transit.isLink=com.cognitect.transit.types.isLink;com.cognitect.transit.hash=com.cognitect.transit.eq.hashCode;com.cognitect.transit.hashMapLike=com.cognitect.transit.eq.hashMapLike;com.cognitect.transit.hashArrayLike=com.cognitect.transit.eq.hashArrayLike;
com.cognitect.transit.equals=com.cognitect.transit.eq.equals;com.cognitect.transit.extendToEQ=com.cognitect.transit.eq.extendToEQ;com.cognitect.transit.mapToObject=function(a){var b={};a.forEach(function(a,d){if("string"!==typeof d)throw Error("Cannot convert map with non-string keys");b[d]=a});return b};com.cognitect.transit.objectToMap=function(a){var b=com.cognitect.transit.map(),c;for(c in a)a.hasOwnProperty(c)&&b.set(c,a[c]);return b};com.cognitect.transit.decoder=com.cognitect.transit.impl.decoder.decoder;
com.cognitect.transit.readCache=com.cognitect.transit.caching.readCache;com.cognitect.transit.writeCache=com.cognitect.transit.caching.writeCache;com.cognitect.transit.UUIDfromString=com.cognitect.transit.types.UUIDfromString;com.cognitect.transit.randomUUID=com.cognitect.transit.util.randomUUID;com.cognitect.transit.stringableKeys=com.cognitect.transit.impl.writer.stringableKeys;
TRANSIT_BROWSER_TARGET&&(goog.exportSymbol("transit.reader",com.cognitect.transit.reader),goog.exportSymbol("transit.writer",com.cognitect.transit.writer),goog.exportSymbol("transit.makeBuilder",com.cognitect.transit.makeBuilder),goog.exportSymbol("transit.makeWriteHandler",com.cognitect.transit.makeWriteHandler),goog.exportSymbol("transit.date",com.cognitect.transit.types.date),goog.exportSymbol("transit.integer",com.cognitect.transit.types.intValue),goog.exportSymbol("transit.isInteger",com.cognitect.transit.types.isInteger),
goog.exportSymbol("transit.uuid",com.cognitect.transit.types.uuid),goog.exportSymbol("transit.isUUID",com.cognitect.transit.types.isUUID),goog.exportSymbol("transit.bigInt",com.cognitect.transit.types.bigInteger),goog.exportSymbol("transit.isBigInt",com.cognitect.transit.types.isBigInteger),goog.exportSymbol("transit.bigDec",com.cognitect.transit.types.bigDecimalValue),goog.exportSymbol("transit.isBigDec",com.cognitect.transit.types.isBigDecimal),goog.exportSymbol("transit.keyword",com.cognitect.transit.types.keyword),
goog.exportSymbol("transit.isKeyword",com.cognitect.transit.types.isKeyword),goog.exportSymbol("transit.symbol",com.cognitect.transit.types.symbol),goog.exportSymbol("transit.isSymbol",com.cognitect.transit.types.isSymbol),goog.exportSymbol("transit.binary",com.cognitect.transit.types.binary),goog.exportSymbol("transit.isBinary",com.cognitect.transit.types.isBinary),goog.exportSymbol("transit.uri",com.cognitect.transit.types.uri),goog.exportSymbol("transit.isURI",com.cognitect.transit.types.isURI),
goog.exportSymbol("transit.map",com.cognitect.transit.types.map),goog.exportSymbol("transit.isMap",com.cognitect.transit.types.isMap),goog.exportSymbol("transit.set",com.cognitect.transit.types.set),goog.exportSymbol("transit.isSet",com.cognitect.transit.types.isSet),goog.exportSymbol("transit.list",com.cognitect.transit.types.list),goog.exportSymbol("transit.isList",com.cognitect.transit.types.isList),goog.exportSymbol("transit.quoted",com.cognitect.transit.types.quoted),goog.exportSymbol("transit.isQuoted",
com.cognitect.transit.types.isQuoted),goog.exportSymbol("transit.tagged",com.cognitect.transit.types.taggedValue),goog.exportSymbol("transit.isTaggedValue",com.cognitect.transit.types.isTaggedValue),goog.exportSymbol("transit.link",com.cognitect.transit.types.link),goog.exportSymbol("transit.isLink",com.cognitect.transit.types.isLink),goog.exportSymbol("transit.hash",com.cognitect.transit.eq.hashCode),goog.exportSymbol("transit.hashMapLike",com.cognitect.transit.eq.hashMapLike),goog.exportSymbol("transit.hashArrayLike",
com.cognitect.transit.eq.hashArrayLike),goog.exportSymbol("transit.equals",com.cognitect.transit.eq.equals),goog.exportSymbol("transit.extendToEQ",com.cognitect.transit.eq.extendToEQ),goog.exportSymbol("transit.mapToObject",com.cognitect.transit.mapToObject),goog.exportSymbol("transit.objectToMap",com.cognitect.transit.objectToMap),goog.exportSymbol("transit.decoder",com.cognitect.transit.impl.decoder.decoder),goog.exportSymbol("transit.UUIDfromString",com.cognitect.transit.types.UUIDfromString),
goog.exportSymbol("transit.randomUUID",com.cognitect.transit.util.randomUUID),goog.exportSymbol("transit.stringableKeys",com.cognitect.transit.impl.writer.stringableKeys),goog.exportSymbol("transit.readCache",com.cognitect.transit.caching.readCache),goog.exportSymbol("transit.writeCache",com.cognitect.transit.caching.writeCache));
TRANSIT_NODE_TARGET&&(module.exports={reader:com.cognitect.transit.reader,writer:com.cognitect.transit.writer,makeBuilder:com.cognitect.transit.makeBuilder,makeWriteHandler:com.cognitect.transit.makeWriteHandler,date:com.cognitect.transit.types.date,integer:com.cognitect.transit.types.intValue,isInteger:com.cognitect.transit.types.isInteger,uuid:com.cognitect.transit.types.uuid,isUUID:com.cognitect.transit.types.isUUID,bigInt:com.cognitect.transit.types.bigInteger,isBigInt:com.cognitect.transit.types.isBigInteger,
bigDec:com.cognitect.transit.types.bigDecimalValue,isBigDec:com.cognitect.transit.types.isBigDecimal,keyword:com.cognitect.transit.types.keyword,isKeyword:com.cognitect.transit.types.isKeyword,symbol:com.cognitect.transit.types.symbol,isSymbol:com.cognitect.transit.types.isSymbol,binary:com.cognitect.transit.types.binary,isBinary:com.cognitect.transit.types.isBinary,uri:com.cognitect.transit.types.uri,isURI:com.cognitect.transit.types.isURI,map:com.cognitect.transit.types.map,isMap:com.cognitect.transit.types.isMap,
set:com.cognitect.transit.types.set,isSet:com.cognitect.transit.types.isSet,list:com.cognitect.transit.types.list,isList:com.cognitect.transit.types.isList,quoted:com.cognitect.transit.types.quoted,isQuoted:com.cognitect.transit.types.isQuoted,tagged:com.cognitect.transit.types.taggedValue,isTaggedValue:com.cognitect.transit.types.isTaggedValue,link:com.cognitect.transit.types.link,isLink:com.cognitect.transit.types.isLink,hash:com.cognitect.transit.eq.hashCode,hashArrayLike:com.cognitect.transit.eq.hashArrayLike,
hashMapLike:com.cognitect.transit.eq.hashMapLike,equals:com.cognitect.transit.eq.equals,extendToEQ:com.cognitect.transit.eq.extendToEQ,mapToObject:com.cognitect.transit.mapToObject,objectToMap:com.cognitect.transit.objectToMap,decoder:com.cognitect.transit.impl.decoder.decoder,UUIDfromString:com.cognitect.transit.types.UUIDfromString,randomUUID:com.cognitect.transit.util.randomUUID,stringableKeys:com.cognitect.transit.impl.writer.stringableKeys,readCache:com.cognitect.transit.caching.readCache,writeCache:com.cognitect.transit.caching.writeCache});var cognitect={transit:{}};cljs.core.UUID.prototype.cljs$core$IEquiv$=cljs.core.PROTOCOL_SENTINEL;cljs.core.UUID.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return b instanceof cljs.core.UUID?this.uuid===b.uuid:b instanceof com.cognitect.transit.types.UUID?this.uuid===b.toString():!1};cljs.core.UUID.prototype.cljs$core$IComparable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.UUID.prototype.cljs$core$IComparable$_compare$arity$2=function(a,b){if(b instanceof cljs.core.UUID||b instanceof com.cognitect.transit.types.UUID)return cljs.core.compare.call(null,this.toString(),b.toString());throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Cannot compare "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" to "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};
com.cognitect.transit.types.UUID.prototype.cljs$core$IComparable$=cljs.core.PROTOCOL_SENTINEL;
com.cognitect.transit.types.UUID.prototype.cljs$core$IComparable$_compare$arity$2=function(a,b){if(b instanceof cljs.core.UUID||b instanceof com.cognitect.transit.types.UUID)return cljs.core.compare.call(null,this.toString(),b.toString());throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Cannot compare "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" to "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));};
goog.math.Long.prototype.cljs$core$IEquiv$=cljs.core.PROTOCOL_SENTINEL;goog.math.Long.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return this.equiv(b)};com.cognitect.transit.types.UUID.prototype.cljs$core$IEquiv$=cljs.core.PROTOCOL_SENTINEL;com.cognitect.transit.types.UUID.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return b instanceof cljs.core.UUID?cljs.core._equiv.call(null,b,this):this.equiv(b)};com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IEquiv$=cljs.core.PROTOCOL_SENTINEL;
com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return this.equiv(b)};goog.math.Long.prototype.cljs$core$IHash$=cljs.core.PROTOCOL_SENTINEL;goog.math.Long.prototype.cljs$core$IHash$_hash$arity$1=function(a){return com.cognitect.transit.eq.hashCode(this)};com.cognitect.transit.types.UUID.prototype.cljs$core$IHash$=cljs.core.PROTOCOL_SENTINEL;
com.cognitect.transit.types.UUID.prototype.cljs$core$IHash$_hash$arity$1=function(a){return cljs.core.hash.call(null,this.toString())};com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IHash$=cljs.core.PROTOCOL_SENTINEL;com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IHash$_hash$arity$1=function(a){return com.cognitect.transit.eq.hashCode(this)};com.cognitect.transit.types.UUID.prototype.cljs$core$IPrintWithWriter$=cljs.core.PROTOCOL_SENTINEL;
com.cognitect.transit.types.UUID.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core._write.call(null,b,[cljs.core.str.cljs$core$IFn$_invoke$arity$1('#uuid "'),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.toString()),cljs.core.str.cljs$core$IFn$_invoke$arity$1('"')].join(""))};
cognitect.transit.opts_merge=function(a,b){for(var c=cljs.core.seq.call(null,cljs.core.js_keys.call(null,b)),d=null,e=0,f=0;;)if(f<e){var g=cljs.core._nth.call(null,d,f);a[g]=b[g];f+=1}else if(c=cljs.core.seq.call(null,c))d=c,cljs.core.chunked_seq_QMARK_.call(null,d)?(c=cljs.core.chunk_first.call(null,d),f=cljs.core.chunk_rest.call(null,d),d=c,e=cljs.core.count.call(null,c),c=f):(c=cljs.core.first.call(null,d),a[c]=b[c],c=cljs.core.next.call(null,d),d=null,e=0),f=0;else break;return a};
cognitect.transit.MapBuilder=function(){};cognitect.transit.MapBuilder.prototype.init=function(a){return cljs.core.transient$.call(null,cljs.core.PersistentArrayMap.EMPTY)};cognitect.transit.MapBuilder.prototype.add=function(a,b,c,d){return cljs.core.assoc_BANG_.call(null,a,b,c)};cognitect.transit.MapBuilder.prototype.finalize=function(a,b){return cljs.core.persistent_BANG_.call(null,a)};
cognitect.transit.MapBuilder.prototype.fromArray=function(a,b){return cljs.core.PersistentArrayMap.fromArray.call(null,a,!0,!0)};cognitect.transit.MapBuilder.getBasis=function(){return cljs.core.PersistentVector.EMPTY};cognitect.transit.MapBuilder.cljs$lang$type=!0;cognitect.transit.MapBuilder.cljs$lang$ctorStr="cognitect.transit/MapBuilder";cognitect.transit.MapBuilder.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cognitect.transit/MapBuilder")};
cognitect.transit.__GT_MapBuilder=function(){return new cognitect.transit.MapBuilder};cognitect.transit.VectorBuilder=function(){};cognitect.transit.VectorBuilder.prototype.init=function(a){return cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY)};cognitect.transit.VectorBuilder.prototype.add=function(a,b,c){return cljs.core.conj_BANG_.call(null,a,b)};cognitect.transit.VectorBuilder.prototype.finalize=function(a,b){return cljs.core.persistent_BANG_.call(null,a)};
cognitect.transit.VectorBuilder.prototype.fromArray=function(a,b){return cljs.core.PersistentVector.fromArray.call(null,a,!0)};cognitect.transit.VectorBuilder.getBasis=function(){return cljs.core.PersistentVector.EMPTY};cognitect.transit.VectorBuilder.cljs$lang$type=!0;cognitect.transit.VectorBuilder.cljs$lang$ctorStr="cognitect.transit/VectorBuilder";cognitect.transit.VectorBuilder.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cognitect.transit/VectorBuilder")};
cognitect.transit.__GT_VectorBuilder=function(){return new cognitect.transit.VectorBuilder};
cognitect.transit.reader=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cognitect.transit.reader.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cognitect.transit.reader.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cognitect.transit.reader.cljs$core$IFn$_invoke$arity$1=function(a){return cognitect.transit.reader.call(null,a,null)};
cognitect.transit.reader.cljs$core$IFn$_invoke$arity$2=function(a,b){return com.cognitect.transit.reader(cljs.core.name.call(null,a),cognitect.transit.opts_merge.call(null,{handlers:cljs.core.clj__GT_js.call(null,cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,5,["$",function(a){return cljs.core.symbol.call(null,a)},":",function(a){return cljs.core.keyword.call(null,a)},"set",function(a){return cljs.core.into.call(null,cljs.core.PersistentHashSet.EMPTY,a)},"list",function(a){return cljs.core.into.call(null,
cljs.core.List.EMPTY,a.reverse())},"cmap",function(a){for(var b=0,c=cljs.core.transient$.call(null,cljs.core.PersistentArrayMap.EMPTY);;)if(b<a.length)var f=b+2,c=cljs.core.assoc_BANG_.call(null,c,a[b],a[b+1]),b=f;else return cljs.core.persistent_BANG_.call(null,c)}],null),(new cljs.core.Keyword(null,"handlers","handlers",79528781)).cljs$core$IFn$_invoke$arity$1(b))),mapBuilder:new cognitect.transit.MapBuilder,arrayBuilder:new cognitect.transit.VectorBuilder,prefersStrings:!1},cljs.core.clj__GT_js.call(null,
cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"handlers","handlers",79528781)))))};cognitect.transit.reader.cljs$lang$maxFixedArity=2;cognitect.transit.read=function(a,b){return a.read(b)};cognitect.transit.KeywordHandler=function(){};cognitect.transit.KeywordHandler.prototype.tag=function(a){return":"};cognitect.transit.KeywordHandler.prototype.rep=function(a){return a.fqn};cognitect.transit.KeywordHandler.prototype.stringRep=function(a){return a.fqn};
cognitect.transit.KeywordHandler.getBasis=function(){return cljs.core.PersistentVector.EMPTY};cognitect.transit.KeywordHandler.cljs$lang$type=!0;cognitect.transit.KeywordHandler.cljs$lang$ctorStr="cognitect.transit/KeywordHandler";cognitect.transit.KeywordHandler.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cognitect.transit/KeywordHandler")};cognitect.transit.__GT_KeywordHandler=function(){return new cognitect.transit.KeywordHandler};
cognitect.transit.SymbolHandler=function(){};cognitect.transit.SymbolHandler.prototype.tag=function(a){return"$"};cognitect.transit.SymbolHandler.prototype.rep=function(a){return a.str};cognitect.transit.SymbolHandler.prototype.stringRep=function(a){return a.str};cognitect.transit.SymbolHandler.getBasis=function(){return cljs.core.PersistentVector.EMPTY};cognitect.transit.SymbolHandler.cljs$lang$type=!0;cognitect.transit.SymbolHandler.cljs$lang$ctorStr="cognitect.transit/SymbolHandler";
cognitect.transit.SymbolHandler.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cognitect.transit/SymbolHandler")};cognitect.transit.__GT_SymbolHandler=function(){return new cognitect.transit.SymbolHandler};cognitect.transit.ListHandler=function(){};cognitect.transit.ListHandler.prototype.tag=function(a){return"list"};
cognitect.transit.ListHandler.prototype.rep=function(a){var b=[];a=cljs.core.seq.call(null,a);for(var c=null,d=0,e=0;;)if(e<d){var f=cljs.core._nth.call(null,c,e);b.push(f);e+=1}else if(a=cljs.core.seq.call(null,a))c=a,cljs.core.chunked_seq_QMARK_.call(null,c)?(a=cljs.core.chunk_first.call(null,c),e=cljs.core.chunk_rest.call(null,c),c=a,d=cljs.core.count.call(null,a),a=e):(a=cljs.core.first.call(null,c),b.push(a),a=cljs.core.next.call(null,c),c=null,d=0),e=0;else break;return com.cognitect.transit.tagged("array",
b)};cognitect.transit.ListHandler.prototype.stringRep=function(a){return null};cognitect.transit.ListHandler.getBasis=function(){return cljs.core.PersistentVector.EMPTY};cognitect.transit.ListHandler.cljs$lang$type=!0;cognitect.transit.ListHandler.cljs$lang$ctorStr="cognitect.transit/ListHandler";cognitect.transit.ListHandler.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cognitect.transit/ListHandler")};cognitect.transit.__GT_ListHandler=function(){return new cognitect.transit.ListHandler};
cognitect.transit.MapHandler=function(){};cognitect.transit.MapHandler.prototype.tag=function(a){return"map"};cognitect.transit.MapHandler.prototype.rep=function(a){return a};cognitect.transit.MapHandler.prototype.stringRep=function(a){return null};cognitect.transit.MapHandler.getBasis=function(){return cljs.core.PersistentVector.EMPTY};cognitect.transit.MapHandler.cljs$lang$type=!0;cognitect.transit.MapHandler.cljs$lang$ctorStr="cognitect.transit/MapHandler";
cognitect.transit.MapHandler.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cognitect.transit/MapHandler")};cognitect.transit.__GT_MapHandler=function(){return new cognitect.transit.MapHandler};cognitect.transit.SetHandler=function(){};cognitect.transit.SetHandler.prototype.tag=function(a){return"set"};
cognitect.transit.SetHandler.prototype.rep=function(a){var b=[];a=cljs.core.seq.call(null,a);for(var c=null,d=0,e=0;;)if(e<d){var f=cljs.core._nth.call(null,c,e);b.push(f);e+=1}else if(a=cljs.core.seq.call(null,a))c=a,cljs.core.chunked_seq_QMARK_.call(null,c)?(a=cljs.core.chunk_first.call(null,c),e=cljs.core.chunk_rest.call(null,c),c=a,d=cljs.core.count.call(null,a),a=e):(a=cljs.core.first.call(null,c),b.push(a),a=cljs.core.next.call(null,c),c=null,d=0),e=0;else break;return com.cognitect.transit.tagged("array",
b)};cognitect.transit.SetHandler.prototype.stringRep=function(){return null};cognitect.transit.SetHandler.getBasis=function(){return cljs.core.PersistentVector.EMPTY};cognitect.transit.SetHandler.cljs$lang$type=!0;cognitect.transit.SetHandler.cljs$lang$ctorStr="cognitect.transit/SetHandler";cognitect.transit.SetHandler.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cognitect.transit/SetHandler")};cognitect.transit.__GT_SetHandler=function(){return new cognitect.transit.SetHandler};
cognitect.transit.VectorHandler=function(){};cognitect.transit.VectorHandler.prototype.tag=function(a){return"array"};
cognitect.transit.VectorHandler.prototype.rep=function(a){var b=[];a=cljs.core.seq.call(null,a);for(var c=null,d=0,e=0;;)if(e<d){var f=cljs.core._nth.call(null,c,e);b.push(f);e+=1}else if(a=cljs.core.seq.call(null,a))c=a,cljs.core.chunked_seq_QMARK_.call(null,c)?(a=cljs.core.chunk_first.call(null,c),e=cljs.core.chunk_rest.call(null,c),c=a,d=cljs.core.count.call(null,a),a=e):(a=cljs.core.first.call(null,c),b.push(a),a=cljs.core.next.call(null,c),c=null,d=0),e=0;else break;return b};
cognitect.transit.VectorHandler.prototype.stringRep=function(a){return null};cognitect.transit.VectorHandler.getBasis=function(){return cljs.core.PersistentVector.EMPTY};cognitect.transit.VectorHandler.cljs$lang$type=!0;cognitect.transit.VectorHandler.cljs$lang$ctorStr="cognitect.transit/VectorHandler";cognitect.transit.VectorHandler.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cognitect.transit/VectorHandler")};cognitect.transit.__GT_VectorHandler=function(){return new cognitect.transit.VectorHandler};
cognitect.transit.UUIDHandler=function(){};cognitect.transit.UUIDHandler.prototype.tag=function(a){return"u"};cognitect.transit.UUIDHandler.prototype.rep=function(a){return a.uuid};cognitect.transit.UUIDHandler.prototype.stringRep=function(a){return this.rep(a)};cognitect.transit.UUIDHandler.getBasis=function(){return cljs.core.PersistentVector.EMPTY};cognitect.transit.UUIDHandler.cljs$lang$type=!0;cognitect.transit.UUIDHandler.cljs$lang$ctorStr="cognitect.transit/UUIDHandler";
cognitect.transit.UUIDHandler.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cognitect.transit/UUIDHandler")};cognitect.transit.__GT_UUIDHandler=function(){return new cognitect.transit.UUIDHandler};
cognitect.transit.writer=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cognitect.transit.writer.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cognitect.transit.writer.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cognitect.transit.writer.cljs$core$IFn$_invoke$arity$1=function(a){return cognitect.transit.writer.call(null,a,null)};
cognitect.transit.writer.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=new cognitect.transit.KeywordHandler,d=new cognitect.transit.SymbolHandler,e=new cognitect.transit.ListHandler,f=new cognitect.transit.MapHandler,g=new cognitect.transit.SetHandler,h=new cognitect.transit.VectorHandler,k=new cognitect.transit.UUIDHandler,l=cljs.core.merge.call(null,cljs.core.PersistentHashMap.fromArrays([cljs.core.PersistentHashMap,cljs.core.Cons,cljs.core.PersistentArrayMap,cljs.core.NodeSeq,cljs.core.PersistentQueue,
cljs.core.IndexedSeq,cljs.core.Keyword,cljs.core.EmptyList,cljs.core.LazySeq,cljs.core.Subvec,cljs.core.PersistentQueueSeq,cljs.core.ArrayNodeSeq,cljs.core.ValSeq,cljs.core.PersistentArrayMapSeq,cljs.core.PersistentVector,cljs.core.List,cljs.core.RSeq,cljs.core.PersistentHashSet,cljs.core.PersistentTreeMap,cljs.core.KeySeq,cljs.core.ChunkedSeq,cljs.core.PersistentTreeSet,cljs.core.ChunkedCons,cljs.core.Symbol,cljs.core.UUID,cljs.core.Range,cljs.core.PersistentTreeMapSeq],[f,e,f,e,e,e,c,e,e,h,e,e,
e,e,h,e,e,g,f,e,e,g,e,d,k,e,e]),(new cljs.core.Keyword(null,"handlers","handlers",79528781)).cljs$core$IFn$_invoke$arity$1(b));return com.cognitect.transit.writer(cljs.core.name.call(null,a),cognitect.transit.opts_merge.call(null,{objectBuilder:function(a,b,c,d,e,f,g,h){return function(k,l,m){return cljs.core.reduce_kv.call(null,function(a,b,c,d,e,f,g,h){return function(a,b,c){a.push(l.call(null,b),m.call(null,c));return a}}(a,b,c,d,e,f,g,h),["^ "],k)}}(c,d,e,f,g,h,k,l),handlers:function(){var a=
cljs.core.clone.call(null,l);a.forEach=function(a,b,c,d,e,f,g,h,k){return function(a){for(var b,c,d=cljs.core.seq.call(null,this),e=null,f=0,g=0;;)if(g<f)b=cljs.core._nth.call(null,e,g),c=cljs.core.nth.call(null,b,0,null),b=cljs.core.nth.call(null,b,1,null),a.call(null,b,c),g+=1;else if(c=cljs.core.seq.call(null,d))d=c,cljs.core.chunked_seq_QMARK_.call(null,d)?(e=cljs.core.chunk_first.call(null,d),d=cljs.core.chunk_rest.call(null,d),c=e,b=cljs.core.count.call(null,e),e=c,f=b):(e=cljs.core.first.call(null,
d),c=cljs.core.nth.call(null,e,0,null),b=cljs.core.nth.call(null,e,1,null),a.call(null,b,c),d=cljs.core.next.call(null,d),e=null,f=0),g=0;else return null}}(a,c,d,e,f,g,h,k,l);return a}(),unpack:function(a,b,c,d,e,f,g,h){return function(a){return a instanceof cljs.core.PersistentArrayMap?a.arr:!1}}(c,d,e,f,g,h,k,l)},cljs.core.clj__GT_js.call(null,cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"handlers","handlers",79528781)))))};cognitect.transit.writer.cljs$lang$maxFixedArity=2;
cognitect.transit.write=function(a,b){return a.write(b)};cognitect.transit.read_handler=function(a){return a};
cognitect.transit.write_handler=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$2=function(a,b){return cognitect.transit.write_handler.call(null,a,b,null,null)};cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cognitect.transit.write_handler.call(null,a,b,c,null)};
cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){"undefined"===typeof cognitect.transit.t_cognitect$transit38415&&(cognitect.transit.t_cognitect$transit38415=function(a,b,c,d,k){this.tag_fn=a;this.rep_fn=b;this.str_rep_fn=c;this.verbose_handler_fn=d;this.meta38416=k;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cognitect.transit.t_cognitect$transit38415.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cognitect.transit.t_cognitect$transit38415(this.tag_fn,
this.rep_fn,this.str_rep_fn,this.verbose_handler_fn,b)},cognitect.transit.t_cognitect$transit38415.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta38416},cognitect.transit.t_cognitect$transit38415.prototype.tag=function(a){return this.tag_fn.call(null,a)},cognitect.transit.t_cognitect$transit38415.prototype.rep=function(a){return this.rep_fn.call(null,a)},cognitect.transit.t_cognitect$transit38415.prototype.stringRep=function(a){return cljs.core.truth_(this.str_rep_fn)?this.str_rep_fn.call(null,
a):null},cognitect.transit.t_cognitect$transit38415.prototype.getVerboseHandler=function(){return cljs.core.truth_(this.verbose_handler_fn)?this.verbose_handler_fn.call(null):null},cognitect.transit.t_cognitect$transit38415.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"tag-fn","tag-fn",242055482,null),new cljs.core.Symbol(null,"rep-fn","rep-fn",-1724891035,null),new cljs.core.Symbol(null,"str-rep-fn","str-rep-fn",
-1179615016,null),new cljs.core.Symbol(null,"verbose-handler-fn","verbose-handler-fn",547340594,null),new cljs.core.Symbol(null,"meta38416","meta38416",-758362981,null)],null)},cognitect.transit.t_cognitect$transit38415.cljs$lang$type=!0,cognitect.transit.t_cognitect$transit38415.cljs$lang$ctorStr="cognitect.transit/t_cognitect$transit38415",cognitect.transit.t_cognitect$transit38415.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cognitect.transit/t_cognitect$transit38415")},
cognitect.transit.__GT_t_cognitect$transit38415=function(a,b,c,d,k){return new cognitect.transit.t_cognitect$transit38415(a,b,c,d,k)});return new cognitect.transit.t_cognitect$transit38415(a,b,c,d,cljs.core.PersistentArrayMap.EMPTY)};cognitect.transit.write_handler.cljs$lang$maxFixedArity=4;cognitect.transit.tagged_value=function(a,b){return com.cognitect.transit.types.taggedValue(a,b)};cognitect.transit.tagged_value_QMARK_=function(a){return com.cognitect.transit.types.isTaggedValue(a)};
cognitect.transit.integer=function(a){return com.cognitect.transit.types.intValue(a)};cognitect.transit.integer_QMARK_=function(a){return com.cognitect.transit.types.isInteger(a)};cognitect.transit.bigint=function(a){return com.cognitect.transit.types.bigInteger(a)};cognitect.transit.bigint_QMARK_=function(a){return com.cognitect.transit.types.isBigInteger(a)};cognitect.transit.bigdec=function(a){return com.cognitect.transit.types.bigDecimalValue(a)};cognitect.transit.bigdec_QMARK_=function(a){return com.cognitect.transit.types.isBigDecimal(a)};
cognitect.transit.uri=function(a){return com.cognitect.transit.types.uri(a)};cognitect.transit.uri_QMARK_=function(a){return com.cognitect.transit.types.isURI(a)};cognitect.transit.uuid=function(a){return com.cognitect.transit.types.uuid(a)};cognitect.transit.uuid_QMARK_=function(a){var b=com.cognitect.transit.types.isUUID(a);return cljs.core.truth_(b)?b:a instanceof cljs.core.UUID};cognitect.transit.binary=function(a){return com.cognitect.transit.types.binary(a)};
cognitect.transit.binary_QMARK_=function(a){return com.cognitect.transit.types.isBinary(a)};cognitect.transit.quoted=function(a){return com.cognitect.transit.types.quoted(a)};cognitect.transit.quoted_QMARK_=function(a){return com.cognitect.transit.types.isQuoted(a)};cognitect.transit.link=function(a){return com.cognitect.transit.types.link(a)};cognitect.transit.link_QMARK_=function(a){return com.cognitect.transit.types.isLink(a)};weathergen.encoding={};weathergen.encoding.encoder=cognitect.transit.writer.call(null,new cljs.core.Keyword(null,"json","json",1279968570));weathergen.encoding.decoder=cognitect.transit.reader.call(null,new cljs.core.Keyword(null,"json","json",1279968570));weathergen.encoding.deflate=function(a){return pako.deflate(a)};weathergen.encoding.deflate_string=function(a){return pako.deflate(a,{to:"string"})};weathergen.encoding.inflate=function(a){return pako.inflate(a)};
weathergen.encoding.inflate_string=function(a){return pako.inflate(a,{to:"string"})};weathergen.encoding.encode=function(a){return cognitect.transit.write.call(null,weathergen.encoding.encoder,a)};weathergen.encoding.decode=function(a){return cognitect.transit.read.call(null,weathergen.encoding.decoder,a)};weathergen.encoding.data__GT_base64=function(a){return goog.crypt.base64.encodeByteArray(weathergen.encoding.deflate.call(null,weathergen.encoding.encode.call(null,a)),!0)};
weathergen.encoding.base64__GT_data=function(a){return weathergen.encoding.decode.call(null,weathergen.encoding.inflate_string.call(null,goog.crypt.base64.decodeStringToUint8Array(a)))};weathergen.twx={};weathergen.twx.buffer_size=764;
weathergen.twx.color=octet.core.spec.call(null,new cljs.core.Keyword(null,"r","r",-471384190),octet.core.float$,new cljs.core.Keyword(null,"g","g",1738089905),octet.core.float$,new cljs.core.Keyword(null,"b","b",1482224470),octet.core.float$,new cljs.core.Keyword(null,"h","h",1109658740),octet.core.float$,new cljs.core.Keyword(null,"s","s",1705939918),octet.core.float$,new cljs.core.Keyword(null,"v","v",21465059),octet.core.float$,new cljs.core.Keyword(null,"X","X",1705996313),octet.core.float$,new cljs.core.Keyword(null,
"Y","Y",-560717356),octet.core.float$,new cljs.core.Keyword(null,"Z","Z",459124588),octet.core.float$,new cljs.core.Keyword(null,"x","x",2099068185),octet.core.float$,new cljs.core.Keyword(null,"y","y",-1757859776),octet.core.float$,new cljs.core.Keyword(null,"L","L",-1038307519),octet.core.float$);
weathergen.twx.min_mid_max=function(a){return octet.core.spec.call(null,new cljs.core.Keyword(null,"min","min",444991522),a,new cljs.core.Keyword(null,"mid","mid",-2123385246),a,new cljs.core.Keyword(null,"max","max",61366548),a)};
weathergen.twx.for_weather_types=function(a){return octet.core.spec.call(null,new cljs.core.Keyword(null,"sunny","sunny",1448267778),a,new cljs.core.Keyword(null,"fair","fair",1684139423),a,new cljs.core.Keyword(null,"poor","poor",1462482211),a,new cljs.core.Keyword(null,"inclement","inclement",-550669382),a)};
weathergen.twx.condition_preset=octet.core.spec.call(null,new cljs.core.Keyword(null,"temp","temp",1791541284),weathergen.twx.min_mid_max.call(null,octet.core.int32),new cljs.core.Keyword(null,"pressure","pressure",505343747),weathergen.twx.min_mid_max.call(null,octet.core.int32),new cljs.core.Keyword(null,"wind-speed","wind-speed",-815617496),octet.core.spec.call(null,new cljs.core.Keyword(null,"min","min",444991522),octet.core.int32,new cljs.core.Keyword(null,"mid","mid",-2123385246),octet.core.int32,
new cljs.core.Keyword(null,"max","max",61366548),octet.core.int32,new cljs.core.Keyword(null,"thresh","thresh",-1241229885),octet.core.int32),new cljs.core.Keyword(null,"stratus-base","stratus-base",-1631962478),octet.core.int32,new cljs.core.Keyword(null,"cumulus-base","cumulus-base",-578210868),octet.core.int32,new cljs.core.Keyword(null,"stratus-thick","stratus-thick",365371931),octet.core.int32,new cljs.core.Keyword(null,"contrail-base","contrail-base",1468366421),octet.core.int32,new cljs.core.Keyword(null,
"last-tod","last-tod",-396006067),octet.core.int32,new cljs.core.Keyword(null,"fog-start-below-layer","fog-start-below-layer",-770862433),octet.core.float$,new cljs.core.Keyword(null,"fog-start-above-layer","fog-start-above-layer",439741482),octet.core.float$,new cljs.core.Keyword(null,"fog-end-below-layer","fog-end-below-layer",1550420314),octet.core.float$,new cljs.core.Keyword(null,"fog-end-above-layer","fog-end-above-layer",1358391533),octet.core.float$,new cljs.core.Keyword(null,"horizon-blend",
"horizon-blend",-1391946836),octet.core.float$,new cljs.core.Keyword(null,"sky-fog-level","sky-fog-level",1887146670),octet.core.float$,new cljs.core.Keyword(null,"sky-fog-start-elev","sky-fog-start-elev",747283504),octet.core.float$,new cljs.core.Keyword(null,"sky-fog-end-elev","sky-fog-end-elev",588752918),octet.core.float$,new cljs.core.Keyword(null,"earth-color","earth-color",-1971664003),weathergen.twx.color,new cljs.core.Keyword(null,"stratus-factor","stratus-factor",1081110154),weathergen.twx.for_weather_types.call(null,
octet.core.float$),new cljs.core.Keyword(null,"haze-min","haze-min",1253474527),octet.core.float$,new cljs.core.Keyword(null,"cumulus-z","cumulus-z",429358063),octet.core.float$,new cljs.core.Keyword(null,"stratus-z","stratus-z",149877474),octet.core.float$,new cljs.core.Keyword(null,"contrail-low","contrail-low",-745449192),octet.core.float$,new cljs.core.Keyword(null,"contrail-high","contrail-high",-1235778798),octet.core.float$,new cljs.core.Keyword(null,"temperature","temperature",899018429),
octet.core.float$);
weathergen.twx.twx=octet.core.spec.call(null,new cljs.core.Keyword(null,"version","version",425292698),octet.core.uint32,new cljs.core.Keyword(null,"last-check","last-check",-339535317),octet.core.int32,new cljs.core.Keyword(null,"basic-old-condition","basic-old-condition",1309887828),octet.core.int32,new cljs.core.Keyword(null,"basic-condition","basic-condition",-162264035),octet.core.int32,new cljs.core.Keyword(null,"basic-condition-counter","basic-condition-counter",-1441861875),octet.core.int32,
new cljs.core.Keyword(null,"current-condition","current-condition",-566180811),weathergen.twx.condition_preset,new cljs.core.Keyword(null,"condition-change-interval","condition-change-interval",893701369),octet.core.int32,new cljs.core.Keyword(null,"model","model",331153215),octet.core.int32,new cljs.core.Keyword(null,"map-updates","map-updates",-1922486454),octet.core.int32,new cljs.core.Keyword(null,"interval","interval",1708495417),octet.core.spec.call(null,new cljs.core.Keyword(null,"min","min",
444991522),octet.core.int32,new cljs.core.Keyword(null,"max","max",61366548),octet.core.int32),new cljs.core.Keyword(null,"wx-prob","wx-prob",-1460080674),weathergen.twx.for_weather_types.call(null,octet.core.float$),new cljs.core.Keyword(null,"wth-user-shift","wth-user-shift",-1886391343),octet.core.repeat.call(null,5,octet.core.spec.call(null,new cljs.core.Keyword(null,"shift-time","shift-time",-2088311977),octet.core.uint32,new cljs.core.Keyword(null,"shift-old-condition","shift-old-condition",
1640618544),octet.core.int32)),new cljs.core.Keyword(null,"wind-heading-model","wind-heading-model",1475180681),octet.core.int32,new cljs.core.Keyword(null,"wind-heading","wind-heading",248646220),octet.core.int32,new cljs.core.Keyword(null,"map-wind-heading","map-wind-heading",1215534522),octet.core.int32,new cljs.core.Keyword(null,"map-wind-speed","map-wind-speed",1879872886),octet.core.float$,new cljs.core.Keyword(null,"wth-wind","wth-wind",-1186913001),weathergen.twx.for_weather_types.call(null,
octet.core.spec.call(null,new cljs.core.Keyword(null,"night-speed","night-speed",1787456793),octet.core.int32,new cljs.core.Keyword(null,"dawn-speed","dawn-speed",1917633958),octet.core.int32,new cljs.core.Keyword(null,"day-speed","day-speed",1891855632),octet.core.int32,new cljs.core.Keyword(null,"burst-interval","burst-interval",-1840121827),octet.core.int32,new cljs.core.Keyword(null,"burst-duration","burst-duration",1282991874),octet.core.int32,new cljs.core.Keyword(null,"burst-speed","burst-speed",
1211039546),octet.core.int32,new cljs.core.Keyword(null,"burst-direction","burst-direction",1726705412),octet.core.int32)),new cljs.core.Keyword(null,"wth-turbuluence","wth-turbuluence",-213608889),octet.core.repeat.call(null,6,octet.core.spec.call(null,new cljs.core.Keyword(null,"rot-x-wind","rot-x-wind",564373616),octet.core.int32,new cljs.core.Keyword(null,"rot-y-wind","rot-y-wind",1997488264),octet.core.int32,new cljs.core.Keyword(null,"rot-z-wind","rot-z-wind",135263615),octet.core.int32,new cljs.core.Keyword(null,
"rot-x-rot","rot-x-rot",-516874998),octet.core.int32,new cljs.core.Keyword(null,"rot-y-rot","rot-y-rot",-118743002),octet.core.int32,new cljs.core.Keyword(null,"rot-z-rot","rot-z-rot",-1443514693),octet.core.int32)),new cljs.core.Keyword(null,"mech-layer","mech-layer",-218931489),octet.core.int32,new cljs.core.Keyword(null,"heat-layer","heat-layer",-453010931),octet.core.int32,new cljs.core.Keyword(null,"occurrence","occurrence",-1730809154),octet.core.int32,new cljs.core.Keyword(null,"duration",
"duration",1444101068),octet.core.int32,new cljs.core.Keyword(null,"fog-start","fog-start",-180274053),weathergen.twx.for_weather_types.call(null,octet.core.float$),new cljs.core.Keyword(null,"fog-end","fog-end",175288886),weathergen.twx.for_weather_types.call(null,octet.core.float$),new cljs.core.Keyword(null,"stratus-layer","stratus-layer",1850856816),weathergen.twx.for_weather_types.call(null,octet.core.int32),new cljs.core.Keyword(null,"stratus-thick","stratus-thick",365371931),weathergen.twx.for_weather_types.call(null,
octet.core.int32),new cljs.core.Keyword(null,"cumulus-layer","cumulus-layer",928032071),weathergen.twx.for_weather_types.call(null,octet.core.int32),new cljs.core.Keyword(null,"contrail-layer","contrail-layer",-456651541),weathergen.twx.for_weather_types.call(null,octet.core.int32),new cljs.core.Keyword(null,"cumulus-density","cumulus-density",-212067170),octet.core.int32,new cljs.core.Keyword(null,"cumulus-size","cumulus-size",-954219270),octet.core.float$,new cljs.core.Keyword(null,"wth-temp","wth-temp",
-1431587693),weathergen.twx.for_weather_types.call(null,octet.core.spec.call(null,new cljs.core.Keyword(null,"night","night",773755357),octet.core.int32,new cljs.core.Keyword(null,"dawn","dawn",65911168),octet.core.int32,new cljs.core.Keyword(null,"day","day",-274800446),octet.core.int32)),new cljs.core.Keyword(null,"wth-press","wth-press",212615827),weathergen.twx.for_weather_types.call(null,octet.core.spec.call(null,new cljs.core.Keyword(null,"night","night",773755357),octet.core.int32,new cljs.core.Keyword(null,
"dawn","dawn",65911168),octet.core.int32,new cljs.core.Keyword(null,"day","day",-274800446),octet.core.int32)));weathergen.twx.parse=function(a){var b=octet.buffer._STAR_byte_order_STAR_;octet.buffer._STAR_byte_order_STAR_=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);try{return octet.core.read.call(null,a,weathergen.twx.twx)}finally{octet.buffer._STAR_byte_order_STAR_=b}};
weathergen.twx.current_condition_template=cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"stratus-z","stratus-z",149877474),new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.Keyword(null,"wind-speed","wind-speed",-815617496),new cljs.core.Keyword(null,"fog-start-above-layer","fog-start-above-layer",439741482),new cljs.core.Keyword(null,"stratus-factor","stratus-factor",1081110154),new cljs.core.Keyword(null,
"horizon-blend","horizon-blend",-1391946836),new cljs.core.Keyword(null,"cumulus-base","cumulus-base",-578210868),new cljs.core.Keyword(null,"fog-end-above-layer","fog-end-above-layer",1358391533),new cljs.core.Keyword(null,"last-tod","last-tod",-396006067),new cljs.core.Keyword(null,"sky-fog-level","sky-fog-level",1887146670),new cljs.core.Keyword(null,"cumulus-z","cumulus-z",429358063),new cljs.core.Keyword(null,"sky-fog-start-elev","sky-fog-start-elev",747283504),new cljs.core.Keyword(null,"stratus-base",
"stratus-base",-1631962478),new cljs.core.Keyword(null,"contrail-high","contrail-high",-1235778798),new cljs.core.Keyword(null,"contrail-base","contrail-base",1468366421),new cljs.core.Keyword(null,"sky-fog-end-elev","sky-fog-end-elev",588752918),new cljs.core.Keyword(null,"contrail-low","contrail-low",-745449192),new cljs.core.Keyword(null,"fog-end-below-layer","fog-end-below-layer",1550420314),new cljs.core.Keyword(null,"stratus-thick","stratus-thick",365371931),new cljs.core.Keyword(null,"temperature",
"temperature",899018429),new cljs.core.Keyword(null,"earth-color","earth-color",-1971664003),new cljs.core.Keyword(null,"haze-min","haze-min",1253474527),new cljs.core.Keyword(null,"fog-start-below-layer","fog-start-below-layer",-770862433)],[-35E3,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min","min",444991522),0,new cljs.core.Keyword(null,"mid","mid",-2123385246),0,new cljs.core.Keyword(null,"max","max",61366548),0],null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,
"min","min",444991522),0,new cljs.core.Keyword(null,"mid","mid",-2123385246),0,new cljs.core.Keyword(null,"max","max",61366548),0],null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"min","min",444991522),0,new cljs.core.Keyword(null,"mid","mid",-2123385246),0,new cljs.core.Keyword(null,"max","max",61366548),0,new cljs.core.Keyword(null,"thresh","thresh",-1241229885),0],null),6E3,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),
1,new cljs.core.Keyword(null,"fair","fair",1684139423),0,new cljs.core.Keyword(null,"poor","poor",1462482211),0,new cljs.core.Keyword(null,"inclement","inclement",-550669382),0],null),.5,0,12E4,0,.99,0,0,35E3,4E4,34E3,0,34E3,159232.16,0,0,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"y","y",-1757859776),new cljs.core.Keyword(null,"L","L",-1038307519),new cljs.core.Keyword(null,"r","r",-471384190),new cljs.core.Keyword(null,"v","v",21465059),new cljs.core.Keyword(null,"Z","Z",
459124588),new cljs.core.Keyword(null,"s","s",1705939918),new cljs.core.Keyword(null,"g","g",1738089905),new cljs.core.Keyword(null,"h","h",1109658740),new cljs.core.Keyword(null,"Y","Y",-560717356),new cljs.core.Keyword(null,"b","b",1482224470),new cljs.core.Keyword(null,"X","X",1705996313),new cljs.core.Keyword(null,"x","x",2099068185)],[48995.688,0,.54509807,0,5.003981E-39,2.832474E-16,.63529414,0,0,.76862746,1.4E-45,0]),0,3991.4685]);
weathergen.twx.twx_template=cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"cumulus-layer","cumulus-layer",928032071),new cljs.core.Keyword(null,"wth-turbuluence","wth-turbuluence",-213608889),new cljs.core.Keyword(null,"wind-heading-model","wind-heading-model",1475180681),new cljs.core.Keyword(null,"map-updates","map-updates",-1922486454),new cljs.core.Keyword(null,"contrail-layer","contrail-layer",-456651541),new cljs.core.Keyword(null,"last-check","last-check",-339535317),new cljs.core.Keyword(null,
"wind-heading","wind-heading",248646220),new cljs.core.Keyword(null,"duration","duration",1444101068),new cljs.core.Keyword(null,"heat-layer","heat-layer",-453010931),new cljs.core.Keyword(null,"basic-condition-counter","basic-condition-counter",-1441861875),new cljs.core.Keyword(null,"stratus-layer","stratus-layer",1850856816),new cljs.core.Keyword(null,"wth-user-shift","wth-user-shift",-1886391343),new cljs.core.Keyword(null,"wth-temp","wth-temp",-1431587693),new cljs.core.Keyword(null,"wth-press",
"wth-press",212615827),new cljs.core.Keyword(null,"basic-old-condition","basic-old-condition",1309887828),new cljs.core.Keyword(null,"current-condition","current-condition",-566180811),new cljs.core.Keyword(null,"map-wind-speed","map-wind-speed",1879872886),new cljs.core.Keyword(null,"fog-end","fog-end",175288886),new cljs.core.Keyword(null,"wth-wind","wth-wind",-1186913001),new cljs.core.Keyword(null,"condition-change-interval","condition-change-interval",893701369),new cljs.core.Keyword(null,"interval",
"interval",1708495417),new cljs.core.Keyword(null,"cumulus-size","cumulus-size",-954219270),new cljs.core.Keyword(null,"map-wind-heading","map-wind-heading",1215534522),new cljs.core.Keyword(null,"version","version",425292698),new cljs.core.Keyword(null,"fog-start","fog-start",-180274053),new cljs.core.Keyword(null,"stratus-thick","stratus-thick",365371931),new cljs.core.Keyword(null,"basic-condition","basic-condition",-162264035),new cljs.core.Keyword(null,"cumulus-density","cumulus-density",-212067170),
new cljs.core.Keyword(null,"occurrence","occurrence",-1730809154),new cljs.core.Keyword(null,"wx-prob","wx-prob",-1460080674),new cljs.core.Keyword(null,"mech-layer","mech-layer",-218931489),new cljs.core.Keyword(null,"model","model",331153215)],[new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),0,new cljs.core.Keyword(null,"fair","fair",1684139423),8E3,new cljs.core.Keyword(null,"poor","poor",1462482211),7500,new cljs.core.Keyword(null,"inclement","inclement",
-550669382),2E3],null),new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"rot-x-wind","rot-x-wind",564373616),5,new cljs.core.Keyword(null,"rot-y-wind","rot-y-wind",1997488264),7,new cljs.core.Keyword(null,"rot-z-wind","rot-z-wind",135263615),3,new cljs.core.Keyword(null,"rot-x-rot","rot-x-rot",-516874998),45,new cljs.core.Keyword(null,"rot-y-rot","rot-y-rot",-118743002),134,new cljs.core.Keyword(null,
"rot-z-rot","rot-z-rot",-1443514693),240],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"rot-x-wind","rot-x-wind",564373616),3,new cljs.core.Keyword(null,"rot-y-wind","rot-y-wind",1997488264),4,new cljs.core.Keyword(null,"rot-z-wind","rot-z-wind",135263615),2,new cljs.core.Keyword(null,"rot-x-rot","rot-x-rot",-516874998),45,new cljs.core.Keyword(null,"rot-y-rot","rot-y-rot",-118743002),134,new cljs.core.Keyword(null,"rot-z-rot","rot-z-rot",-1443514693),240],null),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"rot-x-wind","rot-x-wind",564373616),4,new cljs.core.Keyword(null,"rot-y-wind","rot-y-wind",1997488264),5,new cljs.core.Keyword(null,"rot-z-wind","rot-z-wind",135263615),2,new cljs.core.Keyword(null,"rot-x-rot","rot-x-rot",-516874998),45,new cljs.core.Keyword(null,"rot-y-rot","rot-y-rot",-118743002),134,new cljs.core.Keyword(null,"rot-z-rot","rot-z-rot",-1443514693),240],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"rot-x-wind","rot-x-wind",
564373616),1,new cljs.core.Keyword(null,"rot-y-wind","rot-y-wind",1997488264),3,new cljs.core.Keyword(null,"rot-z-wind","rot-z-wind",135263615),3,new cljs.core.Keyword(null,"rot-x-rot","rot-x-rot",-516874998),45,new cljs.core.Keyword(null,"rot-y-rot","rot-y-rot",-118743002),193,new cljs.core.Keyword(null,"rot-z-rot","rot-z-rot",-1443514693),240],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"rot-x-wind","rot-x-wind",564373616),3,new cljs.core.Keyword(null,"rot-y-wind",
"rot-y-wind",1997488264),4,new cljs.core.Keyword(null,"rot-z-wind","rot-z-wind",135263615),4,new cljs.core.Keyword(null,"rot-x-rot","rot-x-rot",-516874998),45,new cljs.core.Keyword(null,"rot-y-rot","rot-y-rot",-118743002),193,new cljs.core.Keyword(null,"rot-z-rot","rot-z-rot",-1443514693),240],null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"rot-x-wind","rot-x-wind",564373616),1,new cljs.core.Keyword(null,"rot-y-wind","rot-y-wind",1997488264),1,new cljs.core.Keyword(null,
"rot-z-wind","rot-z-wind",135263615),0,new cljs.core.Keyword(null,"rot-x-rot","rot-x-rot",-516874998),45,new cljs.core.Keyword(null,"rot-y-rot","rot-y-rot",-118743002),193,new cljs.core.Keyword(null,"rot-z-rot","rot-z-rot",-1443514693),240],null)],null),1,1,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),34E3,new cljs.core.Keyword(null,"fair","fair",1684139423),28E3,new cljs.core.Keyword(null,"poor","poor",1462482211),25E3,new cljs.core.Keyword(null,
"inclement","inclement",-550669382),2E4],null),324E5,0,20,1500,0,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),35E3,new cljs.core.Keyword(null,"fair","fair",1684139423),3E4,new cljs.core.Keyword(null,"poor","poor",1462482211),13300,new cljs.core.Keyword(null,"inclement","inclement",-550669382),13300],null),new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"shift-time","shift-time",-2088311977),1188E5,new cljs.core.Keyword(null,"shift-old-condition","shift-old-condition",1640618544),1],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"shift-time","shift-time",-2088311977),2052E5,new cljs.core.Keyword(null,"shift-old-condition","shift-old-condition",1640618544),1],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"shift-time","shift-time",-2088311977),2916E5,new cljs.core.Keyword(null,"shift-old-condition",
"shift-old-condition",1640618544),1],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"shift-time","shift-time",-2088311977),378E6,new cljs.core.Keyword(null,"shift-old-condition","shift-old-condition",1640618544),1],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"shift-time","shift-time",-2088311977),4644E5,new cljs.core.Keyword(null,"shift-old-condition","shift-old-condition",1640618544),1],null)],null),new cljs.core.PersistentArrayMap(null,4,
[new cljs.core.Keyword(null,"sunny","sunny",1448267778),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"night","night",773755357),12,new cljs.core.Keyword(null,"dawn","dawn",65911168),18,new cljs.core.Keyword(null,"day","day",-274800446),30],null),new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"night","night",773755357),12,new cljs.core.Keyword(null,"dawn","dawn",65911168),18,new cljs.core.Keyword(null,
"day","day",-274800446),28],null),new cljs.core.Keyword(null,"poor","poor",1462482211),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"night","night",773755357),10,new cljs.core.Keyword(null,"dawn","dawn",65911168),15,new cljs.core.Keyword(null,"day","day",-274800446),25],null),new cljs.core.Keyword(null,"inclement","inclement",-550669382),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"night","night",773755357),9,new cljs.core.Keyword(null,"dawn","dawn",
65911168),14,new cljs.core.Keyword(null,"day","day",-274800446),22],null)],null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"night","night",773755357),1034,new cljs.core.Keyword(null,"dawn","dawn",65911168),1036,new cljs.core.Keyword(null,"day","day",-274800446),1040],null),new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,
"night","night",773755357),1007,new cljs.core.Keyword(null,"dawn","dawn",65911168),1009,new cljs.core.Keyword(null,"day","day",-274800446),1013],null),new cljs.core.Keyword(null,"poor","poor",1462482211),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"night","night",773755357),989,new cljs.core.Keyword(null,"dawn","dawn",65911168),991,new cljs.core.Keyword(null,"day","day",-274800446),995],null),new cljs.core.Keyword(null,"inclement","inclement",-550669382),new cljs.core.PersistentArrayMap(null,
3,[new cljs.core.Keyword(null,"night","night",773755357),978,new cljs.core.Keyword(null,"dawn","dawn",65911168),980,new cljs.core.Keyword(null,"day","day",-274800446),994],null)],null),2,weathergen.twx.current_condition_template,45,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),2E5,new cljs.core.Keyword(null,"fair","fair",1684139423),159232.16,new cljs.core.Keyword(null,"poor","poor",1462482211),69889.87,new cljs.core.Keyword(null,"inclement","inclement",
-550669382),24785.021],null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"night-speed","night-speed",1787456793),0,new cljs.core.Keyword(null,"dawn-speed","dawn-speed",1917633958),2,new cljs.core.Keyword(null,"day-speed","day-speed",1891855632),5,new cljs.core.Keyword(null,"burst-interval","burst-interval",-1840121827),30,new cljs.core.Keyword(null,"burst-duration","burst-duration",
1282991874),5,new cljs.core.Keyword(null,"burst-speed","burst-speed",1211039546),2,new cljs.core.Keyword(null,"burst-direction","burst-direction",1726705412),10],null),new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"night-speed","night-speed",1787456793),5,new cljs.core.Keyword(null,"dawn-speed","dawn-speed",1917633958),10,new cljs.core.Keyword(null,"day-speed","day-speed",1891855632),15,new cljs.core.Keyword(null,"burst-interval",
"burst-interval",-1840121827),20,new cljs.core.Keyword(null,"burst-duration","burst-duration",1282991874),10,new cljs.core.Keyword(null,"burst-speed","burst-speed",1211039546),9,new cljs.core.Keyword(null,"burst-direction","burst-direction",1726705412),20],null),new cljs.core.Keyword(null,"poor","poor",1462482211),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"night-speed","night-speed",1787456793),10,new cljs.core.Keyword(null,"dawn-speed","dawn-speed",1917633958),15,new cljs.core.Keyword(null,
"day-speed","day-speed",1891855632),20,new cljs.core.Keyword(null,"burst-interval","burst-interval",-1840121827),15,new cljs.core.Keyword(null,"burst-duration","burst-duration",1282991874),10,new cljs.core.Keyword(null,"burst-speed","burst-speed",1211039546),13,new cljs.core.Keyword(null,"burst-direction","burst-direction",1726705412),30],null),new cljs.core.Keyword(null,"inclement","inclement",-550669382),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"night-speed","night-speed",
1787456793),15,new cljs.core.Keyword(null,"dawn-speed","dawn-speed",1917633958),20,new cljs.core.Keyword(null,"day-speed","day-speed",1891855632),25,new cljs.core.Keyword(null,"burst-interval","burst-interval",-1840121827),5,new cljs.core.Keyword(null,"burst-duration","burst-duration",1282991874),5,new cljs.core.Keyword(null,"burst-speed","burst-speed",1211039546),16,new cljs.core.Keyword(null,"burst-direction","burst-direction",1726705412),30],null)],null),20293,new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"min","min",444991522),2E4,new cljs.core.Keyword(null,"max","max",61366548),25E3],null),.98130846,123,2,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),8E3,new cljs.core.Keyword(null,"fair","fair",1684139423),3991.4685,new cljs.core.Keyword(null,"poor","poor",1462482211),3E3,new cljs.core.Keyword(null,"inclement","inclement",-550669382),3E3],null),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny",
"sunny",1448267778),0,new cljs.core.Keyword(null,"fair","fair",1684139423),0,new cljs.core.Keyword(null,"poor","poor",1462482211),2E3,new cljs.core.Keyword(null,"inclement","inclement",-550669382),7E3],null),1,1,60,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),.25,new cljs.core.Keyword(null,"fair","fair",1684139423),.25,new cljs.core.Keyword(null,"poor","poor",1462482211),.25,new cljs.core.Keyword(null,"inclement","inclement",-550669382),.25],null),
500,3]);weathergen.twx.fog_start=function(a){return 15.5286*Math.exp(.1928564*a)+2944.614};weathergen.twx.fog_end=function(a){return cljs.core.long$.call(null,19690/3*a+3100)};
weathergen.twx.per_weather_type=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"sunny","sunny",1448267778)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"fair","fair",1684139423)),f=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"poor","poor",1462482211)),c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,
"inclement","inclement",-550669382));return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),a.call(null,d),new cljs.core.Keyword(null,"fair","fair",1684139423),a.call(null,e),new cljs.core.Keyword(null,"poor","poor",1462482211),a.call(null,f),new cljs.core.Keyword(null,"inclement","inclement",-550669382),a.call(null,c)],null)};
weathergen.twx.params__GT_twx=function(a,b){return cljs.core.assoc.call(null,cljs.core.assoc.call(null,weathergen.twx.twx_template,new cljs.core.Keyword(null,"model","model",331153215),3,new cljs.core.Keyword(null,"map-updates","map-updates",-1922486454),1,new cljs.core.Keyword(null,"map-wind-heading","map-wind-heading",1215534522),cljs.core.mod.call(null,(new cljs.core.Keyword(null,"heading","heading",-1312171873)).cljs$core$IFn$_invoke$arity$1(b)+180,360),new cljs.core.Keyword(null,"map-wind-speed",
"map-wind-speed",1879872886),(new cljs.core.Keyword(null,"speed","speed",1257663751)).cljs$core$IFn$_invoke$arity$1(b)),new cljs.core.Keyword(null,"cumulus-density","cumulus-density",-212067170),cljs.core.long$.call(null,((new cljs.core.Keyword(null,"cumulus-density","cumulus-density",-212067170)).cljs$core$IFn$_invoke$arity$1(a)-5)/45*12+1),new cljs.core.Keyword(null,"cumulus-size","cumulus-size",-954219270),(new cljs.core.Keyword(null,"cumulus-size","cumulus-size",-954219270)).cljs$core$IFn$_invoke$arity$1(a),
new cljs.core.Keyword(null,"fog-start","fog-start",-180274053),weathergen.twx.per_weather_type.call(null,weathergen.twx.fog_start,(new cljs.core.Keyword(null,"visibility","visibility",1338380893)).cljs$core$IFn$_invoke$arity$1(a)),new cljs.core.Keyword(null,"fog-end","fog-end",175288886),weathergen.twx.per_weather_type.call(null,weathergen.twx.fog_end,(new cljs.core.Keyword(null,"visibility","visibility",1338380893)).cljs$core$IFn$_invoke$arity$1(a)),new cljs.core.Keyword(null,"stratus-layer","stratus-layer",
1850856816),function(){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"stratus-base","stratus-base",-1631962478)),b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574)),d=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,d):d,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"sunny","sunny",1448267778)),f=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"fair","fair",1684139423));cljs.core.get.call(null,d,new cljs.core.Keyword(null,"poor","poor",1462482211));cljs.core.get.call(null,d,new cljs.core.Keyword(null,"inclement","inclement",-550669382));return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),e,new cljs.core.Keyword(null,"fair","fair",
1684139423),f,new cljs.core.Keyword(null,"poor","poor",1462482211),b,new cljs.core.Keyword(null,"inclement","inclement",-550669382),b],null)}(),new cljs.core.Keyword(null,"stratus-thick","stratus-thick",365371931),function(){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"stratus-base","stratus-base",-1631962478)),b=cljs.core.get.call(null,
b,new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574)),e=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d;cljs.core.get.call(null,e,new cljs.core.Keyword(null,"sunny","sunny",1448267778));cljs.core.get.call(null,e,new cljs.core.Keyword(null,"fair","fair",1684139423));d=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"poor","poor",1462482211));e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,
"inclement","inclement",-550669382));return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),0,new cljs.core.Keyword(null,"fair","fair",1684139423),0,new cljs.core.Keyword(null,"poor","poor",1462482211),b-d,new cljs.core.Keyword(null,"inclement","inclement",-550669382),b-e],null)}(),new cljs.core.Keyword(null,"cumulus-layer","cumulus-layer",928032071),(new cljs.core.Keyword(null,"cumulus-base","cumulus-base",-578210868)).cljs$core$IFn$_invoke$arity$1(a),
new cljs.core.Keyword(null,"contrail-layer","contrail-layer",-456651541),(new cljs.core.Keyword(null,"contrails","contrails",1430581743)).cljs$core$IFn$_invoke$arity$1(a))};
weathergen.twx.get_twx=function(a,b){var c=octet.core.allocate.call(null,weathergen.twx.buffer_size),d=octet.buffer._STAR_byte_order_STAR_;octet.buffer._STAR_byte_order_STAR_=new cljs.core.Keyword(null,"little-endian","little-endian",1877303413);try{octet.core.write_BANG_.call(null,c,weathergen.twx.params__GT_twx.call(null,a,b),weathergen.twx.twx)}finally{octet.buffer._STAR_byte_order_STAR_=d}return c};weathergen.ui.tabs={};
weathergen.ui.tabs.tabs=function(){var a=function(a){var b=hoplon.core.parse_args.call(null,a),c=cljs.core.nth.call(null,b,0,null),f=cljs.core.nth.call(null,b,1,null),g=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,h=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"selected","selected",574897764)),k=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"tabs","tabs",-779855354));return hoplon.core.div.call(null,
hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),"7px",new cljs.core.Keyword(null,"border-bottom","border-bottom",2110948415),"1px solid lightgray"],null),function(){return function(a,b,c,d,e,f,g){return function v(h){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g){return function(){for(;;){var k=cljs.core.seq.call(null,h);if(k){var l=k;if(cljs.core.chunked_seq_QMARK_.call(null,
l)){var m=cljs.core.chunk_first.call(null,l),n=cljs.core.count.call(null,m),p=cljs.core.chunk_buffer.call(null,n);return function(){for(var h=0;;)if(h<n){var q=cljs.core._nth.call(null,m,h),r=null!=q&&(q.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===q.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,q):q,u=cljs.core.get.call(null,r,new cljs.core.Keyword(null,"title","title",636505583)),v=cljs.core.get.call(null,r,new cljs.core.Keyword(null,"id","id",-1388402092));
cljs.core.chunk_append.call(null,p,weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,v){return function(){return cljs.core.reset_BANG_.call(null,p,e)}}(h,q,r,u,v,m,n,p,l,k,a,b,c,d,e,f,g),new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,v){return function(a){return new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"background",
"background",-863952629),cljs.core._EQ_.call(null,a,e)?"black":null,new cljs.core.Keyword(null,"color","color",1011675173),cljs.core._EQ_.call(null,a,e)?"white":"#737373",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"120%",new cljs.core.Keyword(null,"padding","padding",1660304693),cljs.core._EQ_.call(null,a,e)?"0 10px":0,new cljs.core.Keyword(null,"margin","margin",-995903681),cljs.core._EQ_.call(null,a,e)?0:"0 10px",new cljs.core.Keyword(null,"cursor","cursor",1011937484),"pointer"],
null)}}(h,q,r,u,v,m,n,p,l,k,a,b,c,d,e,f,g)).call(null,c),u));h+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,p),v.call(null,cljs.core.chunk_rest.call(null,l))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,p),null)}var q=cljs.core.first.call(null,l),r=null!=q&&(q.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===q.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,q):q,u=cljs.core.get.call(null,r,new cljs.core.Keyword(null,"title",
"title",636505583)),w=cljs.core.get.call(null,r,new cljs.core.Keyword(null,"id","id",-1388402092));return cljs.core.cons.call(null,weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){return cljs.core.reset_BANG_.call(null,k,d)}}(q,r,u,w,l,k,a,b,c,d,e,f,g),new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(a){return new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"background","background",-863952629),cljs.core._EQ_.call(null,a,d)?"black":null,new cljs.core.Keyword(null,"color","color",1011675173),cljs.core._EQ_.call(null,a,d)?"white":"#737373",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"120%",new cljs.core.Keyword(null,"padding","padding",1660304693),cljs.core._EQ_.call(null,a,d)?"0 10px":0,new cljs.core.Keyword(null,"margin","margin",-995903681),cljs.core._EQ_.call(null,a,d)?0:"0 10px",new cljs.core.Keyword(null,
"cursor","cursor",1011937484),"pointer"],null)}}(q,r,u,w,l,k,a,b,c,d,e,f,g)).call(null,c),u),v.call(null,cljs.core.rest.call(null,l)))}return null}}}(a,b,c,d,e,f,g),null,null)}}(c,g,h,k,b,c,f).call(null,k)}()),function(){return function(a,b,c,d,e,f,g){return function v(h){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g){return function(){for(;;){var k=cljs.core.seq.call(null,h);if(k){var l=k;if(cljs.core.chunked_seq_QMARK_.call(null,l)){var m=cljs.core.chunk_first.call(null,l),n=cljs.core.count.call(null,
m),p=cljs.core.chunk_buffer.call(null,n);return function(){for(var h=0;;)if(h<n){var q=cljs.core._nth.call(null,m,h),r=null!=q&&(q.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===q.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,q):q,u=cljs.core.get.call(null,r,new cljs.core.Keyword(null,"id","id",-1388402092)),v=cljs.core.get.call(null,r,new cljs.core.Keyword(null,"ui","ui",-469653645));cljs.core.chunk_append.call(null,p,hoplon.core.div.call(null,new cljs.core.Keyword(null,
"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"padding","padding",1660304693),"0 3px"],null),new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,v){return function(a,b,c){return a.call(null,c,b)}}(h,q,r,u,v,m,n,p,l,k,a,b,c,d,e,f,g)).call(null,cljs.core._EQ_,c,u),v));h+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,p),v.call(null,cljs.core.chunk_rest.call(null,
l))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,p),null)}var q=cljs.core.first.call(null,l),r=null!=q&&(q.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===q.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,q):q,u=cljs.core.get.call(null,r,new cljs.core.Keyword(null,"id","id",-1388402092)),w=cljs.core.get.call(null,r,new cljs.core.Keyword(null,"ui","ui",-469653645));return cljs.core.cons.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,
"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"padding","padding",1660304693),"0 3px"],null),new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(a,b,c){return a.call(null,c,b)}}(q,r,u,w,l,k,a,b,c,d,e,f,g)).call(null,cljs.core._EQ_,c,u),w),v.call(null,cljs.core.rest.call(null,l)))}return null}}}(a,b,c,d,e,f,g),null,null)}}(c,g,h,k,b,c,f).call(null,k)}())},b=function(b){var c=
null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();weathergen.wind={};
weathergen.wind.barb=function(a){var b=cljs.core.long$.call(null,a/50),c=a-50*b,d=weathergen.math.clamp.call(null,0===b?1:0,100,c/5|0),e=d/2|0,f=cljs.core.odd_QMARK_.call(null,d),g=f&&0===e&&0===b,h=0===b&&0<e,k=.25*b;return hoplon.svg.g.call(null,h?hoplon.svg.path.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"class","class",-2030961996),"wind-vector",new cljs.core.Keyword(null,"fill","fill",883462889),"none"],null),
new cljs.core.Keyword(null,"d","d",1972142424),goog.string.format("M%f,%f L%f,%f L%f,%f",.375,-.5,0,-.35,0,.35)):hoplon.svg.line.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"class","class",-2030961996),"wind-vector"],null),new cljs.core.Keyword(null,"x1","x1",-1863922247),0,new cljs.core.Keyword(null,"x2","x2",-1362513475),0,new cljs.core.Keyword(null,"y1","y1",589123466),.35,new cljs.core.Keyword(null,"y2","y2",
-718691301),-.35),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"class","class",-2030961996),"wind-vector pennant"],null),function(){return function(a,b,c,d,e,f,g,h,k,w,x,y,z,A,J){return function C(l){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,m,n,p,q,r,u){return function(){for(;;){var a=cljs.core.seq.call(null,l);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,
a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,c);a:for(var e=0;;)if(e<c){var f=cljs.core._nth.call(null,b,e);cljs.core.chunk_append.call(null,d,hoplon.svg.path.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"fill","fill",883462889),"black"],null),new cljs.core.Keyword(null,"d","d",1972142424),goog.string.format("M%f,%f L%f,%f L%f,%f Z",0,-.5+r*f,p,-.5+r*f,0,-.5+r*f+q)));e+=1}else{b=!0;break a}return b?
cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),C.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}d=cljs.core.first.call(null,a);return cljs.core.cons.call(null,hoplon.svg.path.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"fill","fill",883462889),"black"],null),new cljs.core.Keyword(null,"d","d",1972142424),goog.string.format("M%f,%f L%f,%f L%f,%f Z",
0,-.5+r*d,p,-.5+r*d,0,-.5+r*d+q)),C.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h,k,w,x,y,z,A,J),null,null)}}(b,c,d,e,f,g,h,1,.1,.16,.15,.375,.2,.25,k).call(null,cljs.core.range.call(null,b))}()),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"class","class",-2030961996),"wind-vector full-tail"],null),function(){return function(a,b,c,d,e,f,g,h,k,w,x,y,z,A,J){return function C(l){return new cljs.core.LazySeq(null,
function(a,b,c,d,e,f,g,h,k,m,n,p,q,r,u){return function(){for(;;){var a=cljs.core.seq.call(null,l);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,c);a:for(var e=0;;)if(e<c){var f=cljs.core._nth.call(null,b,e);cljs.core.chunk_append.call(null,d,hoplon.svg.line.call(null,new cljs.core.Keyword(null,"x1","x1",-1863922247),0,new cljs.core.Keyword(null,"y1","y1",589123466),-.5+n+u+m*f,new cljs.core.Keyword(null,
"x2","x2",-1362513475),p,new cljs.core.Keyword(null,"y2","y2",-718691301),-.5+u+m*f));e+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),C.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}d=cljs.core.first.call(null,a);return cljs.core.cons.call(null,hoplon.svg.line.call(null,new cljs.core.Keyword(null,"x1","x1",-1863922247),0,new cljs.core.Keyword(null,"y1","y1",589123466),-.5+n+u+m*d,new cljs.core.Keyword(null,
"x2","x2",-1362513475),p,new cljs.core.Keyword(null,"y2","y2",-718691301),-.5+u+m*d),C.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h,k,w,x,y,z,A,J),null,null)}}(b,c,d,e,f,g,h,1,.1,.16,.15,.375,.2,.25,k).call(null,cljs.core.range.call(null,h?1:0,e))}()),f?hoplon.svg.line.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"class","class",-2030961996),"wind-vector half-tail"],null),new cljs.core.Keyword(null,
"x1","x1",-1863922247),0,new cljs.core.Keyword(null,"y1","y1",589123466),-.35+k+.16*(e+(g?1.5:0)),new cljs.core.Keyword(null,"x2","x2",-1362513475),.375*.6,new cljs.core.Keyword(null,"y2","y2",-718691301),-.44+k+.16*(e+(g?1.5:0))):null)};weathergen.help={};
weathergen.help.wind_barb=function(a,b){return hoplon.svg.svg.call(null,new cljs.core.Keyword(null,"viewBox","viewBox",-469489477),"0 0 1 1",new cljs.core.Keyword(null,"width","width",-384071477),20,new cljs.core.Keyword(null,"height","height",1025178622),20,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,3,["xmlns:xlink","http://www.w3.org/1999/xlink","xmlns","http://www.w3.org/2000/svg",new cljs.core.Keyword(null,"overflow","overflow",2058931880),"visible"],
null),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"transform","transform",1381301764),"translate(0.5, 0.5)",hoplon.svg.g.call(null,new cljs.core.Keyword(null,"transform","transform",1381301764),goog.string.format("rotate(%d)",b),weathergen.wind.barb.call(null,a))))};
weathergen.help.help_content_ctors=cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"flight-paths","flight-paths",159519268),new cljs.core.Keyword(null,"weather-display-controls","weather-display-controls",941597221),new cljs.core.Keyword(null,"map-controls","map-controls",-1453318552),new cljs.core.Keyword(null,"forecast","forecast",-1289862359),new cljs.core.Keyword(null,"serialization-controls","serialization-controls",-789590644),new cljs.core.Keyword(null,"flights","flights",
-1637719124),new cljs.core.Keyword(null,"movement-params","movement-params",293385966),new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),new cljs.core.Keyword(null,"table-grid","table-grid",1980411698),new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204),new cljs.core.Keyword(null,"clouds","clouds",-632461223),new cljs.core.Keyword(null,"mission-info","mission-info",1263062521),new cljs.core.Keyword(null,"weather-params","weather-params",
-259271365),new cljs.core.Keyword(null,"weather-type-config","weather-type-config",-2069342501),new cljs.core.Keyword(null,"displayed-time","displayed-time",141846012),new cljs.core.Keyword(null,"step","step",1288888124),new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"map","map",1371690461)],[cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"show-numbers?","show-numbers?",2091531616),new cljs.core.Keyword(null,"remove","remove",-131428414),
new cljs.core.Keyword(null,"show-labels?","show-labels?",-616006332),new cljs.core.Keyword(null,"color","color",1011675173),new cljs.core.Keyword(null,"scale","scale",-230427353),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"section","section",-300141526),new cljs.core.Keyword(null,"show?","show?",1543842127),new cljs.core.Keyword(null,"show-lines?","show-lines?",993084312)],[function(){return hoplon.core.p.call(null,"If checked, steerpoints not otherwise labeled will be labeled\n     with their numbers.")},
function(){return hoplon.core.p.call(null,"Click to permanently remove this flight path from the\n    list.")},function(){return hoplon.core.p.call(null,"If checked, alternate field and tanker steerpoints will be\n     labeled as such.")},function(){return hoplon.core.p.call(null,"Change the color in which the flight path and labels will be\n    drawn on the map.")},function(){return hoplon.core.p.call(null,"Drag the slider left and right to decrease or increase the\n    size of the text and flight path lines.")},
function(){return hoplon.core.p.call(null,"An arbitrary label for this flight path, usually the flight\n    callsign. Click the pencil icon to edit it. The name is not shown\n    on the map.")},function(){return hoplon.core.p.call(null,"Load flight plans from a mission .ini/DTC file so they can be\n     shown on the map.")},function(){return hoplon.core.p.call(null,"If checked, flight path will be shown. If unchecked,\n    flight path will be hidden.")},function(){return hoplon.core.p.call(null,"If checked, steerpoint lines from the DTC (if any) will be\n    shown. If unchecked, steerpoint lines will be hidden.")}]),
new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"map","map",1371690461),function(){return hoplon.core.p.call(null,"Chooses the map image displayed in the background.")},new cljs.core.Keyword(null,"display","display",242065432),function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.p.call(null,"Selects what will be displayed on the weather grid at the left."),hoplon.core.dl.call(null,hoplon.core.dt.call(null,"None"),hoplon.core.dd.call(null,
"No data will be displayed"),hoplon.core.dt.call(null,"Weather Type"),hoplon.core.dd.call(null,"Display the type of weather, which determines cloud cover\n   and precipitation in Falcon. Note that unlike a radar map you might\n   see on TV, green does ",hoplon.core.em.call(null,"not")," indicate rain.",hoplon.core.dl.call(null,hoplon.core.dt.call(null,"Red"),hoplon.core.dd.call(null,"Inclement weather"),hoplon.core.dt.call(null,"Yellow"),hoplon.core.dd.call(null,"Poor weather"),hoplon.core.dt.call(null,
"Green"),hoplon.core.dd.call(null,"Fair weather"),hoplon.core.dt.call(null,"Clear"),hoplon.core.dd.call(null,"Sunny weather"))),hoplon.core.dt.call(null,"Pressure"),hoplon.core.dd.call(null,"The barometric pressure will be displayed. Red indicates\n      low pressure, white indicates high pressure. Use the pressure\n      overlay or click a cell to get exact values."),hoplon.core.dt.call(null,"Temperature"),hoplon.core.dd.call(null,"The air pressure will be displayed. White indicates cold\n      temperatures. Red indicates high temperatures. Use the pressure\n      overlay or click a cell to get exact values."))],
null)},new cljs.core.Keyword(null,"overlay","overlay",-139131598),function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.p.call(null,"Selects what data will be shown in each cell of the grid,\n    overlaid on the data selcted for 'Display'. Wind is shown as a\n    bent line, with the tail(s) in the direction the wind is coming\n    from. Each full tail indicates ten knots of wind speed, and a half\n    tail adds five."),hoplon.core.p.call(null,
"Text overlays may be hard to read when the map grid is\n     small. Zoom the map to enlarge. Or click a cell to read the same\n     data from the forecast section.")],null)},new cljs.core.Keyword(null,"pressure","pressure",505343747),function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.p.call(null,"Units for pressure measurements - inches Mercury (InHg) or millibars.")],null)},new cljs.core.Keyword(null,"opacity","opacity",397153780),function(){return new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.p.call(null,"Controls how opaque or transparent the display layer will be.\n    Slide the slider to the left to more easily see the map.")],null)}],null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"flight-path-size","flight-path-size",-1809746301),new cljs.core.Keyword(null,"general","general",380803686),new cljs.core.Keyword(null,"icon-size","icon-size",414161352),new cljs.core.Keyword(null,"show-bullseye?","show-bullseye?",
310289003),new cljs.core.Keyword(null,"brightness","brightness",1067055820),new cljs.core.Keyword(null,"reset-brightness","reset-brightness",-1371858890),new cljs.core.Keyword(null,"text-size","text-size",-945618309),new cljs.core.Keyword(null,"show-text-background?","show-text-background?",-442833124),new cljs.core.Keyword(null,"reset-text-size","reset-text-size",1859075869),new cljs.core.Keyword(null,"reset-icon-size","reset-icon-size",1988531871)],[function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,
"Use this slider to make flight paths wider or narrower.\n      Narrower is to the left, wider to the right."))},function(){return hoplon.core.p.call(null,"Use the controls in this section to affect the overall appearance of the map.")},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"Use this slider to make the icons on the map larger or\n      smaller. Smaller is to the left, larger to the right."))},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,'When checked, the bullseye "spiderweb" will be shown on\n      the map, with range rings every 30nm up to 180nm and bearing\n      lines every 30 degrees.'))},
function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"When centered, the map will appear as it does in the\n  simulation. When moved to the left, the map will be 'dimmed' towards\n  black. When moved to the right, the map will be 'brightened' towards\n  white. Full left/right will cause the map to be completely replaced\n  by black/white."),hoplon.core.p.call(null,"Use this to increase the visibility of icons, labels, flight\n      paths, etc."))},function(){return hoplon.core.div.call(null,
hoplon.core.p.call(null,"Click this button to reset the brightness to its default value."))},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"Use this slider to make the text used in labels larger or\n    smaller. Smaller is to the left, larger to the right."))},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"When checked, labels will be shown against a semitransparent\n      background of a contrasting color."))},function(){return hoplon.core.div.call(null,
hoplon.core.p.call(null,"Click this button to reset the text size to its default value."))},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"Click this button to reset the icon sizing to its default value."))}]),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"cloud","cloud",-1976521303),new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,
"overview","overview",-435037267),new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.Keyword(null,"share","share",-589433933),new cljs.core.Keyword(null,"precipitation","precipitation",485418199),new cljs.core.Keyword(null,"visibility","visibility",1338380893),new cljs.core.Keyword(null,"temperature","temperature",899018429)],[function(){return hoplon.core.p.call(null,"The forecast barometric pressure at the selected location.")},function(){return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.p.call(null,"The forecast cloud cover at the selected location."),hoplon.core.dl.call(null,hoplon.core.dt.call(null,"SKC"),hoplon.core.dd.call(null,"Sky is clear - no significant clouds. A thin 'stratus'\n        layer may be present."),hoplon.core.dt.call(null,"FEWxxx"),hoplon.core.dd.call(null,"Cumulus clouds covering less than 25% of the sky are\n        present, with a base at xxx hundreds of feet. E.g. FEW050\n        indicates cumulus clouds present at 5000 feet MSL."),
hoplon.core.dt.call(null,"SCTxxx"),hoplon.core.dd.call(null,"Cumulus clouds covering between 25% and 50% of the sky\n        are present, with a base at xxx hundreds of feet. E.g. SCT050\n        indicates cumulus clouds present at 5000 feet MSL."),hoplon.core.dt.call(null,"OVCxxx"),hoplon.core.dd.call(null,"A solid overcast layer is present with a base at xxx\n        hundreds of feet. E.g. OVC050 indicates a solid overcast\n        starting at 5000 feet MSL."),hoplon.core.dt.call(null,"COTRAxxx"),
hoplon.core.dd.call(null,"Contrails form above xxx, in hundreds of feet. E.g.\n        COTRA200 indicates contrails above 20000 feet MSL."))],null)},function(){return hoplon.core.p.call(null,"The date and time of the forecast conditions. Forecasts\n     are (as in the real world) not perfectly accurate.")},function(){return hoplon.core.p.call(null,"The forecast Falcon weather type at the selected location.")},function(){return hoplon.core.p.call(null,"Displays the weather forecast for the selected location in\n   the weather grid.")},
function(){return hoplon.core.p.call(null,"The forecast wind strength and direction at the selected\n     location. E.g. '05kts@270' is a 5-knot wind from the west. Note\n     that wind directions indicate the direction the wind is coming\n     from, not the direction it is blowing towards.")},function(){return hoplon.core.p.call(null,"The 'shareable forecast' link goes to a view of the weather\n   that can be handed out to other pilots. It does not allow editing,\n   nor advancing the weather past the current time, but does include\n   the (potentially inaccurate) forecast, any loaded DTC files, wind\n   stability regions, etc. etc.")},
function(){return hoplon.core.p.call(null,"The forecast precipitation at the selected location.")},function(){return hoplon.core.p.call(null,"The forecast visibility (in nm) at the selected location.")},function(){return hoplon.core.p.call(null,"The forecast temperature (in degrees C) at the selected location.")}]),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"save-single-files","save-single-files",-947469927),function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[hoplon.core.p.call(null,"This section allows saving and loading of the various files\n      that WeatherGen can use. Files should be saved with the same\n      name as the mission (.cam or .tac) file, but with the extension\n      changed as appropriate. For instance, if you're making a mission\n      called 'oca-strike.tac', save the TWX file as 'oca-strike.twx'.\n      The filename will use the mission name of the loaded mission\n      section if possible."),hoplon.core.dl.call(null,hoplon.core.dt.call(null,
"Save Current As FMAP"),hoplon.core.dd.call(null,"Saves a single .fmap file with the weather data currently\n        displayed on the map. Contains wind, weather type, pressure,\n        and temperature data for each cell in the grid."),hoplon.core.dt.call(null,"Save .TWX"),hoplon.core.dd.call(null,"Saves a .twx file, which contains the values from the\n        'Clouds and Contrails' section. This file should be saved with\n        the same name as the mission (.tac or .cam) file, but with a\n        .twx extension."),
hoplon.core.dt.call(null,"Save Settings"),hoplon.core.dd.call(null,"Saves a .vmtw file with all the values from the\n        WeatherGen application. Use this to preserve the state of\n        WeatherGen so you can later pick up where you left off."),hoplon.core.dt.call(null,"Load Settings"),hoplon.core.dd.call(null,"Loads a previously saved .vmtw file. Note that\n        this will overwrite any settings currently in use - be sure to\n        save first if necessary."))],null)},new cljs.core.Keyword(null,
"multi-save","multi-save",-1814543541),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"overview","overview",-435037267),function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.p.call(null,"Use this feature to save all weather-related files for the\n        mission. Requires that a mission be loaded. The following\n        files will be saved:"),hoplon.core.ul.call(null,hoplon.core.li.call(null,hoplon.core.b.call(null,hoplon.core.i.call(null,
"mission-name"),".fmap")," - ","An FMAP file containing the starting weather for the\n             designated time block."),hoplon.core.li.call(null,hoplon.core.b.call(null,hoplon.core.i.call(null,"mission-name"),".twx")," - ","A TWX file containing the clouds and contrails settings."),hoplon.core.li.call(null,hoplon.core.b.call(null,hoplon.core.i.call(null,"mission-name"),".setting.edn")," - ","Contains the WeatherGen settings used to generate the\n             package."),hoplon.core.li.call(null,
hoplon.core.b.call(null,"WeatherMapsUpdates")," - ","A folder containing the timestamped FMAP files."))],null)},new cljs.core.Keyword(null,"from","from",1815293044),function(){return hoplon.core.p.call(null,"The FMAP files in the generated weather package will start from this time.")},new cljs.core.Keyword(null,"to","to",192099007),function(){return hoplon.core.p.call(null,"The FMAP files in the generated weather package will end at this time.")},new cljs.core.Keyword(null,"step","step",1288888124),
function(){return hoplon.core.p.call(null,"The FMAP files in the generated weather package will\n     be this many minutes apart.")},new cljs.core.Keyword(null,"mission-name","mission-name",1479736582),function(){return hoplon.core.p.call(null,"The name of the mission file (.cam or .tac) for which\n     weather is being generated. This value will be used to name the\n     generated .twx and .fmap files.")}],null)],null),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"mission-key",
"mission-key",-2054000190),function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"Displays the default colors for flights by mission type.\n    Click the colored box to make changes. Changes will be remembered\n    from session to session."))},new cljs.core.Keyword(null,"mission-key-reset","mission-key-reset",-2081456284),function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"Click this button to restore all mission type colors to\n      their defaults."))},new cljs.core.Keyword(null,
"team-visibility","team-visibility",-2011507771),function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"Filters the flight list by country. Check the boxes below\n      each flag to list flights for that country in the flights\n      list. Uncheck the box to hide flights from that country."))},new cljs.core.Keyword(null,"display-options","display-options",1066052168),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"overview","overview",-435037267),function(){return hoplon.core.div.call(null,
hoplon.core.p.call(null,"Use this section to control the way flight paths are shown\n       on the map."))},new cljs.core.Keyword(null,"map-flight-path-size","map-flight-path-size",-1349075868),function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"Slide this control to the left to render flight paths and\n       steerpoint markers with narrower lines. Slide it to the right\n       to render them with wider lines."))},new cljs.core.Keyword(null,"reset-map-flight-path-size","reset-map-flight-path-size",
-833466927),function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"Click this button to restore flight paths to their default\n       width."))}],null),new cljs.core.Keyword(null,"flight-info","flight-info",-1755465938),function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"This section lists all the upcoming and in-progress flights\n      for the teams selected above. Click the settings button ",weathergen.ui.buttons.image_button.call(null,new cljs.core.Keyword(null,"src",
"src",-1651076051),"images/settings.svg",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,16))," to make changes to the way the information is displayed."))},new cljs.core.Keyword(null,"columns","columns",1998437288),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"package","package",1189062786),new cljs.core.Keyword(null,"airbase","airbase",-369690299),new cljs.core.Keyword(null,"takeoff","takeoff",719937767),new cljs.core.Keyword(null,"mission",
"mission",1740288522),new cljs.core.Keyword(null,"airframe","airframe",643222926),new cljs.core.Keyword(null,"show?","show?",1543842127),new cljs.core.Keyword(null,"callsign","callsign",1222385874),new cljs.core.Keyword(null,"combatant","combatant",2138865651),new cljs.core.Keyword(null,"egress","egress",610445366),new cljs.core.Keyword(null,"info","info",-317069002),new cljs.core.Keyword(null,"tot","tot",2086174646),new cljs.core.Keyword(null,"squadron","squadron",-1131671273)],[function(){return hoplon.core.div.call(null,
hoplon.core.p.call(null,"The package number (if any) to which this flight belongs.\n       Sort by this column to see package flights listed near each\n       other."))},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"The airbase that is home to this flight's squadron."))},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"The takeoff time for this flight in DAY/HH:MM format."))},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"The type of mission this flight is performing. Color coded\n       according to the mission key above."))},
function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"The type and quantity of the aircraft in this flight."))},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"Check the box to display the flight path for this flight on\n       the map. Click the colored square to change the color in which\n       the flight path is displayed from the default (as determined by\n       mission type)."))},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"The callsign of this flight."))},
function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"The 'owner' of this flight."))},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"The mission end time for this fligth in DAY/HH:MM format."))},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"Click the ",weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"border-radius","border-radius",
419594011),"50%",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,12),new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.common.px.call(null,12),new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center",new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"font-family","font-family",-667419874),"serif",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"110%",new cljs.core.Keyword(null,
"line-height","line-height",1870784992),weathergen.ui.common.px.call(null,12)],null),"i")," button to display additional information about the flight,\n          including munitions and detailed flight plan info."))},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"The Time-On-Target for this flight in DAY/HH:MM format."))},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"The squadron to which this flight belongs."))}]),new cljs.core.Keyword(null,"waypoint-columns",
"waypoint-columns",1546876163),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"description","description",-1428560544),new cljs.core.Keyword(null,"speed-mach","speed-mach",-1842148254),new cljs.core.Keyword(null,"speed-cas","speed-cas",-239308126),new cljs.core.Keyword(null,"number","number",1570378438),new cljs.core.Keyword(null,"depart","depart",-100007287),new cljs.core.Keyword(null,"comments","comments",-293346423),new cljs.core.Keyword(null,"speed-tas","speed-tas",228844362),
new cljs.core.Keyword(null,"action","action",-811238024),new cljs.core.Keyword(null,"distance","distance",-1671893894),new cljs.core.Keyword(null,"speed-gnd","speed-gnd",1356834908),new cljs.core.Keyword(null,"altitude","altitude",463588637),new cljs.core.Keyword(null,"arrive","arrive",-284644322),new cljs.core.Keyword(null,"remain","remain",1399477086),new cljs.core.Keyword(null,"heading","heading",-1312171873),new cljs.core.Keyword(null,"enroute","enroute",-1681821057)],[function(){return hoplon.core.div.call(null,
hoplon.core.p.call(null,"A brief description of the steerpoint."))},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"The speed in mach to fly en route to this steerpoint."))},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"The calibrated airspeed to fly en route to this steerpoint."))},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"The steerpoint number."))},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"The scheduled departure time at the steerpoint, in DAY/HH:MM:SS format."))},
function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"Miscellaneous comments, if any."))},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"The true airspeed to fly en route to this steerpoint."))},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"The action to be taken at the steerpoint, if any."))},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"The distance to this steerpoint from the previous, in nm."))},function(){return hoplon.core.div.call(null,
hoplon.core.p.call(null,"The ground speed to fly en route to this steerpoint"))},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"The altitude to fly en route to this steerpoint."))},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"The scheduled arrival time at the steerpoint, in DAY/HH:MM:SS format."))},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"The scheduled duration to remain at the steerpoint, if any, in HH:MM:SS format"))},function(){return hoplon.core.div.call(null,
hoplon.core.p.call(null,"The heading to this steerpoint from the previous."))},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"The action to be taken enroute to the steerpoint, if any."))}])],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"direction","direction",-633359395),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"heading","heading",-1312171873),function(){return hoplon.core.p.call(null,"The direction the weather pattern will move in.")},
new cljs.core.Keyword(null,"speed","speed",1257663751),function(){return hoplon.core.p.call(null,"The speed at which the weather pattern will move.")}],null)],null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"show-outline?","show-outline?",820145348),new cljs.core.Keyword(null,"animate?","animate?",-1559039739),new cljs.core.Keyword(null,"overview","overview",-435037267),new cljs.core.Keyword(null,"radius","radius",
-2073122258),new cljs.core.Keyword(null,"center","center",-748944368),new cljs.core.Keyword(null,"falloff","falloff",-1639069456),new cljs.core.Keyword(null,"begin","begin",-319034319),new cljs.core.Keyword(null,"strength","strength",-415606478),new cljs.core.Keyword(null,"taper","taper",1772067478),new cljs.core.Keyword(null,"peak","peak",389096055),new cljs.core.Keyword(null,"exclude-from-forecast?","exclude-from-forecast?",1182671640),new cljs.core.Keyword(null,"end","end",-268185958)],[function(){return hoplon.core.p.call(null,
"The override pressure for the region. Use the values from the\n    Weather Type Configuration section to select an appropriate value\n    for the type of weather you are trying to enforce.")},function(){return hoplon.core.p.call(null,"Controls whether the outline of the override region will be\n    shown. Note that this setting also affects the shareable\n    forecast.")},function(){return hoplon.core.p.call(null,"If checked, the weather override will appear and disappear at\n    the times specified below. If unchecked, the weather override will\n    always be in effect.")},
function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.p.call(null,"Weather type is determined from air pressure - lower pressure\n   yields inclement or poor weather, and higher pressure fair and\n   sunny weather. By default, pressure is generated randomly, but it\n   can be overridden for certain locations and times using the\n   controls in this section.")],null)},function(){return hoplon.core.p.call(null,"The radius of the override region, measured in cells.")},
function(){return hoplon.core.p.call(null,"The X and Y coordinates of the center of the override region.")},function(){return hoplon.core.p.call(null,"The distance from the center of the region at which the\n    override pressure begins to be blended into the surrounding\n    pressure. Set this to zero to have a very gradual transition. Set\n    it to the radius to have an abrupt edge to the region. Note that\n    abrupt changes may result in odd weather effects in the sim. A\n    falloff of at least four less than the radius is recommended.")},
function(){return hoplon.core.p.call(null,"The time at which the weather override will begin to take\n    effect. The pressure (and therefore the weather type) will\n    gradually change from the unmodified value to the overridden value\n    between this time and the peak time.")},function(){return hoplon.core.p.call(null,"Controls to what degree the underlying pressure pattern will\n    be overridden. This value should be between zero and one. A value\n    of one completely replaces the underlying pressure with the value\n    from the 'pressure' field above. A value of 0.5 would produce a\n    value halfway between the value from the 'pressure' field and the\n    underlying pattern.")},
function(){return hoplon.core.p.call(null,"The time at which the weather override will begin to fade out.\n    The pressure (and therefore the weather time) will gradually\n    change from the overriden value to the unmodified value between\n    this time and the end time.")},function(){return hoplon.core.p.call(null,"The time at which the weather override will reach full\n    strength. It will continue at full strength from this time until\n    the taper time.")},function(){return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.p.call(null,"If checked, the effects of the override will not be included\n    in the shareable forecast. This allows weather planners to include\n    'surprises'."),hoplon.core.p.call(null,"Note that the effects of the override ",hoplon.core.em.call(null,"will")," be\n     visible in the shared forecast for times before 'now'. This is\n     because it doesn't make any sense to hide events that occurred in\n     the past - the user can simply navigate to them.")],
null)},function(){return hoplon.core.p.call(null,"The time at which this override will no longer be in effect.")}]),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"settings","settings",1556144875),function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"Press this button to toggle column configuration. When the\n      button is depressed, columns can be added, hidden, and\n      rearranged."),hoplon.core.p.call(null,"To hide a column, click the checkbox next to the column name\n      until it shows a red ",
hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"color","color",1011675173),"red"],null),"✗"),".","To show a column, click the checkbox next to the column name\n      until it shows a green ",hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"color","color",1011675173),"green"],null),"✓"),"."),hoplon.core.p.call(null,
"To move a column to the right, click the \x3e button next to\n      the column name. To move a column to the left, click the \x3c\n      button next to the column name."),hoplon.core.p.call(null,"To sort a column, click the ",weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"sorters",hoplon.svg.svg.call(null,new cljs.core.Keyword(null,"width","width",-384071477),"20px",new cljs.core.Keyword(null,"viewBox","viewBox",-469489477),"-100 -100 200 200",weathergen.ui.common.triangle.call(null,
new cljs.core.Keyword(null,"transform","transform",1381301764),"rotate(180) translate(0 -50)",new cljs.core.Keyword(null,"r","r",-471384190),50,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"2",new cljs.core.Keyword(null,"fill","fill",883462889),"none"),weathergen.ui.common.triangle.call(null,new cljs.core.Keyword(null,"transform","transform",1381301764),"translate(0 -50)",new cljs.core.Keyword(null,"r","r",-471384190),
50,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"2",new cljs.core.Keyword(null,"fill","fill",883462889),"none")))," icon next to the column name. Clicking will cycle between\n         sorting in ascending and descending order."),hoplon.core.p.call(null,"Note that some columns may not permit hiding, moving, or\n      sorting."),hoplon.core.p.call(null,"When you are happy with the column configuration, click the\n      settings button again."))}],
null),function(){return hoplon.core.p.call(null,"Wind stability areas define regions of the map where the wind\n   will not be affected by the weather. Although cloud cover,\n   temperature, and pressure will change, within the bounds of a wind\n   stability region the wind speed and direction will remain\n   constant. Use this to stabilize winds in an area to support tanker\n   and carrier operations, or to provide fixed, known winds at landing\n   or target sites.")},cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,
"cumulus-coverage","cumulus-coverage",255977312),new cljs.core.Keyword(null,"buttons","buttons",-1953831197),new cljs.core.Keyword(null,"cumulus-base","cumulus-base",-578210868),new cljs.core.Keyword(null,"overview","overview",-435037267),new cljs.core.Keyword(null,"contrails","contrails",1430581743),new cljs.core.Keyword(null,"stratus-base","stratus-base",-1631962478),new cljs.core.Keyword(null,"cumulus-size","cumulus-size",-954219270),new cljs.core.Keyword(null,"visibility","visibility",1338380893),
new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574)],[function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.p.call(null,"What percentage of the sky the cumulus clouds (if present) will cover."),hoplon.core.p.call(null,"Note that this setting can have a big impact on FPS: decrease\n     coverage if you encounter frame rate issues.")],null)},function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[hoplon.core.p.call(null,"Randomize: sets the clouds and contrails to random (but\n      valid) values."),hoplon.core.p.call(null,"Save TWX: Saves a .twx file, which contains the cloud and\n        contrail values from this section. This file should be saved\n        with the same name as the mission (.tac or .cam) file, but\n        with a .twx extension.")],null)},function(){return hoplon.core.p.call(null,"The altitude (in feet) of the cumulus layer. Set to zero for\n    no cumulus clouds. The cumulus base for a given weather category\n    must be at least 1000 feet below the top of the corresponding\n    stratus base.")},
function(){return hoplon.core.p.call(null,"Edit the cloud, visibility, and contrail settings. These\n    settings are the same everywhere on the map - they do not vary by\n    location.")},function(){return hoplon.core.p.call(null,"The altitude at which condensation trails will form.")},function(){return hoplon.core.p.call(null,"The altitude (in feet) of the base stratus\n    layer. The top of the stratus layer must be at least 1000 feet\n    above the cumulus layer.")},function(){return new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.p.call(null,"Affects the appearance of the cumulus clouds. Positions\n    further to the right will result in more, smaller clouds. Positions\n    to the left will result in fewer, larger clouds.")],null)},function(){return hoplon.core.p.call(null,"The visibility (in nm) for each weather type.")},function(){return hoplon.core.p.call(null,"The altitude (in feet) of the top of the stratus layer. The\n    top of the stratus layer must be at least 1000 feet above the\n    cumulus layer. The top of the stratus layer must be the same for\n    poor and inclement weather, and sunny and fair weather must have a\n    zero-thickness stratus layer - i.e. the top and base must be the\n    same.")}]),
new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"save-briefing","save-briefing",-1540800301),function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"Saves a VMT briefing file. This is a file with a name ending in\n     '.vmtb' that contains information about the mission meant to be\n     shared with mission participants. Pilots can open this file in\n     VMT to view weather and the disposition of friendly forces.\n     Information about hidden enemy forces, future weather, and other\n     information available only to the mission creator will not be\n     viewable."),
hoplon.core.p.call(null,"Check the boxes below the alliances you wish briefing\n      recipients to be able to view in full. For instance, check the\n      box below ROK/US to enable participants to see all information\n      about the ROK and US forces. This includes all flights, ground\n      forces, etc. etc."),hoplon.core.p.call(null,"Note that some information will still be available for\n      unchecked countries. For instance, the home airbase and strength\n      of enemy squadrons is always available."),
hoplon.core.p.call(null,"Briefing files must be opened on a machine with the\n      indicated version of Falcon BMS and theater installed."))},new cljs.core.Keyword(null,"briefing-notes","briefing-notes",-1524193117),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"edit","edit",-1641834166),function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"Textual notes that will appear in the briefing file.\n      Currently, no formatting is supported - at some point VMT will\n      permit links, highlighting, etc."))},
new cljs.core.Keyword(null,"briefing","briefing",-176308969),function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"Notes provided by the mission creator. Not editable."))}],null)],null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"temp-uniformity","temp-uniformity",836756864),new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"evolution","evolution",944820557),new cljs.core.Keyword(null,
"seed","seed",68613327),new cljs.core.Keyword(null,"feature-size","feature-size",-878734864),new cljs.core.Keyword(null,"turbulence","turbulence",-915506410),new cljs.core.Keyword(null,"origin","origin",1037372088),new cljs.core.Keyword(null,"wind-uniformity","wind-uniformity",827531801),new cljs.core.Keyword(null,"crossfade","crossfade",-118506406),new cljs.core.Keyword(null,"prevailing-wind","prevailing-wind",-190580386)],[function(){return hoplon.core.p.call(null,"Controls how much the temperature will vary between the bounds\n    set under 'Weather type configuration'. Should be between zero and\n    one. Lower values produce more temperatures near the mean for that\n    weather type. Higher values produce more temperatures near the min\n    and max for that weather type.")},
new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"max","max",61366548),function(){return hoplon.core.p.call(null,"The maximum barometric pressure that will be generated.")},new cljs.core.Keyword(null,"min","min",444991522),function(){return hoplon.core.p.call(null,"The minimum barometric pressure that will be generated.")}],null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"offset","offset",296498311),function(){return hoplon.core.p.call(null,"The time in 'weather space' that is displayed on the grid.\nYou will not normally edit this field, but you can change it to move\nforward and backward in time. ")},
new cljs.core.Keyword(null,"falcon-time","falcon-time",34959931),function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.p.call(null,"The current time in the Falcon world. Time cannot be advanced\n     past this point, as that would be peeking into the future."),hoplon.core.p.call(null,"Click the 'Jump to' button to set the displayed weather to\n     this time.")],null)},new cljs.core.Keyword(null,"browse-time","browse-time",832671504),function(){return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.p.call(null,"Enter a time here to view the weather at that time. Use the\n     format 'dd/hhmm', where 'dd', 'hh', and 'mm' are the numeric day,\n     hour, and minute. For example, '01/1200' will show the weather at\n     noon of day 1."),hoplon.core.p.call(null,"Note that you will be unable to move the time past 'Falcon\n      time' above, as that would be peeking into the future. Use the\n      Forecast section below to get a (potentially slightly\n      inaccurate) forecast instead.")],
null)}],null),function(){return hoplon.core.p.call(null,"The number of minutes it takes for the weather to completely\n     change, even if not moving.")},function(){return hoplon.core.p.call(null,"The seed selects a weather system. Changing this will change\n    the weather pattern entirely. Use any whole number. Click the\n    'Random' button to have the system choose a seed randomly.")},function(){return hoplon.core.p.call(null,"How 'zoomed in' the weather will be on the underlying weather\n    pattern. Make this number bigger to get larger storm cells and\n    larger areas of fair weather. Make it smaller to get weather that\n    changes more frequently.")},
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"power","power",-937852079),function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.p.call(null,"Weather patterns are generated by taking an underlying, regular pattern and 'warping' it into random shapes. This parameter controls how strong this warp is. Set it to zero to see the underlying weather pattern with no warping. Higher value produce more warping."),hoplon.core.p.call(null,
"As warp strength increases, you will probably have to set a higher zoom to get good results.")],null)}],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"x","x",2099068185),function(){return hoplon.core.p.call(null,"The x location in 'weather space' that is displayed\n   on the grid. You will not normally edit this field, but you can\n   change it to see different parts of the weather pattern.")},new cljs.core.Keyword(null,"y","y",-1757859776),function(){return hoplon.core.p.call(null,
"The y location in 'weather space' that is displayed\non the grid. You will not normally edit this field, but you can change\nit to see different parts of the weather pattern.")}],null),function(){return hoplon.core.p.call(null,"Controls how much the wind speed will vary between the bounds\n    set under 'Weather type configuration'. Should be between zero and\n    one. Lower values produce more winds near the mean for that\n    weather type. Higher values produce more wind speeds near the min\n    and max for that weather type.")},
function(){return hoplon.core.p.call(null,"The degree to which adjacent weather types will be blended\n    together. Zero means that winds, etc. will shift abruptly at\n    weather type boundaries. A good value to use is 0.1. Values above\n    about 0.3 will give strange results.")},new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"heading","heading",-1312171873),function(){return hoplon.core.p.call(null,"The direction of the prevailing\n    wind. Although wind direction varies, especially around high- and\n    low-pressure areas, more wind will be generated in this direction\n    than in any other.")}],
null)]),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"pressure","pressure",505343747),function(){return hoplon.core.p.call(null,"Weather types (sunny, fair, poor, and inclement) are\n    determined by the barometric pressure. Set the thresholds for\n    which pressures determine which weather types here. ")},new cljs.core.Keyword(null,"wind","wind",-527553074),function(){return hoplon.core.p.call(null,"The minimum, maximum, and mean wind speeds for each weather\n     type. Due to crossfading, these values are not strict - wind can\n     be higher than the maximum or lower than the minimum near the\n     edges of other weather types.")},
new cljs.core.Keyword(null,"temp","temp",1791541284),function(){return hoplon.core.p.call(null,"The minimum, maximum, and mean temperatures for each weather\n     type. Due to crossfading, these values are not strict -\n     temperature can be higher than the maximum or lower than the\n     minimum near the edges of other weather types.")}],null),function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.p.call(null,"Controls the Falcon Time that the current weather corresponds\n   to. Edit the day, minute, and hour and then use one of the two\n   buttons."),
hoplon.core.dl.call(null,hoplon.core.dt.call(null,"Jump to"),hoplon.core.dd.call(null,"Jumps forward or backward to the indicated time. The\n     displayed weather may change."),hoplon.core.dt.call(null,"Set to"),hoplon.core.dd.call(null,"Sets the time to the indicated time. The displayed weather\n     will not change.")),hoplon.core.p.call(null,"The time is used to generate file names for downloaded FMAP\n   files, which Falcon relies on to automatically update weather.")],null)},function(){return hoplon.core.p.call(null,
"The number of minutes each click of the 'Step forward' or 'Step\n   backward' buttons will move in time. Also influences how many rows\n   there are in the weather forecast.")},cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"airbases-and-squadrons","airbases-and-squadrons",396705313),new cljs.core.Keyword(null,"display-options","display-options",1066052168),new cljs.core.Keyword(null,"hide-zero-status-airbases","hide-zero-status-airbases",1840033965),new cljs.core.Keyword(null,
"squadron-types","squadron-types",1890788688),new cljs.core.Keyword(null,"squadron-type-buttons","squadron-type-buttons",-151353966),new cljs.core.Keyword(null,"airbase-selection-buttons","airbase-selection-buttons",-991641834),new cljs.core.Keyword(null,"airbase-filtering","airbase-filtering",-1721186951),new cljs.core.Keyword(null,"tree-collapse-buttons","tree-collapse-buttons",-1065929796),new cljs.core.Keyword(null,"hide-no-squadron-airbases","hide-no-squadron-airbases",-1359048131)],[function(){return hoplon.core.div.call(null,
hoplon.core.p.call(null,"This section displays detailed information about all airbases and the squadrons stationed at them. The information is arranged hierarchically: alliances are at the top level, then airbases, then detailed status for each airbase, including the squadrons stationed at each."),hoplon.core.img.call(null,new cljs.core.Keyword(null,"src","src",-1651076051),"images/help/air-forces-tree.png"),hoplon.core.ol.call(null,hoplon.core.li.call(null,hoplon.core.strong.call(null,"Expand/collapse."),
" Use this to show or hide details about this airbase."),hoplon.core.li.call(null,hoplon.core.strong.call(null,"Display on map.")," Check this box to have the airbase displayed on the map."),hoplon.core.li.call(null,hoplon.core.strong.call(null,"Airbase icon.")," The icon for this airbase as it will be shown on the map."),hoplon.core.li.call(null,hoplon.core.strong.call(null,"Airbase status.")," The status of this airbase. The box is colored in\n           proportion to how close to fully operational the airbase\n           is. Green fill indicates status above 75%. Orange status\n           indicates status between 25% and 75%. Red indicates status\n           below 25%. Completely white indicates an airbase that is at\n           0%."),
hoplon.core.li.call(null,hoplon.core.strong.call(null,"Airbase name.")," The name of the airbase. Colored to indicate the current owner."),hoplon.core.li.call(null,hoplon.core.strong.call(null,"Airbase squadron icons.")," Icons for the squadrons deployed at this airbase. Colored\n           to indicate nationality."),hoplon.core.li.call(null,hoplon.core.strong.call(null,"Airbase status.")," Status of the airbase."),hoplon.core.li.call(null,hoplon.core.strong.call(null,"Airbase squadron details."),
" Information about the type and strength of the squadrons\n           deployed at this airbase.")))},new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"overview","overview",-435037267),function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"Use this section to control the way airbases are displayed\n      on the map. Airbases are shown as icons with up to three other\n      pieces of information around them:"),hoplon.core.img.call(null,new cljs.core.Keyword(null,"src",
"src",-1651076051),"images/help/airbase-map-display.png"),hoplon.core.ol.call(null,hoplon.core.li.call(null,hoplon.core.strong.call(null,"Airbase icon.")," The icon for the airbase."),hoplon.core.li.call(null,hoplon.core.strong.call(null,"Airbase status.")," The status of the airbase. Shown as a colored rectangle\n           filled in proportion to how much damage the airbase has\n           taken:",hoplon.core.ul.call(null,hoplon.core.li.call(null,hoplon.core.strong.call(null,"Green.")," 75% or greater strength."),
hoplon.core.li.call(null,hoplon.core.strong.call(null,"Orange.")," Between 25% and 75% strength."),hoplon.core.li.call(null,hoplon.core.strong.call(null,"Red.")," Less than 25% strength.")),"If the rectangle is completely white, the airbase is at 0%\n           strength and cannot sortie."),hoplon.core.li.call(null,hoplon.core.strong.call(null,"Squadron icons.")," One icon will be shown for each squadron (for squadron\n           types that have been selected). The icon indicates the type\n           of aircraft in the squadron."),
hoplon.core.li.call(null,hoplon.core.strong.call(null,"Airbase name.")," The name of the airbase."),hoplon.core.li.call(null,hoplon.core.strong.call(null,"Squadron details."),' For each squadron deployed at the airbase, one line of\n           text will be shown, indicating the numerical strength of\n           and airframe for that squadron. For example, "14 F-5E"\n           indicates that a squadron consisting of fourteen F-5E Tiger\n           II aircraft is located at this airbase.')))},new cljs.core.Keyword(null,
"airbase-labels","airbase-labels",580409100),function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"Use this dropdown to control how airbase labels will be shown on the map."),hoplon.core.dl.call(null,hoplon.core.dt.call(null,"Airbase name only"),hoplon.core.dd.call(null,"Only the airbase name will be shown below the airbase."),hoplon.core.dt.call(null,"Airbase name and squadrons"),hoplon.core.dd.call(null,"The airbase name will be shown followed by a list of\n       squadrons located at that airbase, one line per squadron. Note\n       that only squadrons whose type has been selected will be\n       shown."),
hoplon.core.dt.call(null,"No label"),hoplon.core.dd.call(null,"No label will be displayed below the airbase")))},new cljs.core.Keyword(null,"show-airbase-status?","show-airbase-status?",-2059784435),function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"If checked, the status of each airbase will be displayed\n      above the airbase icon on the map."))},new cljs.core.Keyword(null,"show-airbase-squadrons?","show-airbase-squadrons?",1245487954),function(){return hoplon.core.div.call(null,
hoplon.core.p.call(null,"If checked, squadron icons will be shown to the right of the\n      airbase icon on the map."))}],null),function(){return hoplon.core.p.call(null,"If checked, airbases that are unable to sortie (i.e. that are\n     at 0% status), will not be shown.")},function(){return hoplon.core.p.call(null,"Selects which squadron types will be displayed. If a box is\n     not checked, it will be as if squadrons consisting of aircraft of\n     that type do not exist - they will not be displayed on the map or\n     in the list below.")},
function(){return hoplon.core.p.call(null,"Use these buttons to quickly check or uncheck all the\n    squadron types.")},function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"Use these buttons to quickly hide or show all airbases on\n      the map. Has the same effect as checking or unchecking each of\n      the airbases in the list below."))},function(){return hoplon.core.p.call(null,"Controls whether airbases will be shown on the map and in\n      the list below based on their status and whether or not they\n      have any aircraft stationed there.")},
function(){return hoplon.core.div.call(null,hoplon.core.p.call(null,"Use these buttons to show different levels of detail in the airbase list below."),hoplon.core.dl.call(null,hoplon.core.dt.call(null,"Expand all"),hoplon.core.dd.call(null,"Show all available levels of detail for all visible airbases."),hoplon.core.dt.call(null,"Collapse all"),hoplon.core.dd.call(null,"Collapse the airbase list so that only alliances/teams are visible."),hoplon.core.dt.call(null,"Collapse to airbases"),hoplon.core.dd.call(null,
"Show all visible airbases in the list below, but do not\n       show their detailed status. This is the default view.")))},function(){return hoplon.core.p.call(null,"If checked, airbases that have no airbases stationed at them\n    will hidden. Note that only squadrons of selected types will be\n    considered - a base that has only fighters will be hidden if\n    'Fighter' is unchecked under 'Squadron Types'.")}]),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"legend","legend",
-1027192245),function(){var a=function(){var a=function(a,b){return hoplon.core.div.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"background","background",-863952629),"lightgray",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),"3px",new cljs.core.Keyword(null,"padding","padding",1660304693),"0 0 2px 3px",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"105%"],
null),a),b)},c=function(b,c){var d=null;if(1<arguments.length){for(var d=0,e=Array(arguments.length-1);d<e.length;)e[d]=arguments[d+1],++d;d=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,b,d)};c.cljs$lang$maxFixedArity=1;c.cljs$lang$applyTo=function(b){var c=cljs.core.first(b);b=cljs.core.rest(b);return a(c,b)};c.cljs$core$IFn$_invoke$arity$variadic=a;return c}();return hoplon.core.div.call(null,a.call(null,"Weather Type",hoplon.core.p.call(null,"Colors in each square in the map indicate the weather type."),
function(){return function(a){return function d(b){return new cljs.core.LazySeq(null,function(a){return function(){for(;;){var a=cljs.core.seq.call(null,b);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var e=cljs.core.chunk_first.call(null,a),f=cljs.core.count.call(null,e),l=cljs.core.chunk_buffer.call(null,f);a:for(var m=0;;)if(m<f){var n=cljs.core._nth.call(null,e,m),p=cljs.core.nth.call(null,n,0,null),q=cljs.core.nth.call(null,n,1,null),n=cljs.core.nth.call(null,n,2,null);cljs.core.chunk_append.call(null,
l,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"nowrap"],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block"],null),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
7,[new cljs.core.Keyword(null,"width","width",-384071477),"20px",new cljs.core.Keyword(null,"height","height",1025178622),"20px",new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"border","border",1444987323),"solid 1px black",new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle",new cljs.core.Keyword(null,"background","background",-863952629),q],null),
"")),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block"],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px"],null),hoplon.core.span.call(null,
new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"900",new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px"],null),p),"-"),n)));m+=1}else{e=!0;break a}return e?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),d.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),null)}f=cljs.core.first.call(null,a);l=cljs.core.nth.call(null,
f,0,null);e=cljs.core.nth.call(null,f,1,null);f=cljs.core.nth.call(null,f,2,null);return cljs.core.cons.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"nowrap"],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block"],
null),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"width","width",-384071477),"20px",new cljs.core.Keyword(null,"height","height",1025178622),"20px",new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"border","border",1444987323),"solid 1px black",new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px",new cljs.core.Keyword(null,"vertical-align",
"vertical-align",651007333),"middle",new cljs.core.Keyword(null,"background","background",-863952629),e],null),"")),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block"],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",
new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px"],null),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"900",new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px"],null),l),"-"),f)),d.call(null,cljs.core.rest.call(null,a)))}return null}}}(a),null,null)}}(a).call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["Sunny","rgb(128,240,255)","Clear skies."],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["Fair","rgb(0,255,0)","Few to scattered cumulus clouds. No precipitation."],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["Poor","rgb(255,255,0)","Solid overcast with no precipitation."],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
["Inclement","rgb(192, 0, 0)","Solid overcast with precipitation (rain or snow)."],null)],null))}()),a.call(null,"Wind",hoplon.core.p.call(null,"Wind barbs show the direction and strength of the\n         wind in each square. The orientation shows the direction the\n         wind, with 'tails' on the upwind side. A half tail indicates\n         five knots. Each full tail indicates ten knots. Each\n         pennant (filled-in triangle) indicates fifty knots."),function(){return function(a){return function d(b){return new cljs.core.LazySeq(null,
function(a){return function(){for(;;){var a=cljs.core.seq.call(null,b);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var e=cljs.core.chunk_first.call(null,a),f=cljs.core.count.call(null,e),l=cljs.core.chunk_buffer.call(null,f);a:for(var m=0;;)if(m<f){var n=cljs.core._nth.call(null,e,m),p=cljs.core.nth.call(null,n,0,null),q=cljs.core.nth.call(null,n,1,null),n=cljs.core.nth.call(null,n,2,null);cljs.core.chunk_append.call(null,l,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",
1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"nowrap"],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle"],null),weathergen.help.wind_barb.call(null,p,q)),n));m+=1}else{e=!0;break a}return e?cljs.core.chunk_cons.call(null,
cljs.core.chunk.call(null,l),d.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),null)}f=cljs.core.first.call(null,a);l=cljs.core.nth.call(null,f,0,null);e=cljs.core.nth.call(null,f,1,null);f=cljs.core.nth.call(null,f,2,null);return cljs.core.cons.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"nowrap"],
null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle"],null),weathergen.help.wind_barb.call(null,l,e)),f),d.call(null,cljs.core.rest.call(null,a)))}return null}}}(a),null,null)}}(a).call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[5,0,"Wind at 5 knots from the north."],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[25,270,"Wind at 25 knots from the west."],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[115,134,"Wind at 115 knots from the southeast."],null)],null))}()))},new cljs.core.Keyword(null,"mission-time","mission-time",-1235574900),function(){return hoplon.core.p.call(null,"Shows the time in the Falcon world in the format Day/Hour:Minute.")},
new cljs.core.Keyword(null,"weather-time","weather-time",-248525118),function(){return hoplon.core.p.call(null,"Shows for what time the weather is being displayed (if\n     weather is being shown). Time is displayed in the format\n     Day/Hour:Minute.")}],null)]);var open_instance_38606=javelin.core.cell.call(null,null);
weathergen.help.with_help=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;switch(b.length){case 2:return weathergen.help.with_help.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return weathergen.help.with_help.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}}}(open_instance_38606);weathergen.help.with_help.cljs$core$IFn$_invoke$arity$2=function(a){return function(a,c){return weathergen.help.with_help.call(null,a,cljs.core.PersistentArrayMap.EMPTY,c)}}(open_instance_38606);
weathergen.help.with_help.cljs$core$IFn$_invoke$arity$3=function(a){return function(b,c,d){var e=cljs.core.get_in.call(null,weathergen.help.help_content_ctors,b),f=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"underline-color","underline-color",847203925)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"omit-underline?","omit-underline?",
-1355729360)),k=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"eat-click?","eat-click?",-1411366808)),l=cljs.core.gensym.call(null),m=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a,b,c){return a.call(null,c,b)}}(e,c,f,g,h,k,l,a)).call(null,cljs.core._EQ_,l,a),n=function(a,b,c,d,e,f,g,h,k){return function A(a){document.removeEventListener("click",A);return cljs.core.reset_BANG_.call(null,k,null)}}(e,c,f,g,h,k,l,m,a);return hoplon.core.div.call(null,new cljs.core.Keyword(null,
"class","class",-2030961996),"help",new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"cursor","cursor",1011937484),"url(images/helpcursor.png) 4 4, auto",new cljs.core.Keyword(null,"border-bottom","border-bottom",2110948415),cljs.core.truth_(h)?null:cljs.core.truth_(e)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1("dashed 1px "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(g)?g:"blue")].join(""):
"dashed 2px red"],null),c),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l){return function(m){cljs.core._EQ_.call(null,cljs.core.deref.call(null,l),g)?cljs.core.reset_BANG_.call(null,l,null):(cljs.core.reset_BANG_.call(null,l,g),setTimeout(function(a,b,c,d,e,f,g,h,k,l){return function(){return document.addEventListener("click",k)}}(a,b,c,d,e,f,g,h,k,l),0));return!1}}(e,c,f,g,h,k,l,m,n,a),function(){var d=hoplon.core.div.call(null,new cljs.core.Keyword(null,"fade-toggle",
"fade-toggle",-1468421852),m,new cljs.core.Keyword(null,"class","class",-2030961996),"content",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"normal",new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"normal"],null),new cljs.core.Keyword(null,"blur","blur",-453500461),function(a,b,c,d,e,f,g,h,k,l){return function(a){console.log("Blur firing");return cljs.core.reset_BANG_.call(null,
l,null)}}(e,c,f,g,h,k,l,m,n,a),cljs.core.truth_(e)?e.call(null):new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.p.call(null,"Help has not yet been written for this feature."),hoplon.core.p.call(null,""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(b))],null));hoplon.core.do_watch.call(null,m,function(a,b,c,d,e,f,g,h,k,l,m){return function(n,p){return cljs.core.truth_(function(){var a=cljs.core.not.call(null,n);return a?p:a}())?setTimeout(function(a,b,c,d,e,
f,g,h,k,l,m){return function(){return a.focus()}}(a,b,c,d,e,f,g,h,k,l,m),0):null}}(d,e,c,f,g,h,k,l,m,n,a));return d}(),d)}}(open_instance_38606);weathergen.help.with_help.cljs$lang$maxFixedArity=3;
weathergen.help.help_icon=function(a){var b=cljs.core.get_in.call(null,weathergen.help.help_content_ctors,a);return weathergen.help.with_help.call(null,a,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"omit-underline?","omit-underline?",-1355729360),!0],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"color","color",1011675173),new cljs.core.Keyword(null,"text-align","text-align",
1786091845),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),new cljs.core.Keyword(null,"width","width",-384071477),new cljs.core.Keyword(null,"background","background",-863952629),new cljs.core.Keyword(null,"display","display",242065432),new cljs.core.Keyword(null,"margin-right","margin-right",809689658),new cljs.core.Keyword(null,"border-radius","border-radius",419594011),new cljs.core.Keyword(null,"height","height",
1025178622)],["white","center","80%","3px","18px",cljs.core.truth_(b)?"darkblue":"darkred","inline-block","3px","9px","18px"]),"?"))};weathergen.ui.grids={};
weathergen.ui.grids.master_detail=function(){var a=function(a){var b=hoplon.core.parse_args.call(null,a),c=cljs.core.nth.call(null,b,0,null),f=cljs.core.nth.call(null,b,1,null),g=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,h=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"data","data",-232669377)),k=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"detail","detail",-1545345025)),l=
cljs.core.get.call(null,g,new cljs.core.Keyword(null,"columns","columns",1998437288)),m=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"formatter","formatter",-483008823)),n=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"options","options",99638489));return hoplon.core.div.call(null,cljs.core.dissoc.call(null,c,new cljs.core.Keyword(null,"data","data",-232669377),new cljs.core.Keyword(null,"detail","detail",-1545345025),new cljs.core.Keyword(null,"columns","columns",1998437288),new cljs.core.Keyword(null,
"formatter","formatter",-483008823),new cljs.core.Keyword(null,"options","options",99638489)),function(){var a=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return a}}(c,g,h,k,l,m,n,b,c,f)).call(null,h),d=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a){return a}}(a,c,g,h,k,l,m,n,b,c,f)).call(null,l),e=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a){return a}}(a,d,c,g,h,k,l,m,n,b,c,f)).call(null,
n),u=function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){var a=function(a){return cljs.core.apply.call(null,hoplon.core.td,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"border","border",1444987323),"solid 1px #eee",new cljs.core.Keyword(null,"padding","padding",1660304693),"0 2px 0 2px"],null),a)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=
new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(a,d,e,c,g,h,k,l,m,n,b,c,f);return hoplon.core.table.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"background","background",-863952629),"white",new cljs.core.Keyword(null,"border-collapse","border-collapse",919100239),
"collapse",new cljs.core.Keyword(null,"outline","outline",793464534),"solid 1px #ccc"],null),hoplon.core.thead.call(null,hoplon.core.tr.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),"linear-gradient(to bottom, white, white 33%, #eee 66%)"],null),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(r){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function Y(r){return new cljs.core.LazySeq(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(){for(;;){var a=cljs.core.seq.call(null,r);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,c);a:for(var e=0;;)if(e<c){var f=cljs.core._nth.call(null,b,e);cljs.core.chunk_append.call(null,d,hoplon.core.td.call(null,(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(f)));e+=1}else{b=!0;break a}return b?
cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),Y.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}d=cljs.core.first.call(null,a);return cljs.core.cons.call(null,hoplon.core.td.call(null,(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(d)),Y.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q),null,null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q).call(null,r)}}(a,d,e,u,
c,g,h,k,l,m,n,b,c,f)).call(null,d))),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(r,u){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function aa(r){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(){for(;;){var t=cljs.core.seq.call(null,r);if(t){var v=t;if(cljs.core.chunked_seq_QMARK_.call(null,v)){var w=cljs.core.chunk_first.call(null,v),z=cljs.core.count.call(null,w),x=cljs.core.chunk_buffer.call(null,z);return function(){for(var r=
0;;)if(r<z){var y=cljs.core._nth.call(null,w,r);cljs.core.chunk_append.call(null,x,function(){var A=javelin.core.cell.call(null,!0),E=h.call(null,y),D=new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"width","width",-384071477),"12px",new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px",new cljs.core.Keyword(null,"display","display",242065432),"inline-block"],null),B=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B){return function(){return hoplon.core.span.call(null,
new cljs.core.Keyword(null,"css","css",1135045163),f)}}(r,A,E,"12px","3px",D,y,w,z,x,v,t,a,b,c,d,e,f,g,h,k,l,m,n,p,q);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.tbody.call(null,hoplon.core.tr.call(null,d.call(null,new cljs.core.Keyword(null,"colspan","colspan",-1512420934),cljs.core.count.call(null,u),0===cljs.core.count.call(null,E)?B.call(null):hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,
"border-style","border-style",-485574304),new cljs.core.Keyword(null,"text-anchor","text-anchor",585613696),new cljs.core.Keyword(null,"line-height","line-height",1870784992),new cljs.core.Keyword(null,"text-align","text-align",1786091845),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),new cljs.core.Keyword(null,"width","width",-384071477),new cljs.core.Keyword(null,
"border-width","border-width",-1512605390),new cljs.core.Keyword(null,"border-color","border-color",-2059162761),new cljs.core.Keyword(null,"display","display",242065432),new cljs.core.Keyword(null,"margin-right","margin-right",809689658),new cljs.core.Keyword(null,"border-radius","border-radius",419594011),new cljs.core.Keyword(null,"height","height",1025178622)],"solid 6px 12px center middle 120% bold 12px 1px black inline-block 3px 50% 12px".split(" ")),new cljs.core.Keyword(null,"click","click",
1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I){return function(){return cljs.core.swap_BANG_.call(null,b,cljs.core.not)}}(r,A,E,"12px","3px",D,B,y,w,z,x,v,t,a,b,c,d,e,f,g,h,k,l,m,n,p,q),function(){var u=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I){return function(){return"-"}}(r,A,E,"12px","3px",D,B,y,w,z,x,v,t,a,b,c,d,e,f,g,h,k,l,m,n,p,q),null),I=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,
H){return function(){return"+"}}(r,u,A,E,"12px","3px",D,B,y,w,z,x,v,t,a,b,c,d,e,f,g,h,k,l,m,n,p,q),null),u=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C){return function(a){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(a)?b:c;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(r,u,I,A,E,"12px","3px",D,B,y,w,z,x,v,t,a,b,c,d,e,f,g,h,k,l,m,n,p,q);return javelin.core.formula.call(null,u).call(null,A)}()),l.call(null,y)))),hoplon.core.tbody.call(null,
function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,z,x,y,A,E,D,B,I,H){return function pa(C){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,z,x,y,A,E,D,B,I,H){return function(){for(;;){var G=cljs.core.seq.call(null,C);if(G){var F=G;if(cljs.core.chunked_seq_QMARK_.call(null,F)){var K=cljs.core.chunk_first.call(null,F),J=cljs.core.count.call(null,K),L=cljs.core.chunk_buffer.call(null,J);return function(){for(var C=0;;)if(C<J){var M=cljs.core._nth.call(null,
K,C);cljs.core.chunk_append.call(null,L,hoplon.core.tr.call(null,new cljs.core.Keyword(null,"fade-toggle","fade-toggle",-1468421852),b,function(){var a=(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,u));return v.call(null,g.call(null),g.call(null),a.call(null,M))}(),function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,G,F,K,J,L){return function qb(M){return new cljs.core.LazySeq(null,function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,G,F,K,J,L){return function(){for(;;){var a=cljs.core.seq.call(null,M);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),d=cljs.core.count.call(null,b),e=cljs.core.chunk_buffer.call(null,d);a:for(var f=0;;)if(f<d){var g=cljs.core._nth.call(null,b,f);cljs.core.chunk_append.call(null,e,E.call(null,(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(g).call(null,
c)));f+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),qb.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),null)}e=cljs.core.first.call(null,a);return cljs.core.cons.call(null,E.call(null,(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(e).call(null,c)),qb.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,
A,E,D,B,I,H,C,G,F,K,J,L),null,null)}}(C,a,M,K,J,L,F,G,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,z,x,y,A,E,D,B,I,H).call(null,cljs.core.drop.call(null,1,u))}()));C+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,L),pa.call(null,cljs.core.chunk_rest.call(null,F))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,L),null)}var M=cljs.core.first.call(null,F);return cljs.core.cons.call(null,hoplon.core.tr.call(null,new cljs.core.Keyword(null,"fade-toggle","fade-toggle",-1468421852),
b,function(){var a=(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,u));return v.call(null,g.call(null),g.call(null),a.call(null,M))}(),function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,G){return function Jb(F){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,G){return function(){for(;;){var a=cljs.core.seq.call(null,F);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,
a)){var c=cljs.core.chunk_first.call(null,a),d=cljs.core.count.call(null,c),e=cljs.core.chunk_buffer.call(null,d);a:for(var f=0;;)if(f<d){var g=cljs.core._nth.call(null,c,f);cljs.core.chunk_append.call(null,e,z.call(null,(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(g).call(null,b)));f+=1}else{c=!0;break a}return c?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),Jb.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,
cljs.core.chunk.call(null,e),null)}e=cljs.core.first.call(null,a);return cljs.core.cons.call(null,z.call(null,(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(e).call(null,b)),Jb.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,G),null,null)}}(a,M,F,G,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,z,x,y,A,E,D,B,I,H).call(null,cljs.core.drop.call(null,1,u))}()),pa.call(null,cljs.core.rest.call(null,F)))}return null}}}(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,z,x,y,A,E,D,B,I,H),null,null)}}(r,A,E,"12px","3px",D,B,y,w,z,x,v,t,a,b,c,d,e,f,g,h,k,l,m,n,p,q).call(null,E)}())],null)}());r+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,x),aa.call(null,cljs.core.chunk_rest.call(null,v))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,x),null)}var y=cljs.core.first.call(null,v);return cljs.core.cons.call(null,function(){var r=javelin.core.cell.call(null,!0),w=h.call(null,y),z=new cljs.core.PersistentArrayMap(null,
3,[new cljs.core.Keyword(null,"width","width",-384071477),"12px",new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px",new cljs.core.Keyword(null,"display","display",242065432),"inline-block"],null),x=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y){return function(){return hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),e)}}(r,w,"12px","3px",z,y,v,t,a,b,c,d,e,f,g,h,k,l,m,n,p,q);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[hoplon.core.tbody.call(null,hoplon.core.tr.call(null,d.call(null,new cljs.core.Keyword(null,"colspan","colspan",-1512420934),cljs.core.count.call(null,u),0===cljs.core.count.call(null,w)?x.call(null):hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"border-style","border-style",-485574304),new cljs.core.Keyword(null,"text-anchor","text-anchor",585613696),new cljs.core.Keyword(null,"line-height","line-height",
1870784992),new cljs.core.Keyword(null,"text-align","text-align",1786091845),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),new cljs.core.Keyword(null,"width","width",-384071477),new cljs.core.Keyword(null,"border-width","border-width",-1512605390),new cljs.core.Keyword(null,"border-color","border-color",-2059162761),new cljs.core.Keyword(null,
"display","display",242065432),new cljs.core.Keyword(null,"margin-right","margin-right",809689658),new cljs.core.Keyword(null,"border-radius","border-radius",419594011),new cljs.core.Keyword(null,"height","height",1025178622)],"solid 6px 12px center middle 120% bold 12px 1px black inline-block 3px 50% 12px".split(" ")),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A){return function(){return cljs.core.swap_BANG_.call(null,a,cljs.core.not)}}(r,
w,"12px","3px",z,x,y,v,t,a,b,c,d,e,f,g,h,k,l,m,n,p,q),function(){var u=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A){return function(){return"-"}}(r,w,"12px","3px",z,x,y,v,t,a,b,c,d,e,f,g,h,k,l,m,n,p,q),null),A=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E){return function(){return"+"}}(u,r,w,"12px","3px",z,x,y,v,t,a,b,c,d,e,f,g,h,k,l,m,n,p,q),null),u=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D){return function(c){return cljs.core.deref.call(null,
function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(u,A,r,w,"12px","3px",z,x,y,v,t,a,b,c,d,e,f,g,h,k,l,m,n,p,q);return javelin.core.formula.call(null,u).call(null,r)}()),l.call(null,y)))),hoplon.core.tbody.call(null,function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,z,x,y,A,E){return function oa(D){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,z,x,y,A,E){return function(){for(;;){var B=cljs.core.seq.call(null,
D);if(B){var I=B;if(cljs.core.chunked_seq_QMARK_.call(null,I)){var H=cljs.core.chunk_first.call(null,I),C=cljs.core.count.call(null,H),G=cljs.core.chunk_buffer.call(null,C);return function(){for(var D=0;;)if(D<C){var F=cljs.core._nth.call(null,H,D);cljs.core.chunk_append.call(null,G,hoplon.core.tr.call(null,new cljs.core.Keyword(null,"fade-toggle","fade-toggle",-1468421852),a,function(){var a=(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,
u));return p.call(null,f.call(null),f.call(null),a.call(null,F))}(),function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,G){return function ob(F){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,G){return function(){for(;;){var a=cljs.core.seq.call(null,F);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var c=cljs.core.chunk_first.call(null,a),d=cljs.core.count.call(null,c),e=cljs.core.chunk_buffer.call(null,d);
a:for(var f=0;;)if(f<d){var g=cljs.core._nth.call(null,c,f);cljs.core.chunk_append.call(null,e,z.call(null,(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(g).call(null,b)));f+=1}else{c=!0;break a}return c?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),ob.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),null)}e=cljs.core.first.call(null,a);return cljs.core.cons.call(null,z.call(null,
(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(e).call(null,b)),ob.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,G),null,null)}}(D,F,H,C,G,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,z,x,y,A,E).call(null,cljs.core.drop.call(null,1,u))}()));D+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,G),oa.call(null,cljs.core.chunk_rest.call(null,I))):cljs.core.chunk_cons.call(null,
cljs.core.chunk.call(null,G),null)}var F=cljs.core.first.call(null,I);return cljs.core.cons.call(null,hoplon.core.tr.call(null,new cljs.core.Keyword(null,"fade-toggle","fade-toggle",-1468421852),a,function(){var a=(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,u));return p.call(null,f.call(null),f.call(null),a.call(null,F))}(),function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B){return function Va(I){return new cljs.core.LazySeq(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B){return function(){for(;;){var b=cljs.core.seq.call(null,I);if(b){if(cljs.core.chunked_seq_QMARK_.call(null,b)){var c=cljs.core.chunk_first.call(null,b),d=cljs.core.count.call(null,c),e=cljs.core.chunk_buffer.call(null,d);a:for(var f=0;;)if(f<d){var g=cljs.core._nth.call(null,c,f);cljs.core.chunk_append.call(null,e,u.call(null,(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(g).call(null,a)));
f+=1}else{c=!0;break a}return c?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),Va.call(null,cljs.core.chunk_rest.call(null,b))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),null)}e=cljs.core.first.call(null,b);return cljs.core.cons.call(null,u.call(null,(new cljs.core.Keyword(null,"formatter","formatter",-483008823)).cljs$core$IFn$_invoke$arity$1(e).call(null,a)),Va.call(null,cljs.core.rest.call(null,b)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,
B),null,null)}}(F,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,z,x,y,A,E).call(null,cljs.core.drop.call(null,1,u))}()),oa.call(null,cljs.core.rest.call(null,I)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,z,x,y,A,E),null,null)}}(r,w,"12px","3px",z,x,y,v,t,a,b,c,d,e,f,g,h,k,l,m,n,p,q).call(null,w)}())],null)}(),aa.call(null,cljs.core.rest.call(null,v)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q),null,null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q).call(null,r)}}(a,d,e,u,c,g,h,k,l,m,n,b,c,f)).call(null,a,
d))}())},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.grids.sorters=function(a,b){return weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"sorters",hoplon.svg.svg.call(null,new cljs.core.Keyword(null,"width","width",-384071477),"20px",new cljs.core.Keyword(null,"viewBox","viewBox",-469489477),"-100 -100 200 200",weathergen.ui.common.triangle.call(null,new cljs.core.Keyword(null,"transform","transform",1381301764),"rotate(180) translate(0 -50)",new cljs.core.Keyword(null,"r","r",-471384190),50,new cljs.core.Keyword(null,
"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"2",new cljs.core.Keyword(null,"fill","fill",883462889),javelin.core.formula.call(null,function(a,b){return cljs.core._EQ_.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,new cljs.core.Keyword(null,"ascending","ascending",-988350486)],null))?"black":"none"}).call(null,a,b)),weathergen.ui.common.triangle.call(null,new cljs.core.Keyword(null,"transform",
"transform",1381301764),"translate(0 -50)",new cljs.core.Keyword(null,"r","r",-471384190),50,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"2",new cljs.core.Keyword(null,"fill","fill",883462889),javelin.core.formula.call(null,function(a,b){return cljs.core._EQ_.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,new cljs.core.Keyword(null,"descending","descending",-24766135)],
null))?"black":"none"}).call(null,a,b))))};weathergen.ui.grids.nudge=function(a,b,c){return cljs.core.mapv.call(null,cljs.core.second,cljs.core.sort_by.call(null,cljs.core.first,cljs.core.map_indexed.call(null,function(a,e){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core._EQ_.call(null,e,b)?0<c?a+1.5:a-1.5:a,e],null)},a)))};
weathergen.ui.grids.table_grid=function(){var a=function(a){var b=hoplon.core.parse_args.call(null,a),c=cljs.core.nth.call(null,b,0,null),f=cljs.core.nth.call(null,b,1,null);weathergen.ui.common.register_styles_BANG_.call(null,new cljs.core.Keyword("weathergen.ui.grids","table-grid","weathergen.ui.grids/table-grid",-1079718067),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"table.table-grid","table.table-grid",1127379830),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"border-collapse","border-collapse",919100239),"collapse"],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"tr.table-grid-row","tr.table-grid-row",-1812077054),garden.selectors._AMPERSAND_.call(null,garden.selectors.nth_child.call(null,new cljs.core.Keyword(null,"even","even",-275845692))),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"background","background",-863952629),"#eee"],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"tr.table-grid-row","tr.table-grid-row",-1812077054),garden.selectors._AMPERSAND_.call(null,garden.selectors.nth_child.call(null,new cljs.core.Keyword(null,"odd","odd",-1213409872))),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),"white"],null)],null),
new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"thead.table-grid-header","thead.table-grid-header",410909598),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"td.table-grid-cell","td.table-grid-cell",717270302),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"background","background",-863952629),"#ddd",new cljs.core.Keyword(null,"border","border",1444987323),"solid 1px grey",
new cljs.core.Keyword(null,"padding","padding",1660304693),"2px 4px 4px 4px",new cljs.core.Keyword(null,"white-space","white-space",-707351930),"nowrap"],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,".sorters",".sorters",2118548878),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"svg","svg",856789142),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"bottom"],null)],null)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"tbody.table-grid-body","tbody.table-grid-body",-611948556),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"td.table-grid-cell","td.table-grid-cell",
717270302),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"padding","padding",1660304693),"2px 3px 2px 3px",new cljs.core.Keyword(null,"border","border",1444987323),"solid 1px lightgray"],null)],null)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"td.table-grid-cell.hidden-column","td.table-grid-cell.hidden-column",-561691712),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"display",
"display",242065432),"none"],null)],null)],null));var g=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,h=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"movable-columns","movable-columns",-1079893862)),k=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"data","data",-232669377)),l=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"hidden-columns","hidden-columns",-1045524800)),m=cljs.core.get.call(null,
g,new cljs.core.Keyword(null,"row-attrs","row-attrs",2139633863)),n=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"columns","columns",1998437288)),p=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"when-empty","when-empty",-1825107890)),q=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"fixed-columns","fixed-columns",-1793374858)),r=cljs.core.dissoc.call(null,c,new cljs.core.Keyword(null,"data","data",-232669377),new cljs.core.Keyword(null,"columns","columns",1998437288),new cljs.core.Keyword(null,
"row-attrs","row-attrs",2139633863),new cljs.core.Keyword(null,"when-empty","when-empty",-1825107890),new cljs.core.Keyword(null,"fixed-columns","fixed-columns",-1793374858),new cljs.core.Keyword(null,"movable-columns","movable-columns",-1079893862),new cljs.core.Keyword(null,"hidden-columns","hidden-columns",-1045524800)),u=javelin.core.cell.call(null,null),t=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(r,u){if(cljs.core.not.call(null,u))return r;var t=cljs.core.nth.call(null,
u,0,null),v=cljs.core.nth.call(null,u,1,null),w=cljs.core.get.call(null,h,t),z=null!=w&&(w.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===w.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,w):w,x=cljs.core.get.call(null,z,new cljs.core.Keyword(null,"sort-key","sort-key",1285844623));return cljs.core.sort_by.call(null,x,cljs.core._EQ_.call(null,v,new cljs.core.Keyword(null,"ascending","ascending",-988350486))?cljs.core.compare:function(a,b,c,d,e,f,g,h,k,l,m,n,p,
q,r,u,t,v,w,z){return function(a,b){return-cljs.core.compare.call(null,a,b)}}(u,t,v,w,z,x,a,b,c,d,e,f,g,h,k,l,m,n,p,q),r)}}(u,c,g,h,k,l,m,n,p,q,r,b,c,f)).call(null,k,u),v=cljs.core.count.call(null,n),w=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a,b){return cljs.core.into.call(null,cljs.core.vec.call(null,a),cljs.core.vec.call(null,b))}}(u,t,v,c,g,h,k,l,m,n,p,q,r,b,c,f)).call(null,q,h),x=javelin.core.cell.call(null,!1),y=function(a,b,c,d,e,f,g,h,k,l,m,
n,p,q,r,u,t,v){return function(w,z){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(){var a=function(a){return cljs.core.apply.call(null,w,new cljs.core.Keyword(null,"class","class",-2030961996),z,a)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=
a;return b}()}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v)}}(u,t,v,w,x,c,g,h,k,l,m,n,p,q,r,b,c,f),z=y.call(null,hoplon.core.table,"table-grid"),A=y.call(null,hoplon.core.thead,"table-grid-header"),J=y.call(null,hoplon.core.tbody,"table-grid-body"),B=y.call(null,hoplon.core.tr,"table-grid-row"),C=y.call(null,hoplon.core.td,"table-grid-cell");return z.call(null,A.call(null,B.call(null,C.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"table-grid-cell",new cljs.core.Keyword(null,"colspan",
"colspan",-1512420934),v,weathergen.ui.buttons.image_button.call(null,new cljs.core.Keyword(null,"src","src",-1651076051),"images/settings.svg",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,16),new cljs.core.Keyword(null,"title","title",636505583),"Settings",new cljs.core.Keyword(null,"latched?","latched?",2124907793),x,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,B){return function(){return cljs.core.swap_BANG_.call(null,
e,cljs.core.not)}}(u,t,v,w,x,y,z,A,J,B,C,c,g,h,k,l,m,n,p,q,r,b,c,f)),weathergen.help.help_icon.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"table-grid","table-grid",1980411698),new cljs.core.Keyword(null,"settings","settings",1556144875)],null)))),B.call(null,function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,B){return function da(E){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,
r,u,t,v,w,z,x,y,A,D){return function(){for(;;){var B=cljs.core.seq.call(null,E);if(B){var I=B;if(cljs.core.chunked_seq_QMARK_.call(null,I)){var H=cljs.core.chunk_first.call(null,I),C=cljs.core.count.call(null,H),G=cljs.core.chunk_buffer.call(null,C);return function(){for(var E=0;;)if(E<C){var F=cljs.core._nth.call(null,H,E);cljs.core.chunk_append.call(null,G,function(){var J=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G){return function(a){return cljs.core.nth.call(null,
a,b)}}(E,F,H,C,G,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D)).call(null,d),K=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J){return function(a,b){return a.call(null,b)}}(E,J,F,H,C,G,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D)).call(null,u,J),L=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K){return function(a){return(new cljs.core.Keyword(null,"disable-sort","disable-sort",
-579071276)).cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,I,a))}}(E,J,K,F,H,C,G,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D)).call(null,J);return m.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L){return function(a,b){var c=cljs.core.PersistentArrayMap,d=new cljs.core.Keyword(null,"hidden-column","hidden-column",298731236);var e=cljs.core.not.call(null,a);
return new c(null,2,[d,e?b:e,new cljs.core.Keyword(null,"table-grid-cell","table-grid-cell",573917102),!0],null)}}(E,J,K,L,F,H,C,G,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D)).call(null,e,K),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L){return function(){if(cljs.core.truth_(cljs.core.deref.call(null,d)))return null;cljs.core.swap_BANG_.call(null,m,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,
D,E,B,I,F,H,C,G,J,K,L){return function(a){var c=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.deref.call(null,b),cljs.core.not_EQ_.call(null,c,cljs.core.deref.call(null,b))?new cljs.core.Keyword(null,"ascending","ascending",-988350486):cljs.core._EQ_.call(null,a,new cljs.core.Keyword(null,"ascending","ascending",-988350486))?new cljs.core.Keyword(null,"descending","descending",-24766135):
new cljs.core.Keyword(null,"ascending","ascending",-988350486)],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L));return!0}}(E,J,K,L,F,H,C,G,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D),function(){var M=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L){return function(){return weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"title","title",636505583),"Move column left",new cljs.core.Keyword(null,
"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),"linear-gradient(white, white 50%, rgb(195, 194, 194) 100%)"],null),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L){return function(){cljs.core.swap_BANG_.call(null,D,weathergen.ui.grids.nudge,cljs.core.deref.call(null,b),-1);return!1}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,
B,I,F,H,C,G,J,K,L),"\x3c")}}(E,J,K,L,F,H,C,G,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D),null),N=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L,M){return function(){return null}}(E,M,J,K,L,F,H,C,G,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D),null),O=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L,M,N){return function(a){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(a)?b:c;return cljs.core.truth_(d)?
d:cljs.core.atom.call(null)}())}}(E,M,N,J,K,L,F,H,C,G,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D);return javelin.core.formula.call(null,O).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L,M,N,O){return function(a,b,c,d){b=c.call(null,d)<b;return cljs.core.truth_(b)?a:b}}(E,M,N,O,J,K,L,F,H,C,G,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D)).call(null,e,F,cljs.core.count,z))}(),function(){var M=new cljs.core.Delay(function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L){return function(){return weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L){return function(a){return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"border-style","border-style",-485574304),new cljs.core.Keyword(null,"line-height","line-height",1870784992),new cljs.core.Keyword(null,
"color","color",1011675173),new cljs.core.Keyword(null,"width","width",-384071477),new cljs.core.Keyword(null,"background","background",-863952629),new cljs.core.Keyword(null,"cursor","cursor",1011937484),new cljs.core.Keyword(null,"border-width","border-width",-1512605390),new cljs.core.Keyword(null,"padding","padding",1660304693),new cljs.core.Keyword(null,"border-radius","border-radius",419594011)],["inset","90%",cljs.core.truth_(a)?"red":"green",weathergen.ui.common.px.call(null,10),"white","pointer",
weathergen.ui.common.px.call(null,2),weathergen.ui.common.px.call(null,1),weathergen.ui.common.px.call(null,3)])}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L)).call(null,c),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L){return function(a){cljs.core.swap_BANG_.call(null,B,cljs.core.truth_(cljs.core.deref.call(null,c))?cljs.core.disj:cljs.core.conj,cljs.core.deref.call(null,b));return!1}}(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L),function(){var M=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L){return function(){return"✗"}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L),null),N=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L,M){return function(){return"✓"}}(a,M,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L),null),M=function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L,M,N){return function(a){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(a)?b:c;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(a,M,N,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L);return javelin.core.formula.call(null,M).call(null,c)}())}}(E,J,K,L,F,H,C,G,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D),null),N=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,
z,x,y,A,D,E,B,I,F,H,C,G,J,K,L,M){return function(){return null}}(E,M,J,K,L,F,H,C,G,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D),null),M=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L,M,N){return function(a){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(a)?b:c;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(E,M,N,J,K,L,F,H,C,G,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D);return javelin.core.formula.call(null,M).call(null,
e)}(),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L){return function(a){return(new cljs.core.Keyword(null,"title","title",636505583)).cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,F,a))}}(E,J,K,L,F,H,C,G,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D)).call(null,J),function(){var M=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L){return function(){return cljs.core.PersistentVector.EMPTY}}(E,
J,K,L,F,H,C,G,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D),null),N=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L,M){return function(){return weathergen.ui.grids.sorters.call(null,n,c)}}(E,M,J,K,L,F,H,C,G,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D),null),M=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L,M,N){return function(a){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(a)?b:c;return cljs.core.truth_(d)?
d:cljs.core.atom.call(null)}())}}(E,M,N,J,K,L,F,H,C,G,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D);return javelin.core.formula.call(null,M).call(null,L)}(),function(){var M=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L){return function(){return weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"title","title",636505583),"Move column right",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"background","background",-863952629),"linear-gradient(white, white 50%, rgb(195, 194, 194) 100%)"],null),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L){return function(){cljs.core.swap_BANG_.call(null,D,weathergen.ui.grids.nudge,cljs.core.deref.call(null,b),1);return!1}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L),"\x3e")}}(E,J,K,L,F,H,C,G,I,B,a,b,c,d,e,f,g,
h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D),null),N=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L,M){return function(){return null}}(E,M,J,K,L,F,H,C,G,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D),null),O=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L,M,N){return function(a){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(a)?b:c;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(E,M,N,J,K,L,
F,H,C,G,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D);return javelin.core.formula.call(null,O).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D,E,B,I,F,H,C,G,J,K,L,M,N,O){return function(a,b,c,d,e){d=d.call(null,e)<=c;return cljs.core.truth_(d)?(b=c<b-1,cljs.core.truth_(b)?a:b):d}}(E,M,N,O,J,K,L,F,H,C,G,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D)).call(null,e,c,F,cljs.core.count,z))}())}());E+=1}else return!0}()?cljs.core.chunk_cons.call(null,
cljs.core.chunk.call(null,G),da.call(null,cljs.core.chunk_rest.call(null,I))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,G),null)}var F=cljs.core.first.call(null,I);return cljs.core.cons.call(null,function(){var E=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I){return function(b){return cljs.core.nth.call(null,b,a)}}(F,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D)).call(null,d),H=javelin.core.formula.call(null,function(a,b,c,d,e,
f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H){return function(a,b){return a.call(null,b)}}(E,F,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D)).call(null,u,E),C=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C){return function(a){return(new cljs.core.Keyword(null,"disable-sort","disable-sort",-579071276)).cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,A,a))}}(E,H,F,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D)).call(null,E);return m.call(null,
new cljs.core.Keyword(null,"class","class",-2030961996),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F){return function(a,b){var c=cljs.core.PersistentArrayMap,d=new cljs.core.Keyword(null,"hidden-column","hidden-column",298731236);var e=cljs.core.not.call(null,a);return new c(null,2,[d,e?b:e,new cljs.core.Keyword(null,"table-grid-cell","table-grid-cell",573917102),!0],null)}}(E,H,C,F,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D)).call(null,
e,H),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F){return function(){if(cljs.core.truth_(cljs.core.deref.call(null,c)))return null;cljs.core.swap_BANG_.call(null,g,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F){return function(b){var c=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.deref.call(null,
a),cljs.core.not_EQ_.call(null,c,cljs.core.deref.call(null,a))?new cljs.core.Keyword(null,"ascending","ascending",-988350486):cljs.core._EQ_.call(null,b,new cljs.core.Keyword(null,"ascending","ascending",-988350486))?new cljs.core.Keyword(null,"descending","descending",-24766135):new cljs.core.Keyword(null,"ascending","ascending",-988350486)],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F));return!0}}(E,H,C,F,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D),function(){var G=
new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F){return function(){return weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"title","title",636505583),"Move column left",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),"linear-gradient(white, white 50%, rgb(195, 194, 194) 100%)"],null),new cljs.core.Keyword(null,"click","click",1912301393),
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F){return function(){cljs.core.swap_BANG_.call(null,z,weathergen.ui.grids.nudge,cljs.core.deref.call(null,a),-1);return!1}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F),"\x3c")}}(E,H,C,F,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D),null),J=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G){return function(){return null}}(G,E,H,C,F,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,
t,v,w,z,x,y,A,D),null),K=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(G,J,E,H,C,F,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D);return javelin.core.formula.call(null,K).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J,K){return function(a,b,c,d){b=
c.call(null,d)<b;return cljs.core.truth_(b)?a:b}}(G,J,K,E,H,C,F,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D)).call(null,e,F,cljs.core.count,z))}(),function(){var G=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F){return function(){return weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F){return function(a){return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,
"border-style","border-style",-485574304),new cljs.core.Keyword(null,"line-height","line-height",1870784992),new cljs.core.Keyword(null,"color","color",1011675173),new cljs.core.Keyword(null,"width","width",-384071477),new cljs.core.Keyword(null,"background","background",-863952629),new cljs.core.Keyword(null,"cursor","cursor",1011937484),new cljs.core.Keyword(null,"border-width","border-width",-1512605390),new cljs.core.Keyword(null,"padding","padding",1660304693),new cljs.core.Keyword(null,"border-radius",
"border-radius",419594011)],["inset","90%",cljs.core.truth_(a)?"red":"green",weathergen.ui.common.px.call(null,10),"white","pointer",weathergen.ui.common.px.call(null,2),weathergen.ui.common.px.call(null,1),weathergen.ui.common.px.call(null,3)])}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F)).call(null,b),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F){return function(c){cljs.core.swap_BANG_.call(null,y,cljs.core.truth_(cljs.core.deref.call(null,
b))?cljs.core.disj:cljs.core.conj,cljs.core.deref.call(null,a));return!1}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F),function(){var G=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F){return function(){return"✗"}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F),null),J=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G){return function(){return"✓"}}(G,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,
w,z,x,y,A,E,D,B,I,H,C,F),null),G=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(G,J,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F);return javelin.core.formula.call(null,G).call(null,b)}())}}(E,H,C,F,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D),null),J=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,
l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G){return function(){return null}}(G,E,H,C,F,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D),null),G=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(G,J,E,H,C,F,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D);return javelin.core.formula.call(null,G).call(null,e)}(),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F){return function(a){return(new cljs.core.Keyword(null,"title","title",636505583)).cljs$core$IFn$_invoke$arity$1(cljs.core.get.call(null,E,a))}}(E,H,C,F,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D)).call(null,E),function(){var G=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F){return function(){return cljs.core.PersistentVector.EMPTY}}(E,H,C,F,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,
v,w,z,x,y,A,D),null),J=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G){return function(){return weathergen.ui.grids.sorters.call(null,h,b)}}(G,E,H,C,F,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D),null),G=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(G,J,E,H,C,F,I,B,a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D);return javelin.core.formula.call(null,G).call(null,C)}(),function(){var G=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F){return function(){return weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"title","title",636505583),"Move column right",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),
"linear-gradient(white, white 50%, rgb(195, 194, 194) 100%)"],null),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F){return function(){cljs.core.swap_BANG_.call(null,z,weathergen.ui.grids.nudge,cljs.core.deref.call(null,a),1);return!1}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F),"\x3e")}}(E,H,C,F,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D),null),J=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,
m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G){return function(){return null}}(G,E,H,C,F,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D),null),K=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(G,J,E,H,C,F,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D);return javelin.core.formula.call(null,K).call(null,javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J,K){return function(a,b,c,d,e){d=d.call(null,e)<=c;return cljs.core.truth_(d)?(b=c<b-1,cljs.core.truth_(b)?a:b):d}}(G,J,K,E,H,C,F,I,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,D)).call(null,e,c,F,cljs.core.count,z))}())}(),da.call(null,cljs.core.rest.call(null,I)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,B),null,null)}}(u,t,v,w,x,y,z,A,J,B,C,c,g,h,k,l,m,n,p,q,r,b,c,f).call(null,cljs.core.range.call(null,
v))}())),function(){var a=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E){return function(){return k.call(null,l.call(null,m.call(null,new cljs.core.Keyword(null,"colspan","colspan",-1512420934),c,w)))}}(u,t,v,w,x,y,z,A,J,B,C,c,g,h,k,l,m,n,p,q,r,b,c,f),null),d=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D){return function(){return l.call(null,hoplon.core.loop_tpl_STAR_.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,
k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D){return function(a,b,c){return a.call(null,b,c)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D)).call(null,cljs.core.map_indexed,cljs.core.vector,c),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D){return function(B){var I=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[a],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D)).call(null,B)),H=cljs.core.nth.call(null,I,0,null),C=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)}}(I,H,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,
y,A,E,D)).call(null,H)),F=cljs.core.nth.call(null,C,0,null),G=cljs.core.nth.call(null,C,1,null);return m.call(null,v.call(null,G,F),function(){var B=cljs.core.apply.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F){return function(){var a=function(a){return cljs.core.zipmap.call(null,cljs.core.map.call(null,cljs.core.key,E),a)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+
0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(C,F,G,I,H,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D)),cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F){return function(a){return a.call(null,c)}}(C,F,G,I,H,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D),cljs.core.map.call(null,new cljs.core.Keyword(null,
"formatter","formatter",-483008823),cljs.core.vals.call(null,w)))),J=cljs.core.apply.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G){return function(){var a=function(a){return cljs.core.zipmap.call(null,cljs.core.map.call(null,cljs.core.key,D),a)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=
0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(B,C,F,G,I,H,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D)),cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G){return function(a){return cljs.core.truth_(a)?a.call(null,d,c):null}}(B,C,F,G,I,H,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D),cljs.core.map.call(null,new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.vals.call(null,
w))));return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J){return function sa(K){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J){return function(){for(;;){var L=cljs.core.seq.call(null,K);if(L){var M=L;if(cljs.core.chunked_seq_QMARK_.call(null,M)){var N=cljs.core.chunk_first.call(null,M),O=cljs.core.count.call(null,N),P=cljs.core.chunk_buffer.call(null,O);return function(){for(var K=0;;)if(K<O){var Q=cljs.core._nth.call(null,
N,K);cljs.core.chunk_append.call(null,P,function(){var T=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q){return function(a){return cljs.core.nth.call(null,a,b)}}(K,Q,N,O,P,M,L,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J)).call(null,n),S=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T){return function(a,b){return a.call(null,b)}}(K,T,Q,N,
O,P,M,L,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J)).call(null,E,T),V=w.call(null);V.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,V,S){return function(a,b){var c=cljs.core.PersistentArrayMap,d=new cljs.core.Keyword(null,"hidden-column","hidden-column",298731236);var e=cljs.core.not.call(null,a);return new c(null,2,[d,e?b:e,new cljs.core.Keyword(null,
"table-grid-cell","table-grid-cell",573917102),!0],null)}}(K,V,T,S,Q,N,O,P,M,L,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J)).call(null,p,S),new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,V,S){return function(a,c){var d=cljs.core.get.call(null,c,a);cljs.core.truth_(d)||b.removeAttribute("style");return cljs.core.get.call(null,c,a)}}(K,V,T,S,Q,N,O,P,M,L,a,b,
c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J)).call(null,T,b),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,V,S){return function(a,b){return cljs.core.get.call(null,b,a)}}(K,V,T,S,Q,N,O,P,M,L,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J)).call(null,T,a));return V}());K+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,P),sa.call(null,cljs.core.chunk_rest.call(null,
M))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,P),null)}var Q=cljs.core.first.call(null,M);return cljs.core.cons.call(null,function(){var K=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J,K,L,M){return function(b){return cljs.core.nth.call(null,b,a)}}(Q,M,L,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J)).call(null,n),N=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,
I,H,C,F,G,J,K,L,M,N){return function(a,b){return a.call(null,b)}}(K,Q,M,L,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J)).call(null,E,K),O=w.call(null);O.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P){return function(a,b){var c=cljs.core.PersistentArrayMap,d=new cljs.core.Keyword(null,"hidden-column","hidden-column",298731236);var e=cljs.core.not.call(null,
a);return new c(null,2,[d,e?b:e,new cljs.core.Keyword(null,"table-grid-cell","table-grid-cell",573917102),!0],null)}}(O,K,N,Q,M,L,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J)).call(null,p,N),new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P){return function(b,c){var d=cljs.core.get.call(null,c,b);cljs.core.truth_(d)||a.removeAttribute("style");return cljs.core.get.call(null,
c,b)}}(O,K,N,Q,M,L,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J)).call(null,K,b),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P){return function(a,b){return cljs.core.get.call(null,b,a)}}(O,K,N,Q,M,L,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J)).call(null,K,a));return O}(),sa.call(null,cljs.core.rest.call(null,M)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,
J),null,null)}}(B,J,C,F,G,I,H,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D).call(null,cljs.core.range.call(null,d))}())}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D)))}}(a,u,t,v,w,x,y,z,A,J,B,C,c,g,h,k,l,m,n,p,q,r,b,c,f),null),e=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(a,d,u,t,v,w,x,y,z,A,J,B,C,c,g,h,k,l,m,n,p,q,
r,b,c,f);return javelin.core.formula.call(null,e).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,C){return function(a,b,c){b=0===c.call(null,b);return cljs.core.truth_(b)?a:b}}(a,d,e,u,t,v,w,x,y,z,A,J,B,C,c,g,h,k,l,m,n,p,q,r,b,c,f)).call(null,p,t,cljs.core.count))}())},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,
c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();weathergen.ui.layers={};weathergen.ui.layers.flights={};
weathergen.ui.layers.flights.mission_category_names=cljs.core.PersistentHashMap.fromArrays([weathergen.falcon.constants.ATO_STRIKE,weathergen.falcon.constants.ATO_OCA,weathergen.falcon.constants.ATO_OTHER,weathergen.falcon.constants.ATO_SEAD,weathergen.falcon.constants.ATO_SUPPORT,weathergen.falcon.constants.ATO_CCCI,weathergen.falcon.constants.ATO_CAS,weathergen.falcon.constants.ATO_MARITIME,weathergen.falcon.constants.ATO_INTERDICTION,weathergen.falcon.constants.ATO_DCA],"Strike OCA Other SEAD Support C3I CAS Maritime Interdiction DCA".split(" "));
weathergen.ui.layers.flights.default_mission_category_colors=cljs.core.PersistentHashMap.fromArrays([weathergen.falcon.constants.ATO_STRIKE,weathergen.falcon.constants.ATO_OCA,weathergen.falcon.constants.ATO_OTHER,weathergen.falcon.constants.ATO_SEAD,weathergen.falcon.constants.ATO_SUPPORT,weathergen.falcon.constants.ATO_CCCI,weathergen.falcon.constants.ATO_CAS,weathergen.falcon.constants.ATO_MARITIME,weathergen.falcon.constants.ATO_INTERDICTION,weathergen.falcon.constants.ATO_DCA],["#e00000",weathergen.ui.common.to_hex_str.call(null,
"green"),weathergen.ui.common.to_hex_str.call(null,"black"),"#640082","#a8a8a8",weathergen.ui.common.to_hex_str.call(null,"white"),weathergen.ui.common.to_hex_str.call(null,"darkblue"),weathergen.ui.common.to_hex_str.call(null,"lightblue"),"#cc00cc","#ffa800"]);
weathergen.ui.layers.flights.mission_category_colors=weathergen.ui.common.versioned_local_storage.call(null,new cljs.core.Keyword("weathergen.ui.layers.flights","mission-category-colors","weathergen.ui.layers.flights/mission-category-colors",-704412508),weathergen.ui.layers.flights.default_mission_category_colors);
weathergen.ui.layers.flights.hidden_flights_columns=weathergen.ui.common.versioned_local_storage.call(null,new cljs.core.Keyword("weathergen.ui.layers.flights","hidden-flights-columns","weathergen.ui.layers.flights/hidden-flights-columns",345798875),cljs.core.PersistentHashSet.EMPTY);
weathergen.ui.layers.flights.movable_flights_columns=weathergen.ui.common.versioned_local_storage.call(null,new cljs.core.Keyword("weathergen.ui.layers.flights","movable-flights-columns","weathergen.ui.layers.flights/movable-flights-columns",1349199949),new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"combatant","combatant",2138865651),new cljs.core.Keyword(null,"callsign","callsign",1222385874),new cljs.core.Keyword(null,"airframe","airframe",
643222926),new cljs.core.Keyword(null,"mission","mission",1740288522),new cljs.core.Keyword(null,"package","package",1189062786),new cljs.core.Keyword(null,"squadron","squadron",-1131671273),new cljs.core.Keyword(null,"airbase","airbase",-369690299),new cljs.core.Keyword(null,"takeoff","takeoff",719937767),new cljs.core.Keyword(null,"tot","tot",2086174646),new cljs.core.Keyword(null,"egress","egress",610445366)],null));
weathergen.ui.layers.flights.hidden_steerpoints_columns=weathergen.ui.common.versioned_local_storage.call(null,new cljs.core.Keyword("weathergen.ui.layers.flights","hidden-steerpoints-columns","weathergen.ui.layers.flights/hidden-steerpoints-columns",-122666770),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"depart","depart",-100007287),null,new cljs.core.Keyword(null,"speed-ias","speed-ias",-534091766),null,new cljs.core.Keyword(null,"speed-tas",
"speed-tas",228844362),null,new cljs.core.Keyword(null,"action","action",-811238024),null,new cljs.core.Keyword(null,"enroute","enroute",-1681821057),null],null),null));
weathergen.ui.layers.flights.movable_steerpoints_columns=weathergen.ui.common.versioned_local_storage.call(null,new cljs.core.Keyword("weathergen.ui.layers.flights","movable-steerpoints-columns","weathergen.ui.layers.flights/movable-steerpoints-columns",-1824262332),new cljs.core.PersistentVector(null,15,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"description","description",-1428560544),new cljs.core.Keyword(null,"arrive","arrive",-284644322),new cljs.core.Keyword(null,"depart",
"depart",-100007287),new cljs.core.Keyword(null,"remain","remain",1399477086),new cljs.core.Keyword(null,"action","action",-811238024),new cljs.core.Keyword(null,"enroute","enroute",-1681821057),new cljs.core.Keyword(null,"distance","distance",-1671893894),new cljs.core.Keyword(null,"heading","heading",-1312171873),new cljs.core.Keyword(null,"speed-cas","speed-cas",-239308126),new cljs.core.Keyword(null,"speed-tas","speed-tas",228844362),new cljs.core.Keyword(null,"speed-gnd","speed-gnd",1356834908),
new cljs.core.Keyword(null,"speed-mach","speed-mach",-1842148254),new cljs.core.Keyword(null,"speed-ias","speed-ias",-534091766),new cljs.core.Keyword(null,"altitude","altitude",463588637),new cljs.core.Keyword(null,"comments","comments",-293346423)],null));weathergen.ui.layers.flights.row_primary_color="white";weathergen.ui.layers.flights.row_alternate_color="#f0f0f0";weathergen.ui.layers.flights.row_tertiary_color="darkgrey";
weathergen.ui.layers.flights.row_color=function(a){return cljs.core.truth_(a)?cljs.core.even_QMARK_.call(null,a)?weathergen.ui.layers.flights.row_alternate_color:weathergen.ui.layers.flights.row_primary_color:null};
weathergen.ui.layers.flights.flight_mission_color=function(a,b,c){return c.call(null,(new cljs.core.Keyword(null,"category","category",-593092832)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission","mission","weathergen.falcon.files.mission/mission",43331456)).cljs$core$IFn$_invoke$arity$1(b)))};
weathergen.ui.layers.flights.flight_aircraft=function(a){a=(new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258)).cljs$core$IFn$_invoke$arity$1(a);var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"quantity","quantity",-1929050694));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"airframe","airframe",643222926));return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("")};
weathergen.ui.common.register_styles_BANG_.call(null,new cljs.core.Keyword("weathergen.ui.layers.flights","briefing-summary","weathergen.ui.layers.flights/briefing-summary",-1486998600),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.ui.common.class_selector_for.call(null,new cljs.core.Keyword("weathergen.ui.layers.flights","briefing-summary","weathergen.ui.layers.flights/briefing-summary",
-1486998600)),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),"initial"],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"tr","tr",-1424774646),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),"initial"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"td","td",
1479933353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"border","border",1444987323),"none"],null)],null)],null)],null)],null));
weathergen.ui.layers.flights.flight_details=function(a){var b=function(){var a=null,b=function(b,c,d){return a.call(null,b,c,cljs.core.PersistentArrayMap.EMPTY,d)},c=function(a,b,c,d){var e=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,f=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"align","align",1964212802));return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"title",
"title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,"waypoint-columns","waypoint-columns",1546876163),b],null),a),new cljs.core.Keyword(null,"disable-sort","disable-sort",-579071276),!0,new cljs.core.Keyword(null,"sort-key","sort-key",1285844623),d,new cljs.core.Keyword(null,"formatter","formatter",-483008823),function(a,b,c){return function(e){return hoplon.core.div.call(null,
new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"nowrap",new cljs.core.Keyword(null,"text-align","text-align",1786091845),cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"right","right",-452581833),c)?"right":null,new cljs.core.Keyword(null,"padding","padding",1660304693),weathergen.ui.common.px.call(null,0,2)],null),javelin.core.formula.call(null,function(a,b,c){return function(a){return d.call(null,
a)}}(a,b,c)).call(null,e))}}(c,e,f)],null)},a=function(a,d,e,f){switch(arguments.length){case 3:return b.call(this,a,d,e);case 4:return c.call(this,a,d,e,f)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$3=b;a.cljs$core$IFn$_invoke$arity$4=c;return a}(),c=function(a){return function(){var a=function(a){return cljs.core.apply.call(null,hoplon.core.div,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"font-weight","font-weight",2085804583),"bold"],null),a)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(b);return hoplon.core.div.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),
new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"120%"],null),javelin.core.formula.call(null,function(a,b){return function(a){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(a)}}(b,c)).call(null,a)),hoplon.core.table.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),weathergen.ui.common.class_for.call(null,new cljs.core.Keyword("weathergen.ui.layers.flights",
"briefing-summary","weathergen.ui.layers.flights/briefing-summary",-1486998600)),hoplon.core.tr.call(null,hoplon.core.td.call(null,c.call(null,"Mission")),hoplon.core.td.call(null,javelin.core.formula.call(null,function(a,b){return function(a){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission","mission","weathergen.falcon.files.mission/mission",43331456)).cljs$core$IFn$_invoke$arity$1(a))}}(b,c)).call(null,
a))),hoplon.core.tr.call(null,hoplon.core.td.call(null,c.call(null,"Package")),hoplon.core.td.call(null,javelin.core.formula.call(null,function(a,b){return function(a){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission","package","weathergen.falcon.files.mission/package",-1415630340)).cljs$core$IFn$_invoke$arity$1(a))}}(b,c)).call(null,a))),hoplon.core.tr.call(null,hoplon.core.td.call(null,c.call(null,
"Aircraft")),hoplon.core.td.call(null,javelin.core.formula.call(null,function(a,b){return function(a){return weathergen.ui.layers.flights.flight_aircraft.call(null,a)}}(b,c)).call(null,a)))),hoplon.core.hr.call(null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"110%"],null),"Steerpoints"),
weathergen.ui.grids.table_grid.call(null,new cljs.core.Keyword(null,"data","data",-232669377),javelin.core.formula.call(null,function(a,b){return function(a){return(new cljs.core.Keyword("weathergen.falcon.files.mission","waypoints","weathergen.falcon.files.mission/waypoints",712228162)).cljs$core$IFn$_invoke$arity$1(a)}}(b,c)).call(null,a),new cljs.core.Keyword(null,"row-attrs","row-attrs",2139633863),cljs.core.constantly.call(null,cljs.core.PersistentArrayMap.EMPTY),new cljs.core.Keyword(null,"when-empty",
"when-empty",-1825107890),"Flight has no waypoints",new cljs.core.Keyword(null,"fixed-columns","fixed-columns",-1793374858),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"number","number",1570378438)],null),new cljs.core.Keyword(null,"movable-columns","movable-columns",-1079893862),weathergen.ui.layers.flights.movable_steerpoints_columns,new cljs.core.Keyword(null,"hidden-columns","hidden-columns",-1045524800),weathergen.ui.layers.flights.hidden_steerpoints_columns,
new cljs.core.Keyword(null,"columns","columns",1998437288),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"description","description",-1428560544),new cljs.core.Keyword(null,"speed-mach","speed-mach",-1842148254),new cljs.core.Keyword(null,"speed-cas","speed-cas",-239308126),new cljs.core.Keyword(null,"number","number",1570378438),new cljs.core.Keyword(null,"depart","depart",-100007287),new cljs.core.Keyword(null,"comments","comments",-293346423),new cljs.core.Keyword(null,"speed-ias",
"speed-ias",-534091766),new cljs.core.Keyword(null,"speed-tas","speed-tas",228844362),new cljs.core.Keyword(null,"action","action",-811238024),new cljs.core.Keyword(null,"distance","distance",-1671893894),new cljs.core.Keyword(null,"speed-gnd","speed-gnd",1356834908),new cljs.core.Keyword(null,"altitude","altitude",463588637),new cljs.core.Keyword(null,"arrive","arrive",-284644322),new cljs.core.Keyword(null,"remain","remain",1399477086),new cljs.core.Keyword(null,"heading","heading",-1312171873),
new cljs.core.Keyword(null,"enroute","enroute",-1681821057)],[b.call(null,"Desc",new cljs.core.Keyword(null,"description","description",-1428560544),new cljs.core.Keyword("weathergen.falcon.files.mission","description","weathergen.falcon.files.mission/description",-1977659382)),b.call(null,"Mach",new cljs.core.Keyword(null,"speed-mach","speed-mach",-1842148254),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"align","align",1964212802),new cljs.core.Keyword(null,"right","right",
-452581833)],null),function(a,b){return function(a){a=weathergen.ui.common.format_mach.call(null,(new cljs.core.Keyword("weathergen.falcon.files.mission","speed-mach","weathergen.falcon.files.mission/speed-mach",-185245472)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core.truth_(a)?a:"--"}}(b,c)),b.call(null,"CAS",new cljs.core.Keyword(null,"speed-cas","speed-cas",-239308126),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"align","align",1964212802),new cljs.core.Keyword(null,
"right","right",-452581833)],null),function(a,b){return function(a){a=weathergen.ui.common.format_speed.call(null,(new cljs.core.Keyword("weathergen.falcon.files.mission","speed-cas","weathergen.falcon.files.mission/speed-cas",-588060328)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core.truth_(a)?a:"--"}}(b,c)),b.call(null,"#",new cljs.core.Keyword(null,"number","number",1570378438),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"align","align",1964212802),new cljs.core.Keyword(null,
"right","right",-452581833)],null),new cljs.core.Keyword("weathergen.falcon.files.mission","number","weathergen.falcon.files.mission/number",-1176793792)),b.call(null,"Depart",new cljs.core.Keyword(null,"depart","depart",-100007287),function(a,b){return function(a){a=weathergen.ui.common.format_time.call(null,(new cljs.core.Keyword(null,"depart","depart",-100007287)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"seconds?","seconds?",-1600404958),
!0],null));return cljs.core.truth_(a)?a:"--"}}(b,c)),b.call(null,"Comments",new cljs.core.Keyword(null,"comments","comments",-293346423),new cljs.core.Keyword("weathergen.falcon.files.mission","comments","weathergen.falcon.files.mission/comments",-1789953753)),b.call(null,"IAS",new cljs.core.Keyword(null,"speed-ias","speed-ias",-534091766),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"align","align",1964212802),new cljs.core.Keyword(null,"right","right",-452581833)],null),function(a,
b){return function(a){a=weathergen.ui.common.format_speed.call(null,(new cljs.core.Keyword("weathergen.falcon.files.mission","speed-ias","weathergen.falcon.files.mission/speed-ias",-2064912472)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core.truth_(a)?a:"--"}}(b,c)),b.call(null,"TAS",new cljs.core.Keyword(null,"speed-tas","speed-tas",228844362),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"align","align",1964212802),new cljs.core.Keyword(null,"right","right",-452581833)],
null),function(a,b){return function(a){a=weathergen.ui.common.format_speed.call(null,(new cljs.core.Keyword("weathergen.falcon.files.mission","speed-tas","weathergen.falcon.files.mission/speed-tas",568219840)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core.truth_(a)?a:"--"}}(b,c)),b.call(null,"Action",new cljs.core.Keyword(null,"action","action",-811238024),new cljs.core.Keyword("weathergen.falcon.files.mission","action-name","weathergen.falcon.files.mission/action-name",-1230729595)),b.call(null,
"Dist",new cljs.core.Keyword(null,"distance","distance",-1671893894),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"align","align",1964212802),new cljs.core.Keyword(null,"right","right",-452581833)],null),function(a,b){return function(a){a=weathergen.ui.common.format_distance.call(null,(new cljs.core.Keyword("weathergen.falcon.files.mission","distance","weathergen.falcon.files.mission/distance",18637316)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core.truth_(a)?a:"--"}}(b,
c)),b.call(null,"Gnd Spd",new cljs.core.Keyword(null,"speed-gnd","speed-gnd",1356834908),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"align","align",1964212802),new cljs.core.Keyword(null,"right","right",-452581833)],null),function(a,b){return function(a){a=weathergen.ui.common.format_speed.call(null,(new cljs.core.Keyword("weathergen.falcon.files.mission","speed-gnd","weathergen.falcon.files.mission/speed-gnd",-39445006)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core.truth_(a)?
a:"--"}}(b,c)),b.call(null,"Alt",new cljs.core.Keyword(null,"altitude","altitude",463588637),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"aligh","aligh",1960130388),new cljs.core.Keyword(null,"right","right",-452581833)],null),new cljs.core.Keyword("weathergen.falcon.files.mission","altitude","weathergen.falcon.files.mission/altitude",543643555)),b.call(null,"Time",new cljs.core.Keyword(null,"arrive","arrive",-284644322),function(a,b){return function(a){a=weathergen.ui.common.format_time.call(null,
(new cljs.core.Keyword(null,"arrive","arrive",-284644322)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"seconds?","seconds?",-1600404958),!0],null));return cljs.core.truth_(a)?a:"--"}}(b,c)),b.call(null,"Remain",new cljs.core.Keyword(null,"remain","remain",1399477086),function(a,b){return function(a){a=weathergen.ui.common.format_time.call(null,(new cljs.core.Keyword("weathergen.falcon.files.mission","remain","weathergen.falcon.files.mission/remain",
1849736680)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"omit-day?","omit-day?",1622751707),!0,new cljs.core.Keyword(null,"seconds?","seconds?",-1600404958),!0],null));return cljs.core.truth_(a)?a:"--"}}(b,c)),b.call(null,"Hdg",new cljs.core.Keyword(null,"heading","heading",-1312171873),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"align","align",1964212802),new cljs.core.Keyword(null,"right","right",-452581833)],null),
function(a,b){return function(a){a=weathergen.ui.common.format_heading.call(null,(new cljs.core.Keyword("weathergen.falcon.files.mission","heading","weathergen.falcon.files.mission/heading",361734949)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core.truth_(a)?a:"--"}}(b,c)),b.call(null,"Enroute",new cljs.core.Keyword(null,"enroute","enroute",-1681821057),new cljs.core.Keyword("weathergen.falcon.files.mission","enroute-action-name","weathergen.falcon.files.mission/enroute-action-name",-95379962))])),
hoplon.core.hr.call(null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"120%"],null),"Ordnance"),function(){var d=new cljs.core.Delay(function(a,b){return function(){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,
[new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.px.call(null,10),new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,7),new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),weathergen.ui.common.px.call(null,5)],null),"No weapons carried")}}(b,c),null),e=new cljs.core.Delay(function(b,c,d){return function(){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
3,[new cljs.core.Keyword(null,"display","display",242065432),"flex",new cljs.core.Keyword(null,"flex-direction","flex-direction",364609438),"row",new cljs.core.Keyword(null,"flex-wrap","flex-wrap",455413707),"wrap"],null),hoplon.core.loop_tpl_STAR_.call(null,javelin.core.formula.call(null,function(a,b,c){return function(a){return cljs.core.map_indexed.call(null,cljs.core.vector,(new cljs.core.Keyword("weathergen.falcon.files.mission","loadouts","weathergen.falcon.files.mission/loadouts",142269567)).cljs$core$IFn$_invoke$arity$1(a))}}(b,
c,d)).call(null,a),function(b,c,d){return function(e){e=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(b,c,d)).call(null,e));var f=cljs.core.nth.call(null,e,0,null),g=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,
a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)}}(e,f,b,c,d)).call(null,f)),h=cljs.core.nth.call(null,g,0,null),k=cljs.core.nth.call(null,g,1,null),l=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,
b,new cljs.core.Keyword(null,"quantity","quantity",-1929050694));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"name","name",1843675177));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(g,h,k,e,f,b,c,d)).call(null,k)),m=cljs.core.nth.call(null,l,0,null),n=cljs.core.nth.call(null,l,1,null);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,
"width","width",-384071477),weathergen.ui.common.pct.call(null,35),new cljs.core.Keyword(null,"min-width","min-width",1926193728),weathergen.ui.common.pct.call(null,35),new cljs.core.Keyword(null,"max-width","max-width",-1939924051),weathergen.ui.common.pct.call(null,45),new cljs.core.Keyword(null,"padding","padding",1660304693),weathergen.ui.common.px.call(null,10)],null),hoplon.core.div.call(null,hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold"],null),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a,b){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b+1)].join("")}}(l,m,n,g,h,k,e,f,b,c,d)).call(null,a,h)),hoplon.core.span.call(null,new cljs.core.Keyword(null,
"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"90%",new cljs.core.Keyword(null,"font-style","font-style",-773672352),"italic"],null),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a,b){var c=cljs.core.nth.call(null,(new cljs.core.Keyword(null,"plane-stats","plane-stats",-4010361)).cljs$core$IFn$_invoke$arity$1(a),b),d=cljs.core._EQ_;return cljs.core.truth_(d.call(null,weathergen.falcon.constants.AIRCRAFT_MISSING,
c))?" (missing)":cljs.core.truth_(d.call(null,weathergen.falcon.constants.AIRCRAFT_DEAD,c))?" (destroyed)":""}}(l,m,n,g,h,k,e,f,b,c,d)).call(null,a,h))),hoplon.core.ul.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,5)],null),hoplon.core.loop_tpl_STAR_.call(null,k,function(a,b,c,d,e,f,g,h,k,l,m){return function(n){n=javelin.core.cell_map.call(null,
cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h,k,l,m)).call(null,n));var p=cljs.core.nth.call(null,n,0,null),q=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"name","name",1843675177));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"quantity","quantity",-1929050694));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)}}(n,p,a,b,c,d,e,f,g,h,k,l,m)).call(null,p)),r=cljs.core.nth.call(null,q,0,null),u=cljs.core.nth.call(null,q,1,null);return hoplon.core.li.call(null,javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a,b){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" x "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("")}}(q,r,u,n,p,a,b,c,d,e,f,g,h,k,l,m)).call(null,r,u))}}(l,m,n,g,h,k,e,f,b,c,d))))}}(b,c,d)))}}(d,b,c),null),f=function(a,b,c,d){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(d,
e,b,c);return javelin.core.formula.call(null,f).call(null,javelin.core.formula.call(null,function(a,b,c,d,e){return function(a,b,c){return b.call(null,c,(new cljs.core.Keyword("weathergen.falcon.files.mission","loadouts","weathergen.falcon.files.mission/loadouts",142269567)).cljs$core$IFn$_invoke$arity$1(a))}}(d,e,f,b,c)).call(null,a,cljs.core.every_QMARK_,cljs.core.empty_QMARK_))}())};
weathergen.ui.layers.flights.flight_info_formatter=function(a,b){return function(c){var d=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"camp-id","camp-id",618705690));return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[a],null)}).call(null,c)),e=cljs.core.nth.call(null,d,0,null),f=javelin.core.formula.call(null,function(a,b){return function(a,b,c){return c.call(null,a,b)}}(d,e)).call(null,e,a,cljs.core._EQ_),g=function(b,c,d){return function n(b){document.removeEventListener("click",n);return cljs.core.reset_BANG_.call(null,a,null)}}(f,d,e);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"click","click",1912301393),cljs.core.constantly.call(null,!1),new cljs.core.Keyword(null,"css","css",1135045163),
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"position","position",-2011731912),"relative"],null),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"latched?","latched?",2124907793),f,new cljs.core.Keyword(null,"click","click",1912301393),function(b,c,d,e){return function(){cljs.core.swap_BANG_.call(null,a,function(a,b,c,d){return function(a){return cljs.core.not_EQ_.call(null,a,cljs.core.deref.call(null,d))?(document.addEventListener("click",b),cljs.core.deref.call(null,
d)):null}}(b,c,d,e));return!1}}(f,g,d,e),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"border-radius","border-radius",419594011),"50%",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,12),new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.common.px.call(null,12),new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center",new cljs.core.Keyword(null,"font-weight",
"font-weight",2085804583),"bold",new cljs.core.Keyword(null,"font-family","font-family",-667419874),"serif",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"110%",new cljs.core.Keyword(null,"line-height","line-height",1870784992),weathergen.ui.common.px.call(null,12)],null),new cljs.core.Keyword(null,"title","title",636505583),"More options...","i"),function(){var a=new cljs.core.Delay(function(a,d,e,f){return function(){var g=hoplon.core.div.call(null,new cljs.core.Keyword(null,"css",
"css",1135045163),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"border-style","border-style",-485574304),new cljs.core.Keyword(null,"top","top",-1856271961),new cljs.core.Keyword(null,"background","background",-863952629),new cljs.core.Keyword(null,"z-index","z-index",1892827090),new cljs.core.Keyword(null,"padding","padding",1660304693),new cljs.core.Keyword(null,"border-color","border-color",-2059162761),new cljs.core.Keyword(null,"position","position",-2011731912),new cljs.core.Keyword(null,
"margin-bottom","margin-bottom",388334941),new cljs.core.Keyword(null,"left","left",-399115937)],["double",weathergen.ui.common.px.call(null,25),"#FDFFD9",1,weathergen.ui.common.px.call(null,5),"black","absolute",weathergen.ui.common.px.call(null,5),weathergen.ui.common.px.call(null,25)]),weathergen.ui.layers.flights.flight_details.call(null,c));hoplon.core.do_watch.call(null,a,function(a,c,d,e,f){return function(g,h){return cljs.core.truth_(function(){var a=cljs.core.not.call(null,g);return a?h:
a}())?setTimeout(function(a,c,d,e,f){return function(){var c=jQuery(b),d=c.offset().top,c=c.scrollTop(),e=jQuery(window).height()-d,f=c+e,g=jQuery(a),h=g.height(),d=g.offset().top-d+c,g=d+h,k=d-c-25,l=f-g;cljs.core.prn.call(null,new cljs.core.Keyword(null,"vis-top","vis-top",-1877899818),c,new cljs.core.Keyword(null,"vis-height","vis-height",-621249871),e,new cljs.core.Keyword(null,"vis-bottom","vis-bottom",1773347385),f,new cljs.core.Keyword(null,"elem-height","elem-height",-1672618154),h,new cljs.core.Keyword(null,
"elem-top","elem-top",1545964974),d,new cljs.core.Keyword(null,"elem-bototm","elem-bototm",280962377),g);return 0>k?jQuery("body").animate({scrollTop:d+25},300):0>l?jQuery(b).animate({scrollTop:h<e?25+(c-l):d-25},300):null}}(a,c,d,e,f),0):null}}(g,a,d,e,f));return g}}(f,g,d,e),null),k=new cljs.core.Delay(function(a,b,c,d,e){return function(){return null}}(a,f,g,d,e),null),a=function(a,b,c,d,e,f){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?
d:cljs.core.atom.call(null)}())}}(a,k,f,g,d,e);return javelin.core.formula.call(null,a).call(null,f)}())}};
weathergen.ui.layers.flights.flight_path_display_controls=function(a,b){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,"display-options","display-options",1066052168),new cljs.core.Keyword(null,"overview","overview",-435037267)],null),a),
function(){var a=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,d=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"map-flight-path-size","map-flight-path-size",-1349075868)),e=new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"label","label",1718410804),"Flight path size:",new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword(null,"map-flight-path-size",
"map-flight-path-size",-1349075868),new cljs.core.Keyword(null,"init","init",-1875481434),0,new cljs.core.Keyword(null,"min","min",444991522),-1,new cljs.core.Keyword(null,"max","max",61366548),1],null),f=null!=e&&(e.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===e.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,e):e,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"label","label",1718410804)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"key",
"key",-1516042587)),k=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"init","init",-1875481434)),l=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"min","min",444991522)),m=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"max","max",61366548));return hoplon.core.div.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,"display-options",
"display-options",1066052168),h],null),g),function(){var c=""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.gensym.call(null));return weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle",new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,5)],null),hoplon.core.datalist.call(null,new cljs.core.Keyword(null,
"id","id",-1388402092),c,function(){return function(a,b,c,d,e,f,g,h,k,l,m){return function B(n){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(){for(;;){var a=cljs.core.seq.call(null,n);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,c);a:for(var e=0;;)if(e<c){var f=cljs.core._nth.call(null,b,e);cljs.core.chunk_append.call(null,d,hoplon.core.option.call(null,
new cljs.core.Keyword(null,"value","value",305978217),f));e+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),B.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}d=cljs.core.first.call(null,a);return cljs.core.cons.call(null,hoplon.core.option.call(null,new cljs.core.Keyword(null,"value","value",305978217),d),B.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m),null,null)}}(c,
b,a,d,e,f,g,h,k,l,m).call(null,cljs.core.range.call(null,100*l,100*(m+1),25*(m-l)))}()),hoplon.core.input.call(null,new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"type","type",1174270348),"range",new cljs.core.Keyword(null,"list","list",765357683),c,new cljs.core.Keyword(null,"min","min",444991522),cljs.core.long$.call(null,100*l),new cljs.core.Keyword(null,"max","max",61366548),cljs.core.long$.call(null,100*m),new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m){return function(a){return 100*a}}(c,b,a,d,e,f,g,h,k,l,m)).call(null,d),new cljs.core.Keyword(null,"input","input",556931961),function(a,b,c,d,e,f,g,h,k,l,m){return function(a){return cljs.core.reset_BANG_.call(null,d,cljs.core.deref.call(null,a)/100)}}(c,b,a,d,e,f,g,h,k,l,m)],null)))}(),weathergen.ui.common.inl.call(null,weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l){return function(){return cljs.core.reset_BANG_.call(null,
c,h)}}(b,a,d,e,f,g,h,k,l,m),"Reset"),weathergen.help.help_icon.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,"display-options","display-options",1066052168),cljs.core.keyword.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("reset-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.name.call(null,h))].join(""))],null))))}())};
weathergen.ui.layers.flights.controls=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"all-flights","all-flights",253678712)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"checked-flights","checked-flights",1669126695)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"display","display",242065432)),f=cljs.core.get.call(null,
b,new cljs.core.Keyword(null,"highlighted-flight","highlighted-flight",-2117068813)),g=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"mission","mission",1740288522)),h=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"selected-teams","selected-teams",317107671)),k=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"visible-teams","visible-teams",-110455752)),l=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"scroll-container","scroll-container",-1938238550)),m=new cljs.core.Delay(function(a,
b,c,d,e,f,g,h,k,l,m){return function(){return"No mission loaded"}}(a,b,b,c,d,e,f,g,h,k,l),null),n=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n){return function(){return"No flights present in the mission"}}(m,a,b,b,c,d,e,f,g,h,k,l),null),p=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){return hoplon.core.div.call(null,weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,"mission-key","mission-key",-2054000190)],null),"Mission Key"),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),"3px"],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,
"display","display",242065432),"flex",new cljs.core.Keyword(null,"flex-wrap","flex-wrap",455413707),"wrap",new cljs.core.Keyword(null,"max-width","max-width",-1939924051),"400px"],null),function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function T(q){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){for(;;){var r=cljs.core.seq.call(null,q);if(r){var u=r;if(cljs.core.chunked_seq_QMARK_.call(null,u)){var t=cljs.core.chunk_first.call(null,u),v=cljs.core.count.call(null,
t),w=cljs.core.chunk_buffer.call(null,v);return function(){for(var q=0;;)if(q<v){var z=cljs.core._nth.call(null,t,q),x=cljs.core.nth.call(null,z,0,null),y=cljs.core.nth.call(null,z,1,null);cljs.core.chunk_append.call(null,w,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"nowrap"],null),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px"],null),new cljs.core.Keyword(null,"click","click",1912301393),cljs.core.constantly.call(null,!1),weathergen.ui.common.color_picker.call(null,new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y){return function(a){return a.call(null,c)}}(q,z,x,y,t,v,w,u,r,a,b,c,d,e,f,g,h,k,l,m,n,p)).call(null,weathergen.ui.layers.flights.mission_category_colors),
new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y){return function(a){return cljs.core.swap_BANG_.call(null,weathergen.ui.layers.flights.mission_category_colors,cljs.core.assoc,c,cljs.core.deref.call(null,a))}}(q,z,x,y,t,v,w,u,r,a,b,c,d,e,f,g,h,k,l,m,n,p))),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"width","width",-384071477),
"70px"],null),y)));q+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,w),T.call(null,cljs.core.chunk_rest.call(null,u))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,w),null)}var z=cljs.core.first.call(null,u),x=cljs.core.nth.call(null,z,0,null),y=cljs.core.nth.call(null,z,1,null);return cljs.core.cons.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"white-space",
"white-space",-707351930),"nowrap"],null),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px"],null),new cljs.core.Keyword(null,"click","click",1912301393),cljs.core.constantly.call(null,!1),weathergen.ui.common.color_picker.call(null,new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,
p,q,r,u,t,v){return function(a){return a.call(null,b)}}(z,x,y,u,r,a,b,c,d,e,f,g,h,k,l,m,n,p)).call(null,weathergen.ui.layers.flights.mission_category_colors),new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(a){return cljs.core.swap_BANG_.call(null,weathergen.ui.layers.flights.mission_category_colors,cljs.core.assoc,b,cljs.core.deref.call(null,a))}}(z,x,y,u,r,a,b,c,d,e,f,g,h,k,l,m,n,p))),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,
"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"width","width",-384071477),"70px"],null),y)),T.call(null,cljs.core.rest.call(null,u)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p),null,null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p).call(null,weathergen.ui.layers.flights.mission_category_names)}()),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){return cljs.core.reset_BANG_.call(null,
weathergen.ui.layers.flights.mission_category_colors,weathergen.ui.layers.flights.default_mission_category_colors)}}(a,b,c,d,e,f,g,h,k,l,m,n,p),"Reset to defaults"),weathergen.help.help_icon.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,"mission-key-reset","mission-key-reset",-2081456284)],null))),weathergen.ui.layers.flights.flight_path_display_controls.call(null,"Display Options",
e),weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,"team-visibility","team-visibility",-2011507771)],null),"Team Visibility"),weathergen.ui.common.team_selector.call(null,new cljs.core.Keyword(null,"mission","mission",1740288522),l,new cljs.core.Keyword(null,
"selected-teams","selected-teams",317107671),m,new cljs.core.Keyword(null,"selectable-teams","selectable-teams",1104557919),n)),weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,"flight-info","flight-info",-1755465938)],null),"Flight Info"),function(){var q=
javelin.core.cell.call(null,null);return weathergen.ui.grids.table_grid.call(null,new cljs.core.Keyword(null,"data","data",-232669377),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(r,u,t){return cljs.core.filter.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(a){return cljs.core.contains_QMARK_.call(null,t,(new cljs.core.Keyword(null,"owner","owner",-392611939)).cljs$core$IFn$_invoke$arity$1(a))}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q),u)}}(q,a,b,c,d,e,
f,g,h,k,l,m,n,p)).call(null,l,f,m),new cljs.core.Keyword(null,"when-empty","when-empty",-1825107890),document.createTextNode("No flights to show"),new cljs.core.Keyword(null,"row-attrs","row-attrs",2139633863),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(r,u){return cljs.core.truth_(cljs.core.truth_(r)?u:r)?new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(a,b,c){return new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"background","background",-863952629),cljs.core._EQ_.call(null,c,b)?"lightgoldenrodyellow":weathergen.ui.layers.flights.row_color.call(null,a)],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,u,r,l),new cljs.core.Keyword(null,"mouseenter","mouseenter",-1792413560),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(){return cljs.core.reset_BANG_.call(null,l,cljs.core.deref.call(null,r))}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q),new cljs.core.Keyword(null,"mouseleave","mouseleave",
531566580),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(){return cljs.core.reset_BANG_.call(null,l,null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(){return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(){cljs.core.swap_BANG_.call(null,h,weathergen.util.toggle_set_membership,cljs.core.deref.call(null,r));return cljs.core.reset_BANG_.call(null,l,cljs.core.deref.call(null,
h).call(null,cljs.core.deref.call(null,r)))}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q))}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q),new cljs.core.Keyword(null,"class","class",-2030961996),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(a,b,c){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"highlighted","highlighted",1723498733),b.call(null,c,a)],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,r,cljs.core._EQ_,l)],null):null}}(q,a,b,c,d,e,f,g,h,k,l,m,n,p),new cljs.core.Keyword(null,
"hidden-columns","hidden-columns",-1045524800),weathergen.ui.layers.flights.hidden_flights_columns,new cljs.core.Keyword(null,"fixed-columns","fixed-columns",-1793374858),javelin.core.cell.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"show?","show?",1543842127),new cljs.core.Keyword(null,"info","info",-317069002)],null)),new cljs.core.Keyword(null,"movable-columns","movable-columns",-1079893862),weathergen.ui.layers.flights.movable_flights_columns,
new cljs.core.Keyword(null,"columns","columns",1998437288),function(){var r=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(r,u,t){return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,"columns","columns",1998437288),u],null),r),new cljs.core.Keyword(null,
"sort-key","sort-key",1285844623),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(a){return t.call(null,cljs.core.deref.call(null,m),a)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q),new cljs.core.Keyword(null,"formatter","formatter",-483008823),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(r){return javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(a,b){return t.call(null,a,b)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,m,r)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q)],null)}}(q,
a,b,c,d,e,f,g,h,k,l,m,n,p);return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"package","package",1189062786),new cljs.core.Keyword(null,"airbase","airbase",-369690299),new cljs.core.Keyword(null,"takeoff","takeoff",719937767),new cljs.core.Keyword(null,"mission","mission",1740288522),new cljs.core.Keyword(null,"airframe","airframe",643222926),new cljs.core.Keyword(null,"show?","show?",1543842127),new cljs.core.Keyword(null,"callsign","callsign",1222385874),new cljs.core.Keyword(null,
"combatant","combatant",2138865651),new cljs.core.Keyword(null,"egress","egress",610445366),new cljs.core.Keyword(null,"info","info",-317069002),new cljs.core.Keyword(null,"tot","tot",2086174646),new cljs.core.Keyword(null,"squadron","squadron",-1131671273)],[r.call(null,"Package",new cljs.core.Keyword(null,"package","package",1189062786),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a,b){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission",
"package","weathergen.falcon.files.mission/package",-1415630340)).cljs$core$IFn$_invoke$arity$1(b))}}(r,q,a,b,c,d,e,f,g,h,k,l,m,n,p)),r.call(null,"Airbase",new cljs.core.Keyword(null,"airbase","airbase",-369690299),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a,b){var c=null==b?null:(new cljs.core.Keyword("weathergen.falcon.files.mission","airbase","weathergen.falcon.files.mission/airbase",-1926407441)).cljs$core$IFn$_invoke$arity$1(b);return null==c?null:(new cljs.core.Keyword(null,"name",
"name",1843675177)).cljs$core$IFn$_invoke$arity$1(c)}}(r,q,a,b,c,d,e,f,g,h,k,l,m,n,p)),r.call(null,"T/O",new cljs.core.Keyword(null,"takeoff","takeoff",719937767),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a,b){return weathergen.ui.common.format_time.call(null,(new cljs.core.Keyword(null,"depart","depart",-100007287)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,(new cljs.core.Keyword(null,"waypoints","waypoints",-844253224)).cljs$core$IFn$_invoke$arity$1(b))))}}(r,q,a,b,c,
d,e,f,g,h,k,l,m,n,p)),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,"columns","columns",1998437288),new cljs.core.Keyword(null,"mission","mission",1740288522)],null),"Mission"),new cljs.core.Keyword(null,"sort-key","sort-key",1285844623),function(a,b,
c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission","mission","weathergen.falcon.files.mission/mission",43331456)).cljs$core$IFn$_invoke$arity$1(a))}}(r,q,a,b,c,d,e,f,g,h,k,l,m,n,p),new cljs.core.Keyword(null,"formatter","formatter",-483008823),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(u){return javelin.core.formula.call(null,function(a,b,c,d,
e,f,g,h,k,l,m,n,p,q,r){return function(a){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission","mission","weathergen.falcon.files.mission/mission",43331456)).cljs$core$IFn$_invoke$arity$1(a))}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r)).call(null,u)}}(r,q,a,b,c,d,e,f,g,h,k,l,m,n,p),new cljs.core.Keyword(null,"css","css",1135045163),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(u,t){return javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a,b,c,d){a=weathergen.ui.layers.flights.flight_mission_color.call(null,a,b,c);d=weathergen.ui.common.contrasting.call(null,a,weathergen.ui.layers.flights.row_tertiary_color,weathergen.ui.layers.flights.row_color.call(null,d));return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"background","background",-863952629),d,new cljs.core.Keyword(null,"color","color",1011675173),a],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r)).call(null,
n,u,weathergen.ui.layers.flights.mission_category_colors,t)}}(r,q,a,b,c,d,e,f,g,h,k,l,m,n,p)],null),r.call(null,"Aircraft",new cljs.core.Keyword(null,"airframe","airframe",643222926),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a,b){return weathergen.ui.layers.flights.flight_aircraft.call(null,b)}}(r,q,a,b,c,d,e,f,g,h,k,l,m,n,p)),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,"columns","columns",1998437288),new cljs.core.Keyword(null,"show?","show?",1543842127)],null),"Show?"),new cljs.core.Keyword(null,"sort-key","sort-key",1285844623),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a){return cljs.core.not.call(null,cljs.core.deref.call(null,k).call(null,a))}}(r,q,a,b,c,d,e,f,g,h,k,l,m,n,p),new cljs.core.Keyword(null,"formatter","formatter",
-483008823),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(u){var t=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"camp-id","camp-id",618705690));return new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r)).call(null,u)),v=cljs.core.nth.call(null,t,0,null),w=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){return function(a,b){return a.call(null,b)}}(t,v,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r)).call(null,k,u);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.input.call(null,new cljs.core.Keyword(null,"camp-id","camp-id",618705690),v,new cljs.core.Keyword(null,
"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"value","value",305978217),w),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"2px",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle"],null),new cljs.core.Keyword(null,"click","click",1912301393),cljs.core.constantly.call(null,!1),weathergen.ui.common.color_picker.call(null,
new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(a,b,c,d,e){c=cljs.core.get_in.call(null,d,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,new cljs.core.Keyword(null,"color","color",1011675173)],null));return cljs.core.truth_(c)?c:weathergen.ui.layers.flights.flight_mission_color.call(null,a,b,e)}}(w,t,v,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r)).call(null,n,u,v,l,weathergen.ui.layers.flights.mission_category_colors),
new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(a){return cljs.core.swap_BANG_.call(null,p,cljs.core.assoc_in,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.deref.call(null,c),new cljs.core.Keyword(null,"color","color",1011675173)],null),cljs.core.deref.call(null,a))}}(w,t,v,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r)))],null)}}(r,q,a,b,c,d,e,f,g,h,k,l,m,n,p)],null),r.call(null,"Callsign",new cljs.core.Keyword(null,
"callsign","callsign",1222385874),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a,b){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(b)}}(r,q,a,b,c,d,e,f,g,h,k,l,m,n,p)),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"flights","flights",-1637719124),new cljs.core.Keyword(null,
"columns","columns",1998437288),new cljs.core.Keyword(null,"combatant","combatant",2138865651)],null),"Who"),new cljs.core.Keyword(null,"sort-key","sort-key",1285844623),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a){return weathergen.falcon.files.mission.team_name.call(null,cljs.core.deref.call(null,n),(new cljs.core.Keyword(null,"owner","owner",-392611939)).cljs$core$IFn$_invoke$arity$1(a))}}(r,q,a,b,c,d,e,f,g,h,k,l,m,n,p),new cljs.core.Keyword(null,"formatter","formatter",-483008823),
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(u){u=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a){return(new cljs.core.Keyword(null,"owner","owner",-392611939)).cljs$core$IFn$_invoke$arity$1(a)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r)).call(null,u);return weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a,b){return new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"color","color",1011675173),b.call(null,a,new cljs.core.Keyword(null,"dark-text","dark-text",814777253))],null)}}(u,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r)).call(null,u,weathergen.ui.common.team_color),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a,b,c){return a.call(null,b,c)}}(u,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r)).call(null,weathergen.falcon.files.mission.team_name,n,u))}}(r,q,a,b,c,d,e,f,g,h,k,l,m,n,p)],null),r.call(null,"Egress",new cljs.core.Keyword(null,
"egress","egress",610445366),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a,b){return weathergen.ui.common.format_time.call(null,(new cljs.core.Keyword(null,"mission-over-time","mission-over-time",949947865)).cljs$core$IFn$_invoke$arity$1(b))}}(r,q,a,b,c,d,e,f,g,h,k,l,m,n,p)),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"flights","flights",-1637719124),new cljs.core.Keyword(null,"columns","columns",1998437288),new cljs.core.Keyword(null,"info","info",-317069002)],null),"Info"),new cljs.core.Keyword(null,"disable-sort","disable-sort",-579071276),!0,new cljs.core.Keyword(null,"formatter","formatter",-483008823),weathergen.ui.layers.flights.flight_info_formatter.call(null,q,p)],null),r.call(null,"TOT",new cljs.core.Keyword(null,"tot","tot",2086174646),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a,b){return weathergen.ui.common.format_time.call(null,
(new cljs.core.Keyword(null,"time-on-target","time-on-target",-857850216)).cljs$core$IFn$_invoke$arity$1(b))}}(r,q,a,b,c,d,e,f,g,h,k,l,m,n,p)),r.call(null,"Squadron",new cljs.core.Keyword(null,"squadron","squadron",-1131671273),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a,b){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission","squadron","weathergen.falcon.files.mission/squadron",463902337)).cljs$core$IFn$_invoke$arity$1(b))}}(r,
q,a,b,c,d,e,f,g,h,k,l,m,n,p))])}())}()))}}(m,n,a,b,b,c,d,e,f,g,h,k,l),null),q=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(d,e,f){return cljs.core.deref.call(null,function(){var g=cljs.core.truth_(d)?a:cljs.core.truth_(e)?b:cljs.core.truth_(f)?c:null;return cljs.core.truth_(g)?g:cljs.core.atom.call(null)}())}}(m,n,p,a,b,b,c,d,e,f,g,h,k,l);return javelin.core.formula.call(null,q).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,D){return function(a,b){return b.call(null,
a)}}(m,n,p,q,a,b,b,c,d,e,f,g,h,k,l)).call(null,g,cljs.core.not),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,D){return function(a,b){return 0===a.call(null,b)}}(m,n,p,q,a,b,b,c,d,e,f,g,h,k,l)).call(null,cljs.core.count,c),new cljs.core.Keyword(null,"else","else",-1508377146))};
weathergen.ui.layers.flights.waypoint_grid_coords=function(a,b){return weathergen.coordinates.fgrid__GT_weather.call(null,a,(new cljs.core.Keyword(null,"grid-x","grid-x",1935903622)).cljs$core$IFn$_invoke$arity$1(b),(new cljs.core.Keyword(null,"grid-y","grid-y",1140315474)).cljs$core$IFn$_invoke$arity$1(b))};
weathergen.ui.layers.flights.waypoints__GT_path=function(a,b){var c=null==b?null:weathergen.util.take_until.call(null,function(a){return function(a){return weathergen.util.has_flag_QMARK_.call(null,(new cljs.core.Keyword(null,"flags","flags",1775418075)).cljs$core$IFn$_invoke$arity$1(a),weathergen.falcon.constants.WPF_LAND)}}(b),b),d=null==c?null:cljs.core.mapv.call(null,function(b,c){return function(b){return weathergen.ui.layers.flights.waypoint_grid_coords.call(null,a,b)}}(b,c),c),c=null==d?null:
cljs.core.mapv.call(null,function(a,b,c){return function(a){return goog.string.format("%f,%f",(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(a))}}(b,c,d),d),c=null==c?null:cljs.core.interpose.call(null," L",c);return null==c?null:cljs.core.apply.call(null,cljs.core.str,"M",c)};
weathergen.ui.layers.flights.flight_path_overlay=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"checked-flights","checked-flights",1669126695)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"display","display",242065432)),f=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"highlighted-flight","highlighted-flight",
-2117068813)),g=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"mission","mission",1740288522)),h=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"map-zoom","map-zoom",1543291337)),k=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"map-text-scale","map-text-scale",1420206123)),l=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"map-flight-path-scale","map-flight-path-scale",866693625)),m=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"map-show-text-background?","map-show-text-background?",
409410295)),n=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return(new cljs.core.Keyword(null,"camp-id","camp-id",618705690)).cljs$core$IFn$_invoke$arity$1(a)}}(b,c,d,e,f,g,h,k,l,m)).call(null,a),p=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a,b){return cljs.core._EQ_.call(null,a,b)}}(n,b,c,d,e,f,g,h,k,l,m)).call(null,a,f),q=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a,b,c,d,e,f){return cljs.core.get_in.call(null,
d,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,new cljs.core.Keyword(null,"color","color",1011675173)],null),weathergen.ui.layers.flights.flight_mission_color.call(null,a,b,f))}}(n,p,b,c,d,e,f,g,h,k,l,m)).call(null,g,a,n,e,p,weathergen.ui.layers.flights.mission_category_colors),r=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,M,I,H,P,O,N,Q){return function(a){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"width","width",-384071477),k,new cljs.core.Keyword(null,"color","color",1011675173),weathergen.ui.common.contrasting.call(null,a)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"width","width",-384071477),f,new cljs.core.Keyword(null,"color","color",1011675173),a],null)],null)}}(n,p,q,1,.01,.1,.1,.1,.15,4,400,.4,.4,b,c,d,e,f,g,h,k,l,m),u=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,M,I,H,P,O,N,Q,S){return function(a){return 1+1.5*a}}(n,p,q,1,
.01,.1,.1,.1,.15,4,400,.4,.4,r,b,c,d,e,f,g,h,k,l,m);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"flight","flight",-764860679),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,M,I,H,P,O,N,Q,S,V){return function(a){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(a)}}(n,p,q,1,.01,.1,.1,.1,.15,4,400,.4,.4,r,u,b,c,d,e,f,g,h,k,l,m)).call(null,a),function(){var t=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z){return function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"waypoints","waypoints",-844253224));return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(n,p,q,1,.01,.1,.1,.1,.15,4,400,.4,.4,r,u,b,c,d,e,f,g,h,k,l,m)).call(null,a)),v=cljs.core.nth.call(null,
t,0,null),w=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa){return function(a,b){return a*(cljs.core.truth_(b)?1.4:1.2)}}(t,v,n,p,q,1,.01,.1,.1,.1,.15,4,400,.4,.4,r,u,b,c,d,e,f,g,h,k,l,m)).call(null,l,p),x=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca){return function(a,b){return b.call(null,a)}}(w,t,v,n,p,q,1,.01,.1,.1,.1,.15,4,400,.4,.4,r,u,b,c,d,e,f,g,h,k,l,m)).call(null,q,r),y=javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W){return function(a,b){return b.call(null,a)}}(w,x,t,v,n,p,q,1,.01,.1,.1,.1,.15,4,400,.4,.4,r,u,b,c,d,e,f,g,h,k,l,m)).call(null,q,weathergen.ui.common.contrasting);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"waypoint markers and lines",new cljs.core.Keyword("svg","class","svg/class",-2030780416),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,
ca,W,ba){return function(a){return cljs.core.truth_(a)?weathergen.ui.common.pulse_class:null}}(w,x,y,t,v,n,p,q,1,.01,.1,.1,.1,.15,4,400,.4,.4,r,u,b,c,d,e,f,g,h,k,l,m)).call(null,p),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"waypoint lines",hoplon.core.loop_tpl_STAR_.call(null,x,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba){return function(z){z=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba)).call(null,z));var A=cljs.core.nth.call(null,z,0,null),E=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J){return function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&
64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"width","width",-384071477));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"color","color",1011675173));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)}}(z,A,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba)).call(null,A)),D=cljs.core.nth.call(null,E,0,null),B=cljs.core.nth.call(null,
E,1,null);return hoplon.svg.path.call(null,new cljs.core.Keyword(null,"stroke","stroke",1741823555),D,new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J,K,L,M){return function(a,b,c){return b*c/a}}(E,D,B,z,A,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba)).call(null,aa,B,a),new cljs.core.Keyword(null,"fill","fill",883462889),"none",new cljs.core.Keyword(null,"pointer-events",
"pointer-events",-1053858853),"none",new cljs.core.Keyword(null,"opacity","opacity",397153780),k,new cljs.core.Keyword(null,"d","d",1972142424),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,z,x,y,A,E,D,B,I,H,C,F,G,J,K,L,M){return function(a,b){return weathergen.ui.layers.flights.waypoints__GT_path.call(null,a,b)}}(E,D,B,z,A,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba)).call(null,Y,e))}}(w,x,y,t,v,n,p,q,1,.01,.1,.1,.1,.15,4,400,.4,.4,r,u,b,c,d,e,f,
g,h,k,l,m))),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"waypoint markers",new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba){return function(a){return weathergen.ui.common.svg_scale.call(null,1/a,1/a)}}(w,x,y,t,v,n,p,q,1,.01,.1,.1,.1,.15,4,400,.4,.4,r,u,b,c,d,e,f,g,h,k,l,m)).call(null,h),hoplon.core.loop_tpl_STAR_.call(null,javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba){return function(a,b,c){return a.call(null,b,c)}}(w,x,y,t,v,n,p,q,1,.01,.1,.1,.1,.15,4,400,.4,.4,r,u,b,c,d,e,f,g,h,k,l,m)).call(null,cljs.core.map_indexed,cljs.core.vector,v),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba){return function(z){var A=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F){return function(a){return new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba)).call(null,z)),E=cljs.core.nth.call(null,A,0,null),D=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[b,a],null)}}(A,E,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba)).call(null,E)),B=cljs.core.nth.call(null,D,0,null),I=cljs.core.nth.call(null,D,1,null),H=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M){return function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,
a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"action","action",-811238024));var c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"grid-x","grid-x",1935903622)),b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"grid-y","grid-y",1140315474));return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[c,b,a],null)}}(D,B,I,A,E,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba)).call(null,I)),C=cljs.core.nth.call(null,H,0,null),F=cljs.core.nth.call(null,
H,1,null),G=cljs.core.nth.call(null,H,2,null),J=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q){return function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"x","x",2099068185));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"y","y",-1757859776));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(H,C,F,G,D,B,I,A,E,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba)).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q){return function(a,b,c,d){return b.call(null,c,a,d)}}(H,C,F,G,D,B,I,A,E,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba)).call(null,C,weathergen.coordinates.fgrid__GT_weather,
Y,F))),K=cljs.core.nth.call(null,J,0,null),L=cljs.core.nth.call(null,J,1,null),M=new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"pointer-events","pointer-events",-1053858853),"none",new cljs.core.Keyword(null,"fill","fill",883462889),"none",new cljs.core.Keyword(null,"opacity","opacity",397153780),k],null);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"waypoint markers",new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U){return function(a,b,c){return weathergen.ui.common.svg_translate.call(null,a*c,b*c)}}(M,J,K,L,H,C,F,G,D,B,I,A,E,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba)).call(null,K,L,aa),hoplon.core.loop_tpl_STAR_.call(null,b,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U){return function(R){var W=javelin.core.cell_map.call(null,cljs.core.identity,
javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U)).call(null,R)),X=cljs.core.nth.call(null,W,0,null);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"waypoint marker",function(){var R=
javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W){return function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"width","width",-384071477));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"color",
"color",1011675173));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)}}(W,X,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U)).call(null,X)),Y=cljs.core.nth.call(null,R,0,null),Z=cljs.core.nth.call(null,R,1,null),ba=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z){return function(a){return M*a/2}}(R,Y,Z,W,X,a,b,c,d,e,f,g,h,k,l,
m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U)).call(null,q),aa=cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"opacity","opacity",397153780),y,new cljs.core.Keyword(null,"stroke","stroke",1741823555),Y,new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba){return function(a,b){return.6*a*b}}(ba,R,Y,Z,W,X,a,b,c,d,e,f,g,
h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U)).call(null,Z,q)),ca=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa){return function(a){return weathergen.util.has_flag_QMARK_.call(null,(new cljs.core.Keyword(null,"flags","flags",1775418075)).cljs$core$IFn$_invoke$arity$1(a),weathergen.falcon.constants.WPF_TARGET)}}(ba,aa,R,Y,Z,W,X,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,
B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U)).call(null,m),da=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa,ca){return function(){return hoplon.svg.circle.call(null,b,new cljs.core.Keyword(null,"cx","cx",1272694324),0,new cljs.core.Keyword(null,"cy","cy",755331060),0,new cljs.core.Keyword(null,"r","r",-471384190),a)}}(ba,aa,ca,R,Y,Z,W,X,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U),
null),ea=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa,ca,da){return function(){return weathergen.ui.common.triangle.call(null,c,new cljs.core.Keyword(null,"r","r",-471384190),b)}}(da,ba,aa,ca,R,Y,Z,W,X,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U),null),R=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa,ca,da,ea){return function(c){return cljs.core.deref.call(null,
function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(da,ea,ba,aa,ca,R,Y,Z,W,X,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U);return javelin.core.formula.call(null,R).call(null,ca)}())}}(M,J,K,L,H,C,F,G,D,B,I,A,E,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba)),function(){var z=javelin.core.cell.call(null,!0),N=javelin.core.cell.call(null,!0),O=javelin.core.formula.call(null,function(a,b,c,d,e,
f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W){return function(a,b,c,d,e){return cljs.core.truth_(cljs.core.truth_(c)?weathergen.util.has_flag_QMARK_.call(null,(new cljs.core.Keyword(null,"flags","flags",1775418075)).cljs$core$IFn$_invoke$arity$1(a),weathergen.falcon.constants.WPF_ALTERNATE):c)?"Alternate Field":cljs.core.truth_(cljs.core.truth_(c)?cljs.core._EQ_.call(null,b,weathergen.falcon.constants.WP_REFUEL):c)?cljs.core.truth_(c)?"Tanker":null:cljs.core.truth_(d)?
e+1:null}}(z,N,M,J,K,L,H,C,F,G,D,B,I,A,E,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba)).call(null,I,G,z,N,B),P=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X){return function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(O,z,N,M,J,K,L,H,C,F,G,D,B,I,A,E,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba)).call(null,O,a),Q=javelin.core.cell.call(null,
0),T=javelin.core.cell.call(null,0),S=javelin.core.cell.call(null,0),V=javelin.core.cell.call(null,0),da=hoplon.svg.text.call(null,new cljs.core.Keyword(null,"stroke","stroke",1741823555),h,new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa,ca){return function(a,b){return a*b}}(Q,T,S,V,O,P,z,N,M,J,K,L,H,C,F,G,D,B,I,A,E,a,b,c,d,e,f,g,h,k,l,m,
n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba)).call(null,l,a),new cljs.core.Keyword(null,"fill","fill",883462889),h,new cljs.core.Keyword(null,"font-size","font-size",-1847940346),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa,ca){return function(a,b){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a*b),cljs.core.str.cljs$core$IFn$_invoke$arity$1("%")].join("")}}(Q,T,S,V,O,P,z,N,M,J,K,L,H,C,F,G,D,B,I,A,E,
a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba)).call(null,r,a),new cljs.core.Keyword(null,"text-anchor","text-anchor",585613696),"middle",new cljs.core.Keyword(null,"opacity","opacity",397153780),k,new cljs.core.Keyword(null,"x","x",2099068185),0,new cljs.core.Keyword(null,"y","y",-1757859776),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa,ca){return function(a,b){return-(a*b)}}(Q,T,S,V,
O,P,z,N,M,J,K,L,H,C,F,G,D,B,I,A,E,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba)).call(null,t,a),O),ea=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa,ca,da){return function(){return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa,ca,da){return function(){var f=e.getBBox();return cljs.core.truth_(f.x)?(cljs.core.reset_BANG_.call(null,
a,f.x),cljs.core.reset_BANG_.call(null,b,f.y),cljs.core.reset_BANG_.call(null,c,f.width),cljs.core.reset_BANG_.call(null,d,f.height)):null}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa,ca,da))}}(Q,T,S,V,da,O,P,z,N,M,J,K,L,H,C,F,G,D,B,I,A,E,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba);hoplon.core.when_dom.call(null,da,ea);cljs.core.truth_(P)&&cljs.core.add_watch.call(null,P,cljs.core.keyword.call(null,cljs.core.gensym.call(null)),
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa,ca,da,ea,ga,fa){return function(ha,ia,la,ja){return setTimeout(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa,ca,da,ea,ga,fa){return function(){return h.call(null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa,ca,da,ea,ga,fa),0)}}(P,P,Q,T,S,V,da,ea,O,P,z,N,M,J,K,L,H,C,
F,G,D,B,I,A,E,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba));var ga=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa,ca,da,ea){return function(){return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"waypoint label",new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,
B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa,ca,da,ea){return function(a,b,c){return b.call(null,c/a)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa,ca,da,ea)).call(null,da,weathergen.ui.common.svg_scale,ca),function(){var ga=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa,ca,da,ea){return function(){return hoplon.svg.rect.call(null,new cljs.core.Keyword(null,
"x","x",2099068185),a,new cljs.core.Keyword(null,"y","y",-1757859776),b,new cljs.core.Keyword(null,"width","width",-384071477),c,new cljs.core.Keyword(null,"height","height",1025178622),d,new cljs.core.Keyword(null,"fill","fill",883462889),B,new cljs.core.Keyword(null,"opacity","opacity",397153780),S)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa,ca,da,ea),null),fa=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,
E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa,ca,da,ea,ga){return function(){return null}}(ga,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa,ca,da,ea),null),ga=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa,ca,da,ea,ga,fa){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(ga,
fa,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa,ca,da,ea);return javelin.core.formula.call(null,ga).call(null,ea)}(),e)}}(Q,T,S,V,da,ea,O,P,z,N,M,J,K,L,H,C,F,G,D,B,I,A,E,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba),null),fa=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa,ca,da,ea,ga){return function(){return null}}(ga,Q,T,S,V,da,ea,O,P,z,N,
M,J,K,L,H,C,F,G,D,B,I,A,E,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba),null),ha=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa,ca,da,ea,ga,fa){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(ga,fa,Q,T,S,V,da,ea,O,P,z,N,M,J,K,L,H,C,F,G,D,B,I,A,E,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba);return javelin.core.formula.call(null,
ha).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,z,y,A,E,D,B,I,H,C,F,G,J,K,L,M,N,O,P,Q,T,S,V,U,R,W,X,Y,Z,ba,aa,ca,da,ea,ga,fa,ha){return function(a){return cljs.core.not.call(null,null==a)}}(ga,fa,ha,Q,T,S,V,da,ea,O,P,z,N,M,J,K,L,H,C,F,G,D,B,I,A,E,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,U,R,X,Z,Y,aa,ca,W,ba)).call(null,O))}())}}(w,x,y,t,v,n,p,q,1,.01,.1,.1,.1,.15,4,400,.4,.4,r,u,b,c,d,e,f,g,h,k,l,m))))}())};
weathergen.ui.layers.flights.overlay=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"checked-flights","checked-flights",1669126695)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"highlighted-flight","highlighted-flight",-2117068813)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"mission","mission",1740288522)),
f=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"selected-teams","selected-teams",317107671)),g=javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(h,k,l,m){return cljs.core.set.call(null,cljs.core.filter.call(null,function(a,b,c,d,e,f,g){return function(a){return m.call(null,(new cljs.core.Keyword(null,"owner","owner",-392611939)).cljs$core$IFn$_invoke$arity$1(a))}}(a,b,c,d,e,f,g),h))}}(a,b,b,c,d,e,f)).call(null,c,d,e,f);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,
"section","section",-300141526),"flights-overlay",hoplon.svg.g.call(null,new cljs.core.Keyword(null,"section","section",-300141526),"checked-flight-paths",hoplon.core.loop_tpl_STAR_.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,r){return function(a,b,c){return a.call(null,b,c)}}(g,a,b,b,c,d,e,f)).call(null,cljs.core.disj,g,d),function(a,b,c,d,e,f,g,r){return function(h){h=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a){return new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,r)).call(null,h));h=cljs.core.nth.call(null,h,0,null);return weathergen.ui.layers.flights.flight_path_overlay.call(null,h,d)}}(g,a,b,b,c,d,e,f)),function(){var h=new cljs.core.Delay(function(a,b,c,d,e,f,g,h){return function(){return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"section","section",-300141526),"highlighted-flight-path",weathergen.ui.layers.flights.flight_path_overlay.call(null,f,d))}}(g,a,b,b,c,d,e,f),null),k=
new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k){return function(){return null}}(h,g,a,b,b,c,d,e,f),null),h=function(a,b,c,d,e,f,g,h,k,w){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(h,k,g,a,b,b,c,d,e,f);return javelin.core.formula.call(null,h).call(null,d)}()))};
weathergen.ui.layers.flights.create=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"map-zoom","map-zoom",1543291337)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"map-text-scale","map-text-scale",1420206123)),f=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"visible-teams","visible-teams",-110455752)),g=
javelin.core.cell.call(null,0),h=javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a,b){return b.call(null,4,a)}}(g,b,c,c,d,e,f)).call(null,g,Math.pow),k=cljs.core.merge.call(null,c,new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"mission","mission",1740288522),a,new cljs.core.Keyword(null,"checked-flights","checked-flights",1669126695),javelin.core.cell.call(null,cljs.core.PersistentHashSet.EMPTY),new cljs.core.Keyword(null,"highlighted-flight","highlighted-flight",
-2117068813),javelin.core.cell.call(null,null),new cljs.core.Keyword(null,"display","display",242065432),javelin.core.cell.call(null,cljs.core.PersistentArrayMap.EMPTY),new cljs.core.Keyword(null,"all-flights","all-flights",253678712),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a,b){return cljs.core.truth_(null==b)?null:a.call(null,b)}}(g,h,b,c,c,d,e,f)).call(null,weathergen.falcon.files.mission.flights,a),new cljs.core.Keyword(null,"selected-teams","selected-teams",317107671),
javelin.core.cell.call(null,cljs.core.PersistentHashSet.EMPTY),new cljs.core.Keyword(null,"map-flight-path-size","map-flight-path-size",-1349075868),g,new cljs.core.Keyword(null,"map-flight-path-scale","map-flight-path-scale",866693625),h],null)),l=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(g,h,k,b,c,c,d,e,f)).call(null,a,f);hoplon.core.do_watch.call(null,l,new cljs.core.Keyword("weathergen.ui.layers.flights",
"reset-on-mission-change","weathergen.ui.layers.flights/reset-on-mission-change",496588105),function(a,b,c,d,e,f,g,h,k,l){return function(m,n){var p=cljs.core.nth.call(null,n,0,null),q=cljs.core.nth.call(null,n,1,null),r=console.time("updating flights section"),p=javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(){cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,"display","display",242065432)).cljs$core$IFn$_invoke$arity$1(h),cljs.core.PersistentArrayMap.EMPTY);
cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,"highlighted-flight","highlighted-flight",-2117068813)).cljs$core$IFn$_invoke$arity$1(h),null);cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,"checked-flights","checked-flights",1669126695)).cljs$core$IFn$_invoke$arity$1(h),cljs.core.PersistentHashSet.EMPTY);return cljs.core.reset_BANG_.call(null,(new cljs.core.Keyword(null,"selected-teams","selected-teams",317107671)).cljs$core$IFn$_invoke$arity$1(h),function(){var a=cljs.core.set.call(null,
weathergen.falcon.files.mission.teams_for_side.call(null,d,weathergen.falcon.files.mission.side.call(null,d,weathergen.falcon.files.mission.last_player_team.call(null,d))));return cljs.core.empty_QMARK_.call(null,clojure.set.intersection.call(null,a,e))?e:a}())}}("updating flights section",r,n,p,q,a,b,c,d,e,f,g,h,k,l));console.timeEnd("updating flights section");return p}}(g,h,k,l,b,c,c,d,e,f));return cljs.core.assoc.call(null,k,new cljs.core.Keyword(null,"controls-fn","controls-fn",-807620277),function(a,
b,c,d,e,f,g,h,k,l){return function(a){return weathergen.ui.layers.flights.controls.call(null,cljs.core.assoc.call(null,c,new cljs.core.Keyword(null,"scroll-container","scroll-container",-1938238550),a))}}(g,h,k,l,b,c,c,d,e,f),new cljs.core.Keyword(null,"map-display-controls-fn","map-display-controls-fn",1472969543),function(a,b,c,d,e,f,g,h,k,l){return function(a){return weathergen.ui.layers.flights.flight_path_display_controls.call(null,a,c)}}(g,h,k,l,b,c,c,d,e,f),new cljs.core.Keyword(null,"overlay",
"overlay",-139131598),weathergen.ui.layers.flights.overlay.call(null,k))};cljs.core.async={};cljs.core.async.impl={};cljs.core.async.impl.protocols={};cljs.core.async.impl.protocols.MAX_QUEUE_SIZE=1024;cljs.core.async.impl.protocols.ReadPort=function(){};
cljs.core.async.impl.protocols.take_BANG_=function(a,b){if(null!=a&&null!=a.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2)return a.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2(a,b);var c=cljs.core.async.impl.protocols.take_BANG_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.core.async.impl.protocols.take_BANG_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"ReadPort.take!",a);};
cljs.core.async.impl.protocols.WritePort=function(){};
cljs.core.async.impl.protocols.put_BANG_=function(a,b,c){if(null!=a&&null!=a.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3)return a.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3(a,b,c);var d=cljs.core.async.impl.protocols.put_BANG_[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=cljs.core.async.impl.protocols.put_BANG_._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"WritePort.put!",a);};
cljs.core.async.impl.protocols.Channel=function(){};
cljs.core.async.impl.protocols.close_BANG_=function(a){if(null!=a&&null!=a.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1)return a.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1(a);var b=cljs.core.async.impl.protocols.close_BANG_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.impl.protocols.close_BANG_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Channel.close!",a);};
cljs.core.async.impl.protocols.closed_QMARK_=function(a){if(null!=a&&null!=a.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1)return a.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1(a);var b=cljs.core.async.impl.protocols.closed_QMARK_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.impl.protocols.closed_QMARK_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Channel.closed?",a);};
cljs.core.async.impl.protocols.Handler=function(){};
cljs.core.async.impl.protocols.active_QMARK_=function(a){if(null!=a&&null!=a.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1)return a.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(a);var b=cljs.core.async.impl.protocols.active_QMARK_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.impl.protocols.active_QMARK_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Handler.active?",a);};
cljs.core.async.impl.protocols.blockable_QMARK_=function(a){if(null!=a&&null!=a.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1)return a.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1(a);var b=cljs.core.async.impl.protocols.blockable_QMARK_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.impl.protocols.blockable_QMARK_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Handler.blockable?",a);};
cljs.core.async.impl.protocols.commit=function(a){if(null!=a&&null!=a.cljs$core$async$impl$protocols$Handler$commit$arity$1)return a.cljs$core$async$impl$protocols$Handler$commit$arity$1(a);var b=cljs.core.async.impl.protocols.commit[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.impl.protocols.commit._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Handler.commit",a);};cljs.core.async.impl.protocols.Buffer=function(){};
cljs.core.async.impl.protocols.full_QMARK_=function(a){if(null!=a&&null!=a.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1)return a.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1(a);var b=cljs.core.async.impl.protocols.full_QMARK_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.impl.protocols.full_QMARK_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Buffer.full?",a);};
cljs.core.async.impl.protocols.remove_BANG_=function(a){if(null!=a&&null!=a.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1)return a.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(a);var b=cljs.core.async.impl.protocols.remove_BANG_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.impl.protocols.remove_BANG_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Buffer.remove!",a);};
cljs.core.async.impl.protocols.add_BANG__STAR_=function(a,b){if(null!=a&&null!=a.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2)return a.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2(a,b);var c=cljs.core.async.impl.protocols.add_BANG__STAR_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.core.async.impl.protocols.add_BANG__STAR_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Buffer.add!*",a);};
cljs.core.async.impl.protocols.close_buf_BANG_=function(a){if(null!=a&&null!=a.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1)return a.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1(a);var b=cljs.core.async.impl.protocols.close_buf_BANG_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.impl.protocols.close_buf_BANG_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Buffer.close-buf!",a);};
cljs.core.async.impl.protocols.add_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$1=function(a){return a};cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){if(null==b)throw Error("Assert failed: (not (nil? itm))");return cljs.core.async.impl.protocols.add_BANG__STAR_.call(null,a,b)};cljs.core.async.impl.protocols.add_BANG_.cljs$lang$maxFixedArity=2;cljs.core.async.impl.protocols.UnblockingBuffer=function(){};cljs.core.async.impl.buffers={};cljs.core.async.impl.buffers.acopy=function(a,b,c,d,e){for(var f=0;;)if(f<e)c[d+f]=a[b+f],f+=1;else return null};cljs.core.async.impl.buffers.RingBuffer=function(a,b,c,d){this.head=a;this.tail=b;this.length=c;this.arr=d};cljs.core.async.impl.buffers.RingBuffer.prototype.pop=function(){if(0===this.length)return null;var a=this.arr[this.tail];this.arr[this.tail]=null;this.tail=(this.tail+1)%this.arr.length;--this.length;return a};
cljs.core.async.impl.buffers.RingBuffer.prototype.unshift=function(a){this.arr[this.head]=a;this.head=(this.head+1)%this.arr.length;this.length+=1;return null};cljs.core.async.impl.buffers.RingBuffer.prototype.unbounded_unshift=function(a){this.length+1===this.arr.length&&this.resize();return this.unshift(a)};
cljs.core.async.impl.buffers.RingBuffer.prototype.resize=function(){var a=Array(2*this.arr.length);return this.tail<this.head?(cljs.core.async.impl.buffers.acopy.call(null,this.arr,this.tail,a,0,this.length),this.tail=0,this.head=this.length,this.arr=a):this.tail>this.head?(cljs.core.async.impl.buffers.acopy.call(null,this.arr,this.tail,a,0,this.arr.length-this.tail),cljs.core.async.impl.buffers.acopy.call(null,this.arr,0,a,this.arr.length-this.tail,this.head),this.tail=0,this.head=this.length,this.arr=
a):this.tail===this.head?(this.head=this.tail=0,this.arr=a):null};cljs.core.async.impl.buffers.RingBuffer.prototype.cleanup=function(a){for(var b=this.length,c=0;;)if(c<b){var d=this.pop();a.call(null,d)&&this.unshift(d);c+=1}else return null};
cljs.core.async.impl.buffers.RingBuffer.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"head","head",869147608,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"tail","tail",494507963,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),
!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"length","length",-2065447907,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"arr","arr",2115492975,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.async.impl.buffers.RingBuffer.cljs$lang$type=!0;
cljs.core.async.impl.buffers.RingBuffer.cljs$lang$ctorStr="cljs.core.async.impl.buffers/RingBuffer";cljs.core.async.impl.buffers.RingBuffer.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async.impl.buffers/RingBuffer")};cljs.core.async.impl.buffers.__GT_RingBuffer=function(a,b,c,d){return new cljs.core.async.impl.buffers.RingBuffer(a,b,c,d)};
cljs.core.async.impl.buffers.ring_buffer=function(a){if(!(0<a))throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Assert failed: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1("Can't create a ring buffer of size 0"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("\n"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("(\x3e n 0)")].join(""));return new cljs.core.async.impl.buffers.RingBuffer(0,0,0,Array(a))};
cljs.core.async.impl.buffers.FixedBuffer=function(a,b){this.buf=a;this.n=b;this.cljs$lang$protocol_mask$partition0$=2;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1=function(a){return this.buf.length===this.n};
cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1=function(a){return this.buf.pop()};cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2=function(a,b){this.buf.unbounded_unshift(b);return this};cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1=function(a){return null};
cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.buf.length};cljs.core.async.impl.buffers.FixedBuffer.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"buf","buf",1426618187,null),new cljs.core.Symbol(null,"n","n",-2092305744,null)],null)};cljs.core.async.impl.buffers.FixedBuffer.cljs$lang$type=!0;
cljs.core.async.impl.buffers.FixedBuffer.cljs$lang$ctorStr="cljs.core.async.impl.buffers/FixedBuffer";cljs.core.async.impl.buffers.FixedBuffer.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async.impl.buffers/FixedBuffer")};cljs.core.async.impl.buffers.__GT_FixedBuffer=function(a,b){return new cljs.core.async.impl.buffers.FixedBuffer(a,b)};
cljs.core.async.impl.buffers.fixed_buffer=function(a){return new cljs.core.async.impl.buffers.FixedBuffer(cljs.core.async.impl.buffers.ring_buffer.call(null,a),a)};cljs.core.async.impl.buffers.DroppingBuffer=function(a,b){this.buf=a;this.n=b;this.cljs$lang$protocol_mask$partition0$=2;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$UnblockingBuffer$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1=function(a){return!1};cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1=function(a){return this.buf.pop()};
cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2=function(a,b){this.buf.length!==this.n&&this.buf.unshift(b);return this};cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1=function(a){return null};cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.buf.length};
cljs.core.async.impl.buffers.DroppingBuffer.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"buf","buf",1426618187,null),new cljs.core.Symbol(null,"n","n",-2092305744,null)],null)};cljs.core.async.impl.buffers.DroppingBuffer.cljs$lang$type=!0;cljs.core.async.impl.buffers.DroppingBuffer.cljs$lang$ctorStr="cljs.core.async.impl.buffers/DroppingBuffer";
cljs.core.async.impl.buffers.DroppingBuffer.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async.impl.buffers/DroppingBuffer")};cljs.core.async.impl.buffers.__GT_DroppingBuffer=function(a,b){return new cljs.core.async.impl.buffers.DroppingBuffer(a,b)};cljs.core.async.impl.buffers.dropping_buffer=function(a){return new cljs.core.async.impl.buffers.DroppingBuffer(cljs.core.async.impl.buffers.ring_buffer.call(null,a),a)};
cljs.core.async.impl.buffers.SlidingBuffer=function(a,b){this.buf=a;this.n=b;this.cljs$lang$protocol_mask$partition0$=2;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$UnblockingBuffer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1=function(a){return!1};cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1=function(a){return this.buf.pop()};
cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2=function(a,b){this.buf.length===this.n&&cljs.core.async.impl.protocols.remove_BANG_.call(null,this);this.buf.unshift(b);return this};cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1=function(a){return null};cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$ICounted$_count$arity$1=function(a){return this.buf.length};
cljs.core.async.impl.buffers.SlidingBuffer.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"buf","buf",1426618187,null),new cljs.core.Symbol(null,"n","n",-2092305744,null)],null)};cljs.core.async.impl.buffers.SlidingBuffer.cljs$lang$type=!0;cljs.core.async.impl.buffers.SlidingBuffer.cljs$lang$ctorStr="cljs.core.async.impl.buffers/SlidingBuffer";
cljs.core.async.impl.buffers.SlidingBuffer.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async.impl.buffers/SlidingBuffer")};cljs.core.async.impl.buffers.__GT_SlidingBuffer=function(a,b){return new cljs.core.async.impl.buffers.SlidingBuffer(a,b)};cljs.core.async.impl.buffers.sliding_buffer=function(a){return new cljs.core.async.impl.buffers.SlidingBuffer(cljs.core.async.impl.buffers.ring_buffer.call(null,a),a)};
"undefined"===typeof cljs.core.async.impl.buffers.NO_VAL&&(cljs.core.async.impl.buffers.NO_VAL={});cljs.core.async.impl.buffers.undelivered_QMARK_=function(a){return cljs.core.async.impl.buffers.NO_VAL===a};cljs.core.async.impl.buffers.PromiseBuffer=function(a){this.val=a;this.cljs$lang$protocol_mask$partition0$=2;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$UnblockingBuffer$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$=cljs.core.PROTOCOL_SENTINEL;cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1=function(a){return!1};cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1=function(a){return this.val};
cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2=function(a,b){cljs.core.truth_(cljs.core.async.impl.buffers.undelivered_QMARK_.call(null,this.val))&&(this.val=b);return this};cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1=function(a){return cljs.core.truth_(cljs.core.async.impl.buffers.undelivered_QMARK_.call(null,this.val))?this.val=null:null};
cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$ICounted$_count$arity$1=function(a){return cljs.core.truth_(cljs.core.async.impl.buffers.undelivered_QMARK_.call(null,this.val))?0:1};
cljs.core.async.impl.buffers.PromiseBuffer.getBasis=function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.with_meta(new cljs.core.Symbol(null,"val","val",1769233139,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.async.impl.buffers.PromiseBuffer.cljs$lang$type=!0;cljs.core.async.impl.buffers.PromiseBuffer.cljs$lang$ctorStr="cljs.core.async.impl.buffers/PromiseBuffer";
cljs.core.async.impl.buffers.PromiseBuffer.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async.impl.buffers/PromiseBuffer")};cljs.core.async.impl.buffers.__GT_PromiseBuffer=function(a){return new cljs.core.async.impl.buffers.PromiseBuffer(a)};cljs.core.async.impl.buffers.promise_buffer=function(){return new cljs.core.async.impl.buffers.PromiseBuffer(cljs.core.async.impl.buffers.NO_VAL)};cljs.core.async.impl.dispatch={};cljs.core.async.impl.dispatch.tasks=cljs.core.async.impl.buffers.ring_buffer.call(null,32);cljs.core.async.impl.dispatch.running_QMARK_=!1;cljs.core.async.impl.dispatch.queued_QMARK_=!1;cljs.core.async.impl.dispatch.TASK_BATCH_SIZE=1024;
cljs.core.async.impl.dispatch.process_messages=function(){cljs.core.async.impl.dispatch.running_QMARK_=!0;cljs.core.async.impl.dispatch.queued_QMARK_=!1;for(var a=0;;){var b=cljs.core.async.impl.dispatch.tasks.pop();if(null!=b&&(b.call(null),a<cljs.core.async.impl.dispatch.TASK_BATCH_SIZE)){a+=1;continue}break}cljs.core.async.impl.dispatch.running_QMARK_=!1;return 0<cljs.core.async.impl.dispatch.tasks.length?cljs.core.async.impl.dispatch.queue_dispatcher.call(null):null};
cljs.core.async.impl.dispatch.queue_dispatcher=function(){if(cljs.core.async.impl.dispatch.queued_QMARK_&&cljs.core.async.impl.dispatch.running_QMARK_)return null;cljs.core.async.impl.dispatch.queued_QMARK_=!0;return goog.async.nextTick(cljs.core.async.impl.dispatch.process_messages)};cljs.core.async.impl.dispatch.run=function(a){cljs.core.async.impl.dispatch.tasks.unbounded_unshift(a);return cljs.core.async.impl.dispatch.queue_dispatcher.call(null)};
cljs.core.async.impl.dispatch.queue_delay=function(a,b){return setTimeout(a,b)};cljs.core.async.impl.channels={};
cljs.core.async.impl.channels.box=function(a){"undefined"===typeof cljs.core.async.impl.channels.t_cljs$core$async$impl$channels30377&&(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels30377=function(a,c){this.val=a;this.meta30378=c;this.cljs$lang$protocol_mask$partition0$=425984;this.cljs$lang$protocol_mask$partition1$=0},cljs.core.async.impl.channels.t_cljs$core$async$impl$channels30377.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,c){return new cljs.core.async.impl.channels.t_cljs$core$async$impl$channels30377(this.val,c)},
cljs.core.async.impl.channels.t_cljs$core$async$impl$channels30377.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta30378},cljs.core.async.impl.channels.t_cljs$core$async$impl$channels30377.prototype.cljs$core$IDeref$_deref$arity$1=function(a){return this.val},cljs.core.async.impl.channels.t_cljs$core$async$impl$channels30377.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"val","val",1769233139,
null),new cljs.core.Symbol(null,"meta30378","meta30378",1520048201,null)],null)},cljs.core.async.impl.channels.t_cljs$core$async$impl$channels30377.cljs$lang$type=!0,cljs.core.async.impl.channels.t_cljs$core$async$impl$channels30377.cljs$lang$ctorStr="cljs.core.async.impl.channels/t_cljs$core$async$impl$channels30377",cljs.core.async.impl.channels.t_cljs$core$async$impl$channels30377.cljs$lang$ctorPrWriter=function(a,c,d){return cljs.core._write.call(null,c,"cljs.core.async.impl.channels/t_cljs$core$async$impl$channels30377")},
cljs.core.async.impl.channels.__GT_t_cljs$core$async$impl$channels30377=function(a,c){return new cljs.core.async.impl.channels.t_cljs$core$async$impl$channels30377(a,c)});return new cljs.core.async.impl.channels.t_cljs$core$async$impl$channels30377(a,cljs.core.PersistentArrayMap.EMPTY)};cljs.core.async.impl.channels.PutBox=function(a,b){this.handler=a;this.val=b};
cljs.core.async.impl.channels.PutBox.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"handler","handler",1444934915,null),new cljs.core.Symbol(null,"val","val",1769233139,null)],null)};cljs.core.async.impl.channels.PutBox.cljs$lang$type=!0;cljs.core.async.impl.channels.PutBox.cljs$lang$ctorStr="cljs.core.async.impl.channels/PutBox";
cljs.core.async.impl.channels.PutBox.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async.impl.channels/PutBox")};cljs.core.async.impl.channels.__GT_PutBox=function(a,b){return new cljs.core.async.impl.channels.PutBox(a,b)};cljs.core.async.impl.channels.put_active_QMARK_=function(a){return cljs.core.async.impl.protocols.active_QMARK_.call(null,a.handler)};cljs.core.async.impl.channels.MAX_DIRTY=64;cljs.core.async.impl.channels.MMC=function(){};
cljs.core.async.impl.channels.abort=function(a){if(null!=a&&null!=a.cljs$core$async$impl$channels$MMC$abort$arity$1)return a.cljs$core$async$impl$channels$MMC$abort$arity$1(a);var b=cljs.core.async.impl.channels.abort[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.impl.channels.abort._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"MMC.abort",a);};
cljs.core.async.impl.channels.ManyToManyChannel=function(a,b,c,d,e,f,g){this.takes=a;this.dirty_takes=b;this.puts=c;this.dirty_puts=d;this.buf=e;this.closed=f;this.add_BANG_=g};cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$channels$MMC$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$channels$MMC$abort$arity$1=function(a){for(;;){a=this.puts.pop();if(null!=a){var b=a.handler,c=a.val;if(cljs.core.async.impl.protocols.active_QMARK_.call(null,b)){var d=cljs.core.async.impl.protocols.commit.call(null,b);cljs.core.async.impl.dispatch.run.call(null,function(a,b,c,d,k){return function(){return a.call(null,!0)}}(d,b,c,a,this))}else continue}break}this.puts.cleanup(cljs.core.constantly.call(null,!1));return cljs.core.async.impl.protocols.close_BANG_.call(null,
this)};cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$WritePort$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3=function(a,b,c){var d=this,e=this;if(null==b)throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Assert failed: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1("Can't put nil in on a channel"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("\n"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("(not (nil? val))")].join(""));var f=d.closed;if(f||!cljs.core.async.impl.protocols.active_QMARK_.call(null,
c))return cljs.core.async.impl.channels.box.call(null,!f);if(cljs.core.truth_(function(){var a=d.buf;return cljs.core.truth_(a)?cljs.core.not.call(null,cljs.core.async.impl.protocols.full_QMARK_.call(null,d.buf)):a}())){cljs.core.async.impl.protocols.commit.call(null,c);var g=cljs.core.reduced_QMARK_.call(null,d.add_BANG_.call(null,d.buf,b));c=function(){for(var a=cljs.core.PersistentVector.EMPTY;;)if(0<d.takes.length&&0<cljs.core.count.call(null,d.buf)){var b=d.takes.pop();if(cljs.core.async.impl.protocols.active_QMARK_.call(null,
b))var c=cljs.core.async.impl.protocols.commit.call(null,b),h=cljs.core.async.impl.protocols.remove_BANG_.call(null,d.buf),a=cljs.core.conj.call(null,a,function(a,b,c,d,e,f,g){return function(){return b.call(null,c)}}(a,c,h,b,g,f,e))}else return a}();g&&cljs.core.async.impl.channels.abort.call(null,e);if(cljs.core.seq.call(null,c)){c=cljs.core.seq.call(null,c);a=null;for(var h=0,k=0;;)if(k<h){var l=cljs.core._nth.call(null,a,k);cljs.core.async.impl.dispatch.run.call(null,l);k+=1}else if(c=cljs.core.seq.call(null,
c))a=c,cljs.core.chunked_seq_QMARK_.call(null,a)?(c=cljs.core.chunk_first.call(null,a),k=cljs.core.chunk_rest.call(null,a),a=c,h=cljs.core.count.call(null,c),c=k):(c=cljs.core.first.call(null,a),cljs.core.async.impl.dispatch.run.call(null,c),c=cljs.core.next.call(null,a),a=null,h=0),k=0;else break}return cljs.core.async.impl.channels.box.call(null,!0)}a=function(){for(;;){var a=d.takes.pop();if(cljs.core.truth_(a)){if(cljs.core.truth_(cljs.core.async.impl.protocols.active_QMARK_.call(null,a)))return a}else return null}}();
if(cljs.core.truth_(a))return h=cljs.core.async.impl.protocols.commit.call(null,a),cljs.core.async.impl.protocols.commit.call(null,c),cljs.core.async.impl.dispatch.run.call(null,function(a,c,d,e){return function(){return a.call(null,b)}}(h,a,f,e)),cljs.core.async.impl.channels.box.call(null,!0);d.dirty_puts>cljs.core.async.impl.channels.MAX_DIRTY?(d.dirty_puts=0,d.puts.cleanup(cljs.core.async.impl.channels.put_active_QMARK_)):d.dirty_puts+=1;if(cljs.core.truth_(cljs.core.async.impl.protocols.blockable_QMARK_.call(null,
c))){if(!(d.puts.length<cljs.core.async.impl.protocols.MAX_QUEUE_SIZE))throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Assert failed: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No more than "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.async.impl.protocols.MAX_QUEUE_SIZE),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" pending puts are allowed on a single channel."),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" Consider using a windowed buffer.")].join("")),
cljs.core.str.cljs$core$IFn$_invoke$arity$1("\n"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("(\x3c (.-length puts) impl/MAX-QUEUE-SIZE)")].join(""));d.puts.unbounded_unshift(new cljs.core.async.impl.channels.PutBox(c,b))}return null};cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$ReadPort$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2=function(a,b){var c=this;if(cljs.core.async.impl.protocols.active_QMARK_.call(null,b)){if(null!=c.buf&&0<cljs.core.count.call(null,c.buf)){var d=cljs.core.async.impl.protocols.commit.call(null,b);if(cljs.core.truth_(d)){var e=cljs.core.async.impl.protocols.remove_BANG_.call(null,c.buf);var f=0<c.puts.length?function(){for(var a=cljs.core.PersistentVector.EMPTY;;){var b=c.puts.pop(),
d=b.handler,b=b.val;var e=cljs.core.async.impl.protocols.active_QMARK_.call(null,d),d=e?cljs.core.async.impl.protocols.commit.call(null,d):e;a=cljs.core.truth_(d)?cljs.core.conj.call(null,a,d):a;b=cljs.core.truth_(d)?cljs.core.reduced_QMARK_.call(null,c.add_BANG_.call(null,c.buf,b)):null;if(!(cljs.core.not.call(null,b)&&cljs.core.not.call(null,cljs.core.async.impl.protocols.full_QMARK_.call(null,c.buf))&&0<c.puts.length))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[b,a],null)}}():null,g=cljs.core.nth.call(null,f,0,null),h=cljs.core.nth.call(null,f,1,null);cljs.core.truth_(g)&&cljs.core.async.impl.channels.abort.call(null,this);for(var k=cljs.core.seq.call(null,h),l=null,m=0,n=0;;)if(n<m){var p=cljs.core._nth.call(null,l,n);cljs.core.async.impl.dispatch.run.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(){return e.call(null,!0)}}(k,l,m,n,p,e,f,g,h,d,d,this));n+=1}else{var q=cljs.core.seq.call(null,k);if(q){p=q;if(cljs.core.chunked_seq_QMARK_.call(null,
p))k=cljs.core.chunk_first.call(null,p),n=cljs.core.chunk_rest.call(null,p),l=k,m=cljs.core.count.call(null,k),k=n;else{var r=cljs.core.first.call(null,p);cljs.core.async.impl.dispatch.run.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(){return e.call(null,!0)}}(k,l,m,n,r,p,q,e,f,g,h,d,d,this));k=cljs.core.next.call(null,p);l=null;m=0}n=0}else break}return cljs.core.async.impl.channels.box.call(null,e)}return null}e=function(){for(;;){var a=c.puts.pop();if(cljs.core.truth_(a)){if(cljs.core.async.impl.protocols.active_QMARK_.call(null,
a.handler))return a}else return null}}();if(cljs.core.truth_(e))return d=cljs.core.async.impl.protocols.commit.call(null,e.handler),cljs.core.async.impl.protocols.commit.call(null,b),cljs.core.async.impl.dispatch.run.call(null,function(a,b,c){return function(){return a.call(null,!0)}}(d,e,this)),cljs.core.async.impl.channels.box.call(null,e.val);if(cljs.core.truth_(c.closed))return cljs.core.truth_(c.buf)&&c.add_BANG_.call(null,c.buf),cljs.core.truth_(function(){var a=cljs.core.async.impl.protocols.active_QMARK_.call(null,
b);return cljs.core.truth_(a)?cljs.core.async.impl.protocols.commit.call(null,b):a}())?(e=function(){var a=c.buf;return cljs.core.truth_(a)?0<cljs.core.count.call(null,c.buf):a}(),e=cljs.core.truth_(e)?cljs.core.async.impl.protocols.remove_BANG_.call(null,c.buf):null,cljs.core.async.impl.channels.box.call(null,e)):null;c.dirty_takes>cljs.core.async.impl.channels.MAX_DIRTY?(c.dirty_takes=0,c.takes.cleanup(cljs.core.async.impl.protocols.active_QMARK_)):c.dirty_takes+=1;if(cljs.core.truth_(cljs.core.async.impl.protocols.blockable_QMARK_.call(null,
b))){if(!(c.takes.length<cljs.core.async.impl.protocols.MAX_QUEUE_SIZE))throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Assert failed: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No more than "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.async.impl.protocols.MAX_QUEUE_SIZE),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" pending takes are allowed on a single channel.")].join("")),cljs.core.str.cljs$core$IFn$_invoke$arity$1("\n"),
cljs.core.str.cljs$core$IFn$_invoke$arity$1("(\x3c (.-length takes) impl/MAX-QUEUE-SIZE)")].join(""));c.takes.unbounded_unshift(b)}}return null};cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$=cljs.core.PROTOCOL_SENTINEL;cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1=function(a){return this.closed};
cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1=function(a){var b=this;if(!b.closed){b.closed=!0;for(cljs.core.truth_(function(){var a=b.buf;return cljs.core.truth_(a)?0===b.puts.length:a}())&&b.add_BANG_.call(null,b.buf);;)if(a=b.takes.pop(),null!=a){if(cljs.core.async.impl.protocols.active_QMARK_.call(null,a)){var c=cljs.core.async.impl.protocols.commit.call(null,a),d=cljs.core.truth_(function(){var a=b.buf;return cljs.core.truth_(a)?
0<cljs.core.count.call(null,b.buf):a}())?cljs.core.async.impl.protocols.remove_BANG_.call(null,b.buf):null;cljs.core.async.impl.dispatch.run.call(null,function(a,b,c,d){return function(){return a.call(null,b)}}(c,d,a,this))}}else break;cljs.core.truth_(b.buf)&&cljs.core.async.impl.protocols.close_buf_BANG_.call(null,b.buf)}return null};
cljs.core.async.impl.channels.ManyToManyChannel.getBasis=function(){return new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"takes","takes",298247964,null),cljs.core.with_meta(new cljs.core.Symbol(null,"dirty-takes","dirty-takes",575642138,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),new cljs.core.Symbol(null,"puts","puts",-1883877054,null),cljs.core.with_meta(new cljs.core.Symbol(null,
"dirty-puts","dirty-puts",57041148,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"buf","buf",1426618187,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"not-native","not-native",-236392494,null)],null)),cljs.core.with_meta(new cljs.core.Symbol(null,"closed","closed",720856168,null),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),new cljs.core.Symbol(null,"add!","add!",2046056845,null)],null)};cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$type=!0;cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$ctorStr="cljs.core.async.impl.channels/ManyToManyChannel";cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async.impl.channels/ManyToManyChannel")};
cljs.core.async.impl.channels.__GT_ManyToManyChannel=function(a,b,c,d,e,f,g){return new cljs.core.async.impl.channels.ManyToManyChannel(a,b,c,d,e,f,g)};cljs.core.async.impl.channels.ex_handler=function(a){console.log(a);return null};cljs.core.async.impl.channels.handle=function(a,b,c){b=cljs.core.truth_(b)?b:cljs.core.async.impl.channels.ex_handler;c=b.call(null,c);return null==c?a:cljs.core.async.impl.protocols.add_BANG_.call(null,a,c)};
cljs.core.async.impl.channels.chan=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.async.impl.channels.chan.call(null,a,null)};cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.impl.channels.chan.call(null,a,b,null)};
cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return new cljs.core.async.impl.channels.ManyToManyChannel(cljs.core.async.impl.buffers.ring_buffer.call(null,32),0,cljs.core.async.impl.buffers.ring_buffer.call(null,32),0,a,!1,function(){return function(a){return function(){var b=null,d=function(b){try{return a.call(null,b)}catch(k){return cljs.core.async.impl.channels.handle.call(null,b,c,k)}},g=function(b,d){try{return a.call(null,b,d)}catch(l){return cljs.core.async.impl.channels.handle.call(null,
b,c,l)}},b=function(a,b){switch(arguments.length){case 1:return d.call(this,a);case 2:return g.call(this,a,b)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$1=d;b.cljs$core$IFn$_invoke$arity$2=g;return b}()}(cljs.core.truth_(b)?b.call(null,cljs.core.async.impl.protocols.add_BANG_):cljs.core.async.impl.protocols.add_BANG_)}())};cljs.core.async.impl.channels.chan.cljs$lang$maxFixedArity=3;cljs.core.async.impl.ioc_helpers={};cljs.core.async.impl.ioc_helpers.FN_IDX=0;cljs.core.async.impl.ioc_helpers.STATE_IDX=1;cljs.core.async.impl.ioc_helpers.VALUE_IDX=2;cljs.core.async.impl.ioc_helpers.BINDINGS_IDX=3;cljs.core.async.impl.ioc_helpers.EXCEPTION_FRAMES=4;cljs.core.async.impl.ioc_helpers.CURRENT_EXCEPTION=5;cljs.core.async.impl.ioc_helpers.USER_START_IDX=6;cljs.core.async.impl.ioc_helpers.aset_object=function(a,b,c){return a[b][c]};
cljs.core.async.impl.ioc_helpers.aget_object=function(a,b){return a[b]};cljs.core.async.impl.ioc_helpers.finished_QMARK_=function(a){return cljs.core.keyword_identical_QMARK_.call(null,a[cljs.core.async.impl.ioc_helpers.STATE_IDX],new cljs.core.Keyword(null,"finished","finished",-1018867731))};
cljs.core.async.impl.ioc_helpers.fn_handler=function(a){"undefined"===typeof cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers40778&&(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers40778=function(a,c){this.f=a;this.meta40779=c;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers40778.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,c){return new cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers40778(this.f,
c)},cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers40778.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta40779},cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers40778.prototype.cljs$core$async$impl$protocols$Handler$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers40778.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1=function(a){return!0},cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers40778.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1=
function(a){return!0},cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers40778.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1=function(a){return this.f},cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers40778.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"f","f",43394975,null),new cljs.core.Symbol(null,"meta40779","meta40779",215747227,null)],null)},cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers40778.cljs$lang$type=
!0,cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers40778.cljs$lang$ctorStr="cljs.core.async.impl.ioc-helpers/t_cljs$core$async$impl$ioc_helpers40778",cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers40778.cljs$lang$ctorPrWriter=function(a,c,d){return cljs.core._write.call(null,c,"cljs.core.async.impl.ioc-helpers/t_cljs$core$async$impl$ioc_helpers40778")},cljs.core.async.impl.ioc_helpers.__GT_t_cljs$core$async$impl$ioc_helpers40778=function(a,c){return new cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers40778(a,
c)});return new cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers40778(a,cljs.core.PersistentArrayMap.EMPTY)};cljs.core.async.impl.ioc_helpers.run_state_machine=function(a){return cljs.core.async.impl.ioc_helpers.aget_object.call(null,a,cljs.core.async.impl.ioc_helpers.FN_IDX).call(null,a)};
cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped=function(a){try{return cljs.core.async.impl.ioc_helpers.run_state_machine.call(null,a)}catch(c){if(c instanceof Object){var b=c;cljs.core.async.impl.protocols.close_BANG_.call(null,cljs.core.async.impl.ioc_helpers.aget_object.call(null,a,cljs.core.async.impl.ioc_helpers.USER_START_IDX));throw b;}throw c;}};
cljs.core.async.impl.ioc_helpers.take_BANG_=function(a,b,c){c=cljs.core.async.impl.protocols.take_BANG_.call(null,c,cljs.core.async.impl.ioc_helpers.fn_handler.call(null,function(c){a[cljs.core.async.impl.ioc_helpers.VALUE_IDX]=c;a[cljs.core.async.impl.ioc_helpers.STATE_IDX]=b;return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,a)}));return cljs.core.truth_(c)?(a[cljs.core.async.impl.ioc_helpers.VALUE_IDX]=cljs.core.deref.call(null,c),a[cljs.core.async.impl.ioc_helpers.STATE_IDX]=
b,new cljs.core.Keyword(null,"recur","recur",-437573268)):null};
cljs.core.async.impl.ioc_helpers.put_BANG_=function(a,b,c,d){c=cljs.core.async.impl.protocols.put_BANG_.call(null,c,d,cljs.core.async.impl.ioc_helpers.fn_handler.call(null,function(c){a[cljs.core.async.impl.ioc_helpers.VALUE_IDX]=c;a[cljs.core.async.impl.ioc_helpers.STATE_IDX]=b;return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,a)}));return cljs.core.truth_(c)?(a[cljs.core.async.impl.ioc_helpers.VALUE_IDX]=cljs.core.deref.call(null,c),a[cljs.core.async.impl.ioc_helpers.STATE_IDX]=
b,new cljs.core.Keyword(null,"recur","recur",-437573268)):null};cljs.core.async.impl.ioc_helpers.return_chan=function(a,b){var c=a[cljs.core.async.impl.ioc_helpers.USER_START_IDX];null!=b&&cljs.core.async.impl.protocols.put_BANG_.call(null,c,b,cljs.core.async.impl.ioc_helpers.fn_handler.call(null,function(a){return function(){return null}}(c)));cljs.core.async.impl.protocols.close_BANG_.call(null,c);return c};
cljs.core.async.impl.ioc_helpers.ExceptionFrame=function(a,b,c,d,e,f,g,h){this.catch_block=a;this.catch_exception=b;this.finally_block=c;this.continue_block=d;this.prev=e;this.__meta=f;this.__extmap=g;this.__hash=h;this.cljs$lang$protocol_mask$partition0$=2229667594;this.cljs$lang$protocol_mask$partition1$=8192};cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$ILookup$_lookup$arity$2=function(a,b){return this.cljs$core$ILookup$_lookup$arity$3(null,b,null)};
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$ILookup$_lookup$arity$3=function(a,b,c){switch(b instanceof cljs.core.Keyword?b.fqn:null){case "catch-block":return this.catch_block;case "catch-exception":return this.catch_exception;case "finally-block":return this.finally_block;case "continue-block":return this.continue_block;case "prev":return this.prev;default:return cljs.core.get.call(null,this.__extmap,b,c)}};
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"#cljs.core.async.impl.ioc-helpers.ExceptionFrame{",", ","}",c,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"catch-block","catch-block",1175212748),this.catch_block],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"catch-exception","catch-exception",-1997306795),this.catch_exception],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"finally-block","finally-block",832982472),this.finally_block],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"continue-block","continue-block",-1852047850),this.continue_block],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"prev","prev",-1597069226),this.prev],null)],null),this.__extmap))};cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IIterable$=cljs.core.PROTOCOL_SENTINEL;
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IIterable$_iterator$arity$1=function(a){return new cljs.core.RecordIter(0,this,5,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"catch-block","catch-block",1175212748),new cljs.core.Keyword(null,"catch-exception","catch-exception",-1997306795),new cljs.core.Keyword(null,"finally-block","finally-block",832982472),new cljs.core.Keyword(null,"continue-block","continue-block",
-1852047850),new cljs.core.Keyword(null,"prev","prev",-1597069226)],null),cljs.core.truth_(this.__extmap)?cljs.core._iterator.call(null,this.__extmap):cljs.core.nil_iter.call(null))};cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.__meta};
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$ICloneable$_clone$arity$1=function(a){return new cljs.core.async.impl.ioc_helpers.ExceptionFrame(this.catch_block,this.catch_exception,this.finally_block,this.continue_block,this.prev,this.__meta,this.__extmap,this.__hash)};cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$ICounted$_count$arity$1=function(a){return 5+cljs.core.count.call(null,this.__extmap)};
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IHash$_hash$arity$1=function(a){a=this.__hash;return null!=a?a:this.__hash=a=cljs.core.hash_imap.call(null,this)};cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IEquiv$_equiv$arity$2=function(a,b){return cljs.core.truth_(cljs.core.truth_(b)?this.constructor===b.constructor&&cljs.core.equiv_map.call(null,this,b):b)?!0:!1};
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IMap$_dissoc$arity$2=function(a,b){return cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"finally-block","finally-block",832982472),null,new cljs.core.Keyword(null,"catch-block","catch-block",1175212748),null,new cljs.core.Keyword(null,"catch-exception","catch-exception",-1997306795),null,new cljs.core.Keyword(null,"prev","prev",-1597069226),
null,new cljs.core.Keyword(null,"continue-block","continue-block",-1852047850),null],null),null),b)?cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this),this.__meta),b):new cljs.core.async.impl.ioc_helpers.ExceptionFrame(this.catch_block,this.catch_exception,this.finally_block,this.continue_block,this.prev,this.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,this.__extmap,b)),null)};
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IAssociative$_assoc$arity$3=function(a,b,c){a=cljs.core.keyword_identical_QMARK_;return cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"catch-block","catch-block",1175212748),b))?new cljs.core.async.impl.ioc_helpers.ExceptionFrame(c,this.catch_exception,this.finally_block,this.continue_block,this.prev,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"catch-exception","catch-exception",
-1997306795),b))?new cljs.core.async.impl.ioc_helpers.ExceptionFrame(this.catch_block,c,this.finally_block,this.continue_block,this.prev,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"finally-block","finally-block",832982472),b))?new cljs.core.async.impl.ioc_helpers.ExceptionFrame(this.catch_block,this.catch_exception,c,this.continue_block,this.prev,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"continue-block","continue-block",
-1852047850),b))?new cljs.core.async.impl.ioc_helpers.ExceptionFrame(this.catch_block,this.catch_exception,this.finally_block,c,this.prev,this.__meta,this.__extmap,null):cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"prev","prev",-1597069226),b))?new cljs.core.async.impl.ioc_helpers.ExceptionFrame(this.catch_block,this.catch_exception,this.finally_block,this.continue_block,c,this.__meta,this.__extmap,null):new cljs.core.async.impl.ioc_helpers.ExceptionFrame(this.catch_block,this.catch_exception,
this.finally_block,this.continue_block,this.prev,this.__meta,cljs.core.assoc.call(null,this.__extmap,b,c),null)};
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"catch-block","catch-block",1175212748),this.catch_block],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"catch-exception","catch-exception",-1997306795),this.catch_exception],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"finally-block","finally-block",832982472),this.finally_block],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"continue-block","continue-block",-1852047850),this.continue_block],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"prev","prev",-1597069226),this.prev],null)],null),this.__extmap))};cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.async.impl.ioc_helpers.ExceptionFrame(this.catch_block,this.catch_exception,this.finally_block,this.continue_block,this.prev,b,this.__extmap,this.__hash)};
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$ICollection$_conj$arity$2=function(a,b){return cljs.core.vector_QMARK_.call(null,b)?this.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,b,0),cljs.core._nth.call(null,b,1)):cljs.core.reduce.call(null,cljs.core._conj,this,b)};
cljs.core.async.impl.ioc_helpers.ExceptionFrame.getBasis=function(){return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"catch-block","catch-block",-1479223021,null),cljs.core.with_meta(new cljs.core.Symbol(null,"catch-exception","catch-exception",-356775268,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"Class","Class",2064526977,null)],null)),new cljs.core.Symbol(null,
"finally-block","finally-block",-1821453297,null),new cljs.core.Symbol(null,"continue-block","continue-block",-211516323,null),new cljs.core.Symbol(null,"prev","prev",43462301,null)],null)};cljs.core.async.impl.ioc_helpers.ExceptionFrame.cljs$lang$type=!0;cljs.core.async.impl.ioc_helpers.ExceptionFrame.cljs$lang$ctorPrSeq=function(a){return cljs.core._conj.call(null,cljs.core.List.EMPTY,"cljs.core.async.impl.ioc-helpers/ExceptionFrame")};
cljs.core.async.impl.ioc_helpers.ExceptionFrame.cljs$lang$ctorPrWriter=function(a,b){return cljs.core._write.call(null,b,"cljs.core.async.impl.ioc-helpers/ExceptionFrame")};cljs.core.async.impl.ioc_helpers.__GT_ExceptionFrame=function(a,b,c,d,e){return new cljs.core.async.impl.ioc_helpers.ExceptionFrame(a,b,c,d,e,null,null,null)};
cljs.core.async.impl.ioc_helpers.map__GT_ExceptionFrame=function(a){return new cljs.core.async.impl.ioc_helpers.ExceptionFrame((new cljs.core.Keyword(null,"catch-block","catch-block",1175212748)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"catch-exception","catch-exception",-1997306795)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"finally-block","finally-block",832982472)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"continue-block","continue-block",
-1852047850)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"prev","prev",-1597069226)).cljs$core$IFn$_invoke$arity$1(a),null,cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"catch-block","catch-block",1175212748),new cljs.core.Keyword(null,"catch-exception","catch-exception",-1997306795),new cljs.core.Keyword(null,"finally-block","finally-block",832982472),new cljs.core.Keyword(null,"continue-block","continue-block",-1852047850),new cljs.core.Keyword(null,"prev","prev",-1597069226)),
null)};cljs.core.async.impl.ioc_helpers.add_exception_frame=function(a,b,c,d,e){a[cljs.core.async.impl.ioc_helpers.EXCEPTION_FRAMES]=cljs.core.async.impl.ioc_helpers.__GT_ExceptionFrame.call(null,b,c,d,e,cljs.core.async.impl.ioc_helpers.aget_object.call(null,a,cljs.core.async.impl.ioc_helpers.EXCEPTION_FRAMES));return a};
cljs.core.async.impl.ioc_helpers.process_exception=function(a){for(;;){var b=cljs.core.async.impl.ioc_helpers.aget_object.call(null,a,cljs.core.async.impl.ioc_helpers.EXCEPTION_FRAMES),c=(new cljs.core.Keyword(null,"catch-block","catch-block",1175212748)).cljs$core$IFn$_invoke$arity$1(b),d=(new cljs.core.Keyword(null,"catch-exception","catch-exception",-1997306795)).cljs$core$IFn$_invoke$arity$1(b),e=cljs.core.async.impl.ioc_helpers.aget_object.call(null,a,cljs.core.async.impl.ioc_helpers.CURRENT_EXCEPTION);
if(cljs.core.truth_(function(){var a=e;return cljs.core.truth_(a)?cljs.core.not.call(null,b):a}()))throw e;if(cljs.core.truth_(function(){var a=e;return cljs.core.truth_(a)?(a=c,cljs.core.truth_(a)?cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"default","default",-1987822328),d)||e instanceof d:a):a}()))return a[cljs.core.async.impl.ioc_helpers.STATE_IDX]=c,a[cljs.core.async.impl.ioc_helpers.VALUE_IDX]=e,a[cljs.core.async.impl.ioc_helpers.CURRENT_EXCEPTION]=null,a[cljs.core.async.impl.ioc_helpers.EXCEPTION_FRAMES]=
cljs.core.assoc.call(null,b,new cljs.core.Keyword(null,"catch-block","catch-block",1175212748),null,new cljs.core.Keyword(null,"catch-exception","catch-exception",-1997306795),null),a;if(cljs.core.truth_(function(){var a=e;return cljs.core.truth_(a)?cljs.core.not.call(null,c)&&cljs.core.not.call(null,(new cljs.core.Keyword(null,"finally-block","finally-block",832982472)).cljs$core$IFn$_invoke$arity$1(b)):a}()))a[cljs.core.async.impl.ioc_helpers.EXCEPTION_FRAMES]=(new cljs.core.Keyword(null,"prev",
"prev",-1597069226)).cljs$core$IFn$_invoke$arity$1(b);else{if(cljs.core.truth_(function(){var a=e;return cljs.core.truth_(a)?(a=cljs.core.not.call(null,c))?(new cljs.core.Keyword(null,"finally-block","finally-block",832982472)).cljs$core$IFn$_invoke$arity$1(b):a:a}())||cljs.core.truth_(function(){var a=cljs.core.not.call(null,e);return a?(new cljs.core.Keyword(null,"finally-block","finally-block",832982472)).cljs$core$IFn$_invoke$arity$1(b):a}()))return a[cljs.core.async.impl.ioc_helpers.STATE_IDX]=
(new cljs.core.Keyword(null,"finally-block","finally-block",832982472)).cljs$core$IFn$_invoke$arity$1(b),a[cljs.core.async.impl.ioc_helpers.EXCEPTION_FRAMES]=cljs.core.assoc.call(null,b,new cljs.core.Keyword(null,"finally-block","finally-block",832982472),null),a;if(cljs.core.not.call(null,e)&&cljs.core.not.call(null,(new cljs.core.Keyword(null,"finally-block","finally-block",832982472)).cljs$core$IFn$_invoke$arity$1(b)))return a[cljs.core.async.impl.ioc_helpers.STATE_IDX]=(new cljs.core.Keyword(null,
"continue-block","continue-block",-1852047850)).cljs$core$IFn$_invoke$arity$1(b),a[cljs.core.async.impl.ioc_helpers.EXCEPTION_FRAMES]=(new cljs.core.Keyword(null,"prev","prev",-1597069226)).cljs$core$IFn$_invoke$arity$1(b),a;throw Error("No matching clause");}}};cljs.core.async.impl.timers={};cljs.core.async.impl.timers.MAX_LEVEL=15;cljs.core.async.impl.timers.P=.5;
cljs.core.async.impl.timers.random_level=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$1(arguments[0]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.async.impl.timers.random_level.call(null,0)};cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$1=function(a){for(;;)if(Math.random()<cljs.core.async.impl.timers.P&&a<cljs.core.async.impl.timers.MAX_LEVEL)a+=1;else return a};cljs.core.async.impl.timers.random_level.cljs$lang$maxFixedArity=1;
cljs.core.async.impl.timers.SkipListNode=function(a,b,c){this.key=a;this.val=b;this.forward=c;this.cljs$lang$protocol_mask$partition0$=2155872256;this.cljs$lang$protocol_mask$partition1$=0};cljs.core.async.impl.timers.SkipListNode.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){a=this.key;return cljs.core._conj.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,this.val),a)};
cljs.core.async.impl.timers.SkipListNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,"["," ","]",c,this)};
cljs.core.async.impl.timers.SkipListNode.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"key","key",124488940,null),cljs.core.with_meta(new cljs.core.Symbol(null,"val","val",1769233139,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null)),new cljs.core.Symbol(null,"forward","forward",1083186224,null)],null)};
cljs.core.async.impl.timers.SkipListNode.cljs$lang$type=!0;cljs.core.async.impl.timers.SkipListNode.cljs$lang$ctorStr="cljs.core.async.impl.timers/SkipListNode";cljs.core.async.impl.timers.SkipListNode.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async.impl.timers/SkipListNode")};cljs.core.async.impl.timers.__GT_SkipListNode=function(a,b,c){return new cljs.core.async.impl.timers.SkipListNode(a,b,c)};
cljs.core.async.impl.timers.skip_list_node=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 3:return cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.async.impl.timers.skip_list_node.call(null,null,null,a)};cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3=function(a,b,c){c=Array(c+1);for(var d=0;;)if(d<c.length)c[d]=null,d+=1;else break;return new cljs.core.async.impl.timers.SkipListNode(a,b,c)};cljs.core.async.impl.timers.skip_list_node.cljs$lang$maxFixedArity=3;
cljs.core.async.impl.timers.least_greater_node=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.async.impl.timers.least_greater_node.call(null,a,b,c,null)};cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){for(;;){if(0>c)return a;a:for(;;){var e=a.forward[c];if(cljs.core.truth_(e))if(e.key<b)a=e;else break a;else break a}null!=d&&(d[c]=a);--c}};
cljs.core.async.impl.timers.least_greater_node.cljs$lang$maxFixedArity=4;cljs.core.async.impl.timers.SkipList=function(a,b){this.header=a;this.level=b;this.cljs$lang$protocol_mask$partition0$=2155872256;this.cljs$lang$protocol_mask$partition1$=0};
cljs.core.async.impl.timers.SkipList.prototype.put=function(a,b){var c=Array(cljs.core.async.impl.timers.MAX_LEVEL),d=cljs.core.async.impl.timers.least_greater_node.call(null,this.header,a,this.level,c).forward[0];if(null!=d&&d.key===a)return d.val=b;d=cljs.core.async.impl.timers.random_level.call(null);if(d>this.level){for(var e=this.level+1;;)if(e<=d+1)c[e]=this.header,e+=1;else break;this.level=d}for(d=cljs.core.async.impl.timers.skip_list_node.call(null,a,b,Array(d));;)return 0<=this.level?(c=
c[0].forward,d.forward[0]=c[0],c[0]=d):null};cljs.core.async.impl.timers.SkipList.prototype.remove=function(a){var b=Array(cljs.core.async.impl.timers.MAX_LEVEL),c=cljs.core.async.impl.timers.least_greater_node.call(null,this.header,a,this.level,b).forward[0];if(null!=c&&c.key===a){for(a=0;;)if(a<=this.level){var d=b[a].forward;d[a]===c&&(d[a]=c.forward[a]);a+=1}else break;for(;;)if(0<this.level&&null==this.header.forward[this.level])--this.level;else return null}else return null};
cljs.core.async.impl.timers.SkipList.prototype.ceilingEntry=function(a){for(var b=this.header,c=this.level;;){if(0>c)return b===this.header?null:b;var d;a:for(d=b;;)if(d=d.forward[c],null==d){d=null;break a}else if(d.key>=a)break a;null!=d?(--c,b=d):--c}};
cljs.core.async.impl.timers.SkipList.prototype.floorEntry=function(a){for(var b=this.header,c=this.level;;){if(0>c)return b===this.header?null:b;var d;a:for(d=b;;){var e=d.forward[c];if(null!=e){if(e.key>a)break a;d=e}else{d=0===c?d:null;break a}}cljs.core.truth_(d)?(--c,b=d):--c}};
cljs.core.async.impl.timers.SkipList.prototype.cljs$core$ISeqable$_seq$arity$1=function(a){return function(a){return function d(b){return new cljs.core.LazySeq(null,function(a){return function(){return null==b?null:cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b.key,b.val],null),d.call(null,b.forward[0]))}}(a),null,null)}}(this).call(null,this.header.forward[0])};
cljs.core.async.impl.timers.SkipList.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3=function(a,b,c){a=function(a){return function(a){return cljs.core.pr_sequential_writer.call(null,b,cljs.core.pr_writer,""," ","",c,a)}}(this);return cljs.core.pr_sequential_writer.call(null,b,a,"{",", ","}",c,this)};
cljs.core.async.impl.timers.SkipList.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"header","header",1759972661,null),cljs.core.with_meta(new cljs.core.Symbol(null,"level","level",-1363938217,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.core.async.impl.timers.SkipList.cljs$lang$type=!0;
cljs.core.async.impl.timers.SkipList.cljs$lang$ctorStr="cljs.core.async.impl.timers/SkipList";cljs.core.async.impl.timers.SkipList.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async.impl.timers/SkipList")};cljs.core.async.impl.timers.__GT_SkipList=function(a,b){return new cljs.core.async.impl.timers.SkipList(a,b)};
cljs.core.async.impl.timers.skip_list=function(){return new cljs.core.async.impl.timers.SkipList(cljs.core.async.impl.timers.skip_list_node.call(null,0),0)};cljs.core.async.impl.timers.timeouts_map=cljs.core.async.impl.timers.skip_list.call(null);cljs.core.async.impl.timers.TIMEOUT_RESOLUTION_MS=10;
cljs.core.async.impl.timers.timeout=function(a){var b=(new Date).valueOf()+a,c=cljs.core.async.impl.timers.timeouts_map.ceilingEntry(b),d=cljs.core.truth_(cljs.core.truth_(c)?c.key<b+cljs.core.async.impl.timers.TIMEOUT_RESOLUTION_MS:c)?c.val:null;if(cljs.core.truth_(d))return d;var e=cljs.core.async.impl.channels.chan.call(null,null);cljs.core.async.impl.timers.timeouts_map.put(b,e);cljs.core.async.impl.dispatch.queue_delay.call(null,function(a,b,c,d){return function(){cljs.core.async.impl.timers.timeouts_map.remove(c);
return cljs.core.async.impl.protocols.close_BANG_.call(null,a)}}(e,d,b,c),a);return e};cljs.core.async.fn_handler=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.async.fn_handler.call(null,a,!0)};
cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2=function(a,b){"undefined"===typeof cljs.core.async.t_cljs$core$async40936&&(cljs.core.async.t_cljs$core$async40936=function(a,b,e){this.f=a;this.blockable=b;this.meta40937=e;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.core.async.t_cljs$core$async40936.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.async.t_cljs$core$async40936(this.f,this.blockable,b)},
cljs.core.async.t_cljs$core$async40936.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return this.meta40937},cljs.core.async.t_cljs$core$async40936.prototype.cljs$core$async$impl$protocols$Handler$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async40936.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1=function(a){return!0},cljs.core.async.t_cljs$core$async40936.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1=function(a){return this.blockable},
cljs.core.async.t_cljs$core$async40936.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1=function(a){return this.f},cljs.core.async.t_cljs$core$async40936.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"f","f",43394975,null),new cljs.core.Symbol(null,"blockable","blockable",-28395259,null),new cljs.core.Symbol(null,"meta40937","meta40937",2125628688,null)],null)},cljs.core.async.t_cljs$core$async40936.cljs$lang$type=
!0,cljs.core.async.t_cljs$core$async40936.cljs$lang$ctorStr="cljs.core.async/t_cljs$core$async40936",cljs.core.async.t_cljs$core$async40936.cljs$lang$ctorPrWriter=function(a,b,e){return cljs.core._write.call(null,b,"cljs.core.async/t_cljs$core$async40936")},cljs.core.async.__GT_t_cljs$core$async40936=function(a,b,e){return new cljs.core.async.t_cljs$core$async40936(a,b,e)});return new cljs.core.async.t_cljs$core$async40936(a,b,cljs.core.PersistentArrayMap.EMPTY)};
cljs.core.async.fn_handler.cljs$lang$maxFixedArity=2;cljs.core.async.buffer=function(a){return cljs.core.async.impl.buffers.fixed_buffer.call(null,a)};cljs.core.async.dropping_buffer=function(a){return cljs.core.async.impl.buffers.dropping_buffer.call(null,a)};cljs.core.async.sliding_buffer=function(a){return cljs.core.async.impl.buffers.sliding_buffer.call(null,a)};
cljs.core.async.unblocking_buffer_QMARK_=function(a){return null!=a?cljs.core.PROTOCOL_SENTINEL===a.cljs$core$async$impl$protocols$UnblockingBuffer$?!0:a.cljs$lang$protocol_mask$partition$?!1:cljs.core.native_satisfies_QMARK_.call(null,cljs.core.async.impl.protocols.UnblockingBuffer,a):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.async.impl.protocols.UnblockingBuffer,a)};
cljs.core.async.chan=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.async.chan.call(null,null)};cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.async.chan.call(null,a,null,null)};cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.chan.call(null,a,b,null)};
cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3=function(a,b,c){a=cljs.core._EQ_.call(null,a,0)?null:a;if(cljs.core.truth_(b)&&!cljs.core.truth_(a))throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Assert failed: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1("buffer must be supplied when transducer is"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("\n"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("buf-or-n")].join(""));return cljs.core.async.impl.channels.chan.call(null,"number"===typeof a?
cljs.core.async.buffer.call(null,a):a,b,c)};cljs.core.async.chan.cljs$lang$maxFixedArity=3;
cljs.core.async.promise_chan=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 0:return cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();case 1:return cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0=function(){return cljs.core.async.promise_chan.call(null,null)};cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.async.promise_chan.call(null,a,null)};cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.chan.call(null,cljs.core.async.impl.buffers.promise_buffer.call(null),a,b)};cljs.core.async.promise_chan.cljs$lang$maxFixedArity=2;
cljs.core.async.timeout=function(a){return cljs.core.async.impl.timers.timeout.call(null,a)};cljs.core.async._LT__BANG_=function(a){throw Error("\x3c! used not in (go ...) block");};
cljs.core.async.take_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.take_BANG_.call(null,a,b,!0)};cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){a=cljs.core.async.impl.protocols.take_BANG_.call(null,a,cljs.core.async.fn_handler.call(null,b));if(cljs.core.truth_(a)){var d=cljs.core.deref.call(null,a);cljs.core.truth_(c)?b.call(null,d):cljs.core.async.impl.dispatch.run.call(null,function(a,c){return function(){return b.call(null,a)}}(d,a))}return null};
cljs.core.async.take_BANG_.cljs$lang$maxFixedArity=3;cljs.core.async.nop=function(a){return null};cljs.core.async.fhnop=cljs.core.async.fn_handler.call(null,cljs.core.async.nop);cljs.core.async._GT__BANG_=function(a,b){throw Error("\x3e! used not in (go ...) block");};
cljs.core.async.put_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.core.async.impl.protocols.put_BANG_.call(null,a,b,cljs.core.async.fhnop);return cljs.core.truth_(c)?cljs.core.deref.call(null,c):!0};cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.async.put_BANG_.call(null,a,b,c,!0)};
cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){a=cljs.core.async.impl.protocols.put_BANG_.call(null,a,b,cljs.core.async.fn_handler.call(null,c));return cljs.core.truth_(a)?(b=cljs.core.deref.call(null,a),cljs.core.truth_(d)?c.call(null,b):cljs.core.async.impl.dispatch.run.call(null,function(a,b,d){return function(){return c.call(null,a)}}(b,a,a)),b):!0};cljs.core.async.put_BANG_.cljs$lang$maxFixedArity=4;
cljs.core.async.close_BANG_=function(a){return cljs.core.async.impl.protocols.close_BANG_.call(null,a)};cljs.core.async.random_array=function(a){for(var b=Array(a),c=0;;)if(c<a)b[c]=0,c+=1;else break;for(c=1;;){if(cljs.core._EQ_.call(null,c,a))return b;var d=cljs.core.rand_int.call(null,c);b[c]=b[d];b[d]=c;c+=1}};
cljs.core.async.alt_flag=function(){var a=cljs.core.atom.call(null,!0);"undefined"===typeof cljs.core.async.t_cljs$core$async40981&&(cljs.core.async.t_cljs$core$async40981=function(a,c){this.flag=a;this.meta40982=c;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.core.async.t_cljs$core$async40981.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a){return function(a,b){return new cljs.core.async.t_cljs$core$async40981(this.flag,b)}}(a),cljs.core.async.t_cljs$core$async40981.prototype.cljs$core$IMeta$_meta$arity$1=
function(a){return function(a){return this.meta40982}}(a),cljs.core.async.t_cljs$core$async40981.prototype.cljs$core$async$impl$protocols$Handler$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async40981.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1=function(a){return function(a){return cljs.core.deref.call(null,this.flag)}}(a),cljs.core.async.t_cljs$core$async40981.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1=function(a){return function(a){return!0}}(a),
cljs.core.async.t_cljs$core$async40981.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1=function(a){return function(a){cljs.core.reset_BANG_.call(null,this.flag,null);return!0}}(a),cljs.core.async.t_cljs$core$async40981.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"flag","flag",-1565787888,null),new cljs.core.Symbol(null,"meta40982","meta40982",-1467078455,null)],null)}}(a),cljs.core.async.t_cljs$core$async40981.cljs$lang$type=
!0,cljs.core.async.t_cljs$core$async40981.cljs$lang$ctorStr="cljs.core.async/t_cljs$core$async40981",cljs.core.async.t_cljs$core$async40981.cljs$lang$ctorPrWriter=function(a){return function(a,b,e){return cljs.core._write.call(null,b,"cljs.core.async/t_cljs$core$async40981")}}(a),cljs.core.async.__GT_t_cljs$core$async40981=function(a){return function(a,b){return new cljs.core.async.t_cljs$core$async40981(a,b)}}(a));return new cljs.core.async.t_cljs$core$async40981(a,cljs.core.PersistentArrayMap.EMPTY)};
cljs.core.async.alt_handler=function(a,b){"undefined"===typeof cljs.core.async.t_cljs$core$async40987&&(cljs.core.async.t_cljs$core$async40987=function(a,b,e){this.flag=a;this.cb=b;this.meta40988=e;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.core.async.t_cljs$core$async40987.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.async.t_cljs$core$async40987(this.flag,this.cb,b)},cljs.core.async.t_cljs$core$async40987.prototype.cljs$core$IMeta$_meta$arity$1=
function(a){return this.meta40988},cljs.core.async.t_cljs$core$async40987.prototype.cljs$core$async$impl$protocols$Handler$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async40987.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1=function(a){return cljs.core.async.impl.protocols.active_QMARK_.call(null,this.flag)},cljs.core.async.t_cljs$core$async40987.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1=function(a){return!0},cljs.core.async.t_cljs$core$async40987.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1=
function(a){cljs.core.async.impl.protocols.commit.call(null,this.flag);return this.cb},cljs.core.async.t_cljs$core$async40987.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"flag","flag",-1565787888,null),new cljs.core.Symbol(null,"cb","cb",-2064487928,null),new cljs.core.Symbol(null,"meta40988","meta40988",-1383145682,null)],null)},cljs.core.async.t_cljs$core$async40987.cljs$lang$type=!0,cljs.core.async.t_cljs$core$async40987.cljs$lang$ctorStr=
"cljs.core.async/t_cljs$core$async40987",cljs.core.async.t_cljs$core$async40987.cljs$lang$ctorPrWriter=function(a,b,e){return cljs.core._write.call(null,b,"cljs.core.async/t_cljs$core$async40987")},cljs.core.async.__GT_t_cljs$core$async40987=function(a,b,e){return new cljs.core.async.t_cljs$core$async40987(a,b,e)});return new cljs.core.async.t_cljs$core$async40987(a,b,cljs.core.PersistentArrayMap.EMPTY)};
cljs.core.async.do_alts=function(a,b,c){var d=cljs.core.async.alt_flag.call(null),e=cljs.core.count.call(null,b),f=cljs.core.async.random_array.call(null,e),g=(new cljs.core.Keyword(null,"priority","priority",1431093715)).cljs$core$IFn$_invoke$arity$1(c),h=function(){for(var c=0;;)if(c<e){var h=cljs.core.truth_(g)?c:f[c],m=cljs.core.nth.call(null,b,h),n=cljs.core.vector_QMARK_.call(null,m)?m.call(null,0):null,p=cljs.core.truth_(n)?function(){var b=m.call(null,1);return cljs.core.async.impl.protocols.put_BANG_.call(null,
n,b,cljs.core.async.alt_handler.call(null,d,function(b,c,d,e,f,g,h,k,l){return function(b){return a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,f],null))}}(c,b,h,m,n,d,e,f,g)))}():cljs.core.async.impl.protocols.take_BANG_.call(null,m,cljs.core.async.alt_handler.call(null,d,function(b,c,d,e,f,g,h,k){return function(b){return a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,d],null))}}(c,h,m,n,d,e,f,g)));if(cljs.core.truth_(p))return cljs.core.async.impl.channels.box.call(null,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.deref.call(null,p),function(){var a=n;return cljs.core.truth_(a)?a:m}()],null));c+=1}else return null}();return cljs.core.truth_(h)?h:cljs.core.contains_QMARK_.call(null,c,new cljs.core.Keyword(null,"default","default",-1987822328))?(h=function(){var a=cljs.core.async.impl.protocols.active_QMARK_.call(null,d);return cljs.core.truth_(a)?cljs.core.async.impl.protocols.commit.call(null,d):a}(),cljs.core.truth_(h)?
cljs.core.async.impl.channels.box.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[(new cljs.core.Keyword(null,"default","default",-1987822328)).cljs$core$IFn$_invoke$arity$1(c),new cljs.core.Keyword(null,"default","default",-1987822328)],null)):null):null};
cljs.core.async.alts_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b){null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)&&cljs.core.apply.call(null,cljs.core.hash_map,b);throw Error("alts! used not in (go ...) block");};cljs.core.async.alts_BANG_.cljs$lang$maxFixedArity=1;
cljs.core.async.alts_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic(b,a)};cljs.core.async.offer_BANG_=function(a,b){var c=cljs.core.async.impl.protocols.put_BANG_.call(null,a,b,cljs.core.async.fn_handler.call(null,cljs.core.async.nop,!1));return cljs.core.truth_(c)?cljs.core.deref.call(null,c):null};
cljs.core.async.poll_BANG_=function(a){a=cljs.core.async.impl.protocols.take_BANG_.call(null,a,cljs.core.async.fn_handler.call(null,cljs.core.async.nop,!1));return cljs.core.truth_(a)?cljs.core.deref.call(null,a):null};
cljs.core.async.pipe=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.pipe.call(null,a,b,!0)};
cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(d){return function(){var e=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=
c;break a}}}catch(u){if(u instanceof Object)b[5]=u,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw u;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=
d;return b}()}(function(d){return function(d){var e=d[1];return 7===e?(d[2]=d[2],d[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268)):1===e?(d[2]=null,d[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):4===e?(e=d[2],d[7]=e,cljs.core.truth_(null==e)?d[1]=5:d[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268)):13===e?(d[2]=null,d[1]=14,new cljs.core.Keyword(null,"recur","recur",-437573268)):6===e?(e=d[7],cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,d,11,b,e)):
3===e?cljs.core.async.impl.ioc_helpers.return_chan.call(null,d,d[2]):12===e?(d[2]=null,d[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):2===e?cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,d,4,a):11===e?(e=d[2],cljs.core.truth_(e)?d[1]=12:d[1]=13,new cljs.core.Keyword(null,"recur","recur",-437573268)):9===e?(d[2]=null,d[1]=10,new cljs.core.Keyword(null,"recur","recur",-437573268)):5===e?(cljs.core.truth_(c)?d[1]=8:d[1]=9,new cljs.core.Keyword(null,"recur","recur",-437573268)):
14===e||10===e?(d[2]=d[2],d[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===e?(e=cljs.core.async.close_BANG_.call(null,b),d[2]=e,d[1]=10,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(d),d)}(),g=function(){var a=e.call(null);a[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=d;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,g)}}(d));return b};cljs.core.async.pipe.cljs$lang$maxFixedArity=3;
cljs.core.async.pipeline_STAR_=function(a,b,c,d,e,f,g){if(!(0<a))throw Error("Assert failed: (pos? n)");for(var h=cljs.core.async.chan.call(null,a),k=cljs.core.async.chan.call(null,a),l=function(a,b){return function(d){var e=cljs.core.nth.call(null,d,0,null),g=cljs.core.nth.call(null,d,1,null);if(null==d)return cljs.core.async.close_BANG_.call(null,b),null;var h=cljs.core.async.chan.call(null,1,c,f),k=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(a,b,c,d,e,
f,g,h){return function(){var k=function(){return function(a,b,c,d,e,f,g,h,k){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(aa){if(aa instanceof Object)b[5]=aa,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,
"recur","recur",-437573268);else throw aa;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(a,b,c,d,e,f,g,h){return function(a){var c=a[1];if(1===c)return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,
a,2,b,d);if(2===c){var c=a[2],e=cljs.core.async.close_BANG_.call(null,b);a[7]=c;return cljs.core.async.impl.ioc_helpers.return_chan.call(null,a,e)}return null}}(a,b,c,d,e,f,g,h),a,b,c,d,e,f,g,h)}(),l=function(){var b=k.call(null);b[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=a;return b}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,l)}}(k,h,d,e,g,d,a,b));cljs.core.async.put_BANG_.call(null,g,h);return!0}}(h,k),m=function(a,b,d){return function(a){var d=cljs.core.nth.call(null,
a,0,null),e=cljs.core.nth.call(null,a,1,null);if(null==a)return cljs.core.async.close_BANG_.call(null,b),null;a=cljs.core.async.chan.call(null,1);c.call(null,d,a);cljs.core.async.put_BANG_.call(null,e,a);return!0}}(h,k,l),n=0;;)if(n<a){var p=g,q=p instanceof cljs.core.Keyword?p.fqn:null;switch(q){case "compute":var r=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(a,b,c,d,e,f,g,h,k){return function(){var l=function(){var l=function(a,b,c,d,e,f,g,h,k){return function(a){var b=
a[1];return 1===b?(a[2]=null,a[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):2===b?cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,a,4,f):3===b?cljs.core.async.impl.ioc_helpers.return_chan.call(null,a,a[2]):4===b?(b=h.call(null,a[2]),cljs.core.truth_(b)?a[1]=5:a[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268)):5===b?(a[2]=null,a[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):6===b?(a[2]=null,a[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):
7===b?(a[2]=a[2],a[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(a,b,c,d,e,f,g,h,k);return function(a,b,c,d,e,f,g,h,k,l){return function(){var a=null,c=function(){var b=[null,null,null,null,null,null,null];b[0]=a;b[1]=1;return b},d=function(a){for(;;){a:try{for(;;){var c=b.call(null,a);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(R){if(R instanceof Object)a[5]=R,cljs.core.async.impl.ioc_helpers.process_exception.call(null,
a),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw R;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},a=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$0=c;a.cljs$core$IFn$_invoke$arity$1=d;return a}()}(a,l,b,c,d,e,f,g,h,k)}(),m=function(){var a=l.call(null);a[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=
b;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,m)}}(n,r,p,q,a,h,k,l,m));break;case "async":r=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(a,b,c,d,e,f,g,h,k){return function(){var l=function(){var l=function(a,b,c,d,e,f,g,h,k){return function(a){var b=a[1];return 1===b?(a[2]=null,a[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):2===b?cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,a,4,f):3===b?
cljs.core.async.impl.ioc_helpers.return_chan.call(null,a,a[2]):4===b?(b=k.call(null,a[2]),cljs.core.truth_(b)?a[1]=5:a[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268)):5===b?(a[2]=null,a[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):6===b?(a[2]=null,a[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):7===b?(a[2]=a[2],a[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(a,b,c,d,e,f,g,h,k);return function(a,b,c,d,e,f,g,h,k,l){return function(){var a=
null,c=function(){var b=[null,null,null,null,null,null,null];b[0]=a;b[1]=1;return b},d=function(a){for(;;){a:try{for(;;){var c=b.call(null,a);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(R){if(R instanceof Object)a[5]=R,cljs.core.async.impl.ioc_helpers.process_exception.call(null,a),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw R;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,
"recur","recur",-437573268)))return d}},a=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$0=c;a.cljs$core$IFn$_invoke$arity$1=d;return a}()}(a,l,b,c,d,e,f,g,h,k)}(),m=function(){var a=l.call(null);a[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=b;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,m)}}(n,r,p,q,a,h,k,l,m));break;default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(q)].join(""));}n+=1}else break;a=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(a,b,c,e,f){return function(){var g=function(){return function(a,b,c,d,e,f){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,
"recur","recur",-437573268))){var d=c;break a}}}catch(H){if(H instanceof Object)b[5]=H,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw H;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$0=
c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(a,b,c,e,f){return function(a){var e=a[1];if(1===e)return a[2]=null,a[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(2===e)return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,a,4,d);if(3===e)return cljs.core.async.impl.ioc_helpers.return_chan.call(null,a,a[2]);if(4===e)return e=a[2],a[7]=e,cljs.core.truth_(null==e)?a[1]=5:a[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268);if(5===e)return e=cljs.core.async.close_BANG_.call(null,
b),a[2]=e,a[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268);if(6===e){var f=a[7];e=cljs.core.async.chan.call(null,1);f=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[f,e],null);a[8]=e;return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,a,8,b,f)}return 7===e?(a[2]=a[2],a[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===e?(e=a[8],a[9]=a[2],cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,a,9,c,e)):9===e?(a[10]=a[2],a[2]=null,a[1]=
2,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(a,b,c,e,f),a,b,c,e,f)}(),h=function(){var b=g.call(null);b[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=a;return b}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,h)}}(a,h,k,l,m));a=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(a,c,d,f,g){return function(){var h=function(){return function(a,b,c,d,e,f){return function(){var b=null,c=function(){var a=[null,null,
null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(H){if(H instanceof Object)b[5]=H,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw H;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,
"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(a,c,d,f,g){return function(a){var c=a[1];if(7===c)return a[2]=a[2],a[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268);if(20===c)return a[2]=null,a[1]=21,new cljs.core.Keyword(null,"recur","recur",-437573268);if(1===
c)return a[2]=null,a[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(4===c)return c=a[2],a[7]=c,cljs.core.truth_(null==c)?a[1]=5:a[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268);if(15===c)return c=a[8],cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,a,18,b,c);if(21===c)return a[2]=a[2],a[1]=13,new cljs.core.Keyword(null,"recur","recur",-437573268);if(13===c)return a[9]=a[2],a[2]=null,a[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(6===c)return c=a[7],
cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,a,11,c);if(17===c)return c=a[2],cljs.core.truth_(c)?a[1]=19:a[1]=20,new cljs.core.Keyword(null,"recur","recur",-437573268);if(3===c)return cljs.core.async.impl.ioc_helpers.return_chan.call(null,a,a[2]);if(12===c)return c=a[10],cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,a,14,c);if(2===c)return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,a,4,d);if(19===c)return a[2]=null,a[1]=12,new cljs.core.Keyword(null,"recur","recur",-437573268);
if(11===c)return c=a[2],a[10]=c,a[2]=null,a[1]=12,new cljs.core.Keyword(null,"recur","recur",-437573268);if(9===c)return a[2]=null,a[1]=10,new cljs.core.Keyword(null,"recur","recur",-437573268);if(5===c)return cljs.core.truth_(e)?a[1]=8:a[1]=9,new cljs.core.Keyword(null,"recur","recur",-437573268);if(14===c){c=a[2];var f=cljs.core.not.call(null,null==c);a[11]=f;a[8]=c;a[1]=f?15:16;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return 16===c?(c=a[11],a[2]=c,a[1]=17,new cljs.core.Keyword(null,
"recur","recur",-437573268)):10===c?(a[2]=a[2],a[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):18===c?(a[2]=a[2],a[1]=17,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===c?(c=cljs.core.async.close_BANG_.call(null,b),a[2]=c,a[1]=10,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(a,c,d,f,g),a,c,d,f,g)}(),k=function(){var b=h.call(null);b[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=a;return b}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,
k)}}(a,h,k,l,m));return a};
cljs.core.async.pipeline_async=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 4:return cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return cljs.core.async.pipeline_async.call(null,a,b,c,d,!0)};cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){return cljs.core.async.pipeline_STAR_.call(null,a,b,c,d,e,null,new cljs.core.Keyword(null,"async","async",1050769601))};cljs.core.async.pipeline_async.cljs$lang$maxFixedArity=5;
cljs.core.async.pipeline=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 4:return cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);case 6:return cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6(arguments[0],arguments[1],arguments[2],
arguments[3],arguments[4],arguments[5]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return cljs.core.async.pipeline.call(null,a,b,c,d,!0)};cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){return cljs.core.async.pipeline.call(null,a,b,c,d,e,null)};
cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6=function(a,b,c,d,e,f){return cljs.core.async.pipeline_STAR_.call(null,a,b,c,d,e,f,new cljs.core.Keyword(null,"compute","compute",1555393130))};cljs.core.async.pipeline.cljs$lang$maxFixedArity=6;
cljs.core.async.split=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.async.split.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 4:return cljs.core.async.split.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.async.split.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.split.call(null,a,b,null,null)};
cljs.core.async.split.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){c=cljs.core.async.chan.call(null,c);d=cljs.core.async.chan.call(null,d);var e=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(c,d,e){return function(){var f=function(){return function(a,b,c,d){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,
c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(y){if(y instanceof Object)b[5]=y,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw y;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-
1));};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c,d,e){return function(c){var f=c[1];if(7===f)return c[2]=c[2],c[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268);if(1===f)return c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(4===f)return f=c[2],c[7]=f,cljs.core.truth_(null==f)?c[1]=5:c[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268);if(13===f)return c[2]=null,c[1]=14,new cljs.core.Keyword(null,"recur",
"recur",-437573268);if(6===f)return f=c[7],f=a.call(null,f),cljs.core.truth_(f)?c[1]=9:c[1]=10,new cljs.core.Keyword(null,"recur","recur",-437573268);if(3===f)return cljs.core.async.impl.ioc_helpers.return_chan.call(null,c,c[2]);if(12===f)return c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(2===f)return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,c,4,b);if(11===f)return f=c[7],cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,c,8,c[2],f);if(9===f)return c[2]=
d,c[1]=11,new cljs.core.Keyword(null,"recur","recur",-437573268);if(5===f){var g=cljs.core.async.close_BANG_.call(null,d);f=cljs.core.async.close_BANG_.call(null,e);c[8]=g;c[2]=f;c[1]=7;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return 14===f?(c[2]=c[2],c[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===f?(c[2]=e,c[1]=11,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===f?(f=c[2],cljs.core.truth_(f)?c[1]=12:c[1]=13,new cljs.core.Keyword(null,"recur","recur",
-437573268)):null}}(c,d,e),c,d,e)}(),g=function(){var a=f.call(null);a[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,g)}}(e,c,d));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,d],null)};cljs.core.async.split.cljs$lang$maxFixedArity=4;
cljs.core.async.reduce=function(a,b,c){var d=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(d){return function(){var e=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(u){if(u instanceof
Object)b[5]=u,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw u;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(d){return function(d){var e=
d[1];if(7===e)return d[2]=d[2],d[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268);if(1===e)return e=b,d[7]=e,d[2]=null,d[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(4===e)return e=d[2],d[8]=e,cljs.core.truth_(null==e)?d[1]=5:d[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268);if(6===e){e=d[7];var f=d[8];e=a.call(null,e,f);f=cljs.core.reduced_QMARK_.call(null,e);d[9]=e;d[1]=f?8:9;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return 3===e?cljs.core.async.impl.ioc_helpers.return_chan.call(null,
d,d[2]):2===e?cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,d,4,c):9===e?(e=d[9],d[7]=e,d[2]=null,d[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):5===e?(e=d[7],d[2]=e,d[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===e?(d[2]=d[2],d[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===e?(e=d[9],e=cljs.core.deref.call(null,e),d[2]=e,d[1]=10,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(d),d)}(),g=function(){var a=e.call(null);a[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=
d;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,g)}}(d));return d};
cljs.core.async.transduce=function(a,b,c,d){a=a.call(null,b);b=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(a,b){return function(){var e=function(){return function(a,b,c){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(v){if(v instanceof
Object)b[5]=v,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw v;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(a,
b){return function(a){var e=a[1];return 1===e?(e=cljs.core.async.reduce.call(null,b,c,d),cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,a,2,e)):2===e?(e=b.call(null,a[2]),cljs.core.async.impl.ioc_helpers.return_chan.call(null,a,e)):null}}(a,b),a,b)}(),f=function(){var b=e.call(null);b[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=a;return b}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,f)}}(b,a));return b};
cljs.core.async.onto_chan=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.onto_chan.call(null,a,b,!0)};
cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(d){return function(){var e=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=
c;break a}}}catch(u){if(u instanceof Object)b[5]=u,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw u;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=
d;return b}()}(function(d){return function(d){var e=d[1];return 7===e?(d[2]=d[2],d[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268)):1===e?(e=cljs.core.seq.call(null,b),d[7]=e,d[2]=null,d[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):4===e?(e=d[7],e=cljs.core.first.call(null,e),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,d,7,a,e)):13===e?(d[2]=d[2],d[1]=10,new cljs.core.Keyword(null,"recur","recur",-437573268)):6===e?(e=d[2],cljs.core.truth_(e)?d[1]=8:d[1]=9,new cljs.core.Keyword(null,
"recur","recur",-437573268)):3===e?cljs.core.async.impl.ioc_helpers.return_chan.call(null,d,d[2]):12===e?(d[2]=null,d[1]=13,new cljs.core.Keyword(null,"recur","recur",-437573268)):2===e?(e=d[7],cljs.core.truth_(e)?d[1]=4:d[1]=5,new cljs.core.Keyword(null,"recur","recur",-437573268)):11===e?(e=cljs.core.async.close_BANG_.call(null,a),d[2]=e,d[1]=13,new cljs.core.Keyword(null,"recur","recur",-437573268)):9===e?(cljs.core.truth_(c)?d[1]=11:d[1]=12,new cljs.core.Keyword(null,"recur","recur",-437573268)):
5===e?(e=d[7],d[2]=e,d[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===e?(d[2]=d[2],d[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===e?(e=d[7],e=cljs.core.next.call(null,e),d[7]=e,d[2]=null,d[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(d),d)}(),g=function(){var a=e.call(null);a[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=d;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,g)}}(d));return d};
cljs.core.async.onto_chan.cljs$lang$maxFixedArity=3;cljs.core.async.to_chan=function(a){var b=cljs.core.async.chan.call(null,cljs.core.bounded_count.call(null,100,a));cljs.core.async.onto_chan.call(null,b,a);return b};cljs.core.async.Mux=function(){};
cljs.core.async.muxch_STAR_=function(a){if(null!=a&&null!=a.cljs$core$async$Mux$muxch_STAR_$arity$1)return a.cljs$core$async$Mux$muxch_STAR_$arity$1(a);var b=cljs.core.async.muxch_STAR_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.muxch_STAR_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Mux.muxch*",a);};cljs.core.async.Mult=function(){};
cljs.core.async.tap_STAR_=function(a,b,c){if(null!=a&&null!=a.cljs$core$async$Mult$tap_STAR_$arity$3)return a.cljs$core$async$Mult$tap_STAR_$arity$3(a,b,c);var d=cljs.core.async.tap_STAR_[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=cljs.core.async.tap_STAR_._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"Mult.tap*",a);};
cljs.core.async.untap_STAR_=function(a,b){if(null!=a&&null!=a.cljs$core$async$Mult$untap_STAR_$arity$2)return a.cljs$core$async$Mult$untap_STAR_$arity$2(a,b);var c=cljs.core.async.untap_STAR_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.core.async.untap_STAR_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Mult.untap*",a);};
cljs.core.async.untap_all_STAR_=function(a){if(null!=a&&null!=a.cljs$core$async$Mult$untap_all_STAR_$arity$1)return a.cljs$core$async$Mult$untap_all_STAR_$arity$1(a);var b=cljs.core.async.untap_all_STAR_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.untap_all_STAR_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Mult.untap-all*",a);};
cljs.core.async.mult=function(a){var b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=function(){"undefined"===typeof cljs.core.async.t_cljs$core$async42017&&(cljs.core.async.t_cljs$core$async42017=function(a,b,c){this.ch=a;this.cs=b;this.meta42018=c;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.core.async.t_cljs$core$async42017.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a){return function(a,b){return new cljs.core.async.t_cljs$core$async42017(this.ch,
this.cs,b)}}(b),cljs.core.async.t_cljs$core$async42017.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta42018}}(b),cljs.core.async.t_cljs$core$async42017.prototype.cljs$core$async$Mux$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async42017.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1=function(a){return function(a){return this.ch}}(b),cljs.core.async.t_cljs$core$async42017.prototype.cljs$core$async$Mult$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async42017.prototype.cljs$core$async$Mult$tap_STAR_$arity$3=
function(a){return function(a,b,c){cljs.core.swap_BANG_.call(null,this.cs,cljs.core.assoc,b,c);return null}}(b),cljs.core.async.t_cljs$core$async42017.prototype.cljs$core$async$Mult$untap_STAR_$arity$2=function(a){return function(a,b){cljs.core.swap_BANG_.call(null,this.cs,cljs.core.dissoc,b);return null}}(b),cljs.core.async.t_cljs$core$async42017.prototype.cljs$core$async$Mult$untap_all_STAR_$arity$1=function(a){return function(a){cljs.core.reset_BANG_.call(null,this.cs,cljs.core.PersistentArrayMap.EMPTY);
return null}}(b),cljs.core.async.t_cljs$core$async42017.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"ch","ch",1085813622,null),new cljs.core.Symbol(null,"cs","cs",-117024463,null),new cljs.core.Symbol(null,"meta42018","meta42018",1120076820,null)],null)}}(b),cljs.core.async.t_cljs$core$async42017.cljs$lang$type=!0,cljs.core.async.t_cljs$core$async42017.cljs$lang$ctorStr="cljs.core.async/t_cljs$core$async42017",
cljs.core.async.t_cljs$core$async42017.cljs$lang$ctorPrWriter=function(a){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async/t_cljs$core$async42017")}}(b),cljs.core.async.__GT_t_cljs$core$async42017=function(a){return function(a,b,c){return new cljs.core.async.t_cljs$core$async42017(a,b,c)}}(b));return new cljs.core.async.t_cljs$core$async42017(a,b,cljs.core.PersistentArrayMap.EMPTY)}(),d=cljs.core.async.chan.call(null,1),e=cljs.core.atom.call(null,null),f=function(a,b,c,
d){return function(a){return 0===cljs.core.swap_BANG_.call(null,d,cljs.core.dec)?cljs.core.async.put_BANG_.call(null,c,!0):null}}(b,c,d,e),g=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(b,c,d,e,f,g){return function(){var h=function(){return function(a,b,c,d,e,f,g){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,
null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(D){if(D instanceof Object)b[5]=D,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw D;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},
b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(b,c,d,e,f,g){return function(b){var h,k,l=b[1];if(7===l){var m=b[2],n=h=b;n[2]=m;n[1]=3;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(20===l){var p=b[7];var q=cljs.core.first.call(null,p);var r=cljs.core.nth.call(null,q,0,null);var u=cljs.core.nth.call(null,
q,1,null);b[8]=r;h=b;cljs.core.truth_(u)?h[1]=22:h[1]=23;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(27===l){var t=b[9];var v=b[10];var w=b[11];var x=b[12];var y=cljs.core._nth.call(null,w,v),z=cljs.core.async.put_BANG_.call(null,y,t,g);b[12]=y;h=b;cljs.core.truth_(z)?h[1]=30:h[1]=31;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(1===l){var N=h=b;N[2]=null;N[1]=2;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(24===l){p=b[7];var Q=b[2];var S=
cljs.core.next.call(null,p);var V=null;var T=k=0;b[13]=T;b[14]=V;b[15]=Q;b[16]=k;b[17]=S;var U=h=b;U[2]=null;U[1]=8;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(39===l){var R=h=b;R[2]=null;R[1]=41;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(4===l){t=b[9];var X=b[2],Z=null==X;b[9]=X;h=b;cljs.core.truth_(Z)?h[1]=5:h[1]=6;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(15===l){T=b[13];V=b[14];k=b[16];S=b[17];var Y=b[2],aa=S,ca=V,W=k;b[13]=T+1;
b[14]=ca;b[18]=Y;b[16]=W;b[17]=aa;var ba=h=b;ba[2]=null;ba[1]=8;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(21===l){var da=b[2],ga=h=b;ga[2]=da;ga[1]=18;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(31===l){x=b[12];var ea=g.call(null,null),la=cljs.core.async.untap_STAR_.call(null,d,x);b[19]=ea;var ha=h=b;ha[2]=la;ha[1]=32;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(32===l){var fa=b[20];v=b[10];w=b[11];var ia=b[21];var ja=b[2],ma=w,na=ia,
za=v+1;b[20]=fa;b[22]=ja;b[10]=za;b[11]=ma;b[21]=na;var Wa=h=b;Wa[2]=null;Wa[1]=25;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(40===l){var Xa=b[23];var Ya=g.call(null,null),Ja=cljs.core.async.untap_STAR_.call(null,d,Xa);b[24]=Ya;var Ka=h=b;Ka[2]=Ja;Ka[1]=41;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(33===l){var ta=b[25];var tb=cljs.core.chunked_seq_QMARK_.call(null,ta);h=b;h[1]=tb?36:37;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(13===
l){var La=b[26];var Mb=cljs.core.async.close_BANG_.call(null,La),ub=h=b;ub[2]=Mb;ub[1]=15;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(22===l){r=b[8];var Nb=cljs.core.async.close_BANG_.call(null,r),vb=h=b;vb[2]=Nb;vb[1]=24;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(36===l){ta=b[25];var wb=cljs.core.chunk_first.call(null,ta),Aa=cljs.core.chunk_rest.call(null,ta),xb=cljs.core.count.call(null,wb);fa=Aa;w=wb;ia=xb;v=0;b[20]=fa;b[10]=v;b[11]=w;b[21]=ia;var yb=
h=b;yb[2]=null;yb[1]=25;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(41===l){ta=b[25];var Ob=b[2];fa=cljs.core.next.call(null,ta);w=null;v=ia=0;b[20]=fa;b[10]=v;b[27]=Ob;b[11]=w;b[21]=ia;var Ma=h=b;Ma[2]=null;Ma[1]=25;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(43===l){var cb=h=b;cb[2]=null;cb[1]=44;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(29===l){var Pb=b[2],zb=h=b;zb[2]=Pb;zb[1]=26;return new cljs.core.Keyword(null,"recur","recur",
-437573268)}if(44===l){b[28]=b[2];var db=h=b;db[2]=null;db[1]=2;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(6===l){var Ab=b[29];var Qb=cljs.core.deref.call(null,c),eb=cljs.core.keys.call(null,Qb),Rb=cljs.core.count.call(null,eb),Na=cljs.core.reset_BANG_.call(null,f,Rb);fa=cljs.core.seq.call(null,eb);w=null;v=ia=0;b[20]=fa;b[10]=v;b[29]=eb;b[30]=Na;b[11]=w;b[21]=ia;var Bb=h=b;Bb[2]=null;Bb[1]=25;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(28===l){fa=b[20];
ta=b[25];var fb=cljs.core.seq.call(null,fa);b[25]=fb;h=b;h[1]=fb?33:34;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(25===l){v=b[10];ia=b[21];var Sb=v<ia;h=b;cljs.core.truth_(Sb)?h[1]=27:h[1]=28;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(34===l){var ua=h=b;ua[2]=null;ua[1]=35;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(17===l){var va=h=b;va[2]=null;va[1]=18;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(3===l){var Ba=
b[2];h=b;return cljs.core.async.impl.ioc_helpers.return_chan.call(null,h,Ba)}if(12===l){var Oa=b[2],ka=h=b;ka[2]=Oa;ka[1]=9;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(2===l)return h=b,cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,h,4,a);if(23===l){var oa=h=b;oa[2]=null;oa[1]=24;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(35===l){var ya=b[2],Ca=h=b;Ca[2]=ya;Ca[1]=29;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(19===l){p=b[7];var Za=
cljs.core.chunk_first.call(null,p),$a=cljs.core.chunk_rest.call(null,p),gb=cljs.core.count.call(null,Za);S=$a;V=Za;k=gb;T=0;b[13]=T;b[14]=V;b[16]=k;b[17]=S;var pa=h=b;pa[2]=null;pa[1]=8;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(11===l){S=b[17];p=b[7];var Da=cljs.core.seq.call(null,S);b[7]=Da;h=b;h[1]=Da?16:17;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(9===l){var qa=b[2],wa=h=b;wa[2]=qa;wa[1]=7;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(5===
l){var Pa=cljs.core.deref.call(null,c);S=cljs.core.seq.call(null,Pa);V=null;T=k=0;b[13]=T;b[14]=V;b[16]=k;b[17]=S;var Ea=h=b;Ea[2]=null;Ea[1]=8;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(14===l){var Fa=h=b;Fa[2]=null;Fa[1]=15;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(45===l){var Ga=b[2],ra=h=b;ra[2]=Ga;ra[1]=44;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(26===l){Ab=b[29];var Qa=b[2],Ra=cljs.core.seq.call(null,Ab);b[31]=Qa;h=b;h[1]=
Ra?42:43;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(16===l){p=b[7];var Sa=cljs.core.chunked_seq_QMARK_.call(null,p);h=b;h[1]=Sa?19:20;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(38===l){var Ha=b[2],xa=h=b;xa[2]=Ha;xa[1]=35;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(30===l){var Ia=h=b;Ia[2]=null;Ia[1]=32;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(10===l){T=b[13];V=b[14];var Ta=cljs.core._nth.call(null,V,T);La=cljs.core.nth.call(null,
Ta,0,null);var ab=cljs.core.nth.call(null,Ta,1,null);b[26]=La;h=b;cljs.core.truth_(ab)?h[1]=13:h[1]=14;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(18===l){var sa=b[2],Ua=h=b;Ua[2]=sa;Ua[1]=12;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(42===l)return h=b,cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,h,45,e);if(37===l){t=b[9];ta=b[25];Xa=b[23];var bb=cljs.core.first.call(null,ta),hb=cljs.core.async.put_BANG_.call(null,bb,t,g);b[23]=bb;h=b;cljs.core.truth_(hb)?
h[1]=39:h[1]=40;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(8===l){T=b[13];k=b[16];var ib=T<k;h=b;cljs.core.truth_(ib)?h[1]=10:h[1]=11;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return null}}(b,c,d,e,f,g),b,c,d,e,f,g)}(),k=function(){var a=h.call(null);a[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=b;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,k)}}(g,b,c,d,e,f));return c};
cljs.core.async.tap=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.async.tap.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.async.tap.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.tap.call(null,a,b,!0)};cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3=function(a,b,c){cljs.core.async.tap_STAR_.call(null,a,b,c);return b};cljs.core.async.tap.cljs$lang$maxFixedArity=3;cljs.core.async.untap=function(a,b){return cljs.core.async.untap_STAR_.call(null,a,b)};cljs.core.async.untap_all=function(a){return cljs.core.async.untap_all_STAR_.call(null,a)};cljs.core.async.Mix=function(){};
cljs.core.async.admix_STAR_=function(a,b){if(null!=a&&null!=a.cljs$core$async$Mix$admix_STAR_$arity$2)return a.cljs$core$async$Mix$admix_STAR_$arity$2(a,b);var c=cljs.core.async.admix_STAR_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.core.async.admix_STAR_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Mix.admix*",a);};
cljs.core.async.unmix_STAR_=function(a,b){if(null!=a&&null!=a.cljs$core$async$Mix$unmix_STAR_$arity$2)return a.cljs$core$async$Mix$unmix_STAR_$arity$2(a,b);var c=cljs.core.async.unmix_STAR_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.core.async.unmix_STAR_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Mix.unmix*",a);};
cljs.core.async.unmix_all_STAR_=function(a){if(null!=a&&null!=a.cljs$core$async$Mix$unmix_all_STAR_$arity$1)return a.cljs$core$async$Mix$unmix_all_STAR_$arity$1(a);var b=cljs.core.async.unmix_all_STAR_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.unmix_all_STAR_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Mix.unmix-all*",a);};
cljs.core.async.toggle_STAR_=function(a,b){if(null!=a&&null!=a.cljs$core$async$Mix$toggle_STAR_$arity$2)return a.cljs$core$async$Mix$toggle_STAR_$arity$2(a,b);var c=cljs.core.async.toggle_STAR_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.core.async.toggle_STAR_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Mix.toggle*",a);};
cljs.core.async.solo_mode_STAR_=function(a,b){if(null!=a&&null!=a.cljs$core$async$Mix$solo_mode_STAR_$arity$2)return a.cljs$core$async$Mix$solo_mode_STAR_$arity$2(a,b);var c=cljs.core.async.solo_mode_STAR_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.core.async.solo_mode_STAR_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Mix.solo-mode*",a);};
cljs.core.async.ioc_alts_BANG_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=3<b.length?new cljs.core.IndexedSeq(b.slice(3),0,null):null;return cljs.core.async.ioc_alts_BANG_.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],arguments[2],b)};
cljs.core.async.ioc_alts_BANG_.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c,d){var e=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d;a[cljs.core.async.impl.ioc_helpers.STATE_IDX]=b;b=cljs.core.async.do_alts.call(null,function(b,c,d){return function(b){a[cljs.core.async.impl.ioc_helpers.VALUE_IDX]=b;return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,a)}}(d,e,e),c,e);
return cljs.core.truth_(b)?(a[cljs.core.async.impl.ioc_helpers.VALUE_IDX]=cljs.core.deref.call(null,b),new cljs.core.Keyword(null,"recur","recur",-437573268)):null};cljs.core.async.ioc_alts_BANG_.cljs$lang$maxFixedArity=3;
cljs.core.async.ioc_alts_BANG_.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);var d=cljs.core.next.call(null,c),c=cljs.core.first.call(null,d),d=cljs.core.next.call(null,d);return cljs.core.async.ioc_alts_BANG_.cljs$core$IFn$_invoke$arity$variadic(b,a,c,d)};
cljs.core.async.mix=function(a){var b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"pause","pause",-2095325672),null,new cljs.core.Keyword(null,"mute","mute",1151223646),null],null),null),d=cljs.core.conj.call(null,c,new cljs.core.Keyword(null,"solo","solo",-316350075)),e=cljs.core.atom.call(null,new cljs.core.Keyword(null,"mute","mute",1151223646)),f=cljs.core.async.chan.call(null),
g=function(a,b,c,d,e){return function(){return cljs.core.async.put_BANG_.call(null,e,!0)}}(b,c,d,e,f),h=function(a,b,c,d,e,f){return function(g,h){return cljs.core.reduce_kv.call(null,function(a,b,c,d,e,f){return function(a,b,c){return cljs.core.truth_(g.call(null,c))?cljs.core.conj.call(null,a,b):a}}(a,b,c,d,e,f),cljs.core.PersistentHashSet.EMPTY,h)}}(b,c,d,e,f,g),k=function(a,b,c,d,e,f,g){return function(){var b=cljs.core.deref.call(null,a),c=cljs.core.deref.call(null,d),f=g.call(null,new cljs.core.Keyword(null,
"solo","solo",-316350075),b),h=g.call(null,new cljs.core.Keyword(null,"pause","pause",-2095325672),b);return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"solos","solos",1441458643),f,new cljs.core.Keyword(null,"mutes","mutes",1068806309),g.call(null,new cljs.core.Keyword(null,"mute","mute",1151223646),b),new cljs.core.Keyword(null,"reads","reads",-1215067361),cljs.core.conj.call(null,cljs.core._EQ_.call(null,c,new cljs.core.Keyword(null,"pause","pause",-2095325672))&&!cljs.core.empty_QMARK_.call(null,
f)?cljs.core.vec.call(null,f):cljs.core.vec.call(null,cljs.core.remove.call(null,h,cljs.core.keys.call(null,b))),e)],null)}}(b,c,d,e,f,g,h),l=function(){"undefined"===typeof cljs.core.async.t_cljs$core$async42489&&(cljs.core.async.t_cljs$core$async42489=function(a,b,c,d,e,f,g,h,k,l){this.out=a;this.cs=b;this.solo_modes=c;this.attrs=d;this.solo_mode=e;this.change=f;this.changed=g;this.pick=h;this.calc_state=k;this.meta42490=l;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=
0},cljs.core.async.t_cljs$core$async42489.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b,c,d,e,f,g,h){return function(a,b){return new cljs.core.async.t_cljs$core$async42489(this.out,this.cs,this.solo_modes,this.attrs,this.solo_mode,this.change,this.changed,this.pick,this.calc_state,b)}}(b,c,d,e,f,g,h,k),cljs.core.async.t_cljs$core$async42489.prototype.cljs$core$IMeta$_meta$arity$1=function(a,b,c,d,e,f,g,h){return function(a){return this.meta42490}}(b,c,d,e,f,g,h,k),cljs.core.async.t_cljs$core$async42489.prototype.cljs$core$async$Mux$=
cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async42489.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1=function(a,b,c,d,e,f,g,h){return function(a){return this.out}}(b,c,d,e,f,g,h,k),cljs.core.async.t_cljs$core$async42489.prototype.cljs$core$async$Mix$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async42489.prototype.cljs$core$async$Mix$admix_STAR_$arity$2=function(a,b,c,d,e,f,g,h){return function(a,b){cljs.core.swap_BANG_.call(null,this.cs,cljs.core.assoc,b,cljs.core.PersistentArrayMap.EMPTY);
return this.changed.call(null)}}(b,c,d,e,f,g,h,k),cljs.core.async.t_cljs$core$async42489.prototype.cljs$core$async$Mix$unmix_STAR_$arity$2=function(a,b,c,d,e,f,g,h){return function(a,b){cljs.core.swap_BANG_.call(null,this.cs,cljs.core.dissoc,b);return this.changed.call(null)}}(b,c,d,e,f,g,h,k),cljs.core.async.t_cljs$core$async42489.prototype.cljs$core$async$Mix$unmix_all_STAR_$arity$1=function(a,b,c,d,e,f,g,h){return function(a){cljs.core.reset_BANG_.call(null,this.cs,cljs.core.PersistentArrayMap.EMPTY);
return this.changed.call(null)}}(b,c,d,e,f,g,h,k),cljs.core.async.t_cljs$core$async42489.prototype.cljs$core$async$Mix$toggle_STAR_$arity$2=function(a,b,c,d,e,f,g,h){return function(a,b){cljs.core.swap_BANG_.call(null,this.cs,cljs.core.partial.call(null,cljs.core.merge_with,cljs.core.merge),b);return this.changed.call(null)}}(b,c,d,e,f,g,h,k),cljs.core.async.t_cljs$core$async42489.prototype.cljs$core$async$Mix$solo_mode_STAR_$arity$2=function(a,b,c,d,e,f,g,h){return function(a,b){if(!cljs.core.truth_(this.solo_modes.call(null,
b)))throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Assert failed: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1("mode must be one of: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.solo_modes)].join("")),cljs.core.str.cljs$core$IFn$_invoke$arity$1("\n"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("(solo-modes mode)")].join(""));cljs.core.reset_BANG_.call(null,this.solo_mode,b);return this.changed.call(null)}}(b,c,d,e,f,g,h,k),cljs.core.async.t_cljs$core$async42489.getBasis=
function(a,b,c,d,e,f,g,h){return function(){return new cljs.core.PersistentVector(null,10,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"out","out",729986010,null),new cljs.core.Symbol(null,"cs","cs",-117024463,null),new cljs.core.Symbol(null,"solo-modes","solo-modes",882180540,null),new cljs.core.Symbol(null,"attrs","attrs",-450137186,null),new cljs.core.Symbol(null,"solo-mode","solo-mode",2031788074,null),new cljs.core.Symbol(null,"change","change",477485025,null),new cljs.core.Symbol(null,
"changed","changed",-2083710852,null),new cljs.core.Symbol(null,"pick","pick",1300068175,null),new cljs.core.Symbol(null,"calc-state","calc-state",-349968968,null),new cljs.core.Symbol(null,"meta42490","meta42490",-1300793774,null)],null)}}(b,c,d,e,f,g,h,k),cljs.core.async.t_cljs$core$async42489.cljs$lang$type=!0,cljs.core.async.t_cljs$core$async42489.cljs$lang$ctorStr="cljs.core.async/t_cljs$core$async42489",cljs.core.async.t_cljs$core$async42489.cljs$lang$ctorPrWriter=function(a,b,c,d,e,f,g,h){return function(a,
b,c){return cljs.core._write.call(null,b,"cljs.core.async/t_cljs$core$async42489")}}(b,c,d,e,f,g,h,k),cljs.core.async.__GT_t_cljs$core$async42489=function(a,b,c,d,e,f,g,h){return function(a,b,c,d,e,f,g,h,k,l){return new cljs.core.async.t_cljs$core$async42489(a,b,c,d,e,f,g,h,k,l)}}(b,c,d,e,f,g,h,k));return new cljs.core.async.t_cljs$core$async42489(a,b,c,d,e,f,g,h,k,cljs.core.PersistentArrayMap.EMPTY)}(),m=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(b,c,d,
e,f,g,h,k,l,m){return function(){var n=function(){return function(a,b,c,d,e,f,g,h,k,l,m){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(V){if(V instanceof Object)b[5]=V,cljs.core.async.impl.ioc_helpers.process_exception.call(null,
b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw V;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(b,c,d,e,f,g,h,k,l,m){return function(b){var d=b[1];if(7===d)return d=b[2],
b[2]=d,b[1]=4,new cljs.core.Keyword(null,"recur","recur",-437573268);if(20===d)return d=b[7],b[2]=d,b[1]=21,new cljs.core.Keyword(null,"recur","recur",-437573268);if(27===d)return b[2]=null,b[1]=28,new cljs.core.Keyword(null,"recur","recur",-437573268);if(1===d){d=l.call(null);var e=cljs.core.not.call(null,null==d);b[8]=d;b[1]=e?2:3;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(24===d){var f=b[9];e=b[11];d=e.call(null,f);b[10]=d;cljs.core.truth_(d)?b[1]=29:b[1]=30;return new cljs.core.Keyword(null,
"recur","recur",-437573268)}if(4===d)return d=b[2],cljs.core.truth_(d)?b[1]=8:b[1]=9,new cljs.core.Keyword(null,"recur","recur",-437573268);if(15===d)return d=b[2],cljs.core.truth_(d)?b[1]=19:b[1]=20,new cljs.core.Keyword(null,"recur","recur",-437573268);if(21===d){f=b[2];e=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"solos","solos",1441458643));d=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"mutes","mutes",1068806309));var h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"reads",
"reads",-1215067361));b[13]=d;b[12]=f;b[11]=e;return cljs.core.async.ioc_alts_BANG_.call(null,b,22,h)}return 31===d?(d=b[2],cljs.core.truth_(d)?b[1]=32:b[1]=33,new cljs.core.Keyword(null,"recur","recur",-437573268)):32===d?(d=b[14],cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,b,35,a,d)):33===d?(d=b[12],b[7]=d,b[2]=null,b[1]=11,new cljs.core.Keyword(null,"recur","recur",-437573268)):13===d?(d=b[7],e=cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$,d=d.cljs$lang$protocol_mask$partition0$&64||
e,cljs.core.truth_(d)?b[1]=16:b[1]=17,new cljs.core.Keyword(null,"recur","recur",-437573268)):22===d?(e=b[2],d=cljs.core.nth.call(null,e,0,null),h=cljs.core.nth.call(null,e,1,null),e=null==d,f=cljs.core._EQ_.call(null,h,g),b[9]=h,b[14]=d,cljs.core.truth_(e||f)?b[1]=23:b[1]=24,new cljs.core.Keyword(null,"recur","recur",-437573268)):36===d?(d=b[12],b[7]=d,b[2]=null,b[1]=11,new cljs.core.Keyword(null,"recur","recur",-437573268)):29===d?(d=b[10],b[2]=d,b[1]=31,new cljs.core.Keyword(null,"recur","recur",
-437573268)):6===d?(b[2]=!1,b[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):28===d?(e=b[2],d=l.call(null),b[15]=e,b[7]=d,b[2]=null,b[1]=11,new cljs.core.Keyword(null,"recur","recur",-437573268)):25===d?(d=b[2],b[2]=d,b[1]=12,new cljs.core.Keyword(null,"recur","recur",-437573268)):34===d?(d=b[2],b[2]=d,b[1]=25,new cljs.core.Keyword(null,"recur","recur",-437573268)):17===d?(b[2]=!1,b[1]=18,new cljs.core.Keyword(null,"recur","recur",-437573268)):3===d?(b[2]=!1,b[1]=4,new cljs.core.Keyword(null,
"recur","recur",-437573268)):12===d?(d=b[2],cljs.core.async.impl.ioc_helpers.return_chan.call(null,b,d)):2===d?(d=b[8],e=cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$,d=d.cljs$lang$protocol_mask$partition0$&64||e,cljs.core.truth_(d)?b[1]=5:b[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268)):23===d?(d=b[14],cljs.core.truth_(null==d)?b[1]=26:b[1]=27,new cljs.core.Keyword(null,"recur","recur",-437573268)):35===d?(d=b[2],cljs.core.truth_(d)?b[1]=36:b[1]=37,new cljs.core.Keyword(null,"recur",
"recur",-437573268)):19===d?(d=b[7],d=cljs.core.apply.call(null,cljs.core.hash_map,d),b[2]=d,b[1]=21,new cljs.core.Keyword(null,"recur","recur",-437573268)):11===d?(d=b[7],d=cljs.core.not.call(null,null==d),b[1]=d?13:14,new cljs.core.Keyword(null,"recur","recur",-437573268)):9===d?(d=b[8],b[2]=d,b[1]=10,new cljs.core.Keyword(null,"recur","recur",-437573268)):5===d?(b[2]=!0,b[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):14===d?(b[2]=!1,b[1]=15,new cljs.core.Keyword(null,"recur","recur",
-437573268)):26===d?(f=b[9],d=cljs.core.swap_BANG_.call(null,c,cljs.core.dissoc,f),b[2]=d,b[1]=28,new cljs.core.Keyword(null,"recur","recur",-437573268)):16===d?(b[2]=!0,b[1]=18,new cljs.core.Keyword(null,"recur","recur",-437573268)):38===d?(d=b[2],b[2]=d,b[1]=34,new cljs.core.Keyword(null,"recur","recur",-437573268)):30===d?(d=b[13],f=b[9],e=b[11],e=cljs.core.empty_QMARK_.call(null,e),d=d.call(null,f),d=cljs.core.not.call(null,d),b[2]=e&&d,b[1]=31,new cljs.core.Keyword(null,"recur","recur",-437573268)):
10===d?(d=b[8],h=b[2],e=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"solos","solos",1441458643)),f=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"mutes","mutes",1068806309)),h=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"reads","reads",-1215067361)),b[16]=f,b[7]=d,b[17]=h,b[18]=e,b[2]=null,b[1]=11,new cljs.core.Keyword(null,"recur","recur",-437573268)):18===d?(d=b[2],b[2]=d,b[1]=15,new cljs.core.Keyword(null,"recur","recur",-437573268)):37===d?(b[2]=null,b[1]=38,new cljs.core.Keyword(null,
"recur","recur",-437573268)):8===d?(d=b[8],d=cljs.core.apply.call(null,cljs.core.hash_map,d),b[2]=d,b[1]=10,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(b,c,d,e,f,g,h,k,l,m),b,c,d,e,f,g,h,k,l,m)}(),p=function(){var a=n.call(null);a[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=b;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,p)}}(m,b,c,d,e,f,g,h,k,l));return l};
cljs.core.async.admix=function(a,b){return cljs.core.async.admix_STAR_.call(null,a,b)};cljs.core.async.unmix=function(a,b){return cljs.core.async.unmix_STAR_.call(null,a,b)};cljs.core.async.unmix_all=function(a){return cljs.core.async.unmix_all_STAR_.call(null,a)};cljs.core.async.toggle=function(a,b){return cljs.core.async.toggle_STAR_.call(null,a,b)};cljs.core.async.solo_mode=function(a,b){return cljs.core.async.solo_mode_STAR_.call(null,a,b)};cljs.core.async.Pub=function(){};
cljs.core.async.sub_STAR_=function(a,b,c,d){if(null!=a&&null!=a.cljs$core$async$Pub$sub_STAR_$arity$4)return a.cljs$core$async$Pub$sub_STAR_$arity$4(a,b,c,d);var e=cljs.core.async.sub_STAR_[goog.typeOf(null==a?null:a)];if(null!=e)return e.call(null,a,b,c,d);e=cljs.core.async.sub_STAR_._;if(null!=e)return e.call(null,a,b,c,d);throw cljs.core.missing_protocol.call(null,"Pub.sub*",a);};
cljs.core.async.unsub_STAR_=function(a,b,c){if(null!=a&&null!=a.cljs$core$async$Pub$unsub_STAR_$arity$3)return a.cljs$core$async$Pub$unsub_STAR_$arity$3(a,b,c);var d=cljs.core.async.unsub_STAR_[goog.typeOf(null==a?null:a)];if(null!=d)return d.call(null,a,b,c);d=cljs.core.async.unsub_STAR_._;if(null!=d)return d.call(null,a,b,c);throw cljs.core.missing_protocol.call(null,"Pub.unsub*",a);};
cljs.core.async.unsub_all_STAR_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$1=function(a){if(null!=a&&null!=a.cljs$core$async$Pub$unsub_all_STAR_$arity$1)return a.cljs$core$async$Pub$unsub_all_STAR_$arity$1(a);var b=cljs.core.async.unsub_all_STAR_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.core.async.unsub_all_STAR_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Pub.unsub-all*",a);};
cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$2=function(a,b){if(null!=a&&null!=a.cljs$core$async$Pub$unsub_all_STAR_$arity$2)return a.cljs$core$async$Pub$unsub_all_STAR_$arity$2(a,b);var c=cljs.core.async.unsub_all_STAR_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.core.async.unsub_all_STAR_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Pub.unsub-all*",a);};cljs.core.async.unsub_all_STAR_.cljs$lang$maxFixedArity=2;
cljs.core.async.pub=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.async.pub.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.async.pub.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.pub.call(null,a,b,cljs.core.constantly.call(null,null))};
cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=function(a){return function(b){var d=cljs.core.get.call(null,cljs.core.deref.call(null,a),b);return cljs.core.truth_(d)?d:cljs.core.get.call(null,cljs.core.swap_BANG_.call(null,a,function(a,d){return function(a){return cljs.core.truth_(a.call(null,b))?a:cljs.core.assoc.call(null,a,b,cljs.core.async.mult.call(null,cljs.core.async.chan.call(null,c.call(null,b))))}}(d,
a)),b)}}(d),f=function(){"undefined"===typeof cljs.core.async.t_cljs$core$async42716&&(cljs.core.async.t_cljs$core$async42716=function(a,b,c,d,e,f){this.ch=a;this.topic_fn=b;this.buf_fn=c;this.mults=d;this.ensure_mult=e;this.meta42717=f;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.core.async.t_cljs$core$async42716.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return function(a,b){return new cljs.core.async.t_cljs$core$async42716(this.ch,
this.topic_fn,this.buf_fn,this.mults,this.ensure_mult,b)}}(d,e),cljs.core.async.t_cljs$core$async42716.prototype.cljs$core$IMeta$_meta$arity$1=function(a,b){return function(a){return this.meta42717}}(d,e),cljs.core.async.t_cljs$core$async42716.prototype.cljs$core$async$Mux$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async42716.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1=function(a,b){return function(a){return this.ch}}(d,e),cljs.core.async.t_cljs$core$async42716.prototype.cljs$core$async$Pub$=
cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async42716.prototype.cljs$core$async$Pub$sub_STAR_$arity$4=function(a,b){return function(a,b,c,d){a=this.ensure_mult.call(null,b);return cljs.core.async.tap.call(null,a,c,d)}}(d,e),cljs.core.async.t_cljs$core$async42716.prototype.cljs$core$async$Pub$unsub_STAR_$arity$3=function(a,b){return function(a,b,c){a=cljs.core.get.call(null,cljs.core.deref.call(null,this.mults),b);return cljs.core.truth_(a)?cljs.core.async.untap.call(null,a,c):null}}(d,
e),cljs.core.async.t_cljs$core$async42716.prototype.cljs$core$async$Pub$unsub_all_STAR_$arity$1=function(a,b){return function(a){return cljs.core.reset_BANG_.call(null,this.mults,cljs.core.PersistentArrayMap.EMPTY)}}(d,e),cljs.core.async.t_cljs$core$async42716.prototype.cljs$core$async$Pub$unsub_all_STAR_$arity$2=function(a,b){return function(a,b){return cljs.core.swap_BANG_.call(null,this.mults,cljs.core.dissoc,b)}}(d,e),cljs.core.async.t_cljs$core$async42716.getBasis=function(a,b){return function(){return new cljs.core.PersistentVector(null,
6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"ch","ch",1085813622,null),new cljs.core.Symbol(null,"topic-fn","topic-fn",-862449736,null),new cljs.core.Symbol(null,"buf-fn","buf-fn",-1200281591,null),new cljs.core.Symbol(null,"mults","mults",-461114485,null),new cljs.core.Symbol(null,"ensure-mult","ensure-mult",1796584816,null),new cljs.core.Symbol(null,"meta42717","meta42717",-1897946694,null)],null)}}(d,e),cljs.core.async.t_cljs$core$async42716.cljs$lang$type=!0,cljs.core.async.t_cljs$core$async42716.cljs$lang$ctorStr=
"cljs.core.async/t_cljs$core$async42716",cljs.core.async.t_cljs$core$async42716.cljs$lang$ctorPrWriter=function(a,b){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async/t_cljs$core$async42716")}}(d,e),cljs.core.async.__GT_t_cljs$core$async42716=function(a,b){return function(a,b,c,d,e,f){return new cljs.core.async.t_cljs$core$async42716(a,b,c,d,e,f)}}(d,e));return new cljs.core.async.t_cljs$core$async42716(a,b,c,d,e,cljs.core.PersistentArrayMap.EMPTY)}(),g=cljs.core.async.chan.call(null,
1);cljs.core.async.impl.dispatch.run.call(null,function(c,d,e,f){return function(){var g=function(){return function(a,b,c,d,e){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(B){if(B instanceof Object)b[5]=
B,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw B;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c,d,e,f){return function(c){var e=
c[1];if(7===e)return c[2]=c[2],c[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268);if(20===e)return c[2]=null,c[1]=21,new cljs.core.Keyword(null,"recur","recur",-437573268);if(1===e)return c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(24===e)return e=c[7],e=cljs.core.swap_BANG_.call(null,d,cljs.core.dissoc,e),c[2]=e,c[1]=25,new cljs.core.Keyword(null,"recur","recur",-437573268);if(4===e)return e=c[2],c[8]=e,cljs.core.truth_(null==e)?c[1]=5:c[1]=6,new cljs.core.Keyword(null,
"recur","recur",-437573268);if(15===e)return c[2]=c[2],c[1]=12,new cljs.core.Keyword(null,"recur","recur",-437573268);if(21===e)return c[9]=c[2],c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(13===e)return e=c[10],e=cljs.core.chunked_seq_QMARK_.call(null,e),c[1]=e?16:17,new cljs.core.Keyword(null,"recur","recur",-437573268);if(22===e)return e=c[2],cljs.core.truth_(e)?c[1]=23:c[1]=24,new cljs.core.Keyword(null,"recur","recur",-437573268);if(6===e){e=c[8];e=b.call(null,e);
var f=cljs.core.deref.call(null,d);f=cljs.core.get.call(null,f,e);c[7]=e;c[11]=f;cljs.core.truth_(f)?c[1]=19:c[1]=20;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(25===e)return c[2]=c[2],c[1]=21,new cljs.core.Keyword(null,"recur","recur",-437573268);if(17===e){e=c[10];f=cljs.core.first.call(null,e);f=cljs.core.async.muxch_STAR_.call(null,f);f=cljs.core.async.close_BANG_.call(null,f);var g=cljs.core.next.call(null,e);c[12]=0;c[13]=f;c[14]=null;c[15]=g;c[16]=0;c[2]=null;c[1]=8;return new cljs.core.Keyword(null,
"recur","recur",-437573268)}if(3===e)return cljs.core.async.impl.ioc_helpers.return_chan.call(null,c,c[2]);if(12===e)return c[2]=c[2],c[1]=9,new cljs.core.Keyword(null,"recur","recur",-437573268);if(2===e)return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,c,4,a);if(23===e)return c[2]=null,c[1]=25,new cljs.core.Keyword(null,"recur","recur",-437573268);if(19===e)return f=c[11],e=c[8],f=cljs.core.async.muxch_STAR_.call(null,f),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,c,22,f,e);
if(11===e)return g=c[15],e=cljs.core.seq.call(null,g),c[10]=e,c[1]=e?13:14,new cljs.core.Keyword(null,"recur","recur",-437573268);if(9===e)return c[2]=c[2],c[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268);if(5===e)return e=cljs.core.deref.call(null,d),e=cljs.core.vals.call(null,e),g=cljs.core.seq.call(null,e),c[12]=0,c[14]=null,c[15]=g,c[16]=0,c[2]=null,c[1]=8,new cljs.core.Keyword(null,"recur","recur",-437573268);if(14===e)return c[2]=null,c[1]=15,new cljs.core.Keyword(null,"recur",
"recur",-437573268);if(16===e)return e=c[10],f=cljs.core.chunk_first.call(null,e),e=cljs.core.chunk_rest.call(null,e),g=cljs.core.count.call(null,f),c[12]=g,c[14]=f,c[15]=e,c[16]=0,c[2]=null,c[1]=8,new cljs.core.Keyword(null,"recur","recur",-437573268);if(10===e){f=c[12];var h=c[14];g=c[15];e=c[16];var k=cljs.core._nth.call(null,h,e),k=cljs.core.async.muxch_STAR_.call(null,k),k=cljs.core.async.close_BANG_.call(null,k);c[12]=f;c[14]=h;c[15]=g;c[17]=k;c[16]=e+1;c[2]=null;c[1]=8;return new cljs.core.Keyword(null,
"recur","recur",-437573268)}return 18===e?(c[2]=c[2],c[1]=15,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===e?(f=c[12],e=c[16],e=e<f,cljs.core.truth_(e)?c[1]=10:c[1]=11,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(c,d,e,f),c,d,e,f)}(),h=function(){var a=g.call(null);a[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,h)}}(g,d,e,f));return f};
cljs.core.async.pub.cljs$lang$maxFixedArity=3;
cljs.core.async.sub=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return cljs.core.async.sub.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.async.sub.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.async.sub.call(null,a,b,c,!0)};cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return cljs.core.async.sub_STAR_.call(null,a,b,c,d)};cljs.core.async.sub.cljs$lang$maxFixedArity=4;cljs.core.async.unsub=function(a,b,c){return cljs.core.async.unsub_STAR_.call(null,a,b,c)};
cljs.core.async.unsub_all=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.async.unsub_all_STAR_.call(null,a)};cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.unsub_all_STAR_.call(null,a,b)};cljs.core.async.unsub_all.cljs$lang$maxFixedArity=2;
cljs.core.async.map=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.async.map.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.map.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.async.map.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.map.call(null,a,b,null)};
cljs.core.async.map.cljs$core$IFn$_invoke$arity$3=function(a,b,c){b=cljs.core.vec.call(null,b);c=cljs.core.async.chan.call(null,c);var d=cljs.core.count.call(null,b),e=cljs.core.object_array.call(null,d),f=cljs.core.async.chan.call(null,1),g=cljs.core.atom.call(null,null),h=cljs.core.mapv.call(null,function(a,b,c,d,e,f){return function(g){return function(a,b,c,d,e,f){return function(a){d[g]=a;return 0===cljs.core.swap_BANG_.call(null,f,cljs.core.dec)?cljs.core.async.put_BANG_.call(null,e,d.slice(0)):
null}}(a,b,c,d,e,f)}}(b,c,d,e,f,g),cljs.core.range.call(null,d)),k=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(b,c,d,e,f,g,h,k){return function(){var l=function(){return function(a,b,c,d,e,f,g,h,k){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,
"recur","recur",-437573268))){var d=c;break a}}}catch(H){if(H instanceof Object)b[5]=H,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw H;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$0=
c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(b,c,d,e,f,g,h,k){return function(b){var f=b[1];if(7===f)return b[2]=null,b[1]=8,new cljs.core.Keyword(null,"recur","recur",-437573268);if(1===f)return b[2]=null,b[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(4===f){var l=b[7];f=l<e;cljs.core.truth_(f)?b[1]=6:b[1]=7;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return 15===f?(b[2]=b[2],b[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268)):13===f?(f=
cljs.core.async.close_BANG_.call(null,d),b[2]=f,b[1]=15,new cljs.core.Keyword(null,"recur","recur",-437573268)):6===f?(b[2]=null,b[1]=11,new cljs.core.Keyword(null,"recur","recur",-437573268)):3===f?cljs.core.async.impl.ioc_helpers.return_chan.call(null,b,b[2]):12===f?(l=b[2],f=cljs.core.some.call(null,cljs.core.nil_QMARK_,l),b[8]=l,cljs.core.truth_(f)?b[1]=13:b[1]=14,new cljs.core.Keyword(null,"recur","recur",-437573268)):2===f?(f=cljs.core.reset_BANG_.call(null,h,e),b[7]=0,b[9]=f,b[2]=null,b[1]=
4,new cljs.core.Keyword(null,"recur","recur",-437573268)):11===f?(l=b[7],cljs.core.async.impl.ioc_helpers.add_exception_frame.call(null,b,10,Object,null,9),f=c.call(null,l),l=k.call(null,l),f=cljs.core.async.take_BANG_.call(null,f,l),b[2]=f,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),new cljs.core.Keyword(null,"recur","recur",-437573268)):9===f?(l=b[7],b[10]=b[2],b[7]=l+1,b[2]=null,b[1]=4,new cljs.core.Keyword(null,"recur","recur",-437573268)):5===f?(b[11]=b[2],cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,
b,12,g)):14===f?(f=b[8],f=cljs.core.apply.call(null,a,f),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,b,16,d,f)):16===f?(b[12]=b[2],b[2]=null,b[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===f?(l=b[2],f=cljs.core.swap_BANG_.call(null,h,cljs.core.dec),b[13]=l,b[2]=f,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),new cljs.core.Keyword(null,"recur","recur",-437573268)):8===f?(b[2]=b[2],b[1]=5,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(b,
c,d,e,f,g,h,k),b,c,d,e,f,g,h,k)}(),m=function(){var a=l.call(null);a[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=b;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,m)}}(k,b,c,d,e,f,g,h));return c};cljs.core.async.map.cljs$lang$maxFixedArity=3;
cljs.core.async.merge=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.async.merge.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.async.merge.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.async.merge.call(null,a,null)};
cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.core.async.chan.call(null,b),d=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(b,c){return function(){var d=function(){return function(a,b,c){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,
"recur","recur",-437573268))){var d=c;break a}}}catch(v){if(v instanceof Object)b[5]=v,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw v;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$0=
c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(b,c){return function(d){var e=d[1];if(7===e){var f=d[7];var g=d[8];var h=d[2];var k=cljs.core.nth.call(null,h,0,null);var l=cljs.core.nth.call(null,h,1,null);d[7]=h;d[9]=l;d[8]=k;cljs.core.truth_(null==k)?d[1]=8:d[1]=9;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(1===e){var m=cljs.core.vec.call(null,a);d[10]=m;d[2]=null;d[1]=2;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return 4===e?(m=d[10],cljs.core.async.ioc_alts_BANG_.call(null,
d,7,m)):6===e?(d[2]=d[2],d[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268)):3===e?cljs.core.async.impl.ioc_helpers.return_chan.call(null,d,d[2]):2===e?(m=d[10],k=cljs.core.count.call(null,m),cljs.core.truth_(0<k)?d[1]=4:d[1]=5,new cljs.core.Keyword(null,"recur","recur",-437573268)):11===e?(m=d[10],k=d[2],d[10]=m,d[11]=k,d[2]=null,d[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):9===e?(g=d[8],cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,d,11,c,g)):5===e?(k=cljs.core.async.close_BANG_.call(null,
c),d[2]=k,d[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===e?(d[2]=d[2],d[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===e?(f=d[7],m=d[10],l=d[9],g=d[8],k=function(){return function(a,b,c,d,e,f,g,h,k,l,m){return function(a){return cljs.core.not_EQ_.call(null,d,a)}}(m,f,g,l,f,m,l,g,e,b,c)}(),k=cljs.core.filterv.call(null,k,m),d[10]=k,d[2]=null,d[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(b,c),b,c)}(),e=function(){var a=d.call(null);a[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=
b;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,e)}}(d,c));return c};cljs.core.async.merge.cljs$lang$maxFixedArity=2;cljs.core.async.into=function(a,b){return cljs.core.async.reduce.call(null,cljs.core.conj,a,b)};
cljs.core.async.take=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.async.take.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.take.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.async.take.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.take.call(null,a,b,null)};
cljs.core.async.take.cljs$core$IFn$_invoke$arity$3=function(a,b,c){c=cljs.core.async.chan.call(null,c);var d=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(c,d){return function(){var e=function(){return function(a,b,c){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,
"recur","recur",-437573268))){var d=c;break a}}}catch(v){if(v instanceof Object)b[5]=v,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw v;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$0=
c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c,d){return function(c){var e=c[1];if(7===e){e=c[2];var f=cljs.core.not.call(null,null==e);c[7]=e;c[1]=f?8:9;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return 1===e?(c[8]=0,c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):4===e?cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,c,7,b):6===e?(c[2]=c[2],c[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268)):3===e?(e=c[2],f=cljs.core.async.close_BANG_.call(null,
d),c[9]=e,cljs.core.async.impl.ioc_helpers.return_chan.call(null,c,f)):2===e?(e=c[8],e=e<a,cljs.core.truth_(e)?c[1]=4:c[1]=5,new cljs.core.Keyword(null,"recur","recur",-437573268)):11===e?(e=c[8],c[10]=c[2],c[8]=e+1,c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):9===e?(c[2]=null,c[1]=10,new cljs.core.Keyword(null,"recur","recur",-437573268)):5===e?(c[2]=null,c[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===e?(c[2]=c[2],c[1]=6,new cljs.core.Keyword(null,
"recur","recur",-437573268)):8===e?(e=c[7],cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,c,11,d,e)):null}}(c,d),c,d)}(),f=function(){var a=e.call(null);a[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,f)}}(d,c));return c};cljs.core.async.take.cljs$lang$maxFixedArity=3;
cljs.core.async.map_LT_=function(a,b){"undefined"===typeof cljs.core.async.t_cljs$core$async43129&&(cljs.core.async.t_cljs$core$async43129=function(a,b,e){this.f=a;this.ch=b;this.meta43130=e;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.core.async.t_cljs$core$async43129.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.async.t_cljs$core$async43129(this.f,this.ch,b)},cljs.core.async.t_cljs$core$async43129.prototype.cljs$core$IMeta$_meta$arity$1=
function(a){return this.meta43130},cljs.core.async.t_cljs$core$async43129.prototype.cljs$core$async$impl$protocols$Channel$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async43129.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1=function(a){return cljs.core.async.impl.protocols.close_BANG_.call(null,this.ch)},cljs.core.async.t_cljs$core$async43129.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1=function(a){return cljs.core.async.impl.protocols.closed_QMARK_.call(null,
this.ch)},cljs.core.async.t_cljs$core$async43129.prototype.cljs$core$async$impl$protocols$ReadPort$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async43129.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2=function(a,b){var c=this,d=this,g=cljs.core.async.impl.protocols.take_BANG_.call(null,c.ch,function(){"undefined"===typeof cljs.core.async.t_cljs$core$async43132&&(cljs.core.async.t_cljs$core$async43132=function(a,b,c,d,e,f){this.f=a;this.ch=b;this.meta43130=c;this._=
d;this.fn1=e;this.meta43133=f;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.core.async.t_cljs$core$async43132.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a){return function(a,b){return new cljs.core.async.t_cljs$core$async43132(this.f,this.ch,this.meta43130,this._,this.fn1,b)}}(d),cljs.core.async.t_cljs$core$async43132.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta43133}}(d),cljs.core.async.t_cljs$core$async43132.prototype.cljs$core$async$impl$protocols$Handler$=
cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async43132.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1=function(a){return function(a){return cljs.core.async.impl.protocols.active_QMARK_.call(null,this.fn1)}}(d),cljs.core.async.t_cljs$core$async43132.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1=function(a){return function(a){return!0}}(d),cljs.core.async.t_cljs$core$async43132.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1=
function(a){return function(a){var b=this;return function(a,c,d){return function(c){return a.call(null,null==c?null:b.f.call(null,c))}}(cljs.core.async.impl.protocols.commit.call(null,b.fn1),this,a)}}(d),cljs.core.async.t_cljs$core$async43132.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"f","f",43394975,null),new cljs.core.Symbol(null,"ch","ch",1085813622,null),new cljs.core.Symbol(null,"meta43130",
"meta43130",1056327947,null),cljs.core.with_meta(new cljs.core.Symbol(null,"_","_",-1201019570,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol("cljs.core.async","t_cljs$core$async43129","cljs.core.async/t_cljs$core$async43129",1790282290,null)],null)),new cljs.core.Symbol(null,"fn1","fn1",895834444,null),new cljs.core.Symbol(null,"meta43133","meta43133",-1969071316,null)],null)}}(d),cljs.core.async.t_cljs$core$async43132.cljs$lang$type=
!0,cljs.core.async.t_cljs$core$async43132.cljs$lang$ctorStr="cljs.core.async/t_cljs$core$async43132",cljs.core.async.t_cljs$core$async43132.cljs$lang$ctorPrWriter=function(a){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.core.async/t_cljs$core$async43132")}}(d),cljs.core.async.__GT_t_cljs$core$async43132=function(a){return function(a,b,c,d,e,f){return new cljs.core.async.t_cljs$core$async43132(a,b,c,d,e,f)}}(d));return new cljs.core.async.t_cljs$core$async43132(c.f,c.ch,c.meta43130,
d,b,cljs.core.PersistentArrayMap.EMPTY)}());return cljs.core.truth_(cljs.core.truth_(g)?null!=cljs.core.deref.call(null,g):g)?cljs.core.async.impl.channels.box.call(null,c.f.call(null,cljs.core.deref.call(null,g))):g},cljs.core.async.t_cljs$core$async43129.prototype.cljs$core$async$impl$protocols$WritePort$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async43129.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3=function(a,b,e){return cljs.core.async.impl.protocols.put_BANG_.call(null,
this.ch,b,e)},cljs.core.async.t_cljs$core$async43129.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"f","f",43394975,null),new cljs.core.Symbol(null,"ch","ch",1085813622,null),new cljs.core.Symbol(null,"meta43130","meta43130",1056327947,null)],null)},cljs.core.async.t_cljs$core$async43129.cljs$lang$type=!0,cljs.core.async.t_cljs$core$async43129.cljs$lang$ctorStr="cljs.core.async/t_cljs$core$async43129",cljs.core.async.t_cljs$core$async43129.cljs$lang$ctorPrWriter=
function(a,b,e){return cljs.core._write.call(null,b,"cljs.core.async/t_cljs$core$async43129")},cljs.core.async.__GT_t_cljs$core$async43129=function(a,b,e){return new cljs.core.async.t_cljs$core$async43129(a,b,e)});return new cljs.core.async.t_cljs$core$async43129(a,b,cljs.core.PersistentArrayMap.EMPTY)};
cljs.core.async.map_GT_=function(a,b){"undefined"===typeof cljs.core.async.t_cljs$core$async43138&&(cljs.core.async.t_cljs$core$async43138=function(a,b,e){this.f=a;this.ch=b;this.meta43139=e;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.core.async.t_cljs$core$async43138.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.async.t_cljs$core$async43138(this.f,this.ch,b)},cljs.core.async.t_cljs$core$async43138.prototype.cljs$core$IMeta$_meta$arity$1=
function(a){return this.meta43139},cljs.core.async.t_cljs$core$async43138.prototype.cljs$core$async$impl$protocols$Channel$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async43138.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1=function(a){return cljs.core.async.impl.protocols.close_BANG_.call(null,this.ch)},cljs.core.async.t_cljs$core$async43138.prototype.cljs$core$async$impl$protocols$ReadPort$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async43138.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2=
function(a,b){return cljs.core.async.impl.protocols.take_BANG_.call(null,this.ch,b)},cljs.core.async.t_cljs$core$async43138.prototype.cljs$core$async$impl$protocols$WritePort$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async43138.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3=function(a,b,e){return cljs.core.async.impl.protocols.put_BANG_.call(null,this.ch,this.f.call(null,b),e)},cljs.core.async.t_cljs$core$async43138.getBasis=function(){return new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"f","f",43394975,null),new cljs.core.Symbol(null,"ch","ch",1085813622,null),new cljs.core.Symbol(null,"meta43139","meta43139",-93038135,null)],null)},cljs.core.async.t_cljs$core$async43138.cljs$lang$type=!0,cljs.core.async.t_cljs$core$async43138.cljs$lang$ctorStr="cljs.core.async/t_cljs$core$async43138",cljs.core.async.t_cljs$core$async43138.cljs$lang$ctorPrWriter=function(a,b,e){return cljs.core._write.call(null,b,"cljs.core.async/t_cljs$core$async43138")},
cljs.core.async.__GT_t_cljs$core$async43138=function(a,b,e){return new cljs.core.async.t_cljs$core$async43138(a,b,e)});return new cljs.core.async.t_cljs$core$async43138(a,b,cljs.core.PersistentArrayMap.EMPTY)};
cljs.core.async.filter_GT_=function(a,b){"undefined"===typeof cljs.core.async.t_cljs$core$async43144&&(cljs.core.async.t_cljs$core$async43144=function(a,b,e){this.p=a;this.ch=b;this.meta43145=e;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.core.async.t_cljs$core$async43144.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.core.async.t_cljs$core$async43144(this.p,this.ch,b)},cljs.core.async.t_cljs$core$async43144.prototype.cljs$core$IMeta$_meta$arity$1=
function(a){return this.meta43145},cljs.core.async.t_cljs$core$async43144.prototype.cljs$core$async$impl$protocols$Channel$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async43144.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1=function(a){return cljs.core.async.impl.protocols.close_BANG_.call(null,this.ch)},cljs.core.async.t_cljs$core$async43144.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1=function(a){return cljs.core.async.impl.protocols.closed_QMARK_.call(null,
this.ch)},cljs.core.async.t_cljs$core$async43144.prototype.cljs$core$async$impl$protocols$ReadPort$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async43144.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2=function(a,b){return cljs.core.async.impl.protocols.take_BANG_.call(null,this.ch,b)},cljs.core.async.t_cljs$core$async43144.prototype.cljs$core$async$impl$protocols$WritePort$=cljs.core.PROTOCOL_SENTINEL,cljs.core.async.t_cljs$core$async43144.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3=
function(a,b,e){return cljs.core.truth_(this.p.call(null,b))?cljs.core.async.impl.protocols.put_BANG_.call(null,this.ch,b,e):cljs.core.async.impl.channels.box.call(null,cljs.core.not.call(null,cljs.core.async.impl.protocols.closed_QMARK_.call(null,this.ch)))},cljs.core.async.t_cljs$core$async43144.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"p","p",1791580836,null),new cljs.core.Symbol(null,"ch","ch",1085813622,
null),new cljs.core.Symbol(null,"meta43145","meta43145",-1551591300,null)],null)},cljs.core.async.t_cljs$core$async43144.cljs$lang$type=!0,cljs.core.async.t_cljs$core$async43144.cljs$lang$ctorStr="cljs.core.async/t_cljs$core$async43144",cljs.core.async.t_cljs$core$async43144.cljs$lang$ctorPrWriter=function(a,b,e){return cljs.core._write.call(null,b,"cljs.core.async/t_cljs$core$async43144")},cljs.core.async.__GT_t_cljs$core$async43144=function(a,b,e){return new cljs.core.async.t_cljs$core$async43144(a,
b,e)});return new cljs.core.async.t_cljs$core$async43144(a,b,cljs.core.PersistentArrayMap.EMPTY)};cljs.core.async.remove_GT_=function(a,b){return cljs.core.async.filter_GT_.call(null,cljs.core.complement.call(null,a),b)};
cljs.core.async.filter_LT_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.filter_LT_.call(null,a,b,null)};
cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){c=cljs.core.async.chan.call(null,c);var d=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(c,d){return function(){var e=function(){return function(a,b,c){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,
"recur","recur",-437573268))){var d=c;break a}}}catch(v){if(v instanceof Object)b[5]=v,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw v;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$0=
c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c,d){return function(c){var e=c[1];return 7===e?(c[2]=c[2],c[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268)):1===e?(c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):4===e?(e=c[2],c[7]=e,cljs.core.truth_(null==e)?c[1]=5:c[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268)):6===e?(e=c[7],e=a.call(null,e),cljs.core.truth_(e)?c[1]=8:c[1]=9,new cljs.core.Keyword(null,"recur","recur",-437573268)):3===
e?cljs.core.async.impl.ioc_helpers.return_chan.call(null,c,c[2]):2===e?cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,c,4,b):11===e?(c[2]=c[2],c[1]=10,new cljs.core.Keyword(null,"recur","recur",-437573268)):9===e?(c[2]=null,c[1]=10,new cljs.core.Keyword(null,"recur","recur",-437573268)):5===e?(e=cljs.core.async.close_BANG_.call(null,d),c[2]=e,c[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===e?(c[8]=c[2],c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):
8===e?(e=c[7],cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,c,11,d,e)):null}}(c,d),c,d)}(),f=function(){var a=e.call(null);a[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,f)}}(d,c));return c};cljs.core.async.filter_LT_.cljs$lang$maxFixedArity=3;
cljs.core.async.remove_LT_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.remove_LT_.call(null,a,b,null)};cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.async.filter_LT_.call(null,cljs.core.complement.call(null,a),b,c)};cljs.core.async.remove_LT_.cljs$lang$maxFixedArity=3;
cljs.core.async.mapcat_STAR_=function(a,b,c){var d=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(d){return function(){var e=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",
-437573268))){var d=c;break a}}}catch(u){if(u instanceof Object)b[5]=u,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw u;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$0=
c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(d){return function(d){var e=d[1];if(7===e)return d[2]=d[2],d[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268);if(20===e){var f=d[7];var g=d[2];e=cljs.core.next.call(null,f);d[8]=0;d[9]=0;d[10]=g;d[11]=null;d[12]=e;d[2]=null;d[1]=8;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(1===e)return d[2]=null,d[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(4===e)return e=d[2],d[13]=e,cljs.core.truth_(null==
e)?d[1]=5:d[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268);if(15===e)return d[2]=null,d[1]=16,new cljs.core.Keyword(null,"recur","recur",-437573268);if(21===e)return d[2]=null,d[1]=23,new cljs.core.Keyword(null,"recur","recur",-437573268);if(13===e){g=d[8];f=d[9];var h=d[11];e=d[12];var k=d[2];d[8]=g+1;d[9]=f;d[11]=h;d[14]=k;d[12]=e;d[2]=null;d[1]=8;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return 22===e?(d[2]=null,d[1]=2,new cljs.core.Keyword(null,"recur","recur",
-437573268)):6===e?(e=d[13],e=a.call(null,e),e=cljs.core.seq.call(null,e),d[8]=0,d[9]=0,d[11]=null,d[12]=e,d[2]=null,d[1]=8,new cljs.core.Keyword(null,"recur","recur",-437573268)):17===e?(f=d[7],e=cljs.core.chunk_first.call(null,f),f=cljs.core.chunk_rest.call(null,f),g=cljs.core.count.call(null,e),d[8]=0,d[9]=g,d[11]=e,d[12]=f,d[2]=null,d[1]=8,new cljs.core.Keyword(null,"recur","recur",-437573268)):3===e?cljs.core.async.impl.ioc_helpers.return_chan.call(null,d,d[2]):12===e?(d[2]=d[2],d[1]=9,new cljs.core.Keyword(null,
"recur","recur",-437573268)):2===e?cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,d,4,b):23===e?(d[2]=d[2],d[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):19===e?(d[2]=d[2],d[1]=16,new cljs.core.Keyword(null,"recur","recur",-437573268)):11===e?(e=d[12],e=cljs.core.seq.call(null,e),d[7]=e,d[1]=e?14:15,new cljs.core.Keyword(null,"recur","recur",-437573268)):9===e?(f=d[2],e=cljs.core.async.impl.protocols.closed_QMARK_.call(null,c),d[15]=f,cljs.core.truth_(e)?d[1]=21:d[1]=22,new cljs.core.Keyword(null,
"recur","recur",-437573268)):5===e?(e=cljs.core.async.close_BANG_.call(null,c),d[2]=e,d[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):14===e?(f=d[7],e=cljs.core.chunked_seq_QMARK_.call(null,f),d[1]=e?17:18,new cljs.core.Keyword(null,"recur","recur",-437573268)):16===e?(d[2]=d[2],d[1]=12,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===e?(g=d[8],h=d[11],e=cljs.core._nth.call(null,h,g),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,d,13,c,e)):18===e?(f=d[7],e=cljs.core.first.call(null,
f),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,d,20,c,e)):8===e?(g=d[8],f=d[9],e=g<f,cljs.core.truth_(e)?d[1]=10:d[1]=11,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(d),d)}(),g=function(){var a=e.call(null);a[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=d;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,g)}}(d));return d};
cljs.core.async.mapcat_LT_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.mapcat_LT_.call(null,a,b,null)};cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){c=cljs.core.async.chan.call(null,c);cljs.core.async.mapcat_STAR_.call(null,a,b,c);return c};cljs.core.async.mapcat_LT_.cljs$lang$maxFixedArity=3;
cljs.core.async.mapcat_GT_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.mapcat_GT_.call(null,a,b,null)};cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){c=cljs.core.async.chan.call(null,c);cljs.core.async.mapcat_STAR_.call(null,a,c,b);return c};cljs.core.async.mapcat_GT_.cljs$lang$maxFixedArity=3;
cljs.core.async.unique=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.core.async.unique.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.async.unique.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.core.async.unique.call(null,a,null)};
cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.core.async.chan.call(null,b),d=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(b,c){return function(){var d=function(){return function(a,b,c){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,
"recur","recur",-437573268))){var d=c;break a}}}catch(v){if(v instanceof Object)b[5]=v,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw v;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$0=
c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(b,c){return function(b){var d=b[1];if(7===d)return b[2]=b[2],b[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268);if(1===d)return b[7]=null,b[2]=null,b[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(4===d){d=b[2];var e=cljs.core.not.call(null,null==d);b[8]=d;b[1]=e?5:6;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return 6===d?(b[2]=null,b[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):
3===d?(d=b[2],e=cljs.core.async.close_BANG_.call(null,c),b[9]=d,cljs.core.async.impl.ioc_helpers.return_chan.call(null,b,e)):2===d?cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,b,4,a):11===d?(d=b[8],e=b[2],b[10]=e,b[7]=d,b[2]=null,b[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):9===d?(d=b[8],cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,b,11,c,d)):5===d?(d=b[8],e=b[7],d=cljs.core._EQ_.call(null,d,e),b[1]=d?8:9,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===
d?(b[2]=b[2],b[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===d?(e=b[7],b[7]=e,b[2]=null,b[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(b,c),b,c)}(),e=function(){var a=d.call(null);a[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=b;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,e)}}(d,c));return c};cljs.core.async.unique.cljs$lang$maxFixedArity=2;
cljs.core.async.partition=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.async.partition.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.async.partition.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.partition.call(null,a,b,null)};
cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3=function(a,b,c){c=cljs.core.async.chan.call(null,c);var d=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(c,d){return function(){var e=function(){return function(a,b,c){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,
c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(v){if(v instanceof Object)b[5]=v,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw v;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-
1));};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c,d){return function(c){var e=c[1];if(7===e)return c[2]=c[2],c[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268);if(1===e){var f=Array(a);c[7]=0;c[8]=f;c[2]=null;c[1]=2;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(4===e)return e=c[2],f=cljs.core.not.call(null,null==e),c[9]=e,c[1]=f?5:6,new cljs.core.Keyword(null,"recur","recur",-437573268);if(15===e)return c[2]=c[2],c[1]=14,
new cljs.core.Keyword(null,"recur","recur",-437573268);if(13===e)return c[2]=null,c[1]=14,new cljs.core.Keyword(null,"recur","recur",-437573268);if(6===e)return e=c[7],cljs.core.truth_(0<e)?c[1]=12:c[1]=13,new cljs.core.Keyword(null,"recur","recur",-437573268);if(3===e)return cljs.core.async.impl.ioc_helpers.return_chan.call(null,c,c[2]);if(12===e)return f=c[8],e=cljs.core.vec.call(null,f),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,c,15,d,e);if(2===e)return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,
c,4,b);if(11===e)return e=c[2],f=Array(a),c[7]=0,c[10]=e,c[8]=f,c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(9===e)return f=c[8],e=cljs.core.vec.call(null,f),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,c,11,d,e);if(5===e){e=c[7];f=c[8];var g=c[9];f=f[e]=g;g=e+1;e=g<a;c[12]=f;c[11]=g;cljs.core.truth_(e)?c[1]=8:c[1]=9;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return 14===e?(f=c[2],e=cljs.core.async.close_BANG_.call(null,d),c[13]=f,c[2]=e,c[1]=
7,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===e?(c[2]=c[2],c[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===e?(f=c[8],e=c[11],c[7]=e,c[8]=f,c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(c,d),c,d)}(),f=function(){var a=e.call(null);a[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,f)}}(d,c));return c};
cljs.core.async.partition.cljs$lang$maxFixedArity=3;
cljs.core.async.partition_by=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.async.partition_by.call(null,a,b,null)};
cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3=function(a,b,c){c=cljs.core.async.chan.call(null,c);var d=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(c,d){return function(){var e=function(){return function(a,b,c){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,
c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(v){if(v instanceof Object)b[5]=v,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw v;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-
1));};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c,d){return function(c){var e=c[1];if(7===e)return c[2]=c[2],c[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268);if(1===e){var f=[];e=new cljs.core.Keyword("cljs.core.async","nothing","cljs.core.async/nothing",-69252123);c[7]=f;c[8]=e;c[2]=null;c[1]=2;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(4===e){e=c[2];var g=cljs.core.not.call(null,null==e);c[9]=e;c[1]=g?5:6;return new cljs.core.Keyword(null,
"recur","recur",-437573268)}if(15===e)return c[2]=c[2],c[1]=14,new cljs.core.Keyword(null,"recur","recur",-437573268);if(13===e)return c[2]=null,c[1]=14,new cljs.core.Keyword(null,"recur","recur",-437573268);if(6===e)return f=c[7],e=f.length,cljs.core.truth_(0<e)?c[1]=12:c[1]=13,new cljs.core.Keyword(null,"recur","recur",-437573268);if(3===e)return cljs.core.async.impl.ioc_helpers.return_chan.call(null,c,c[2]);if(12===e)return f=c[7],e=cljs.core.vec.call(null,f),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,
c,15,d,e);if(2===e)return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,c,4,b);if(11===e){e=c[10];g=c[9];f=c[2];var h=[];g=h.push(g);c[11]=f;c[7]=h;c[8]=e;c[12]=g;c[2]=null;c[1]=2;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return 9===e?(f=c[7],e=cljs.core.vec.call(null,f),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,c,11,d,e)):5===e?(g=c[9],e=c[8],f=a.call(null,g),g=cljs.core._EQ_.call(null,f,e),e=cljs.core.keyword_identical_QMARK_.call(null,e,new cljs.core.Keyword("cljs.core.async",
"nothing","cljs.core.async/nothing",-69252123)),c[10]=f,cljs.core.truth_(g||e)?c[1]=8:c[1]=9,new cljs.core.Keyword(null,"recur","recur",-437573268)):14===e?(g=c[2],e=cljs.core.async.close_BANG_.call(null,d),c[13]=g,c[2]=e,c[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===e?(c[2]=c[2],c[1]=7,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===e?(e=c[10],g=c[9],f=c[7],g=f.push(g),c[14]=g,c[7]=f,c[8]=e,c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):
null}}(c,d),c,d)}(),f=function(){var a=e.call(null);a[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,f)}}(d,c));return c};cljs.core.async.partition_by.cljs$lang$maxFixedArity=3;goog.dom.vendor={};goog.dom.vendor.getVendorJsPrefix=function(){return goog.userAgent.WEBKIT?"Webkit":goog.userAgent.GECKO?"Moz":goog.userAgent.IE?"ms":goog.userAgent.OPERA?"O":null};goog.dom.vendor.getVendorPrefix=function(){return goog.userAgent.WEBKIT?"-webkit":goog.userAgent.GECKO?"-moz":goog.userAgent.IE?"-ms":goog.userAgent.OPERA?"-o":null};
goog.dom.vendor.getPrefixedPropertyName=function(a,b){if(b&&a in b)return a;var c=goog.dom.vendor.getVendorJsPrefix();return c?(c=c.toLowerCase(),c+=goog.string.toTitleCase(a),!goog.isDef(b)||c in b?c:null):null};goog.dom.vendor.getPrefixedEventType=function(a){return((goog.dom.vendor.getVendorJsPrefix()||"")+a).toLowerCase()};goog.html.legacyconversions={};goog.html.legacyconversions.safeHtmlFromString=function(a){goog.html.legacyconversions.reportCallback_();return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(a,null)};goog.html.legacyconversions.safeStyleFromString=function(a){goog.html.legacyconversions.reportCallback_();return goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(a)};
goog.html.legacyconversions.safeStyleSheetFromString=function(a){goog.html.legacyconversions.reportCallback_();return goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(a)};goog.html.legacyconversions.safeUrlFromString=function(a){goog.html.legacyconversions.reportCallback_();return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};goog.html.legacyconversions.trustedResourceUrlFromString=function(a){goog.html.legacyconversions.reportCallback_();return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(a)};
goog.html.legacyconversions.reportCallback_=goog.nullFunction;goog.html.legacyconversions.setReportCallback=function(a){goog.html.legacyconversions.reportCallback_=a};goog.math.Box=function(a,b,c,d){this.top=a;this.right=b;this.bottom=c;this.left=d};goog.math.Box.boundingBox=function(a){for(var b=new goog.math.Box(arguments[0].y,arguments[0].x,arguments[0].y,arguments[0].x),c=1;c<arguments.length;c++)b.expandToIncludeCoordinate(arguments[c]);return b};goog.math.Box.prototype.getWidth=function(){return this.right-this.left};goog.math.Box.prototype.getHeight=function(){return this.bottom-this.top};
goog.math.Box.prototype.clone=function(){return new goog.math.Box(this.top,this.right,this.bottom,this.left)};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(a){return goog.math.Box.contains(this,a)};
goog.math.Box.prototype.expand=function(a,b,c,d){goog.isObject(a)?(this.top-=a.top,this.right+=a.right,this.bottom+=a.bottom,this.left-=a.left):(this.top-=a,this.right+=Number(b),this.bottom+=Number(c),this.left-=Number(d));return this};goog.math.Box.prototype.expandToInclude=function(a){this.left=Math.min(this.left,a.left);this.top=Math.min(this.top,a.top);this.right=Math.max(this.right,a.right);this.bottom=Math.max(this.bottom,a.bottom)};
goog.math.Box.prototype.expandToIncludeCoordinate=function(a){this.top=Math.min(this.top,a.y);this.right=Math.max(this.right,a.x);this.bottom=Math.max(this.bottom,a.y);this.left=Math.min(this.left,a.x)};goog.math.Box.equals=function(a,b){return a==b?!0:a&&b?a.top==b.top&&a.right==b.right&&a.bottom==b.bottom&&a.left==b.left:!1};
goog.math.Box.contains=function(a,b){return a&&b?b instanceof goog.math.Box?b.left>=a.left&&b.right<=a.right&&b.top>=a.top&&b.bottom<=a.bottom:b.x>=a.left&&b.x<=a.right&&b.y>=a.top&&b.y<=a.bottom:!1};goog.math.Box.relativePositionX=function(a,b){return b.x<a.left?b.x-a.left:b.x>a.right?b.x-a.right:0};goog.math.Box.relativePositionY=function(a,b){return b.y<a.top?b.y-a.top:b.y>a.bottom?b.y-a.bottom:0};
goog.math.Box.distance=function(a,b){var c=goog.math.Box.relativePositionX(a,b),d=goog.math.Box.relativePositionY(a,b);return Math.sqrt(c*c+d*d)};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,c){return a.left<=b.right+c&&b.left<=a.right+c&&a.top<=b.bottom+c&&b.top<=a.bottom+c};
goog.math.Box.prototype.ceil=function(){this.top=Math.ceil(this.top);this.right=Math.ceil(this.right);this.bottom=Math.ceil(this.bottom);this.left=Math.ceil(this.left);return this};goog.math.Box.prototype.floor=function(){this.top=Math.floor(this.top);this.right=Math.floor(this.right);this.bottom=Math.floor(this.bottom);this.left=Math.floor(this.left);return this};
goog.math.Box.prototype.round=function(){this.top=Math.round(this.top);this.right=Math.round(this.right);this.bottom=Math.round(this.bottom);this.left=Math.round(this.left);return this};goog.math.Box.prototype.translate=function(a,b){a instanceof goog.math.Coordinate?(this.left+=a.x,this.right+=a.x,this.top+=a.y,this.bottom+=a.y):(goog.asserts.assertNumber(a),this.left+=a,this.right+=a,goog.isNumber(b)&&(this.top+=b,this.bottom+=b));return this};
goog.math.Box.prototype.scale=function(a,b){var c=goog.isNumber(b)?b:a;this.left*=a;this.right*=a;this.top*=c;this.bottom*=c;return this};goog.math.IRect=function(){};goog.math.Rect=function(a,b,c,d){this.left=a;this.top=b;this.width=c;this.height=d};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(){return new goog.math.Box(this.top,this.left+this.width,this.top+this.height,this.left)};goog.math.Rect.createFromPositionAndSize=function(a,b){return new goog.math.Rect(a.x,a.y,b.width,b.height)};
goog.math.Rect.createFromBox=function(a){return new goog.math.Rect(a.left,a.top,a.right-a.left,a.bottom-a.top)};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){return a==b?!0:a&&b?a.left==b.left&&a.width==b.width&&a.top==b.top&&a.height==b.height:!1};
goog.math.Rect.prototype.intersection=function(a){var b=Math.max(this.left,a.left),c=Math.min(this.left+this.width,a.left+a.width);if(b<=c){var d=Math.max(this.top,a.top);a=Math.min(this.top+this.height,a.top+a.height);if(d<=a)return this.left=b,this.top=d,this.width=c-b,this.height=a-d,!0}return!1};
goog.math.Rect.intersection=function(a,b){var c=Math.max(a.left,b.left),d=Math.min(a.left+a.width,b.left+b.width);if(c<=d){var e=Math.max(a.top,b.top),f=Math.min(a.top+a.height,b.top+b.height);if(e<=f)return new goog.math.Rect(c,e,d-c,f-e)}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(a){return goog.math.Rect.intersects(this,a)};
goog.math.Rect.difference=function(a,b){var c=goog.math.Rect.intersection(a,b);if(!c||!c.height||!c.width)return[a.clone()];var c=[],d=a.top,e=a.height,f=a.left+a.width,g=a.top+a.height,h=b.left+b.width,k=b.top+b.height;b.top>a.top&&(c.push(new goog.math.Rect(a.left,a.top,a.width,b.top-a.top)),d=b.top,e-=b.top-a.top);k<g&&(c.push(new goog.math.Rect(a.left,k,a.width,g-k)),e=k-d);b.left>a.left&&c.push(new goog.math.Rect(a.left,d,b.left-a.left,e));h<f&&c.push(new goog.math.Rect(h,d,f-h,e));return c};
goog.math.Rect.prototype.difference=function(a){return goog.math.Rect.difference(this,a)};goog.math.Rect.prototype.boundingRect=function(a){var b=Math.max(this.left+this.width,a.left+a.width),c=Math.max(this.top+this.height,a.top+a.height);this.left=Math.min(this.left,a.left);this.top=Math.min(this.top,a.top);this.width=b-this.left;this.height=c-this.top};goog.math.Rect.boundingRect=function(a,b){if(!a||!b)return null;var c=new goog.math.Rect(a.left,a.top,a.width,a.height);c.boundingRect(b);return c};
goog.math.Rect.prototype.contains=function(a){return a instanceof goog.math.Coordinate?a.x>=this.left&&a.x<=this.left+this.width&&a.y>=this.top&&a.y<=this.top+this.height:this.left<=a.left&&this.left+this.width>=a.left+a.width&&this.top<=a.top&&this.top+this.height>=a.top+a.height};goog.math.Rect.prototype.squaredDistance=function(a){var b=a.x<this.left?this.left-a.x:Math.max(a.x-(this.left+this.width),0);a=a.y<this.top?this.top-a.y:Math.max(a.y-(this.top+this.height),0);return b*b+a*a};
goog.math.Rect.prototype.distance=function(a){return Math.sqrt(this.squaredDistance(a))};goog.math.Rect.prototype.getSize=function(){return new goog.math.Size(this.width,this.height)};goog.math.Rect.prototype.getTopLeft=function(){return new goog.math.Coordinate(this.left,this.top)};goog.math.Rect.prototype.getCenter=function(){return new goog.math.Coordinate(this.left+this.width/2,this.top+this.height/2)};
goog.math.Rect.prototype.getBottomRight=function(){return new goog.math.Coordinate(this.left+this.width,this.top+this.height)};goog.math.Rect.prototype.ceil=function(){this.left=Math.ceil(this.left);this.top=Math.ceil(this.top);this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};goog.math.Rect.prototype.floor=function(){this.left=Math.floor(this.left);this.top=Math.floor(this.top);this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};
goog.math.Rect.prototype.round=function(){this.left=Math.round(this.left);this.top=Math.round(this.top);this.width=Math.round(this.width);this.height=Math.round(this.height);return this};goog.math.Rect.prototype.translate=function(a,b){a instanceof goog.math.Coordinate?(this.left+=a.x,this.top+=a.y):(this.left+=goog.asserts.assertNumber(a),goog.isNumber(b)&&(this.top+=b));return this};
goog.math.Rect.prototype.scale=function(a,b){var c=goog.isNumber(b)?b:a;this.left*=a;this.width*=a;this.top*=c;this.height*=c;return this};goog.style={};goog.style.setStyle=function(a,b,c){if(goog.isString(b))goog.style.setStyle_(a,c,b);else for(var d in b)goog.style.setStyle_(a,b[d],d)};goog.style.setStyle_=function(a,b,c){(c=goog.style.getVendorJsStyleName_(a,c))&&(a.style[c]=b)};goog.style.styleNameCache_={};
goog.style.getVendorJsStyleName_=function(a,b){var c=goog.style.styleNameCache_[b];if(!c){var d=goog.string.toCamelCase(b),c=d;void 0===a.style[d]&&(d=goog.dom.vendor.getVendorJsPrefix()+goog.string.toTitleCase(d),void 0!==a.style[d]&&(c=d));goog.style.styleNameCache_[b]=c}return c};
goog.style.getVendorStyleName_=function(a,b){var c=goog.string.toCamelCase(b);return void 0===a.style[c]&&(c=goog.dom.vendor.getVendorJsPrefix()+goog.string.toTitleCase(c),void 0!==a.style[c])?goog.dom.vendor.getVendorPrefix()+"-"+b:b};goog.style.getStyle=function(a,b){var c=a.style[goog.string.toCamelCase(b)];return"undefined"!==typeof c?c:a.style[goog.style.getVendorJsStyleName_(a,b)]||""};
goog.style.getComputedStyle=function(a,b){var c=goog.dom.getOwnerDocument(a);return c.defaultView&&c.defaultView.getComputedStyle&&(c=c.defaultView.getComputedStyle(a,null))?c[b]||c.getPropertyValue(b)||"":""};goog.style.getCascadedStyle=function(a,b){return a.currentStyle?a.currentStyle[b]:null};goog.style.getStyle_=function(a,b){return goog.style.getComputedStyle(a,b)||goog.style.getCascadedStyle(a,b)||a.style&&a.style[b]};
goog.style.getComputedBoxSizing=function(a){return goog.style.getStyle_(a,"boxSizing")||goog.style.getStyle_(a,"MozBoxSizing")||goog.style.getStyle_(a,"WebkitBoxSizing")||null};goog.style.getComputedPosition=function(a){return goog.style.getStyle_(a,"position")};goog.style.getBackgroundColor=function(a){return goog.style.getStyle_(a,"backgroundColor")};goog.style.getComputedOverflowX=function(a){return goog.style.getStyle_(a,"overflowX")};
goog.style.getComputedOverflowY=function(a){return goog.style.getStyle_(a,"overflowY")};goog.style.getComputedZIndex=function(a){return goog.style.getStyle_(a,"zIndex")};goog.style.getComputedTextAlign=function(a){return goog.style.getStyle_(a,"textAlign")};goog.style.getComputedCursor=function(a){return goog.style.getStyle_(a,"cursor")};goog.style.getComputedTransform=function(a){var b=goog.style.getVendorStyleName_(a,"transform");return goog.style.getStyle_(a,b)||goog.style.getStyle_(a,"transform")};
goog.style.setPosition=function(a,b,c){if(b instanceof goog.math.Coordinate){var d=b.x;b=b.y}else d=b,b=c;a.style.left=goog.style.getPixelStyleValue_(d,!1);a.style.top=goog.style.getPixelStyleValue_(b,!1)};goog.style.getPosition=function(a){return new goog.math.Coordinate(a.offsetLeft,a.offsetTop)};
goog.style.getClientViewportElement=function(a){a=a?goog.dom.getOwnerDocument(a):goog.dom.getDocument();return!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9)||goog.dom.getDomHelper(a).isCss1CompatMode()?a.documentElement:a.body};goog.style.getViewportPageOffset=function(a){var b=a.body;a=a.documentElement;return new goog.math.Coordinate(b.scrollLeft||a.scrollLeft,b.scrollTop||a.scrollTop)};
goog.style.getBoundingClientRect_=function(a){try{var b=a.getBoundingClientRect()}catch(c){return{left:0,top:0,right:0,bottom:0}}goog.userAgent.IE&&a.ownerDocument.body&&(a=a.ownerDocument,b.left-=a.documentElement.clientLeft+a.body.clientLeft,b.top-=a.documentElement.clientTop+a.body.clientTop);return b};
goog.style.getOffsetParent=function(a){if(goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(8))return goog.asserts.assert(a&&"offsetParent"in a),a.offsetParent;var b=goog.dom.getOwnerDocument(a),c=goog.style.getStyle_(a,"position"),d="fixed"==c||"absolute"==c;for(a=a.parentNode;a&&a!=b;a=a.parentNode)if(a.nodeType==goog.dom.NodeType.DOCUMENT_FRAGMENT&&a.host&&(a=a.host),c=goog.style.getStyle_(a,"position"),d=d&&"static"==c&&a!=b.documentElement&&a!=b.body,!d&&(a.scrollWidth>a.clientWidth||
a.scrollHeight>a.clientHeight||"fixed"==c||"absolute"==c||"relative"==c))return a;return null};
goog.style.getVisibleRectForElement=function(a){for(var b=new goog.math.Box(0,Infinity,Infinity,0),c=goog.dom.getDomHelper(a),d=c.getDocument().body,e=c.getDocument().documentElement,f=c.getDocumentScrollElement();a=goog.style.getOffsetParent(a);)if(!(goog.userAgent.IE&&0==a.clientWidth||goog.userAgent.WEBKIT&&0==a.clientHeight&&a==d)&&a!=d&&a!=e&&"visible"!=goog.style.getStyle_(a,"overflow")){var g=goog.style.getPageOffset(a),h=goog.style.getClientLeftTop(a);g.x+=h.x;g.y+=h.y;b.top=Math.max(b.top,
g.y);b.right=Math.min(b.right,g.x+a.clientWidth);b.bottom=Math.min(b.bottom,g.y+a.clientHeight);b.left=Math.max(b.left,g.x)}d=f.scrollLeft;f=f.scrollTop;b.left=Math.max(b.left,d);b.top=Math.max(b.top,f);c=c.getViewportSize();b.right=Math.min(b.right,d+c.width);b.bottom=Math.min(b.bottom,f+c.height);return 0<=b.top&&0<=b.left&&b.bottom>b.top&&b.right>b.left?b:null};
goog.style.getContainerOffsetToScrollInto=function(a,b,c){var d=b||goog.dom.getDocumentScrollElement();var e=goog.style.getPageOffset(a);var f=goog.style.getPageOffset(d),g=goog.style.getBorderBox(d);d==goog.dom.getDocumentScrollElement()?(b=e.x-d.scrollLeft,e=e.y-d.scrollTop,goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(10)&&(b+=g.left,e+=g.top)):(b=e.x-f.x-g.left,e=e.y-f.y-g.top);g=goog.style.getSizeWithDisplay_(a);a=d.clientWidth-g.width;g=d.clientHeight-g.height;f=d.scrollLeft;d=d.scrollTop;
c?(f+=b-a/2,d+=e-g/2):(f+=Math.min(b,Math.max(b-a,0)),d+=Math.min(e,Math.max(e-g,0)));return new goog.math.Coordinate(f,d)};goog.style.scrollIntoContainerView=function(a,b,c){b=b||goog.dom.getDocumentScrollElement();a=goog.style.getContainerOffsetToScrollInto(a,b,c);b.scrollLeft=a.x;b.scrollTop=a.y};goog.style.getClientLeftTop=function(a){return new goog.math.Coordinate(a.clientLeft,a.clientTop)};
goog.style.getPageOffset=function(a){var b=goog.dom.getOwnerDocument(a);goog.asserts.assertObject(a,"Parameter is required");var c=new goog.math.Coordinate(0,0),d=goog.style.getClientViewportElement(b);if(a==d)return c;a=goog.style.getBoundingClientRect_(a);b=goog.dom.getDomHelper(b).getDocumentScroll();c.x=a.left+b.x;c.y=a.top+b.y;return c};goog.style.getPageOffsetLeft=function(a){return goog.style.getPageOffset(a).x};goog.style.getPageOffsetTop=function(a){return goog.style.getPageOffset(a).y};
goog.style.getFramedPageOffset=function(a,b){var c=new goog.math.Coordinate(0,0),d=goog.dom.getWindow(goog.dom.getOwnerDocument(a));if(!goog.reflect.canAccessProperty(d,"parent"))return c;var e=a;do{var f=d==b?goog.style.getPageOffset(e):goog.style.getClientPositionForElement_(goog.asserts.assert(e));c.x+=f.x;c.y+=f.y}while(d&&d!=b&&d!=d.parent&&(e=d.frameElement)&&(d=d.parent));return c};
goog.style.translateRectForAnotherFrame=function(a,b,c){if(b.getDocument()!=c.getDocument()){var d=b.getDocument().body;c=goog.style.getFramedPageOffset(d,c.getWindow());c=goog.math.Coordinate.difference(c,goog.style.getPageOffset(d));!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9)||b.isCss1CompatMode()||(c=goog.math.Coordinate.difference(c,b.getDocumentScroll()));a.left+=c.x;a.top+=c.y}};
goog.style.getRelativePosition=function(a,b){var c=goog.style.getClientPosition(a),d=goog.style.getClientPosition(b);return new goog.math.Coordinate(c.x-d.x,c.y-d.y)};goog.style.getClientPositionForElement_=function(a){a=goog.style.getBoundingClientRect_(a);return new goog.math.Coordinate(a.left,a.top)};
goog.style.getClientPosition=function(a){goog.asserts.assert(a);if(a.nodeType==goog.dom.NodeType.ELEMENT)return goog.style.getClientPositionForElement_(a);a=a.changedTouches?a.changedTouches[0]:a;return new goog.math.Coordinate(a.clientX,a.clientY)};goog.style.setPageOffset=function(a,b,c){var d=goog.style.getPageOffset(a);b instanceof goog.math.Coordinate&&(c=b.y,b=b.x);b=goog.asserts.assertNumber(b)-d.x;goog.style.setPosition(a,a.offsetLeft+b,a.offsetTop+(Number(c)-d.y))};
goog.style.setSize=function(a,b,c){if(b instanceof goog.math.Size)c=b.height,b=b.width;else if(void 0==c)throw Error("missing height argument");goog.style.setWidth(a,b);goog.style.setHeight(a,c)};goog.style.getPixelStyleValue_=function(a,b){"number"==typeof a&&(a=(b?Math.round(a):a)+"px");return a};goog.style.setHeight=function(a,b){a.style.height=goog.style.getPixelStyleValue_(b,!0)};goog.style.setWidth=function(a,b){a.style.width=goog.style.getPixelStyleValue_(b,!0)};
goog.style.getSize=function(a){return goog.style.evaluateWithTemporaryDisplay_(goog.style.getSizeWithDisplay_,a)};goog.style.evaluateWithTemporaryDisplay_=function(a,b){if("none"!=goog.style.getStyle_(b,"display"))return a(b);var c=b.style,d=c.display,e=c.visibility,f=c.position;c.visibility="hidden";c.position="absolute";c.display="inline";var g=a(b);c.display=d;c.position=f;c.visibility=e;return g};
goog.style.getSizeWithDisplay_=function(a){var b=a.offsetWidth,c=a.offsetHeight,d=goog.userAgent.WEBKIT&&!b&&!c;return goog.isDef(b)&&!d||!a.getBoundingClientRect?new goog.math.Size(b,c):(a=goog.style.getBoundingClientRect_(a),new goog.math.Size(a.right-a.left,a.bottom-a.top))};goog.style.getTransformedSize=function(a){if(!a.getBoundingClientRect)return null;a=goog.style.evaluateWithTemporaryDisplay_(goog.style.getBoundingClientRect_,a);return new goog.math.Size(a.right-a.left,a.bottom-a.top)};
goog.style.getBounds=function(a){var b=goog.style.getPageOffset(a);a=goog.style.getSize(a);return new goog.math.Rect(b.x,b.y,a.width,a.height)};goog.style.toCamelCase=function(a){return goog.string.toCamelCase(String(a))};goog.style.toSelectorCase=function(a){return goog.string.toSelectorCase(a)};
goog.style.getOpacity=function(a){goog.asserts.assert(a);var b=a.style;a="";"opacity"in b?a=b.opacity:"MozOpacity"in b?a=b.MozOpacity:"filter"in b&&(b=b.filter.match(/alpha\(opacity=([\d.]+)\)/))&&(a=String(b[1]/100));return""==a?a:Number(a)};goog.style.setOpacity=function(a,b){goog.asserts.assert(a);var c=a.style;"opacity"in c?c.opacity=b:"MozOpacity"in c?c.MozOpacity=b:"filter"in c&&(c.filter=""===b?"":"alpha(opacity\x3d"+100*Number(b)+")")};
goog.style.setTransparentBackgroundImage=function(a,b){var c=a.style;goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("8")?c.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src\x3d"'+b+'", sizingMethod\x3d"crop")':(c.backgroundImage="url("+b+")",c.backgroundPosition="top left",c.backgroundRepeat="no-repeat")};goog.style.clearTransparentBackgroundImage=function(a){a=a.style;"filter"in a?a.filter="":a.backgroundImage="none"};
goog.style.showElement=function(a,b){goog.style.setElementShown(a,b)};goog.style.setElementShown=function(a,b){a.style.display=b?"":"none"};goog.style.isElementShown=function(a){return"none"!=a.style.display};goog.style.installStyles=function(a,b){return goog.style.installSafeStyleSheet(goog.html.legacyconversions.safeStyleSheetFromString(a),b)};
goog.style.installSafeStyleSheet=function(a,b){var c=goog.dom.getDomHelper(b),d=c.getDocument();if(goog.userAgent.IE&&d.createStyleSheet){var e=d.createStyleSheet();goog.style.setSafeStyleSheet(e,a)}else d=c.getElementsByTagNameAndClass("HEAD")[0],d||(e=c.getElementsByTagNameAndClass("BODY")[0],d=c.createDom("HEAD"),e.parentNode.insertBefore(d,e)),e=c.createDom("STYLE"),goog.style.setSafeStyleSheet(e,a),c.appendChild(d,e);return e};
goog.style.uninstallStyles=function(a){goog.dom.removeNode(a.ownerNode||a.owningElement||a)};goog.style.setStyles=function(a,b){goog.style.setSafeStyleSheet(a,goog.html.legacyconversions.safeStyleSheetFromString(b))};goog.style.setSafeStyleSheet=function(a,b){var c=goog.html.SafeStyleSheet.unwrap(b);goog.userAgent.IE&&goog.isDef(a.cssText)?a.cssText=c:a.innerHTML=c};
goog.style.setPreWrap=function(a){a=a.style;goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("8")?(a.whiteSpace="pre",a.wordWrap="break-word"):a.whiteSpace=goog.userAgent.GECKO?"-moz-pre-wrap":"pre-wrap"};goog.style.setInlineBlock=function(a){a=a.style;a.position="relative";goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("8")?(a.zoom="1",a.display="inline"):a.display="inline-block"};goog.style.isRightToLeft=function(a){return"rtl"==goog.style.getStyle_(a,"direction")};
goog.style.unselectableStyle_=goog.userAgent.GECKO?"MozUserSelect":goog.userAgent.WEBKIT||goog.userAgent.EDGE?"WebkitUserSelect":null;goog.style.isUnselectable=function(a){return goog.style.unselectableStyle_?"none"==a.style[goog.style.unselectableStyle_].toLowerCase():goog.userAgent.IE||goog.userAgent.OPERA?"on"==a.getAttribute("unselectable"):!1};
goog.style.setUnselectable=function(a,b,c){c=c?null:a.getElementsByTagName("*");var d=goog.style.unselectableStyle_;if(d){if(b=b?"none":"",a.style&&(a.style[d]=b),c){a=0;for(var e;e=c[a];a++)e.style&&(e.style[d]=b)}}else if(goog.userAgent.IE||goog.userAgent.OPERA)if(b=b?"on":"",a.setAttribute("unselectable",b),c)for(a=0;e=c[a];a++)e.setAttribute("unselectable",b)};goog.style.getBorderBoxSize=function(a){return new goog.math.Size(a.offsetWidth,a.offsetHeight)};
goog.style.setBorderBoxSize=function(a,b){var c=goog.dom.getOwnerDocument(a),d=goog.dom.getDomHelper(c).isCss1CompatMode();if(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10")||d&&goog.userAgent.isVersionOrHigher("8"))goog.style.setBoxSizingSize_(a,b,"border-box");else if(c=a.style,d){var d=goog.style.getPaddingBox(a),e=goog.style.getBorderBox(a);c.pixelWidth=b.width-e.left-d.left-d.right-e.right;c.pixelHeight=b.height-e.top-d.top-d.bottom-e.bottom}else c.pixelWidth=b.width,c.pixelHeight=
b.height};
goog.style.getContentBoxSize=function(a){var b=goog.dom.getOwnerDocument(a),c=goog.userAgent.IE&&a.currentStyle;if(c&&goog.dom.getDomHelper(b).isCss1CompatMode()&&"auto"!=c.width&&"auto"!=c.height&&!c.boxSizing)return b=goog.style.getIePixelValue_(a,c.width,"width","pixelWidth"),a=goog.style.getIePixelValue_(a,c.height,"height","pixelHeight"),new goog.math.Size(b,a);c=goog.style.getBorderBoxSize(a);b=goog.style.getPaddingBox(a);a=goog.style.getBorderBox(a);return new goog.math.Size(c.width-a.left-
b.left-b.right-a.right,c.height-a.top-b.top-b.bottom-a.bottom)};
goog.style.setContentBoxSize=function(a,b){var c=goog.dom.getOwnerDocument(a),d=goog.dom.getDomHelper(c).isCss1CompatMode();if(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10")||d&&goog.userAgent.isVersionOrHigher("8"))goog.style.setBoxSizingSize_(a,b,"content-box");else if(c=a.style,d)c.pixelWidth=b.width,c.pixelHeight=b.height;else{var d=goog.style.getPaddingBox(a),e=goog.style.getBorderBox(a);c.pixelWidth=b.width+e.left+d.left+d.right+e.right;c.pixelHeight=b.height+e.top+d.top+d.bottom+
e.bottom}};goog.style.setBoxSizingSize_=function(a,b,c){a=a.style;goog.userAgent.GECKO?a.MozBoxSizing=c:goog.userAgent.WEBKIT?a.WebkitBoxSizing=c:a.boxSizing=c;a.width=Math.max(b.width,0)+"px";a.height=Math.max(b.height,0)+"px"};goog.style.getIePixelValue_=function(a,b,c,d){if(/^\d+px?$/.test(b))return parseInt(b,10);var e=a.style[c],f=a.runtimeStyle[c];a.runtimeStyle[c]=a.currentStyle[c];a.style[c]=b;b=a.style[d];a.style[c]=e;a.runtimeStyle[c]=f;return+b};
goog.style.getIePixelDistance_=function(a,b){var c=goog.style.getCascadedStyle(a,b);return c?goog.style.getIePixelValue_(a,c,"left","pixelLeft"):0};
goog.style.getBox_=function(a,b){if(goog.userAgent.IE){var c=goog.style.getIePixelDistance_(a,b+"Left");var d=goog.style.getIePixelDistance_(a,b+"Right");var e=goog.style.getIePixelDistance_(a,b+"Top");var f=goog.style.getIePixelDistance_(a,b+"Bottom");return new goog.math.Box(e,d,f,c)}c=goog.style.getComputedStyle(a,b+"Left");d=goog.style.getComputedStyle(a,b+"Right");e=goog.style.getComputedStyle(a,b+"Top");f=goog.style.getComputedStyle(a,b+"Bottom");return new goog.math.Box(parseFloat(e),parseFloat(d),
parseFloat(f),parseFloat(c))};goog.style.getPaddingBox=function(a){return goog.style.getBox_(a,"padding")};goog.style.getMarginBox=function(a){return goog.style.getBox_(a,"margin")};goog.style.ieBorderWidthKeywords_={thin:2,medium:4,thick:6};
goog.style.getIePixelBorder_=function(a,b){if("none"==goog.style.getCascadedStyle(a,b+"Style"))return 0;var c=goog.style.getCascadedStyle(a,b+"Width");return c in goog.style.ieBorderWidthKeywords_?goog.style.ieBorderWidthKeywords_[c]:goog.style.getIePixelValue_(a,c,"left","pixelLeft")};
goog.style.getBorderBox=function(a){if(goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(9)){var b=goog.style.getIePixelBorder_(a,"borderLeft");var c=goog.style.getIePixelBorder_(a,"borderRight");var d=goog.style.getIePixelBorder_(a,"borderTop");a=goog.style.getIePixelBorder_(a,"borderBottom");return new goog.math.Box(d,c,a,b)}b=goog.style.getComputedStyle(a,"borderLeftWidth");c=goog.style.getComputedStyle(a,"borderRightWidth");d=goog.style.getComputedStyle(a,"borderTopWidth");a=goog.style.getComputedStyle(a,
"borderBottomWidth");return new goog.math.Box(parseFloat(d),parseFloat(c),parseFloat(a),parseFloat(b))};goog.style.getFontFamily=function(a){var b=goog.dom.getOwnerDocument(a),c="";if(b.body.createTextRange&&goog.dom.contains(b,a)){b=b.body.createTextRange();b.moveToElementText(a);try{c=b.queryCommandValue("FontName")}catch(d){c=""}}c||(c=goog.style.getStyle_(a,"fontFamily"));a=c.split(",");1<a.length&&(c=a[0]);return goog.string.stripQuotes(c,"\"'")};goog.style.lengthUnitRegex_=/[^\d]+$/;
goog.style.getLengthUnits=function(a){return(a=a.match(goog.style.lengthUnitRegex_))&&a[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(a){var b=goog.style.getStyle_(a,"fontSize"),c=goog.style.getLengthUnits(b);if(b&&"px"==c)return parseInt(b,10);if(goog.userAgent.IE){if(String(c)in goog.style.ABSOLUTE_CSS_LENGTH_UNITS_)return goog.style.getIePixelValue_(a,b,"left","pixelLeft");if(a.parentNode&&a.parentNode.nodeType==goog.dom.NodeType.ELEMENT&&String(c)in goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_)return a=a.parentNode,c=goog.style.getStyle_(a,"fontSize"),goog.style.getIePixelValue_(a,b==c?"1em":b,
"left","pixelLeft")}c=goog.dom.createDom("SPAN",{style:"visibility:hidden;position:absolute;line-height:0;padding:0;margin:0;border:0;height:1em;"});goog.dom.appendChild(a,c);b=c.offsetHeight;goog.dom.removeNode(c);return b};goog.style.parseStyleAttribute=function(a){var b={};goog.array.forEach(a.split(/\s*;\s*/),function(a){var c=a.match(/\s*([\w-]+)\s*\:(.+)/);c&&(a=c[1],c=goog.string.trim(c[2]),b[goog.string.toCamelCase(a.toLowerCase())]=c)});return b};
goog.style.toStyleAttribute=function(a){var b=[];goog.object.forEach(a,function(a,d){b.push(goog.string.toSelectorCase(d),":",a,";")});return b.join("")};goog.style.setFloat=function(a,b){a.style[goog.userAgent.IE?"styleFloat":"cssFloat"]=b};goog.style.getFloat=function(a){return a.style[goog.userAgent.IE?"styleFloat":"cssFloat"]||""};
goog.style.getScrollbarWidth=function(a){var b=goog.dom.createElement("DIV");a&&(b.className=a);b.style.cssText="overflow:auto;position:absolute;top:0;width:100px;height:100px";a=goog.dom.createElement("DIV");goog.style.setSize(a,"200px","200px");b.appendChild(a);goog.dom.appendChild(goog.dom.getDocument().body,b);a=b.offsetWidth-b.clientWidth;goog.dom.removeNode(b);return a};goog.style.MATRIX_TRANSLATION_REGEX_=/matrix\([0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, ([0-9\.\-]+)p?x?, ([0-9\.\-]+)p?x?\)/;
goog.style.getCssTranslation=function(a){a=goog.style.getComputedTransform(a);return a?(a=a.match(goog.style.MATRIX_TRANSLATION_REGEX_))?new goog.math.Coordinate(parseFloat(a[1]),parseFloat(a[2])):new goog.math.Coordinate(0,0):new goog.math.Coordinate(0,0)};goog.events.MouseWheelHandler=function(a,b){goog.events.EventTarget.call(this);this.element_=a;var c=goog.dom.isElement(this.element_)?this.element_:this.element_?this.element_.body:null;this.isRtl_=!!c&&goog.style.isRightToLeft(c);this.listenKey_=goog.events.listen(this.element_,goog.userAgent.GECKO?"DOMMouseScroll":"mousewheel",this,b)};goog.inherits(goog.events.MouseWheelHandler,goog.events.EventTarget);goog.events.MouseWheelHandler.EventType={MOUSEWHEEL:"mousewheel"};
goog.events.MouseWheelHandler.prototype.setMaxDeltaX=function(a){this.maxDeltaX_=a};goog.events.MouseWheelHandler.prototype.setMaxDeltaY=function(a){this.maxDeltaY_=a};
goog.events.MouseWheelHandler.prototype.handleEvent=function(a){var b=0,c=0,d=a.getBrowserEvent();"mousewheel"==d.type?(a=goog.events.MouseWheelHandler.smartScale_(-d.wheelDelta,40),goog.isDef(d.wheelDeltaX)?(b=goog.events.MouseWheelHandler.smartScale_(-d.wheelDeltaX,40),c=goog.events.MouseWheelHandler.smartScale_(-d.wheelDeltaY,40)):c=a):(a=d.detail,100<a?a=3:-100>a&&(a=-3),goog.isDef(d.axis)&&d.axis===d.HORIZONTAL_AXIS?b=a:c=a);goog.isNumber(this.maxDeltaX_)&&(b=goog.math.clamp(b,-this.maxDeltaX_,
this.maxDeltaX_));goog.isNumber(this.maxDeltaY_)&&(c=goog.math.clamp(c,-this.maxDeltaY_,this.maxDeltaY_));this.isRtl_&&(b=-b);b=new goog.events.MouseWheelEvent(a,d,b,c);this.dispatchEvent(b)};goog.events.MouseWheelHandler.smartScale_=function(a,b){return goog.userAgent.WEBKIT&&(goog.userAgent.MAC||goog.userAgent.LINUX)&&0!=a%b?a:a/b};
goog.events.MouseWheelHandler.prototype.disposeInternal=function(){goog.events.MouseWheelHandler.superClass_.disposeInternal.call(this);goog.events.unlistenByKey(this.listenKey_);this.listenKey_=null};goog.events.MouseWheelEvent=function(a,b,c,d){goog.events.BrowserEvent.call(this,b);this.type=goog.events.MouseWheelHandler.EventType.MOUSEWHEEL;this.detail=a;this.deltaX=c;this.deltaY=d};goog.inherits(goog.events.MouseWheelEvent,goog.events.BrowserEvent);weathergen.canvas={};
weathergen.canvas.create_context=function(a,b,c){var d=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);var e=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);d=e/d;b=c/b;a=a.getContext("2d");a.setTransform(1,0,0,1,0,0);return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"context","context",-830191113),a,new cljs.core.Keyword(null,"cell-width","cell-width",1767835816),d,new cljs.core.Keyword(null,"cell-height","cell-height",776757236),
b],null)};weathergen.falcon.install={};weathergen.falcon.install.win32_QMARK_=cljs.core._EQ_.call(null,function(){return require("os")}().platform(),"win32");weathergen.falcon.install.installations=cljs.core.atom.call(null,null);
weathergen.falcon.install.reg_read_installations=function(a){var b=require("winreg"),c=cljs.core._EQ_.call(null,"x64",process.arch),d=new b({hive:b.HKLM,key:"\\SOFTWARE\\Benchmark Sims\\",arch:c?"x86":null});return d.keys(function(b,c,d,h){return function(e,f){if(cljs.core.truth_(e))return a.call(null,cljs.core.PersistentArrayMap.EMPTY);for(var g=f.length,k=cljs.core.atom.call(null,g),l=cljs.core.atom.call(null,null),q=cljs.core.seq.call(null,f),r=null,u=0,t=0;;)if(t<u){var v=cljs.core._nth.call(null,
r,t);v.get("baseDir",function(b,c,d,e,f,g,h,k,l,m,n,p){return function(q,r){cljs.core.swap_BANG_.call(null,h,cljs.core.dec);cljs.core.truth_(q)?taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"error","error",-978969032),"weathergen.falcon.install",null,36,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n){return function(){return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,["Could not read from registry key ",e.path],null)}}(b,c,d,e,f,g,h,k,l,m,n,p),null),null,998644833):cljs.core.swap_BANG_.call(null,k,cljs.core.assoc,cljs.core.subs.call(null,f.key,cljs.core.count.call(null,n)),r.value);return 0===cljs.core.deref.call(null,h)?a.call(null,cljs.core.deref.call(null,k)):null}}(q,r,u,t,v,g,k,l,b,c,d,h));t+=1}else{var w=cljs.core.seq.call(null,q);if(w){var x=w;cljs.core.chunked_seq_QMARK_.call(null,x)?(q=cljs.core.chunk_first.call(null,
x),v=cljs.core.chunk_rest.call(null,x),r=q,x=cljs.core.count.call(null,q),q=v,u=x):(v=cljs.core.first.call(null,x),v.get("baseDir",function(b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(u,t){cljs.core.swap_BANG_.call(null,l,cljs.core.dec);cljs.core.truth_(u)?taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"error","error",-978969032),"weathergen.falcon.install",null,36,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto",
"auto",-566279492),new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Could not read from registry key ",e.path],null)}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r),null),null,213800999):cljs.core.swap_BANG_.call(null,m,cljs.core.assoc,cljs.core.subs.call(null,f.key,cljs.core.count.call(null,q)),t.value);return 0===cljs.core.deref.call(null,l)?a.call(null,cljs.core.deref.call(null,m)):null}}(q,r,u,t,v,
x,w,g,k,l,b,c,d,h)),q=cljs.core.next.call(null,x),r=null,u=0);t=0}else return null}}}(b,c,"\\SOFTWARE\\Benchmark Sims\\",d))};
weathergen.falcon.install.locate_installations=function(a){var b=cljs.core.deref.call(null,weathergen.falcon.install.installations),c=(new cljs.core.Keyword(null,"installations","installations",-2091217739)).cljs$core$IFn$_invoke$arity$1(weathergen.settings.load_settings.call(null));return cljs.core.truth_(b)?a.call(null,b):cljs.core.truth_(c)?(cljs.core.reset_BANG_.call(null,weathergen.falcon.install.installations,c),a.call(null,c)):weathergen.falcon.install.win32_QMARK_?weathergen.falcon.install.reg_read_installations.call(null,
function(b,c){return function(b){cljs.core.reset_BANG_.call(null,weathergen.falcon.install.installations,b);return a.call(null,b)}}(b,c)):a.call(null,null)};weathergen.ipc={};weathergen.ipc.electron=require("electron");weathergen.ipc.channel="weathergen-ipc";
"undefined"===typeof weathergen.ipc.on_message&&(weathergen.ipc.on_message=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));
return new cljs.core.MultiFn(cljs.core.symbol.call(null,"weathergen.ipc","on-message"),function(a,b,c,d,e){return function(){var a=function(a,b,c){if(2<arguments.length){for(var d=0,e=Array(arguments.length-2);d<e.length;)e[d]=arguments[d+2],++d;new cljs.core.IndexedSeq(e,0,null)}return a};a.cljs$lang$maxFixedArity=2;a.cljs$lang$applyTo=function(a){var b=cljs.core.first(a);a=cljs.core.next(a);cljs.core.first(a);cljs.core.rest(a);return b};a.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){return a};
return a}()}(a,b,c,d,e),new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}());weathergen.ipc.send_to_main=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return weathergen.ipc.send_to_main.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
weathergen.ipc.send_to_main.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return cljs.core.apply.call(null,weathergen.ipc.electron.ipcRenderer.send,weathergen.ipc.channel,a,cljs.core.map.call(null,weathergen.encoding.encode,b))};weathergen.ipc.send_to_main.cljs$lang$maxFixedArity=1;weathergen.ipc.send_to_main.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return weathergen.ipc.send_to_main.cljs$core$IFn$_invoke$arity$variadic(b,a)};
weathergen.ipc.send_to_renderer=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=2<b.length?new cljs.core.IndexedSeq(b.slice(2),0,null):null;return weathergen.ipc.send_to_renderer.cljs$core$IFn$_invoke$arity$variadic(arguments[0],arguments[1],b)};
weathergen.ipc.send_to_renderer.cljs$core$IFn$_invoke$arity$variadic=function(a,b,c){a=a.webContents;return a.send.apply(a,cljs.core.clj__GT_js.call(null,cljs.core.into.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.ipc.channel,b],null),cljs.core.map.call(null,weathergen.encoding.encode,c))))};weathergen.ipc.send_to_renderer.cljs$lang$maxFixedArity=2;
weathergen.ipc.send_to_renderer.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a),c=cljs.core.next.call(null,a);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);return weathergen.ipc.send_to_renderer.cljs$core$IFn$_invoke$arity$variadic(b,a,c)};weathergen.ipc.ipc=cljs.core._EQ_.call(null,"renderer",process.type)?weathergen.ipc.electron.ipcRenderer:weathergen.ipc.electron.ipcMain;
weathergen.ipc.ipc.on(weathergen.ipc.channel,function(){var a=function(a,b){var c=cljs.core.seq.call(null,b),d=cljs.core.first.call(null,c),c=cljs.core.next.call(null,c);return cljs.core.apply.call(null,weathergen.ipc.on_message,d,a,cljs.core.map.call(null,weathergen.encoding.decode,c))},b=function(b,d){var c=null;if(1<arguments.length){for(var c=0,f=Array(arguments.length-1);c<f.length;)f[c]=arguments[c+1],++c;c=new cljs.core.IndexedSeq(f,0,null)}return a.call(this,b,c)};b.cljs$lang$maxFixedArity=
1;b.cljs$lang$applyTo=function(b){var c=cljs.core.first(b);b=cljs.core.rest(b);return a(c,b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}());var org={craigandera:{}};org.craigandera.weathergen={};org.craigandera.weathergen.pattern_space={};weathergen.model={};weathergen.model.mmhg__GT_inhg=function(a){return(a-950)/110*3.25+28.05};weathergen.model.inhg__GT_mmhg=function(a){return(a-28.05)/3.25*110+950};weathergen.model.types=new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"inclement","inclement",-550669382),new cljs.core.Keyword(null,"poor","poor",1462482211),new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.Keyword(null,"sunny","sunny",1448267778)],null);
weathergen.model.mix=function(a,b,c,d,e){e-=d;var f=(cljs.core.get_in.call(null,c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"inclement","inclement",-550669382),new cljs.core.Keyword(null,"pressure","pressure",505343747)],null))-d)/e,g=(cljs.core.get_in.call(null,c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"poor","poor",1462482211),new cljs.core.Keyword(null,"pressure","pressure",
505343747)],null))-d)/e;c=(cljs.core.get_in.call(null,c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.Keyword(null,"pressure","pressure",505343747)],null))-d)/e;b=new cljs.core.PersistentVector(null,8,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,
[1,0,0,0],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[(1-b)*f,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[1,0,0,0],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.math.interpolate.call(null,f,g,b),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,1,0,0],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[weathergen.math.interpolate.call(null,g,f,b),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,1,0,0],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.math.interpolate.call(null,g,c,b),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,0,1,0],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.math.interpolate.call(null,c,g,b),new cljs.core.PersistentVector(null,
4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,0,1,0],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1-b,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,0,0,1],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,0,0,1],null)],null)],null);f=cljs.core.first.call(null,cljs.core.filter.call(null,function(b,
c,d,e,f,g){return function(b){var c=cljs.core.nth.call(null,b,0,null),c=cljs.core.nth.call(null,c,0,null);b=cljs.core.nth.call(null,b,1,null);b=cljs.core.nth.call(null,b,0,null);return c<=a&&a<=b}}(e,f,g,c,1,b),cljs.core.partition.call(null,2,1,b)));e=cljs.core.nth.call(null,f,0,null);b=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);g=cljs.core.nth.call(null,f,1,null);f=cljs.core.nth.call(null,g,0,null);g=cljs.core.nth.call(null,g,1,null);return cljs.core.zipmap.call(null,weathergen.model.types,
weathergen.math.vector_interpolate.call(null,e,g,a,b,f))};weathergen.model.mix_on=function(a,b,c){return cljs.core.reduce.call(null,cljs.core._PLUS_,cljs.core.mapv.call(null,function(b){var d=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return cljs.core.get_in.call(null,cljs.core.get.call(null,a,d),c)*b},b))};
weathergen.model.smoothed_noise_field=function(a,b,c,d,e){d=cljs.core.long$.call(null,Math.floor(c+d));return weathergen.math.interpolate.call(null,weathergen.math.fractal_field.call(null,a,b,e,d+.01,1),weathergen.math.fractal_field.call(null,a,b,e,d+1.01,1),cljs.core.mod.call(null,weathergen.math.frac.call(null,c),1))};
weathergen.model.perturb=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword("org.craigandera.weathergen.pattern-space","x","org.craigandera.weathergen.pattern-space/x",441833243));var c=cljs.core.get.call(null,b,new cljs.core.Keyword("org.craigandera.weathergen.pattern-space","y","org.craigandera.weathergen.pattern-space/y",-176904590)),
d=cljs.core.get.call(null,b,new cljs.core.Keyword("org.craigandera.weathergen.pattern-space","t","org.craigandera.weathergen.pattern-space/t",1253598919)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"seed","seed",68613327)),f=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"turbulence","turbulence",-915506410)),b=(new cljs.core.Keyword(null,"power","power",-937852079)).cljs$core$IFn$_invoke$arity$1(f),g=(new cljs.core.Keyword(null,"size","size",1098693007)).cljs$core$IFn$_invoke$arity$1(f),
f=a/g,h=c/g,g=weathergen.model.smoothed_noise_field.call(null,f,h,d,e,32),d=weathergen.model.smoothed_noise_field.call(null,f,h,d+16,e,32);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b*g+a,b*d+c],null)};weathergen.model.pressure_pattern=function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return(Math.sin(b)*Math.sin(a)+Math.sin(b/3)*Math.sin(a/3)+2)/4};
weathergen.model.wind_direction=function(a,b,c){var d=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);c=cljs.core.get_in.call(null,c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"prevailing-wind","prevailing-wind",-190580386),new cljs.core.Keyword(null,"heading","heading",-1312171873)],null));d=weathergen.math.rotate.call(null,90,weathergen.math.normalize.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[Math.cos(d)*Math.sin(a)+1/3*Math.cos(d/3)*Math.sin(a/3),Math.sin(d)*Math.cos(a)+1/3*Math.sin(d/3)*Math.cos(a/3)],null)));c=weathergen.math.rotate.call(null,c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,1],null));return weathergen.math.normalize.call(null,weathergen.math.vector_interpolate.call(null,c,d,Math.abs(b-.5),0,.5))};
weathergen.model.wind_speed=function(a,b,c){var d=weathergen.model.mix_on.call(null,a,b,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.Keyword(null,"mean","mean",-1359234715)],null)),e=weathergen.model.mix_on.call(null,a,b,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.Keyword(null,"min","min",444991522)],
null));a=weathergen.model.mix_on.call(null,a,b,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.Keyword(null,"max","max",61366548)],null));return weathergen.math.distribute.call(null,c,e,d,a,1)};
weathergen.model.in_area_QMARK_=function(a,b,c){var d=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"x","x",2099068185));var e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"y","y",-1757859776)),f=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"width","width",-384071477)),d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,
"height","height",1025178622));return cljs.core.truth_(a)?cljs.core.truth_(e)?cljs.core.truth_(f)?cljs.core.truth_(d)?a<=b&&b<a+f&&e<=c&&c<e+d:d:f:e:a};
weathergen.model.stabilize_wind=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"x","x",2099068185)),f=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"y","y",-1757859776)),c=cljs.core.filter.call(null,function(a,
b,c,d,e,f){return function(a){return weathergen.model.in_area_QMARK_.call(null,(new cljs.core.Keyword(null,"bounds","bounds",1691609455)).cljs$core$IFn$_invoke$arity$1(a),e,f)}}(d,a,c,d,e,f),d),c=cljs.core.first.call(null,c),c=(new cljs.core.Keyword(null,"wind","wind",-527553074)).cljs$core$IFn$_invoke$arity$1(c);return cljs.core.truth_(c)?c:b};
weathergen.model.temperature=function(a,b,c){var d=weathergen.model.mix_on.call(null,a,b,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.Keyword(null,"mean","mean",-1359234715)],null)),e=weathergen.model.mix_on.call(null,a,b,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.Keyword(null,"min","min",444991522)],
null));a=weathergen.model.mix_on.call(null,a,b,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.Keyword(null,"max","max",61366548)],null));return weathergen.math.distribute.call(null,c,e,d,a,1)};
weathergen.model.time_weight=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"begin","begin",-319034319)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"peak","peak",389096055)),f=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"taper","taper",1772067478)),g=cljs.core.get.call(null,c,new cljs.core.Keyword(null,
"end","end",-268185958)),c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"animate?","animate?",-1559039739)),d=weathergen.time.campaign_time__GT_minutes.call(null,d),e=weathergen.time.campaign_time__GT_minutes.call(null,e),f=weathergen.time.campaign_time__GT_minutes.call(null,f),g=weathergen.time.campaign_time__GT_minutes.call(null,g),h=weathergen.time.campaign_time__GT_minutes.call(null,b);return cljs.core.not.call(null,c)?1:g<h?0:f<h?1-(h-f)/(g-f):e<h?1:d<h?(h-d)/(e-d):0};
weathergen.model.override=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"x","x",2099068185)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"y","y",-1757859776)),f=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"t","t",-1397832519)),g=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"weather-overrides",
"weather-overrides",-837381710)),h=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"time","time",1385887882)),k=(new cljs.core.Keyword(null,"min","min",444991522)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"pressure","pressure",505343747)).cljs$core$IFn$_invoke$arity$1(a)),l=(new cljs.core.Keyword(null,"max","max",61366548)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"pressure","pressure",505343747)).cljs$core$IFn$_invoke$arity$1(a));return weathergen.math.clamp.call(null,
0,1,cljs.core.reduce.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a,b){var e=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,f=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"location","location",1815599388)),k=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"radius","radius",-2073122258)),m=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"falloff","falloff",-1639069456)),
n=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"strength","strength",-415606478));cljs.core.get.call(null,e,new cljs.core.Keyword(null,"animate?","animate?",-1559039739));e=(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(f);f=(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(f);e-=c;f-=d;f=e*e+f*f;k=f<m*m?1:f<k*k?1-(Math.sqrt(f)-m)/(k-m):0;m=weathergen.model.time_weight.call(null,b,(new cljs.core.Keyword(null,"current","current",
-1088038603)).cljs$core$IFn$_invoke$arity$1(g));n*=k*m;return((new cljs.core.Keyword(null,"pressure","pressure",505343747)).cljs$core$IFn$_invoke$arity$1(b)-h)/l*n+a*(1-n)}}(a,c,d,e,f,g,h,k,l,l-k),b,g))};
weathergen.model.weather=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"wind-uniformity","wind-uniformity",827531801)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"x","x",2099068185)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"crossfade","crossfade",-118506406));cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"prevailing-wind","prevailing-wind",-190580386));var f=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"y","y",-1757859776)),g=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"temp-uniformity","temp-uniformity",836756864)),h=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"pressure","pressure",505343747)),k=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"time","time",1385887882)),l=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"evolution","evolution",944820557)),m=cljs.core.get.call(null,
b,new cljs.core.Keyword(null,"seed","seed",68613327)),n=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"feature-size","feature-size",-878734864));a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"categories","categories",178386610));var p=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"origin","origin",1037372088)),q=cljs.core.nth.call(null,p,0,null),p=cljs.core.nth.call(null,p,1,null),d=(q+d)/n,f=(p+f)/n,q=null!=k&&(k.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
k.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,k):k,k=cljs.core.get.call(null,q,new cljs.core.Keyword(null,"offset","offset",296498311)),q=cljs.core.get.call(null,q,new cljs.core.Keyword(null,"current","current",-1088038603)),l=(k+weathergen.time.campaign_time__GT_minutes.call(null,q))/l/10,r=(new cljs.core.Keyword(null,"max","max",61366548)).cljs$core$IFn$_invoke$arity$1(h),u=(new cljs.core.Keyword(null,"min","min",444991522)).cljs$core$IFn$_invoke$arity$1(h),h=cljs.core.assoc.call(null,
b,new cljs.core.Keyword("org.craigandera.weathergen.pattern-space","x","org.craigandera.weathergen.pattern-space/x",441833243),d,new cljs.core.Keyword("org.craigandera.weathergen.pattern-space","y","org.craigandera.weathergen.pattern-space/y",-176904590),f,new cljs.core.Keyword("org.craigandera.weathergen.pattern-space","t","org.craigandera.weathergen.pattern-space/t",1253598919),l),k=weathergen.model.perturb.call(null,h),b=weathergen.model.override.call(null,b,weathergen.model.pressure_pattern.call(null,
k)),q=weathergen.model.wind_direction.call(null,k,b,h),p=weathergen.math.clamp.call(null,u,r,u+(r-u)*b),e=weathergen.model.mix.call(null,b,e,a,u,r),c=weathergen.math.reject_tails.call(null,c,weathergen.model.smoothed_noise_field.call(null,d*n,f*n,l,m+17,32)),g=weathergen.math.reject_tails.call(null,g,weathergen.model.smoothed_noise_field.call(null,d*n,f*n,l,m+18,32));return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,
"value","value",305978217),new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.Keyword(null,"mixture","mixture",-739485872),new cljs.core.Keyword(null,"wind-var","wind-var",-996728908),new cljs.core.Keyword(null,"wind-vec","wind-vec",-1062133259),new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"temperature","temperature",899018429)],[weathergen.math.nearest.call(null,p,.01),b,cljs.core.key.call(null,cljs.core.last.call(null,
cljs.core.sort_by.call(null,cljs.core.val,e))),weathergen.model.stabilize_wind.call(null,h,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"heading","heading",-1312171873),weathergen.math.heading.call(null,q),new cljs.core.Keyword(null,"speed","speed",1257663751),weathergen.model.wind_speed.call(null,a,e,c)],null)),e,c,q,k,weathergen.model.temperature.call(null,a,e,g)])};
weathergen.model.weather_grid=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"map-fn","map-fn",1184112686)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"cells","cells",-985166822)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"origin","origin",1037372088)),f=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"time","time",1385887882)),g=cljs.core.truth_(c)?c:cljs.core.map;return cljs.core.into.call(null,cljs.core.sorted_map.call(null),g.call(null,function(a,b,c,d,e,f,g,r){return function(a){var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,b,0,null),b=cljs.core.nth.call(null,b,1,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,
b],null),weathergen.model.weather.call(null,a)],null)}}(g,a,b,b,c,d,e,f),function(){return function(a,b,c,d,e,f,g,r){return function t(h){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,k){return function(){for(;;){var a=cljs.core.seq.call(null,h);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),e=cljs.core.chunk_buffer.call(null,c);a:for(var f=0;;)if(f<c){var g=cljs.core._nth.call(null,b,f),k=cljs.core.nth.call(null,
g,0,null),g=cljs.core.nth.call(null,g,1,null);cljs.core.chunk_append.call(null,e,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[k,g],null),cljs.core.assoc.call(null,d,new cljs.core.Keyword(null,"x","x",2099068185),k,new cljs.core.Keyword(null,"y","y",-1757859776),g)],null));f+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),t.call(null,cljs.core.chunk_rest.call(null,
a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),null)}b=cljs.core.first.call(null,a);e=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[e,b],null),cljs.core.assoc.call(null,d,new cljs.core.Keyword(null,"x","x",2099068185),e,new cljs.core.Keyword(null,"y","y",-1757859776),b)],
null),t.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,r),null,null)}}(g,a,b,b,c,d,e,f).call(null,d)}()))};
weathergen.model.step=function(a,b,c){var d=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;b=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"step","step",1288888124));var d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"direction","direction",-633359395)),e=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,d):d,d=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"speed","speed",1257663751)),e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"heading","heading",-1312171873));c*=b;return cljs.core.update.call(null,cljs.core.update_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"current","current",-1088038603)],null),weathergen.time.add_minutes,c),new cljs.core.Keyword(null,
"origin","origin",1037372088),weathergen.math.vector_add,weathergen.math.scale.call(null,d/60/9*c,weathergen.math.rotate.call(null,-e,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,1],null))))};
weathergen.model.forecast=function(a,b,c,d,e){var f=cljs.core.nth.call(null,a,0,null),g=cljs.core.nth.call(null,a,1,null),h=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,k=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"seed","seed",68613327)),l=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"time","time",1385887882)),m=null!=l&&(l.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
l.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,l):l,n=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"offset","offset",296498311)),p=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"current","current",-1088038603)),q=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"max","max",61366548)),r=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,u=cljs.core.get.call(null,r,
new cljs.core.Keyword(null,"direction","direction",-633359395)),t=cljs.core.get.call(null,r,new cljs.core.Keyword(null,"step","step",1288888124)),v=null!=u&&(u.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===u.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,u):u,w=cljs.core.get.call(null,v,new cljs.core.Keyword(null,"heading","heading",-1312171873)),x=cljs.core.get.call(null,v,new cljs.core.Keyword(null,"speed","speed",1257663751)),y=weathergen.time.campaign_time__GT_minutes.call(null,
p),z=cljs.core.truth_(q)?weathergen.time.campaign_time__GT_minutes.call(null,q):null,A=cljs.core.update.call(null,b,new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z){return function(a){return cljs.core.remove.call(null,new cljs.core.Keyword(null,"exclude-from-forecast?","exclude-from-forecast?",1182671640),a)}}(b,h,k,l,l,m,n,p,q,c,r,u,t,u,v,w,x,y,z,a,f,g));return cljs.core.into.call(null,cljs.core.sorted_map_by.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,A){return function(a,b){return cljs.core.compare.call(null,weathergen.time.campaign_time__GT_minutes.call(null,a),weathergen.time.campaign_time__GT_minutes.call(null,b))}}(b,h,k,l,l,m,n,p,q,c,r,u,t,u,v,w,x,y,z,A,a,f,g)),function(){var J=function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,A,J){return function ca(B){return new cljs.core.LazySeq(null,function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,A,C){return function(){for(;;){var a=cljs.core.seq.call(null,
B);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var c=cljs.core.chunk_first.call(null,a),d=cljs.core.count.call(null,c),e=cljs.core.chunk_buffer.call(null,d);return function(){for(var a=0;;)if(a<d){var f=cljs.core._nth.call(null,c,a),g=f-w,k=weathergen.math.scale.call(null,v/60/9*g,weathergen.math.rotate.call(null,-t,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,1],null)));cljs.core.nth.call(null,k,0,null);cljs.core.nth.call(null,k,1,null);cljs.core.chunk_append.call(null,
e,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.time.minutes__GT_campaign_time.call(null,f),weathergen.model.weather.call(null,cljs.core.update.call(null,cljs.core.assoc_in.call(null,cljs.core.assoc_in.call(null,cljs.core.assoc.call(null,cljs.core.truth_(function(){var a=cljs.core._EQ_.call(null,f,w);return a?a:cljs.core.truth_(x)?f<=x:x}())?b:y,new cljs.core.Keyword(null,"x","x",2099068185),A,new cljs.core.Keyword(null,"y","y",-1757859776),C),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"current","current",-1088038603)],null),weathergen.time.minutes__GT_campaign_time.call(null,f)),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"offset","offset",296498311)],null),h-g),new cljs.core.Keyword(null,"origin","origin",1037372088),weathergen.math.vector_add,
k))],null));a+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),ca.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),null)}var f=cljs.core.first.call(null,a),g=f-w,k=weathergen.math.scale.call(null,v/60/9*g,weathergen.math.rotate.call(null,-t,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,1],null)));cljs.core.nth.call(null,k,0,null);cljs.core.nth.call(null,k,1,null);return cljs.core.cons.call(null,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.time.minutes__GT_campaign_time.call(null,f),weathergen.model.weather.call(null,cljs.core.update.call(null,cljs.core.assoc_in.call(null,cljs.core.assoc_in.call(null,cljs.core.assoc.call(null,cljs.core.truth_(function(){var a=cljs.core._EQ_.call(null,f,w);return a?a:cljs.core.truth_(x)?f<=x:x}())?b:y,new cljs.core.Keyword(null,"x","x",2099068185),A,new cljs.core.Keyword(null,"y","y",-1757859776),C),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"current","current",-1088038603)],null),weathergen.time.minutes__GT_campaign_time.call(null,f)),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"offset","offset",296498311)],null),h-g),new cljs.core.Keyword(null,"origin","origin",1037372088),weathergen.math.vector_add,
k))],null),ca.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,A,J),null,null)}}(b,h,k,l,l,m,n,p,q,c,r,u,t,u,v,w,x,y,z,A,a,f,g);return J.call(null,cljs.core.into.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[y],null),cljs.core.map.call(null,function(a,b,c,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,A,J,aa){return function(a){return cljs.core.long$.call(null,((a+1)*d+x)/d)*d}}(J,b,h,k,l,l,m,n,p,q,c,r,u,t,u,v,w,x,y,z,
A,a,f,g),cljs.core.range.call(null,e))))}())};
weathergen.model.jump_to_time=function(a,b,c){b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b;cljs.core.get.call(null,b,new cljs.core.Keyword(null,"evolution","evolution",944820557));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"direction","direction",-633359395));var d=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,b):b;b=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"speed","speed",1257663751));var d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"heading","heading",-1312171873)),e=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"time","time",1385887882)),e=null!=e&&(e.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
e.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,e):e,e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"current","current",-1088038603)),e=weathergen.time.campaign_time__GT_minutes.call(null,c)-weathergen.time.campaign_time__GT_minutes.call(null,e);a=cljs.core.assoc_in.call(null,cljs.core.update.call(null,a,new cljs.core.Keyword(null,"origin","origin",1037372088),weathergen.math.vector_add,weathergen.math.scale.call(null,b/60/9*e,weathergen.math.rotate.call(null,-d,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,1],null)))),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"current","current",-1088038603)],null),c);cljs.core.println.call(null,new cljs.core.Keyword(null,"new","new",-2085437848),a);return a};
weathergen.model.set_time=function(a,b){cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"offset","offset",296498311)],null));var c=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"current","current",-1088038603)],null)),c=
weathergen.time.campaign_time__GT_minutes.call(null,c)-weathergen.time.campaign_time__GT_minutes.call(null,b);return cljs.core.assoc_in.call(null,cljs.core.update_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"offset","offset",296498311)],null),cljs.core._PLUS_,c),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time",
"time",1385887882),new cljs.core.Keyword(null,"current","current",-1088038603)],null),b)};
weathergen.model.upgrade_pressure_threshold=function(a){var b=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-params","weather-params",-259271365),new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"min","min",444991522)],null)),c=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-params",
"weather-params",-259271365),new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"max","max",61366548)],null)),d=c-b,e=function(a,b,c){return function(b){return a+b*c}}(b,c,d),f=cljs.core.reductions.call(null,cljs.core._PLUS_,cljs.core.map.call(null,function(b,c,d,e){return function(b){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-params","weather-params",-259271365),
new cljs.core.Keyword(null,"categories","categories",178386610),b,new cljs.core.Keyword(null,"weight","weight",-1262796205)],null))}}(b,c,d,e),weathergen.model.types)),g=cljs.core.last.call(null,f),h=cljs.core.zipmap.call(null,weathergen.model.types,cljs.core.map.call(null,function(a,b,c,d,e,f){return function(b){return weathergen.math.nearest.call(null,b/f*c+a,.01)}}(b,c,d,e,f,g),f));return cljs.core.reduce.call(null,function(a,b,c,d,e,f,g){return function(a,b){return cljs.core.assoc_in.call(null,
a,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-params","weather-params",-259271365),new cljs.core.Keyword(null,"categories","categories",178386610),b,new cljs.core.Keyword(null,"pressure","pressure",505343747)],null),g.call(null,b))}}(b,c,d,e,f,g,h),a,weathergen.model.types)};
weathergen.model.upgrade=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=7>cljs.core.get.call(null,c,new cljs.core.Keyword(null,"revision","revision",-1350113114))?weathergen.model.upgrade_pressure_threshold.call(null,c):c;return cljs.core.assoc.call(null,c,new cljs.core.Keyword(null,"revision","revision",-1350113114),b)};weathergen.fmap={};weathergen.fmap.byte_writer=function(a){var b=new ArrayBuffer(a),c=new DataView(b);return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"size","size",1098693007),a,new cljs.core.Keyword(null,"array-buffer","array-buffer",519008380),b,new cljs.core.Keyword(null,"data-view","data-view",2142900612),c,new cljs.core.Keyword(null,"position","position",-2011731912),cljs.core.atom.call(null,0)],null)};
weathergen.fmap.write_int32=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"data-view","data-view",2142900612)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"position","position",-2011731912));d.setInt32(cljs.core.deref.call(null,e),b,!0);return cljs.core.swap_BANG_.call(null,e,function(a,b,c,d){return function(a){return a+
4}}(a,c,d,e))};
weathergen.fmap.write_float32=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"data-view","data-view",2142900612)),e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"position","position",-2011731912));d.setFloat32(cljs.core.deref.call(null,e),b,!0);return cljs.core.swap_BANG_.call(null,e,function(a,b,c,d){return function(a){return a+
4}}(a,c,d,e))};weathergen.fmap.blob=function(a){return new Blob([(new cljs.core.Keyword(null,"array-buffer","array-buffer",519008380)).cljs$core$IFn$_invoke$arity$1(a)],{type:"application/x-falcon-bms-fmap"})};
weathergen.fmap.weather_type=function(a){return(new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),1,new cljs.core.Keyword(null,"fair","fair",1684139423),2,new cljs.core.Keyword(null,"poor","poor",1462482211),3,new cljs.core.Keyword(null,"inclement","inclement",-550669382),4],null)).call(null,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(a))};
weathergen.fmap.pressure=function(a){return weathergen.math.nearest.call(null,weathergen.model.inhg__GT_mmhg.call(null,(new cljs.core.Keyword(null,"pressure","pressure",505343747)).cljs$core$IFn$_invoke$arity$1(a)),1)};weathergen.fmap.wind_speed=function(a){return weathergen.math.nearest.call(null,(new cljs.core.Keyword(null,"speed","speed",1257663751)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"wind","wind",-527553074)).cljs$core$IFn$_invoke$arity$1(a)),1)};
weathergen.fmap.wind_direction=function(a){return weathergen.math.nearest.call(null,(new cljs.core.Keyword(null,"heading","heading",-1312171873)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"wind","wind",-527553074)).cljs$core$IFn$_invoke$arity$1(a)),1)};weathergen.fmap.temperature=function(a){return weathergen.math.nearest.call(null,(new cljs.core.Keyword(null,"temperature","temperature",899018429)).cljs$core$IFn$_invoke$arity$1(a),.1)};
weathergen.fmap.get_blob=function(a,b,c){var d=weathergen.fmap.byte_writer.call(null,8+20*b*c);weathergen.fmap.write_int32.call(null,d,b);weathergen.fmap.write_int32.call(null,d,c);for(var e=cljs.core.seq.call(null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.fmap.weather_type,weathergen.fmap.write_int32],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[weathergen.fmap.pressure,weathergen.fmap.write_float32],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.fmap.temperature,weathergen.fmap.write_float32],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.fmap.wind_speed,weathergen.fmap.write_float32],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.fmap.wind_direction,weathergen.fmap.write_float32],null)],null)),
f=null,g=0,h=0;;)if(h<g){for(var k=cljs.core._nth.call(null,f,h),l=cljs.core.nth.call(null,k,0,null),k=cljs.core.nth.call(null,k,1,null),m=cljs.core.seq.call(null,cljs.core.range.call(null,c)),n=null,p=0,q=0;;)if(q<p){for(var r=cljs.core._nth.call(null,n,q),u=cljs.core.seq.call(null,cljs.core.range.call(null,b)),t=null,v=0,w=0;;)if(w<v){var x=cljs.core._nth.call(null,t,w),x=cljs.core.get.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[x,r],null));k.call(null,
d,l.call(null,x));w+=1}else if(u=cljs.core.seq.call(null,u))cljs.core.chunked_seq_QMARK_.call(null,u)?(v=cljs.core.chunk_first.call(null,u),u=cljs.core.chunk_rest.call(null,u),t=v,v=cljs.core.count.call(null,v)):(t=cljs.core.first.call(null,u),t=cljs.core.get.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[t,r],null)),k.call(null,d,l.call(null,t)),u=cljs.core.next.call(null,u),t=null,v=0),w=0;else break;q+=1}else if(m=cljs.core.seq.call(null,m)){if(cljs.core.chunked_seq_QMARK_.call(null,
m))p=cljs.core.chunk_first.call(null,m),m=cljs.core.chunk_rest.call(null,m),n=p,p=cljs.core.count.call(null,p);else{n=cljs.core.first.call(null,m);p=cljs.core.seq.call(null,cljs.core.range.call(null,b));q=null;for(u=r=0;;)if(u<r)t=cljs.core._nth.call(null,q,u),t=cljs.core.get.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[t,n],null)),k.call(null,d,l.call(null,t)),u+=1;else if(p=cljs.core.seq.call(null,p))cljs.core.chunked_seq_QMARK_.call(null,p)?(r=cljs.core.chunk_first.call(null,
p),p=cljs.core.chunk_rest.call(null,p),q=r,r=cljs.core.count.call(null,r)):(q=cljs.core.first.call(null,p),q=cljs.core.get.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[q,n],null)),k.call(null,d,l.call(null,q)),p=cljs.core.next.call(null,p),q=null,r=0),u=0;else break;m=cljs.core.next.call(null,m);n=null;p=0}q=0}else break;h+=1}else if(e=cljs.core.seq.call(null,e)){if(cljs.core.chunked_seq_QMARK_.call(null,e))g=cljs.core.chunk_first.call(null,e),e=cljs.core.chunk_rest.call(null,
e),f=g,g=cljs.core.count.call(null,g);else{g=cljs.core.first.call(null,e);f=cljs.core.nth.call(null,g,0,null);g=cljs.core.nth.call(null,g,1,null);h=cljs.core.seq.call(null,cljs.core.range.call(null,c));l=null;for(m=k=0;;)if(m<k){n=cljs.core._nth.call(null,l,m);p=cljs.core.seq.call(null,cljs.core.range.call(null,b));q=null;for(u=r=0;;)if(u<r)t=cljs.core._nth.call(null,q,u),t=cljs.core.get.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[t,n],null)),g.call(null,
d,f.call(null,t)),u+=1;else if(p=cljs.core.seq.call(null,p))cljs.core.chunked_seq_QMARK_.call(null,p)?(r=cljs.core.chunk_first.call(null,p),p=cljs.core.chunk_rest.call(null,p),q=r,r=cljs.core.count.call(null,r)):(q=cljs.core.first.call(null,p),q=cljs.core.get.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[q,n],null)),g.call(null,d,f.call(null,q)),p=cljs.core.next.call(null,p),q=null,r=0),u=0;else break;m+=1}else if(h=cljs.core.seq.call(null,h)){if(cljs.core.chunked_seq_QMARK_.call(null,
h))k=cljs.core.chunk_first.call(null,h),h=cljs.core.chunk_rest.call(null,h),l=k,k=cljs.core.count.call(null,k);else{l=cljs.core.first.call(null,h);k=cljs.core.seq.call(null,cljs.core.range.call(null,b));m=null;for(p=n=0;;)if(p<n)q=cljs.core._nth.call(null,m,p),q=cljs.core.get.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[q,l],null)),g.call(null,d,f.call(null,q)),p+=1;else if(k=cljs.core.seq.call(null,k))cljs.core.chunked_seq_QMARK_.call(null,k)?(n=cljs.core.chunk_first.call(null,
k),k=cljs.core.chunk_rest.call(null,k),m=n,n=cljs.core.count.call(null,n)):(m=cljs.core.first.call(null,k),m=cljs.core.get.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[m,l],null)),g.call(null,d,f.call(null,m)),k=cljs.core.next.call(null,k),m=null,n=0),p=0;else break;h=cljs.core.next.call(null,h);l=null;k=0}m=0}else break;e=cljs.core.next.call(null,e);f=null;g=0}h=0}else break;return weathergen.fmap.blob.call(null,d)};clojure.data={};clojure.data.atom_diff=function(a,b){return cljs.core._EQ_.call(null,a,b)?new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[null,null,a],null):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b,null],null)};
clojure.data.vectorize=function(a){return cljs.core.seq.call(null,a)?cljs.core.reduce.call(null,function(a,c){var b=cljs.core.nth.call(null,c,0,null),e=cljs.core.nth.call(null,c,1,null);return cljs.core.assoc.call(null,a,b,e)},cljs.core.vec.call(null,cljs.core.repeat.call(null,cljs.core.apply.call(null,cljs.core.max,cljs.core.keys.call(null,a)),null)),a):null};
clojure.data.diff_associative_key=function(a,b,c){var d=cljs.core.get.call(null,a,c),e=cljs.core.get.call(null,b,c),f=clojure.data.diff.call(null,d,e),g=cljs.core.nth.call(null,f,0,null),h=cljs.core.nth.call(null,f,1,null),f=cljs.core.nth.call(null,f,2,null);a=cljs.core.contains_QMARK_.call(null,a,c);b=cljs.core.contains_QMARK_.call(null,b,c);d=a&&b&&(null!=f||null==d&&null==e);return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[!a||null==g&&d?null:cljs.core.PersistentArrayMap.createAsIfByAssoc([c,
g]),!b||null==h&&d?null:cljs.core.PersistentArrayMap.createAsIfByAssoc([c,h]),d?cljs.core.PersistentArrayMap.createAsIfByAssoc([c,f]):null],null)};
clojure.data.diff_associative=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$2=function(a,b){return clojure.data.diff_associative.call(null,a,b,clojure.set.union.call(null,cljs.core.keys.call(null,a),cljs.core.keys.call(null,b)))};
clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.reduce.call(null,function(a,b){return cljs.core.doall.call(null,cljs.core.map.call(null,cljs.core.merge,a,b))},new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[null,null,null],null),cljs.core.map.call(null,cljs.core.partial.call(null,clojure.data.diff_associative_key,a,b),c))};clojure.data.diff_associative.cljs$lang$maxFixedArity=3;
clojure.data.diff_sequential=function(a,b){return cljs.core.vec.call(null,cljs.core.map.call(null,clojure.data.vectorize,clojure.data.diff_associative.call(null,cljs.core.vector_QMARK_.call(null,a)?a:cljs.core.vec.call(null,a),cljs.core.vector_QMARK_.call(null,b)?b:cljs.core.vec.call(null,b),cljs.core.range.call(null,function(){var c=cljs.core.count.call(null,a),d=cljs.core.count.call(null,b);return c>d?c:d}()))))};
clojure.data.diff_set=function(a,b){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.not_empty.call(null,clojure.set.difference.call(null,a,b)),cljs.core.not_empty.call(null,clojure.set.difference.call(null,b,a)),cljs.core.not_empty.call(null,clojure.set.intersection.call(null,a,b))],null)};clojure.data.EqualityPartition=function(){};
clojure.data.equality_partition=function(a){if(null!=a&&null!=a.clojure$data$EqualityPartition$equality_partition$arity$1)return a.clojure$data$EqualityPartition$equality_partition$arity$1(a);var b=clojure.data.equality_partition[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=clojure.data.equality_partition._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"EqualityPartition.equality-partition",a);};clojure.data.Diff=function(){};
clojure.data.diff_similar=function(a,b){if(null!=a&&null!=a.clojure$data$Diff$diff_similar$arity$2)return a.clojure$data$Diff$diff_similar$arity$2(a,b);var c=clojure.data.diff_similar[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=clojure.data.diff_similar._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Diff.diff-similar",a);};clojure.data.EqualityPartition["null"]=!0;
clojure.data.equality_partition["null"]=function(a){return new cljs.core.Keyword(null,"atom","atom",-397043653)};clojure.data.EqualityPartition.string=!0;clojure.data.equality_partition.string=function(a){return new cljs.core.Keyword(null,"atom","atom",-397043653)};clojure.data.EqualityPartition.number=!0;clojure.data.equality_partition.number=function(a){return new cljs.core.Keyword(null,"atom","atom",-397043653)};clojure.data.EqualityPartition.array=!0;
clojure.data.equality_partition.array=function(a){return new cljs.core.Keyword(null,"sequential","sequential",-1082983960)};clojure.data.EqualityPartition["function"]=!0;clojure.data.equality_partition["function"]=function(a){return new cljs.core.Keyword(null,"atom","atom",-397043653)};clojure.data.EqualityPartition["boolean"]=!0;clojure.data.equality_partition["boolean"]=function(a){return new cljs.core.Keyword(null,"atom","atom",-397043653)};clojure.data.EqualityPartition._=!0;
clojure.data.equality_partition._=function(a){return(null!=a?a.cljs$lang$protocol_mask$partition0$&1024||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IMap$||(a.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IMap,a)):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IMap,a))?new cljs.core.Keyword(null,"map","map",1371690461):(null!=a?a.cljs$lang$protocol_mask$partition0$&4096||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISet$||(a.cljs$lang$protocol_mask$partition0$?
0:cljs.core.native_satisfies_QMARK_.call(null,cljs.core.ISet,a)):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.ISet,a))?new cljs.core.Keyword(null,"set","set",304602554):(null!=a?a.cljs$lang$protocol_mask$partition0$&16777216||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISequential$||(a.cljs$lang$protocol_mask$partition0$?0:cljs.core.native_satisfies_QMARK_.call(null,cljs.core.ISequential,a)):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.ISequential,a))?new cljs.core.Keyword(null,"sequential",
"sequential",-1082983960):new cljs.core.Keyword(null,"atom","atom",-397043653)};clojure.data.Diff["null"]=!0;clojure.data.diff_similar["null"]=function(a,b){return clojure.data.atom_diff.call(null,a,b)};clojure.data.Diff.string=!0;clojure.data.diff_similar.string=function(a,b){return clojure.data.atom_diff.call(null,a,b)};clojure.data.Diff.number=!0;clojure.data.diff_similar.number=function(a,b){return clojure.data.atom_diff.call(null,a,b)};clojure.data.Diff.array=!0;
clojure.data.diff_similar.array=function(a,b){return clojure.data.diff_sequential.call(null,a,b)};clojure.data.Diff["function"]=!0;clojure.data.diff_similar["function"]=function(a,b){return clojure.data.atom_diff.call(null,a,b)};clojure.data.Diff["boolean"]=!0;clojure.data.diff_similar["boolean"]=function(a,b){return clojure.data.atom_diff.call(null,a,b)};clojure.data.Diff._=!0;
clojure.data.diff_similar._=function(a,b){return function(){var b=clojure.data.equality_partition.call(null,a),b=b instanceof cljs.core.Keyword?b.fqn:null;switch(b){case "atom":return clojure.data.atom_diff;case "set":return clojure.data.diff_set;case "sequential":return clojure.data.diff_sequential;case "map":return clojure.data.diff_associative;default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""));}}().call(null,
a,b)};clojure.data.diff=function(a,b){return cljs.core._EQ_.call(null,a,b)?new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[null,null,a],null):cljs.core._EQ_.call(null,clojure.data.equality_partition.call(null,a),clojure.data.equality_partition.call(null,b))?clojure.data.diff_similar.call(null,a,b):clojure.data.atom_diff.call(null,a,b)};clojure.walk={};
clojure.walk.walk=function(a,b,c){return cljs.core.list_QMARK_.call(null,c)?b.call(null,cljs.core.apply.call(null,cljs.core.list,cljs.core.map.call(null,a,c))):cljs.core.seq_QMARK_.call(null,c)?b.call(null,cljs.core.doall.call(null,cljs.core.map.call(null,a,c))):cljs.core.record_QMARK_.call(null,c)?b.call(null,cljs.core.reduce.call(null,function(b,c){return cljs.core.conj.call(null,b,a.call(null,c))},c,c)):cljs.core.coll_QMARK_.call(null,c)?b.call(null,cljs.core.into.call(null,cljs.core.empty.call(null,c),
cljs.core.map.call(null,a,c))):b.call(null,c)};clojure.walk.postwalk=function(a,b){return clojure.walk.walk.call(null,cljs.core.partial.call(null,clojure.walk.postwalk,a),a,b)};clojure.walk.prewalk=function(a,b){return clojure.walk.walk.call(null,cljs.core.partial.call(null,clojure.walk.prewalk,a),cljs.core.identity,a.call(null,b))};
clojure.walk.keywordize_keys=function(a){return clojure.walk.postwalk.call(null,function(a){return function(b){return cljs.core.map_QMARK_.call(null,b)?cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,a,b)):b}}(function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return"string"===typeof b?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.keyword.call(null,b),a],null):new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)}),a)};
clojure.walk.stringify_keys=function(a){return clojure.walk.postwalk.call(null,function(a){return function(b){return cljs.core.map_QMARK_.call(null,b)?cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,a,b)):b}}(function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return b instanceof cljs.core.Keyword?new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.name.call(null,b),a],null):new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)}),a)};clojure.walk.prewalk_replace=function(a,b){return clojure.walk.prewalk.call(null,function(b){return cljs.core.contains_QMARK_.call(null,a,b)?a.call(null,b):b},b)};clojure.walk.postwalk_replace=function(a,b){return clojure.walk.postwalk.call(null,function(b){return cljs.core.contains_QMARK_.call(null,a,b)?a.call(null,b):b},b)};cljs.spec={};cljs.spec.gen={};cljs.spec.gen.alpha={};cljs.spec.gen.alpha.LazyVar=function(a,b){this.f=a;this.cached=b;this.cljs$lang$protocol_mask$partition0$=32768;this.cljs$lang$protocol_mask$partition1$=0};cljs.spec.gen.alpha.LazyVar.prototype.cljs$core$IDeref$_deref$arity$1=function(a){if(null!=this.cached)return this.cached;a=this.f.call(null);null!=a&&(this.cached=a);return a};
cljs.spec.gen.alpha.LazyVar.getBasis=function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"f","f",43394975,null),cljs.core.with_meta(new cljs.core.Symbol(null,"cached","cached",-1216707864,null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"mutable","mutable",875778266),!0],null))],null)};cljs.spec.gen.alpha.LazyVar.cljs$lang$type=!0;cljs.spec.gen.alpha.LazyVar.cljs$lang$ctorStr="cljs.spec.gen.alpha/LazyVar";
cljs.spec.gen.alpha.LazyVar.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.spec.gen.alpha/LazyVar")};cljs.spec.gen.alpha.__GT_LazyVar=function(a,b){return new cljs.spec.gen.alpha.LazyVar(a,b)};
cljs.spec.gen.alpha.quick_check_ref=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check.quick_check)return clojure.test.check.quick_check;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check","quick-check","clojure.test.check/quick-check",-810344251,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,
new cljs.core.Symbol("clojure.test.check","quick-check","clojure.test.check/quick-check",-810344251,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.quick_check=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.quick_check.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.spec.gen.alpha.quick_check.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.apply.call(null,cljs.core.deref.call(null,cljs.spec.gen.alpha.quick_check_ref),a)};cljs.spec.gen.alpha.quick_check.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.quick_check.cljs$lang$applyTo=function(a){return cljs.spec.gen.alpha.quick_check.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
cljs.spec.gen.alpha.for_all_STAR__ref=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.properties.for_all_STAR_)return clojure.test.check.properties.for_all_STAR_;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.properties","for-all*","clojure.test.check.properties/for-all*",67088845,null)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.properties","for-all*","clojure.test.check.properties/for-all*",67088845,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);
cljs.spec.gen.alpha.for_all_STAR_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.for_all_STAR_.cljs$core$IFn$_invoke$arity$variadic(b)};cljs.spec.gen.alpha.for_all_STAR_.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.core.apply.call(null,cljs.core.deref.call(null,cljs.spec.gen.alpha.for_all_STAR__ref),a)};
cljs.spec.gen.alpha.for_all_STAR_.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.for_all_STAR_.cljs$lang$applyTo=function(a){return cljs.spec.gen.alpha.for_all_STAR_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
var g_QMARK__44390=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.generator_QMARK_)return clojure.test.check.generators.generator_QMARK_;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","generator?","clojure.test.check.generators/generator?",-1378210460,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","generator?","clojure.test.check.generators/generator?",-1378210460,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null),g_44391=new cljs.spec.gen.alpha.LazyVar(function(a){return function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.generate)return clojure.test.check.generators.generate;
throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","generate","clojure.test.check.generators/generate",-690390711,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","generate","clojure.test.check.generators/generate",-690390711,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));
}}(g_QMARK__44390),null),mkg_44392=new cljs.spec.gen.alpha.LazyVar(function(a,b){return function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.__GT_Generator)return clojure.test.check.generators.__GT_Generator;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","-\x3eGenerator","clojure.test.check.generators/-\x3eGenerator",
-1179475051,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","-\x3eGenerator","clojure.test.check.generators/-\x3eGenerator",-1179475051,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));}}(g_QMARK__44390,g_44391),null);
cljs.spec.gen.alpha.generator_QMARK_=function(a,b,c){return function(b){return cljs.core.deref.call(null,a).call(null,b)}}(g_QMARK__44390,g_44391,mkg_44392);cljs.spec.gen.alpha.generator=function(a,b,c){return function(a){return cljs.core.deref.call(null,c).call(null,a)}}(g_QMARK__44390,g_44391,mkg_44392);cljs.spec.gen.alpha.generate=function(a,b,c){return function(a){return cljs.core.deref.call(null,b).call(null,a)}}(g_QMARK__44390,g_44391,mkg_44392);
cljs.spec.gen.alpha.delay_impl=function(a){return cljs.spec.gen.alpha.generator.call(null,function(b,c){return(new cljs.core.Keyword(null,"gen","gen",142575302)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,a)).call(null,b,c)})};
var g__44354__auto___44412=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.hash_map)return clojure.test.check.generators.hash_map;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","hash-map","clojure.test.check.generators/hash-map",1961346626,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","hash-map","clojure.test.check.generators/hash-map",1961346626,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.hash_map=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.hash_map.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44354__auto___44412);
cljs.spec.gen.alpha.hash_map.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__44354__auto___44412);cljs.spec.gen.alpha.hash_map.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.hash_map.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.hash_map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44354__auto___44412);
var g__44354__auto___44416=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.list)return clojure.test.check.generators.list;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","list","clojure.test.check.generators/list",506971058,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","list","clojure.test.check.generators/list",506971058,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.list=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44354__auto___44416);
cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__44354__auto___44416);cljs.spec.gen.alpha.list.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.list.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44354__auto___44416);
var g__44354__auto___44420=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.map)return clojure.test.check.generators.map;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","map","clojure.test.check.generators/map",45738796,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","map","clojure.test.check.generators/map",45738796,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.map=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44354__auto___44420);
cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__44354__auto___44420);cljs.spec.gen.alpha.map.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.map.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44354__auto___44420);
var g__44354__auto___44424=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.not_empty)return clojure.test.check.generators.not_empty;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","not-empty","clojure.test.check.generators/not-empty",-876211682,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","not-empty","clojure.test.check.generators/not-empty",-876211682,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.not_empty=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.not_empty.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44354__auto___44424);
cljs.spec.gen.alpha.not_empty.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__44354__auto___44424);cljs.spec.gen.alpha.not_empty.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.not_empty.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.not_empty.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44354__auto___44424);
var g__44354__auto___44428=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.set)return clojure.test.check.generators.set;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","set","clojure.test.check.generators/set",-1027639543,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","set","clojure.test.check.generators/set",-1027639543,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.set=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44354__auto___44428);
cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__44354__auto___44428);cljs.spec.gen.alpha.set.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.set.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44354__auto___44428);
var g__44354__auto___44432=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.vector)return clojure.test.check.generators.vector;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","vector","clojure.test.check.generators/vector",1081775325,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","vector","clojure.test.check.generators/vector",1081775325,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.vector=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44354__auto___44432);
cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__44354__auto___44432);cljs.spec.gen.alpha.vector.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.vector.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44354__auto___44432);
var g__44354__auto___44436=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.vector_distinct)return clojure.test.check.generators.vector_distinct;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","vector-distinct","clojure.test.check.generators/vector-distinct",1656877834,
null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","vector-distinct","clojure.test.check.generators/vector-distinct",1656877834,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);
cljs.spec.gen.alpha.vector_distinct=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44354__auto___44436);cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__44354__auto___44436);
cljs.spec.gen.alpha.vector_distinct.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.vector_distinct.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44354__auto___44436);
var g__44354__auto___44440=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.fmap)return clojure.test.check.generators.fmap;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","fmap","clojure.test.check.generators/fmap",1957997092,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","fmap","clojure.test.check.generators/fmap",1957997092,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.fmap=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44354__auto___44440);
cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__44354__auto___44440);cljs.spec.gen.alpha.fmap.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.fmap.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44354__auto___44440);
var g__44354__auto___44444=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.elements)return clojure.test.check.generators.elements;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","elements","clojure.test.check.generators/elements",438991326,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","elements","clojure.test.check.generators/elements",438991326,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.elements=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44354__auto___44444);
cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__44354__auto___44444);cljs.spec.gen.alpha.elements.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.elements.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44354__auto___44444);
var g__44354__auto___44448=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.bind)return clojure.test.check.generators.bind;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","bind","clojure.test.check.generators/bind",-361313906,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","bind","clojure.test.check.generators/bind",-361313906,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.bind=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44354__auto___44448);
cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__44354__auto___44448);cljs.spec.gen.alpha.bind.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.bind.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44354__auto___44448);
var g__44354__auto___44452=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.choose)return clojure.test.check.generators.choose;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","choose","clojure.test.check.generators/choose",909997832,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","choose","clojure.test.check.generators/choose",909997832,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.choose=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.choose.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44354__auto___44452);
cljs.spec.gen.alpha.choose.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__44354__auto___44452);cljs.spec.gen.alpha.choose.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.choose.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.choose.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44354__auto___44452);
var g__44354__auto___44456=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.one_of)return clojure.test.check.generators.one_of;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","one-of","clojure.test.check.generators/one-of",-183339191,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","one-of","clojure.test.check.generators/one-of",-183339191,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.one_of=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44354__auto___44456);
cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__44354__auto___44456);cljs.spec.gen.alpha.one_of.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.one_of.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44354__auto___44456);
var g__44354__auto___44460=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.such_that)return clojure.test.check.generators.such_that;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","such-that","clojure.test.check.generators/such-that",-1754178732,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","such-that","clojure.test.check.generators/such-that",-1754178732,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.such_that=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44354__auto___44460);
cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__44354__auto___44460);cljs.spec.gen.alpha.such_that.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.such_that.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44354__auto___44460);
var g__44354__auto___44464=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.tuple)return clojure.test.check.generators.tuple;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","tuple","clojure.test.check.generators/tuple",-143711557,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","tuple","clojure.test.check.generators/tuple",-143711557,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.tuple=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44354__auto___44464);
cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__44354__auto___44464);cljs.spec.gen.alpha.tuple.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.tuple.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44354__auto___44464);
var g__44354__auto___44468=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.sample)return clojure.test.check.generators.sample;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","sample","clojure.test.check.generators/sample",-382944992,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","sample","clojure.test.check.generators/sample",-382944992,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.sample=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.sample.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44354__auto___44468);
cljs.spec.gen.alpha.sample.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__44354__auto___44468);cljs.spec.gen.alpha.sample.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.sample.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.sample.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44354__auto___44468);
var g__44354__auto___44472=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.return$)return clojure.test.check.generators.return$;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","return","clojure.test.check.generators/return",1744522038,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","return","clojure.test.check.generators/return",1744522038,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.return$=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44354__auto___44472);
cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__44354__auto___44472);cljs.spec.gen.alpha.return$.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.return$.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44354__auto___44472);
var g__44354__auto___44476=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.large_integer_STAR_)return clojure.test.check.generators.large_integer_STAR_;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","large-integer*","clojure.test.check.generators/large-integer*",
-437830670,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","large-integer*","clojure.test.check.generators/large-integer*",-437830670,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);
cljs.spec.gen.alpha.large_integer_STAR_=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44354__auto___44476);cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__44354__auto___44476);
cljs.spec.gen.alpha.large_integer_STAR_.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.large_integer_STAR_.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44354__auto___44476);
var g__44354__auto___44480=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.double_STAR_)return clojure.test.check.generators.double_STAR_;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","double*","clojure.test.check.generators/double*",841542265,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","double*","clojure.test.check.generators/double*",841542265,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.double_STAR_=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.double_STAR_.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44354__auto___44480);
cljs.spec.gen.alpha.double_STAR_.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__44354__auto___44480);cljs.spec.gen.alpha.double_STAR_.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.double_STAR_.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.double_STAR_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44354__auto___44480);
var g__44354__auto___44484=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.frequency)return clojure.test.check.generators.frequency;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","frequency","clojure.test.check.generators/frequency",2090703177,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","frequency","clojure.test.check.generators/frequency",2090703177,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.frequency=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.frequency.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44354__auto___44484);
cljs.spec.gen.alpha.frequency.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.apply.call(null,cljs.core.deref.call(null,a),b)}}(g__44354__auto___44484);cljs.spec.gen.alpha.frequency.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.frequency.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.frequency.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44354__auto___44484);
var g__44367__auto___44509=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.any)return clojure.test.check.generators.any;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","any","clojure.test.check.generators/any",1883743710,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","any","clojure.test.check.generators/any",1883743710,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.any=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.any.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44367__auto___44509);
cljs.spec.gen.alpha.any.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__44367__auto___44509);cljs.spec.gen.alpha.any.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.any.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.any.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44367__auto___44509);
var g__44367__auto___44513=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.any_printable)return clojure.test.check.generators.any_printable;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","any-printable","clojure.test.check.generators/any-printable",-1570493991,
null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","any-printable","clojure.test.check.generators/any-printable",-1570493991,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);
cljs.spec.gen.alpha.any_printable=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.any_printable.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44367__auto___44513);cljs.spec.gen.alpha.any_printable.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__44367__auto___44513);
cljs.spec.gen.alpha.any_printable.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.any_printable.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.any_printable.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44367__auto___44513);
var g__44367__auto___44517=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.boolean$)return clojure.test.check.generators.boolean$;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","boolean","clojure.test.check.generators/boolean",1586992347,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","boolean","clojure.test.check.generators/boolean",1586992347,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.boolean$=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.boolean$.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44367__auto___44517);
cljs.spec.gen.alpha.boolean$.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__44367__auto___44517);cljs.spec.gen.alpha.boolean$.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.boolean$.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.boolean$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44367__auto___44517);
var g__44367__auto___44521=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.char$)return clojure.test.check.generators.char$;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","char","clojure.test.check.generators/char",-1426343459,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","char","clojure.test.check.generators/char",-1426343459,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.char$=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.char$.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44367__auto___44521);
cljs.spec.gen.alpha.char$.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__44367__auto___44521);cljs.spec.gen.alpha.char$.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.char$.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.char$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44367__auto___44521);
var g__44367__auto___44525=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.char_alpha)return clojure.test.check.generators.char_alpha;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","char-alpha","clojure.test.check.generators/char-alpha",615785796,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","char-alpha","clojure.test.check.generators/char-alpha",615785796,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.char_alpha=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.char_alpha.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44367__auto___44525);
cljs.spec.gen.alpha.char_alpha.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__44367__auto___44525);cljs.spec.gen.alpha.char_alpha.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.char_alpha.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.char_alpha.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44367__auto___44525);
var g__44367__auto___44529=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.char_alphanumeric)return clojure.test.check.generators.char_alphanumeric;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","char-alphanumeric","clojure.test.check.generators/char-alphanumeric",
1383091431,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","char-alphanumeric","clojure.test.check.generators/char-alphanumeric",1383091431,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);
cljs.spec.gen.alpha.char_alphanumeric=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.char_alphanumeric.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44367__auto___44529);cljs.spec.gen.alpha.char_alphanumeric.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__44367__auto___44529);
cljs.spec.gen.alpha.char_alphanumeric.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.char_alphanumeric.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.char_alphanumeric.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44367__auto___44529);
var g__44367__auto___44533=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.char_ascii)return clojure.test.check.generators.char_ascii;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","char-ascii","clojure.test.check.generators/char-ascii",-899908538,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","char-ascii","clojure.test.check.generators/char-ascii",-899908538,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.char_ascii=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.char_ascii.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44367__auto___44533);
cljs.spec.gen.alpha.char_ascii.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__44367__auto___44533);cljs.spec.gen.alpha.char_ascii.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.char_ascii.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.char_ascii.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44367__auto___44533);
var g__44367__auto___44537=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.double$)return clojure.test.check.generators.double$;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","double","clojure.test.check.generators/double",668331090,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","double","clojure.test.check.generators/double",668331090,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.double$=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.double$.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44367__auto___44537);
cljs.spec.gen.alpha.double$.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__44367__auto___44537);cljs.spec.gen.alpha.double$.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.double$.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.double$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44367__auto___44537);
var g__44367__auto___44541=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.int$)return clojure.test.check.generators.int$;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","int","clojure.test.check.generators/int",1756228469,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","int","clojure.test.check.generators/int",1756228469,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.int$=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.int$.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44367__auto___44541);
cljs.spec.gen.alpha.int$.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__44367__auto___44541);cljs.spec.gen.alpha.int$.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.int$.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.int$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44367__auto___44541);
var g__44367__auto___44545=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.keyword)return clojure.test.check.generators.keyword;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","keyword","clojure.test.check.generators/keyword",24530530,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","keyword","clojure.test.check.generators/keyword",24530530,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.keyword=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.keyword.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44367__auto___44545);
cljs.spec.gen.alpha.keyword.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__44367__auto___44545);cljs.spec.gen.alpha.keyword.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.keyword.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.keyword.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44367__auto___44545);
var g__44367__auto___44549=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.keyword_ns)return clojure.test.check.generators.keyword_ns;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","keyword-ns","clojure.test.check.generators/keyword-ns",-1492628482,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","keyword-ns","clojure.test.check.generators/keyword-ns",-1492628482,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.keyword_ns=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.keyword_ns.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44367__auto___44549);
cljs.spec.gen.alpha.keyword_ns.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__44367__auto___44549);cljs.spec.gen.alpha.keyword_ns.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.keyword_ns.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.keyword_ns.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44367__auto___44549);
var g__44367__auto___44553=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.large_integer)return clojure.test.check.generators.large_integer;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","large-integer","clojure.test.check.generators/large-integer",-865967138,null)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","large-integer","clojure.test.check.generators/large-integer",-865967138,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);
cljs.spec.gen.alpha.large_integer=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.large_integer.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44367__auto___44553);cljs.spec.gen.alpha.large_integer.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__44367__auto___44553);
cljs.spec.gen.alpha.large_integer.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.large_integer.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.large_integer.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44367__auto___44553);
var g__44367__auto___44557=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.ratio)return clojure.test.check.generators.ratio;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","ratio","clojure.test.check.generators/ratio",1540966915,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","ratio","clojure.test.check.generators/ratio",1540966915,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.ratio=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.ratio.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44367__auto___44557);
cljs.spec.gen.alpha.ratio.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__44367__auto___44557);cljs.spec.gen.alpha.ratio.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.ratio.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.ratio.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44367__auto___44557);
var g__44367__auto___44561=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.simple_type)return clojure.test.check.generators.simple_type;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","simple-type","clojure.test.check.generators/simple-type",892572284,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","simple-type","clojure.test.check.generators/simple-type",892572284,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.simple_type=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.simple_type.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44367__auto___44561);
cljs.spec.gen.alpha.simple_type.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__44367__auto___44561);cljs.spec.gen.alpha.simple_type.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.simple_type.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.simple_type.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44367__auto___44561);
var g__44367__auto___44565=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.simple_type_printable)return clojure.test.check.generators.simple_type_printable;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","simple-type-printable","clojure.test.check.generators/simple-type-printable",
-58489962,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","simple-type-printable","clojure.test.check.generators/simple-type-printable",-58489962,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);
cljs.spec.gen.alpha.simple_type_printable=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.simple_type_printable.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44367__auto___44565);cljs.spec.gen.alpha.simple_type_printable.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__44367__auto___44565);
cljs.spec.gen.alpha.simple_type_printable.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.simple_type_printable.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.simple_type_printable.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44367__auto___44565);
var g__44367__auto___44569=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.string)return clojure.test.check.generators.string;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","string","clojure.test.check.generators/string",-1704750979,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","string","clojure.test.check.generators/string",-1704750979,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.string=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.string.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44367__auto___44569);
cljs.spec.gen.alpha.string.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__44367__auto___44569);cljs.spec.gen.alpha.string.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.string.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.string.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44367__auto___44569);
var g__44367__auto___44573=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.string_ascii)return clojure.test.check.generators.string_ascii;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","string-ascii","clojure.test.check.generators/string-ascii",-2009877640,null)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","string-ascii","clojure.test.check.generators/string-ascii",-2009877640,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);
cljs.spec.gen.alpha.string_ascii=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.string_ascii.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44367__auto___44573);cljs.spec.gen.alpha.string_ascii.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__44367__auto___44573);
cljs.spec.gen.alpha.string_ascii.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.string_ascii.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.string_ascii.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44367__auto___44573);
var g__44367__auto___44577=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.string_alphanumeric)return clojure.test.check.generators.string_alphanumeric;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","string-alphanumeric","clojure.test.check.generators/string-alphanumeric",
836374939,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","string-alphanumeric","clojure.test.check.generators/string-alphanumeric",836374939,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);
cljs.spec.gen.alpha.string_alphanumeric=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.string_alphanumeric.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44367__auto___44577);cljs.spec.gen.alpha.string_alphanumeric.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__44367__auto___44577);
cljs.spec.gen.alpha.string_alphanumeric.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.string_alphanumeric.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.string_alphanumeric.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44367__auto___44577);
var g__44367__auto___44581=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.symbol)return clojure.test.check.generators.symbol;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","symbol","clojure.test.check.generators/symbol",-1305461065,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","symbol","clojure.test.check.generators/symbol",-1305461065,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.symbol=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.symbol.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44367__auto___44581);
cljs.spec.gen.alpha.symbol.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__44367__auto___44581);cljs.spec.gen.alpha.symbol.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.symbol.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.symbol.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44367__auto___44581);
var g__44367__auto___44585=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.symbol_ns)return clojure.test.check.generators.symbol_ns;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","symbol-ns","clojure.test.check.generators/symbol-ns",-862629490,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","symbol-ns","clojure.test.check.generators/symbol-ns",-862629490,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.symbol_ns=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.symbol_ns.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44367__auto___44585);
cljs.spec.gen.alpha.symbol_ns.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__44367__auto___44585);cljs.spec.gen.alpha.symbol_ns.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.symbol_ns.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.symbol_ns.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44367__auto___44585);
var g__44367__auto___44589=new cljs.spec.gen.alpha.LazyVar(function(){if("undefined"!==typeof clojure.test&&"undefined"!==typeof clojure.test.check&&"undefined"!==typeof clojure.test.check.generators.uuid)return clojure.test.check.generators.uuid;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Var "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("clojure.test.check.generators","uuid","clojure.test.check.generators/uuid",1589373144,null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" does not exist, "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace.call(null,new cljs.core.Symbol("clojure.test.check.generators","uuid","clojure.test.check.generators/uuid",1589373144,null))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" never required")].join(""));},null);cljs.spec.gen.alpha.uuid=function(a){return function(a){for(var b=[],d=arguments.length,e=0;;)if(e<d)b.push(arguments[e]),e+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.uuid.cljs$core$IFn$_invoke$arity$variadic(b)}}(g__44367__auto___44589);
cljs.spec.gen.alpha.uuid.cljs$core$IFn$_invoke$arity$variadic=function(a){return function(b){return cljs.core.deref.call(null,a)}}(g__44367__auto___44589);cljs.spec.gen.alpha.uuid.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.uuid.cljs$lang$applyTo=function(a){return function(a){return cljs.spec.gen.alpha.uuid.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))}}(g__44367__auto___44589);
cljs.spec.gen.alpha.cat=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.gen.alpha.cat.cljs$core$IFn$_invoke$arity$variadic(b)};cljs.spec.gen.alpha.cat.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.spec.gen.alpha.fmap.call(null,function(a){return cljs.core.apply.call(null,cljs.core.concat,a)},cljs.core.apply.call(null,cljs.spec.gen.alpha.tuple,a))};
cljs.spec.gen.alpha.cat.cljs$lang$maxFixedArity=0;cljs.spec.gen.alpha.cat.cljs$lang$applyTo=function(a){return cljs.spec.gen.alpha.cat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};cljs.spec.gen.alpha.qualified_QMARK_=function(a){return null!=cljs.core.namespace.call(null,a)};
cljs.spec.gen.alpha.gen_builtins=new cljs.core.Delay(function(){var a=cljs.spec.gen.alpha.simple_type_printable.call(null);return cljs.core.PersistentHashMap.fromArrays([cljs.core.qualified_keyword_QMARK_,cljs.core.seq_QMARK_,cljs.core.vector_QMARK_,cljs.core.any_QMARK_,cljs.core.boolean_QMARK_,cljs.core.char_QMARK_,cljs.core.inst_QMARK_,cljs.core.simple_symbol_QMARK_,cljs.core.sequential_QMARK_,cljs.core.float_QMARK_,cljs.core.set_QMARK_,cljs.core.map_QMARK_,cljs.core.empty_QMARK_,cljs.core.string_QMARK_,
cljs.core.double_QMARK_,cljs.core.int_QMARK_,cljs.core.associative_QMARK_,cljs.core.keyword_QMARK_,cljs.core.indexed_QMARK_,cljs.core.zero_QMARK_,cljs.core.simple_keyword_QMARK_,cljs.core.neg_int_QMARK_,cljs.core.nil_QMARK_,cljs.core.ident_QMARK_,cljs.core.qualified_ident_QMARK_,cljs.core.true_QMARK_,cljs.core.integer_QMARK_,cljs.core.nat_int_QMARK_,cljs.core.pos_int_QMARK_,cljs.core.uuid_QMARK_,cljs.core.false_QMARK_,cljs.core.list_QMARK_,cljs.core.simple_ident_QMARK_,cljs.core.number_QMARK_,cljs.core.qualified_symbol_QMARK_,
cljs.core.seqable_QMARK_,cljs.core.symbol_QMARK_,cljs.core.coll_QMARK_],[cljs.spec.gen.alpha.such_that.call(null,cljs.spec.gen.alpha.qualified_QMARK_,cljs.spec.gen.alpha.keyword_ns.call(null)),cljs.spec.gen.alpha.list.call(null,a),cljs.spec.gen.alpha.vector.call(null,a),cljs.spec.gen.alpha.one_of.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.gen.alpha.return$.call(null,null),cljs.spec.gen.alpha.any_printable.call(null)],null)),cljs.spec.gen.alpha.boolean$.call(null),
cljs.spec.gen.alpha.char$.call(null),cljs.spec.gen.alpha.fmap.call(null,function(a){return function(a){return new Date(a)}}(a),cljs.spec.gen.alpha.large_integer.call(null)),cljs.spec.gen.alpha.symbol.call(null),cljs.spec.gen.alpha.one_of.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.gen.alpha.list.call(null,a),cljs.spec.gen.alpha.vector.call(null,a)],null)),cljs.spec.gen.alpha.double$.call(null),cljs.spec.gen.alpha.set.call(null,a),cljs.spec.gen.alpha.map.call(null,
a,a),cljs.spec.gen.alpha.elements.call(null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[null,cljs.core.List.EMPTY,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentArrayMap.EMPTY,cljs.core.PersistentHashSet.EMPTY],null)),cljs.spec.gen.alpha.string_alphanumeric.call(null),cljs.spec.gen.alpha.double$.call(null),cljs.spec.gen.alpha.large_integer.call(null),cljs.spec.gen.alpha.one_of.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[cljs.spec.gen.alpha.map.call(null,a,a),cljs.spec.gen.alpha.vector.call(null,a)],null)),cljs.spec.gen.alpha.keyword_ns.call(null),cljs.spec.gen.alpha.vector.call(null,a),cljs.spec.gen.alpha.return$.call(null,0),cljs.spec.gen.alpha.keyword.call(null),cljs.spec.gen.alpha.large_integer_STAR_.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"max","max",61366548),-1],null)),cljs.spec.gen.alpha.return$.call(null,null),cljs.spec.gen.alpha.one_of.call(null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.gen.alpha.keyword_ns.call(null),cljs.spec.gen.alpha.symbol_ns.call(null)],null)),cljs.spec.gen.alpha.such_that.call(null,cljs.spec.gen.alpha.qualified_QMARK_,cljs.spec.gen.alpha.one_of.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.gen.alpha.keyword_ns.call(null),cljs.spec.gen.alpha.symbol_ns.call(null)],null))),cljs.spec.gen.alpha.return$.call(null,!0),cljs.spec.gen.alpha.large_integer.call(null),
cljs.spec.gen.alpha.large_integer_STAR_.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"min","min",444991522),0],null)),cljs.spec.gen.alpha.large_integer_STAR_.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"min","min",444991522),1],null)),cljs.spec.gen.alpha.uuid.call(null),cljs.spec.gen.alpha.return$.call(null,!1),cljs.spec.gen.alpha.list.call(null,a),cljs.spec.gen.alpha.one_of.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[cljs.spec.gen.alpha.keyword.call(null),cljs.spec.gen.alpha.symbol.call(null)],null)),cljs.spec.gen.alpha.one_of.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.gen.alpha.large_integer.call(null),cljs.spec.gen.alpha.double$.call(null)],null)),cljs.spec.gen.alpha.such_that.call(null,cljs.spec.gen.alpha.qualified_QMARK_,cljs.spec.gen.alpha.symbol_ns.call(null)),cljs.spec.gen.alpha.one_of.call(null,new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,
[cljs.spec.gen.alpha.return$.call(null,null),cljs.spec.gen.alpha.list.call(null,a),cljs.spec.gen.alpha.vector.call(null,a),cljs.spec.gen.alpha.map.call(null,a,a),cljs.spec.gen.alpha.set.call(null,a),cljs.spec.gen.alpha.string_alphanumeric.call(null)],null)),cljs.spec.gen.alpha.symbol_ns.call(null),cljs.spec.gen.alpha.one_of.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.gen.alpha.map.call(null,a,a),cljs.spec.gen.alpha.list.call(null,a),cljs.spec.gen.alpha.vector.call(null,
a),cljs.spec.gen.alpha.set.call(null,a)],null))])},null);cljs.spec.gen.alpha.gen_for_pred=function(a){return cljs.core.set_QMARK_.call(null,a)?cljs.spec.gen.alpha.elements.call(null,a):cljs.core.get.call(null,cljs.core.deref.call(null,cljs.spec.gen.alpha.gen_builtins),a)};cljs.spec.alpha={};cljs.spec.alpha.MAX_INT=9007199254740991;cljs.spec.alpha._STAR_recursion_limit_STAR_=4;cljs.spec.alpha._STAR_fspec_iterations_STAR_=21;cljs.spec.alpha._STAR_coll_check_limit_STAR_=101;cljs.spec.alpha._STAR_coll_error_limit_STAR_=20;cljs.spec.alpha.Spec=function(){};
cljs.spec.alpha.conform_STAR_=function(a,b){if(null!=a&&null!=a.cljs$spec$alpha$Spec$conform_STAR_$arity$2)return a.cljs$spec$alpha$Spec$conform_STAR_$arity$2(a,b);var c=cljs.spec.alpha.conform_STAR_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.spec.alpha.conform_STAR_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Spec.conform*",a);};
cljs.spec.alpha.unform_STAR_=function(a,b){if(null!=a&&null!=a.cljs$spec$alpha$Spec$unform_STAR_$arity$2)return a.cljs$spec$alpha$Spec$unform_STAR_$arity$2(a,b);var c=cljs.spec.alpha.unform_STAR_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.spec.alpha.unform_STAR_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Spec.unform*",a);};
cljs.spec.alpha.explain_STAR_=function(a,b,c,d,e){if(null!=a&&null!=a.cljs$spec$alpha$Spec$explain_STAR_$arity$5)return a.cljs$spec$alpha$Spec$explain_STAR_$arity$5(a,b,c,d,e);var f=cljs.spec.alpha.explain_STAR_[goog.typeOf(null==a?null:a)];if(null!=f)return f.call(null,a,b,c,d,e);f=cljs.spec.alpha.explain_STAR_._;if(null!=f)return f.call(null,a,b,c,d,e);throw cljs.core.missing_protocol.call(null,"Spec.explain*",a);};
cljs.spec.alpha.gen_STAR_=function(a,b,c,d){if(null!=a&&null!=a.cljs$spec$alpha$Spec$gen_STAR_$arity$4)return a.cljs$spec$alpha$Spec$gen_STAR_$arity$4(a,b,c,d);var e=cljs.spec.alpha.gen_STAR_[goog.typeOf(null==a?null:a)];if(null!=e)return e.call(null,a,b,c,d);e=cljs.spec.alpha.gen_STAR_._;if(null!=e)return e.call(null,a,b,c,d);throw cljs.core.missing_protocol.call(null,"Spec.gen*",a);};
cljs.spec.alpha.with_gen_STAR_=function(a,b){if(null!=a&&null!=a.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2)return a.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2(a,b);var c=cljs.spec.alpha.with_gen_STAR_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.spec.alpha.with_gen_STAR_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Spec.with-gen*",a);};
cljs.spec.alpha.describe_STAR_=function(a){if(null!=a&&null!=a.cljs$spec$alpha$Spec$describe_STAR_$arity$1)return a.cljs$spec$alpha$Spec$describe_STAR_$arity$1(a);var b=cljs.spec.alpha.describe_STAR_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.spec.alpha.describe_STAR_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Spec.describe*",a);};
"undefined"===typeof cljs.spec.alpha.registry_ref&&(cljs.spec.alpha.registry_ref=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY));cljs.spec.alpha.deep_resolve=function(a,b){for(var c=b;;)if(cljs.core.ident_QMARK_.call(null,c))c=cljs.core.get.call(null,a,c);else return c};
cljs.spec.alpha.reg_resolve=function(a){if(cljs.core.ident_QMARK_.call(null,a)){var b=cljs.core.deref.call(null,cljs.spec.alpha.registry_ref);a=cljs.core.get.call(null,b,a);return cljs.core.ident_QMARK_.call(null,a)?cljs.spec.alpha.deep_resolve.call(null,b,a):a}return a};
cljs.spec.alpha.reg_resolve_BANG_=function(a){if(cljs.core.ident_QMARK_.call(null,a)){var b=cljs.spec.alpha.reg_resolve.call(null,a);if(cljs.core.truth_(b))return b;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Unable to resolve spec: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));}return a};cljs.spec.alpha.spec_QMARK_=function(a){return null!=a&&cljs.core.PROTOCOL_SENTINEL===a.cljs$spec$alpha$Spec$?a:null};
cljs.spec.alpha.regex_QMARK_=function(a){var b=(new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(b)?a:b};
cljs.spec.alpha.with_name=function(a,b){return cljs.core.ident_QMARK_.call(null,a)?a:cljs.core.truth_(cljs.spec.alpha.regex_QMARK_.call(null,a))?cljs.core.assoc.call(null,a,new cljs.core.Keyword("cljs.spec.alpha","name","cljs.spec.alpha/name",205233570),b):null!=a&&(a.cljs$lang$protocol_mask$partition0$&131072||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IMeta$)?cljs.core.with_meta.call(null,a,cljs.core.assoc.call(null,cljs.core.meta.call(null,a),new cljs.core.Keyword("cljs.spec.alpha","name","cljs.spec.alpha/name",
205233570),b)):null};
cljs.spec.alpha.spec_name=function(a){return cljs.core.ident_QMARK_.call(null,a)?a:cljs.core.truth_(cljs.spec.alpha.regex_QMARK_.call(null,a))?(new cljs.core.Keyword("cljs.spec.alpha","name","cljs.spec.alpha/name",205233570)).cljs$core$IFn$_invoke$arity$1(a):null!=a&&(a.cljs$lang$protocol_mask$partition0$&131072||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$IMeta$)?(new cljs.core.Keyword("cljs.spec.alpha","name","cljs.spec.alpha/name",205233570)).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,a)):
null};
cljs.spec.alpha.maybe_spec=function(a){var b=function(){var b=(b=cljs.core.ident_QMARK_.call(null,a))?cljs.spec.alpha.reg_resolve.call(null,a):b;if(cljs.core.truth_(b))return b;b=cljs.spec.alpha.spec_QMARK_.call(null,a);if(cljs.core.truth_(b))return b;b=cljs.spec.alpha.regex_QMARK_.call(null,a);return cljs.core.truth_(b)?b:null}();return cljs.core.truth_(cljs.spec.alpha.regex_QMARK_.call(null,b))?cljs.spec.alpha.with_name.call(null,cljs.spec.alpha.regex_spec_impl.call(null,b,null),cljs.spec.alpha.spec_name.call(null,b)):
b};cljs.spec.alpha.the_spec=function(a){var b=cljs.spec.alpha.maybe_spec.call(null,a);if(cljs.core.truth_(b))return b;if(cljs.core.ident_QMARK_.call(null,a))throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Unable to resolve spec: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));return null};cljs.spec.alpha.Specize=function(){};
cljs.spec.alpha.specize_STAR_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$1=function(a){if(null!=a&&null!=a.cljs$spec$alpha$Specize$specize_STAR_$arity$1)return a.cljs$spec$alpha$Specize$specize_STAR_$arity$1(a);var b=cljs.spec.alpha.specize_STAR_[goog.typeOf(null==a?null:a)];if(null!=b)return b.call(null,a);b=cljs.spec.alpha.specize_STAR_._;if(null!=b)return b.call(null,a);throw cljs.core.missing_protocol.call(null,"Specize.specize*",a);};
cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$2=function(a,b){if(null!=a&&null!=a.cljs$spec$alpha$Specize$specize_STAR_$arity$2)return a.cljs$spec$alpha$Specize$specize_STAR_$arity$2(a,b);var c=cljs.spec.alpha.specize_STAR_[goog.typeOf(null==a?null:a)];if(null!=c)return c.call(null,a,b);c=cljs.spec.alpha.specize_STAR_._;if(null!=c)return c.call(null,a,b);throw cljs.core.missing_protocol.call(null,"Specize.specize*",a);};cljs.spec.alpha.specize_STAR_.cljs$lang$maxFixedArity=2;
cljs.core.Keyword.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Keyword.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a){return cljs.spec.alpha.specize_STAR_.call(null,cljs.spec.alpha.reg_resolve_BANG_.call(null,this))};cljs.core.Keyword.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a,b){return cljs.spec.alpha.specize_STAR_.call(null,cljs.spec.alpha.reg_resolve_BANG_.call(null,this))};
cljs.core.Symbol.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL;cljs.core.Symbol.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a){return cljs.spec.alpha.specize_STAR_.call(null,cljs.spec.alpha.reg_resolve_BANG_.call(null,this))};cljs.core.Symbol.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a,b){return cljs.spec.alpha.specize_STAR_.call(null,cljs.spec.alpha.reg_resolve_BANG_.call(null,this))};cljs.spec.alpha.Specize._=!0;
cljs.spec.alpha.specize_STAR_._=function(){var a=null,b=function(a){return cljs.spec.alpha.spec_impl.call(null,new cljs.core.Keyword("cljs.spec.alpha","unknown","cljs.spec.alpha/unknown",651034818),a,null,null)},c=function(a,b){return cljs.spec.alpha.spec_impl.call(null,b,a,null,null)},a=function(a,e){switch(arguments.length){case 1:return b.call(this,a);case 2:return c.call(this,a,e)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$1=b;a.cljs$core$IFn$_invoke$arity$2=
c;return a}();cljs.spec.alpha.specize=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1=function(a){var b=cljs.spec.alpha.spec_QMARK_.call(null,a);return cljs.core.truth_(b)?b:cljs.spec.alpha.specize_STAR_.call(null,a)};cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.spec.alpha.spec_QMARK_.call(null,a);return cljs.core.truth_(c)?c:cljs.spec.alpha.specize_STAR_.call(null,a,b)};cljs.spec.alpha.specize.cljs$lang$maxFixedArity=2;
cljs.spec.alpha.invalid_QMARK_=function(a){return cljs.core.keyword_identical_QMARK_.call(null,new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119),a)};cljs.spec.alpha.conform=function(a,b){return cljs.spec.alpha.conform_STAR_.call(null,cljs.spec.alpha.specize.call(null,a),b)};cljs.spec.alpha.unform=function(a,b){return cljs.spec.alpha.unform_STAR_.call(null,cljs.spec.alpha.specize.call(null,a),b)};
cljs.spec.alpha.form=function(a){return cljs.spec.alpha.describe_STAR_.call(null,cljs.spec.alpha.specize.call(null,a))};
cljs.spec.alpha.abbrev=function(a){return cljs.core.seq_QMARK_.call(null,a)?clojure.walk.postwalk.call(null,function(a){return cljs.core.truth_(function(){var b=a instanceof cljs.core.Symbol;return b?cljs.core.namespace.call(null,a):b}())?cljs.core.symbol.call(null,cljs.core.name.call(null,a)):cljs.core.seq_QMARK_.call(null,a)&&cljs.core._EQ_.call(null,new cljs.core.Symbol(null,"fn","fn",465265323,null),cljs.core.first.call(null,a))&&cljs.core._EQ_.call(null,new cljs.core.PersistentVector(null,1,
5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.second.call(null,a))?cljs.core.last.call(null,a):a},a):cljs.core.truth_(function(){var b=a instanceof cljs.core.Symbol;return b?cljs.core.namespace.call(null,a):b}())?cljs.core.symbol.call(null,cljs.core.name.call(null,a)):a};cljs.spec.alpha.describe=function(a){return cljs.spec.alpha.abbrev.call(null,cljs.spec.alpha.form.call(null,a))};
cljs.spec.alpha.with_gen=function(a,b){var c=cljs.spec.alpha.reg_resolve.call(null,a);return cljs.core.truth_(cljs.spec.alpha.regex_QMARK_.call(null,c))?cljs.core.assoc.call(null,c,new cljs.core.Keyword("cljs.spec.alpha","gfn","cljs.spec.alpha/gfn",-593120375),b):cljs.spec.alpha.with_gen_STAR_.call(null,cljs.spec.alpha.specize.call(null,c),b)};
cljs.spec.alpha.explain_data_STAR_=function(a,b,c,d,e){b=cljs.spec.alpha.explain_STAR_.call(null,cljs.spec.alpha.specize.call(null,a),b,c,d,e);return cljs.core.truth_(b)?cljs.core.empty_QMARK_.call(null,b)?null:new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword("cljs.spec.alpha","problems","cljs.spec.alpha/problems",447400814),b,new cljs.core.Keyword("cljs.spec.alpha","spec","cljs.spec.alpha/spec",1947137578),a,new cljs.core.Keyword("cljs.spec.alpha","value","cljs.spec.alpha/value",1974786274),
e],null):null};cljs.spec.alpha.explain_data=function(a,b){return cljs.spec.alpha.explain_data_STAR_.call(null,a,cljs.core.PersistentVector.EMPTY,function(){var b=cljs.spec.alpha.spec_name.call(null,a);return cljs.core.truth_(b)?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[b],null):cljs.core.PersistentVector.EMPTY}(),cljs.core.PersistentVector.EMPTY,b)};
cljs.spec.alpha.explain_printer=function(a){if(cljs.core.truth_(a)){var b=cljs.core.sort_by.call(null,function(a){return-cljs.core.count.call(null,(new cljs.core.Keyword(null,"path","path",-188191168)).cljs$core$IFn$_invoke$arity$1(a))},(new cljs.core.Keyword("cljs.spec.alpha","problems","cljs.spec.alpha/problems",447400814)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core.print.call(null,function(){var c=new goog.string.StringBuffer,d=cljs.core._STAR_print_newline_STAR_,e=cljs.core._STAR_print_fn_STAR_;
cljs.core._STAR_print_newline_STAR_=!0;cljs.core._STAR_print_fn_STAR_=function(a,b,c,d){return function(a){return c.append(a)}}(d,e,c,b);try{for(var f=cljs.core.seq.call(null,b),g=null,h=0,k=0;;)if(k<h){var l=cljs.core._nth.call(null,g,k),m=null!=l&&(l.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===l.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,l):l,n=m,p=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"path","path",-188191168)),q=cljs.core.get.call(null,
m,new cljs.core.Keyword(null,"pred","pred",1927423397)),r=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"val","val",128701612)),u=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"reason","reason",-2070751759)),t=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"via","via",-1904457336)),v=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"in","in",-1531184865));cljs.core.empty_QMARK_.call(null,v)||cljs.core.print.call(null,"In:",cljs.core.pr_str.call(null,v),"");cljs.core.print.call(null,
"val: ");cljs.core.pr.call(null,r);cljs.core.print.call(null," fails");cljs.core.empty_QMARK_.call(null,t)||cljs.core.print.call(null," spec:",cljs.core.pr_str.call(null,cljs.core.last.call(null,t)));cljs.core.empty_QMARK_.call(null,p)||cljs.core.print.call(null," at:",cljs.core.pr_str.call(null,p));cljs.core.print.call(null," predicate: ");cljs.core.pr.call(null,cljs.spec.alpha.abbrev.call(null,q));cljs.core.truth_(u)&&cljs.core.print.call(null,", ",u);for(var w=cljs.core.seq.call(null,n),n=null,
x=0,y=0;;)if(y<x){var z=cljs.core._nth.call(null,n,y),A=cljs.core.nth.call(null,z,0,null),J=cljs.core.nth.call(null,z,1,null);cljs.core.truth_((new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"path","path",-188191168),null,new cljs.core.Keyword(null,"pred","pred",1927423397),null,new cljs.core.Keyword(null,"via","via",-1904457336),null,new cljs.core.Keyword(null,"val","val",128701612),null,new cljs.core.Keyword(null,"reason","reason",-2070751759),
null,new cljs.core.Keyword(null,"in","in",-1531184865),null],null),null)).call(null,A))||(cljs.core.print.call(null,"\n\t",cljs.core.pr_str.call(null,A)," "),cljs.core.pr.call(null,J));y+=1}else{var B=cljs.core.seq.call(null,w);if(B){var C=B;if(cljs.core.chunked_seq_QMARK_.call(null,C))var G=cljs.core.chunk_first.call(null,C),E=cljs.core.chunk_rest.call(null,C),C=G,D=cljs.core.count.call(null,G),w=E,n=C,x=D;else{var L=cljs.core.first.call(null,C),F=cljs.core.nth.call(null,L,0,null),K=cljs.core.nth.call(null,
L,1,null);cljs.core.truth_((new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"path","path",-188191168),null,new cljs.core.Keyword(null,"pred","pred",1927423397),null,new cljs.core.Keyword(null,"via","via",-1904457336),null,new cljs.core.Keyword(null,"val","val",128701612),null,new cljs.core.Keyword(null,"reason","reason",-2070751759),null,new cljs.core.Keyword(null,"in","in",-1531184865),null],null),null)).call(null,F))||(cljs.core.print.call(null,
"\n\t",cljs.core.pr_str.call(null,F)," "),cljs.core.pr.call(null,K));w=cljs.core.next.call(null,C);n=null;x=0}y=0}else break}cljs.core.newline.call(null);k+=1}else{var M=cljs.core.seq.call(null,f);if(M){n=M;if(cljs.core.chunked_seq_QMARK_.call(null,n))var I=cljs.core.chunk_first.call(null,n),H=cljs.core.chunk_rest.call(null,n),n=I,P=cljs.core.count.call(null,I),f=H,g=n,h=P;else{var O=cljs.core.first.call(null,n),N=null!=O&&(O.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===O.cljs$core$ISeq$)?
cljs.core.apply.call(null,cljs.core.hash_map,O):O,x=N,Q=cljs.core.get.call(null,N,new cljs.core.Keyword(null,"path","path",-188191168)),S=cljs.core.get.call(null,N,new cljs.core.Keyword(null,"pred","pred",1927423397)),V=cljs.core.get.call(null,N,new cljs.core.Keyword(null,"val","val",128701612)),T=cljs.core.get.call(null,N,new cljs.core.Keyword(null,"reason","reason",-2070751759)),U=cljs.core.get.call(null,N,new cljs.core.Keyword(null,"via","via",-1904457336)),R=cljs.core.get.call(null,N,new cljs.core.Keyword(null,
"in","in",-1531184865));cljs.core.empty_QMARK_.call(null,R)||cljs.core.print.call(null,"In:",cljs.core.pr_str.call(null,R),"");cljs.core.print.call(null,"val: ");cljs.core.pr.call(null,V);cljs.core.print.call(null," fails");cljs.core.empty_QMARK_.call(null,U)||cljs.core.print.call(null," spec:",cljs.core.pr_str.call(null,cljs.core.last.call(null,U)));cljs.core.empty_QMARK_.call(null,Q)||cljs.core.print.call(null," at:",cljs.core.pr_str.call(null,Q));cljs.core.print.call(null," predicate: ");cljs.core.pr.call(null,
cljs.spec.alpha.abbrev.call(null,S));cljs.core.truth_(T)&&cljs.core.print.call(null,", ",T);for(var X=cljs.core.seq.call(null,x),x=null,C=y=0;;)if(C<y){var Z=cljs.core._nth.call(null,x,C),Y=cljs.core.nth.call(null,Z,0,null),aa=cljs.core.nth.call(null,Z,1,null);cljs.core.truth_((new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"path","path",-188191168),null,new cljs.core.Keyword(null,"pred","pred",1927423397),null,new cljs.core.Keyword(null,"via",
"via",-1904457336),null,new cljs.core.Keyword(null,"val","val",128701612),null,new cljs.core.Keyword(null,"reason","reason",-2070751759),null,new cljs.core.Keyword(null,"in","in",-1531184865),null],null),null)).call(null,Y))||(cljs.core.print.call(null,"\n\t",cljs.core.pr_str.call(null,Y)," "),cljs.core.pr.call(null,aa));C+=1}else{var ca=cljs.core.seq.call(null,X);if(ca){var W=ca;if(cljs.core.chunked_seq_QMARK_.call(null,W))var ba=cljs.core.chunk_first.call(null,W),da=cljs.core.chunk_rest.call(null,
W),W=ba,ga=cljs.core.count.call(null,ba),X=da,x=W,y=ga;else{var ea=cljs.core.first.call(null,W),la=cljs.core.nth.call(null,ea,0,null),ha=cljs.core.nth.call(null,ea,1,null);cljs.core.truth_((new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"path","path",-188191168),null,new cljs.core.Keyword(null,"pred","pred",1927423397),null,new cljs.core.Keyword(null,"via","via",-1904457336),null,new cljs.core.Keyword(null,"val","val",128701612),null,new cljs.core.Keyword(null,
"reason","reason",-2070751759),null,new cljs.core.Keyword(null,"in","in",-1531184865),null],null),null)).call(null,la))||(cljs.core.print.call(null,"\n\t",cljs.core.pr_str.call(null,la)," "),cljs.core.pr.call(null,ha));X=cljs.core.next.call(null,W);x=null;y=0}C=0}else break}cljs.core.newline.call(null);f=cljs.core.next.call(null,n);g=null;h=0}k=0}else break}for(var fa=cljs.core.seq.call(null,a),f=null,h=g=0;;)if(h<g){var ia=cljs.core._nth.call(null,f,h),ja=cljs.core.nth.call(null,ia,0,null),ma=cljs.core.nth.call(null,
ia,1,null);cljs.core.truth_((new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("cljs.spec.alpha","problems","cljs.spec.alpha/problems",447400814),null],null),null)).call(null,ja))||(cljs.core.print.call(null,cljs.core.pr_str.call(null,ja)," "),cljs.core.pr.call(null,ma),cljs.core.newline.call(null));h+=1}else{var na=cljs.core.seq.call(null,fa);if(na){k=na;if(cljs.core.chunked_seq_QMARK_.call(null,k))var za=cljs.core.chunk_first.call(null,k),Wa=cljs.core.chunk_rest.call(null,
k),k=za,Xa=cljs.core.count.call(null,za),fa=Wa,f=k,g=Xa;else{var Ya=cljs.core.first.call(null,k),Ja=cljs.core.nth.call(null,Ya,0,null),Ka=cljs.core.nth.call(null,Ya,1,null);cljs.core.truth_((new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("cljs.spec.alpha","problems","cljs.spec.alpha/problems",447400814),null],null),null)).call(null,Ja))||(cljs.core.print.call(null,cljs.core.pr_str.call(null,Ja)," "),cljs.core.pr.call(null,Ka),cljs.core.newline.call(null));
fa=cljs.core.next.call(null,k);f=null;g=0}h=0}else break}}finally{cljs.core._STAR_print_fn_STAR_=e,cljs.core._STAR_print_newline_STAR_=d}return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)}())}return cljs.core.println.call(null,"Success!")};cljs.spec.alpha._STAR_explain_out_STAR_=cljs.spec.alpha.explain_printer;cljs.spec.alpha.explain_out=function(a){return cljs.spec.alpha._STAR_explain_out_STAR_.call(null,a)};
cljs.spec.alpha.explain=function(a,b){return cljs.spec.alpha.explain_out.call(null,cljs.spec.alpha.explain_data.call(null,a,b))};
cljs.spec.alpha.explain_str=function(a,b){var c=new goog.string.StringBuffer,d=cljs.core._STAR_print_newline_STAR_,e=cljs.core._STAR_print_fn_STAR_;cljs.core._STAR_print_newline_STAR_=!0;cljs.core._STAR_print_fn_STAR_=function(a,b,c){return function(a){return c.append(a)}}(d,e,c);try{cljs.spec.alpha.explain.call(null,a,b)}finally{cljs.core._STAR_print_fn_STAR_=e,cljs.core._STAR_print_newline_STAR_=d}return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)};
cljs.spec.alpha.gensub=function(a,b,c,d,e){var f=cljs.spec.alpha.specize.call(null,a);a=function(){var a=function(){var a=function(){var a=cljs.core.get.call(null,b,function(){var a=cljs.spec.alpha.spec_name.call(null,f);return cljs.core.truth_(a)?a:f}());return cljs.core.truth_(a)?a:cljs.core.get.call(null,b,c)}();return cljs.core.truth_(a)?a.call(null):null}();return cljs.core.truth_(a)?a:cljs.spec.alpha.gen_STAR_.call(null,f,b,c,d)}();if(cljs.core.truth_(a))return cljs.spec.gen.alpha.such_that.call(null,
function(a,b,c){return function(a){return cljs.spec.alpha.valid_QMARK_.call(null,c,a)}}(a,a,f),a,100);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Unable to construct gen at: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" for: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.spec.alpha.abbrev.call(null,e))].join(""));};
cljs.spec.alpha.gen=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.spec.alpha.gen.call(null,a,null)};cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.spec.alpha.gensub.call(null,a,b,cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("cljs.spec.alpha","recursion-limit","cljs.spec.alpha/recursion-limit",601284994),cljs.spec.alpha._STAR_recursion_limit_STAR_],null),a)};cljs.spec.alpha.gen.cljs$lang$maxFixedArity=2;
cljs.spec.alpha.def_impl=function(a,b,c){if(!cljs.core.truth_(function(){var b=cljs.core.ident_QMARK_.call(null,a);return b?cljs.core.namespace.call(null,a):b}()))throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Assert failed: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1("k must be namespaced keyword or resolveable symbol"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("\n"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("(c/and (ident? k) (namespace k))")].join(""));b=cljs.core.truth_(function(){var a=
cljs.spec.alpha.spec_QMARK_.call(null,c);if(cljs.core.truth_(a))return a;a=cljs.spec.alpha.regex_QMARK_.call(null,c);return cljs.core.truth_(a)?a:cljs.core.get.call(null,cljs.core.deref.call(null,cljs.spec.alpha.registry_ref),c)}())?c:cljs.spec.alpha.spec_impl.call(null,b,c,null,null);cljs.core.swap_BANG_.call(null,cljs.spec.alpha.registry_ref,cljs.core.assoc,a,cljs.spec.alpha.with_name.call(null,b,a));return a};cljs.spec.alpha.registry=function(){return cljs.core.deref.call(null,cljs.spec.alpha.registry_ref)};
cljs.spec.alpha.__GT_sym=function(a){return cljs.core.var_QMARK_.call(null,a)?a.sym:a};cljs.spec.alpha.get_spec=function(a){return cljs.core.get.call(null,cljs.spec.alpha.registry.call(null),a instanceof cljs.core.Keyword?a:cljs.spec.alpha.__GT_sym.call(null,a))};
cljs.spec.alpha.macroexpand_check=function(a,b){var c=cljs.spec.alpha.get_spec.call(null,a),d=(new cljs.core.Keyword(null,"args","args",1315556576)).cljs$core$IFn$_invoke$arity$1(c);if(cljs.core.truth_(d)&&cljs.core.truth_(cljs.spec.alpha.invalid_QMARK_.call(null,cljs.spec.alpha.conform.call(null,d,b)))){var e=cljs.core.assoc.call(null,cljs.spec.alpha.explain_data_STAR_.call(null,d,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"args","args",
1315556576)],null),function(){var a=cljs.spec.alpha.spec_name.call(null,d);return cljs.core.truth_(a)?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null):cljs.core.PersistentVector.EMPTY}(),cljs.core.PersistentVector.EMPTY,b),new cljs.core.Keyword("cljs.spec.alpha","args","cljs.spec.alpha/args",1870769783),b);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Call to "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.spec.alpha.__GT_sym.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" did not conform to spec:\n"),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(function(){var a=new goog.string.StringBuffer,b=cljs.core._STAR_print_newline_STAR_,h=cljs.core._STAR_print_fn_STAR_;cljs.core._STAR_print_newline_STAR_=!0;cljs.core._STAR_print_fn_STAR_=function(a,b,c,d,e,f,g){return function(a){return c.append(a)}}(b,h,a,e,d,d,c);try{cljs.spec.alpha.explain_out.call(null,e)}finally{cljs.core._STAR_print_fn_STAR_=h,cljs.core._STAR_print_newline_STAR_=b}return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)}())].join(""));
}return null};cljs.spec.alpha.recur_limit_QMARK_=function(a,b,c,d){return cljs.core.get.call(null,a,b)>(new cljs.core.Keyword("cljs.spec.alpha","recursion-limit","cljs.spec.alpha/recursion-limit",601284994)).cljs$core$IFn$_invoke$arity$1(a)&&cljs.core.contains_QMARK_.call(null,cljs.core.set.call(null,c),d)};cljs.spec.alpha.inck=function(a,b){return cljs.core.assoc.call(null,a,b,function(){var c=cljs.core.get.call(null,a,b);return cljs.core.truth_(c)?c:0}()+1)};
cljs.spec.alpha.dt=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.spec.alpha.dt.call(null,a,b,c,null)};
cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){if(cljs.core.truth_(a)){var e=cljs.spec.alpha.the_spec.call(null,a);if(cljs.core.truth_(e))return cljs.spec.alpha.conform.call(null,e,b);if(cljs.core.ifn_QMARK_.call(null,a))return cljs.core.truth_(d)?a.call(null,b):cljs.core.truth_(a.call(null,b))?b:new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_str.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" is not a fn, expected predicate fn")].join(""));
}return b};cljs.spec.alpha.dt.cljs$lang$maxFixedArity=4;
cljs.spec.alpha.valid_QMARK_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2=function(a,b){var c=cljs.spec.alpha.specize.call(null,a);return cljs.core.not.call(null,cljs.spec.alpha.invalid_QMARK_.call(null,cljs.spec.alpha.conform_STAR_.call(null,c,b)))};cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){a=cljs.spec.alpha.specize.call(null,a,c);return cljs.core.not.call(null,cljs.spec.alpha.invalid_QMARK_.call(null,cljs.spec.alpha.conform_STAR_.call(null,a,b)))};
cljs.spec.alpha.valid_QMARK_.cljs$lang$maxFixedArity=3;
cljs.spec.alpha.pvalid_QMARK_=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.core.not.call(null,cljs.spec.alpha.invalid_QMARK_.call(null,cljs.spec.alpha.dt.call(null,a,b,new cljs.core.Keyword("cljs.spec.alpha","unknown","cljs.spec.alpha/unknown",651034818))))};cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.not.call(null,cljs.spec.alpha.invalid_QMARK_.call(null,cljs.spec.alpha.dt.call(null,a,b,c)))};
cljs.spec.alpha.pvalid_QMARK_.cljs$lang$maxFixedArity=3;
cljs.spec.alpha.explain_1=function(a,b,c,d,e,f){var g=cljs.spec.alpha.maybe_spec.call(null,b);return cljs.core.truth_(cljs.spec.alpha.spec_QMARK_.call(null,g))?cljs.spec.alpha.explain_STAR_.call(null,g,c,function(){var a=cljs.spec.alpha.spec_name.call(null,g);return cljs.core.truth_(a)?cljs.core.conj.call(null,d,a):d}(),e,f):new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"path","path",-188191168),c,
new cljs.core.Keyword(null,"pred","pred",1927423397),a,new cljs.core.Keyword(null,"val","val",128701612),f,new cljs.core.Keyword(null,"via","via",-1904457336),d,new cljs.core.Keyword(null,"in","in",-1531184865),e],null)],null)};
cljs.spec.alpha.map_spec_impl=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"opt","opt",-794706369)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"req-un","req-un",1074571008)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"opt-un","opt-un",883442496)),f=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"gfn","gfn",791517474)),g=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395)),h=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739)),k=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261)),l=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"req-specs","req-specs",553962313)),m=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"req","req",-326448303)),n=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"req-keys","req-keys",514319221)),p=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450)),q=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832)),r=cljs.core.zipmap.call(null,cljs.core.concat.call(null,n,k),cljs.core.concat.call(null,l,p)),u=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(b){var c=a.call(null,b);return cljs.core.truth_(c)?c:b}}(r,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),t=cljs.core.random_uuid.call(null);"undefined"===
typeof cljs.spec.alpha.t_cljs$spec$alpha45168&&(cljs.spec.alpha.t_cljs$spec$alpha45168=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H,P){this.keys__GT_specnames=a;this.opt=b;this.req_un=c;this.opt_un=d;this.gfn=e;this.pred_exprs=f;this.keys_pred=g;this.argm=h;this.opt_keys=k;this.req_specs=l;this.p__45126=m;this.req=n;this.map__45166=p;this.id=q;this.req_keys=r;this.opt_specs=u;this.k__GT_s=t;this.pred_forms=H;this.meta45169=P;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=
0},cljs.spec.alpha.t_cljs$spec$alpha45168.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H){return function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha45168(this.keys__GT_specnames,this.opt,this.req_un,this.opt_un,this.gfn,this.pred_exprs,this.keys_pred,this.argm,this.opt_keys,this.req_specs,this.p__45126,this.req,this.map__45166,this.id,this.req_keys,this.opt_specs,this.k__GT_s,this.pred_forms,b)}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha45168.prototype.cljs$core$IMeta$_meta$arity$1=
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H){return function(a){return this.meta45169}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha45168.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha45168.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H){return function(a){return this}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha45168.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H){return function(a,b){return this}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha45168.prototype.cljs$spec$alpha$Spec$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha45168.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H){return function(a,b){if(cljs.core.truth_(this.keys_pred.call(null,b))){var c=cljs.spec.alpha.registry.call(null),d=cljs.core.seq.call(null,b),e=cljs.core.first.call(null,
d);cljs.core.next.call(null,d);cljs.core.nth.call(null,e,0,null);cljs.core.nth.call(null,e,1,null);for(e=d=b;;){var f=e,g=cljs.core.seq.call(null,f),e=cljs.core.first.call(null,g),h=cljs.core.next.call(null,g),g=e,e=cljs.core.nth.call(null,g,0,null),g=cljs.core.nth.call(null,g,1,null);if(cljs.core.truth_(f)){f=this.keys__GT_specnames.call(null,e);f=cljs.core.get.call(null,c,f);if(cljs.core.truth_(f)){f=cljs.spec.alpha.conform.call(null,f,g);if(cljs.core.truth_(cljs.spec.alpha.invalid_QMARK_.call(null,
f)))return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119);d=f===g?d:cljs.core.assoc.call(null,d,e,f)}e=h}else return d}}else return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119)}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha45168.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H){return function(a,b){var c=cljs.spec.alpha.registry.call(null),
d=cljs.core.keys.call(null,b),e=cljs.core.seq.call(null,d);cljs.core.first.call(null,e);cljs.core.next.call(null,e);for(e=b;;){var f=cljs.core.seq.call(null,d),g=cljs.core.first.call(null,f),f=cljs.core.next.call(null,f);if(cljs.core.truth_(d)){if(cljs.core.contains_QMARK_.call(null,c,this.keys__GT_specnames.call(null,g)))var d=cljs.core.get.call(null,b,g),h=cljs.spec.alpha.unform.call(null,this.keys__GT_specnames.call(null,g),d),e=d===h?e:cljs.core.assoc.call(null,e,g,h);d=f}else return e}}}(r,u,
t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha45168.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H){return function(v,w,x,y,z){var A=this,B=this;if(cljs.core.map_QMARK_.call(null,z)){var C=cljs.spec.alpha.registry.call(null);return cljs.core.apply.call(null,cljs.core.concat,function(){var v=cljs.core.seq.call(null,cljs.core.keep.call(null,cljs.core.identity,cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,
x){return function(a,b){return cljs.core.truth_(a.call(null,z))?null:b}}(C,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H),A.pred_exprs,A.pred_forms)));return v?cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,A,B,C,F){return function(a){return cljs.core.identity.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"path","path",-188191168),w,new cljs.core.Keyword(null,"pred","pred",1927423397),a,new cljs.core.Keyword(null,"val","val",128701612),z,new cljs.core.Keyword(null,
"via","via",-1904457336),x,new cljs.core.Keyword(null,"in","in",-1531184865),y],null))}}(v,v,C,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H),v):null}(),cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,z,B){return function(b){var c=cljs.core.nth.call(null,b,0,null),d=cljs.core.nth.call(null,b,1,null);return cljs.core.truth_(function(){var b=!cljs.core.contains_QMARK_.call(null,a,A.keys__GT_specnames.call(null,c));return b?b:cljs.spec.alpha.pvalid_QMARK_.call(null,A.keys__GT_specnames.call(null,
c),d,c)}())?null:cljs.spec.alpha.explain_1.call(null,A.keys__GT_specnames.call(null,c),A.keys__GT_specnames.call(null,c),cljs.core.conj.call(null,w,c),x,cljs.core.conj.call(null,y,c),d)}}(C,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H),cljs.core.seq.call(null,z)))}return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"path","path",-188191168),w,new cljs.core.Keyword(null,"pred","pred",1927423397),new cljs.core.Symbol(null,
"map?","map?",-1780568534,null),new cljs.core.Keyword(null,"val","val",128701612),z,new cljs.core.Keyword(null,"via","via",-1904457336),x,new cljs.core.Keyword(null,"in","in",-1531184865),y],null)],null)}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha45168.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H){return function(v,w,x,y){var z=this;if(cljs.core.truth_(z.gfn))return z.gfn.call(null);v=cljs.spec.alpha.inck.call(null,y,z.id);
y=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,y,z){return function(b,c){return cljs.spec.alpha.gensub.call(null,c,w,cljs.core.conj.call(null,x,b),a,b)}}(v,this,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H);var A=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,y,A,B){return function(C,F){return cljs.core.truth_(cljs.spec.alpha.recur_limit_QMARK_.call(null,a,z.id,x,C))?null:new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[C,cljs.spec.gen.alpha.delay_impl.call(null,new cljs.core.Delay(function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,y,z,A){return function(){return cljs.spec.alpha.gensub.call(null,F,w,cljs.core.conj.call(null,x,C),a,C)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,y,A,B),null))],null)}}(v,y,this,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H),B=cljs.core.map.call(null,y,z.req_keys,z.req_specs),C=cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,A,z.opt_keys,z.opt_specs));if(cljs.core.every_QMARK_.call(null,cljs.core.identity,cljs.core.concat.call(null,B,C))){var F=cljs.core.zipmap.call(null,
z.req_keys,B),D=cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,C);return cljs.spec.gen.alpha.bind.call(null,cljs.spec.gen.alpha.choose.call(null,0,cljs.core.count.call(null,D)),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,A,B,C,F){return function(c){var d=cljs.core.concat.call(null,cljs.core.seq.call(null,a),cljs.core.seq.call(null,b)?cljs.core.shuffle.call(null,cljs.core.seq.call(null,b)):null);return cljs.core.apply.call(null,cljs.spec.gen.alpha.hash_map,cljs.core.apply.call(null,
cljs.core.concat,cljs.core.take.call(null,c+cljs.core.count.call(null,a),d)))}}(F,D,v,y,A,B,C,this,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H))}return null}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha45168.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H){return function(a,b){return cljs.spec.alpha.map_spec_impl.call(null,cljs.core.assoc.call(null,this.argm,new cljs.core.Keyword(null,"gfn","gfn",791517474),b))}}(r,u,t,a,b,b,c,
d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha45168.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H){return function(a){var b=this;return cljs.core.cons.call(null,new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),function(){var a=cljs.core.PersistentVector.EMPTY,a=cljs.core.truth_(b.req)?cljs.core.conj.call(null,a,new cljs.core.Keyword(null,"req","req",-326448303),b.req):a,a=cljs.core.truth_(b.opt)?cljs.core.conj.call(null,
a,new cljs.core.Keyword(null,"opt","opt",-794706369),b.opt):a,a=cljs.core.truth_(b.req_un)?cljs.core.conj.call(null,a,new cljs.core.Keyword(null,"req-un","req-un",1074571008),b.req_un):a;return cljs.core.truth_(b.opt_un)?cljs.core.conj.call(null,a,new cljs.core.Keyword(null,"opt-un","opt-un",883442496),b.opt_un):a}())}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha45168.getBasis=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H){return function(){return new cljs.core.PersistentVector(null,
19,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"keys-\x3especnames","keys-\x3especnames",1791294693,null),new cljs.core.Symbol(null,"opt","opt",845825158,null),new cljs.core.Symbol(null,"req-un","req-un",-1579864761,null),new cljs.core.Symbol(null,"opt-un","opt-un",-1770993273,null),new cljs.core.Symbol(null,"gfn","gfn",-1862918295,null),new cljs.core.Symbol(null,"pred-exprs","pred-exprs",-862164374,null),new cljs.core.Symbol(null,"keys-pred","keys-pred",-1795451030,null),new cljs.core.Symbol(null,
"argm","argm",-181546357,null),new cljs.core.Symbol(null,"opt-keys","opt-keys",-1391747508,null),new cljs.core.Symbol(null,"req-specs","req-specs",-2100473456,null),new cljs.core.Symbol(null,"p__45126","p__45126",1591538993,null),new cljs.core.Symbol(null,"req","req",1314083224,null),new cljs.core.Symbol(null,"map__45166","map__45166",1024446809,null),new cljs.core.Symbol(null,"id","id",252129435,null),new cljs.core.Symbol(null,"req-keys","req-keys",-2140116548,null),new cljs.core.Symbol(null,"opt-specs",
"opt-specs",1255626077,null),new cljs.core.Symbol(null,"k-\x3es","k-\x3es",-1685112801,null),new cljs.core.Symbol(null,"pred-forms","pred-forms",1813143359,null),new cljs.core.Symbol(null,"meta45169","meta45169",741245640,null)],null)}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.t_cljs$spec$alpha45168.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha45168.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha45168",cljs.spec.alpha.t_cljs$spec$alpha45168.cljs$lang$ctorPrWriter=function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.spec.alpha/t_cljs$spec$alpha45168")}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q),cljs.spec.alpha.__GT_t_cljs$spec$alpha45168=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){return new cljs.spec.alpha.t_cljs$spec$alpha45168(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w)}}(r,u,t,a,b,b,c,d,e,f,g,h,k,l,m,n,p,q));return new cljs.spec.alpha.t_cljs$spec$alpha45168(u,
c,d,e,f,g,h,b,k,l,a,m,b,t,n,p,r,q,cljs.core.PersistentArrayMap.EMPTY)};
cljs.spec.alpha.spec_impl=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 4:return cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);case 5:return cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){return cljs.spec.alpha.spec_impl.call(null,a,b,c,d,null)};
cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5=function(a,b,c,d,e){if(cljs.core.truth_(cljs.spec.alpha.spec_QMARK_.call(null,b)))return cljs.core.truth_(c)?cljs.spec.alpha.with_gen.call(null,b,c):b;if(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_.call(null,b)))return cljs.spec.alpha.regex_spec_impl.call(null,b,c);if(cljs.core.ident_QMARK_.call(null,b))return a=cljs.spec.alpha.the_spec.call(null,b),cljs.core.truth_(c)?cljs.spec.alpha.with_gen.call(null,a,c):a;"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha45218&&
(cljs.spec.alpha.t_cljs$spec$alpha45218=function(a,b,c,d,e,m){this.form=a;this.pred=b;this.gfn=c;this.cpred_QMARK_=d;this.unc=e;this.meta45219=m;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.spec.alpha.t_cljs$spec$alpha45218.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha45218(this.form,this.pred,this.gfn,this.cpred_QMARK_,this.unc,b)},cljs.spec.alpha.t_cljs$spec$alpha45218.prototype.cljs$core$IMeta$_meta$arity$1=
function(a){return this.meta45219},cljs.spec.alpha.t_cljs$spec$alpha45218.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha45218.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a){return this},cljs.spec.alpha.t_cljs$spec$alpha45218.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a,b){return this},cljs.spec.alpha.t_cljs$spec$alpha45218.prototype.cljs$spec$alpha$Spec$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha45218.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=
function(a,b){var c=this.pred.call(null,b);return cljs.core.truth_(this.cpred_QMARK_)?c:cljs.core.truth_(c)?b:new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119)},cljs.spec.alpha.t_cljs$spec$alpha45218.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a,b){if(cljs.core.truth_(this.cpred_QMARK_)){if(cljs.core.truth_(this.unc))return this.unc.call(null,b);throw Error("no unform fn for conformer");}return b},cljs.spec.alpha.t_cljs$spec$alpha45218.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=
function(a,b,c,d,e){return cljs.core.truth_(cljs.spec.alpha.invalid_QMARK_.call(null,cljs.spec.alpha.dt.call(null,this.pred,e,this.form,this.cpred_QMARK_)))?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"path","path",-188191168),b,new cljs.core.Keyword(null,"pred","pred",1927423397),this.form,new cljs.core.Keyword(null,"val","val",128701612),e,new cljs.core.Keyword(null,"via","via",-1904457336),c,
new cljs.core.Keyword(null,"in","in",-1531184865),d],null)],null):null},cljs.spec.alpha.t_cljs$spec$alpha45218.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=function(a,b,c,d){return cljs.core.truth_(this.gfn)?this.gfn.call(null):cljs.spec.gen.alpha.gen_for_pred.call(null,this.pred)},cljs.spec.alpha.t_cljs$spec$alpha45218.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=function(a,b){return cljs.spec.alpha.spec_impl.call(null,this.form,this.pred,b,this.cpred_QMARK_,this.unc)},cljs.spec.alpha.t_cljs$spec$alpha45218.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=
function(a){return this.form},cljs.spec.alpha.t_cljs$spec$alpha45218.getBasis=function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"form","form",16469056,null),new cljs.core.Symbol(null,"pred","pred",-727012372,null),new cljs.core.Symbol(null,"gfn","gfn",-1862918295,null),new cljs.core.Symbol(null,"cpred?","cpred?",35589515,null),new cljs.core.Symbol(null,"unc","unc",-465250751,null),new cljs.core.Symbol(null,"meta45219","meta45219",
200492595,null)],null)},cljs.spec.alpha.t_cljs$spec$alpha45218.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha45218.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha45218",cljs.spec.alpha.t_cljs$spec$alpha45218.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,b,"cljs.spec.alpha/t_cljs$spec$alpha45218")},cljs.spec.alpha.__GT_t_cljs$spec$alpha45218=function(a,b,c,d,e,m){return new cljs.spec.alpha.t_cljs$spec$alpha45218(a,b,c,d,e,m)});return new cljs.spec.alpha.t_cljs$spec$alpha45218(a,
b,c,d,e,cljs.core.PersistentArrayMap.EMPTY)};cljs.spec.alpha.spec_impl.cljs$lang$maxFixedArity=5;
cljs.spec.alpha.multi_spec_impl=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.spec.alpha.multi_spec_impl.call(null,a,b,c,null)};
cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){var e=cljs.core.random_uuid.call(null),f=function(a){return function(a){var c=cljs.core.deref.call(null,b),d=cljs.core._get_method.call(null,c,cljs.core._dispatch_fn.call(null,c).call(null,a));return cljs.core.truth_(d)?c.call(null,a):d}}(e),g=function(a,c){return function(a){return cljs.core._dispatch_fn.call(null,cljs.core.deref.call(null,b)).call(null,a)}}(e,f),h=c instanceof cljs.core.Keyword?function(a,b,d){return function(a,
b){return cljs.core.assoc.call(null,a,c,b)}}(e,f,g):c;"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha45233&&(cljs.spec.alpha.t_cljs$spec$alpha45233=function(a,b,c,d,e,f,g,h,t){this.form=a;this.mmvar=b;this.retag=c;this.gfn=d;this.id=e;this.predx=f;this.dval=g;this.tag=h;this.meta45234=t;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.spec.alpha.t_cljs$spec$alpha45233.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b,c,d){return function(a,
b){return new cljs.spec.alpha.t_cljs$spec$alpha45233(this.form,this.mmvar,this.retag,this.gfn,this.id,this.predx,this.dval,this.tag,b)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha45233.prototype.cljs$core$IMeta$_meta$arity$1=function(a,b,c,d){return function(a){return this.meta45234}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha45233.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha45233.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a,
b,c,d){return function(a){return this}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha45233.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a,b,c,d){return function(a,b){return this}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha45233.prototype.cljs$spec$alpha$Spec$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha45233.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=function(a,b,c,d){return function(a,b){var c=this.predx.call(null,b);return cljs.core.truth_(c)?cljs.spec.alpha.dt.call(null,
c,b,this.form):new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha45233.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a,b,c,d){return function(a,b){var c=this.predx.call(null,b);if(cljs.core.truth_(c))return cljs.spec.alpha.unform.call(null,c,b);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No method of: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.form),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" for dispatch value: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(this.dval.call(null,b))].join(""));}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha45233.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a,b,c,d){return function(a,b,c,d,e){a=this.dval.call(null,e);b=cljs.core.conj.call(null,b,a);a=this.predx.call(null,e);return cljs.core.truth_(a)?cljs.spec.alpha.explain_1.call(null,this.form,a,b,c,d,e):new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"path","path",-188191168),b,new cljs.core.Keyword(null,"pred","pred",1927423397),this.form,new cljs.core.Keyword(null,"val","val",128701612),e,new cljs.core.Keyword(null,"reason","reason",-2070751759),"no method",new cljs.core.Keyword(null,"via","via",-1904457336),c,new cljs.core.Keyword(null,"in","in",-1531184865),d],null)],null)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha45233.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=function(a,b,c,d){return function(e,f,g,
h){var k=this;if(cljs.core.truth_(k.gfn))return k.gfn.call(null);e=function(a,b,c,d,e){return function(l){var m=cljs.core.nth.call(null,l,0,null),n=cljs.core.nth.call(null,l,1,null),p=n.call(null,null),q=cljs.spec.alpha.inck.call(null,h,k.id);return cljs.core.truth_(cljs.spec.alpha.recur_limit_QMARK_.call(null,q,k.id,g,m))?null:cljs.spec.gen.alpha.delay_impl.call(null,new cljs.core.Delay(function(a,b,c,d,e,h,l,m,n,p){return function(){return cljs.spec.gen.alpha.fmap.call(null,function(a,b,c,d,e,f,
g,h,l,m){return function(a){return k.tag.call(null,a,d)}}(a,b,c,d,e,h,l,m,n,p),cljs.spec.alpha.gensub.call(null,b,f,cljs.core.conj.call(null,g,d),a,cljs.core._conj.call(null,function(){var a=k.form;return cljs.core._conj.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,d),a)}(),new cljs.core.Symbol(null,"method","method",1696235119,null))))}}(q,p,l,m,n,a,b,c,d,e),null))}}(this,a,b,c,d);e=cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,e,cljs.core.remove.call(null,function(a,
b,c,d,e,f){return function(a){a=cljs.core.nth.call(null,a,0,null);return cljs.spec.alpha.invalid_QMARK_.call(null,a)}}(e,this,a,b,c,d),cljs.core.methods$.call(null,cljs.core.deref.call(null,k.mmvar)))));return cljs.core.every_QMARK_.call(null,cljs.core.identity,e)?cljs.spec.gen.alpha.one_of.call(null,e):null}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha45233.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=function(a,b,c,d){return function(a,b){return cljs.spec.alpha.multi_spec_impl.call(null,
this.form,this.mmvar,this.retag,b)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha45233.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=function(a,b,c,d){return function(a){return cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.spec.alpha","multi-spec","cljs.spec.alpha/multi-spec",175821274,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,this.form),cljs.core._conj.call(null,cljs.core.List.EMPTY,
this.retag))))}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha45233.getBasis=function(a,b,c,d){return function(){return new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"form","form",16469056,null),new cljs.core.Symbol(null,"mmvar","mmvar",-1714325675,null),new cljs.core.Symbol(null,"retag","retag",528972725,null),new cljs.core.Symbol(null,"gfn","gfn",-1862918295,null),new cljs.core.Symbol(null,"id","id",252129435,null),new cljs.core.Symbol(null,
"predx","predx",2063470948,null),new cljs.core.Symbol(null,"dval","dval",835211877,null),new cljs.core.Symbol(null,"tag","tag",350170304,null),new cljs.core.Symbol(null,"meta45234","meta45234",80300919,null)],null)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha45233.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha45233.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha45233",cljs.spec.alpha.t_cljs$spec$alpha45233.cljs$lang$ctorPrWriter=function(a,b,c,d){return function(a,b,c){return cljs.core._write.call(null,
b,"cljs.spec.alpha/t_cljs$spec$alpha45233")}}(e,f,g,h),cljs.spec.alpha.__GT_t_cljs$spec$alpha45233=function(a,b,c,d){return function(a,b,c,d,e,f,g,h,k){return new cljs.spec.alpha.t_cljs$spec$alpha45233(a,b,c,d,e,f,g,h,k)}}(e,f,g,h));return new cljs.spec.alpha.t_cljs$spec$alpha45233(a,b,c,d,e,f,g,h,cljs.core.PersistentArrayMap.EMPTY)};cljs.spec.alpha.multi_spec_impl.cljs$lang$maxFixedArity=4;
cljs.spec.alpha.tuple_impl=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.spec.alpha.tuple_impl.call(null,a,b,null)};
cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=new cljs.core.Delay(function(){return cljs.core.mapv.call(null,cljs.spec.alpha.specize,b,a)},null),e=cljs.core.count.call(null,b);"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha45251&&(cljs.spec.alpha.t_cljs$spec$alpha45251=function(a,b,c,d,e,m){this.forms=a;this.preds=b;this.gfn=c;this.specs=d;this.cnt=e;this.meta45252=m;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},
cljs.spec.alpha.t_cljs$spec$alpha45251.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha45251(this.forms,this.preds,this.gfn,this.specs,this.cnt,b)}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha45251.prototype.cljs$core$IMeta$_meta$arity$1=function(a,b){return function(a){return this.meta45252}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha45251.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha45251.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=
function(a,b){return function(a){return this}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha45251.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a,b){return function(a,b){return this}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha45251.prototype.cljs$spec$alpha$Spec$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha45251.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=function(a,b){return function(a,b){var c=cljs.core.deref.call(null,this.specs);if(cljs.core.vector_QMARK_.call(null,
b)&&cljs.core._EQ_.call(null,cljs.core.count.call(null,b),this.cnt))for(var d=b,e=0;;){if(cljs.core._EQ_.call(null,e,this.cnt))return d;var f=b.call(null,e),g=cljs.spec.alpha.conform_STAR_.call(null,c.call(null,e),f);if(cljs.core.truth_(cljs.spec.alpha.invalid_QMARK_.call(null,g)))return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119);d=g===f?d:cljs.core.assoc.call(null,d,e,g);e+=1}else return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",
-1220295119)}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha45251.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a,b){return function(a,b){if(!cljs.core.vector_QMARK_.call(null,b)||!cljs.core._EQ_.call(null,cljs.core.count.call(null,b),cljs.core.count.call(null,this.preds)))throw Error("Assert failed: (c/and (vector? x) (\x3d (count x) (count preds)))");for(var c=b,d=0;;){if(cljs.core._EQ_.call(null,d,cljs.core.count.call(null,b)))return c;var e=b.call(null,d),f=cljs.spec.alpha.unform.call(null,
this.preds.call(null,d),e),c=e===f?c:cljs.core.assoc.call(null,c,d,f),d=d+1}}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha45251.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a,b){return function(c,d,e,f,g){var h=this;return cljs.core.vector_QMARK_.call(null,g)?cljs.core.not_EQ_.call(null,cljs.core.count.call(null,g),cljs.core.count.call(null,h.preds))?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"path","path",-188191168),d,new cljs.core.Keyword(null,"pred","pred",1927423397),cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","\x3d","cljs.core/\x3d",-1891498332,null)),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","count","cljs.core/count",-921270233,null)),
cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"%","%",-950237169,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.count.call(null,h.preds);return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}()))),new cljs.core.Keyword(null,"val","val",128701612),g,new cljs.core.Keyword(null,"via","via",-1904457336),e,new cljs.core.Keyword(null,"in","in",-1531184865),f],null)],null):cljs.core.apply.call(null,cljs.core.concat,cljs.core.map.call(null,
function(a,b,c){return function(a,b,c){var h=g.call(null,a);return cljs.core.truth_(cljs.spec.alpha.pvalid_QMARK_.call(null,c,h))?null:cljs.spec.alpha.explain_1.call(null,b,c,cljs.core.conj.call(null,d,a),e,cljs.core.conj.call(null,f,a),h)}}(this,a,b),cljs.core.range.call(null,cljs.core.count.call(null,h.preds)),h.forms,h.preds)):new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"path","path",-188191168),
d,new cljs.core.Keyword(null,"pred","pred",1927423397),new cljs.core.Symbol(null,"vector?","vector?",-61367869,null),new cljs.core.Keyword(null,"val","val",128701612),g,new cljs.core.Keyword(null,"via","via",-1904457336),e,new cljs.core.Keyword(null,"in","in",-1531184865),f],null)],null)}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha45251.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=function(a,b){return function(c,d,e,f){if(cljs.core.truth_(this.gfn))return this.gfn.call(null);c=function(a,b,c){return function(a,
b,c){return cljs.spec.alpha.gensub.call(null,b,d,cljs.core.conj.call(null,e,a),f,c)}}(this,a,b);c=cljs.core.map.call(null,c,cljs.core.range.call(null,cljs.core.count.call(null,this.preds)),this.preds,this.forms);return cljs.core.every_QMARK_.call(null,cljs.core.identity,c)?cljs.core.apply.call(null,cljs.spec.gen.alpha.tuple,c):null}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha45251.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=function(a,b){return function(a,b){return cljs.spec.alpha.tuple_impl.call(null,
this.forms,this.preds,b)}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha45251.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=function(a,b){return function(a){return cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.spec.alpha","tuple","cljs.spec.alpha/tuple",-415901908,null)),this.forms)))}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha45251.getBasis=function(a,b){return function(){return new cljs.core.PersistentVector(null,
6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"forms","forms",-608443419,null),new cljs.core.Symbol(null,"preds","preds",150921777,null),new cljs.core.Symbol(null,"gfn","gfn",-1862918295,null),new cljs.core.Symbol(null,"specs","specs",-1227865028,null),new cljs.core.Symbol(null,"cnt","cnt",1924510325,null),new cljs.core.Symbol(null,"meta45252","meta45252",82657086,null)],null)}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha45251.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha45251.cljs$lang$ctorStr=
"cljs.spec.alpha/t_cljs$spec$alpha45251",cljs.spec.alpha.t_cljs$spec$alpha45251.cljs$lang$ctorPrWriter=function(a,b){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.spec.alpha/t_cljs$spec$alpha45251")}}(d,e),cljs.spec.alpha.__GT_t_cljs$spec$alpha45251=function(a,b){return function(a,b,c,d,e,f){return new cljs.spec.alpha.t_cljs$spec$alpha45251(a,b,c,d,e,f)}}(d,e));return new cljs.spec.alpha.t_cljs$spec$alpha45251(a,b,c,d,e,cljs.core.PersistentArrayMap.EMPTY)};
cljs.spec.alpha.tuple_impl.cljs$lang$maxFixedArity=3;cljs.spec.alpha.tagged_ret=function(a){a.cljs$core$IMapEntry$=cljs.core.PROTOCOL_SENTINEL;a.cljs$core$IMapEntry$_key$arity$1=function(b){return function(b){return cljs.core._nth.call(null,a,0)}}(a);a.cljs$core$IMapEntry$_val$arity$1=function(b){return function(b){return cljs.core._nth.call(null,a,1)}}(a);return a};
cljs.spec.alpha.or_spec_impl=function(a,b,c,d){var e=cljs.core.random_uuid.call(null),f=cljs.core.zipmap.call(null,a,c),g=new cljs.core.Delay(function(a,d){return function(){return cljs.core.mapv.call(null,cljs.spec.alpha.specize,c,b)}}(e,f),null),h=function(){var b=cljs.core.count.call(null,c);switch(b){case 2:return function(b,c,d,e){return function(b){var c=cljs.core.deref.call(null,e),d=cljs.spec.alpha.conform_STAR_.call(null,c.call(null,0),b);return cljs.core.truth_(cljs.spec.alpha.invalid_QMARK_.call(null,
d))?(b=cljs.spec.alpha.conform_STAR_.call(null,c.call(null,1),b),cljs.core.truth_(cljs.spec.alpha.invalid_QMARK_.call(null,b))?new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119):cljs.spec.alpha.tagged_ret.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a.call(null,1),b],null))):cljs.spec.alpha.tagged_ret.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a.call(null,0),d],null))}}(b,
e,f,g);case 3:return function(b,c,d,e){return function(b){var c=cljs.core.deref.call(null,e),d=cljs.spec.alpha.conform_STAR_.call(null,c.call(null,0),b);return cljs.core.truth_(cljs.spec.alpha.invalid_QMARK_.call(null,d))?(d=cljs.spec.alpha.conform_STAR_.call(null,c.call(null,1),b),cljs.core.truth_(cljs.spec.alpha.invalid_QMARK_.call(null,d))?(b=cljs.spec.alpha.conform_STAR_.call(null,c.call(null,2),b),cljs.core.truth_(cljs.spec.alpha.invalid_QMARK_.call(null,b))?new cljs.core.Keyword("cljs.spec.alpha",
"invalid","cljs.spec.alpha/invalid",-1220295119):cljs.spec.alpha.tagged_ret.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a.call(null,2),b],null))):cljs.spec.alpha.tagged_ret.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a.call(null,1),d],null))):cljs.spec.alpha.tagged_ret.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a.call(null,0),d],null))}}(b,e,f,g);default:return function(b,
c,d,e){return function(b){for(var c=cljs.core.deref.call(null,e),d=0;;)if(d<cljs.core.count.call(null,c)){var f=c.call(null,d),f=cljs.spec.alpha.conform_STAR_.call(null,f,b);if(cljs.core.truth_(cljs.spec.alpha.invalid_QMARK_.call(null,f)))d+=1;else return cljs.spec.alpha.tagged_ret.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a.call(null,d),f],null))}else return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119)}}(b,
e,f,g)}}();"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha45273&&(cljs.spec.alpha.t_cljs$spec$alpha45273=function(a,b,c,d,e,f,g,h,t){this.keys=a;this.forms=b;this.preds=c;this.gfn=d;this.id=e;this.kps=f;this.specs=g;this.cform=h;this.meta45274=t;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.spec.alpha.t_cljs$spec$alpha45273.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b,c,d){return function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha45273(this.keys,
this.forms,this.preds,this.gfn,this.id,this.kps,this.specs,this.cform,b)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha45273.prototype.cljs$core$IMeta$_meta$arity$1=function(a,b,c,d){return function(a){return this.meta45274}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha45273.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha45273.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a,b,c,d){return function(a){return this}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha45273.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=
function(a,b,c,d){return function(a,b){return this}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha45273.prototype.cljs$spec$alpha$Spec$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha45273.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=function(a,b,c,d){return function(a,b){return this.cform.call(null,b)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha45273.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a,b,c,d){return function(a,b){var c=cljs.core.nth.call(null,b,0,null),
d=cljs.core.nth.call(null,b,1,null);return cljs.spec.alpha.unform.call(null,this.kps.call(null,c),d)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha45273.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a,b,c,d){return function(e,f,g,h,k){return cljs.core.truth_(cljs.spec.alpha.pvalid_QMARK_.call(null,this,k))?null:cljs.core.apply.call(null,cljs.core.concat,cljs.core.map.call(null,function(a,b,c,d,e){return function(a,b,c){return cljs.core.truth_(cljs.spec.alpha.pvalid_QMARK_.call(null,
c,k))?null:cljs.spec.alpha.explain_1.call(null,b,c,cljs.core.conj.call(null,f,a),g,h,k)}}(this,a,b,c,d),this.keys,this.forms,this.preds))}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha45273.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=function(a,b,c,d){return function(e,f,g,h){var k=this;if(cljs.core.truth_(k.gfn))return k.gfn.call(null);e=function(a,b,c,d,e){return function(l,m,n){var p=cljs.spec.alpha.inck.call(null,h,k.id);return cljs.core.truth_(cljs.spec.alpha.recur_limit_QMARK_.call(null,
p,k.id,g,l))?null:cljs.spec.gen.alpha.delay_impl.call(null,new cljs.core.Delay(function(a,b,c,d,e,h){return function(){return cljs.spec.alpha.gensub.call(null,m,f,cljs.core.conj.call(null,g,l),a,n)}}(p,a,b,c,d,e),null))}}(this,a,b,c,d);e=cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,e,k.keys,k.preds,k.forms));return cljs.core.empty_QMARK_.call(null,e)?null:cljs.spec.gen.alpha.one_of.call(null,e)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha45273.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=
function(a,b,c,d){return function(a,b){return cljs.spec.alpha.or_spec_impl.call(null,this.keys,this.forms,this.preds,b)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha45273.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=function(a,b,c,d){return function(a){return cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null)),cljs.core.mapcat.call(null,
cljs.core.vector,this.keys,this.forms))))}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha45273.getBasis=function(a,b,c,d){return function(){return new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"keys","keys",-1586012071,null),new cljs.core.Symbol(null,"forms","forms",-608443419,null),new cljs.core.Symbol(null,"preds","preds",150921777,null),new cljs.core.Symbol(null,"gfn","gfn",-1862918295,null),new cljs.core.Symbol(null,"id","id",252129435,null),
new cljs.core.Symbol(null,"kps","kps",-1157342767,null),new cljs.core.Symbol(null,"specs","specs",-1227865028,null),new cljs.core.Symbol(null,"cform","cform",1319506748,null),new cljs.core.Symbol(null,"meta45274","meta45274",2102430959,null)],null)}}(e,f,g,h),cljs.spec.alpha.t_cljs$spec$alpha45273.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha45273.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha45273",cljs.spec.alpha.t_cljs$spec$alpha45273.cljs$lang$ctorPrWriter=function(a,b,c,d){return function(a,
b,c){return cljs.core._write.call(null,b,"cljs.spec.alpha/t_cljs$spec$alpha45273")}}(e,f,g,h),cljs.spec.alpha.__GT_t_cljs$spec$alpha45273=function(a,b,c,d){return function(a,b,c,d,e,f,g,h,k){return new cljs.spec.alpha.t_cljs$spec$alpha45273(a,b,c,d,e,f,g,h,k)}}(e,f,g,h));return new cljs.spec.alpha.t_cljs$spec$alpha45273(a,b,c,d,e,f,g,h,cljs.core.PersistentArrayMap.EMPTY)};
cljs.spec.alpha.and_preds=function(a,b,c){var d=cljs.core.seq.call(null,b);cljs.core.first.call(null,d);cljs.core.next.call(null,d);d=cljs.core.seq.call(null,c);cljs.core.first.call(null,d);cljs.core.next.call(null,d);for(d=c;;){c=a;b=cljs.core.seq.call(null,b);a=cljs.core.first.call(null,b);b=cljs.core.next.call(null,b);var e=cljs.core.seq.call(null,d),d=cljs.core.first.call(null,e),e=cljs.core.next.call(null,e),f=d,d=e;if(cljs.core.truth_(a)){c=cljs.spec.alpha.dt.call(null,a,c,f);if(cljs.core.truth_(cljs.spec.alpha.invalid_QMARK_.call(null,
c)))return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119);a=c}else return c}};
cljs.spec.alpha.explain_pred_list=function(a,b,c,d,e,f){var g=cljs.core.seq.call(null,a);cljs.core.first.call(null,g);cljs.core.next.call(null,g);g=cljs.core.seq.call(null,b);cljs.core.first.call(null,g);cljs.core.next.call(null,g);for(g=b;;){b=f;a=cljs.core.seq.call(null,a);f=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);var h=cljs.core.seq.call(null,g),g=cljs.core.first.call(null,h),k=cljs.core.next.call(null,h),h=g;if(cljs.core.truth_(h)){g=cljs.spec.alpha.dt.call(null,h,b,f);if(cljs.core.truth_(cljs.spec.alpha.invalid_QMARK_.call(null,
g)))return cljs.spec.alpha.explain_1.call(null,f,h,c,d,e,b);b=a;h=k;f=g;a=b;g=h}else return null}};
cljs.spec.alpha.and_spec_impl=function(a,b,c){var d=new cljs.core.Delay(function(){return cljs.core.mapv.call(null,cljs.spec.alpha.specize,b,a)},null),e=function(){var a=cljs.core.count.call(null,b);switch(a){case 2:return function(a,b){return function(a){var c=cljs.core.deref.call(null,b);a=cljs.spec.alpha.conform_STAR_.call(null,c.call(null,0),a);return cljs.core.truth_(cljs.spec.alpha.invalid_QMARK_.call(null,a))?new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119):
cljs.spec.alpha.conform_STAR_.call(null,c.call(null,1),a)}}(a,d);case 3:return function(a,b){return function(a){var c=cljs.core.deref.call(null,b);a=cljs.spec.alpha.conform_STAR_.call(null,c.call(null,0),a);if(cljs.core.truth_(cljs.spec.alpha.invalid_QMARK_.call(null,a)))return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119);a=cljs.spec.alpha.conform_STAR_.call(null,c.call(null,1),a);return cljs.core.truth_(cljs.spec.alpha.invalid_QMARK_.call(null,a))?new cljs.core.Keyword("cljs.spec.alpha",
"invalid","cljs.spec.alpha/invalid",-1220295119):cljs.spec.alpha.conform_STAR_.call(null,c.call(null,2),a)}}(a,d);default:return function(a,b){return function(a){for(var c=cljs.core.deref.call(null,b),d=0;;)if(d<cljs.core.count.call(null,c)){a=cljs.spec.alpha.conform_STAR_.call(null,c.call(null,d),a);if(cljs.core.truth_(cljs.spec.alpha.invalid_QMARK_.call(null,a)))return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119);d+=1}else return a}}(a,d)}}();"undefined"===
typeof cljs.spec.alpha.t_cljs$spec$alpha45375&&(cljs.spec.alpha.t_cljs$spec$alpha45375=function(a,b,c,d,e,m){this.forms=a;this.preds=b;this.gfn=c;this.specs=d;this.cform=e;this.meta45376=m;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.spec.alpha.t_cljs$spec$alpha45375.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha45375(this.forms,this.preds,this.gfn,this.specs,this.cform,
b)}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha45375.prototype.cljs$core$IMeta$_meta$arity$1=function(a,b){return function(a){return this.meta45376}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha45375.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha45375.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a,b){return function(a){return this}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha45375.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a,
b){return function(a,b){return this}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha45375.prototype.cljs$spec$alpha$Spec$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha45375.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=function(a,b){return function(a,b){return this.cform.call(null,b)}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha45375.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a,b){return function(c,d){return cljs.core.reduce.call(null,function(a,b,c){return function(a,
b){return cljs.spec.alpha.unform.call(null,b,a)}}(this,a,b),d,cljs.core.reverse.call(null,this.preds))}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha45375.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a,b){return function(a,b,c,d,e){return cljs.spec.alpha.explain_pred_list.call(null,this.forms,this.preds,b,c,d,e)}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha45375.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=function(a,b){return function(a,b,c,d){return cljs.core.truth_(this.gfn)?this.gfn.call(null):
cljs.spec.alpha.gensub.call(null,cljs.core.first.call(null,this.preds),b,c,d,cljs.core.first.call(null,this.forms))}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha45375.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=function(a,b){return function(a,b){return cljs.spec.alpha.and_spec_impl.call(null,this.forms,this.preds,b)}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha45375.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=function(a,b){return function(a){return cljs.core.sequence.call(null,cljs.core.seq.call(null,
cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.spec.alpha","and","cljs.spec.alpha/and",-2060279705,null)),this.forms)))}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha45375.getBasis=function(a,b){return function(){return new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"forms","forms",-608443419,null),new cljs.core.Symbol(null,"preds","preds",150921777,null),new cljs.core.Symbol(null,"gfn","gfn",
-1862918295,null),new cljs.core.Symbol(null,"specs","specs",-1227865028,null),new cljs.core.Symbol(null,"cform","cform",1319506748,null),new cljs.core.Symbol(null,"meta45376","meta45376",-286919142,null)],null)}}(d,e),cljs.spec.alpha.t_cljs$spec$alpha45375.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha45375.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha45375",cljs.spec.alpha.t_cljs$spec$alpha45375.cljs$lang$ctorPrWriter=function(a,b){return function(a,b,c){return cljs.core._write.call(null,
b,"cljs.spec.alpha/t_cljs$spec$alpha45375")}}(d,e),cljs.spec.alpha.__GT_t_cljs$spec$alpha45375=function(a,b){return function(a,b,c,d,e,f){return new cljs.spec.alpha.t_cljs$spec$alpha45375(a,b,c,d,e,f)}}(d,e));return new cljs.spec.alpha.t_cljs$spec$alpha45375(a,b,c,d,e,cljs.core.PersistentArrayMap.EMPTY)};
cljs.spec.alpha.coll_prob=function(a,b,c,d,e,f,g,h,k,l){b=cljs.core.truth_(b)?b:cljs.core.coll_QMARK_;c=cljs.core.truth_(c)?c:new cljs.core.Symbol("cljs.core","coll?","cljs.core/coll?",1208130522,null);return cljs.core.not.call(null,cljs.spec.alpha.pvalid_QMARK_.call(null,b,a))?cljs.spec.alpha.explain_1.call(null,c,b,h,k,l,a):cljs.core.truth_(cljs.core.truth_(e)?cljs.core.not_EQ_.call(null,e,cljs.core.bounded_count.call(null,e,a)):e)?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"path","path",-188191168),h,new cljs.core.Keyword(null,"pred","pred",1927423397),cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","\x3d","cljs.core/\x3d",-1891498332,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,e),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,
cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","count","cljs.core/count",-921270233,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,"%","%",-950237169,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}()))),new cljs.core.Keyword(null,"val","val",128701612),a,new cljs.core.Keyword(null,"via","via",-1904457336),k,new cljs.core.Keyword(null,"in","in",-1531184865),l],null)],null):cljs.core.truth_(function(){var b=cljs.core.truth_(f)?f:g;return cljs.core.truth_(b)?
!((cljs.core.truth_(f)?f:0)<=cljs.core.bounded_count.call(null,cljs.core.truth_(g)?g+1:f,a)&&cljs.core.bounded_count.call(null,cljs.core.truth_(g)?g+1:f,a)<=(cljs.core.truth_(g)?g:cljs.spec.alpha.MAX_INT)):b}())?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"path","path",-188191168),h,new cljs.core.Keyword(null,"pred","pred",1927423397),cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,
cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","\x3c\x3d","cljs.core/\x3c\x3d",1677001748,null)),function(){var a=cljs.core.truth_(f)?f:0;return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.core","count","cljs.core/count",-921270233,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol(null,
"%","%",-950237169,null)))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}(),function(){var a=cljs.core.truth_(g)?g:cljs.spec.alpha.MAX_INT;return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}()))),new cljs.core.Keyword(null,"val","val",128701612),a,new cljs.core.Keyword(null,"via","via",-1904457336),k,new cljs.core.Keyword(null,"in","in",-1531184865),l],null)],null):cljs.core.truth_(cljs.core.truth_(d)?!cljs.core.empty_QMARK_.call(null,a)&&cljs.core.not.call(null,cljs.core.apply.call(null,
cljs.core.distinct_QMARK_,a)):d)?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"path","path",-188191168),h,new cljs.core.Keyword(null,"pred","pred",1927423397),new cljs.core.Symbol(null,"distinct?","distinct?",-1684357959,null),new cljs.core.Keyword(null,"val","val",128701612),a,new cljs.core.Keyword(null,"via","via",-1904457336),k,new cljs.core.Keyword(null,"in","in",-1531184865),l],null)],null):
null};
cljs.spec.alpha.merge_spec_impl=function(a,b,c){"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha45392&&(cljs.spec.alpha.t_cljs$spec$alpha45392=function(a,b,c,g){this.forms=a;this.preds=b;this.gfn=c;this.meta45393=g;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.spec.alpha.t_cljs$spec$alpha45392.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha45392(this.forms,this.preds,this.gfn,b)},cljs.spec.alpha.t_cljs$spec$alpha45392.prototype.cljs$core$IMeta$_meta$arity$1=
function(a){return this.meta45393},cljs.spec.alpha.t_cljs$spec$alpha45392.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha45392.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a){return this},cljs.spec.alpha.t_cljs$spec$alpha45392.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a,b){return this},cljs.spec.alpha.t_cljs$spec$alpha45392.prototype.cljs$spec$alpha$Spec$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha45392.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=
function(a,b){var c=cljs.core.map.call(null,function(a){return function(a,c){return cljs.spec.alpha.dt.call(null,a,b,c)}}(this),this.preds,this.forms);return cljs.core.truth_(cljs.core.some.call(null,cljs.spec.alpha.invalid_QMARK_,c))?new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119):cljs.core.apply.call(null,cljs.core.merge,c)},cljs.spec.alpha.t_cljs$spec$alpha45392.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a,b){return cljs.core.apply.call(null,
cljs.core.merge,cljs.core.map.call(null,function(a){return function(a){return cljs.spec.alpha.unform.call(null,a,b)}}(this),cljs.core.reverse.call(null,this.preds)))},cljs.spec.alpha.t_cljs$spec$alpha45392.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a,b,c,g,h){return cljs.core.apply.call(null,cljs.core.concat,cljs.core.map.call(null,function(a){return function(a,d){return cljs.spec.alpha.explain_1.call(null,a,d,b,c,g,h)}}(this),this.forms,this.preds))},cljs.spec.alpha.t_cljs$spec$alpha45392.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=
function(a,b,c,g){return cljs.core.truth_(this.gfn)?this.gfn.call(null):cljs.spec.gen.alpha.fmap.call(null,function(a){return function(a){return cljs.core.apply.call(null,cljs.core.merge,a)}}(this),cljs.core.apply.call(null,cljs.spec.gen.alpha.tuple,cljs.core.map.call(null,function(a){return function(a,d){return cljs.spec.alpha.gensub.call(null,a,b,c,g,d)}}(this),this.preds,this.forms)))},cljs.spec.alpha.t_cljs$spec$alpha45392.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=function(a,b){return cljs.spec.alpha.merge_spec_impl.call(null,
this.forms,this.preds,b)},cljs.spec.alpha.t_cljs$spec$alpha45392.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=function(a){return cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.spec.alpha","merge","cljs.spec.alpha/merge",1420080689,null)),this.forms)))},cljs.spec.alpha.t_cljs$spec$alpha45392.getBasis=function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"forms","forms",-608443419,null),new cljs.core.Symbol(null,"preds","preds",150921777,null),new cljs.core.Symbol(null,"gfn","gfn",-1862918295,null),new cljs.core.Symbol(null,"meta45393","meta45393",-588185946,null)],null)},cljs.spec.alpha.t_cljs$spec$alpha45392.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha45392.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha45392",cljs.spec.alpha.t_cljs$spec$alpha45392.cljs$lang$ctorPrWriter=function(a,b,c){return cljs.core._write.call(null,
b,"cljs.spec.alpha/t_cljs$spec$alpha45392")},cljs.spec.alpha.__GT_t_cljs$spec$alpha45392=function(a,b,c,g){return new cljs.spec.alpha.t_cljs$spec$alpha45392(a,b,c,g)});return new cljs.spec.alpha.t_cljs$spec$alpha45392(a,b,c,cljs.core.PersistentArrayMap.EMPTY)};
cljs.spec.alpha.every_impl=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 3:return cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);case 4:return cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4(arguments[0],arguments[1],arguments[2],arguments[3]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.spec.alpha.every_impl.call(null,a,b,c,null)};
cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4=function(a,b,c,d){var e=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,f=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"max-count","max-count",1539185305)),g=cljs.core.get.call(null,e,new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697)),h=cljs.core.get.call(null,e,new cljs.core.Keyword(null,
"gen-max","gen-max",-793680445),20),k=cljs.core.get.call(null,e,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218)),l=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"conform-keys","conform-keys",-1800041814)),m=cljs.core.get.call(null,e,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911)),n=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"distinct","distinct",-1788879121)),p=cljs.core.get.call(null,e,new cljs.core.Keyword("cljs.spec.alpha",
"kfn","cljs.spec.alpha/kfn",672643897)),q=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"into","into",-150836029)),r=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"count","count",2139924085)),u=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"min-count","min-count",1594709013)),t=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"kind","kind",-717265803)),v=cljs.core.get.call(null,e,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917)),
w=new cljs.core.Delay(function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(){return cljs.spec.alpha.specize.call(null,b)}}(q,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),null),x=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v){return function(a){return cljs.spec.alpha.valid_QMARK_.call(null,cljs.core.deref.call(null,b),a)}}(q,w,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),y=function(){return cljs.core.truth_(p)?p:function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x){return function(a,b){return a}}(p,q,w,x,c,e,e,f,g,h,k,
l,m,n,p,q,r,u,t,v)}(),z=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x){return function(a,b,c,d){return cljs.core.conj.call(null,a,d)}}(q,w,x,y,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),A=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y){return function(z){return cljs.core.vector_QMARK_.call(null,z)&&(cljs.core.not.call(null,a)||cljs.core.vector_QMARK_.call(null,a))?new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.identity,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,
u,t,v,w,x,y){return function(a,b,c,d){return c===d?a:cljs.core.assoc.call(null,a,b,d)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y),cljs.core.identity],null):cljs.core.truth_(function(){var b=cljs.core.map_QMARK_.call(null,z);return b?(b=cljs.core.truth_(x)?cljs.core.not.call(null,a):x,cljs.core.truth_(b)?b:cljs.core.map_QMARK_.call(null,a)):b}())?new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.truth_(p)?cljs.core.empty:cljs.core.identity,function(a,b,c,d,e,
f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y){return function(a,b,c,d){return c===d&&cljs.core.not.call(null,p)?a:cljs.core.assoc.call(null,a,cljs.core.nth.call(null,cljs.core.truth_(p)?d:c,0),cljs.core.nth.call(null,d,1))}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y),cljs.core.identity],null):cljs.core.list_QMARK_.call(null,a)||cljs.core.seq_QMARK_.call(null,a)||cljs.core.not.call(null,a)&&(cljs.core.list_QMARK_.call(null,z)||cljs.core.seq_QMARK_.call(null,z))?new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[cljs.core.empty,e,cljs.core.reverse],null):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y){return function(b){return cljs.core.empty.call(null,cljs.core.truth_(a)?a:b)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y),e,cljs.core.identity],null)}}(q,w,x,y,z,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v);"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha45405&&(cljs.spec.alpha.t_cljs$spec$alpha45405=function(a,b,c,d,e,f,g,h,k,l,m,
n,p,q,r,u,t,v,w,x,y,z,A,Y,aa){this.form=a;this.max_count=b;this.check_QMARK_=c;this.gfn=d;this.gen_max=e;this.pred=f;this.cpred=g;this.conform_keys=h;this.kind_form=k;this.addcv=l;this.cfns=m;this.describe_form=n;this.distinct=p;this.map__45403=q;this.spec=r;this.kfn=u;this.gen_into=t;this.count=v;this.min_count=w;this.opts=x;this.kind=y;this.conform_all=z;this.p__45402=A;this.conform_into=Y;this.meta45406=aa;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=
0},cljs.spec.alpha.t_cljs$spec$alpha45405.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z){return function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha45405(this.form,this.max_count,this.check_QMARK_,this.gfn,this.gen_max,this.pred,this.cpred,this.conform_keys,this.kind_form,this.addcv,this.cfns,this.describe_form,this.distinct,this.map__45403,this.spec,this.kfn,this.gen_into,this.count,this.min_count,this.opts,this.kind,this.conform_all,
this.p__45402,this.conform_into,b)}}(q,w,x,y,z,A,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha45405.prototype.cljs$core$IMeta$_meta$arity$1=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z){return function(a){return this.meta45406}}(q,w,x,y,z,A,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha45405.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha45405.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z){return function(a){return this}}(q,w,x,y,z,A,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha45405.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z){return function(a,b){return this}}(q,w,x,y,z,A,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha45405.prototype.cljs$spec$alpha$Spec$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha45405.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z){return function(a,b){var c=cljs.core.deref.call(null,this.spec);if(cljs.core.not.call(null,this.cpred.call(null,b)))return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119);if(cljs.core.truth_(this.conform_all)){var d=this.cfns.call(null,b);var e=cljs.core.nth.call(null,d,0,null);var f=cljs.core.nth.call(null,d,1,null),d=cljs.core.nth.call(null,d,2,null),g=e.call(null,b);e=0;var h=cljs.core.seq.call(null,
b);var k=cljs.core.seq.call(null,h);cljs.core.first.call(null,k);for(cljs.core.next.call(null,k);;){var l=h;k=cljs.core.seq.call(null,l);h=cljs.core.first.call(null,k);var m=cljs.core.next.call(null,k);k=h;h=m;if(l){l=cljs.spec.alpha.conform_STAR_.call(null,c,k);if(cljs.core.truth_(cljs.spec.alpha.invalid_QMARK_.call(null,l)))return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119);g=f.call(null,g,e,k,l);e+=1}else return d.call(null,g)}}else if(cljs.core.indexed_QMARK_.call(null,
b))for(f=cljs.core.long$.call(null,cljs.core.count.call(null,b)/cljs.spec.alpha._STAR_coll_check_limit_STAR_),f=1>f?1:f,e=0;;){if(e>=cljs.core.count.call(null,b))return b;if(cljs.core.truth_(cljs.spec.alpha.valid_QMARK_.call(null,c,cljs.core.nth.call(null,b,e))))e+=f;else return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119)}else for(f=cljs.spec.alpha._STAR_coll_check_limit_STAR_,e=0,d=cljs.core.seq.call(null,b),g=cljs.core.seq.call(null,d),cljs.core.first.call(null,
g),cljs.core.next.call(null,g);;){h=cljs.core.seq.call(null,d);g=cljs.core.first.call(null,h);h=cljs.core.next.call(null,h);k=g;l=d;if(null==l||cljs.core._EQ_.call(null,e,f))return b;if(cljs.core.truth_(cljs.spec.alpha.valid_QMARK_.call(null,c,k)))d=h,e+=1;else return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119)}}}(q,w,x,y,z,A,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha45405.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z){return function(a,b){if(cljs.core.truth_(this.conform_all)){var c=cljs.core.deref.call(null,this.spec),d=this.cfns.call(null,b),e=cljs.core.nth.call(null,d,0,null),f=cljs.core.nth.call(null,d,1,null),d=cljs.core.nth.call(null,d,2,null),e=e.call(null,b),g=cljs.core.seq.call(null,b),h=cljs.core.seq.call(null,g);cljs.core.first.call(null,h);cljs.core.next.call(null,h);for(h=0;;){var k=cljs.core.seq.call(null,g),g=cljs.core.first.call(null,k),k=cljs.core.next.call(null,
k),l=g,g=k;if(h>=cljs.core.count.call(null,b))return d.call(null,e);e=f.call(null,e,h,l,cljs.spec.alpha.unform_STAR_.call(null,c,l));h+=1}}else return b}}(q,w,x,y,z,A,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha45405.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z){return function(A,B,C,F,D){var E=this;A=cljs.spec.alpha.coll_prob.call(null,D,E.kind,E.kind_form,E.distinct,E.count,E.min_count,E.max_count,B,C,F);return cljs.core.truth_(A)?
A:cljs.core.apply.call(null,cljs.core.concat,(cljs.core.truth_(E.conform_all)?cljs.core.identity:cljs.core.partial.call(null,cljs.core.take,cljs.spec.alpha._STAR_coll_error_limit_STAR_)).call(null,cljs.core.keep.call(null,cljs.core.identity,cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,A,D){return function(a,b){var c=E.kfn.call(null,a,b);return cljs.core.truth_(E.check_QMARK_.call(null,b))?null:cljs.spec.alpha.explain_1.call(null,E.form,E.pred,B,C,cljs.core.conj.call(null,
F,c),b)}}(A,this,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z),cljs.core.range.call(null),D))))}}(q,w,x,y,z,A,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha45405.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z){return function(A,B,C,F){var D=this;if(cljs.core.truth_(D.gfn))return D.gfn.call(null);A=cljs.spec.alpha.gensub.call(null,D.pred,B,C,F,D.form);return cljs.spec.gen.alpha.bind.call(null,cljs.core.truth_(D.gen_into)?cljs.spec.gen.alpha.return$.call(null,
cljs.core.empty.call(null,D.gen_into)):cljs.core.truth_(D.kind)?cljs.spec.gen.alpha.fmap.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,A,B){return function(a){return cljs.core.empty_QMARK_.call(null,a)?a:cljs.core.empty.call(null,a)}}(A,this,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z),cljs.spec.alpha.gensub.call(null,D.kind,B,C,F,D.form)):cljs.spec.gen.alpha.return$.call(null,cljs.core.PersistentVector.EMPTY),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,A,B){return function(C){return cljs.spec.gen.alpha.fmap.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,A,B){return function(a){return cljs.core.vector_QMARK_.call(null,C)?a:cljs.core.into.call(null,C,a)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,A,B),cljs.core.truth_(D.distinct)?cljs.core.truth_(D.count)?cljs.spec.gen.alpha.vector_distinct.call(null,a,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"num-elements","num-elements",1960422107),D.count,new cljs.core.Keyword(null,"max-tries","max-tries",-1824441792),100],null)):
cljs.spec.gen.alpha.vector_distinct.call(null,a,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min-elements","min-elements",949370780),function(){var a=D.min_count;return cljs.core.truth_(a)?a:0}(),new cljs.core.Keyword(null,"max-elements","max-elements",433034073),function(){var a=D.max_count;if(cljs.core.truth_(a))return a;var a=D.gen_max;var b=D.min_count;b=cljs.core.truth_(b)?b:0;b*=2;return a>b?a:b}(),new cljs.core.Keyword(null,"max-tries","max-tries",-1824441792),100],
null)):cljs.core.truth_(D.count)?cljs.spec.gen.alpha.vector.call(null,a,D.count):cljs.core.truth_(function(){var a=D.min_count;return cljs.core.truth_(a)?a:D.max_count}())?cljs.spec.gen.alpha.vector.call(null,a,function(){var a=D.min_count;return cljs.core.truth_(a)?a:0}(),function(){var a=D.max_count;if(cljs.core.truth_(a))return a;var a=D.gen_max;var b=D.min_count;b=cljs.core.truth_(b)?b:0;b*=2;return a>b?a:b}()):cljs.spec.gen.alpha.vector.call(null,a,0,D.gen_max))}}(A,this,a,b,c,d,e,f,g,h,k,l,
m,n,p,q,r,u,t,v,w,x,y,z))}}(q,w,x,y,z,A,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha45405.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z){return function(a,b){return cljs.spec.alpha.every_impl.call(null,this.form,this.pred,this.opts,b)}}(q,w,x,y,z,A,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha45405.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,
v,w,x,y,z){return function(a){a=this.describe_form;return cljs.core.truth_(a)?a:cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.spec.alpha","every","cljs.spec.alpha/every",123912744,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,this.form),cljs.core.mapcat.call(null,cljs.core.identity,this.opts))))}}(q,w,x,y,z,A,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha45405.getBasis=
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z){return function(){return new cljs.core.PersistentVector(null,25,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"form","form",16469056,null),new cljs.core.Symbol(null,"max-count","max-count",-1115250464,null),new cljs.core.Symbol(null,"check?","check?",409539557,null),new cljs.core.Symbol(null,"gfn","gfn",-1862918295,null),new cljs.core.Symbol(null,"gen-max","gen-max",846851082,null),new cljs.core.Symbol(null,"pred","pred",-727012372,
null),new cljs.core.Symbol(null,"cpred","cpred",-540353554,null),new cljs.core.Symbol(null,"conform-keys","conform-keys",-159510287,null),new cljs.core.Symbol(null,"kind-form","kind-form",1155997457,null),new cljs.core.Symbol(null,"addcv","addcv",-1552991247,null),new cljs.core.Symbol(null,"cfns","cfns",1335482066,null),new cljs.core.Symbol(null,"describe-form","describe-form",-1410156588,null),new cljs.core.Symbol(null,"distinct","distinct",-148347594,null),new cljs.core.Symbol(null,"map__45403",
"map__45403",1258132406,null),new cljs.core.Symbol(null,"spec","spec",1988051928,null),new cljs.core.Symbol(null,"kfn","kfn",729311001,null),new cljs.core.Symbol(null,"gen-into","gen-into",592640985,null),new cljs.core.Symbol(null,"count","count",-514511684,null),new cljs.core.Symbol(null,"min-count","min-count",-1059726756,null),new cljs.core.Symbol(null,"opts","opts",1795607228,null),new cljs.core.Symbol(null,"kind","kind",923265724,null),new cljs.core.Symbol(null,"conform-all","conform-all",-980179459,
null),new cljs.core.Symbol(null,"p__45402","p__45402",-693212034,null),new cljs.core.Symbol(null,"conform-into","conform-into",-1039113729,null),new cljs.core.Symbol(null,"meta45406","meta45406",-753435288,null)],null)}}(q,w,x,y,z,A,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.t_cljs$spec$alpha45405.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha45405.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha45405",cljs.spec.alpha.t_cljs$spec$alpha45405.cljs$lang$ctorPrWriter=function(a,b,c,d,e,
f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.spec.alpha/t_cljs$spec$alpha45405")}}(q,w,x,y,z,A,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v),cljs.spec.alpha.__GT_t_cljs$spec$alpha45405=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,A,B,C){return new cljs.spec.alpha.t_cljs$spec$alpha45405(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,A,B,C)}}(q,w,x,y,z,A,c,e,e,f,g,h,k,l,m,n,p,q,r,u,t,v));return new cljs.spec.alpha.t_cljs$spec$alpha45405(a,
f,x,d,h,b,k,l,g,z,A,m,n,e,w,y,q,r,u,e,t,v,c,q,cljs.core.PersistentArrayMap.EMPTY)};cljs.spec.alpha.every_impl.cljs$lang$maxFixedArity=4;cljs.spec.alpha.accept=function(a){return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252),new cljs.core.Keyword("cljs.spec.alpha","accept","cljs.spec.alpha/accept",370988198),new cljs.core.Keyword(null,"ret","ret",-468222814),a],null)};
cljs.spec.alpha.accept_QMARK_=function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252));return cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","accept","cljs.spec.alpha/accept",370988198),a)};
cljs.spec.alpha.pcat_STAR_=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"ps","ps",292358046));a=cljs.core.seq.call(null,c);var d=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);var e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"ks","ks",1900203942)),f=cljs.core.seq.call(null,e),g=cljs.core.first.call(null,
f),f=cljs.core.next.call(null,f),h=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"forms","forms",2045992350)),k=cljs.core.seq.call(null,h);cljs.core.first.call(null,k);var k=cljs.core.next.call(null,k),l=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"ret","ret",-468222814)),b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"rep+","rep+",-281382396));return cljs.core.every_QMARK_.call(null,cljs.core.identity,c)?cljs.core.truth_(cljs.spec.alpha.accept_QMARK_.call(null,d))?(c=(new cljs.core.Keyword(null,
"ret","ret",-468222814)).cljs$core$IFn$_invoke$arity$1(d),c=cljs.core.conj.call(null,l,cljs.core.truth_(e)?cljs.core.PersistentArrayMap.createAsIfByAssoc([g,c]):c),a?cljs.spec.alpha.pcat_STAR_.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"ps","ps",292358046),a,new cljs.core.Keyword(null,"ks","ks",1900203942),f,new cljs.core.Keyword(null,"forms","forms",2045992350),k,new cljs.core.Keyword(null,"ret","ret",-468222814),c],null)):cljs.spec.alpha.accept.call(null,c)):new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252),new cljs.core.Keyword("cljs.spec.alpha","pcat","cljs.spec.alpha/pcat",26406623),new cljs.core.Keyword(null,"ps","ps",292358046),c,new cljs.core.Keyword(null,"ret","ret",-468222814),l,new cljs.core.Keyword(null,"ks","ks",1900203942),e,new cljs.core.Keyword(null,"forms","forms",2045992350),h,new cljs.core.Keyword(null,"rep+","rep+",-281382396),b],null):null};
cljs.spec.alpha.pcat=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.alpha.pcat.cljs$core$IFn$_invoke$arity$variadic(b)};
cljs.spec.alpha.pcat.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.spec.alpha.pcat_STAR_.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"ps","ps",292358046),a,new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.PersistentVector.EMPTY],null))};cljs.spec.alpha.pcat.cljs$lang$maxFixedArity=0;cljs.spec.alpha.pcat.cljs$lang$applyTo=function(a){return cljs.spec.alpha.pcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};
cljs.spec.alpha.cat_impl=function(a,b,c){return cljs.spec.alpha.pcat_STAR_.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"ks","ks",1900203942),a,new cljs.core.Keyword(null,"ps","ps",292358046),b,new cljs.core.Keyword(null,"forms","forms",2045992350),c,new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.PersistentArrayMap.EMPTY],null))};
cljs.spec.alpha.rep_STAR_=function(a,b,c,d,e){return cljs.core.truth_(a)?(d=new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252),new cljs.core.Keyword("cljs.spec.alpha","rep","cljs.spec.alpha/rep",1483217317),new cljs.core.Keyword(null,"p2","p2",905500641),b,new cljs.core.Keyword(null,"splice","splice",449588165),d,new cljs.core.Keyword(null,"forms","forms",2045992350),e,new cljs.core.Keyword(null,"id","id",-1388402092),cljs.core.random_uuid.call(null)],
null),cljs.core.truth_(cljs.spec.alpha.accept_QMARK_.call(null,a))?cljs.core.assoc.call(null,d,new cljs.core.Keyword(null,"p1","p1",-936759954),b,new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.conj.call(null,c,(new cljs.core.Keyword(null,"ret","ret",-468222814)).cljs$core$IFn$_invoke$arity$1(a))):cljs.core.assoc.call(null,d,new cljs.core.Keyword(null,"p1","p1",-936759954),a,new cljs.core.Keyword(null,"ret","ret",-468222814),c)):null};
cljs.spec.alpha.rep_impl=function(a,b){return cljs.spec.alpha.rep_STAR_.call(null,b,b,cljs.core.PersistentVector.EMPTY,!1,a)};
cljs.spec.alpha.rep_PLUS_impl=function(a,b){return cljs.spec.alpha.pcat_STAR_.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"ps","ps",292358046),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,cljs.spec.alpha.rep_STAR_.call(null,b,b,cljs.core.PersistentVector.EMPTY,!0,a)],null),new cljs.core.Keyword(null,"forms","forms",2045992350),cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,
cljs.core._conj.call(null,cljs.core.List.EMPTY,a),function(){var b=cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,a))));return cljs.core._conj.call(null,cljs.core.List.EMPTY,b)}())))),new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,
"rep+","rep+",-281382396),a],null))};cljs.spec.alpha.amp_impl=function(a,b,c){return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252),new cljs.core.Keyword("cljs.spec.alpha","amp","cljs.spec.alpha/amp",831147508),new cljs.core.Keyword(null,"p1","p1",-936759954),a,new cljs.core.Keyword(null,"ps","ps",292358046),b,new cljs.core.Keyword(null,"forms","forms",2045992350),c],null)};
cljs.spec.alpha.filter_alt=function(a,b,c,d){return cljs.core.truth_(cljs.core.truth_(b)?b:c)?(a=cljs.core.filter.call(null,function(a){return d.call(null,cljs.core.first.call(null,a))},cljs.core.map.call(null,cljs.core.vector,a,function(){var a=cljs.core.seq.call(null,b);return a?a:cljs.core.repeat.call(null,null)}(),function(){var a=cljs.core.seq.call(null,c);return a?a:cljs.core.repeat.call(null,null)}())),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.seq.call(null,
cljs.core.map.call(null,cljs.core.first,a)),cljs.core.truth_(b)?cljs.core.seq.call(null,cljs.core.map.call(null,cljs.core.second,a)):null,cljs.core.truth_(c)?cljs.core.seq.call(null,cljs.core.map.call(null,function(a){return function(a){return cljs.core.nth.call(null,a,2)}}(a),a)):null],null)):new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.seq.call(null,cljs.core.filter.call(null,d,a)),b,c],null)};
cljs.spec.alpha.alt_STAR_=function(a,b,c){var d=cljs.spec.alpha.filter_alt.call(null,a,b,c,cljs.core.identity);b=cljs.core.nth.call(null,d,0,null);c=cljs.core.seq.call(null,b);a=cljs.core.first.call(null,c);c=cljs.core.next.call(null,c);var e=cljs.core.nth.call(null,d,1,null),f=cljs.core.nth.call(null,e,0,null),d=cljs.core.nth.call(null,d,2,null);return cljs.core.truth_(b)?(b=new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252),new cljs.core.Keyword("cljs.spec.alpha",
"alt","cljs.spec.alpha/alt",523685437),new cljs.core.Keyword(null,"ps","ps",292358046),b,new cljs.core.Keyword(null,"ks","ks",1900203942),e,new cljs.core.Keyword(null,"forms","forms",2045992350),d],null),null==c?cljs.core.truth_(f)?cljs.core.truth_(cljs.spec.alpha.accept_QMARK_.call(null,a))?cljs.spec.alpha.accept.call(null,cljs.spec.alpha.tagged_ret.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[f,(new cljs.core.Keyword(null,"ret","ret",-468222814)).cljs$core$IFn$_invoke$arity$1(a)],
null))):b:a:b):null};cljs.spec.alpha.alts=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=0<b.length?new cljs.core.IndexedSeq(b.slice(0),0,null):null;return cljs.spec.alpha.alts.cljs$core$IFn$_invoke$arity$variadic(b)};cljs.spec.alpha.alts.cljs$core$IFn$_invoke$arity$variadic=function(a){return cljs.spec.alpha.alt_STAR_.call(null,a,null,null)};cljs.spec.alpha.alts.cljs$lang$maxFixedArity=0;
cljs.spec.alpha.alts.cljs$lang$applyTo=function(a){return cljs.spec.alpha.alts.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,a))};cljs.spec.alpha.alt2=function(a,b){return cljs.core.truth_(cljs.core.truth_(a)?b:a)?cljs.spec.alpha.alts.call(null,a,b):cljs.core.truth_(a)?a:b};cljs.spec.alpha.alt_impl=function(a,b,c){return cljs.core.assoc.call(null,cljs.spec.alpha.alt_STAR_.call(null,b,a,c),new cljs.core.Keyword(null,"id","id",-1388402092),cljs.core.random_uuid.call(null))};
cljs.spec.alpha.maybe_impl=function(a,b){return cljs.core.assoc.call(null,cljs.spec.alpha.alt_STAR_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,cljs.spec.alpha.accept.call(null,new cljs.core.Keyword("cljs.spec.alpha","nil","cljs.spec.alpha/nil",1733813950))],null),null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,new cljs.core.Keyword("cljs.spec.alpha","nil","cljs.spec.alpha/nil",1733813950)],null)),new cljs.core.Keyword(null,
"maybe","maybe",-314397560),b)};
cljs.spec.alpha.noret_QMARK_=function(a,b){var c=cljs.core._EQ_.call(null,b,new cljs.core.Keyword("cljs.spec.alpha","nil","cljs.spec.alpha/nil",1733813950));if(c)return c;c=(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword("cljs.spec.alpha","rep","cljs.spec.alpha/rep",1483217317),null,new cljs.core.Keyword("cljs.spec.alpha","pcat","cljs.spec.alpha/pcat",26406623),null],null),null)).call(null,(new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",
-1269055252)).cljs$core$IFn$_invoke$arity$1(cljs.spec.alpha.reg_resolve_BANG_.call(null,a)));c=cljs.core.truth_(c)?cljs.core.empty_QMARK_.call(null,b):c;return cljs.core.truth_(c)?c:null};
cljs.spec.alpha.accept_nil_QMARK_=function(a){a=cljs.spec.alpha.reg_resolve_BANG_.call(null,a);var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;var c=cljs.core.get.call(null,b,new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252));a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"ps","ps",292358046));var d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"p1",
"p1",-936759954)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"p2","p2",905500641)),b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"forms","forms",2045992350));if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","accept","cljs.spec.alpha/accept",370988198),c))return!0;if(cljs.core._EQ_.call(null,null,c))return null;if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","amp","cljs.spec.alpha/amp",831147508),c)){c=cljs.spec.alpha.accept_nil_QMARK_.call(null,
d);if(cljs.core.truth_(c)){c=cljs.spec.alpha.noret_QMARK_.call(null,d,cljs.spec.alpha.preturn.call(null,d));if(cljs.core.truth_(c))return c;a=cljs.spec.alpha.and_preds.call(null,cljs.spec.alpha.preturn.call(null,d),a,cljs.core.next.call(null,b));return cljs.core.not.call(null,cljs.spec.alpha.invalid_QMARK_.call(null,a))}return c}if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","rep","cljs.spec.alpha/rep",1483217317),c))return(c=d===e)?c:cljs.spec.alpha.accept_nil_QMARK_.call(null,
d);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","pcat","cljs.spec.alpha/pcat",26406623),c))return cljs.core.every_QMARK_.call(null,cljs.spec.alpha.accept_nil_QMARK_,a);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","alt","cljs.spec.alpha/alt",523685437),c))return cljs.core.some.call(null,cljs.spec.alpha.accept_nil_QMARK_,a);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(""));
};
cljs.spec.alpha.preturn=function(a){a=cljs.spec.alpha.reg_resolve_BANG_.call(null,a);var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"ps","ps",292358046));var c=cljs.core.seq.call(null,a),d=cljs.core.first.call(null,c);cljs.core.next.call(null,c);var e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"ks","ks",1900203942)),f=cljs.core.nth.call(null,e,
0,null),g=cljs.core.get.call(null,b,new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252)),c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"p1","p1",-936759954)),h=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"ret","ret",-468222814)),b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"forms","forms",2045992350));if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","accept","cljs.spec.alpha/accept",370988198),g))return h;if(cljs.core._EQ_.call(null,
null,g))return null;if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","amp","cljs.spec.alpha/amp",831147508),g))return d=cljs.spec.alpha.preturn.call(null,c),cljs.core.truth_(cljs.spec.alpha.noret_QMARK_.call(null,c,d))?new cljs.core.Keyword("cljs.spec.alpha","nil","cljs.spec.alpha/nil",1733813950):cljs.spec.alpha.and_preds.call(null,d,a,b);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","rep","cljs.spec.alpha/rep",1483217317),g))return cljs.spec.alpha.add_ret.call(null,
c,h,f);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","pcat","cljs.spec.alpha/pcat",26406623),g))return cljs.spec.alpha.add_ret.call(null,d,h,f);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","alt","cljs.spec.alpha/alt",523685437),g))return d=cljs.spec.alpha.filter_alt.call(null,a,e,b,cljs.spec.alpha.accept_nil_QMARK_),a=cljs.core.nth.call(null,d,0,null),a=cljs.core.nth.call(null,a,0,null),d=cljs.core.nth.call(null,d,1,null),d=cljs.core.nth.call(null,d,0,
null),a=null==a?new cljs.core.Keyword("cljs.spec.alpha","nil","cljs.spec.alpha/nil",1733813950):cljs.spec.alpha.preturn.call(null,a),cljs.core.truth_(d)?cljs.spec.alpha.tagged_ret.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[d,a],null)):a;throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(g)].join(""));};
cljs.spec.alpha.op_unform=function(a,b){var c=cljs.spec.alpha.reg_resolve_BANG_.call(null,a),d=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"ps","ps",292358046)),f=cljs.core.seq.call(null,e),g=cljs.core.first.call(null,f),h=cljs.core.next.call(null,f),k=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"ks","ks",1900203942)),l=cljs.core.nth.call(null,
k,0,null),m=cljs.core.get.call(null,d,new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252)),n=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"p1","p1",-936759954)),p=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"ret","ret",-468222814)),q=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"forms","forms",2045992350)),r=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"rep+","rep+",-281382396)),u=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"maybe",
"maybe",-314397560)),t=cljs.core.zipmap.call(null,k,e);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","accept","cljs.spec.alpha/accept",370988198),m))return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[p],null);if(cljs.core._EQ_.call(null,null,m))return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.alpha.unform.call(null,d,b)],null);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha",
"amp","cljs.spec.alpha/amp",831147508),m))return t=cljs.core.reduce.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H,P,O,N){return function(a,b){return cljs.spec.alpha.unform.call(null,b,a)}}(m,c,d,d,e,f,g,h,g,h,e,k,l,k,m,n,p,q,r,u,t),b,cljs.core.reverse.call(null,e)),cljs.spec.alpha.op_unform.call(null,n,t);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","rep","cljs.spec.alpha/rep",1483217317),m))return cljs.core.mapcat.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,
t,H,P,O,N){return function(a){return cljs.spec.alpha.op_unform.call(null,u,a)}}(m,c,d,d,e,f,g,h,g,h,e,k,l,k,m,n,p,q,r,u,t),b);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","pcat","cljs.spec.alpha/pcat",26406623),m))return cljs.core.truth_(r)?cljs.core.mapcat.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,H,P,O,N){return function(a){return cljs.spec.alpha.op_unform.call(null,k,a)}}(m,c,d,d,e,f,g,h,g,h,e,k,l,k,m,n,p,q,r,u,t),b):cljs.core.mapcat.call(null,function(a,c,d,e,
f,g,h,k,l,m,n,p,q,r,u,t,I,H,P,O,N){return function(a){return cljs.core.contains_QMARK_.call(null,b,a)?cljs.spec.alpha.op_unform.call(null,N.call(null,a),cljs.core.get.call(null,b,a)):null}}(m,c,d,d,e,f,g,h,g,h,e,k,l,k,m,n,p,q,r,u,t),k);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","alt","cljs.spec.alpha/alt",523685437),m)){if(cljs.core.truth_(u))return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.alpha.unform.call(null,g,b)],null);
n=cljs.core.nth.call(null,b,0,null);c=cljs.core.nth.call(null,b,1,null);return cljs.spec.alpha.op_unform.call(null,t.call(null,n),c)}throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(""));};
cljs.spec.alpha.add_ret=function(a,b,c){var d=cljs.spec.alpha.reg_resolve_BANG_.call(null,a);a=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,d):d;var e=cljs.core.get.call(null,a,new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252)),f=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"ps","ps",292358046)),g=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"splice","splice",
449588165)),d=function(a,d,e,f,g,p){return function(){var a=cljs.spec.alpha.preturn.call(null,e);return cljs.core.empty_QMARK_.call(null,a)?b:(cljs.core.truth_(p)?cljs.core.into:cljs.core.conj).call(null,b,cljs.core.truth_(c)?cljs.core.PersistentArrayMap.createAsIfByAssoc([c,a]):a)}}(d,a,a,e,f,g);if(cljs.core._EQ_.call(null,null,e))return b;if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","alt","cljs.spec.alpha/alt",523685437),e)||cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha",
"accept","cljs.spec.alpha/accept",370988198),e)||cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","amp","cljs.spec.alpha/amp",831147508),e))return a=cljs.spec.alpha.preturn.call(null,a),cljs.core._EQ_.call(null,a,new cljs.core.Keyword("cljs.spec.alpha","nil","cljs.spec.alpha/nil",1733813950))?b:cljs.core.conj.call(null,b,cljs.core.truth_(c)?cljs.core.PersistentArrayMap.createAsIfByAssoc([c,a]):a);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","rep","cljs.spec.alpha/rep",
1483217317),e)||cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","pcat","cljs.spec.alpha/pcat",26406623),e))return d.call(null);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)].join(""));};
cljs.spec.alpha.deriv=function(a,b){var c=cljs.spec.alpha.reg_resolve_BANG_.call(null,a),d=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;var e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"ps","ps",292358046));var f=cljs.core.seq.call(null,e),g=cljs.core.first.call(null,f),h=cljs.core.next.call(null,f),k=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"ks","ks",1900203942)),l=cljs.core.seq.call(null,
k),m=cljs.core.first.call(null,l),n=cljs.core.next.call(null,l),p=cljs.core.get.call(null,d,new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252)),q=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"p1","p1",-936759954)),r=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"p2","p2",905500641)),u=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"ret","ret",-468222814)),t=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"splice","splice",449588165)),v=cljs.core.get.call(null,
d,new cljs.core.Keyword(null,"forms","forms",2045992350));if(cljs.core.truth_(d)){if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","accept","cljs.spec.alpha/accept",370988198),p))return null;if(cljs.core._EQ_.call(null,null,p))return e=cljs.spec.alpha.dt.call(null,d,b,d),cljs.core.truth_(cljs.spec.alpha.invalid_QMARK_.call(null,e))?null:cljs.spec.alpha.accept.call(null,e);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","amp","cljs.spec.alpha/amp",831147508),
p))return c=cljs.spec.alpha.deriv.call(null,q,b),cljs.core.truth_(c)?cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","accept","cljs.spec.alpha/accept",370988198),(new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252)).cljs$core$IFn$_invoke$arity$1(c))?(e=cljs.spec.alpha.and_preds.call(null,cljs.spec.alpha.preturn.call(null,c),e,cljs.core.next.call(null,v)),cljs.core.truth_(cljs.spec.alpha.invalid_QMARK_.call(null,e))?null:cljs.spec.alpha.accept.call(null,
e)):cljs.spec.alpha.amp_impl.call(null,c,e,v):null;if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","pcat","cljs.spec.alpha/pcat",26406623),p))return cljs.spec.alpha.alt2.call(null,cljs.spec.alpha.pcat_STAR_.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"ps","ps",292358046),cljs.core.cons.call(null,cljs.spec.alpha.deriv.call(null,g,b),h),new cljs.core.Keyword(null,"ks","ks",1900203942),k,new cljs.core.Keyword(null,"forms","forms",2045992350),v,new cljs.core.Keyword(null,
"ret","ret",-468222814),u],null)),cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_.call(null,g))?cljs.spec.alpha.deriv.call(null,cljs.spec.alpha.pcat_STAR_.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"ps","ps",292358046),h,new cljs.core.Keyword(null,"ks","ks",1900203942),n,new cljs.core.Keyword(null,"forms","forms",2045992350),cljs.core.next.call(null,v),new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.spec.alpha.add_ret.call(null,g,u,m)],null)),b):null);
if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","alt","cljs.spec.alpha/alt",523685437),p))return cljs.spec.alpha.alt_STAR_.call(null,cljs.core.map.call(null,function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,P,O,N,Q,S,V,T){return function(a){return cljs.spec.alpha.deriv.call(null,a,b)}}(p,c,d,d,e,f,g,h,g,h,e,k,l,m,n,m,n,k,p,q,r,u,t,v),e),k,v);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","rep","cljs.spec.alpha/rep",1483217317),p))return cljs.spec.alpha.alt2.call(null,
cljs.spec.alpha.rep_STAR_.call(null,cljs.spec.alpha.deriv.call(null,q,b),r,u,t,v),cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_.call(null,q))?cljs.spec.alpha.deriv.call(null,cljs.spec.alpha.rep_STAR_.call(null,r,r,cljs.spec.alpha.add_ret.call(null,q,u,null),t,v),b):null);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(p)].join(""));}return null};
cljs.spec.alpha.op_describe=function(a){a=cljs.spec.alpha.reg_resolve_BANG_.call(null,a);var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252));cljs.core.get.call(null,b,new cljs.core.Keyword(null,"ps","ps",292358046));var d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"ks","ks",1900203942));
a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"forms","forms",2045992350));var e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"splice","splice",449588165)),f=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"p1","p1",-936759954)),g=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"rep+","rep+",-281382396)),h=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"maybe","maybe",-314397560));if(cljs.core.truth_(b)){if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha",
"accept","cljs.spec.alpha/accept",370988198),c))return null;if(cljs.core._EQ_.call(null,null,c))return b;if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","amp","cljs.spec.alpha/amp",831147508),c))return cljs.core.list_STAR_.call(null,new cljs.core.Symbol("clojure.spec.alpha","\x26","clojure.spec.alpha/\x26",704695533,null),cljs.spec.alpha.op_describe.call(null,f),a);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","pcat","cljs.spec.alpha/pcat",26406623),c))return cljs.core.truth_(g)?
cljs.core._conj.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,g),new cljs.core.Symbol("cljs.spec.alpha","+","cljs.spec.alpha/+",2101263265,null)):cljs.core.cons.call(null,new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),cljs.core.mapcat.call(null,cljs.core.vector,function(){var a=cljs.core.seq.call(null,d);return a?a:cljs.core.repeat.call(null,new cljs.core.Keyword(null,"_","_",1453416199))}(),a));if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha",
"alt","cljs.spec.alpha/alt",523685437),c))return cljs.core.truth_(h)?cljs.core._conj.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,h),new cljs.core.Symbol("cljs.spec.alpha","?","cljs.spec.alpha/?",1605136319,null)):cljs.core.cons.call(null,new cljs.core.Symbol("cljs.spec.alpha","alt","cljs.spec.alpha/alt",-2130750332,null),cljs.core.mapcat.call(null,cljs.core.vector,d,a));if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","rep","cljs.spec.alpha/rep",1483217317),c))return b=
cljs.core.truth_(e)?new cljs.core.Symbol("cljs.spec.alpha","+","cljs.spec.alpha/+",2101263265,null):new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),cljs.core._conj.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,a),b);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(""));}return null};
cljs.spec.alpha.op_explain=function(a,b,c,d,e,f){var g=cljs.core.nth.call(null,f,0,null),h=cljs.spec.alpha.reg_resolve_BANG_.call(null,b),k=null!=h&&(h.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===h.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,h):h,l=cljs.core.get.call(null,k,new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252)),m=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"ps","ps",292358046)),n=cljs.core.get.call(null,
k,new cljs.core.Keyword(null,"ks","ks",1900203942)),p=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"forms","forms",2045992350)),q=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"splice","splice",449588165)),r=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"p1","p1",-936759954)),u=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"p2","p2",905500641));b=function(){var a=cljs.spec.alpha.spec_name.call(null,k);return cljs.core.truth_(a)?cljs.core.conj.call(null,d,a):d}();var t=
function(a,b,c,d,f,g,h,k,l,m,n,p,q,r){return function(a,b){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"path","path",-188191168),a,new cljs.core.Keyword(null,"reason","reason",-2070751759),"Insufficient input",new cljs.core.Keyword(null,"pred","pred",1927423397),b,new cljs.core.Keyword(null,"val","val",128701612),cljs.core.List.EMPTY,new cljs.core.Keyword(null,"via","via",-1904457336),r,new cljs.core.Keyword(null,
"in","in",-1531184865),e],null)],null)}}(f,g,f,h,k,k,l,m,n,p,q,r,u,b);if(cljs.core.truth_(k)){if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","accept","cljs.spec.alpha/accept",370988198),l))return null;if(cljs.core._EQ_.call(null,null,l))return cljs.core.empty_QMARK_.call(null,f)?t.call(null,c,a):cljs.spec.alpha.explain_1.call(null,a,k,c,b,e,g);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","amp","cljs.spec.alpha/amp",831147508),l)){if(cljs.core.empty_QMARK_.call(null,
f))return cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_.call(null,r))?cljs.spec.alpha.explain_pred_list.call(null,p,m,c,b,e,cljs.spec.alpha.preturn.call(null,r)):t.call(null,c,cljs.spec.alpha.op_describe.call(null,r));t=cljs.spec.alpha.deriv.call(null,r,g);return cljs.core.truth_(t)?cljs.spec.alpha.explain_pred_list.call(null,p,m,c,b,e,cljs.spec.alpha.preturn.call(null,t)):cljs.spec.alpha.op_explain.call(null,cljs.spec.alpha.op_describe.call(null,r),r,c,b,e,f)}if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha",
"pcat","cljs.spec.alpha/pcat",26406623),l))return a=cljs.core.map.call(null,cljs.core.vector,m,function(){var a=cljs.core.seq.call(null,n);return a?a:cljs.core.repeat.call(null,null)}(),function(){var a=cljs.core.seq.call(null,p);return a?a:cljs.core.repeat.call(null,null)}()),r=cljs.core._EQ_.call(null,1,cljs.core.count.call(null,a))?cljs.core.first.call(null,a):cljs.core.first.call(null,cljs.core.remove.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){return function(a){a=cljs.core.nth.call(null,
a,0,null);return cljs.spec.alpha.accept_nil_QMARK_.call(null,a)}}(a,l,f,g,f,h,k,k,l,m,n,p,q,r,u,b,t),a)),g=cljs.core.nth.call(null,r,0,null),m=cljs.core.nth.call(null,r,1,null),r=cljs.core.nth.call(null,r,2,null),m=cljs.core.truth_(m)?cljs.core.conj.call(null,c,m):c,r=cljs.core.truth_(r)?r:cljs.spec.alpha.op_describe.call(null,g),cljs.core.empty_QMARK_.call(null,f)&&cljs.core.not.call(null,g)?t.call(null,m,r):cljs.spec.alpha.op_explain.call(null,r,g,m,b,e,f);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha",
"alt","cljs.spec.alpha/alt",523685437),l))return cljs.core.empty_QMARK_.call(null,f)?t.call(null,c,cljs.spec.alpha.op_describe.call(null,k)):cljs.core.apply.call(null,cljs.core.concat,cljs.core.map.call(null,function(a,b,d,f,g,h,k,l,m,n,p,q,r,u,t,M){return function(a,b,d){return cljs.spec.alpha.op_explain.call(null,cljs.core.truth_(b)?b:cljs.spec.alpha.op_describe.call(null,d),d,cljs.core.truth_(a)?cljs.core.conj.call(null,c,a):c,t,e,f)}}(l,f,g,f,h,k,k,l,m,n,p,q,r,u,b,t),function(){var a=cljs.core.seq.call(null,
n);return a?a:cljs.core.repeat.call(null,null)}(),function(){var a=cljs.core.seq.call(null,p);return a?a:cljs.core.repeat.call(null,null)}(),m));if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","rep","cljs.spec.alpha/rep",1483217317),l))return cljs.spec.alpha.op_explain.call(null,r===u?p:cljs.spec.alpha.op_describe.call(null,r),r,c,b,e,f);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(l)].join(""));}return null};
cljs.spec.alpha.re_gen=function(a,b,c,d,e){a=cljs.spec.alpha.reg_resolve_BANG_.call(null,a);var f=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"ps","ps",292358046)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"forms","forms",2045992350)),k=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"p2","p2",905500641)),l=cljs.core.get.call(null,
f,new cljs.core.Keyword(null,"ret","ret",-468222814)),m=cljs.core.get.call(null,f,new cljs.core.Keyword("cljs.spec.alpha","gfn","cljs.spec.alpha/gfn",-593120375)),n=cljs.core.get.call(null,f,new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252)),p=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"splice","splice",449588165)),q=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"ks","ks",1900203942)),r=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"p1","p1",-936759954)),
u=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"id","id",-1388402092));d=cljs.core.truth_(u)?cljs.spec.alpha.inck.call(null,d,u):d;var t=function(a,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(t,v,w){var x=function(a,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(t,v,w){return cljs.core.truth_(cljs.core.truth_(u)?cljs.core.truth_(r)?cljs.core.truth_(v)?cljs.spec.alpha.recur_limit_QMARK_.call(null,u,r,c,v):v:r:u)?null:cljs.core.truth_(r)?cljs.spec.gen.alpha.delay_impl.call(null,new cljs.core.Delay(function(a,
d,e,f,g,h,k,l,m,n,p,q,r,u){return function(){return cljs.spec.alpha.re_gen.call(null,t,b,cljs.core.truth_(v)?cljs.core.conj.call(null,c,v):c,u,cljs.core.truth_(w)?w:t)}}(a,d,e,f,g,h,k,l,m,n,p,q,r,u),null)):cljs.spec.alpha.re_gen.call(null,t,b,cljs.core.truth_(v)?cljs.core.conj.call(null,c,v):c,u,cljs.core.truth_(w)?w:t)}}(a,d,e,f,g,h,k,l,m,n,p,q,r,u);return cljs.core.map.call(null,x,t,function(){var a=cljs.core.seq.call(null,v);return a?a:cljs.core.repeat.call(null,null)}(),function(){var a=cljs.core.seq.call(null,
w);return a?a:cljs.core.repeat.call(null,null)}())}}(a,f,f,g,h,k,l,m,n,p,q,r,u,d),v=function(){var a=cljs.core.get.call(null,b,c);return cljs.core.truth_(a)?cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"accept","accept",1874130431),n)?cljs.spec.gen.alpha.fmap.call(null,cljs.core.vector,a):cljs.core._EQ_.call(null,null,n)?cljs.spec.gen.alpha.fmap.call(null,cljs.core.vector,a):a:null}();if(cljs.core.truth_(v))return v;var w=cljs.core.truth_(m)?m.call(null):null;if(cljs.core.truth_(w))return w;
if(cljs.core.truth_(f)){if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","accept","cljs.spec.alpha/accept",370988198),n))return cljs.core._EQ_.call(null,l,new cljs.core.Keyword("cljs.spec.alpha","nil","cljs.spec.alpha/nil",1733813950))?cljs.spec.gen.alpha.return$.call(null,cljs.core.PersistentVector.EMPTY):cljs.spec.gen.alpha.return$.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[l],null));if(cljs.core._EQ_.call(null,null,n)){var x=cljs.spec.alpha.gensub.call(null,
f,b,c,d,e);return cljs.core.truth_(x)?cljs.spec.gen.alpha.fmap.call(null,cljs.core.vector,x):null}if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","amp","cljs.spec.alpha/amp",831147508),n))return cljs.spec.alpha.re_gen.call(null,r,b,c,d,cljs.spec.alpha.op_describe.call(null,r));if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","pcat","cljs.spec.alpha/pcat",26406623),n))return a=t.call(null,g,q,h),cljs.core.every_QMARK_.call(null,cljs.core.identity,a)?cljs.core.apply.call(null,
cljs.spec.gen.alpha.cat,a):null;if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","alt","cljs.spec.alpha/alt",523685437),n))return a=cljs.core.remove.call(null,cljs.core.nil_QMARK_,t.call(null,g,q,h)),cljs.core.empty_QMARK_.call(null,a)?null:cljs.spec.gen.alpha.one_of.call(null,a);if(cljs.core._EQ_.call(null,new cljs.core.Keyword("cljs.spec.alpha","rep","cljs.spec.alpha/rep",1483217317),n)){if(cljs.core.truth_(cljs.spec.alpha.recur_limit_QMARK_.call(null,d,u,new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[u],null),u)))return cljs.spec.gen.alpha.return$.call(null,cljs.core.PersistentVector.EMPTY);x=cljs.spec.alpha.re_gen.call(null,k,b,c,d,h);return cljs.core.truth_(x)?(e=x,cljs.spec.gen.alpha.fmap.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x){return function(a){return cljs.core.apply.call(null,cljs.core.concat,a)}}(e,x,n,w,v,a,f,f,g,h,k,l,m,n,p,q,r,u,d,t),cljs.spec.gen.alpha.vector.call(null,e))):null}throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(n)].join(""));}return null};
cljs.spec.alpha.re_conform=function(a,b){for(;;){var c=b,d=cljs.core.seq.call(null,c),e=cljs.core.first.call(null,d),d=cljs.core.next.call(null,d);if(cljs.core.empty_QMARK_.call(null,c))return cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_.call(null,a))?(c=cljs.spec.alpha.preturn.call(null,a),cljs.core._EQ_.call(null,c,new cljs.core.Keyword("cljs.spec.alpha","nil","cljs.spec.alpha/nil",1733813950))?null:c):new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119);
c=cljs.spec.alpha.deriv.call(null,a,e);if(cljs.core.truth_(c))e=d,a=c,b=e;else return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119)}};
cljs.spec.alpha.re_explain=function(a,b,c,d,e){var f=cljs.core.seq.call(null,e);cljs.core.first.call(null,f);cljs.core.next.call(null,f);var f=d,g=e;for(e=0;;){var h=cljs.core.seq.call(null,g),k=cljs.core.first.call(null,h),h=cljs.core.next.call(null,h);if(cljs.core.empty_QMARK_.call(null,g))return cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_.call(null,f))?null:cljs.spec.alpha.op_explain.call(null,cljs.spec.alpha.op_describe.call(null,f),f,a,b,c,null);k=cljs.spec.alpha.deriv.call(null,f,k);
if(cljs.core.truth_(k))g=h,e+=1,f=k;else{if(cljs.core.truth_(cljs.spec.alpha.accept_QMARK_.call(null,f)))return cljs.core._EQ_.call(null,(new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252)).cljs$core$IFn$_invoke$arity$1(f),new cljs.core.Keyword("cljs.spec.alpha","pcat","cljs.spec.alpha/pcat",26406623))?cljs.spec.alpha.op_explain.call(null,cljs.spec.alpha.op_describe.call(null,f),f,a,b,cljs.core.conj.call(null,c,e),cljs.core.seq.call(null,g)):new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"path","path",-188191168),a,new cljs.core.Keyword(null,"reason","reason",-2070751759),"Extra input",new cljs.core.Keyword(null,"pred","pred",1927423397),cljs.spec.alpha.op_describe.call(null,d),new cljs.core.Keyword(null,"val","val",128701612),g,new cljs.core.Keyword(null,"via","via",-1904457336),b,new cljs.core.Keyword(null,"in","in",-1531184865),cljs.core.conj.call(null,c,e)],null)],null);
d=cljs.spec.alpha.op_explain.call(null,cljs.spec.alpha.op_describe.call(null,f),f,a,b,cljs.core.conj.call(null,c,e),cljs.core.seq.call(null,g));return cljs.core.truth_(d)?d:new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"path","path",-188191168),a,new cljs.core.Keyword(null,"reason","reason",-2070751759),"Extra input",new cljs.core.Keyword(null,"pred","pred",1927423397),cljs.spec.alpha.op_describe.call(null,
f),new cljs.core.Keyword(null,"val","val",128701612),g,new cljs.core.Keyword(null,"via","via",-1904457336),b,new cljs.core.Keyword(null,"in","in",-1531184865),cljs.core.conj.call(null,c,e)],null)],null)}}};
cljs.spec.alpha.regex_spec_impl=function(a,b){"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha45686&&(cljs.spec.alpha.t_cljs$spec$alpha45686=function(a,b,e){this.re=a;this.gfn=b;this.meta45687=e;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.spec.alpha.t_cljs$spec$alpha45686.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha45686(this.re,this.gfn,b)},cljs.spec.alpha.t_cljs$spec$alpha45686.prototype.cljs$core$IMeta$_meta$arity$1=
function(a){return this.meta45687},cljs.spec.alpha.t_cljs$spec$alpha45686.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha45686.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a){return this},cljs.spec.alpha.t_cljs$spec$alpha45686.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a,b){return this},cljs.spec.alpha.t_cljs$spec$alpha45686.prototype.cljs$spec$alpha$Spec$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha45686.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=
function(a,b){return null==b||cljs.core.coll_QMARK_.call(null,b)?cljs.spec.alpha.re_conform.call(null,this.re,cljs.core.seq.call(null,b)):new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119)},cljs.spec.alpha.t_cljs$spec$alpha45686.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a,b){return cljs.spec.alpha.op_unform.call(null,this.re,b)},cljs.spec.alpha.t_cljs$spec$alpha45686.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a,b,e,f,g){return null==
g||cljs.core.coll_QMARK_.call(null,g)?cljs.spec.alpha.re_explain.call(null,b,e,f,this.re,cljs.core.seq.call(null,g)):new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"path","path",-188191168),b,new cljs.core.Keyword(null,"pred","pred",1927423397),cljs.spec.alpha.op_describe.call(null,this.re),new cljs.core.Keyword(null,"val","val",128701612),g,new cljs.core.Keyword(null,"via","via",-1904457336),e,new cljs.core.Keyword(null,
"in","in",-1531184865),f],null)],null)},cljs.spec.alpha.t_cljs$spec$alpha45686.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=function(a,b,e,f){return cljs.core.truth_(this.gfn)?this.gfn.call(null):cljs.spec.alpha.re_gen.call(null,this.re,b,e,f,cljs.spec.alpha.op_describe.call(null,this.re))},cljs.spec.alpha.t_cljs$spec$alpha45686.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=function(a,b){return cljs.spec.alpha.regex_spec_impl.call(null,this.re,b)},cljs.spec.alpha.t_cljs$spec$alpha45686.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=
function(a){return cljs.spec.alpha.op_describe.call(null,this.re)},cljs.spec.alpha.t_cljs$spec$alpha45686.getBasis=function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"re","re",1869207729,null),new cljs.core.Symbol(null,"gfn","gfn",-1862918295,null),new cljs.core.Symbol(null,"meta45687","meta45687",-700156159,null)],null)},cljs.spec.alpha.t_cljs$spec$alpha45686.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha45686.cljs$lang$ctorStr=
"cljs.spec.alpha/t_cljs$spec$alpha45686",cljs.spec.alpha.t_cljs$spec$alpha45686.cljs$lang$ctorPrWriter=function(a,b,e){return cljs.core._write.call(null,b,"cljs.spec.alpha/t_cljs$spec$alpha45686")},cljs.spec.alpha.__GT_t_cljs$spec$alpha45686=function(a,b,e){return new cljs.spec.alpha.t_cljs$spec$alpha45686(a,b,e)});return new cljs.spec.alpha.t_cljs$spec$alpha45686(a,b,cljs.core.PersistentArrayMap.EMPTY)};
cljs.spec.alpha.call_valid_QMARK_=function(a,b,c){var d=cljs.spec.alpha.conform.call(null,(new cljs.core.Keyword(null,"args","args",1315556576)).cljs$core$IFn$_invoke$arity$1(b),c);if(cljs.core.truth_(cljs.spec.alpha.invalid_QMARK_.call(null,d)))return null;a=cljs.core.apply.call(null,a,c);a=cljs.spec.alpha.conform.call(null,(new cljs.core.Keyword(null,"ret","ret",-468222814)).cljs$core$IFn$_invoke$arity$1(b),a);return(c=cljs.core.not.call(null,cljs.spec.alpha.invalid_QMARK_.call(null,a)))?cljs.core.truth_((new cljs.core.Keyword(null,
"fn","fn",-1175266204)).cljs$core$IFn$_invoke$arity$1(b))?cljs.spec.alpha.pvalid_QMARK_.call(null,(new cljs.core.Keyword(null,"fn","fn",-1175266204)).cljs$core$IFn$_invoke$arity$1(b),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"args","args",1315556576),d,new cljs.core.Keyword(null,"ret","ret",-468222814),a],null)):!0:c};
cljs.spec.alpha.validate_fn=function(a,b,c){var d=cljs.spec.alpha.gen.call(null,(new cljs.core.Keyword(null,"args","args",1315556576)).cljs$core$IFn$_invoke$arity$1(b)),d=cljs.spec.gen.alpha.for_all_STAR_.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[d],null),function(c){return function(c){return cljs.spec.alpha.call_valid_QMARK_.call(null,a,b,c)}}(d));c=cljs.spec.gen.alpha.quick_check.call(null,c,d);c=(new cljs.core.Keyword(null,"smallest","smallest",-152623883)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,
"shrunk","shrunk",-2041664412)).cljs$core$IFn$_invoke$arity$1(c));return cljs.core.truth_(c)?cljs.core.nth.call(null,c,0,null):a};
cljs.spec.alpha.fspec_impl=function(a,b,c,d,e,f,g){var h=new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"args","args",1315556576),a,new cljs.core.Keyword(null,"ret","ret",-468222814),c,new cljs.core.Keyword(null,"fn","fn",-1175266204),e],null);"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha45702&&(cljs.spec.alpha.t_cljs$spec$alpha45702=function(a,b,c,d,e,f,g,h,t){this.argspec=a;this.aform=b;this.retspec=c;this.rform=d;this.fnspec=e;this.fform=f;this.gfn=g;this.specs=h;
this.meta45703=t;this.cljs$lang$protocol_mask$partition0$=393472;this.cljs$lang$protocol_mask$partition1$=0},cljs.spec.alpha.t_cljs$spec$alpha45702.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a){return function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha45702(this.argspec,this.aform,this.retspec,this.rform,this.fnspec,this.fform,this.gfn,this.specs,b)}}(h),cljs.spec.alpha.t_cljs$spec$alpha45702.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta45703}}(h),
cljs.spec.alpha.t_cljs$spec$alpha45702.prototype.cljs$core$ILookup$_lookup$arity$2=function(a){return function(a,b){return cljs.core.get.call(null,this.specs,b)}}(h),cljs.spec.alpha.t_cljs$spec$alpha45702.prototype.cljs$core$ILookup$_lookup$arity$3=function(a){return function(a,b,c){return cljs.core.get.call(null,this.specs,b,c)}}(h),cljs.spec.alpha.t_cljs$spec$alpha45702.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha45702.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=
function(a){return function(a){return this}}(h),cljs.spec.alpha.t_cljs$spec$alpha45702.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a){return function(a,b){return this}}(h),cljs.spec.alpha.t_cljs$spec$alpha45702.prototype.cljs$spec$alpha$Spec$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha45702.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=function(a){return function(a,b){return cljs.core.ifn_QMARK_.call(null,b)?b===cljs.spec.alpha.validate_fn.call(null,b,
this.specs,cljs.spec.alpha._STAR_fspec_iterations_STAR_)?b:new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119):new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119)}}(h),cljs.spec.alpha.t_cljs$spec$alpha45702.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a){return function(a,b){return b}}(h),cljs.spec.alpha.t_cljs$spec$alpha45702.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a){return function(a,
b,c,d,e){if(cljs.core.ifn_QMARK_.call(null,e)){a=cljs.spec.alpha.validate_fn.call(null,e,this.specs,100);if(e===a)return null;try{var f=cljs.core.apply.call(null,e,a)}catch(u){if(u instanceof Error)f=u;else throw u;}if(f instanceof Error)return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"path","path",-188191168),b,new cljs.core.Keyword(null,"pred","pred",1927423397),cljs.core.list(new cljs.core.Symbol(null,
"apply","apply",-1334050276,null),new cljs.core.Symbol(null,"fn","fn",465265323,null)),new cljs.core.Keyword(null,"val","val",128701612),a,new cljs.core.Keyword(null,"reason","reason",-2070751759),f.message,new cljs.core.Keyword(null,"via","via",-1904457336),c,new cljs.core.Keyword(null,"in","in",-1531184865),d],null)],null);e=cljs.spec.alpha.dt.call(null,this.retspec,f,this.rform);return cljs.core.truth_(cljs.spec.alpha.invalid_QMARK_.call(null,e))?cljs.spec.alpha.explain_1.call(null,this.rform,
this.retspec,cljs.core.conj.call(null,b,new cljs.core.Keyword(null,"ret","ret",-468222814)),c,d,f):cljs.core.truth_(this.fnspec)?(f=cljs.spec.alpha.conform.call(null,this.argspec,a),cljs.spec.alpha.explain_1.call(null,this.fform,this.fnspec,cljs.core.conj.call(null,b,new cljs.core.Keyword(null,"fn","fn",-1175266204)),c,d,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"args","args",1315556576),f,new cljs.core.Keyword(null,"ret","ret",-468222814),e],null))):null}return new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"path","path",-188191168),b,new cljs.core.Keyword(null,"pred","pred",1927423397),new cljs.core.Symbol(null,"ifn?","ifn?",-2106461064,null),new cljs.core.Keyword(null,"val","val",128701612),e,new cljs.core.Keyword(null,"via","via",-1904457336),c,new cljs.core.Keyword(null,"in","in",-1531184865),d],null)],null)}}(h),cljs.spec.alpha.t_cljs$spec$alpha45702.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=
function(a){return function(b,c,d,e){var f=this;return cljs.core.truth_(f.gfn)?f.gfn.call(null):cljs.spec.gen.alpha.return$.call(null,function(a,b){return function(){var d=function(d){if(!cljs.core.truth_(cljs.spec.alpha.pvalid_QMARK_.call(null,f.argspec,d)))throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Assert failed: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(function(){var c=new goog.string.StringBuffer,e=cljs.core._STAR_print_newline_STAR_,g=cljs.core._STAR_print_fn_STAR_;cljs.core._STAR_print_newline_STAR_=
!0;cljs.core._STAR_print_fn_STAR_=function(a,b,c,d,e){return function(a){return c.append(a)}}(e,g,c,a,b);try{cljs.spec.alpha.explain.call(null,f.argspec,d)}finally{cljs.core._STAR_print_fn_STAR_=g,cljs.core._STAR_print_newline_STAR_=e}return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)}()),cljs.core.str.cljs$core$IFn$_invoke$arity$1("\n"),cljs.core.str.cljs$core$IFn$_invoke$arity$1("(pvalid? argspec args)")].join(""));return cljs.spec.gen.alpha.generate.call(null,cljs.spec.alpha.gen.call(null,
f.retspec,c))},e=function(a){var b=null;if(0<arguments.length){for(var b=0,c=Array(arguments.length-0);b<c.length;)c[b]=arguments[b+0],++b;b=new cljs.core.IndexedSeq(c,0,null)}return d.call(this,b)};e.cljs$lang$maxFixedArity=0;e.cljs$lang$applyTo=function(a){a=cljs.core.seq(a);return d(a)};e.cljs$core$IFn$_invoke$arity$variadic=d;return e}()}(this,a))}}(h),cljs.spec.alpha.t_cljs$spec$alpha45702.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=function(a){return function(a,b){return cljs.spec.alpha.fspec_impl.call(null,
this.argspec,this.aform,this.retspec,this.rform,this.fnspec,this.fform,b)}}(h),cljs.spec.alpha.t_cljs$spec$alpha45702.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=function(a){return function(a){return cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Keyword(null,
"args","args",1315556576)),cljs.core._conj.call(null,cljs.core.List.EMPTY,this.aform),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Keyword(null,"ret","ret",-468222814)),cljs.core._conj.call(null,cljs.core.List.EMPTY,this.rform),cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Keyword(null,"fn","fn",-1175266204)),cljs.core._conj.call(null,cljs.core.List.EMPTY,this.fform))))}}(h),cljs.spec.alpha.t_cljs$spec$alpha45702.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,
9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"argspec","argspec",-1207762746,null),new cljs.core.Symbol(null,"aform","aform",531303525,null),new cljs.core.Symbol(null,"retspec","retspec",-920025354,null),new cljs.core.Symbol(null,"rform","rform",-1420499912,null),new cljs.core.Symbol(null,"fnspec","fnspec",-1865712406,null),new cljs.core.Symbol(null,"fform","fform",-176049972,null),new cljs.core.Symbol(null,"gfn","gfn",-1862918295,null),new cljs.core.Symbol(null,"specs","specs",
-1227865028,null),new cljs.core.Symbol(null,"meta45703","meta45703",-23420670,null)],null)}}(h),cljs.spec.alpha.t_cljs$spec$alpha45702.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha45702.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha45702",cljs.spec.alpha.t_cljs$spec$alpha45702.cljs$lang$ctorPrWriter=function(a){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.spec.alpha/t_cljs$spec$alpha45702")}}(h),cljs.spec.alpha.__GT_t_cljs$spec$alpha45702=function(a){return function(a,
b,c,d,e,f,g,h,k){return new cljs.spec.alpha.t_cljs$spec$alpha45702(a,b,c,d,e,f,g,h,k)}}(h));return new cljs.spec.alpha.t_cljs$spec$alpha45702(a,b,c,d,e,f,g,h,cljs.core.PersistentArrayMap.EMPTY)};
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("cljs.spec.alpha","kvs-\x3emap","cljs.spec.alpha/kvs-\x3emap",579713455),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","conformer","cljs.spec.alpha/conformer",2140085535,null),cljs.core.list(new cljs.core.Symbol(null,"fn*","fn*",-752876845,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"p1__45713#","p1__45713#",-1781533830,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"zipmap","cljs.core/zipmap",-1902130674,null),cljs.core.list(new cljs.core.Symbol("cljs.core","map","cljs.core/map",-338988913,null),new cljs.core.Keyword("cljs.spec.alpha","k","cljs.spec.alpha/k",-1602615178),new cljs.core.Symbol(null,"p1__45713#","p1__45713#",-1781533830,null)),cljs.core.list(new cljs.core.Symbol("cljs.core","map","cljs.core/map",-338988913,null),new cljs.core.Keyword("cljs.spec.alpha","v","cljs.spec.alpha/v",552625740),new cljs.core.Symbol(null,"p1__45713#","p1__45713#",-1781533830,
null)))),cljs.core.list(new cljs.core.Symbol(null,"fn*","fn*",-752876845,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"p1__45714#","p1__45714#",1756084428,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map","cljs.core/map",-338988913,null),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"k","k",-505765866,null),new cljs.core.Symbol(null,"v","v",1661996586,null)],null)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword("cljs.spec.alpha","k","cljs.spec.alpha/k",-1602615178),new cljs.core.Symbol(null,"k","k",-505765866,null),new cljs.core.Keyword("cljs.spec.alpha","v","cljs.spec.alpha/v",552625740),new cljs.core.Symbol(null,"v","v",1661996586,null)],null)),new cljs.core.Symbol(null,"p1__45714#",
"p1__45714#",1756084428,null)))),cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","conformer","cljs.spec.alpha/conformer",2140085535,null),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","zipmap","cljs.core/zipmap",-1902130674,null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"map","cljs.core/map",-338988913,null),new cljs.core.Keyword("cljs.spec.alpha","k","cljs.spec.alpha/k",-1602615178),new cljs.core.Symbol(null,"%","%",-950237169,null)),cljs.core.list(new cljs.core.Symbol("cljs.core","map","cljs.core/map",-338988913,null),new cljs.core.Keyword("cljs.spec.alpha","v","cljs.spec.alpha/v",552625740),new cljs.core.Symbol(null,"%","%",-950237169,null)))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map","cljs.core/map",-338988913,null),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"k","k",-505765866,null),new cljs.core.Symbol(null,
"v","v",1661996586,null)],null)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword("cljs.spec.alpha","k","cljs.spec.alpha/k",-1602615178),new cljs.core.Symbol(null,"k","k",-505765866,null),new cljs.core.Keyword("cljs.spec.alpha","v","cljs.spec.alpha/v",552625740),new cljs.core.Symbol(null,"v","v",1661996586,null)],null)),new cljs.core.Symbol(null,"%","%",-950237169,null)))),function(a){return cljs.core.zipmap.call(null,cljs.core.map.call(null,new cljs.core.Keyword("cljs.spec.alpha",
"k","cljs.spec.alpha/k",-1602615178),a),cljs.core.map.call(null,new cljs.core.Keyword("cljs.spec.alpha","v","cljs.spec.alpha/v",552625740),a))},null,!0,function(a){return cljs.core.map.call(null,function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword("cljs.spec.alpha","k","cljs.spec.alpha/k",-1602615178),b,new cljs.core.Keyword("cljs.spec.alpha","v","cljs.spec.alpha/v",552625740),a],null)},a)}));
cljs.spec.alpha.nonconforming=function(a){a=cljs.spec.alpha.specize.call(null,a);"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha45722&&(cljs.spec.alpha.t_cljs$spec$alpha45722=function(a,c){this.spec=a;this.meta45723=c;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.spec.alpha.t_cljs$spec$alpha45722.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a){return function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha45722(this.spec,b)}}(a),
cljs.spec.alpha.t_cljs$spec$alpha45722.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta45723}}(a),cljs.spec.alpha.t_cljs$spec$alpha45722.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha45722.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a){return function(a){return this}}(a),cljs.spec.alpha.t_cljs$spec$alpha45722.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=function(a){return function(a,
b){return this}}(a),cljs.spec.alpha.t_cljs$spec$alpha45722.prototype.cljs$spec$alpha$Spec$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha45722.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=function(a){return function(a,b){var c=cljs.spec.alpha.conform_STAR_.call(null,this.spec,b);return cljs.core.truth_(cljs.spec.alpha.invalid_QMARK_.call(null,c))?new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119):b}}(a),cljs.spec.alpha.t_cljs$spec$alpha45722.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=
function(a){return function(a,b){return cljs.spec.alpha.unform_STAR_.call(null,this.spec,b)}}(a),cljs.spec.alpha.t_cljs$spec$alpha45722.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a){return function(a,b,e,f,g){return cljs.spec.alpha.explain_STAR_.call(null,this.spec,b,e,f,g)}}(a),cljs.spec.alpha.t_cljs$spec$alpha45722.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=function(a){return function(a,b,e,f){return cljs.spec.alpha.gen_STAR_.call(null,this.spec,b,e,f)}}(a),cljs.spec.alpha.t_cljs$spec$alpha45722.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=
function(a){return function(a,b){return cljs.spec.alpha.nonconforming.call(null,cljs.spec.alpha.with_gen_STAR_.call(null,this.spec,b))}}(a),cljs.spec.alpha.t_cljs$spec$alpha45722.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=function(a){return function(a){var b=this;return cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.spec.alpha","nonconforming","cljs.spec.alpha/nonconforming",-1009218508,
null)),function(){var a=cljs.spec.alpha.describe_STAR_.call(null,b.spec);return cljs.core._conj.call(null,cljs.core.List.EMPTY,a)}())))}}(a),cljs.spec.alpha.t_cljs$spec$alpha45722.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"spec","spec",1988051928,null),new cljs.core.Symbol(null,"meta45723","meta45723",-1345368504,null)],null)}}(a),cljs.spec.alpha.t_cljs$spec$alpha45722.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha45722.cljs$lang$ctorStr=
"cljs.spec.alpha/t_cljs$spec$alpha45722",cljs.spec.alpha.t_cljs$spec$alpha45722.cljs$lang$ctorPrWriter=function(a){return function(a,b,e){return cljs.core._write.call(null,b,"cljs.spec.alpha/t_cljs$spec$alpha45722")}}(a),cljs.spec.alpha.__GT_t_cljs$spec$alpha45722=function(a){return function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha45722(a,b)}}(a));return new cljs.spec.alpha.t_cljs$spec$alpha45722(a,cljs.core.PersistentArrayMap.EMPTY)};
cljs.spec.alpha.nilable_impl=function(a,b,c){var d=cljs.spec.alpha.specize.call(null,b,a);"undefined"===typeof cljs.spec.alpha.t_cljs$spec$alpha45728&&(cljs.spec.alpha.t_cljs$spec$alpha45728=function(a,b,c,d,k){this.form=a;this.pred=b;this.gfn=c;this.spec=d;this.meta45729=k;this.cljs$lang$protocol_mask$partition0$=393216;this.cljs$lang$protocol_mask$partition1$=0},cljs.spec.alpha.t_cljs$spec$alpha45728.prototype.cljs$core$IWithMeta$_with_meta$arity$2=function(a){return function(a,b){return new cljs.spec.alpha.t_cljs$spec$alpha45728(this.form,
this.pred,this.gfn,this.spec,b)}}(d),cljs.spec.alpha.t_cljs$spec$alpha45728.prototype.cljs$core$IMeta$_meta$arity$1=function(a){return function(a){return this.meta45729}}(d),cljs.spec.alpha.t_cljs$spec$alpha45728.prototype.cljs$spec$alpha$Specize$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha45728.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1=function(a){return function(a){return this}}(d),cljs.spec.alpha.t_cljs$spec$alpha45728.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2=
function(a){return function(a,b){return this}}(d),cljs.spec.alpha.t_cljs$spec$alpha45728.prototype.cljs$spec$alpha$Spec$=cljs.core.PROTOCOL_SENTINEL,cljs.spec.alpha.t_cljs$spec$alpha45728.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2=function(a){return function(a,b){return null==b?null:cljs.spec.alpha.conform_STAR_.call(null,this.spec,b)}}(d),cljs.spec.alpha.t_cljs$spec$alpha45728.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2=function(a){return function(a,b){return null==b?null:cljs.spec.alpha.unform_STAR_.call(null,
this.spec,b)}}(d),cljs.spec.alpha.t_cljs$spec$alpha45728.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5=function(a){return function(a,b,c,d,e){var f=this;return cljs.core.truth_(function(){var a=cljs.spec.alpha.pvalid_QMARK_.call(null,f.spec,e);return cljs.core.truth_(a)?a:null==e}())?null:cljs.core.conj.call(null,cljs.spec.alpha.explain_1.call(null,f.form,f.pred,cljs.core.conj.call(null,b,new cljs.core.Keyword("cljs.spec.alpha","pred","cljs.spec.alpha/pred",-798342594)),c,d,e),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"path","path",-188191168),cljs.core.conj.call(null,b,new cljs.core.Keyword("cljs.spec.alpha","nil","cljs.spec.alpha/nil",1733813950)),new cljs.core.Keyword(null,"pred","pred",1927423397),new cljs.core.Symbol(null,"nil?","nil?",1612038930,null),new cljs.core.Keyword(null,"val","val",128701612),e,new cljs.core.Keyword(null,"via","via",-1904457336),c,new cljs.core.Keyword(null,"in","in",-1531184865),d],null))}}(d),cljs.spec.alpha.t_cljs$spec$alpha45728.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4=
function(a){return function(b,c,d,e){var f=this;return cljs.core.truth_(f.gfn)?f.gfn.call(null):cljs.spec.gen.alpha.frequency.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1,cljs.spec.gen.alpha.delay_impl.call(null,new cljs.core.Delay(function(a,b){return function(){return cljs.spec.gen.alpha.return$.call(null,null)}}(this,a),null))],null),new cljs.core.PersistentVector(null,2,
5,cljs.core.PersistentVector.EMPTY_NODE,[9,cljs.spec.gen.alpha.delay_impl.call(null,new cljs.core.Delay(function(a,b){return function(){return cljs.spec.alpha.gensub.call(null,f.pred,c,cljs.core.conj.call(null,d,new cljs.core.Keyword("cljs.spec.alpha","pred","cljs.spec.alpha/pred",-798342594)),e,f.form)}}(this,a),null))],null)],null))}}(d),cljs.spec.alpha.t_cljs$spec$alpha45728.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2=function(a){return function(a,b){return cljs.spec.alpha.nilable_impl.call(null,
this.form,this.pred,b)}}(d),cljs.spec.alpha.t_cljs$spec$alpha45728.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1=function(a){return function(a){return cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.Symbol("cljs.spec.alpha","nilable","cljs.spec.alpha/nilable",1628308748,null)),cljs.core._conj.call(null,cljs.core.List.EMPTY,this.form))))}}(d),cljs.spec.alpha.t_cljs$spec$alpha45728.getBasis=function(a){return function(){return new cljs.core.PersistentVector(null,
5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"form","form",16469056,null),new cljs.core.Symbol(null,"pred","pred",-727012372,null),new cljs.core.Symbol(null,"gfn","gfn",-1862918295,null),new cljs.core.Symbol(null,"spec","spec",1988051928,null),new cljs.core.Symbol(null,"meta45729","meta45729",291476936,null)],null)}}(d),cljs.spec.alpha.t_cljs$spec$alpha45728.cljs$lang$type=!0,cljs.spec.alpha.t_cljs$spec$alpha45728.cljs$lang$ctorStr="cljs.spec.alpha/t_cljs$spec$alpha45728",
cljs.spec.alpha.t_cljs$spec$alpha45728.cljs$lang$ctorPrWriter=function(a){return function(a,b,c){return cljs.core._write.call(null,b,"cljs.spec.alpha/t_cljs$spec$alpha45728")}}(d),cljs.spec.alpha.__GT_t_cljs$spec$alpha45728=function(a){return function(a,b,c,d,e){return new cljs.spec.alpha.t_cljs$spec$alpha45728(a,b,c,d,e)}}(d));return new cljs.spec.alpha.t_cljs$spec$alpha45728(a,b,c,d,cljs.core.PersistentArrayMap.EMPTY)};
cljs.spec.alpha.exercise=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 2:return cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$1=function(a){return cljs.spec.alpha.exercise.call(null,a,10)};cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$2=function(a,b){return cljs.spec.alpha.exercise.call(null,a,b,null)};
cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return cljs.core.map.call(null,function(b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,cljs.spec.alpha.conform.call(null,a,b)],null)},cljs.spec.gen.alpha.sample.call(null,cljs.spec.alpha.gen.call(null,a,c),b))};cljs.spec.alpha.exercise.cljs$lang$maxFixedArity=3;
cljs.spec.alpha.inst_in_range_QMARK_=function(a,b,c){var d=cljs.core.inst_QMARK_.call(null,c);return d?(c=cljs.core.inst_ms.call(null,c),cljs.core.inst_ms.call(null,a)<=c&&c<cljs.core.inst_ms.call(null,b)):d};cljs.spec.alpha.int_in_range_QMARK_=function(a,b,c){return cljs.core.integer_QMARK_.call(null,c)?a<=c&&c<b:c instanceof goog.math.Long||c instanceof goog.math.Integer?(a=a.lessThanOrEqual(c),cljs.core.truth_(a)?c.lessThan(b):a):!1};
"undefined"===typeof cljs.spec.alpha._STAR_compile_asserts_STAR_&&(cljs.spec.alpha._STAR_compile_asserts_STAR_=!0);"undefined"===typeof cljs.spec.alpha._STAR_runtime_asserts_STAR_&&(cljs.spec.alpha._STAR_runtime_asserts_STAR_=!1);cljs.spec.alpha.check_asserts_QMARK_=function(){return cljs.spec.alpha._STAR_runtime_asserts_STAR_};cljs.spec.alpha.check_asserts=function(a){return cljs.spec.alpha._STAR_runtime_asserts_STAR_=a};
cljs.spec.alpha.assert_STAR_=function(a,b){if(cljs.core.truth_(cljs.spec.alpha.valid_QMARK_.call(null,a,b)))return b;var c=cljs.core.merge.call(null,cljs.core.assoc.call(null,cljs.spec.alpha.explain_data_STAR_.call(null,a,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY,b),new cljs.core.Keyword("cljs.spec.alpha","failure","cljs.spec.alpha/failure",188258592),new cljs.core.Keyword(null,"assertion-failed","assertion-failed",-970534477)));throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Spec assertion failed\n"),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(function(){var a=new goog.string.StringBuffer,b=cljs.core._STAR_print_newline_STAR_,f=cljs.core._STAR_print_fn_STAR_;cljs.core._STAR_print_newline_STAR_=!0;cljs.core._STAR_print_fn_STAR_=function(a,b,c,d){return function(a){return c.append(a)}}(b,f,a,c);try{cljs.spec.alpha.explain_out.call(null,c)}finally{cljs.core._STAR_print_fn_STAR_=f,cljs.core._STAR_print_newline_STAR_=b}return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)}())].join(""));};weathergen.dtc={};weathergen.dtc.number=function(a){return(new Number(a)).valueOf()};weathergen.dtc.integer=function(a){return cljs.core.long$.call(null,a)};
weathergen.dtc.stpt_action=cljs.core.PersistentHashMap.fromArrays([0,7,20,1,24,4,-1,15,21,13,22,6,25,17,3,12,2,23,19,11,9,5,14,26,16,10,18,8],[new cljs.core.Keyword(null,"nav","nav",719540477),new cljs.core.Keyword(null,"land","land",-1402569867),new cljs.core.Keyword(null,"elint","elint",1374102625),new cljs.core.Keyword(null,"takeoff","takeoff",719937767),new cljs.core.Keyword(null,"tanker","tanker",932081370),new cljs.core.Keyword(null,"refuel","refuel",184033462),new cljs.core.Keyword(null,"none",
"none",1333468478),new cljs.core.Keyword(null,"strike","strike",-1173815471),new cljs.core.Keyword(null,"recon","recon",-745027378),new cljs.core.Keyword(null,"intercept","intercept",-2141938204),new cljs.core.Keyword(null,"rescue","rescue",1135767523),new cljs.core.Keyword(null,"pickup","pickup",1997454190),new cljs.core.Keyword(null,"airdrop","airdrop",-534117642),new cljs.core.Keyword(null,"strike","strike",-1173815471),new cljs.core.Keyword(null,"split","split",-599435118),new cljs.core.Keyword(null,
"cap","cap",-817621587),new cljs.core.Keyword(null,"push","push",799791267),new cljs.core.Keyword(null,"asw","asw",1486545956),new cljs.core.Keyword(null,"sead","sead",821421771),new cljs.core.Keyword(null,"sweep","sweep",-50871214),new cljs.core.Keyword(null,"cas-contact","cas-contact",1257981390),new cljs.core.Keyword(null,"rearm","rearm",-408770249),new cljs.core.Keyword(null,"strike","strike",-1173815471),new cljs.core.Keyword(null,"jam","jam",-1572859399),new cljs.core.Keyword(null,"strike",
"strike",-1173815471),new cljs.core.Keyword(null,"escort","escort",-1921119179),new cljs.core.Keyword(null,"bomb","bomb",-1302543521),new cljs.core.Keyword(null,"holding-point","holding-point",-8249469)]);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),
new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818)],null)),cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",
1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,
a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,
new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),new cljs.core.Keyword("weathergen.dtc",
"y","weathergen.dtc/y",-474567375),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",
-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,
null),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",
1291536818)))],null),null])));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","and","cljs.spec.alpha/and",-2060279705,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.list(new cljs.core.Symbol("cljs.core","complement","cljs.core/complement",-498493640,null),new cljs.core.Symbol("cljs.core","neg?","cljs.core/neg?",2002812728,null))),cljs.spec.alpha.and_spec_impl.call(null,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.list(new cljs.core.Symbol("cljs.core","complement","cljs.core/complement",-498493640,null),new cljs.core.Symbol("cljs.core","neg?","cljs.core/neg?",2002812728,null))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.integer_QMARK_,cljs.core.complement.call(null,cljs.core.neg_QMARK_)],
null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","nilable","cljs.spec.alpha/nilable",1628308748,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"keyword","keyword",811389747),cljs.core.list(new cljs.core.Symbol("cljs.core","-\x3e","cljs.core/-\x3e",1488366311,null),new cljs.core.Symbol("weathergen.dtc","stpt-action",
"weathergen.dtc/stpt-action",913350624,null),new cljs.core.Symbol("cljs.core","vals","cljs.core/vals",1473678353,null),new cljs.core.Symbol("cljs.core","set","cljs.core/set",724680876,null)),new cljs.core.Keyword(null,"string","string",-1989541586),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null))),cljs.spec.alpha.nilable_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"keyword",
"keyword",811389747),cljs.core.list(new cljs.core.Symbol("cljs.core","-\x3e","cljs.core/-\x3e",1488366311,null),new cljs.core.Symbol("weathergen.dtc","stpt-action","weathergen.dtc/stpt-action",913350624,null),new cljs.core.Symbol("cljs.core","vals","cljs.core/vals",1473678353,null),new cljs.core.Symbol("cljs.core","set","cljs.core/set",724680876,null)),new cljs.core.Keyword(null,"string","string",-1989541586),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.or_spec_impl.call(null,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"keyword","keyword",811389747),new cljs.core.Keyword(null,"string","string",-1989541586)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","-\x3e","cljs.core/-\x3e",1488366311,null),new cljs.core.Symbol("weathergen.dtc","stpt-action","weathergen.dtc/stpt-action",913350624,null),new cljs.core.Symbol("cljs.core",
"vals","cljs.core/vals",1473678353,null),new cljs.core.Symbol("cljs.core","set","cljs.core/set",724680876,null)),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.set.call(null,cljs.core.vals.call(null,weathergen.dtc.stpt_action)),cljs.core.string_QMARK_],null),null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","threat","weathergen.dtc/threat",149534586),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","alternate?","weathergen.dtc/alternate?",-1722390529),new cljs.core.Symbol("cljs.core","boolean?","cljs.core/boolean?",1400713761,null),cljs.core.boolean_QMARK_);
weathergen.dtc.target=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",
553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc",
"ordinal","weathergen.dtc/ordinal",1230503945))},new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600),new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145),new cljs.core.Keyword("weathergen.dtc","alternate?","weathergen.dtc/alternate?",-1722390529)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc",
"coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc",
"coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600),new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145),new cljs.core.Keyword("weathergen.dtc","alternate?","weathergen.dtc/alternate?",-1722390529)],null),new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)))],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600),new cljs.core.Keyword("weathergen.dtc",
"action","weathergen.dtc/action",1537999145),new cljs.core.Keyword("weathergen.dtc","alternate?","weathergen.dtc/alternate?",-1722390529)],null)]));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","target","weathergen.dtc/target",-315914873,null)),cljs.spec.alpha.rep_impl.call(null,new cljs.core.Symbol("weathergen.dtc","target","weathergen.dtc/target",-315914873,null),weathergen.dtc.target));
weathergen.dtc.line=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",
553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc",
"ordinal","weathergen.dtc/ordinal",1230503945))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",
-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),
cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)))],null),null]));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null)),cljs.spec.alpha.rep_impl.call(null,new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null),weathergen.dtc.line));
weathergen.dtc.ppt=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",
553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc",
"coordinates","weathergen.dtc/coordinates",-1965136125))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459))},new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","threat","weathergen.dtc/threat",149534586)],null),new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc",
"ordinal","weathergen.dtc/ordinal",1230503945),new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459)],null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","threat","weathergen.dtc/threat",149534586)],null),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",
-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",
-1965136125))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459)))],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc",
"threat","weathergen.dtc/threat",149534586)],null)]));cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","ppt","weathergen.dtc/ppt",266871180,null)),cljs.spec.alpha.rep_impl.call(null,new cljs.core.Symbol("weathergen.dtc","ppt","weathergen.dtc/ppt",266871180,null),weathergen.dtc.ppt));
weathergen.dtc.weapon_target=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",
553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc",
"ordinal","weathergen.dtc/ordinal",1230503945))},new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)],null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",
-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",
-1965136125))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)))],null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600)],null)]));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","weapon-targets","weathergen.dtc/weapon-targets",2097083099),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","weapon-target","weathergen.dtc/weapon-target",-502371985,null)),cljs.spec.alpha.rep_impl.call(null,new cljs.core.Symbol("weathergen.dtc","weapon-target","weathergen.dtc/weapon-target",-502371985,null),weathergen.dtc.weapon_target));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",
1013037315),new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652)],null)),cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys",
"opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,
a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315))},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315))&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",
203711245),new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315),new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315),new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652)],
null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315),new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn",
"cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core",
"contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),
new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652)))],null),null])));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),null],null),null),new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),null],null),null));
weathergen.dtc.dtc=cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",
553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,
a,new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734)],
null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,
"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734)))],null),null]));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.dtc","parse-stpt-line","weathergen.dtc/parse-stpt-line",580436060,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",
-2072921719,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)],null))),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"line","line",212345235)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.string_QMARK_],null),new cljs.core.PersistentVector(null,1,
5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)],null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,
null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)],null)),cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,
"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],
[null,null,null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249))},cljs.core.PersistentVector.EMPTY,
new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",
1219007249)],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)))],null),null])),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys",
"cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)],null)),null,null,null));
weathergen.dtc.parse_stpt_line=function(a){var b=clojure.string.split.call(null,a,/=/);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);a=clojure.string.split.call(null,a,/_/);var c=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);switch(c){case "target":var d=cljs.core.map.call(null,clojure.string.trim,clojure.string.split.call(null,b,/,/)),b=cljs.core.nth.call(null,d,0,null),c=cljs.core.nth.call(null,d,1,null),e=cljs.core.nth.call(null,d,2,null),f=cljs.core.nth.call(null,
d,3,null),d=cljs.core.nth.call(null,d,4,null);f=null==f?null:weathergen.dtc.number.call(null,f);f=null==f?null:cljs.core.long$.call(null,f);return new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249),new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword("weathergen.dtc",
"x","weathergen.dtc/x",-384550566),weathergen.dtc.number.call(null,b),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),weathergen.dtc.number.call(null,c),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818),weathergen.dtc.number.call(null,e)],null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),weathergen.dtc.integer.call(null,a),new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145),
weathergen.dtc.stpt_action.call(null,f,f),new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600),d],null);case "lineSTPT":return e=cljs.core.map.call(null,clojure.string.trim,clojure.string.split.call(null,b,/,/)),b=cljs.core.nth.call(null,e,0,null),c=cljs.core.nth.call(null,e,1,null),e=cljs.core.nth.call(null,e,2,null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249),new cljs.core.Keyword("weathergen.dtc",
"lines","weathergen.dtc/lines",1381092652),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),weathergen.dtc.number.call(null,b),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),weathergen.dtc.number.call(null,c),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818),weathergen.dtc.number.call(null,
e)],null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),weathergen.dtc.integer.call(null,a)],null);case "ppt":return f=cljs.core.map.call(null,clojure.string.trim,clojure.string.split.call(null,b,/,/)),b=cljs.core.nth.call(null,f,0,null),c=cljs.core.nth.call(null,f,1,null),e=cljs.core.nth.call(null,f,2,null),d=cljs.core.nth.call(null,f,3,null),f=cljs.core.nth.call(null,f,4,null),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword("weathergen.dtc",
"category","weathergen.dtc/category",1219007249),new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),weathergen.dtc.number.call(null,b),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),weathergen.dtc.number.call(null,c),new cljs.core.Keyword("weathergen.dtc",
"z","weathergen.dtc/z",1291536818),weathergen.dtc.number.call(null,e)],null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),weathergen.dtc.integer.call(null,a),new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459),weathergen.dtc.number.call(null,d),new cljs.core.Keyword("weathergen.dtc","threat","weathergen.dtc/threat",149534586),f],null);default:return null}};
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.dtc","parse","weathergen.dtc/parse",-1466316675,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"contents","contents",-1567174023),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",
-2072921719,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"contents","contents",-1567174023),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.cat_impl.call(null,
new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"contents","contents",-1567174023)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.string_QMARK_],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)],null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",
-1471398329,null),new cljs.core.Keyword(null,"contents","contents",-1567174023),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null),weathergen.dtc.dtc,null,null),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null),null,null,null));
weathergen.dtc.parse=function(a){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734),cljs.core.group_by.call(null,new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249),cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,weathergen.dtc.parse_stpt_line,cljs.core.take_while.call(null,function(a){return!clojure.string.starts_with_QMARK_.call(null,a,"[")},cljs.core.drop.call(null,
1,cljs.core.drop_while.call(null,function(a){return cljs.core.not_EQ_.call(null,a,"[STPT]")},cljs.core.remove.call(null,cljs.core.empty_QMARK_,cljs.core.map.call(null,clojure.string.trim,clojure.string.split_lines.call(null,a)))))))))],null)};
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.dtc","zero-coords?","weathergen.dtc/zero-coords?",-1402825671,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"steerpoint","steerpoint",-402509784),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)],null))),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("cljs.core","boolean?","cljs.core/boolean?",1400713761,null)),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"steerpoint","steerpoint",-402509784),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)],null))),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"steerpoint","steerpoint",-402509784)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),
new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[function(a){return cljs.core.map_QMARK_.call(null,a)},function(a){return cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))}],null),function(a){return cljs.core.map_QMARK_.call(null,a)&&cljs.core.contains_QMARK_.call(null,a,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))},cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)],
null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core",
"fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol(null,"%","%",-950237169,null)],null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)))],null),null]))],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)],null))],null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"steerpoint","steerpoint",
-402509784),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)],null))),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("cljs.core","boolean?","cljs.core/boolean?",1400713761,null),cljs.core.boolean_QMARK_,null,null),
new cljs.core.Symbol("cljs.core","boolean?","cljs.core/boolean?",1400713761,null),null,null,null));
weathergen.dtc.zero_coords_QMARK_=function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125));var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,
b,new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566));var c=cljs.core.get.call(null,b,new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375)),b=cljs.core.get.call(null,b,new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818));return 0===a&&0===c&&0===b};
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.dtc","flight-path","weathergen.dtc/flight-path",2033127162,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",
-1088799717,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","target","weathergen.dtc/target",-315914873,null))),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc",
"dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dtc","dtc",-782550637)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.dtc.dtc],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)],null)),null,null),
cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","target","weathergen.dtc/target",-315914873,null)),cljs.spec.alpha.rep_impl.call(null,new cljs.core.Symbol("weathergen.dtc",
"target","weathergen.dtc/target",-315914873,null),weathergen.dtc.target),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","target","weathergen.dtc/target",-315914873,null)),null,null,null));
weathergen.dtc.flight_path=function(a){var b=function(a){return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"land","land",-1402569867),(new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145)).cljs$core$IFn$_invoke$arity$1(a))};a=(new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734)).cljs$core$IFn$_invoke$arity$1(a));
a=cljs.core.take_while.call(null,function(a,b){return function(a){return cljs.core.not_EQ_.call(null,(new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"none","none",1333468478))}}(b,a),a);var c=cljs.core.seq.call(null,a);cljs.core.first.call(null,c);cljs.core.next.call(null,c);var d=a;a=cljs.core.PersistentVector.EMPTY;for(c=!1;;){var e=cljs.core.seq.call(null,d),d=cljs.core.first.call(null,e),e=cljs.core.next.call(null,
e),f=c;if(cljs.core.not.call(null,d))return a;var g=b.call(null,d),c=e;a=cljs.core.conj.call(null,a,cljs.core.truth_(function(){var a=f;return a?g:a}())?cljs.core.assoc.call(null,d,new cljs.core.Keyword("weathergen.dtc","alternate?","weathergen.dtc/alternate?",-1722390529),!0):d);e=function(){var a=f;return a?a:g}();d=c;c=e}};
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.dtc","lines","weathergen.dtc/lines",-1273343117,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,
null)),new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null),new cljs.core.Keyword(null,"min-count","min-count",1594709013),1,new cljs.core.Keyword(null,"max-count","max-count",1539185305),5),new cljs.core.Keyword(null,
"min-count","min-count",1594709013),0,new cljs.core.Keyword(null,"max-count","max-count",1539185305),4)),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"dtc","dtc",-782550637)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.dtc.dtc],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)],null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc",
"dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null),new cljs.core.Keyword(null,"min-count","min-count",1594709013),1,new cljs.core.Keyword(null,"max-count","max-count",1539185305),
5),new cljs.core.Keyword(null,"min-count","min-count",1594709013),0,new cljs.core.Keyword(null,"max-count","max-count",1539185305),4),cljs.spec.alpha.every_impl.call(null,cljs.core.list(new cljs.core.Symbol("s","coll-of","s/coll-of",-1705285349,null),new cljs.core.Symbol(null,"line","line",1852876762,null),new cljs.core.Keyword(null,"min-count","min-count",1594709013),1,new cljs.core.Keyword(null,"max-count","max-count",1539185305),5),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,
"line","line",1852876762,null),weathergen.dtc.line,new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){return cljs.core.coll_QMARK_.call(null,a)&&(cljs.core.truth_(1)?1:0)<=cljs.core.bounded_count.call(null,6,a)&&cljs.core.bounded_count.call(null,6,a)<=(cljs.core.truth_(5)?5:cljs.spec.alpha.MAX_INT)},new cljs.core.Keyword(null,
"min-count","min-count",1594709013),1,new cljs.core.Keyword(null,"max-count","max-count",1539185305),5,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null),new cljs.core.Keyword(null,
"min-count","min-count",1594709013),1,new cljs.core.Keyword(null,"max-count","max-count",1539185305),5)],null),null),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),function(a){var b;if(b=cljs.core.coll_QMARK_.call(null,a))cljs.core.truth_(0),b=0<=cljs.core.bounded_count.call(null,5,a)&&cljs.core.bounded_count.call(null,5,a)<=
(cljs.core.truth_(4)?4:cljs.spec.alpha.MAX_INT);return b},new cljs.core.Keyword(null,"min-count","min-count",1594709013),0,new cljs.core.Keyword(null,"max-count","max-count",1539185305),4,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),!0,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null),new cljs.core.Keyword(null,"min-count","min-count",1594709013),1,new cljs.core.Keyword(null,"max-count","max-count",1539185305),5),new cljs.core.Keyword(null,"min-count","min-count",1594709013),0,new cljs.core.Keyword(null,"max-count","max-count",1539185305),4)],null),null),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",
1019430407,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null),new cljs.core.Keyword(null,"min-count","min-count",1594709013),1,new cljs.core.Keyword(null,"max-count","max-count",1539185305),5),new cljs.core.Keyword(null,"min-count","min-count",1594709013),0,new cljs.core.Keyword(null,"max-count","max-count",1539185305),4),null,null,null));
weathergen.dtc.lines=function(a){return cljs.core.map.call(null,cljs.core.second,cljs.core.sort_by.call(null,cljs.core.first,cljs.core.group_by.call(null,function(a){return cljs.core.long$.call(null,(new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)).cljs$core$IFn$_invoke$arity$1(a)/5)+1},cljs.core.remove.call(null,weathergen.dtc.zero_coords_QMARK_,(new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.dtc",
"steerpoints","weathergen.dtc/steerpoints",-1460776734)).cljs$core$IFn$_invoke$arity$1(a))))))};
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.dtc","ppts","weathergen.dtc/ppts",-1641398454,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,
null)),new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","ppt","weathergen.dtc/ppt",266871180,null))),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc",
"weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"dtc","dtc",-782550637)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.dtc.dtc],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)],null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha",
"cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","ppt","weathergen.dtc/ppt",266871180,null)),cljs.spec.alpha.rep_impl.call(null,new cljs.core.Symbol("weathergen.dtc","ppt","weathergen.dtc/ppt",266871180,
null),weathergen.dtc.ppt),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","ppt","weathergen.dtc/ppt",266871180,null)),null,null,null));
weathergen.dtc.ppts=function(a){return cljs.core.remove.call(null,weathergen.dtc.zero_coords_QMARK_,(new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734)).cljs$core$IFn$_invoke$arity$1(a)))};weathergen.ui.revision=7;
weathergen.ui.agents=function(){var a=new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"chrome","chrome",1718738387),"Chrome",new cljs.core.Keyword(null,"msie","msie",719469183),"MSIE",new cljs.core.Keyword(null,"trident","trident",1372708537),"Trident",new cljs.core.Keyword(null,"firefox","firefox",1283768880),"Firefox",new cljs.core.Keyword(null,"safari","safari",497115653),"Safari",new cljs.core.Keyword(null,"opera","opera",658572996),"op"],null);return cljs.core.zipmap.call(null,cljs.core.keys.call(null,
a),cljs.core.map.call(null,function(a){return!(0>navigator.userAgent.indexOf(a))},cljs.core.vals.call(null,a)))}();weathergen.ui.safari_QMARK_=function(){var a=(new cljs.core.Keyword(null,"safari","safari",497115653)).cljs$core$IFn$_invoke$arity$1(weathergen.ui.agents);return cljs.core.truth_(a)?cljs.core.not.call(null,(new cljs.core.Keyword(null,"chrome","chrome",1718738387)).cljs$core$IFn$_invoke$arity$1(weathergen.ui.agents)):a}();
weathergen.ui.ie_QMARK_=function(){var a=(new cljs.core.Keyword(null,"msie","msie",719469183)).cljs$core$IFn$_invoke$arity$1(weathergen.ui.agents);return cljs.core.truth_(a)?a:(new cljs.core.Keyword(null,"trident","trident",1372708537)).cljs$core$IFn$_invoke$arity$1(weathergen.ui.agents)}();weathergen.ui.electron=require("electron");weathergen.ui.ipcRenderer=weathergen.ui.electron.ipcRenderer;weathergen.ui.zlib=require("zlib");var window_45831=jQuery(window);
weathergen.ui.window_size=javelin.core.cell.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[window_45831.width(),window_45831.height()],null));window_45831.resize(function(a){return function(){return cljs.core.reset_BANG_.call(null,weathergen.ui.window_size,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a.width(),a.height()],null))}}(window_45831));
weathergen.ui.default_weather_params=cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"temp-uniformity","temp-uniformity",836756864),new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"evolution","evolution",944820557),new cljs.core.Keyword(null,"seed","seed",68613327),new cljs.core.Keyword(null,"feature-size","feature-size",-878734864),new cljs.core.Keyword(null,"cell-count","cell-count",-441457582),
new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),new cljs.core.Keyword(null,"categories","categories",178386610),new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204),new cljs.core.Keyword(null,"turbulence","turbulence",-915506410),new cljs.core.Keyword(null,"origin","origin",1037372088),new cljs.core.Keyword(null,"wind-uniformity","wind-uniformity",827531801),new cljs.core.Keyword(null,"crossfade","crossfade",-118506406),new cljs.core.Keyword(null,
"prevailing-wind","prevailing-wind",-190580386)],[.7,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"min","min",444991522),29,new cljs.core.Keyword(null,"max","max",61366548),31],null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"offset","offset",296498311),1234,new cljs.core.Keyword(null,"current","current",-1088038603),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"day","day",-274800446),1,new cljs.core.Keyword(null,"hour","hour",
-555989214),5,new cljs.core.Keyword(null,"minute","minute",-642875969),0],null),new cljs.core.Keyword(null,"max","max",61366548),null],null),3600,1234,10,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[59,59],null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.PersistentArrayMap(null,
3,[new cljs.core.Keyword(null,"min","min",444991522),5,new cljs.core.Keyword(null,"mean","mean",-1359234715),10,new cljs.core.Keyword(null,"max","max",61366548),30],null),new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min","min",444991522),20,new cljs.core.Keyword(null,"mean","mean",-1359234715),22,new cljs.core.Keyword(null,"max","max",61366548),24],null)],null),new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.PersistentArrayMap(null,
3,[new cljs.core.Keyword(null,"pressure","pressure",505343747),30,new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min","min",444991522),0,new cljs.core.Keyword(null,"mean","mean",-1359234715),7,new cljs.core.Keyword(null,"max","max",61366548),20],null),new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min","min",444991522),18,new cljs.core.Keyword(null,
"mean","mean",-1359234715),21,new cljs.core.Keyword(null,"max","max",61366548),23],null)],null),new cljs.core.Keyword(null,"poor","poor",1462482211),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"pressure","pressure",505343747),29.85,new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min","min",444991522),10,new cljs.core.Keyword(null,"mean","mean",-1359234715),15,new cljs.core.Keyword(null,"max","max",61366548),
30],null),new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min","min",444991522),15,new cljs.core.Keyword(null,"mean","mean",-1359234715),18,new cljs.core.Keyword(null,"max","max",61366548),21],null)],null),new cljs.core.Keyword(null,"inclement","inclement",-550669382),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"pressure","pressure",505343747),29.4,new cljs.core.Keyword(null,"wind","wind",-527553074),
new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min","min",444991522),15,new cljs.core.Keyword(null,"mean","mean",-1359234715),25,new cljs.core.Keyword(null,"max","max",61366548),60],null),new cljs.core.Keyword(null,"temp","temp",1791541284),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"min","min",444991522),12,new cljs.core.Keyword(null,"mean","mean",-1359234715),14,new cljs.core.Keyword(null,"max","max",61366548),16],null)],null)],null),cljs.core.PersistentVector.EMPTY,
new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"size","size",1098693007),1,new cljs.core.Keyword(null,"power","power",-937852079),250],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[1E3,1E3],null),.7,.1,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"heading","heading",-1312171873),325],null)]);weathergen.ui.weather_params=javelin.core.cell.call(null,null);
weathergen.ui.default_cloud_params=new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"cumulus-density","cumulus-density",-212067170),5,new cljs.core.Keyword(null,"cumulus-size","cumulus-size",-954219270),.98,new cljs.core.Keyword(null,"visibility","visibility",1338380893),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),30,new cljs.core.Keyword(null,"fair","fair",1684139423),20,new cljs.core.Keyword(null,"poor","poor",1462482211),10,
new cljs.core.Keyword(null,"inclement","inclement",-550669382),5],null),new cljs.core.Keyword(null,"stratus-base","stratus-base",-1631962478),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),35E3,new cljs.core.Keyword(null,"fair","fair",1684139423),3E4,new cljs.core.Keyword(null,"poor","poor",1462482211),11300,new cljs.core.Keyword(null,"inclement","inclement",-550669382),6300],null),new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574),13300,
new cljs.core.Keyword(null,"cumulus-base","cumulus-base",-578210868),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),0,new cljs.core.Keyword(null,"fair","fair",1684139423),8E3,new cljs.core.Keyword(null,"poor","poor",1462482211),7500,new cljs.core.Keyword(null,"inclement","inclement",-550669382),2E3],null),new cljs.core.Keyword(null,"contrails","contrails",1430581743),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",
1448267778),34E3,new cljs.core.Keyword(null,"fair","fair",1684139423),28E3,new cljs.core.Keyword(null,"poor","poor",1462482211),25E3,new cljs.core.Keyword(null,"inclement","inclement",-550669382),2E4],null)],null);
weathergen.ui.random_int=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return weathergen.ui.random_int.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return weathergen.ui.random_int.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
weathergen.ui.random_int.cljs$core$IFn$_invoke$arity$2=function(a,b){return weathergen.ui.random_int.call(null,a,b,1)};weathergen.ui.random_int.cljs$core$IFn$_invoke$arity$3=function(a,b,c){b=cljs.core.long$.call(null,(b-a)/c)+1;return cljs.core.long$.call(null,cljs.core.rand.call(null)*b)*c+a};weathergen.ui.random_int.cljs$lang$maxFixedArity=3;
weathergen.ui.random_cloud_params=function(){var a=function(){var a=cljs.core.sort.call(null,cljs.core.repeatedly.call(null,4,function(){return weathergen.ui.random_int.call(null,1500,4E4,500)})),b=cljs.core.nth.call(null,a,0,null),e=cljs.core.nth.call(null,a,1,null),f=cljs.core.nth.call(null,a,2,null),a=cljs.core.nth.call(null,a,3,null);return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),a,new cljs.core.Keyword(null,"fair","fair",1684139423),f,new cljs.core.Keyword(null,
"poor","poor",1462482211),e,new cljs.core.Keyword(null,"inclement","inclement",-550669382),b],null)}(),b=function(){var b=(new cljs.core.Keyword(null,"poor","poor",1462482211)).cljs$core$IFn$_invoke$arity$1(a),d=(new cljs.core.Keyword(null,"inclement","inclement",-550669382)).cljs$core$IFn$_invoke$arity$1(a);return b>d?b:d}()+weathergen.ui.random_int.call(null,500,1E4,500);return new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"cumulus-density","cumulus-density",-212067170),weathergen.ui.random_int.call(null,
5,50),new cljs.core.Keyword(null,"cumulus-size","cumulus-size",-954219270),5*cljs.core.rand.call(null),new cljs.core.Keyword(null,"visibility","visibility",1338380893),function(){var c=cljs.core.sort.call(null,cljs.core.repeatedly.call(null,4,function(a,b){return function(){var a=weathergen.ui.random_int.call(null,0,30);return 2>a?weathergen.ui.random_int.call(null,0,20)/10:a}}(a,b))),d=cljs.core.nth.call(null,c,0,null),e=cljs.core.nth.call(null,c,1,null),f=cljs.core.nth.call(null,c,2,null),c=cljs.core.nth.call(null,
c,3,null);return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),c,new cljs.core.Keyword(null,"fair","fair",1684139423),f,new cljs.core.Keyword(null,"poor","poor",1462482211),e,new cljs.core.Keyword(null,"inclement","inclement",-550669382),d],null)}(),new cljs.core.Keyword(null,"stratus-base","stratus-base",-1631962478),a,new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574),b,new cljs.core.Keyword(null,"cumulus-base","cumulus-base",-578210868),
function(){var c=cljs.core.sort.call(null,cljs.core.repeatedly.call(null,3,function(a,b){return function(){return weathergen.ui.random_int.call(null,1E3,22E3,1E3)}}(a,b))),d=cljs.core.nth.call(null,c,0,null),e=cljs.core.nth.call(null,c,1,null),f=cljs.core.nth.call(null,c,2,null);return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),0,new cljs.core.Keyword(null,"fair","fair",1684139423),function(){var b=(new cljs.core.Keyword(null,"fair","fair",1684139423)).cljs$core$IFn$_invoke$arity$1(a)-
1E3;return b<f?b:f}(),new cljs.core.Keyword(null,"poor","poor",1462482211),function(){var a=b-1E3;return a<e?a:e}(),new cljs.core.Keyword(null,"inclement","inclement",-550669382),function(){var a=b-1E3;return a<d?a:d}()],null)}(),new cljs.core.Keyword(null,"contrails","contrails",1430581743),function(){var c=cljs.core.sort.call(null,cljs.core.repeatedly.call(null,4,function(a,b){return function(){return weathergen.ui.random_int.call(null,2E4,4E4,1E3)}}(a,b))),d=cljs.core.nth.call(null,c,0,null),e=
cljs.core.nth.call(null,c,1,null),f=cljs.core.nth.call(null,c,2,null),c=cljs.core.nth.call(null,c,3,null);return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),c,new cljs.core.Keyword(null,"fair","fair",1684139423),f,new cljs.core.Keyword(null,"poor","poor",1462482211),e,new cljs.core.Keyword(null,"inclement","inclement",-550669382),d],null)}()],null)};weathergen.ui.cloud_params=javelin.core.cell.call(null,weathergen.ui.default_cloud_params);
weathergen.ui.movement_params=javelin.core.cell.call(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"step","step",1288888124),60,new cljs.core.Keyword(null,"direction","direction",-633359395),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"heading","heading",-1312171873),135,new cljs.core.Keyword(null,"speed","speed",1257663751),20],null),new cljs.core.Keyword(null,"looping?","looping?",78344245),!1],null));
weathergen.ui.map_size=javelin.core.formula.call(null,function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null)-140;b=b<a?b:a;b=250>b?250:b;return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,b],null)}).call(null,weathergen.ui.window_size);
weathergen.ui.display_params=javelin.core.cell.call(null,new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"opacity","opacity",397153780),.33,new cljs.core.Keyword(null,"display","display",242065432),new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"mouse-mode","mouse-mode",-1901710690),new cljs.core.Keyword(null,"select","select",1147833503),new cljs.core.Keyword(null,"overlay","overlay",-139131598),null,new cljs.core.Keyword(null,"pressure-unit",
"pressure-unit",1615584243),new cljs.core.Keyword(null,"inhg","inhg",-863180091),new cljs.core.Keyword(null,"flight-paths","flight-paths",159519268),null,new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mission-name","mission-name",1479736582),null,new cljs.core.Keyword(null,"from","from",1815293044),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"day","day",-274800446),1,new cljs.core.Keyword(null,
"hour","hour",-555989214),5,new cljs.core.Keyword(null,"minute","minute",-642875969),0],null),new cljs.core.Keyword(null,"to","to",192099007),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"day","day",-274800446),1,new cljs.core.Keyword(null,"hour","hour",-555989214),10,new cljs.core.Keyword(null,"minute","minute",-642875969),0],null),new cljs.core.Keyword(null,"step","step",1288888124),15],null)],null));
weathergen.ui.map_display=javelin.core.cell.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"flight-path-size","flight-path-size",-1809746301),new cljs.core.Keyword(null,"icon-size","icon-size",414161352),new cljs.core.Keyword(null,"show-bullseye?","show-bullseye?",310289003),new cljs.core.Keyword(null,"brightness","brightness",1067055820),new cljs.core.Keyword(null,"show-airbase-status?","show-airbase-status?",-2059784435),new cljs.core.Keyword(null,"airbase-label-style",
"airbase-label-style",-1349798514),new cljs.core.Keyword(null,"show-airbase-squadrons?","show-airbase-squadrons?",1245487954),new cljs.core.Keyword(null,"text-size","text-size",-945618309),new cljs.core.Keyword(null,"show-text-background?","show-text-background?",-442833124)],[0,0,!0,.5,!0,new cljs.core.Keyword(null,"all","all",892129742),!0,0,!0]));
weathergen.ui.map_text_scale=javelin.core.formula.call(null,function(a,b){return a.call(null,4,(new cljs.core.Keyword(null,"text-size","text-size",-945618309)).cljs$core$IFn$_invoke$arity$1(b))}).call(null,Math.pow,weathergen.ui.map_display);weathergen.ui.map_icon_scale=javelin.core.formula.call(null,function(a,b){return a.call(null,4,(new cljs.core.Keyword(null,"icon-size","icon-size",414161352)).cljs$core$IFn$_invoke$arity$1(b))}).call(null,Math.pow,weathergen.ui.map_display);
weathergen.ui.map_show_text_background_QMARK_=javelin.core.formula.call(null,function(a){return(new cljs.core.Keyword(null,"show-text-background?","show-text-background?",-442833124)).cljs$core$IFn$_invoke$arity$1(a)}).call(null,weathergen.ui.map_display);weathergen.ui.selected_cell=javelin.core.cell.call(null,null);weathergen.ui.hover_cell=javelin.core.cell.call(null,null);weathergen.ui.mouse_location=javelin.core.cell.call(null,null);
weathergen.ui.mouse_raw_offset=javelin.core.cell.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,0],null));weathergen.ui.prevent_recomputation_QMARK_=javelin.core.cell.call(null,!1);
weathergen.ui.time_params=javelin.core.cell.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"displayed","displayed",-436192586),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"day","day",-274800446),1,new cljs.core.Keyword(null,"hour","hour",-555989214),5,new cljs.core.Keyword(null,"minute","minute",-642875969),0],null)],null));weathergen.ui.weather_data=javelin.core.cell.call(null,null);
weathergen.ui.weather_data_params=javelin.core.cell.call(null,null);weathergen.ui.computing=javelin.core.cell.call(null,!0);weathergen.ui.messages=javelin.core.cell.call(null,cljs.core.PersistentVector.EMPTY);weathergen.ui.mission=javelin.core.cell.call(null,null);weathergen.ui.hide_empty_airbases_QMARK_=javelin.core.cell.call(null,!0);weathergen.ui.hide_inoperable_airbases_QMARK_=javelin.core.cell.call(null,!1);weathergen.ui.included_squadron_types=javelin.core.cell.call(null,cljs.core.PersistentHashSet.EMPTY);
weathergen.ui.checked_airbases=javelin.core.cell.call(null,cljs.core.PersistentHashSet.EMPTY);weathergen.ui.highlighted_airbase=javelin.core.cell.call(null,null);
cljs.core.add_watch.call(null,weathergen.ui.mission,new cljs.core.Keyword(null,"reset-object-data-on-mission-change","reset-object-data-on-mission-change",1100510422),function(a,b,c,d){return javelin.core.dosync_STAR_.call(null,function(){cljs.core.reset_BANG_.call(null,weathergen.ui.highlighted_airbase,null);return cljs.core.reset_BANG_.call(null,weathergen.ui.checked_airbases,cljs.core.PersistentHashSet.EMPTY)})});weathergen.ui.settings=javelin.core.cell.call(null,weathergen.settings.load_settings.call(null));
weathergen.ui.zoom_speed=javelin.core.formula.call(null,function(a){a=(new cljs.core.Keyword(null,"zoom-speed","zoom-speed",1787688902)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(a)?a:.95}).call(null,weathergen.ui.settings);weathergen.ui.map_zoom=javelin.core.cell.call(null,1);weathergen.ui.map_pan=javelin.core.cell.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"x","x",2099068185),0,new cljs.core.Keyword(null,"y","y",-1757859776),0],null));
weathergen.ui.zoom_min=1;weathergen.ui.zoom_max=200;
weathergen.ui.map_viewbox=javelin.core.formula.call(null,function(a,b,c){var d=(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(a);a=cljs.core.nth.call(null,d,0,null);var d=cljs.core.nth.call(null,d,1,null),e=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;c=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"x","x",2099068185));e=cljs.core.get.call(null,
e,new cljs.core.Keyword(null,"y","y",-1757859776));return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"x","x",2099068185),c,new cljs.core.Keyword(null,"y","y",-1757859776),e,new cljs.core.Keyword(null,"width","width",-384071477),a/b,new cljs.core.Keyword(null,"height","height",1025178622),d/b],null)}).call(null,weathergen.ui.weather_params,weathergen.ui.map_zoom,weathergen.ui.map_pan);
weathergen.ui.display_mode=javelin.core.cell.call(null,new cljs.core.Keyword(null,"edit","edit",-1641834166));weathergen.ui.visible_sides=javelin.core.cell.call(null,null);
weathergen.ui.effective_visible_sides=javelin.core.formula.call(null,function(a,b,c){return cljs.core.not.call(null,a)?cljs.core.PersistentHashSet.EMPTY:cljs.core.not.call(null,b)?cljs.core.set.call(null,weathergen.falcon.files.mission.sides.call(null,a)):cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"edit","edit",-1641834166),c)?cljs.core.set.call(null,weathergen.falcon.files.mission.sides.call(null,a)):b}).call(null,weathergen.ui.mission,weathergen.ui.visible_sides,weathergen.ui.display_mode);
weathergen.ui.visible_teams=javelin.core.formula.call(null,function(a,b){return cljs.core.set.call(null,cljs.core.truth_(cljs.core.truth_(a)?b:a)?cljs.core.map.call(null,weathergen.falcon.files.mission.team_number,cljs.core.filter.call(null,function(c){return b.call(null,weathergen.falcon.files.mission.side.call(null,a,c))},weathergen.falcon.files.mission.teams.call(null,a))):weathergen.falcon.files.mission.teams.call(null,a))}).call(null,weathergen.ui.mission,weathergen.ui.effective_visible_sides);
weathergen.ui.briefing_notes=javelin.core.cell.call(null,"");
weathergen.ui.parse_build_info=function(a){return cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,function(a){var b=clojure.string.split.call(null,a,/=/);a=cljs.core.nth.call(null,b,0,null);b=cljs.core.nth.call(null,b,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.truth_(a)?a:"",cljs.core.truth_(b)?b:""],null)},cljs.core.remove.call(null,clojure.string.blank_QMARK_,clojure.string.split_lines.call(null,a))))};
weathergen.ui.build_info=javelin.core.cell.call(null,function(){var a=weathergen.filesystem.path_combine.call(null,weathergen.ui.electron.remote.app.getAppPath(),"build.txt");return cljs.core.truth_(weathergen.filesystem.exists_QMARK_.call(null,a))?weathergen.ui.parse_build_info.call(null,weathergen.filesystem.file_text.call(null,a)):null}());
weathergen.ui.flight_paths_layer=weathergen.ui.layers.flights.create.call(null,weathergen.ui.mission,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"map-zoom","map-zoom",1543291337),weathergen.ui.map_zoom,new cljs.core.Keyword(null,"map-text-scale","map-text-scale",1420206123),weathergen.ui.map_text_scale,new cljs.core.Keyword(null,"map-show-text-background?","map-show-text-background?",409410295),weathergen.ui.map_show_text_background_QMARK_,new cljs.core.Keyword(null,"visible-teams",
"visible-teams",-110455752),weathergen.ui.visible_teams],null));weathergen.ui.selected_cell_weather=javelin.core.formula.call(null,function(a,b,c){return a.call(null,c,(new cljs.core.Keyword(null,"coordinates","coordinates",-1225332668)).cljs$core$IFn$_invoke$arity$1(b))}).call(null,cljs.core.get,weathergen.ui.selected_cell,weathergen.ui.weather_data);
weathergen.ui.cell_count=javelin.core.formula.call(null,function(a){return(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(a)}).call(null,weathergen.ui.weather_params);weathergen.ui.wind_stability_areas=javelin.core.formula.call(null,function(a){return(new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204)).cljs$core$IFn$_invoke$arity$1(a)}).call(null,weathergen.ui.weather_params);
weathergen.ui.weather_overrides=javelin.core.formula.call(null,function(a){return(new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710)).cljs$core$IFn$_invoke$arity$1(a)}).call(null,weathergen.ui.weather_params);
weathergen.ui.forecast=javelin.core.formula.call(null,function(a,b,c){console.time("computing forecast");a=cljs.core.truth_(a)?weathergen.model.forecast.call(null,(new cljs.core.Keyword(null,"coordinates","coordinates",-1225332668)).cljs$core$IFn$_invoke$arity$1(a),function(){var a=(new cljs.core.Keyword(null,"max","max",61366548)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(b));return cljs.core.truth_(a)?weathergen.model.jump_to_time.call(null,
b,c,a):b}(),c,60,6):null;console.timeEnd("computing forecast");return a}).call(null,weathergen.ui.selected_cell,weathergen.ui.weather_params,weathergen.ui.movement_params);
weathergen.ui.location_type=javelin.core.formula.call(null,function(a,b){return cljs.core.truth_(b.call(null,(new cljs.core.Keyword(null,"location","location",1815599388)).cljs$core$IFn$_invoke$arity$1(a)))?new cljs.core.Keyword(null,"named","named",-422393479):cljs.core.truth_((new cljs.core.Keyword(null,"coordinates","coordinates",-1225332668)).cljs$core$IFn$_invoke$arity$1(a))?new cljs.core.Keyword(null,"coordinates","coordinates",-1225332668):new cljs.core.Keyword(null,"none","none",1333468478)}).call(null,
weathergen.ui.selected_cell,cljs.core.not_empty);weathergen.ui.pressure_unit=javelin.core.formula.call(null,function(a){return(new cljs.core.Keyword(null,"pressure-unit","pressure-unit",1615584243)).cljs$core$IFn$_invoke$arity$1(a)}).call(null,weathergen.ui.display_params);
weathergen.ui.all_squadrons=javelin.core.formula.call(null,function(a,b,c,d){return c.call(null,cljs.core.PersistentHashSet.EMPTY,b.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110),(new cljs.core.Keyword(null,"air","air",-104121788)).cljs$core$IFn$_invoke$arity$1(a.call(null,d))))}).call(null,weathergen.falcon.files.mission.order_of_battle,cljs.core.mapcat,cljs.core.into,weathergen.ui.mission);
weathergen.ui.all_squadron_types=javelin.core.formula.call(null,function(a,b,c,d,e){return b.call(null,cljs.core.PersistentHashSet.EMPTY,a.call(null,function(a){return e.call(null,d,a)},c))}).call(null,cljs.core.map,cljs.core.into,weathergen.ui.all_squadrons,weathergen.ui.mission,weathergen.falcon.files.mission.squadron_type);
weathergen.ui.included_squadrons=javelin.core.formula.call(null,function(a,b,c,d,e,f){return a.call(null,f.call(null,function(a){return c.call(null,e.call(null,d,a))},b))}).call(null,cljs.core.set,weathergen.ui.all_squadrons,weathergen.ui.included_squadron_types,weathergen.ui.mission,weathergen.falcon.files.mission.squadron_type,cljs.core.filter);
cljs.core.add_watch.call(null,weathergen.ui.all_squadron_types,new cljs.core.Keyword(null,"update-included-squadron-types","update-included-squadron-types",-1854825437),function(a,b,c,d){return cljs.core.reset_BANG_.call(null,weathergen.ui.included_squadron_types,d)});
weathergen.ui.list_airbase_QMARK_=function(a,b,c,d){d=0===cljs.core.count.call(null,cljs.core.filter.call(null,d,(new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110)).cljs$core$IFn$_invoke$arity$1(a)));a=0===(new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917)).cljs$core$IFn$_invoke$arity$1(a);b=d?b:d;c=cljs.core.truth_(b)?b:a?c:a;return cljs.core.not.call(null,c)};
weathergen.ui.all_airbases=javelin.core.formula.call(null,function(a,b){var c=cljs.core.truth_(null==b)?null:a.call(null,b);return cljs.core.truth_(null==c)?null:(new cljs.core.Keyword(null,"air","air",-104121788)).cljs$core$IFn$_invoke$arity$1(c)}).call(null,weathergen.falcon.files.mission.order_of_battle,weathergen.ui.mission);
weathergen.ui.listed_airbases=javelin.core.formula.call(null,function(a,b,c,d){return cljs.core.set.call(null,cljs.core.filter.call(null,function(a){return weathergen.ui.list_airbase_QMARK_.call(null,a,b,c,d)},a))}).call(null,weathergen.ui.all_airbases,weathergen.ui.hide_empty_airbases_QMARK_,weathergen.ui.hide_inoperable_airbases_QMARK_,weathergen.ui.included_squadrons);
weathergen.ui.displayed_airbases=javelin.core.formula.call(null,function(a,b){return clojure.set.intersection.call(null,a,b)}).call(null,weathergen.ui.checked_airbases,weathergen.ui.listed_airbases);weathergen.ui.worker_count=4;
weathergen.ui.workers=function(){var a=function(){return function c(a){return new cljs.core.LazySeq(null,function(){for(var d=a;;){var f=cljs.core.seq.call(null,d);if(f){var g=f,h=cljs.core.first.call(null,g),f=function(a,c,d,e){return function q(f){return new cljs.core.LazySeq(null,function(a,c,d,e){return function(){for(;;){var a=cljs.core.seq.call(null,f);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var d=cljs.core.chunk_first.call(null,a),e=cljs.core.count.call(null,d),g=cljs.core.chunk_buffer.call(null,
e);a:for(var h=0;;)if(h<e){var k=cljs.core._nth.call(null,d,h);cljs.core.chunk_append.call(null,g,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[c,k],null));h+=1}else{d=!0;break a}return d?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,g),q.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,g),null)}g=cljs.core.first.call(null,a);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[c,g],null),q.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,c,d,e),null,null)}}(d,h,g,f);if(f=cljs.core.seq.call(null,f.call(null,cljs.core.range.call(null,59))))return cljs.core.concat.call(null,f,c.call(null,cljs.core.rest.call(null,d)));d=cljs.core.rest.call(null,d)}else return null}},null,null)}.call(null,cljs.core.range.call(null,59))}();return cljs.core.map.call(null,function(a){return function(a,b){return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"worker",
"worker",938239996),new Worker("worker.js"),new cljs.core.Keyword(null,"n","n",562130025),a,new cljs.core.Keyword(null,"ch","ch",-554717905),cljs.core.async.chan.call(null),new cljs.core.Keyword(null,"cells","cells",-985166822),b],null)}}(a),cljs.core.range.call(null,weathergen.ui.worker_count),cljs.core.partition_all.call(null,3481/weathergen.ui.worker_count,a))}();weathergen.ui.command_ch=cljs.core.async.chan.call(null,cljs.core.async.dropping_buffer.call(null,1));
for(var seq__45922_45958=cljs.core.seq.call(null,weathergen.ui.workers),chunk__45923_45959=null,count__45924_45960=0,i__45925_45961=0;;)if(i__45925_45961<count__45924_45960){var map__45926_45962=cljs.core._nth.call(null,chunk__45923_45959,i__45925_45961),map__45926_45963__$1=null!=map__45926_45962&&(map__45926_45962.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===map__45926_45962.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,map__45926_45962):map__45926_45962,
worker_45964=cljs.core.get.call(null,map__45926_45963__$1,new cljs.core.Keyword(null,"worker","worker",938239996)),ch_45965=cljs.core.get.call(null,map__45926_45963__$1,new cljs.core.Keyword(null,"ch","ch",-554717905));worker_45964.onmessage=function(a,b,c,d,e,f,g,h){return function(k){var l=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(a,b,c,d,e,f,g,h,l){return function(){var m=function(){var m=function(a,b,c,d,e,f,g,h,l){return function(a){var b=a[1];return 1===
b?(b=weathergen.encoding.decode.call(null,k.data),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,a,2,l,b)):2===b?cljs.core.async.impl.ioc_helpers.return_chan.call(null,a,a[2]):null}}(a,b,c,d,e,f,g,h,l);return function(a,b,c,d,e,f,g,h,k,l){return function(){var a=null,b=function(){var b=[null,null,null,null,null,null,null];b[0]=a;b[1]=1;return b},c=function(a){for(;;){a:try{for(;;){var b=e.call(null,a);if(!cljs.core.keyword_identical_QMARK_.call(null,b,new cljs.core.Keyword(null,"recur","recur",
-437573268))){var c=b;break a}}}catch(Q){if(Q instanceof Object)a[5]=Q,cljs.core.async.impl.ioc_helpers.process_exception.call(null,a),c=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw Q;}if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268)))return c}},a=function(a){switch(arguments.length){case 0:return b.call(this);case 1:return c.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$0=
b;a.cljs$core$IFn$_invoke$arity$1=c;return a}()}(a,b,c,d,m,e,f,g,h,l)}(),n=function(){var a=m.call(null);a[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=e;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,n)}}(a,b,c,d,l,e,f,g,h));return l}}(seq__45922_45958,chunk__45923_45959,count__45924_45960,i__45925_45961,map__45926_45962,map__45926_45963__$1,worker_45964,ch_45965);var G__45968=seq__45922_45958,G__45969=chunk__45923_45959,G__45970=count__45924_45960,G__45971=
i__45925_45961+1,seq__45922_45958=G__45968,chunk__45923_45959=G__45969,count__45924_45960=G__45970,i__45925_45961=G__45971}else{var temp__5278__auto___45972=cljs.core.seq.call(null,seq__45922_45958);if(temp__5278__auto___45972){var seq__45922_45973__$1=temp__5278__auto___45972;if(cljs.core.chunked_seq_QMARK_.call(null,seq__45922_45973__$1))var c__24249__auto___45974=cljs.core.chunk_first.call(null,seq__45922_45973__$1),G__45975=cljs.core.chunk_rest.call(null,seq__45922_45973__$1),G__45976=c__24249__auto___45974,
G__45977=cljs.core.count.call(null,c__24249__auto___45974),G__45978=0,seq__45922_45958=G__45975,chunk__45923_45959=G__45976,count__45924_45960=G__45977,i__45925_45961=G__45978;else{var map__45942_45979=cljs.core.first.call(null,seq__45922_45973__$1),map__45942_45980__$1=null!=map__45942_45979&&(map__45942_45979.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===map__45942_45979.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,map__45942_45979):map__45942_45979,worker_45981=
cljs.core.get.call(null,map__45942_45980__$1,new cljs.core.Keyword(null,"worker","worker",938239996)),ch_45982=cljs.core.get.call(null,map__45942_45980__$1,new cljs.core.Keyword(null,"ch","ch",-554717905));worker_45981.onmessage=function(a,b,c,d,e,f,g,h,k,l){return function(m){var n=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(a,b,c,d,e,f,g,h,k,l,n){return function(){var p=function(){var p=function(a,b,c,d,e,f,g,h,k,l,n){return function(a){var b=a[1];return 1===
b?(b=weathergen.encoding.decode.call(null,m.data),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,a,2,k,b)):2===b?cljs.core.async.impl.ioc_helpers.return_chan.call(null,a,a[2]):null}}(a,b,c,d,e,f,g,h,k,l,n);return function(a,b,c,d,e,f,g,h,k,l,m,n){return function(){var a=null,b=function(){var b=[null,null,null,null,null,null,null];b[0]=a;b[1]=1;return b},c=function(a){for(;;){a:try{for(;;){var b=e.call(null,a);if(!cljs.core.keyword_identical_QMARK_.call(null,b,new cljs.core.Keyword(null,"recur",
"recur",-437573268))){var c=b;break a}}}catch(X){if(X instanceof Object)a[5]=X,cljs.core.async.impl.ioc_helpers.process_exception.call(null,a),c=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw X;}if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268)))return c}},a=function(a){switch(arguments.length){case 0:return b.call(this);case 1:return c.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};a.cljs$core$IFn$_invoke$arity$0=
b;a.cljs$core$IFn$_invoke$arity$1=c;return a}()}(a,b,c,d,p,e,f,g,h,k,l,n)}(),q=function(){var a=p.call(null);a[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=e;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,q)}}(a,b,c,d,n,e,f,g,h,k,l));return n}}(seq__45922_45958,chunk__45923_45959,count__45924_45960,i__45925_45961,map__45942_45979,map__45942_45980__$1,worker_45981,ch_45982,seq__45922_45973__$1,temp__5278__auto___45972);var G__45985=cljs.core.next.call(null,
seq__45922_45973__$1),G__45986=null,G__45987=0,G__45988=0,seq__45922_45958=G__45985,chunk__45923_45959=G__45986,count__45924_45960=G__45987,i__45925_45961=G__45988}}else break}weathergen.ui.post_message=function(a,b){return a.postMessage(b)};var c__40874__auto___46231=cljs.core.async.chan.call(null,1);
cljs.core.async.impl.dispatch.run.call(null,function(a){return function(){var b=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=
c;break a}}}catch(n){if(n instanceof Object)b[5]=n,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw n;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=
d;return b}()}(function(a){return function(b){var c,d=b[1];if(7===d){var e=b[7];var k=b[8];var l=b[9];var m=cljs.core._nth.call(null,l,e),n=cljs.core.not.call(null,null==m);b[8]=m;var p=b;p[1]=n?10:11;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(20===d){var q=p=b;q[2]=null;q[1]=21;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(27===d){var r=b[2];p=b;cljs.core.truth_(r)?p[1]=31:p[1]=32;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(1===d){var u=
p=b;u[2]=null;u[1]=2;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(24===d){var t=b[2],v=p=b;v[2]=t;v[1]=21;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(39===d){var w=cljs.core.async.timeout.call(null,500);p=b;return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,p,42,w)}if(46===d){var x=b[10];var y=b[11];var z=b[2],A=cljs.core.nth.call(null,z,0,null),J=cljs.core.nth.call(null,z,1,null),B=cljs.core.disj.call(null,x,J),C=cljs.core.merge.call(null,y,A);b[10]=
B;b[11]=C;var G=p=b;G[2]=null;G[1]=34;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(4===d){var E=b[12];var D=b[2];var L=cljs.core.nth.call(null,D,0,null);var F=cljs.core.nth.call(null,D,1,null);var K=cljs.core.seq.call(null,weathergen.ui.workers);l=null;e=c=0;b[7]=e;b[13]=K;b[12]=D;b[14]=L;b[15]=F;b[16]=c;b[9]=l;var M=p=b;M[2]=null;M[1]=5;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(15===d){var I=b[2],H=p=b;H[2]=I;H[1]=12;return new cljs.core.Keyword(null,"recur",
"recur",-437573268)}if(21===d){var P=b[2],O=p=b;O[2]=P;O[1]=9;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(31===d){var N=b[17];var Q=cljs.core.apply.call(null,cljs.core.hash_map,N),S=p=b;S[2]=Q;S[1]=33;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(32===d){N=b[17];var V=p=b;V[2]=N;V[1]=33;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(40===d){var T=p=b;T[2]=null;T[1]=41;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(33===d){var U=
b[18];F=b[15];var R=b[2],X=cljs.core.get.call(null,R,new cljs.core.Keyword(null,"cells","cells",-985166822)),Z=cljs.core.get.call(null,R,new cljs.core.Keyword(null,"worker","worker",938239996)),Y=cljs.core.assoc.call(null,F,new cljs.core.Keyword(null,"cells","cells",-985166822),X),aa=weathergen.encoding.encode.call(null,Y),ca=weathergen.ui.post_message.call(null,Z,aa);K=cljs.core.next.call(null,U);l=null;e=c=0;b[7]=e;b[13]=K;b[19]=ca;b[16]=c;b[9]=l;var W=p=b;W[2]=null;W[1]=5;return new cljs.core.Keyword(null,
"recur","recur",-437573268)}if(13===d){var ba=p=b;ba[2]=!0;ba[1]=15;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(22===d){U=b[18];var da=cljs.core.chunk_first.call(null,U),ga=cljs.core.chunk_rest.call(null,U),ea=cljs.core.count.call(null,da);K=ga;l=da;c=ea;e=0;b[7]=e;b[13]=K;b[16]=c;b[9]=l;var la=p=b;la[2]=null;la[1]=5;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(36===d){x=b[10];E=b[12];L=b[14];y=b[11];var ha=b[20];F=b[15];var fa=function(){return function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(){console.timeEnd("compute-weather");cljs.core.reset_BANG_.call(null,weathergen.ui.weather_data,g);return cljs.core.reset_BANG_.call(null,weathergen.ui.weather_data_params,c)}}(E,L,F,"Receive weather results",ha,x,y,x,E,L,y,ha,F,d,a)}(),ia=javelin.core.dosync_STAR_.call(null,fa),ja=cljs.core.deref.call(null,weathergen.ui.movement_params),ma=(new cljs.core.Keyword(null,"looping?","looping?",78344245)).cljs$core$IFn$_invoke$arity$1(ja);b[21]=ia;p=b;cljs.core.truth_(ma)?
p[1]=39:p[1]=40;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(41===d){var na=b[2],za=p=b;za[2]=na;za[1]=38;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(43===d){var Wa=cljs.core.deref.call(null,weathergen.ui.movement_params),Xa=(new cljs.core.Keyword(null,"step","step",1288888124)).cljs$core$IFn$_invoke$arity$1(Wa),Ya=weathergen.ui.move.call(null,Math.floor(-360/Xa)),Ja=p=b;Ja[2]=Ya;Ja[1]=45;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(29===
d){var Ka=p=b;Ka[2]=!1;Ka[1]=30;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(44===d){var ta=weathergen.ui.move.call(null,1),tb=p=b;tb[2]=ta;tb[1]=45;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(6===d){var La=b[2],Mb=cljs.core.reset_BANG_.call(null,weathergen.ui.computing,!0),ub=console.time("compute-weather");ha=console.time("Receive weather results");var Nb=cljs.core.map.call(null,new cljs.core.Keyword(null,"ch","ch",-554717905),weathergen.ui.workers),vb=cljs.core.set.call(null,
Nb),wb=cljs.core.PersistentHashMap.EMPTY;x=vb;y=wb;b[10]=x;b[22]=ub;b[11]=y;b[23]=Mb;b[24]=La;b[20]=ha;var Aa=p=b;Aa[2]=null;Aa[1]=34;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(28===d){var xb=p=b;xb[2]=!0;xb[1]=30;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(25===d){N=b[17];var yb=cljs.core.PROTOCOL_SENTINEL===N.cljs$core$ISeq$,Ob=N.cljs$lang$protocol_mask$partition0$&64||yb;p=b;cljs.core.truth_(Ob)?p[1]=28:p[1]=29;return new cljs.core.Keyword(null,"recur",
"recur",-437573268)}if(34===d){x=b[10];var Ma=cljs.core.empty_QMARK_.call(null,x);p=b;p[1]=Ma?36:37;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(17===d){k=b[8];var cb=p=b;cb[2]=k;cb[1]=18;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(3===d){var Pb=b[2];p=b;return cljs.core.async.impl.ioc_helpers.return_chan.call(null,p,Pb)}if(12===d){var zb=b[2];p=b;cljs.core.truth_(zb)?p[1]=16:p[1]=17;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(2===d)return p=
b,cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,p,4,weathergen.ui.command_ch);if(23===d){N=b[17];U=b[18];var db=cljs.core.first.call(null,U),Ab=cljs.core.not.call(null,null==db);b[17]=db;p=b;p[1]=Ab?25:26;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(35===d){var Qb=b[2],eb=console.timeEnd("Receive weather results"),Rb=cljs.core.reset_BANG_.call(null,weathergen.ui.computing,!1);b[25]=Rb;b[26]=Qb;b[27]=eb;var Na=p=b;Na[2]=null;Na[1]=2;return new cljs.core.Keyword(null,"recur",
"recur",-437573268)}if(19===d){U=b[18];var Bb=cljs.core.chunked_seq_QMARK_.call(null,U);p=b;p[1]=Bb?22:23;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(11===d){var fb=p=b;fb[2]=!1;fb[1]=12;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(9===d){var Sb=b[2],ua=p=b;ua[2]=Sb;ua[1]=6;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(5===d){e=b[7];c=b[16];var va=e<c;p=b;cljs.core.truth_(va)?p[1]=7:p[1]=8;return new cljs.core.Keyword(null,"recur","recur",
-437573268)}if(14===d){var Ba=p=b;Ba[2]=!1;Ba[1]=15;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(45===d){var Oa=b[2],ka=p=b;ka[2]=Oa;ka[1]=41;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(26===d){var oa=p=b;oa[2]=!1;oa[1]=27;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(16===d){k=b[8];var ya=cljs.core.apply.call(null,cljs.core.hash_map,k),Ca=p=b;Ca[2]=ya;Ca[1]=18;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(38===d){var Za=
b[2],$a=p=b;$a[2]=Za;$a[1]=35;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(30===d){var gb=b[2],pa=p=b;pa[2]=gb;pa[1]=27;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(10===d){k=b[8];var Da=cljs.core.PROTOCOL_SENTINEL===k.cljs$core$ISeq$,qa=k.cljs$lang$protocol_mask$partition0$&64||Da;p=b;cljs.core.truth_(qa)?p[1]=13:p[1]=14;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(18===d){e=b[7];K=b[13];F=b[15];c=b[16];l=b[9];var wa=b[2],Pa=cljs.core.get.call(null,
wa,new cljs.core.Keyword(null,"cells","cells",-985166822)),Ea=cljs.core.get.call(null,wa,new cljs.core.Keyword(null,"worker","worker",938239996)),Fa=cljs.core.assoc.call(null,F,new cljs.core.Keyword(null,"cells","cells",-985166822),Pa),Ga=weathergen.encoding.encode.call(null,Fa),ra=weathergen.ui.post_message.call(null,Ea,Ga),Qa=K,Ra=l,Sa=c,Ha=e+1;b[28]=ra;b[7]=Ha;b[13]=Qa;b[16]=Sa;b[9]=Ra;var xa=p=b;xa[2]=null;xa[1]=5;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(42===d){var Ia=
b[2],Ta=cljs.core.deref.call(null,weathergen.ui.weather_data_params),ab=(new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(Ta),sa=(new cljs.core.Keyword(null,"current","current",-1088038603)).cljs$core$IFn$_invoke$arity$1(ab),Ua=weathergen.time.campaign_time__GT_minutes.call(null,sa),bb=cljs.core.deref.call(null,weathergen.ui.weather_data_params),hb=(new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(bb),ib=(new cljs.core.Keyword(null,
"max","max",61366548)).cljs$core$IFn$_invoke$arity$1(hb),Cb=weathergen.time.campaign_time__GT_minutes.call(null,ib),jb=cljs.core._EQ_.call(null,Ua,Cb);b[29]=Ia;p=b;p[1]=jb?43:44;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(37===d){x=b[10];var Db=cljs.core.vec.call(null,x);p=b;return cljs.core.async.ioc_alts_BANG_.call(null,p,46,Db)}if(8===d){K=b[13];U=b[18];var kb=cljs.core.seq.call(null,K);b[18]=kb;p=b;p[1]=kb?19:20;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return null}}(a),
a)}(),c=function(){var c=b.call(null);c[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=a;return c}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,c)}}(c__40874__auto___46231));
weathergen.ui.recompute=function(a){var b=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(b){return function(){var c=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(q){if(q instanceof
Object)b[5]=q,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw q;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(b){return function(b){var c=
b[1];if(1===c){var c=cljs.core.PersistentVector.EMPTY_NODE,d=[new cljs.core.Keyword(null,"compute-weather","compute-weather",-1681954694),a],c=new cljs.core.PersistentVector(null,2,5,c,d,null);return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,b,2,weathergen.ui.command_ch,c)}return 2===c?cljs.core.async.impl.ioc_helpers.return_chan.call(null,b,b[2]):null}}(b),b)}(),e=function(){var a=c.call(null);a[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=b;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,
e)}}(b));return b};javelin.core.formula.call(null,function(a,b){return cljs.core.truth_(function(){var c=cljs.core.not.call(null,b);return c?a:c}())?weathergen.ui.recompute.call(null,a):null}).call(null,weathergen.ui.weather_params,weathergen.ui.prevent_recomputation_QMARK_);
weathergen.ui.move=function(a){return javelin.core.dosync_STAR_.call(null,function(){var b=a*(new cljs.core.Keyword(null,"step","step",1288888124)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.movement_params)),c=weathergen.time.campaign_time__GT_minutes.call(null,(new cljs.core.Keyword(null,"current","current",-1088038603)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params)))),
b=c+b;var d=(new cljs.core.Keyword(null,"max","max",61366548)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params)));cljs.core.truth_(d)&&(d=weathergen.time.campaign_time__GT_minutes.call(null,d),b=d<b?d:b);c=(b-c)/(new cljs.core.Keyword(null,"step","step",1288888124)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.movement_params));c=cljs.core.swap_BANG_.call(null,
weathergen.ui.weather_params,weathergen.model.step,cljs.core.deref.call(null,weathergen.ui.movement_params),c);c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"time","time",1385887882));return cljs.core.swap_BANG_.call(null,weathergen.ui.time_params,cljs.core.assoc,new cljs.core.Keyword(null,"displayed","displayed",-436192586),(new cljs.core.Keyword(null,
"current","current",-1088038603)).cljs$core$IFn$_invoke$arity$1(c))})};
weathergen.ui.jump_to_time_STAR_=function(a){return javelin.core.dosync_STAR_.call(null,function(){var b=cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,weathergen.model.jump_to_time,cljs.core.deref.call(null,weathergen.ui.movement_params),a),b=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"time","time",1385887882));return cljs.core.swap_BANG_.call(null,
weathergen.ui.time_params,cljs.core.assoc,new cljs.core.Keyword(null,"displayed","displayed",-436192586),(new cljs.core.Keyword(null,"current","current",-1088038603)).cljs$core$IFn$_invoke$arity$1(b))})};
weathergen.ui.jump_to_time=function(){var a=(new cljs.core.Keyword(null,"displayed","displayed",-436192586)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.time_params)),b=(new cljs.core.Keyword(null,"max","max",61366548)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params)));return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"edit","edit",-1641834166),
cljs.core.deref.call(null,weathergen.ui.display_mode))||cljs.core.not.call(null,b)||weathergen.time.campaign_time__GT_minutes.call(null,a)<=weathergen.time.campaign_time__GT_minutes.call(null,b)?weathergen.ui.jump_to_time_STAR_.call(null,(new cljs.core.Keyword(null,"displayed","displayed",-436192586)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.time_params))):null};
weathergen.ui.set_time=function(){return cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,weathergen.model.set_time,(new cljs.core.Keyword(null,"displayed","displayed",-436192586)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.time_params)))};
weathergen.ui.change_location=function(a,b){return cljs.core.empty_QMARK_.call(null,b)?cljs.core.reset_BANG_.call(null,weathergen.ui.selected_cell,null):cljs.core.reset_BANG_.call(null,weathergen.ui.selected_cell,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"location","location",1815599388),b,new cljs.core.Keyword(null,"coordinates","coordinates",-1225332668),cljs.core.mapv.call(null,cljs.core.long$,cljs.core.juxt.call(null,new cljs.core.Keyword(null,"x","x",2099068185),new cljs.core.Keyword(null,
"y","y",-1757859776)).call(null,weathergen.coordinates.fgrid__GT_weather.call(null,a,(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(b),(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(b))))],null))};weathergen.ui.mission_name_base=function(a){if(cljs.core.empty_QMARK_.call(null,a))return"vmt";var b=a.lastIndexOf(".");return 0>b?a:cljs.core.subs.call(null,a,0,b)};
weathergen.ui.safari_safe_binary=function(a){return cljs.core.truth_(weathergen.ui.safari_QMARK_)?new Blob([a],{type:"application/octet-stream"}):a};weathergen.ui.fmap_filename=function(a){return goog.string.format("%d%02d%02d.fmap",(new cljs.core.Keyword(null,"day","day",-274800446)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"hour","hour",-555989214)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"minute","minute",-642875969)).cljs$core$IFn$_invoke$arity$1(a))};
weathergen.ui.twx_filename=function(a){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.mission_name_base.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(".twx")].join("")};
weathergen.ui.save_data=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"data","data",-232669377));var c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"title","title",636505583)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"filters","filters",974726919)),b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"filename","filename",-1428840783)),c=weathergen.ui.electron.remote.dialog.showSaveDialog(cljs.core.clj__GT_js.call(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),c,new cljs.core.Keyword(null,"defaultPath","defaultPath",-582313676),weathergen.filesystem.path_combine.call(null,weathergen.falcon.files.mission.campaign_dir.call(null,cljs.core.deref.call(null,weathergen.ui.mission)),b),new cljs.core.Keyword(null,"filters","filters",974726919),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[d],null)],null)));return cljs.core.truth_(c)?a instanceof Blob?weathergen.ui.common.save_blob_async.call(null,a,c):weathergen.filesystem.save_data.call(null,c,a):null};
weathergen.ui.save_fmap=function(a,b){var c=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"current","current",-1088038603)],null)),d=(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(a),e=cljs.core.nth.call(null,d,0,null),f=cljs.core.nth.call(null,d,1,null),g=cljs.core._EQ_.call(null,a,weathergen.ui.weather_data_params)?
b:weathergen.model.weather_grid.call(null,cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"cells","cells",-985166822),function(){return function(a,b,c,d){return function p(e){return new cljs.core.LazySeq(null,function(a,b,c,d){return function(){for(var f=e;;){var g=cljs.core.seq.call(null,f);if(g){var h=g,k=cljs.core.first.call(null,h),g=function(a,b,c,d,e,f,g,h){return function K(k){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h){return function(){for(;;){var a=cljs.core.seq.call(null,
k);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var c=cljs.core.chunk_first.call(null,a),d=cljs.core.count.call(null,c),e=cljs.core.chunk_buffer.call(null,d);a:for(var f=0;;)if(f<d){var g=cljs.core._nth.call(null,c,f);cljs.core.chunk_append.call(null,e,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,g],null));f+=1}else{c=!0;break a}return c?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),K.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,
cljs.core.chunk.call(null,e),null)}e=cljs.core.first.call(null,a);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,e],null),K.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h),null,null)}}(f,k,h,g,a,b,c,d);if(g=cljs.core.seq.call(null,g.call(null,cljs.core.range.call(null,d))))return cljs.core.concat.call(null,g,p.call(null,cljs.core.rest.call(null,f)));f=cljs.core.rest.call(null,f)}else return null}}}(a,b,c,d),
null,null)}}(c,d,e,f).call(null,cljs.core.range.call(null,e))}())),g=weathergen.fmap.get_blob.call(null,g,e,f);return weathergen.ui.save_data.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"data","data",-232669377),weathergen.ui.safari_safe_binary.call(null,g),new cljs.core.Keyword(null,"title","title",636505583),"Save FMAP",new cljs.core.Keyword(null,"filters","filters",974726919),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name","name",1843675177),
"FMAP Files",new cljs.core.Keyword(null,"extension","extension",1453374065),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["fmap"],null)],null),new cljs.core.Keyword(null,"filename","filename",-1428840783),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.mission_name_base.call(null,(new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.mission)))),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.fmap_filename.call(null,c))].join("")],null))};
weathergen.ui.settings_blob=function(){return new Blob([cljs.core.pr_str.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"weather-params","weather-params",-259271365),cljs.core.deref.call(null,weathergen.ui.weather_params),new cljs.core.Keyword(null,"movement-params","movement-params",293385966),cljs.core.deref.call(null,weathergen.ui.movement_params),new cljs.core.Keyword(null,"display-params","display-params",573405707),cljs.core.deref.call(null,weathergen.ui.display_params),
new cljs.core.Keyword(null,"cloud-params","cloud-params",-540447983),cljs.core.deref.call(null,weathergen.ui.cloud_params),new cljs.core.Keyword(null,"revision","revision",-1350113114),weathergen.ui.revision],null))],{type:"text/plain"})};weathergen.ui.settings_filename=function(a){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.mission_name_base.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(".vmtw")].join("")};
weathergen.ui.save_weather_settings=function(a){return weathergen.ui.save_data.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"data","data",-232669377),cljs.core.pr_str.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"weather-params","weather-params",-259271365),cljs.core.deref.call(null,weathergen.ui.weather_params),new cljs.core.Keyword(null,"movement-params","movement-params",293385966),cljs.core.deref.call(null,weathergen.ui.movement_params),
new cljs.core.Keyword(null,"display-params","display-params",573405707),cljs.core.deref.call(null,weathergen.ui.display_params),new cljs.core.Keyword(null,"cloud-params","cloud-params",-540447983),cljs.core.deref.call(null,weathergen.ui.cloud_params),new cljs.core.Keyword(null,"revision","revision",-1350113114),weathergen.ui.revision],null)),new cljs.core.Keyword(null,"title","title",636505583),"Save weather settings",new cljs.core.Keyword(null,"filename","filename",-1428840783),weathergen.ui.settings_filename.call(null,
(new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.mission))),new cljs.core.Keyword(null,"filters","filters",974726919),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name","name",1843675177),"VMT Weather Settings",new cljs.core.Keyword(null,"extension","extension",1453374065),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,["vmtw"],null)],null)],null)],null))};weathergen.ui.twx_blob=function(a,b){return new Blob([weathergen.twx.get_twx.call(null,a,b)])};
weathergen.ui.save_twx=function(a,b,c){return weathergen.ui.save_data.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"data","data",-232669377),weathergen.ui.safari_safe_binary.call(null,weathergen.ui.twx_blob.call(null,a,b)),new cljs.core.Keyword(null,"title","title",636505583),"Save TWX",new cljs.core.Keyword(null,"filters","filters",974726919),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"name","name",1843675177),"TWX Files",new cljs.core.Keyword(null,"extension","extension",1453374065),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["twx"],null)],null)],null),new cljs.core.Keyword(null,"filename","filename",-1428840783),weathergen.ui.twx_filename.call(null,c)],null))};
weathergen.ui.load_weather_settings=function(a){a=weathergen.ui.electron.remote.dialog.showOpenDialog(cljs.core.clj__GT_js.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"title","title",636505583),"Select a VMT or Weathergen Weather File",new cljs.core.Keyword(null,"properties","properties",685819552),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["openFile"],null),new cljs.core.Keyword(null,"defaultPath","defaultPath",-582313676),weathergen.falcon.files.mission.campaign_dir.call(null,
cljs.core.deref.call(null,weathergen.ui.mission)),new cljs.core.Keyword(null,"filters","filters",974726919),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name","name",1843675177),"VMT Weather Settings",new cljs.core.Keyword(null,"extensions","extensions",-1103629196),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["vmtw"],null)],null),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"name","name",1843675177),"WeatherGen Settings",new cljs.core.Keyword(null,"extensions","extensions",-1103629196),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["edn"],null)],null)],null)],null)));var b=cljs.core.nth.call(null,a,0,null);if(cljs.core.truth_(b)){var c=weathergen.model.upgrade.call(null,cljs.reader.read_string.call(null,weathergen.filesystem.file_text.call(null,b)),weathergen.ui.revision),d=weathergen.falcon.files.mission.mission_time.call(null,
cljs.core.deref.call(null,weathergen.ui.mission));return javelin.core.dosync_STAR_.call(null,function(a,b,c,d){return function(){cljs.core.reset_BANG_.call(null,weathergen.ui.weather_params,cljs.core.assoc_in.call(null,(new cljs.core.Keyword(null,"weather-params","weather-params",-259271365)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"current","current",
-1088038603)],null),b));cljs.core.reset_BANG_.call(null,weathergen.ui.display_params,cljs.core.assoc.call(null,(new cljs.core.Keyword(null,"display-params","display-params",573405707)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"mission-name","mission-name",1479736582),null,new cljs.core.Keyword(null,"from","from",1815293044),b,new cljs.core.Keyword(null,"to","to",192099007),
weathergen.time.add_minutes.call(null,b,360),new cljs.core.Keyword(null,"step","step",1288888124),(new cljs.core.Keyword(null,"step","step",1288888124)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"movement-params","movement-params",293385966)).cljs$core$IFn$_invoke$arity$1(a))],null)));cljs.core.reset_BANG_.call(null,weathergen.ui.movement_params,(new cljs.core.Keyword(null,"movement-params","movement-params",293385966)).cljs$core$IFn$_invoke$arity$1(a));cljs.core.reset_BANG_.call(null,
weathergen.ui.cloud_params,(new cljs.core.Keyword(null,"cloud-params","cloud-params",-540447983)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core.swap_BANG_.call(null,weathergen.ui.time_params,cljs.core.assoc,new cljs.core.Keyword(null,"displayed","displayed",-436192586),b)}}(c,d,a,b))}return null};
hoplon.core.do_watch.call(null,weathergen.ui.mission,function(a,b){if(cljs.core.truth_(b)){var c=weathergen.falcon.files.mission.mission_time.call(null,b);cljs.core.swap_BANG_.call(null,weathergen.ui.display_params,cljs.core.update,new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),function(a){return function(b){return cljs.core.assoc.call(null,b,new cljs.core.Keyword(null,"from","from",1815293044),a,new cljs.core.Keyword(null,"to","to",192099007),weathergen.time.add_minutes.call(null,
a,360))}}(c));cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,weathergen.model.jump_to_time,cljs.core.deref.call(null,weathergen.ui.movement_params),c);return cljs.core.swap_BANG_.call(null,weathergen.ui.time_params,cljs.core.assoc_in,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"displayed","displayed",-436192586)],null),c)}return null});
weathergen.ui.load_mission=function(a,b){var c=console.time("load-mission"),d=function(){var d=function(){console.time("read-mission");var c=weathergen.falcon.files.mission.read_mission.call(null,a,b);console.timeEnd("read-mission");return c}();return weathergen.progress.with_step.call(null,"Preparing views",function(a,b,c){return function(){return javelin.core.dosync_STAR_.call(null,function(a,b,c){return function(){cljs.core.reset_BANG_.call(null,weathergen.ui.mission,a);weathergen.falcon.files.mission.mission_time.call(null,
cljs.core.deref.call(null,weathergen.ui.mission));return cljs.core.reset_BANG_.call(null,weathergen.ui.visible_sides,cljs.core.PersistentHashSet.createAsIfByAssoc([weathergen.falcon.files.mission.side.call(null,a,weathergen.falcon.files.mission.last_player_team.call(null,a))]))}}(a,b,c))}}(d,"load-mission",c))}();console.timeEnd("load-mission");return d};weathergen.ui.compress=function(a){return weathergen.ui.zlib.gzipSync(a)};weathergen.ui.decompress=function(a){return weathergen.ui.zlib.gunzipSync(a)};
weathergen.ui.StringDecoder=require("string_decoder").StringDecoder;weathergen.ui.buf__GT_string=function(a){return(new weathergen.ui.StringDecoder).write(a)};weathergen.ui.string__GT_buf=function(a){return Buffer.from(a)};
weathergen.ui.load_briefing=function(a,b){return weathergen.progress.with_step.call(null,"Reading briefing file",function(){var c=weathergen.encoding.decode.call(null,weathergen.ui.decompress.call(null,weathergen.filesystem.file_buffer.call(null,b))),d=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"revision","revision",-1350113114)),f=cljs.core.get.call(null,
d,new cljs.core.Keyword(null,"install-id","install-id",-1310868737)),g=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"briefing","briefing",-176308969));taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.ui",null,951,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(b,c,d,e,f,g){return function(){return new cljs.core.PersistentVector(null,
7,5,cljs.core.PersistentVector.EMPTY_NODE,["load-briefing",new cljs.core.Keyword(null,"installations","installations",-2091217739),a,new cljs.core.Keyword(null,"revision","revision",-1350113114),e,new cljs.core.Keyword(null,"briefing?","briefing?",-568550789),null!=g],null)}}(c,d,d,e,f,g),null),null,167882470);var h=weathergen.progress.with_step.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Loading briefing from "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""),function(b,c,d,
e,f,g){return function(){var b=cljs.core.get_in.call(null,g,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"build-info","build-info",-622713066),"VERSION"],null)),c=cljs.core.get.call(null,cljs.core.deref.call(null,weathergen.ui.build_info),"VERSION");cljs.core._EQ_.call(null,b,c)||weathergen.progress.step_warn.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("The version used to save this briefing file was "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(b)?
b:"(no version present)"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(". The version of VMT you are running is "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(c)?c:"(no version present)"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(". While different versions of VMT generally work just fine together, if anything doesn't work right you might want to make sure you and the mission creator are using the same version.")].join(""));return weathergen.falcon.files.mission.briefing__GT_mission.call(null,
a,g)}}(c,d,d,e,f,g)),k=function(a,b,c,d,e,f,g){return function(a){return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"editing?","editing?",1646440800),!1)}}(h,c,d,d,e,f,g);return weathergen.progress.with_step.call(null,"Preparing views",function(a,b,c,d,e,f,g,h){return function(){return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h){return function(){cljs.core.reset_BANG_.call(null,weathergen.ui.display_mode,new cljs.core.Keyword(null,"briefing","briefing",-176308969));cljs.core.reset_BANG_.call(null,
weathergen.ui.mission,a);cljs.core.reset_BANG_.call(null,weathergen.ui.visible_sides,(new cljs.core.Keyword(null,"visible-sides","visible-sides",391079481)).cljs$core$IFn$_invoke$arity$1(e));cljs.core.reset_BANG_.call(null,weathergen.ui.weather_params,cljs.core.assoc_in.call(null,cljs.core.update.call(null,cljs.core.update.call(null,(new cljs.core.Keyword(null,"weather-params","weather-params",-259271365)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"weather","weather",1320452344)).cljs$core$IFn$_invoke$arity$1(e)),
new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204),function(a,b,c,d,e,f,g,h){return function(a){return cljs.core.map.call(null,b,a)}}(a,b,c,d,e,f,g,h)),new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),function(a,b,c,d,e,f,g,h){return function(a){return cljs.core.map.call(null,b,a)}}(a,b,c,d,e,f,g,h)),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,
"max","max",61366548)],null),weathergen.falcon.files.mission.mission_time.call(null,a)));cljs.core.reset_BANG_.call(null,weathergen.ui.cloud_params,(new cljs.core.Keyword(null,"cloud-params","cloud-params",-540447983)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"weather","weather",1320452344)).cljs$core$IFn$_invoke$arity$1(e)));cljs.core.reset_BANG_.call(null,weathergen.ui.movement_params,(new cljs.core.Keyword(null,"movement-params","movement-params",293385966)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,
"weather","weather",1320452344)).cljs$core$IFn$_invoke$arity$1(e)));cljs.core.reset_BANG_.call(null,weathergen.ui.display_params,(new cljs.core.Keyword(null,"display-params","display-params",573405707)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"weather","weather",1320452344)).cljs$core$IFn$_invoke$arity$1(e)));return cljs.core.reset_BANG_.call(null,weathergen.ui.briefing_notes,function(){var a=(new cljs.core.Keyword(null,"briefing-notes","briefing-notes",-1524193117)).cljs$core$IFn$_invoke$arity$1(e);
return cljs.core.truth_(a)?a:""}())}}(a,b,c,d,e,f,g,h))}}(h,k,c,d,d,e,f,g))})};
weathergen.ui.save_briefing=function(a,b){return weathergen.ui.save_data.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"data","data",-232669377),weathergen.ui.compress.call(null,weathergen.encoding.encode.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"revision","revision",-1350113114),weathergen.ui.revision,new cljs.core.Keyword(null,"briefing","briefing",-176308969),weathergen.falcon.files.mission.mission__GT_briefing.call(null,cljs.core.deref.call(null,
weathergen.ui.mission),a,cljs.core.deref.call(null,weathergen.ui.build_info)),new cljs.core.Keyword(null,"weather","weather",1320452344),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"weather-params","weather-params",-259271365),cljs.core.deref.call(null,weathergen.ui.weather_params),new cljs.core.Keyword(null,"cloud-params","cloud-params",-540447983),cljs.core.deref.call(null,weathergen.ui.cloud_params),new cljs.core.Keyword(null,"movement-params","movement-params",293385966),
cljs.core.deref.call(null,weathergen.ui.movement_params),new cljs.core.Keyword(null,"display-params","display-params",573405707),cljs.core.deref.call(null,weathergen.ui.display_params)],null),new cljs.core.Keyword(null,"visible-sides","visible-sides",391079481),b,new cljs.core.Keyword(null,"briefing-notes","briefing-notes",-1524193117),cljs.core.deref.call(null,weathergen.ui.briefing_notes)],null))),new cljs.core.Keyword(null,"title","title",636505583),"Save a briefing file",new cljs.core.Keyword(null,
"filename","filename",-1428840783),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.mission_name_base.call(null,(new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.mission)))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(".vmtb")].join(""),new cljs.core.Keyword(null,"filters","filters",974726919),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"name","name",1843675177),"VMT Briefing",new cljs.core.Keyword(null,"extension","extension",1453374065),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["vmtb"],null)],null)],null)],null))};
weathergen.ui.weather_worker=function(){var a=new Worker("worker.js"),b=cljs.core.async.chan.call(null),c=cljs.core.async.chan.call(null),d=cljs.core.async.chan.call(null);a.onmessage=function(a,b,c,d){return function(e){var f=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(a,b,c,d,f){return function(){var g=function(){return function(a,b,c,d,e,f){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=
a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(L){if(L instanceof Object)b[5]=L,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw L;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,
a)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(a,b,c,d,f){return function(a){var b=a[1];return 1===b?(b=weathergen.encoding.decode.call(null,e.data),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,a,2,d,b)):2===b?cljs.core.async.impl.ioc_helpers.return_chan.call(null,a,a[2]):null}}(a,b,c,d,f),a,b,c,d,f)}(),h=function(){var b=g.call(null);b[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=a;return b}();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,h)}}(f,a,b,c,d));return f}}(a,b,c,d);return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"command-ch","command-ch",508874766),b,new cljs.core.Keyword(null,"worker","worker",938239996),a,new cljs.core.Keyword(null,"output-ch","output-ch",1069791231),d,new cljs.core.Keyword(null,"loop","loop",-395552849),function(){var e=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(a,
b,c,d,e){return function(){var f=function(){return function(a,b,c,d,e,f){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(B){if(B instanceof Object)b[5]=B,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,
"recur","recur",-437573268);else throw B;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(a,b,c,d,e){return function(a){var f=a[1];return 1===f?(a[2]=null,a[1]=2,new cljs.core.Keyword(null,"recur",
"recur",-437573268)):2===f?cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,a,4,c):3===f?cljs.core.async.impl.ioc_helpers.return_chan.call(null,a,a[2]):4===f?(f=weathergen.encoding.encode.call(null,a[2]),f=b.postMessage(f),a[7]=f,cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,a,6,d)):5===f?(a[8]=a[2],a[2]=null,a[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):6===f?cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,a,5,e,a[2]):null}}(a,b,c,d,e),a,b,c,d,e)}(),g=function(){var b=
f.call(null);b[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=a;return b}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,g)}}(e,a,b,c,d));return e}()],null)}();
weathergen.ui.save_weather_files=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"ny","ny",1701791641)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"progress","progress",244323547)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"weather-params","weather-params",-259271365)),f=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"step","step",1288888124)),g=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"to","to",192099007)),h=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)),k=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"cloud-params","cloud-params",-540447983)),l=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"save-file","save-file",-250442926)),m=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"nx","nx",-1996436366)),n=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"from","from",1815293044)),p=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"campaign-dir","campaign-dir",-1278307883)),q=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"weather-direction","weather-direction",-1789808873)),r=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"cancel","cancel",-1964088360)),u=function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function Q(u){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(){for(var t=
u;;){var v=cljs.core.seq.call(null,t);if(v){var w=v,x=cljs.core.first.call(null,w),v=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){return function Ma(x){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w){return function(){for(;;){var a=cljs.core.seq.call(null,x);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var c=cljs.core.chunk_first.call(null,a),d=cljs.core.count.call(null,c),e=cljs.core.chunk_buffer.call(null,d);a:for(var f=0;;)if(f<d){var g=cljs.core._nth.call(null,
c,f);cljs.core.chunk_append.call(null,e,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,g],null));f+=1}else{c=!0;break a}return c?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),Ma.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,e),null)}e=cljs.core.first.call(null,a);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,e],null),Ma.call(null,
cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w),null,null)}}(t,x,w,v,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r);if(v=cljs.core.seq.call(null,v.call(null,cljs.core.range.call(null,c))))return cljs.core.concat.call(null,v,Q.call(null,cljs.core.rest.call(null,t)));t=cljs.core.rest.call(null,t)}else return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r),null,null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r).call(null,cljs.core.range.call(null,m))}(),t=weathergen.time.campaign_time__GT_minutes.call(null,
n),v=weathergen.time.campaign_time__GT_minutes.call(null,g),w=cljs.core.long$.call(null,(v-t)/f)+1,x=weathergen.filesystem.path_combine.call(null,p,"WeatherMapsUpdates"),y=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x){return function(a,b){cljs.core.reset_BANG_.call(null,r,b);return weathergen.ui.common.save_blob_async.call(null,a,weathergen.filesystem.path_combine.call(null,v,b))}}(u,t,v,w,x,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r),z=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z){return function(){var A=function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,A){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(Aa){if(Aa instanceof
Object)b[5]=Aa,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw Aa;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z){return function(A){var B=A[1];if(7===B){var C=A[2];var D=(new cljs.core.Keyword(null,"output-ch","output-ch",1069791231)).cljs$core$IFn$_invoke$arity$1(weathergen.ui.weather_worker);A[7]=C;return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,A,8,D)}if(1===B){var F=c;var E=!1;A[8]=F;A[9]=E;A[2]=null;A[1]=2;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(4===B){C=weathergen.ui.twx_blob.call(null,u,y);D=weathergen.ui.twx_filename.call(null,
r);C=g.call(null,C,D);var D=weathergen.ui.settings_blob.call(null),G=weathergen.ui.settings_filename.call(null,r),G=g.call(null,D,G),D=cljs.core.reset_BANG_.call(null,m,null);A[10]=G;A[11]=C;A[2]=D;A[1]=6;return new cljs.core.Keyword(null,"recur","recur",-437573268)}if(13===B)return F=A[8],C=F+p,E=!0,A[8]=C,A[9]=E,A[2]=null,A[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268);if(6===B)return A[2]=A[2],A[1]=3,new cljs.core.Keyword(null,"recur","recur",-437573268);if(3===B)return cljs.core.async.impl.ioc_helpers.return_chan.call(null,
A,A[2]);if(12===B)return C=cljs.core.reset_BANG_.call(null,m,null),A[2]=C,A[1]=14,new cljs.core.Keyword(null,"recur","recur",-437573268);if(2===B){F=A[8];E=A[9];var H=F-c,I=d-c,K=H/I,J=1>K?K:1;C=function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K){return function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["progress",c],null)}}(F,E,J,F,E,H,I,K,J,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z)}();C=new cljs.core.Delay(C,
null);D=taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"weathergen.ui",null,1044,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),C,null,-1869535970);G=cljs.core.reset_BANG_.call(null,m,J);C=d<F;A[12]=D;A[13]=G;cljs.core.truth_(C)?A[1]=4:A[1]=5;return new cljs.core.Keyword(null,"recur","recur",-437573268)}return 11===B?(F=A[8],C=A[14],D=A[2],G=weathergen.time.minutes__GT_campaign_time.call(null,
F),G=weathergen.ui.fmap_filename.call(null,G),G=weathergen.filesystem.path_combine.call(null,"WeatherMapsUpdates",G),G=g.call(null,C,G),C=cljs.core.deref.call(null,z),A[15]=G,A[16]=D,cljs.core.truth_(C)?A[1]=12:A[1]=13,new cljs.core.Keyword(null,"recur","recur",-437573268)):9===B?(A[2]=null,A[1]=11,new cljs.core.Keyword(null,"recur","recur",-437573268)):5===B?(F=A[8],C=(new cljs.core.Keyword(null,"command-ch","command-ch",508874766)).cljs$core$IFn$_invoke$arity$1(weathergen.ui.weather_worker),D=cljs.core.PersistentVector.EMPTY_NODE,
G=[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"current","current",-1088038603)],D=new cljs.core.PersistentVector(null,2,5,D,G,null),G=weathergen.time.minutes__GT_campaign_time.call(null,F),D=cljs.core.assoc_in.call(null,n,D,G),D=cljs.core.assoc.call(null,D,new cljs.core.Keyword(null,"cells","cells",-985166822),b),cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,A,7,C,D)):14===B?(A[2]=A[2],A[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268)):10===
B?(C=A[14],D=weathergen.ui.mission_name_base.call(null,r),D=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(D),cljs.core.str.cljs$core$IFn$_invoke$arity$1(".fmap")].join(""),C=g.call(null,C,D),A[2]=C,A[1]=11,new cljs.core.Keyword(null,"recur","recur",-437573268)):8===B?(E=A[9],C=weathergen.fmap.get_blob.call(null,A[2],v,l),A[14]=C,cljs.core.truth_(E)?A[1]=9:A[1]=10,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t,v,w,x,y,z),a,b,c,d,e,f,g,h,k,l,m,n,p,q,
r,u,t,v,w,x,y,z)}(),B=function(){var b=A.call(null);b[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=a;return b}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,B)}}(z,u,t,v,w,x,y,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r));return z};weathergen.ui.remove_nth=function(a,b){return cljs.core.vec.call(null,cljs.core.concat.call(null,cljs.core.take.call(null,b,a),cljs.core.drop.call(null,b+1,a)))};
weathergen.ui.invert_map=function(a){return cljs.core.zipmap.call(null,cljs.core.vals.call(null,a),cljs.core.keys.call(null,a))};weathergen.ui.map_name__GT_key=new cljs.core.PersistentArrayMap(null,4,["Israel",new cljs.core.Keyword(null,"israel","israel",893888780),"Balkans",new cljs.core.Keyword(null,"balkans","balkans",-514308101),"Korea",new cljs.core.Keyword(null,"korea","korea",-1788137114),"Kuriles",new cljs.core.Keyword(null,"kuriles","kuriles",1501726930)],null);
weathergen.ui.map_key__GT_name=weathergen.ui.invert_map.call(null,weathergen.ui.map_name__GT_key);weathergen.ui.display_name__GT_key=new cljs.core.PersistentArrayMap(null,3,["Weather Type",new cljs.core.Keyword(null,"type","type",1174270348),"Pressure",new cljs.core.Keyword(null,"pressure","pressure",505343747),"Temperature",new cljs.core.Keyword(null,"temperature","temperature",899018429)],null);weathergen.ui.display_key__GT_name=weathergen.ui.invert_map.call(null,weathergen.ui.display_name__GT_key);
weathergen.ui.overlay_name__GT_key=new cljs.core.PersistentArrayMap(null,4,["Wind",new cljs.core.Keyword(null,"wind","wind",-527553074),"Pressure",new cljs.core.Keyword(null,"pressure","pressure",505343747),"Temperature",new cljs.core.Keyword(null,"temperature","temperature",899018429),"Weather Type",new cljs.core.Keyword(null,"type","type",1174270348)],null);weathergen.ui.overlay_key__GT_name=weathergen.ui.invert_map.call(null,weathergen.ui.overlay_name__GT_key);
weathergen.ui.type_name__GT_key=new cljs.core.PersistentArrayMap(null,4,["Sunny",new cljs.core.Keyword(null,"sunny","sunny",1448267778),"Fair",new cljs.core.Keyword(null,"fair","fair",1684139423),"Poor",new cljs.core.Keyword(null,"poor","poor",1462482211),"Inclement",new cljs.core.Keyword(null,"inclement","inclement",-550669382)],null);weathergen.ui.type_key__GT_name=weathergen.ui.invert_map.call(null,weathergen.ui.type_name__GT_key);
weathergen.ui.pressure_unit_name__GT_key=new cljs.core.PersistentArrayMap(null,2,["InHg",new cljs.core.Keyword(null,"inhg","inhg",-863180091),"Millibar",new cljs.core.Keyword(null,"mbar","mbar",-1396360988)],null);weathergen.ui.pressure_unit_key__GT_name=weathergen.ui.invert_map.call(null,weathergen.ui.pressure_unit_name__GT_key);weathergen.ui.mbar_per_inhg=33.8637526;weathergen.ui.mbar__GT_inhg=function(a){return a/weathergen.ui.mbar_per_inhg};weathergen.ui.inhg__GT_mbar=function(a){return a*weathergen.ui.mbar_per_inhg};
weathergen.ui.format_type=function(a){var b=cljs.core._EQ_;if(cljs.core.truth_(b.call(null,new cljs.core.Keyword(null,"sunny","sunny",1448267778),a)))return"Sunny";if(cljs.core.truth_(b.call(null,new cljs.core.Keyword(null,"fair","fair",1684139423),a)))return"Fair";if(cljs.core.truth_(b.call(null,new cljs.core.Keyword(null,"poor","poor",1462482211),a)))return"Poor";if(cljs.core.truth_(b.call(null,new cljs.core.Keyword(null,"inclement","inclement",-550669382),a)))return"Incl.";throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));};weathergen.ui.format_pressure=function(a,b){return cljs.core.not.call(null,a)?"":cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"inhg","inhg",-863180091),b)?a.toFixed(2):weathergen.ui.inhg__GT_mbar.call(null,a).toFixed(0)};weathergen.ui.format_temperature=function(a){return cljs.core.not.call(null,a)?"":a.toFixed(0)};
weathergen.ui.format_wind=function(a){if(cljs.core.not.call(null,a))return"";var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"speed","speed",1257663751));b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"heading","heading",-1312171873));return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.string.format("%03d",b)),cljs.core.str.cljs$core$IFn$_invoke$arity$1("@"),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.string.format("%02d",a.toFixed(0))),cljs.core.str.cljs$core$IFn$_invoke$arity$1("kts")].join("")};weathergen.ui.format_visibility=function(a){return cljs.core.not.call(null,a)?"":2>a?a.toFixed(1):a.toFixed(0)};weathergen.ui.format_coords=function(a,b){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(", "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join("")};
weathergen.ui.cloud_descriptions=function(a,b){if(cljs.core._EQ_.call(null,b,new cljs.core.Keyword(null,"sunny","sunny",1448267778)))return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["SKC"],null);var c=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"stratus-base","stratus-base",-1631962478),b],null)),d=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"cumulus-base","cumulus-base",-578210868),b],null)),e=25<(new cljs.core.Keyword(null,"cumulus-density","cumulus-density",-212067170)).cljs$core$IFn$_invoke$arity$1(a)?"SCT":"FEW",f=goog.string.format("%03d",cljs.core.long$.call(null,d/100)),g=goog.string.format("%03d",cljs.core.long$.call(null,c/100)),h=cljs.core.PersistentVector.EMPTY,c=0<d&&d<c?cljs.core.conj.call(null,h,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),cljs.core.str.cljs$core$IFn$_invoke$arity$1(f),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" ")].join("")):
h;return cljs.core.not_EQ_.call(null,b,new cljs.core.Keyword(null,"fair","fair",1684139423))?cljs.core.conj.call(null,c,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("OVC"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(g)].join("")):c};weathergen.ui.contrail_description=function(a,b){return goog.string.format("COTRA%03d",cljs.core.long$.call(null,cljs.core.get.call(null,(new cljs.core.Keyword(null,"contrails","contrails",1430581743)).cljs$core$IFn$_invoke$arity$1(a),b)/100))};
weathergen.ui.format_cloud=function(a,b){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.reduce.call(null,cljs.core.str,cljs.core.interpose.call(null," ",weathergen.ui.cloud_descriptions.call(null,a,b)))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.contrail_description.call(null,a,b))].join("")};
weathergen.ui.format_precipitation=function(a,b){return cljs.core._EQ_.call(null,b,new cljs.core.Keyword(null,"inclement","inclement",-550669382))?0<a?"Rain":"Snow":"None"};
weathergen.ui.bullseye=function(a,b){var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"x","x",2099068185)),c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"y","y",-1757859776)),e=(new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966)).cljs$core$IFn$_invoke$arity$1(a),f=null!=e&&(e.cljs$lang$protocol_mask$partition0$&
64||cljs.core.PROTOCOL_SENTINEL===e.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,e):e,e=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"bullseye-x","bullseye-x",-1698783852)),f=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"bullseye-y","bullseye-y",904460818));return goog.string.format("%f %f (%d %d)",d,c,e,f)};
weathergen.ui.format_bullseye=function(a){if(cljs.core.not.call(null,a))return"";a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;var b=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"heading","heading",-1312171873));a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"distance","distance",-1671893894));return goog.string.format("%03d %d",function(){var a=cljs.core.long$.call(null,cljs.core.mod.call(null,
b,360));return 0===a?360:a}(),cljs.core.long$.call(null,a))};
weathergen.ui.mouse_weather_coords=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 1:return weathergen.ui.mouse_weather_coords.cljs$core$IFn$_invoke$arity$1(arguments[0]);case 3:return weathergen.ui.mouse_weather_coords.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};weathergen.ui.mouse_weather_coords.cljs$core$IFn$_invoke$arity$1=function(a){return weathergen.ui.mouse_weather_coords.call(null,a,cljs.core.deref.call(null,weathergen.ui.map_zoom),cljs.core.deref.call(null,weathergen.ui.map_pan))};
weathergen.ui.mouse_weather_coords.cljs$core$IFn$_invoke$arity$3=function(a,b,c){try{var d=window.devicePixelRatio,e=a.offsetX*d,f=a.offsetY*d,g=(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params)),h=cljs.core.nth.call(null,g,0,null),k=cljs.core.nth.call(null,g,1,null),l=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,
c):c,m=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"x","x",2099068185)),n=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"y","y",-1757859776)),p=cljs.core.deref.call(null,weathergen.ui.map_size),q=cljs.core.nth.call(null,p,0,null),r=cljs.core.nth.call(null,p,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[e*h/q/b/d+m,f*k/r/b/d+n],null)}catch(u){return b=u,taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,
"error","error",-978969032),"weathergen.ui",null,1284,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(b){return function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[b,"mouse-weather-coords error",new cljs.core.Keyword(null,"e","e",1381269198),a],null)}}(b),null),null,-1701225424)}};weathergen.ui.mouse_weather_coords.cljs$lang$maxFixedArity=3;
weathergen.ui.retry=function(a,b){var c=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(c){return function(){var d=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(r){if(r instanceof
Object)b[5]=r,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw r;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c){return function(c){var d=
c[1];return 1===d?(c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):2===d?(d=b.call(null),cljs.core.truth_(d)?c[1]=4:c[1]=5,new cljs.core.Keyword(null,"recur","recur",-437573268)):3===d?cljs.core.async.impl.ioc_helpers.return_chan.call(null,c,c[2]):4===d?(c[2]=null,c[1]=6,new cljs.core.Keyword(null,"recur","recur",-437573268)):5===d?(d=cljs.core.async.timeout.call(null,a),cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,c,7,d)):6===d?(c[2]=c[2],c[1]=3,new cljs.core.Keyword(null,
"recur","recur",-437573268)):7===d?(c[7]=c[2],c[2]=null,c[1]=2,new cljs.core.Keyword(null,"recur","recur",-437573268)):null}}(c),c)}(),f=function(){var a=d.call(null);a[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,f)}}(c));return c};
weathergen.ui.later=function(a,b){var c=cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,function(c){return function(){var d=function(){return function(a,b){return function(){var b=null,c=function(){var a=[null,null,null,null,null,null,null,null];a[0]=b;a[1]=1;return a},d=function(b){for(;;){a:try{for(;;){var c=a.call(null,b);if(!cljs.core.keyword_identical_QMARK_.call(null,c,new cljs.core.Keyword(null,"recur","recur",-437573268))){var d=c;break a}}}catch(r){if(r instanceof
Object)b[5]=r,cljs.core.async.impl.ioc_helpers.process_exception.call(null,b),d=new cljs.core.Keyword(null,"recur","recur",-437573268);else throw r;}if(!cljs.core.keyword_identical_QMARK_.call(null,d,new cljs.core.Keyword(null,"recur","recur",-437573268)))return d}},b=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return d.call(this,a)}throw Error("Invalid arity: "+(arguments.length-1));};b.cljs$core$IFn$_invoke$arity$0=c;b.cljs$core$IFn$_invoke$arity$1=d;return b}()}(function(c){return function(c){var d=
c[1];if(1===d)return d=cljs.core.async.timeout.call(null,a),cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,c,2,d);if(2===d){var d=c[2],e=b.call(null);c[7]=d;return cljs.core.async.impl.ioc_helpers.return_chan.call(null,c,e)}return null}}(c),c)}(),f=function(){var a=d.call(null);a[cljs.core.async.impl.ioc_helpers.USER_START_IDX]=c;return a}();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,f)}}(c));return c};weathergen.ui.resize_handle_size=.75;
weathergen.ui.triangle_style=function(){return new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"width","width",-384071477),0,new cljs.core.Keyword(null,"height","height",1025178622),0,new cljs.core.Keyword(null,"border-left","border-left",-1150760178),"5px solid transparent",new cljs.core.Keyword(null,"border-right","border-right",-668932860),"5px solid transparent",new cljs.core.Keyword(null,"border-top","border-top",-158897573),"7px solid black",new cljs.core.Keyword(null,"display",
"display",242065432),"inline-block",new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle"],null)};
weathergen.ui.triple_border=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"inner","inner",-1383171215)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"outer","outer",-375185956)),k=cljs.core.get.call(null,
f,new cljs.core.Keyword(null,"css","css",1135045163)),l=cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"inner","inner",-1383171215),new cljs.core.Keyword(null,"outer","outer",-375185956),new cljs.core.Keyword(null,"css","css",1135045163));return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b,c){return c.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"border-width","border-width",-1512605390),"1px",new cljs.core.Keyword(null,"border-style","border-style",-485574304),"solid",new cljs.core.Keyword(null,"border-color","border-color",-2059162761),a,new cljs.core.Keyword(null,"margin","margin",-995903681),0,new cljs.core.Keyword(null,"padding","padding",1660304693),0],null),b)}}(b,f,g,h,k,l,a,b,c)).call(null,h,k,cljs.core.merge),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,
c,d,e,f,g,h,k){return function(a,b,c){return b.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"border-width","border-width",-1512605390),"2px",new cljs.core.Keyword(null,"border-style","border-style",-485574304),"solid",new cljs.core.Keyword(null,"border-color","border-color",-2059162761),c,new cljs.core.Keyword(null,"margin","margin",-995903681),0,new cljs.core.Keyword(null,"padding","padding",1660304693),0],null),a)}}(b,f,g,h,k,l,a,b,c)).call(null,k,cljs.core.merge,
g),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b,c){return c.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"border-width","border-width",-1512605390),"1px",new cljs.core.Keyword(null,"border-style","border-style",-485574304),"solid",new cljs.core.Keyword(null,"border-color","border-color",-2059162761),a,new cljs.core.Keyword(null,"margin","margin",-995903681),
0],null),b)}}(b,f,g,h,k,l,a,b,c)).call(null,h,k,cljs.core.merge),c)))},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.control_subsection=function(){var a=function(a){var b=hoplon.core.parse_args.call(null,a);a=cljs.core.nth.call(null,b,0,null);var b=cljs.core.nth.call(null,b,1,null),c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"title","title",636505583));return hoplon.core.div.call(null,cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,
"title","title",636505583)),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"border","border",1444987323),"solid 1px #444",new cljs.core.Keyword(null,"margin","margin",-995903681),"3px",new cljs.core.Keyword(null,"padding-bottom","padding-bottom",-1899795591),"2px"],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"background",
"background",-863952629),weathergen.ui.common.colors.call(null,new cljs.core.Keyword(null,"header-background","header-background",1686840154)),new cljs.core.Keyword(null,"margin","margin",-995903681),"3px",new cljs.core.Keyword(null,"padding","padding",1660304693),"3px",new cljs.core.Keyword(null,"padding-top","padding-top",1929675955),0,new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"90%",new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold"],null),c),b)},b=function(b){var c=
null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.forecast_section=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"limit-time?","limit-time?",-602984376));return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"forecast","forecast",-1289862359),new cljs.core.Keyword(null,"overview","overview",-435037267)],null),"Forecast"),new cljs.core.Keyword(null,"id","id",-1388402092),"forecast-section",hoplon.core.div.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"forecast",hoplon.core.div.call(null,hoplon.core.label.call(null,new cljs.core.Keyword(null,"for","for",-1323786319),"locations","Forecast for:"),function(){var d=javelin.core.formula.call(null,function(a,b,c,d){return function(e,
f,g,h){return e.call(null,function(a,b,c,d){return function(a){return g.call(null,h,a)}}(a,b,c,d),f.call(null,h))}}(a,b,b,c)).call(null,cljs.core.sort_by,weathergen.falcon.files.mission.oob_air,weathergen.falcon.files.mission.objective_name,weathergen.ui.mission),e=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e){return function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"coordinates","coordinates",-1225332668));return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(d,a,b,b,c)).call(null,weathergen.ui.selected_cell)),f=cljs.core.nth.call(null,e,0,null),g=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,
1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)}}(e,f,d,a,b,b,c)).call(null,f)),h=cljs.core.nth.call(null,g,0,null),k=cljs.core.nth.call(null,g,1,null);return hoplon.core.select.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"locations",new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e,f,g,h,k,w){return function(a){return weathergen.ui.change_location.call(null,cljs.core.deref.call(null,weathergen.ui.mission),
cljs.core.nth.call(null,cljs.core.deref.call(null,f),weathergen.util.str__GT_long.call(null,cljs.core.deref.call(null,a))))}}(g,h,k,e,f,d,a,b,b,c),hoplon.core.option.call(null,new cljs.core.Keyword(null,"selected","selected",574897764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,w){return function(a,b){return b.call(null,new cljs.core.Keyword(null,"named","named",-422393479),a)}}(g,h,k,e,f,d,a,b,b,c)).call(null,weathergen.ui.location_type,cljs.core.not_EQ_),new cljs.core.Keyword(null,
"value","value",305978217),"",javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,w){return function(a,b,c){var d=cljs.core._EQ_;if(cljs.core.truth_(d.call(null,new cljs.core.Keyword(null,"coordinates","coordinates",-1225332668),a)))return[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Location "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.format_coords.call(null,b,c))].join("");if(cljs.core.truth_(d.call(null,new cljs.core.Keyword(null,"named","named",-422393479),a)))return"";
if(cljs.core.truth_(d.call(null,new cljs.core.Keyword(null,"none","none",1333468478),a)))return"None selected";throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));}}(g,h,k,e,f,d,a,b,b,c)).call(null,weathergen.ui.location_type,h,k)),hoplon.core.loop_tpl_STAR_.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,w){return function(a,b,c){return a.call(null,c,b)}}(g,h,k,e,f,d,a,b,b,c)).call(null,cljs.core.map_indexed,
d,cljs.core.vector),function(a,b,c,d,e,f,g,h,k,w){return function(l){l=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h,k,w)).call(null,l));var m=cljs.core.nth.call(null,l,0,null),n=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a){var b=
cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(l,m,a,b,c,d,e,f,g,h,k,w)).call(null,m)),p=cljs.core.nth.call(null,n,0,null),q=cljs.core.nth.call(null,n,1,null);return hoplon.core.option.call(null,new cljs.core.Keyword(null,"value","value",305978217),q,new cljs.core.Keyword(null,"selected","selected",574897764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,
r){return function(a,b,c){return b.call(null,a,(new cljs.core.Keyword(null,"location","location",1815599388)).cljs$core$IFn$_invoke$arity$1(c))}}(n,p,q,l,m,a,b,c,d,e,f,g,h,k,w)).call(null,p,cljs.core._EQ_,weathergen.ui.selected_cell),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a,b,c){return b.call(null,c,a)}}(n,p,q,l,m,a,b,c,d,e,f,g,h,k,w)).call(null,p,weathergen.falcon.files.mission.objective_name,weathergen.ui.mission))}}(g,h,k,e,f,d,a,b,b,c)))}(),javelin.core.formula.call(null,
function(a,b,c,g){return function(d,e,f){var h=function(a,b,c,d){return function(){var a=function(a){return cljs.core.apply.call(null,hoplon.core.td,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"padding-right","padding-right",-1250249681),"3px",new cljs.core.Keyword(null,"padding-left","padding-left",-1180879053),"3px"],null),a)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=
arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(a,b,c,g),k=function(a,b,c,d,e){return function(){var a=function(a){return cljs.core.apply.call(null,hoplon.core.td,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"padding-right","padding-right",-1250249681),
"3px",new cljs.core.Keyword(null,"padding-left","padding-left",-1180879053),"3px",new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center"],null),a)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(h,a,
b,c,g);return hoplon.core.table.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"info-grid",hoplon.core.thead.call(null,hoplon.core.tr.call(null,h.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"forecast","forecast",-1289862359),new cljs.core.Keyword(null,"time","time",1385887882)],null),"Weather Time")),h.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"forecast","forecast",-1289862359),new cljs.core.Keyword(null,"type","type",1174270348)],null),"Type")),h.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"forecast","forecast",-1289862359),new cljs.core.Keyword(null,"pressure","pressure",505343747)],null),"Press")),k.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"forecast","forecast",-1289862359),new cljs.core.Keyword(null,"temperature","temperature",899018429)],null),"Temp")),k.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"forecast","forecast",-1289862359),new cljs.core.Keyword(null,"wind","wind",-527553074)],null),"Wind")),k.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"forecast","forecast",-1289862359),new cljs.core.Keyword(null,"visibility","visibility",1338380893)],null),"Vis")),h.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"forecast","forecast",-1289862359),new cljs.core.Keyword(null,"precipitation","precipitation",485418199)],null),"Precip")),h.call(null,weathergen.help.with_help.call(null,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"forecast","forecast",-1289862359),new cljs.core.Keyword(null,"cloud","cloud",-1976521303)],null),"Cloud")))),hoplon.core.tbody.call(null,cljs.core.not.call(null,e)?hoplon.core.tr.call(null,hoplon.core.td.call(null,new cljs.core.Keyword(null,"colspan","colspan",-1512420934),8,"No location is selected. Choose a location from the list, or click on the weather map to select one.")):function(){return function(a,
b,c,e,g,h){return function x(k){return new cljs.core.LazySeq(null,function(a,b,c,e,g,h){return function(){for(;;){var c=cljs.core.seq.call(null,k);if(c){if(cljs.core.chunked_seq_QMARK_.call(null,c)){var e=cljs.core.chunk_first.call(null,c),g=cljs.core.count.call(null,e),h=cljs.core.chunk_buffer.call(null,g);a:for(var l=0;;)if(l<g){var m=cljs.core._nth.call(null,e,l),n=cljs.core.nth.call(null,m,0,null),m=cljs.core.nth.call(null,m,1,null),p=null!=m&&(m.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
m.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,m):m,m=cljs.core.get.call(null,p,new cljs.core.Keyword(null,"pressure","pressure",505343747)),q=cljs.core.get.call(null,p,new cljs.core.Keyword(null,"temperature","temperature",899018429)),r=cljs.core.get.call(null,p,new cljs.core.Keyword(null,"wind","wind",-527553074)),p=cljs.core.get.call(null,p,new cljs.core.Keyword(null,"type","type",1174270348));cljs.core.chunk_append.call(null,h,hoplon.core.tr.call(null,a.call(null,weathergen.ui.common.format_time.call(null,
n)),a.call(null,weathergen.ui.format_type.call(null,p)),a.call(null,weathergen.ui.format_pressure.call(null,m,d)),b.call(null,weathergen.ui.format_temperature.call(null,q)),a.call(null,weathergen.ui.format_wind.call(null,r)),b.call(null,weathergen.ui.format_visibility.call(null,cljs.core.get_in.call(null,f,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"visibility","visibility",1338380893),p],null)))),a.call(null,weathergen.ui.format_precipitation.call(null,
q,p)),a.call(null,weathergen.ui.format_cloud.call(null,f,p))));l+=1}else{e=!0;break a}return e?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),x.call(null,cljs.core.chunk_rest.call(null,c))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}e=cljs.core.first.call(null,c);h=cljs.core.nth.call(null,e,0,null);e=cljs.core.nth.call(null,e,1,null);n=null!=e&&(e.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===e.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,e):e;e=cljs.core.get.call(null,n,new cljs.core.Keyword(null,"pressure","pressure",505343747));g=cljs.core.get.call(null,n,new cljs.core.Keyword(null,"temperature","temperature",899018429));l=cljs.core.get.call(null,n,new cljs.core.Keyword(null,"wind","wind",-527553074));n=cljs.core.get.call(null,n,new cljs.core.Keyword(null,"type","type",1174270348));return cljs.core.cons.call(null,hoplon.core.tr.call(null,a.call(null,weathergen.ui.common.format_time.call(null,h)),a.call(null,weathergen.ui.format_type.call(null,
n)),a.call(null,weathergen.ui.format_pressure.call(null,e,d)),b.call(null,weathergen.ui.format_temperature.call(null,g)),a.call(null,weathergen.ui.format_wind.call(null,l)),b.call(null,weathergen.ui.format_visibility.call(null,cljs.core.get_in.call(null,f,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"visibility","visibility",1338380893),n],null)))),a.call(null,weathergen.ui.format_precipitation.call(null,g,n)),a.call(null,weathergen.ui.format_cloud.call(null,
f,n))),x.call(null,cljs.core.rest.call(null,c)))}return null}}}(a,b,c,e,g,h),null,null)}}(h,k,a,b,c,g).call(null,e)}()))}}(a,b,b,c)).call(null,weathergen.ui.pressure_unit,weathergen.ui.forecast,weathergen.ui.cloud_params))))};
weathergen.ui.weather_color=new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[255,255,255,.25],null),new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,255,0,1],null),new cljs.core.Keyword(null,"poor","poor",1462482211),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,
[255,255,0,1],null),new cljs.core.Keyword(null,"inclement","inclement",-550669382),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[192,0,0,1],null),null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[255,0,0,1],null)],null);
weathergen.ui.pressure_map=new cljs.core.PersistentArrayMap(null,7,[28.5,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[192,0,0,1],null),28.9,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[192,0,0,1],null),29.3,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[255,255,0,1],null),29.5,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,255,0,1],null),29.9,new cljs.core.PersistentVector(null,
4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,128,255,1],null),30.2,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[255,255,255,1],null),31,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[255,255,255,1],null)],null);
weathergen.ui.gradient_color=function(a,b){var c=cljs.core.first.call(null,cljs.core.filter.call(null,function(a){var c=cljs.core.nth.call(null,a,0,null),d=cljs.core.nth.call(null,c,0,null);cljs.core.nth.call(null,c,1,null);a=cljs.core.nth.call(null,a,1,null);c=cljs.core.nth.call(null,a,0,null);cljs.core.nth.call(null,a,1,null);return d<=b&&b<=c},cljs.core.partition.call(null,2,1,cljs.core.into.call(null,cljs.core.sorted_map.call(null),a)))),d=cljs.core.nth.call(null,c,0,null),e=cljs.core.nth.call(null,
d,0,null),d=cljs.core.nth.call(null,d,1,null),f=cljs.core.nth.call(null,c,1,null),c=cljs.core.nth.call(null,f,0,null),f=cljs.core.nth.call(null,f,1,null);return weathergen.math.vector_interpolate.call(null,d,f,b,e,c)};
weathergen.ui.pressure_color=function(a){var b=weathergen.ui.gradient_color.call(null,weathergen.ui.pressure_map,a);a=cljs.core.nth.call(null,b,0,null);var c=cljs.core.nth.call(null,b,1,null),d=cljs.core.nth.call(null,b,2,null),b=cljs.core.nth.call(null,b,3,null);return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.long$.call(null,a),cljs.core.long$.call(null,c),cljs.core.long$.call(null,d),b],null)};
weathergen.ui.temp_map=new cljs.core.PersistentArrayMap(null,3,[0,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,0,255,1],null),20,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,255,0,1],null),40,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[255,0,0,1],null)],null);
weathergen.ui.temperature_color=function(a){var b=weathergen.ui.gradient_color.call(null,weathergen.ui.temp_map,a);a=cljs.core.nth.call(null,b,0,null);var c=cljs.core.nth.call(null,b,1,null),d=cljs.core.nth.call(null,b,2,null),b=cljs.core.nth.call(null,b,3,null);return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.long$.call(null,a),cljs.core.long$.call(null,c),cljs.core.long$.call(null,d),b],null)};
weathergen.ui.transparent=new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,0,0,1],null);
weathergen.ui.fill_color=function(a,b){var c=cljs.core._EQ_;return cljs.core.truth_(c.call(null,new cljs.core.Keyword(null,"type","type",1174270348),a))?weathergen.ui.weather_color.call(null,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(b)):cljs.core.truth_(c.call(null,new cljs.core.Keyword(null,"pressure","pressure",505343747),a))?weathergen.ui.pressure_color.call(null,(new cljs.core.Keyword(null,"pressure","pressure",505343747)).cljs$core$IFn$_invoke$arity$1(b)):
cljs.core.truth_(c.call(null,new cljs.core.Keyword(null,"temperature","temperature",899018429),a))?weathergen.ui.temperature_color.call(null,(new cljs.core.Keyword(null,"temperature","temperature",899018429)).cljs$core$IFn$_invoke$arity$1(b)):weathergen.ui.transparent};weathergen.ui.convert_pressure=function(a,b){return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"inhg","inhg",-863180091),b)?a:weathergen.ui.mbar__GT_inhg.call(null,a)};weathergen.ui.max_wind_vector_speed=150;
weathergen.ui.wind_vector_id=function(a){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1("wind-vector-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.math.clamp.call(null,5,weathergen.ui.max_wind_vector_speed,weathergen.math.nearest.call(null,a,5)))].join("")};
weathergen.ui.update_wind_layer=function(a,b){console.time("update-wind-layer");a:for(var c,d,e=cljs.core.seq.call(null,a),f=null,g=0,h=0;;)if(h<g){c=cljs.core._nth.call(null,f,h);d=cljs.core.nth.call(null,c,0,null);var k=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);c=cljs.core.nth.call(null,c,1,null);c=(new cljs.core.Keyword(null,"wind","wind",-527553074)).cljs$core$IFn$_invoke$arity$1(c);var l=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;c=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"speed","speed",1257663751));l=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"heading","heading",-1312171873));k=goog.dom.getElement([cljs.core.str.cljs$core$IFn$_invoke$arity$1("grid-wind-cell-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(k),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join(""));k.setAttribute("transform",
weathergen.ui.common.svg_rotate.call(null,l));k.setAttributeNS("http://www.w3.org/1999/xlink","href",[cljs.core.str.cljs$core$IFn$_invoke$arity$1("#"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.wind_vector_id.call(null,c))].join(""));h+=1}else if(k=cljs.core.seq.call(null,e))e=k,cljs.core.chunked_seq_QMARK_.call(null,e)?(d=cljs.core.chunk_first.call(null,e),e=cljs.core.chunk_rest.call(null,e),k=d,d=cljs.core.count.call(null,d),f=k,g=d):(f=cljs.core.first.call(null,e),d=cljs.core.nth.call(null,
f,0,null),k=cljs.core.nth.call(null,d,0,null),d=cljs.core.nth.call(null,d,1,null),c=cljs.core.nth.call(null,f,1,null),f=(new cljs.core.Keyword(null,"wind","wind",-527553074)).cljs$core$IFn$_invoke$arity$1(c),g=null!=f&&(f.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===f.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,f):f,f=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"speed","speed",1257663751)),g=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"heading",
"heading",-1312171873)),k=goog.dom.getElement([cljs.core.str.cljs$core$IFn$_invoke$arity$1("grid-wind-cell-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(k),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join("")),k.setAttribute("transform",weathergen.ui.common.svg_rotate.call(null,g)),k.setAttributeNS("http://www.w3.org/1999/xlink","href",[cljs.core.str.cljs$core$IFn$_invoke$arity$1("#"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.wind_vector_id.call(null,
f))].join("")),e=cljs.core.next.call(null,e),f=null,g=0),h=0;else{k=null;break a}console.timeEnd("update-wind-layer");return k};
"undefined"===typeof weathergen.ui.overlay_text&&(weathergen.ui.overlay_text=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));
return new cljs.core.MultiFn(cljs.core.symbol.call(null,"weathergen.ui","overlay-text"),function(a,b,c,d,e){return function(a,b){return(new cljs.core.Keyword(null,"overlay","overlay",-139131598)).cljs$core$IFn$_invoke$arity$1(b)}}(a,b,c,d,e),new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}());cljs.core._add_method.call(null,weathergen.ui.overlay_text,new cljs.core.Keyword(null,"default","default",-1987822328),function(a,b){return""});
cljs.core._add_method.call(null,weathergen.ui.overlay_text,new cljs.core.Keyword(null,"pressure","pressure",505343747),function(a,b){return weathergen.ui.format_pressure.call(null,(new cljs.core.Keyword(null,"pressure","pressure",505343747)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"pressure-unit","pressure-unit",1615584243)).cljs$core$IFn$_invoke$arity$1(b))});
cljs.core._add_method.call(null,weathergen.ui.overlay_text,new cljs.core.Keyword(null,"temperature","temperature",899018429),function(a,b){return(new cljs.core.Keyword(null,"temperature","temperature",899018429)).cljs$core$IFn$_invoke$arity$1(a).toFixed(1)});
cljs.core._add_method.call(null,weathergen.ui.overlay_text,new cljs.core.Keyword(null,"type","type",1174270348),function(a,b){return(new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),"S",new cljs.core.Keyword(null,"fair","fair",1684139423),"F",new cljs.core.Keyword(null,"poor","poor",1462482211),"P",new cljs.core.Keyword(null,"inclement","inclement",-550669382),"I"],null)).call(null,(new cljs.core.Keyword(null,"type","type",1174270348)).cljs$core$IFn$_invoke$arity$1(a))});
cljs.core._add_method.call(null,weathergen.ui.overlay_text,new cljs.core.Keyword(null,"coords","coords",-599429112),function(a,b){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(","),cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(a))].join("")});
weathergen.ui.update_text_layer=function(a,b){console.time("update-text-layer");a:for(var c,d,e=cljs.core.seq.call(null,a),f=null,g=0,h=0;;)if(h<g){c=cljs.core._nth.call(null,f,h);d=cljs.core.nth.call(null,c,0,null);var k=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);c=cljs.core.nth.call(null,c,1,null);c=weathergen.ui.overlay_text.call(null,c,b);goog.dom.getElement([cljs.core.str.cljs$core$IFn$_invoke$arity$1("grid-text-cell-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(k),
cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join("")).innerHTML=c;h+=1}else if(k=cljs.core.seq.call(null,e))e=k,cljs.core.chunked_seq_QMARK_.call(null,e)?(d=cljs.core.chunk_first.call(null,e),e=cljs.core.chunk_rest.call(null,e),k=d,d=cljs.core.count.call(null,d),f=k,g=d):(f=cljs.core.first.call(null,e),d=cljs.core.nth.call(null,f,0,null),k=cljs.core.nth.call(null,d,0,null),d=cljs.core.nth.call(null,d,1,null),c=cljs.core.nth.call(null,f,1,null),
f=weathergen.ui.overlay_text.call(null,c,b),goog.dom.getElement([cljs.core.str.cljs$core$IFn$_invoke$arity$1("grid-text-cell-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(k),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join("")).innerHTML=f,e=cljs.core.next.call(null,e),f=null,g=0),h=0;else{k=null;break a}console.timeEnd("update-text-layer");return k};
weathergen.ui.update_overlay=function(a,b){console.time("update-overlay");var c=cljs.core.contains_QMARK_;var d=(new cljs.core.Keyword(null,"overlay","overlay",-139131598)).cljs$core$IFn$_invoke$arity$1(b);c=cljs.core.truth_(c.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"wind","wind",-527553074),null],null),null),d))?weathergen.ui.update_wind_layer.call(null,a,b):cljs.core.truth_(c.call(null,new cljs.core.PersistentHashSet(null,
new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"pressure","pressure",505343747),null,new cljs.core.Keyword(null,"type","type",1174270348),null,new cljs.core.Keyword(null,"temperature","temperature",899018429),null],null),null),d))?weathergen.ui.update_text_layer.call(null,a,b):null;console.timeEnd("update-overlay");return c};
weathergen.ui.update_primary_layer=function(a,b){console.time("update-primary-layer");a:for(var c,d,e=cljs.core.seq.call(null,a),f=null,g=0,h=0;;)if(h<g){c=cljs.core._nth.call(null,f,h);d=cljs.core.nth.call(null,c,0,null);var k=cljs.core.nth.call(null,d,0,null);d=cljs.core.nth.call(null,d,1,null);c=cljs.core.nth.call(null,c,1,null);var l=weathergen.ui.fill_color.call(null,(new cljs.core.Keyword(null,"display","display",242065432)).cljs$core$IFn$_invoke$arity$1(b),c);c=cljs.core.nth.call(null,l,0,
null);var m=cljs.core.nth.call(null,l,1,null),n=cljs.core.nth.call(null,l,2,null),l=cljs.core.nth.call(null,l,3,null);k=goog.dom.getElement([cljs.core.str.cljs$core$IFn$_invoke$arity$1("grid-primary-cell-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(k),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join(""));cljs.core.truth_(k)&&k.setAttribute("fill",[cljs.core.str.cljs$core$IFn$_invoke$arity$1("rgba("),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(","),cljs.core.str.cljs$core$IFn$_invoke$arity$1(m),cljs.core.str.cljs$core$IFn$_invoke$arity$1(","),cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),cljs.core.str.cljs$core$IFn$_invoke$arity$1(","),cljs.core.str.cljs$core$IFn$_invoke$arity$1(l),cljs.core.str.cljs$core$IFn$_invoke$arity$1(")")].join(""));h+=1}else if(k=cljs.core.seq.call(null,e))e=k,cljs.core.chunked_seq_QMARK_.call(null,e)?(d=cljs.core.chunk_first.call(null,e),e=cljs.core.chunk_rest.call(null,
e),k=d,d=cljs.core.count.call(null,d),f=k,g=d):(f=cljs.core.first.call(null,e),d=cljs.core.nth.call(null,f,0,null),k=cljs.core.nth.call(null,d,0,null),d=cljs.core.nth.call(null,d,1,null),c=cljs.core.nth.call(null,f,1,null),c=weathergen.ui.fill_color.call(null,(new cljs.core.Keyword(null,"display","display",242065432)).cljs$core$IFn$_invoke$arity$1(b),c),f=cljs.core.nth.call(null,c,0,null),g=cljs.core.nth.call(null,c,1,null),h=cljs.core.nth.call(null,c,2,null),c=cljs.core.nth.call(null,c,3,null),k=
goog.dom.getElement([cljs.core.str.cljs$core$IFn$_invoke$arity$1("grid-primary-cell-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(k),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d)].join("")),cljs.core.truth_(k)&&k.setAttribute("fill",[cljs.core.str.cljs$core$IFn$_invoke$arity$1("rgba("),cljs.core.str.cljs$core$IFn$_invoke$arity$1(f),cljs.core.str.cljs$core$IFn$_invoke$arity$1(","),cljs.core.str.cljs$core$IFn$_invoke$arity$1(g),cljs.core.str.cljs$core$IFn$_invoke$arity$1(","),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(h),cljs.core.str.cljs$core$IFn$_invoke$arity$1(","),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),cljs.core.str.cljs$core$IFn$_invoke$arity$1(")")].join("")),e=cljs.core.next.call(null,e),f=null,g=0),h=0;else{k=null;break a}console.timeEnd("update-primary-layer");return k};
weathergen.ui.update_grid_data=function(a,b){console.time("update-grid-data");weathergen.ui.update_primary_layer.call(null,a,b);var c=weathergen.ui.update_overlay.call(null,a,b);console.timeEnd("update-grid-data");return c};weathergen.ui.update_grid=function(a,b){console.time("update-grid");var c=weathergen.ui.update_grid_data.call(null,a,b);console.timeEnd("update-grid");return c};
weathergen.ui.wind_vector_defs=function(){return hoplon.svg.defs.call(null,function(){return function b(c){return new cljs.core.LazySeq(null,function(){for(;;){var d=cljs.core.seq.call(null,c);if(d){if(cljs.core.chunked_seq_QMARK_.call(null,d)){var e=cljs.core.chunk_first.call(null,d),f=cljs.core.count.call(null,e),g=cljs.core.chunk_buffer.call(null,f);a:for(var h=0;;)if(h<f){var k=cljs.core._nth.call(null,e,h);cljs.core.chunk_append.call(null,g,hoplon.svg.g.call(null,new cljs.core.Keyword(null,"id",
"id",-1388402092),weathergen.ui.wind_vector_id.call(null,k),weathergen.wind.barb.call(null,k)));h+=1}else{e=!0;break a}return e?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,g),b.call(null,cljs.core.chunk_rest.call(null,d))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,g),null)}g=cljs.core.first.call(null,d);return cljs.core.cons.call(null,hoplon.svg.g.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),weathergen.ui.wind_vector_id.call(null,g),weathergen.wind.barb.call(null,
g)),b.call(null,cljs.core.rest.call(null,d)))}return null}},null,null)}.call(null,cljs.core.range.call(null,5,weathergen.ui.max_wind_vector_speed+1,5))}())};
weathergen.ui.bullseye_info_box=function(){var a=javelin.core.formula.call(null,function(a,b){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}).call(null,weathergen.ui.mouse_location,weathergen.ui.map_zoom),b=javelin.core.cell.call(null,0),c=javelin.core.cell.call(null,0),d=javelin.core.cell.call(null,0),e=javelin.core.cell.call(null,0),f=hoplon.svg.text.call(null,new cljs.core.Keyword(null,"x","x",2099068185),0,new cljs.core.Keyword(null,"y","y",-1757859776),
0,new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"3.5%",new cljs.core.Keyword(null,"font-family","font-family",-667419874),"Source Code Pro",new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),100,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),.03,new cljs.core.Keyword(null,"fill","fill",883462889),"black",hoplon.svg.tspan.call(null,javelin.core.formula.call(null,function(a,b,c,d,
e){return function(a,b,c,d){return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(function(){var e=cljs.core.truth_(null==c)?null:a.call(null,b,c);return cljs.core.truth_(null==e)?null:d.call(null,e)}())}}(b,c,d,e,a)).call(null,weathergen.coordinates.weather__GT_bullseye,weathergen.ui.mission,weathergen.ui.mouse_location,weathergen.ui.format_bullseye))),g=function(a,b,c,d,e,f){return function(){return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f){return function(){var f=e.getBBox();return cljs.core.truth_(f.x)?
(cljs.core.reset_BANG_.call(null,a,f.x),cljs.core.reset_BANG_.call(null,b,f.y),cljs.core.reset_BANG_.call(null,c,f.width),cljs.core.reset_BANG_.call(null,d,f.height)):null}}(a,b,c,d,e,f))}}(b,c,d,e,f,a);hoplon.core.when_dom.call(null,f,g);cljs.core.truth_(a)&&cljs.core.add_watch.call(null,a,cljs.core.keyword.call(null,cljs.core.gensym.call(null)),function(a,b,c,d,e,f,g,r,u){return function(h,k,l,m){return setTimeout(function(a,b,c,d,e,f,g,h,k){return function(){return h.call(null)}}(a,b,c,d,e,f,g,
r,u),0)}}(a,a,b,c,d,e,f,g,a));return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"bullseye-info-box",new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a){return cljs.core.not.call(null,null==a)}}(b,c,d,e,f,g,a)).call(null,weathergen.ui.mouse_location),new cljs.core.Keyword("svg","transform","svg/transform",1381351328),javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a,
b,c){var d=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"x","x",2099068185));var d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"y","y",-1757859776)),e=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return weathergen.ui.common.svg_translate.call(null,a+1E3/e/b,d+1250/c/b)}}(b,c,d,e,f,g,a)).call(null,weathergen.ui.mouse_location,
weathergen.ui.map_zoom,weathergen.ui.map_size),hoplon.svg.g.call(null,new cljs.core.Keyword("svg","transform","svg/transform",1381351328),javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a,b,c){return a.call(null,c/b)}}(b,c,d,e,f,g,a)).call(null,weathergen.ui.common.svg_scale,weathergen.ui.map_zoom,weathergen.ui.map_text_scale),hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a){return-.05*
a}}(b,c,d,e,f,g,a)).call(null,d),new cljs.core.Keyword(null,"y","y",-1757859776),javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a){return-(.8*a)}}(b,c,d,e,f,g,a)).call(null,e),new cljs.core.Keyword(null,"width","width",-384071477),javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a){return 1.1*a}}(b,c,d,e,f,g,a)).call(null,d),new cljs.core.Keyword(null,"height","height",1025178622),e,new cljs.core.Keyword(null,"fill","fill",883462889),"white",new cljs.core.Keyword(null,
"opacity","opacity",397153780),.8),f))};
weathergen.ui.info_overlay=function(a,b,c,d,e,f){var g=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,h=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"x","x",2099068185)),k=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"y","y",-1757859776));if(cljs.core.not.call(null,cljs.core.truth_(h)?cljs.core.truth_(k)?0<=h&&h<=d-1&&0<=k&&k<=e-1:k:h))return cljs.core.PersistentVector.EMPTY;var l=
cljs.core.get.call(null,b,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[h,k],null)),m=null!=l&&(l.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===l.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,l):l,n=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"pressure","pressure",505343747)),p=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"temperature","temperature",899018429)),q=cljs.core.get.call(null,m,new cljs.core.Keyword(null,
"wind","wind",-527553074)),r=cljs.core.get.call(null,m,new cljs.core.Keyword(null,"type","type",1174270348)),u=null!=q&&(q.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===q.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,q):q,t=cljs.core.get.call(null,u,new cljs.core.Keyword(null,"speed","speed",1257663751)),v=cljs.core.get.call(null,u,new cljs.core.Keyword(null,"heading","heading",-1312171873));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"fill","fill",883462889),"black",new cljs.core.Keyword(null,"opacity","opacity",397153780),"0.5",new cljs.core.Keyword(null,"pointer-events","pointer-events",-1053858853),"none"],null),new cljs.core.Keyword(null,"x","x",2099068185),h,new cljs.core.Keyword(null,"y","y",-1757859776),k,new cljs.core.Keyword(null,"width","width",-384071477),1,new cljs.core.Keyword(null,
"height","height",1025178622),1),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"info-overlay",new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u){return function(a){return cljs.core.not.call(null,null==a)}}(13,8,l,m,n,p,q,r,q,u,t,v,a,g,h,k)).call(null,a),new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"transform","transform",
1381301764),weathergen.ui.common.svg_translate.call(null,h<d-13?h+1:h-13,k<d-8?k+1:k-8)],null),hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"fill","fill",883462889),"white",new cljs.core.Keyword(null,"opacity","opacity",397153780),"0.85",new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"0.1px"],null),new cljs.core.Keyword(null,
"x","x",2099068185),0,new cljs.core.Keyword(null,"y","y",-1757859776),0,new cljs.core.Keyword(null,"width","width",-384071477),13,new cljs.core.Keyword(null,"height","height",1025178622),8),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"6%"],null),function(){return function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){return function O(v){return new cljs.core.LazySeq(null,function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t){return function(){for(;;){var a=cljs.core.seq.call(null,v);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,c);a:for(var e=0;;)if(e<c){var f=cljs.core._nth.call(null,b,e),g=cljs.core.nth.call(null,f,0,null),h=cljs.core.nth.call(null,f,1,null),f=cljs.core.nth.call(null,h,0,null),h=cljs.core.nth.call(null,h,1,null);cljs.core.chunk_append.call(null,d,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.svg.text.call(null,new cljs.core.Keyword(null,"x","x",2099068185),.2,new cljs.core.Keyword(null,"y","y",-1757859776),g+1.2,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(f),cljs.core.str.cljs$core$IFn$_invoke$arity$1(":")].join("")),hoplon.svg.text.call(null,new cljs.core.Keyword(null,"x","x",2099068185),4,new cljs.core.Keyword(null,"y","y",-1757859776),g+1.2,h)],null));e+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,
d),O.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}b=cljs.core.first.call(null,a);d=cljs.core.nth.call(null,b,0,null);c=cljs.core.nth.call(null,b,1,null);b=cljs.core.nth.call(null,c,0,null);c=cljs.core.nth.call(null,c,1,null);return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.svg.text.call(null,new cljs.core.Keyword(null,"x","x",2099068185),.2,new cljs.core.Keyword(null,
"y","y",-1757859776),d+1.2,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b),cljs.core.str.cljs$core$IFn$_invoke$arity$1(":")].join("")),hoplon.svg.text.call(null,new cljs.core.Keyword(null,"x","x",2099068185),4,new cljs.core.Keyword(null,"y","y",-1757859776),d+1.2,c)],null),O.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,u,t),null,null)}}(weathergen.ui.cloud_descriptions.call(null,f,r),13,8,l,m,n,p,q,r,q,u,t,v,a,g,h,k).call(null,cljs.core.map_indexed.call(null,
cljs.core.vector,new cljs.core.PersistentVector(null,7,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Location",weathergen.ui.format_coords.call(null,h,k)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Pressure",weathergen.ui.format_pressure.call(null,n,c)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Temp",weathergen.ui.format_temperature.call(null,
p)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Wind",weathergen.ui.format_wind.call(null,q)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Vis",weathergen.ui.format_visibility.call(null,cljs.core.get_in.call(null,f,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"visibility","visibility",1338380893),r],null)))],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
["Precip",weathergen.ui.format_precipitation.call(null,p,r)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Cloud",weathergen.ui.format_cloud.call(null,f,r)],null)],null)))}()))],null)};
weathergen.ui.adjust_west=function(a,b,c){return cljs.core.assoc.call(null,cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"x","x",2099068185),(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(b)+c),new cljs.core.Keyword(null,"width","width",-384071477),(new cljs.core.Keyword(null,"width","width",-384071477)).cljs$core$IFn$_invoke$arity$1(b)-c)};
weathergen.ui.adjust_east=function(a,b,c){return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"width","width",-384071477),(new cljs.core.Keyword(null,"width","width",-384071477)).cljs$core$IFn$_invoke$arity$1(b)+c)};
weathergen.ui.adjust_north=function(a,b,c){return cljs.core.assoc.call(null,cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"y","y",-1757859776),(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(b)+c),new cljs.core.Keyword(null,"height","height",1025178622),(new cljs.core.Keyword(null,"height","height",1025178622)).cljs$core$IFn$_invoke$arity$1(b)-c)};
weathergen.ui.adjust_south=function(a,b,c){return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"height","height",1025178622),(new cljs.core.Keyword(null,"height","height",1025178622)).cljs$core$IFn$_invoke$arity$1(b)+c)};
weathergen.ui.restrict=function(a,b,c){var d=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"x","x",2099068185)),f=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"y","y",-1757859776)),g=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"width","width",-384071477)),d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"height","height",
1025178622));return 0<=e&&0<=f&&e+g<=a&&f+d<=b&&0<g&&0<d?c:null};
weathergen.ui.wind_stability_overlay=function(a,b){var c=javelin.core.formula.call(null,function(a,b,c){return b.call(null,c,(new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204)).cljs$core$IFn$_invoke$arity$1(a))}).call(null,a,cljs.core.map_indexed,cljs.core.vector),d=(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,a)),e=cljs.core.nth.call(null,d,0,null),f=cljs.core.nth.call(null,d,1,null);
return javelin.core.formula.call(null,function(c,d,e,f){return function(g){return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"wind-stability-overlay",function(){return function(c,d,e,f){return function t(g){return new cljs.core.LazySeq(null,function(c,d,e,f){return function(){for(;;){var h=cljs.core.seq.call(null,g);if(h){var k=h;if(cljs.core.chunked_seq_QMARK_.call(null,k)){var l=cljs.core.chunk_first.call(null,k),m=cljs.core.count.call(null,l),n=cljs.core.chunk_buffer.call(null,
m);return function(){for(var g=0;;)if(g<m){var p=cljs.core._nth.call(null,l,g),q=cljs.core.nth.call(null,p,0,null),r=cljs.core.nth.call(null,p,1,null);cljs.core.chunk_append.call(null,n,function(){var t=r,v=null!=t&&(t.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===t.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,t):t,w=cljs.core.get.call(null,v,new cljs.core.Keyword(null,"bounds","bounds",1691609455)),x=cljs.core.get.call(null,v,new cljs.core.Keyword(null,"editing?",
"editing?",1646440800)),y=null!=w&&(w.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===w.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,w):w,z=cljs.core.get.call(null,y,new cljs.core.Keyword(null,"x","x",2099068185)),A=cljs.core.get.call(null,y,new cljs.core.Keyword(null,"y","y",-1757859776)),B=cljs.core.get.call(null,y,new cljs.core.Keyword(null,"width","width",-384071477)),C=cljs.core.get.call(null,y,new cljs.core.Keyword(null,"height","height",1025178622)),D=
function(c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D){return function(F){cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!0);return b.call(null,function(){return function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D){return function(F,E){var G=cljs.core.nth.call(null,F,0,null),H=cljs.core.nth.call(null,F,1,null),I=cljs.core.long$.call(null,G),K=cljs.core.long$.call(null,H);return javelin.core.dosync_STAR_.call(null,function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,
B,C,D,F,G,H,I,K){return function(){cljs.core.swap_BANG_.call(null,a,cljs.core.update_in,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204),y,new cljs.core.Keyword(null,"bounds","bounds",1691609455)],null),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H){return function(a){return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"x","x",2099068185),weathergen.math.clamp.call(null,
0,G-(new cljs.core.Keyword(null,"width","width",-384071477)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(g)+b),new cljs.core.Keyword(null,"y","y",-1757859776),weathergen.math.clamp.call(null,0,H-(new cljs.core.Keyword(null,"height","height",1025178622)).cljs$core$IFn$_invoke$arity$1(a),(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(g)+c))}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,G,H,I,K));
return cljs.core.truth_(E)?cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!1):null}}(b,I,K,F,G,H,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D))}}(c,f,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D)}())}}(g,t,v,w,x,w,y,z,A,B,C,p,q,r,l,m,n,k,h,c,d,e,f);return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"fill","fill",883462889),cljs.core.truth_(x)?weathergen.ui.common.colors.call(null,new cljs.core.Keyword(null,
"edit","edit",-1641834166)):"none",new cljs.core.Keyword(null,"mousedown","mousedown",1391242074),D,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"cursor","cursor",1011937484),cljs.core.truth_(x)?"move":null,new cljs.core.Keyword(null,"border-width","border-width",-1512605390),0],null),new cljs.core.Keyword(null,"x","x",2099068185),z,new cljs.core.Keyword(null,"y","y",-1757859776),A,new cljs.core.Keyword(null,"width","width",
-384071477),B,new cljs.core.Keyword(null,"height","height",1025178622),C),hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"fill","fill",883462889),"none",new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),.2,new cljs.core.Keyword(null,"stroke-dasharray","stroke-dasharray",-942933855),"0.6 0.6",new cljs.core.Keyword(null,"x","x",2099068185),z,new cljs.core.Keyword(null,"y","y",-1757859776),A,new cljs.core.Keyword(null,
"width","width",-384071477),B,new cljs.core.Keyword(null,"height","height",1025178622),C),hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"fill","fill",883462889),"none",new cljs.core.Keyword(null,"stroke","stroke",1741823555),"white",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),.2,new cljs.core.Keyword(null,"stroke-dasharray","stroke-dasharray",-942933855),"0.6 0.6",new cljs.core.Keyword(null,"stroke-dashoffset","stroke-dashoffset",-782320340),.6,new cljs.core.Keyword(null,
"x","x",2099068185),z,new cljs.core.Keyword(null,"y","y",-1757859776),A,new cljs.core.Keyword(null,"width","width",-384071477),B,new cljs.core.Keyword(null,"height","height",1025178622),C),cljs.core.not.call(null,x)?cljs.core.PersistentVector.EMPTY:function(){return function(c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F){return function La(E){return new cljs.core.LazySeq(null,function(c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F){return function(){for(var G=E;;){var H=cljs.core.seq.call(null,
G);if(H){var I=H,K=cljs.core.first.call(null,I),J=cljs.core.nth.call(null,K,0,null),L=cljs.core.nth.call(null,K,1,null),H=function(c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J){return function Eb(L){return new cljs.core.LazySeq(null,function(c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J){return function(){for(var M=L;;){var N=cljs.core.seq.call(null,M);if(N){var O=N;if(cljs.core.chunked_seq_QMARK_.call(null,O)){var P=cljs.core.chunk_first.call(null,O),Q=cljs.core.count.call(null,
P),T=cljs.core.chunk_buffer.call(null,Q);return function(){for(var L=0;;)if(L<Q){var R=cljs.core._nth.call(null,P,L),U=cljs.core.nth.call(null,R,0,null),S=cljs.core.nth.call(null,R,1,null);cljs.core.not_EQ_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,null],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[g,S],null))&&cljs.core.chunk_append.call(null,T,hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"attr","attr",
-604132353),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"0.1",new cljs.core.Keyword(null,"fill","fill",883462889),"white",new cljs.core.Keyword(null,"cursor","cursor",1011937484),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(S),cljs.core.str.cljs$core$IFn$_invoke$arity$1(g),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-resize")].join("")],null),new cljs.core.Keyword(null,
"x","x",2099068185),f+(t-weathergen.ui.resize_handle_size/2),new cljs.core.Keyword(null,"y","y",-1757859776),U+(v-weathergen.ui.resize_handle_size/2),new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.resize_handle_size,new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.resize_handle_size,new cljs.core.Keyword(null,"mousedown","mousedown",1391242074),function(c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N,O,P,Q,R,T,U,S){return function(W){cljs.core.reset_BANG_.call(null,
weathergen.ui.prevent_recomputation_QMARK_,!0);return b.call(null,function(){return function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N,O,P,Q,R,T,U,S){return function(W,X){var V=cljs.core.nth.call(null,W,0,null),Y=cljs.core.nth.call(null,W,1,null);return javelin.core.dosync_STAR_.call(null,function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N,O,P,Q,R,T,U,S,W,V,Y){return function(){cljs.core.swap_BANG_.call(null,a,cljs.core.update_in,new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204),N,new cljs.core.Keyword(null,"bounds","bounds",1691609455)],null),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N,O,P,Q,R,T,U,S,W,V){return function(a){var b=cljs.core.long$.call(null,f),c=cljs.core.long$.call(null,g),d=weathergen.ui.restrict.call(null,W,V,function(){var d=cljs.core._EQ_.call(null,x,"w")?weathergen.ui.adjust_west.call(null,
a,h,b):a,d=cljs.core._EQ_.call(null,x,"e")?weathergen.ui.adjust_east.call(null,d,h,b):d,d=cljs.core._EQ_.call(null,m,"n")?weathergen.ui.adjust_north.call(null,d,h,c):d;return cljs.core._EQ_.call(null,m,"s")?weathergen.ui.adjust_south.call(null,d,h,c):d}());return cljs.core.truth_(d)?d:a}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N,O,P,Q,R,T,U,S,W,V,Y));return cljs.core.truth_(X)?cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!1):null}}(b,c,d,e,
W,V,Y,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N,O,P,Q,R,T,U,S))}}(c,d,e,f,A,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N,O,P,Q,R,T,U,S)}())}}(L,M,c,d,R,U,S,P,Q,T,O,N,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J)));L+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,T),Eb.call(null,cljs.core.chunk_rest.call(null,O))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,T),null)}var R=cljs.core.first.call(null,O),U=cljs.core.nth.call(null,
R,0,null),S=cljs.core.nth.call(null,R,1,null);if(cljs.core.not_EQ_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,null],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[g,S],null)))return cljs.core.cons.call(null,hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,
"stroke-width","stroke-width",716836435),"0.1",new cljs.core.Keyword(null,"fill","fill",883462889),"white",new cljs.core.Keyword(null,"cursor","cursor",1011937484),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(S),cljs.core.str.cljs$core$IFn$_invoke$arity$1(g),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-resize")].join("")],null),new cljs.core.Keyword(null,"x","x",2099068185),f+(t-weathergen.ui.resize_handle_size/2),new cljs.core.Keyword(null,"y","y",-1757859776),U+(v-weathergen.ui.resize_handle_size/
2),new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.resize_handle_size,new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.resize_handle_size,new cljs.core.Keyword(null,"mousedown","mousedown",1391242074),function(c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N,O,P,Q){return function(R){cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!0);return b.call(null,function(){return function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,
w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N,O,P,Q){return function(R,T){var U=cljs.core.nth.call(null,R,0,null),S=cljs.core.nth.call(null,R,1,null);return javelin.core.dosync_STAR_.call(null,function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N,O,P,Q,R,U,S){return function(){cljs.core.swap_BANG_.call(null,a,cljs.core.update_in,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204),
K,new cljs.core.Keyword(null,"bounds","bounds",1691609455)],null),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N,O,P,Q,R,T){return function(a){var b=cljs.core.long$.call(null,e),c=cljs.core.long$.call(null,f),d=weathergen.ui.restrict.call(null,R,T,function(){var d=cljs.core._EQ_.call(null,r,"w")?weathergen.ui.adjust_west.call(null,a,g,b):a,d=cljs.core._EQ_.call(null,r,"e")?weathergen.ui.adjust_east.call(null,d,g,b):d,d=cljs.core._EQ_.call(null,l,"n")?weathergen.ui.adjust_north.call(null,
d,g,c):d;return cljs.core._EQ_.call(null,l,"s")?weathergen.ui.adjust_south.call(null,d,g,c):d}());return cljs.core.truth_(d)?d:a}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N,O,P,Q,R,U,S));return cljs.core.truth_(T)?cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!1):null}}(b,c,d,R,U,S,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N,O,P,Q))}}(c,d,e,w,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N,O,P,Q)}())}}(M,c,d,R,U,
S,O,N,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J)),Eb.call(null,cljs.core.rest.call(null,O)));M=cljs.core.rest.call(null,O)}else return null}}}(c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J),null,null)}}(G,c,K,J,L,I,H,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F);if(H=cljs.core.seq.call(null,H.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,"n"],null),
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[p/2,null],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[p,"s"],null)],null))))return cljs.core.concat.call(null,H,La.call(null,cljs.core.rest.call(null,G)));G=cljs.core.rest.call(null,G)}else return null}}}(c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F),null,null)}}(g,t,v,w,x,w,y,z,A,B,C,D,p,q,r,l,m,n,k,h,c,d,e,f).call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,"w"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[B/2,null],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[B,"e"],null)],null))}()],null)}());g+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,n),t.call(null,cljs.core.chunk_rest.call(null,k))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,n),null)}var p=
cljs.core.first.call(null,k),q=cljs.core.nth.call(null,p,0,null),r=cljs.core.nth.call(null,p,1,null);return cljs.core.cons.call(null,function(){var g=r,l=null!=g&&(g.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===g.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,g):g,m=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"bounds","bounds",1691609455)),n=cljs.core.get.call(null,l,new cljs.core.Keyword(null,"editing?","editing?",1646440800)),t=null!=m&&(m.cljs$lang$protocol_mask$partition0$&
64||cljs.core.PROTOCOL_SENTINEL===m.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,m):m,v=cljs.core.get.call(null,t,new cljs.core.Keyword(null,"x","x",2099068185)),w=cljs.core.get.call(null,t,new cljs.core.Keyword(null,"y","y",-1757859776)),x=cljs.core.get.call(null,t,new cljs.core.Keyword(null,"width","width",-384071477)),y=cljs.core.get.call(null,t,new cljs.core.Keyword(null,"height","height",1025178622)),z=function(c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z){return function(A){cljs.core.reset_BANG_.call(null,
weathergen.ui.prevent_recomputation_QMARK_,!0);return b.call(null,function(){return function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z){return function(A,B){var C=cljs.core.nth.call(null,A,0,null),D=cljs.core.nth.call(null,A,1,null),F=cljs.core.long$.call(null,C),E=cljs.core.long$.call(null,D);return javelin.core.dosync_STAR_.call(null,function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,C,D,F,E){return function(){cljs.core.swap_BANG_.call(null,a,cljs.core.update_in,new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204),x,new cljs.core.Keyword(null,"bounds","bounds",1691609455)],null),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D){return function(c){return cljs.core.assoc.call(null,c,new cljs.core.Keyword(null,"x","x",2099068185),weathergen.math.clamp.call(null,0,C-(new cljs.core.Keyword(null,"width","width",-384071477)).cljs$core$IFn$_invoke$arity$1(c),(new cljs.core.Keyword(null,
"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(f)+a),new cljs.core.Keyword(null,"y","y",-1757859776),weathergen.math.clamp.call(null,0,D-(new cljs.core.Keyword(null,"height","height",1025178622)).cljs$core$IFn$_invoke$arity$1(c),(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(f)+b))}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,C,D,F,E));return cljs.core.truth_(B)?cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!1):null}}(F,E,A,C,D,b,c,
d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z))}}(e,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z)}())}}(g,l,m,n,m,t,v,w,x,y,p,q,r,k,h,c,d,e,f);return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"fill","fill",883462889),cljs.core.truth_(n)?weathergen.ui.common.colors.call(null,new cljs.core.Keyword(null,"edit","edit",-1641834166)):"none",new cljs.core.Keyword(null,"mousedown","mousedown",1391242074),z,new cljs.core.Keyword(null,
"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"cursor","cursor",1011937484),cljs.core.truth_(n)?"move":null,new cljs.core.Keyword(null,"border-width","border-width",-1512605390),0],null),new cljs.core.Keyword(null,"x","x",2099068185),v,new cljs.core.Keyword(null,"y","y",-1757859776),w,new cljs.core.Keyword(null,"width","width",-384071477),x,new cljs.core.Keyword(null,"height","height",1025178622),y),hoplon.svg.rect.call(null,new cljs.core.Keyword(null,
"fill","fill",883462889),"none",new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),.2,new cljs.core.Keyword(null,"stroke-dasharray","stroke-dasharray",-942933855),"0.6 0.6",new cljs.core.Keyword(null,"x","x",2099068185),v,new cljs.core.Keyword(null,"y","y",-1757859776),w,new cljs.core.Keyword(null,"width","width",-384071477),x,new cljs.core.Keyword(null,"height","height",1025178622),y),hoplon.svg.rect.call(null,new cljs.core.Keyword(null,
"fill","fill",883462889),"none",new cljs.core.Keyword(null,"stroke","stroke",1741823555),"white",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),.2,new cljs.core.Keyword(null,"stroke-dasharray","stroke-dasharray",-942933855),"0.6 0.6",new cljs.core.Keyword(null,"stroke-dashoffset","stroke-dashoffset",-782320340),.6,new cljs.core.Keyword(null,"x","x",2099068185),v,new cljs.core.Keyword(null,"y","y",-1757859776),w,new cljs.core.Keyword(null,"width","width",-384071477),x,new cljs.core.Keyword(null,
"height","height",1025178622),y),cljs.core.not.call(null,n)?cljs.core.PersistentVector.EMPTY:function(){return function(c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A){return function za(B){return new cljs.core.LazySeq(null,function(c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A){return function(){for(var C=B;;){var D=cljs.core.seq.call(null,C);if(D){var F=D,E=cljs.core.first.call(null,F),G=cljs.core.nth.call(null,E,0,null),H=cljs.core.nth.call(null,E,1,null),D=function(c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,
B,C,D,F,E,G){return function xa(H){return new cljs.core.LazySeq(null,function(c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G){return function(){for(var I=H;;){var K=cljs.core.seq.call(null,I);if(K){var J=K;if(cljs.core.chunked_seq_QMARK_.call(null,J)){var L=cljs.core.chunk_first.call(null,J),M=cljs.core.count.call(null,L),N=cljs.core.chunk_buffer.call(null,M);return function(){for(var H=0;;)if(H<M){var O=cljs.core._nth.call(null,L,H),P=cljs.core.nth.call(null,O,0,null),Q=cljs.core.nth.call(null,
O,1,null);cljs.core.not_EQ_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,null],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[f,Q],null))&&cljs.core.chunk_append.call(null,N,hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",
716836435),"0.1",new cljs.core.Keyword(null,"fill","fill",883462889),"white",new cljs.core.Keyword(null,"cursor","cursor",1011937484),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(Q),cljs.core.str.cljs$core$IFn$_invoke$arity$1(f),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-resize")].join("")],null),new cljs.core.Keyword(null,"x","x",2099068185),e+(r-weathergen.ui.resize_handle_size/2),new cljs.core.Keyword(null,"y","y",-1757859776),P+(t-weathergen.ui.resize_handle_size/2),new cljs.core.Keyword(null,
"width","width",-384071477),weathergen.ui.resize_handle_size,new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.resize_handle_size,new cljs.core.Keyword(null,"mousedown","mousedown",1391242074),function(c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N,O,P,Q){return function(R){cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!0);return b.call(null,function(){return function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,
L,M,N,O,P,Q){return function(R,T){var U=cljs.core.nth.call(null,R,0,null),S=cljs.core.nth.call(null,R,1,null);return javelin.core.dosync_STAR_.call(null,function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N,O,P,Q,R,U,S){return function(){cljs.core.swap_BANG_.call(null,a,cljs.core.update_in,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204),M,new cljs.core.Keyword(null,
"bounds","bounds",1691609455)],null),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N,O,P,Q,R,T){return function(a){var b=cljs.core.long$.call(null,e),c=cljs.core.long$.call(null,f),d=weathergen.ui.restrict.call(null,R,T,function(){var d=cljs.core._EQ_.call(null,w,"w")?weathergen.ui.adjust_west.call(null,a,g,b):a,d=cljs.core._EQ_.call(null,w,"e")?weathergen.ui.adjust_east.call(null,d,g,b):d,d=cljs.core._EQ_.call(null,l,"n")?weathergen.ui.adjust_north.call(null,d,g,c):
d;return cljs.core._EQ_.call(null,l,"s")?weathergen.ui.adjust_south.call(null,d,g,c):d}());return cljs.core.truth_(d)?d:a}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N,O,P,Q,R,U,S));return cljs.core.truth_(T)?cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!1):null}}(b,c,d,R,U,S,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N,O,P,Q))}}(c,d,e,z,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N,O,P,Q)}())}}(H,I,c,O,P,Q,L,M,N,
J,K,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G)));H+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,N),xa.call(null,cljs.core.chunk_rest.call(null,J))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,N),null)}var O=cljs.core.first.call(null,J),P=cljs.core.nth.call(null,O,0,null),Q=cljs.core.nth.call(null,O,1,null);if(cljs.core.not_EQ_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[null,null],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[f,Q],null)))return cljs.core.cons.call(null,hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"0.1",new cljs.core.Keyword(null,"fill","fill",883462889),"white",new cljs.core.Keyword(null,"cursor","cursor",1011937484),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(Q),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(f),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-resize")].join("")],null),new cljs.core.Keyword(null,"x","x",2099068185),e+(r-weathergen.ui.resize_handle_size/2),new cljs.core.Keyword(null,"y","y",-1757859776),P+(t-weathergen.ui.resize_handle_size/2),new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.resize_handle_size,new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.resize_handle_size,new cljs.core.Keyword(null,
"mousedown","mousedown",1391242074),function(c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M){return function(N){cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!0);return b.call(null,function(){return function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M){return function(N,O){var P=cljs.core.nth.call(null,N,0,null),Q=cljs.core.nth.call(null,N,1,null);return javelin.core.dosync_STAR_.call(null,function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,
w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N,P,Q){return function(){cljs.core.swap_BANG_.call(null,a,cljs.core.update_in,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204),I,new cljs.core.Keyword(null,"bounds","bounds",1691609455)],null),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N,O){return function(a){var b=cljs.core.long$.call(null,d),c=cljs.core.long$.call(null,
e),g=weathergen.ui.restrict.call(null,N,O,function(){var d=cljs.core._EQ_.call(null,q,"w")?weathergen.ui.adjust_west.call(null,a,f,b):a,d=cljs.core._EQ_.call(null,q,"e")?weathergen.ui.adjust_east.call(null,d,f,b):d,d=cljs.core._EQ_.call(null,k,"n")?weathergen.ui.adjust_north.call(null,d,f,c):d;return cljs.core._EQ_.call(null,k,"s")?weathergen.ui.adjust_south.call(null,d,f,c):d}());return cljs.core.truth_(g)?g:a}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N,P,Q));return cljs.core.truth_(O)?
cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!1):null}}(b,c,N,P,Q,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M))}}(c,d,v,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M)}())}}(I,c,O,P,Q,J,K,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G)),xa.call(null,cljs.core.rest.call(null,J)));I=cljs.core.rest.call(null,J)}else return null}}}(c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G),null,null)}}(C,E,G,H,F,D,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,
w,x,y,z,A);if(D=cljs.core.seq.call(null,D.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,"n"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[n/2,null],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[n,"s"],null)],null))))return cljs.core.concat.call(null,D,za.call(null,cljs.core.rest.call(null,C)));C=cljs.core.rest.call(null,
C)}else return null}}}(c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A),null,null)}}(g,l,m,n,m,t,v,w,x,y,z,p,q,r,k,h,c,d,e,f).call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[0,"w"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[x/2,null],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[x,"e"],null)],null))}()],null)}(),
t.call(null,cljs.core.rest.call(null,k)))}return null}}}(c,d,e,f),null,null)}}(c,d,e,f).call(null,g)}())}}(c,d,e,f)).call(null,c)};
weathergen.ui.weather_overrides_overlay=function(a,b){var c=javelin.core.formula.call(null,function(a,b,c){return b.call(null,c,(new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710)).cljs$core$IFn$_invoke$arity$1(a))}).call(null,a,cljs.core.map_indexed,cljs.core.vector),d=(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,a)),e=cljs.core.nth.call(null,d,0,null),f=cljs.core.nth.call(null,d,1,null);return javelin.core.formula.call(null,
function(c,d,e,f){return function(g){return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"weather-overrides-overlay",function(){return function(c,d,e,f){return function t(g){return new cljs.core.LazySeq(null,function(c,d,e,f){return function(){for(var h=g;;){var k=cljs.core.seq.call(null,h);if(k){var l=k;if(cljs.core.chunked_seq_QMARK_.call(null,l)){var m=cljs.core.chunk_first.call(null,l),n=cljs.core.count.call(null,m),p=cljs.core.chunk_buffer.call(null,n);return function(){for(var g=
0;;)if(g<n){var q=cljs.core._nth.call(null,m,g),r=cljs.core.nth.call(null,q,0,null),t=cljs.core.nth.call(null,q,1,null),v=t,w=null!=v&&(v.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===v.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,v):v,x=cljs.core.get.call(null,w,new cljs.core.Keyword(null,"location","location",1815599388)),y=cljs.core.get.call(null,w,new cljs.core.Keyword(null,"radius","radius",-2073122258)),z=cljs.core.get.call(null,w,new cljs.core.Keyword(null,
"falloff","falloff",-1639069456)),A=cljs.core.get.call(null,w,new cljs.core.Keyword(null,"show-outline?","show-outline?",820145348)),B=cljs.core.get.call(null,w,new cljs.core.Keyword(null,"editing?","editing?",1646440800)),C=x,D=null!=C&&(C.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===C.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,C):C,F=cljs.core.get.call(null,D,new cljs.core.Keyword(null,"x","x",2099068185)),E=cljs.core.get.call(null,D,new cljs.core.Keyword(null,
"y","y",-1757859776));cljs.core.truth_(function(){var a=A;return cljs.core.truth_(a)?a:B}())&&cljs.core.chunk_append.call(null,p,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.svg.circle.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"fill","fill",883462889),cljs.core.truth_(B)?weathergen.ui.common.colors.call(null,new cljs.core.Keyword(null,"edit","edit",-1641834166)):"none",new cljs.core.Keyword(null,
"cursor","cursor",1011937484),cljs.core.truth_(B)?"move":null,new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"0.2",new cljs.core.Keyword(null,"stroke","stroke",1741823555),"fuchsia",new cljs.core.Keyword(null,"stroke-dasharray","stroke-dasharray",-942933855),"0.2 0.1"],null),new cljs.core.Keyword(null,"cx","cx",1272694324),F+.5,new cljs.core.Keyword(null,"cy","cy",755331060),E+.5,new cljs.core.Keyword(null,"r","r",-471384190),y-.5,new cljs.core.Keyword(null,"mousedown","mousedown",
1391242074),function(c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E){return function(G){cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!0);return b.call(null,function(){return function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E){return function(G,H){var I=cljs.core.nth.call(null,G,0,null),K=cljs.core.nth.call(null,G,1,null),J=cljs.core.long$.call(null,I),L=cljs.core.long$.call(null,K);return javelin.core.dosync_STAR_.call(null,function(b,c,d,e,f,g,h,k,l,m,n,
p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,I,K,J,L){return function(){cljs.core.swap_BANG_.call(null,a,cljs.core.update_in,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),A,new cljs.core.Keyword(null,"location","location",1815599388)],null),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K){return function(a){return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"x","x",
2099068185),weathergen.math.clamp.call(null,0,I-1,(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(h)+c),new cljs.core.Keyword(null,"y","y",-1757859776),weathergen.math.clamp.call(null,0,K-1,(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(h)+d))}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,G,I,K,J,L));return cljs.core.truth_(H)?cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!1):null}}(b,c,J,L,G,I,K,
d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E))}}(c,d,g,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E)}())}}(g,h,v,w,x,y,z,A,B,C,D,F,E,q,r,t,m,n,p,l,k,c,d,e,f)),hoplon.svg.circle.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"fill","fill",883462889),"none",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"0.2",new cljs.core.Keyword(null,"stroke","stroke",1741823555),"fuchsia",new cljs.core.Keyword(null,
"stroke-dasharray","stroke-dasharray",-942933855),"0.1 0.2"],null),new cljs.core.Keyword(null,"cx","cx",1272694324),F+.5,new cljs.core.Keyword(null,"cy","cy",755331060),E+.5,new cljs.core.Keyword(null,"r","r",-471384190),z-.5),function(){var G=function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F){return function(E,G){return function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F){return function ra(H){return new cljs.core.LazySeq(null,function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,
C,D,F){return function(){for(;;){var I=cljs.core.seq.call(null,H);if(I){var K=I;if(cljs.core.chunked_seq_QMARK_.call(null,K)){var J=cljs.core.chunk_first.call(null,K),L=cljs.core.count.call(null,J),M=cljs.core.chunk_buffer.call(null,L);return function(){for(var H=0;;)if(H<L){var N=cljs.core._nth.call(null,J,H);cljs.core.chunk_append.call(null,M,function(){var O=weathergen.math.deg__GT_rad.call(null,N),P=E-.5,Q=Math.sin(O),R=Math.cos(O),T=P*Q,S=P*R,U=.1<Q?"e":-.1>Q?"w":"",W=.1<R?"s":-.1>R?"n":"";return hoplon.svg.rect.call(null,
new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"0.1",new cljs.core.Keyword(null,"fill","fill",883462889),"white",new cljs.core.Keyword(null,"cursor","cursor",1011937484),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(W),cljs.core.str.cljs$core$IFn$_invoke$arity$1(U),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-resize")].join("")],
null),new cljs.core.Keyword(null,"x","x",2099068185),p+T+.5-weathergen.ui.resize_handle_size/2,new cljs.core.Keyword(null,"y","y",-1757859776),q+S+.5-weathergen.ui.resize_handle_size/2,new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.resize_handle_size,new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.resize_handle_size,new cljs.core.Keyword(null,"mousedown","mousedown",1391242074),function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,H,I,K,J,L,M,N,
O,P,Q,R,T,S,U){return function(W){cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!0);return b.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,H,I,K,J,L,M,N,O,P,Q,R,T,S){return function(U,W){var V=cljs.core.nth.call(null,U,0,null),X=cljs.core.nth.call(null,U,1,null),Y=h+V,Z=k+X;return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,H,I,K,J,L,M,N,O,P,Q,R,T,S,U,V,X,Y,Z,ba){return function(){G.call(null,
f);return cljs.core.truth_(W)?cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!1):null}}(a,b,c,Y,Z,.5+Math.sqrt(Y*Y+Z*Z),U,V,X,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,H,I,K,J,L,M,N,O,P,Q,R,T,S))}}(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,H,I,K,J,L,M,N,O,P,Q,R,T,S,U))}}(H,a,c,O,P,Q,R,T,S,U,W,N,J,L,M,K,I,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F))}());H+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,M),ra.call(null,cljs.core.chunk_rest.call(null,
K))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,M),null)}var N=cljs.core.first.call(null,K);return cljs.core.cons.call(null,function(){var H=weathergen.math.deg__GT_rad.call(null,N),J=E-.5,L=Math.sin(H),M=Math.cos(H),O=J*L,P=J*M,Q=.1<L?"e":-.1>L?"w":"",R=.1<M?"s":-.1>M?"n":"";return hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,
"stroke-width","stroke-width",716836435),"0.1",new cljs.core.Keyword(null,"fill","fill",883462889),"white",new cljs.core.Keyword(null,"cursor","cursor",1011937484),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(R),cljs.core.str.cljs$core$IFn$_invoke$arity$1(Q),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-resize")].join("")],null),new cljs.core.Keyword(null,"x","x",2099068185),p+O+.5-weathergen.ui.resize_handle_size/2,new cljs.core.Keyword(null,"y","y",-1757859776),q+P+.5-weathergen.ui.resize_handle_size/
2,new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.resize_handle_size,new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.resize_handle_size,new cljs.core.Keyword(null,"mousedown","mousedown",1391242074),function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,H,I,K,J,L,M,N,O,P,Q){return function(R){cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!0);return b.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,
F,E,H,I,K,J,L,M,N,O,P){return function(Q,R){var T=cljs.core.nth.call(null,Q,0,null),S=cljs.core.nth.call(null,Q,1,null),U=g+T,W=h+S;return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,H,I,K,J,L,M,N,O,P,Q,T,S,U,W,V){return function(){G.call(null,e);return cljs.core.truth_(R)?cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!1):null}}(a,b,U,W,.5+Math.sqrt(U*U+W*W),Q,T,S,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,
H,I,K,J,L,M,N,O,P))}}(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E,H,I,K,J,L,M,N,O,P,Q))}}(a,c,H,J,L,M,O,P,Q,R,N,K,I,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F))}(),ra.call(null,cljs.core.rest.call(null,K)))}return null}}}(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F),null,null)}}(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F).call(null,cljs.core.range.call(null,0,360,45))}}(g,h,v,w,x,y,z,A,B,C,D,F,E,q,r,t,m,n,p,l,k,c,d,e,f);return cljs.core.not.call(null,B)?cljs.core.PersistentVector.EMPTY:
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[G.call(null,z,function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E){return function(G){return cljs.core.swap_BANG_.call(null,a,cljs.core.update_in,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),v],null),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F){return function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&
64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;cljs.core.get.call(null,a,new cljs.core.Keyword(null,"falloff","falloff",-1639069456));var b=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"radius","radius",-2073122258));return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"falloff","falloff",-1639069456),weathergen.math.clamp.call(null,0,b,cljs.core.long$.call(null,G)))}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E))}}(g,
h,G,v,w,x,y,z,A,B,C,D,F,E,q,r,t,m,n,p,l,k,c,d,e,f)),G.call(null,y,function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E){return function(G){cljs.core.swap_BANG_.call(null,a,cljs.core.assoc_in,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),v,new cljs.core.Keyword(null,"radius","radius",-2073122258)],null),function(){var a=cljs.core.long$.call(null,G);return 1>a?1:a}());return cljs.core.swap_BANG_.call(null,
a,cljs.core.update_in,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),v,new cljs.core.Keyword(null,"falloff","falloff",-1639069456)],null),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F){return function(a){return weathergen.math.clamp.call(null,0,cljs.core.long$.call(null,G),a)}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E))}}(g,h,G,v,w,x,y,z,A,B,C,D,F,E,q,r,t,m,n,p,
l,k,c,d,e,f))],null)}()],null));g+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,p),t.call(null,cljs.core.chunk_rest.call(null,l))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,p),null)}var q=cljs.core.first.call(null,l),r=cljs.core.nth.call(null,q,0,null),v=cljs.core.nth.call(null,q,1,null),w=v,x=null!=w&&(w.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===w.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,w):w,y=cljs.core.get.call(null,
x,new cljs.core.Keyword(null,"location","location",1815599388)),z=cljs.core.get.call(null,x,new cljs.core.Keyword(null,"radius","radius",-2073122258)),P=cljs.core.get.call(null,x,new cljs.core.Keyword(null,"falloff","falloff",-1639069456)),O=cljs.core.get.call(null,x,new cljs.core.Keyword(null,"show-outline?","show-outline?",820145348)),N=cljs.core.get.call(null,x,new cljs.core.Keyword(null,"editing?","editing?",1646440800)),Q=y,S=null!=Q&&(Q.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
Q.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,Q):Q,V=cljs.core.get.call(null,S,new cljs.core.Keyword(null,"x","x",2099068185)),T=cljs.core.get.call(null,S,new cljs.core.Keyword(null,"y","y",-1757859776));if(cljs.core.truth_(function(){var a=O;return cljs.core.truth_(a)?a:N}()))return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.svg.circle.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"fill","fill",883462889),cljs.core.truth_(N)?weathergen.ui.common.colors.call(null,new cljs.core.Keyword(null,"edit","edit",-1641834166)):"none",new cljs.core.Keyword(null,"cursor","cursor",1011937484),cljs.core.truth_(N)?"move":null,new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"0.2",new cljs.core.Keyword(null,"stroke","stroke",1741823555),"fuchsia",new cljs.core.Keyword(null,"stroke-dasharray","stroke-dasharray",-942933855),"0.2 0.1"],null),new cljs.core.Keyword(null,
"cx","cx",1272694324),V+.5,new cljs.core.Keyword(null,"cy","cy",755331060),T+.5,new cljs.core.Keyword(null,"r","r",-471384190),z-.5,new cljs.core.Keyword(null,"mousedown","mousedown",1391242074),function(c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B){return function(C){cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!0);return b.call(null,function(){return function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B){return function(C,D){var F=cljs.core.nth.call(null,C,0,null),E=cljs.core.nth.call(null,
C,1,null),G=cljs.core.long$.call(null,F),H=cljs.core.long$.call(null,E);return javelin.core.dosync_STAR_.call(null,function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,F,E,G,H){return function(){cljs.core.swap_BANG_.call(null,a,cljs.core.update_in,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),z,new cljs.core.Keyword(null,"location","location",1815599388)],null),function(a,b,c,d,e,f,g,
h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,D,F,E){return function(a){return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"x","x",2099068185),weathergen.math.clamp.call(null,0,F-1,(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(g)+b),new cljs.core.Keyword(null,"y","y",-1757859776),weathergen.math.clamp.call(null,0,E-1,(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(g)+c))}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,C,F,E,G,H));return cljs.core.truth_(D)?
cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!1):null}}(b,G,H,C,F,E,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B))}}(c,f,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B)}())}}(h,w,x,y,z,P,O,N,Q,S,V,T,q,r,v,l,k,c,d,e,f)),hoplon.svg.circle.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"fill","fill",883462889),"none",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"0.2",new cljs.core.Keyword(null,
"stroke","stroke",1741823555),"fuchsia",new cljs.core.Keyword(null,"stroke-dasharray","stroke-dasharray",-942933855),"0.1 0.2"],null),new cljs.core.Keyword(null,"cx","cx",1272694324),V+.5,new cljs.core.Keyword(null,"cy","cy",755331060),T+.5,new cljs.core.Keyword(null,"r","r",-471384190),P-.5),function(){var g=function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A){return function(B,C){return function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A){return function Na(D){return new cljs.core.LazySeq(null,function(a,
c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A){return function(){for(;;){var F=cljs.core.seq.call(null,D);if(F){var E=F;if(cljs.core.chunked_seq_QMARK_.call(null,E)){var G=cljs.core.chunk_first.call(null,E),H=cljs.core.count.call(null,G),I=cljs.core.chunk_buffer.call(null,H);return function(){for(var D=0;;)if(D<H){var K=cljs.core._nth.call(null,G,D);cljs.core.chunk_append.call(null,I,function(){var J=weathergen.math.deg__GT_rad.call(null,K),L=B-.5,M=Math.sin(J),N=Math.cos(J),O=L*M,P=L*N,Q=.1<M?"e":-.1>
M?"w":"",R=.1<N?"s":-.1>N?"n":"";return hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"0.1",new cljs.core.Keyword(null,"fill","fill",883462889),"white",new cljs.core.Keyword(null,"cursor","cursor",1011937484),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(R),cljs.core.str.cljs$core$IFn$_invoke$arity$1(Q),
cljs.core.str.cljs$core$IFn$_invoke$arity$1("-resize")].join("")],null),new cljs.core.Keyword(null,"x","x",2099068185),n+O+.5-weathergen.ui.resize_handle_size/2,new cljs.core.Keyword(null,"y","y",-1757859776),p+P+.5-weathergen.ui.resize_handle_size/2,new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.resize_handle_size,new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.resize_handle_size,new cljs.core.Keyword(null,"mousedown","mousedown",1391242074),function(a,
c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,D,F,E,G,H,I,K,J,L,M,N,O,P,Q){return function(R){cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!0);return b.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,D,F,E,G,H,I,K,J,L,M,N,O,P){return function(Q,R){var T=cljs.core.nth.call(null,Q,0,null),S=cljs.core.nth.call(null,Q,1,null),U=g+T,W=h+S;return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,D,F,E,G,H,I,K,J,L,M,N,O,
Q,P,T,S,U,W,V){return function(){C.call(null,e);return cljs.core.truth_(R)?cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!1):null}}(a,b,U,W,.5+Math.sqrt(U*U+W*W),Q,T,S,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,D,F,E,G,H,I,K,J,L,M,N,O,P))}}(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,D,F,E,G,H,I,K,J,L,M,N,O,P,Q))}}(D,a,J,L,M,N,O,P,Q,R,K,G,H,I,E,F,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A))}());D+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,
I),Na.call(null,cljs.core.chunk_rest.call(null,E))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,I),null)}var K=cljs.core.first.call(null,E);return cljs.core.cons.call(null,function(){var D=weathergen.math.deg__GT_rad.call(null,K),G=B-.5,H=Math.sin(D),I=Math.cos(D),J=G*H,L=G*I,M=.1<H?"e":-.1>H?"w":"",N=.1<I?"s":-.1>I?"n":"";return hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"stroke",
"stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"0.1",new cljs.core.Keyword(null,"fill","fill",883462889),"white",new cljs.core.Keyword(null,"cursor","cursor",1011937484),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(N),cljs.core.str.cljs$core$IFn$_invoke$arity$1(M),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-resize")].join("")],null),new cljs.core.Keyword(null,"x","x",2099068185),n+J+.5-weathergen.ui.resize_handle_size/2,new cljs.core.Keyword(null,
"y","y",-1757859776),p+L+.5-weathergen.ui.resize_handle_size/2,new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.resize_handle_size,new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.resize_handle_size,new cljs.core.Keyword(null,"mousedown","mousedown",1391242074),function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,D,F,E,G,H,I,K,J,L,M){return function(N){cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!0);return b.call(null,function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,D,F,E,G,H,I,K,J,L){return function(M,N){var O=cljs.core.nth.call(null,M,0,null),Q=cljs.core.nth.call(null,M,1,null),P=f+O,R=g+Q;return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,D,F,E,G,H,I,K,J,L,M,O,Q,P,R,T){return function(){C.call(null,d);return cljs.core.truth_(N)?cljs.core.reset_BANG_.call(null,weathergen.ui.prevent_recomputation_QMARK_,!1):null}}(a,P,R,.5+Math.sqrt(P*P+R*R),M,O,Q,b,c,d,e,f,g,h,k,l,m,
n,p,q,r,t,v,w,x,y,z,A,B,D,F,E,G,H,I,K,J,L))}}(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B,D,F,E,G,H,I,K,J,L,M))}}(a,D,G,H,I,J,L,M,N,K,E,F,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A))}(),Na.call(null,cljs.core.rest.call(null,E)))}return null}}}(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A),null,null)}}(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A).call(null,cljs.core.range.call(null,0,360,45))}}(h,w,x,y,z,P,O,N,Q,S,V,T,q,r,v,l,k,c,d,e,f);return cljs.core.not.call(null,N)?cljs.core.PersistentVector.EMPTY:new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[g.call(null,P,function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B){return function(C){return cljs.core.swap_BANG_.call(null,a,cljs.core.update_in,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),t],null),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A){return function(a){a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;cljs.core.get.call(null,a,new cljs.core.Keyword(null,"falloff","falloff",-1639069456));var b=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"radius","radius",-2073122258));return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"falloff","falloff",-1639069456),weathergen.math.clamp.call(null,0,b,cljs.core.long$.call(null,C)))}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B))}}(h,g,w,x,y,z,P,O,N,Q,S,V,T,q,r,v,l,k,c,d,e,
f)),g.call(null,z,function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B){return function(C){cljs.core.swap_BANG_.call(null,a,cljs.core.assoc_in,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),t,new cljs.core.Keyword(null,"radius","radius",-2073122258)],null),function(){var a=cljs.core.long$.call(null,C);return 1>a?1:a}());return cljs.core.swap_BANG_.call(null,a,cljs.core.update_in,new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),t,new cljs.core.Keyword(null,"falloff","falloff",-1639069456)],null),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A){return function(a){return weathergen.math.clamp.call(null,0,cljs.core.long$.call(null,C),a)}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,v,w,x,y,z,A,B))}}(h,g,w,x,y,z,P,O,N,Q,S,V,T,q,r,v,l,k,c,d,e,f))],null)}()],null),t.call(null,cljs.core.rest.call(null,l)));h=cljs.core.rest.call(null,
l)}else return null}}}(c,d,e,f),null,null)}}(c,d,e,f).call(null,g)}())}}(c,d,e,f)).call(null,c)};
weathergen.ui.flight_path__GT_path=function(a,b){var c=cljs.core.seq.call(null,b);cljs.core.first.call(null,c);cljs.core.next.call(null,c);for(var c=b,d=!1,e=null;;){var c=cljs.core.seq.call(null,c),f=cljs.core.first.call(null,c),c=cljs.core.next.call(null,c);if(cljs.core.truth_(f)){var f=null!=f&&(f.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===f.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,f):f,g=cljs.core.get.call(null,f,new cljs.core.Keyword("weathergen.dtc",
"coordinates","weathergen.dtc/coordinates",-1965136125)),f=cljs.core.get.call(null,f,new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145)),h=null!=g&&(g.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===g.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,g):g,g=cljs.core.get.call(null,h,new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566)),h=cljs.core.get.call(null,h,new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",
-474567375)),h=weathergen.coordinates.ffeet__GT_weather.call(null,a,g,h),g=cljs.core.nth.call(null,h,0,null),h=cljs.core.nth.call(null,h,1,null);if(d)return e;d=d||cljs.core._EQ_.call(null,f,new cljs.core.Keyword(null,"land","land",-1402569867));e=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(e)?" ":null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(e)?"L":"M"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.string.format("%f,%f",
g,h))].join("")}else return e}};
weathergen.ui.line__GT_path=function(a,b){var c=cljs.core.seq.call(null,b);cljs.core.first.call(null,c);cljs.core.next.call(null,c);for(var c=b,d=null;;){var c=cljs.core.seq.call(null,c),e=cljs.core.first.call(null,c),c=cljs.core.next.call(null,c);if(cljs.core.truth_(e))var e=null!=e&&(e.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===e.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,e):e,e=cljs.core.get.call(null,e,new cljs.core.Keyword("weathergen.dtc","coordinates",
"weathergen.dtc/coordinates",-1965136125)),f=null!=e&&(e.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===e.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,e):e,e=cljs.core.get.call(null,f,new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566)),f=cljs.core.get.call(null,f,new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375)),f=weathergen.coordinates.ffeet__GT_weather.call(null,a,e,f),e=cljs.core.nth.call(null,f,0,null),f=cljs.core.nth.call(null,
f,1,null),d=[cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(d)?" ":null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(d)?"L":"M"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.string.format("%f,%f",e,f))].join("");else return d}};
weathergen.ui.airbase_info_id=function(a){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1("airbase-info-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"camp-id","camp-id",618705690)).cljs$core$IFn$_invoke$arity$1(a))].join("")};weathergen.ui.airbase_status_color=function(a){return 75<a?"green":25<a?"orange":"red"};
weathergen.ui.airbase_info_overlay=function(a,b){var c=javelin.core.formula.call(null,function(a){return function(a,b){return weathergen.coordinates.fgrid__GT_weather.call(null,a,(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(b),(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(b))}}(.05)).call(null,a,b),d=javelin.core.formula.call(null,function(a,b){return function(a){return(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(a)}}(.05,
c)).call(null,c),e=javelin.core.formula.call(null,function(a,b,c){return function(a){return(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(a)}}(.05,c,d)).call(null,c),f=javelin.core.formula.call(null,function(a,b,c,d){return function(a){return(new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)).cljs$core$IFn$_invoke$arity$1(a)}}(.05,c,d,e)).call(null,b),g=javelin.core.formula.call(null,function(a,b,c,d,
e){return function(a){return(new cljs.core.Keyword(null,"camp-id","camp-id",618705690)).cljs$core$IFn$_invoke$arity$1(a)}}(.05,c,d,e,f)).call(null,b),h=javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a,b){return a.call(null,b)}}(.05,c,d,e,f,g)).call(null,weathergen.ui.displayed_airbases,b),k=javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a,b){return cljs.core._EQ_.call(null,a,b)}}(.05,c,d,e,f,g,h)).call(null,weathergen.ui.highlighted_airbase,b),l=javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k){return function(a,b){return weathergen.ui.common.team_color.call(null,weathergen.falcon.files.mission.side.call(null,a,(new cljs.core.Keyword(null,"owner","owner",-392611939)).cljs$core$IFn$_invoke$arity$1(b)),new cljs.core.Keyword(null,"light-text","light-text",-274885440))}}(.05,c,d,e,f,g,h,k,"3.5%")).call(null,a,b),m=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a){return weathergen.ui.common.contrasting.call(null,a)}}(.05,c,d,e,f,g,
h,k,"3.5%",l,.03)).call(null,l);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"airbase-info-overlay",function(){var n=new cljs.core.Delay(function(c,d,e,f,g,h,k,l,m,n,p,q){return function(){return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a,b){return b.call(null,a)}}(c,d,e,f,g,h,k,l,m,n,p,q)).call(null,b,weathergen.ui.airbase_info_id),new cljs.core.Keyword(null,
"airbase","airbase",-369690299),g,new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n){return function(a,b,c){return cljs.core.truth_(cljs.core.truth_(a)?b:a)?weathergen.ui.common.svg_xform_combine.call(null,weathergen.ui.common.svg_translate.call(null,a,b),weathergen.ui.common.svg_scale.call(null,1/c)):null}}(c,d,e,f,g,h,k,l,m,n,p,q)).call(null,e,f,weathergen.ui.map_zoom),function(){var r=javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h,k,l,m,n){return function(a){return(new cljs.core.Keyword(null,"airbase-label-style","airbase-label-style",-1349798514)).cljs$core$IFn$_invoke$arity$1(a)}}(c,d,e,f,g,h,k,l,m,n,p,q)).call(null,weathergen.ui.map_display),t=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a){return(new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917)).cljs$core$IFn$_invoke$arity$1(a)}}(r,.2,.75,c,d,e,f,
g,h,k,l,m,n,p,q)).call(null,b),u=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(a){a=(new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210)).cljs$core$IFn$_invoke$arity$1(a);a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"image-data","image-data",
-377483758));a=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;var b=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"size","size",1098693007)),c=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"center","center",-748944368));a=cljs.core.nth.call(null,b,0,null);var b=cljs.core.nth.call(null,b,1,null),d=cljs.core.nth.call(null,c,0,null),c=cljs.core.nth.call(null,c,1,null);return new cljs.core.PersistentArrayMap(null,
5,[new cljs.core.Keyword(null,"x","x",2099068185),(d-a)*e,new cljs.core.Keyword(null,"y","y",-1757859776),-(b-c)*e,new cljs.core.Keyword(null,"w","w",354169001),a*e,new cljs.core.Keyword(null,"h","h",1109658740),b*e,new cljs.core.Keyword(null,"d","d",1972142424),c*e],null)}}(r,.2,.75,t,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,b),v=weathergen.ui.common.path_lens.call(null,weathergen.ui.map_display,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"show-airbase-status?","show-airbase-status?",-2059784435)],null)),w=weathergen.ui.common.path_lens.call(null,weathergen.ui.map_display,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"show-airbase-squadrons?","show-airbase-squadrons?",1245487954)],null)),x=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y){return function(a,b){return(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(b)+
((new cljs.core.Keyword(null,"w","w",354169001)).cljs$core$IFn$_invoke$arity$1(b)-a)/2}}(r,.2,.75,t,u,v,w,1,.2,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,1,u),y=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z){return function(a,b){return(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(b)-2*a}}(r,.2,.75,t,u,v,w,1,.2,x,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,.2,u);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),
"airbase-and-highlighter",function(){var a=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(){return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"highlights",hoplon.svg.circle.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"moving highlight",new cljs.core.Keyword("svg","class","svg/class",-2030780416),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(a){return cljs.core.truth_(a)?
weathergen.ui.common.collapse_class:null}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A)).call(null,w),new cljs.core.Keyword(null,"x","x",2099068185),l,new cljs.core.Keyword(null,"y","y",-1757859776),m,new cljs.core.Keyword(null,"r","r",-471384190),60,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"yellow",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),2,new cljs.core.Keyword(null,"stroke-dasharray","stroke-dasharray",-942933855),"5, 5",new cljs.core.Keyword(null,"fill",
"fill",883462889),"none",new cljs.core.Keyword(null,"transform","transform",1381301764),weathergen.ui.common.svg_scale.call(null,0)),hoplon.svg.circle.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"static highlight",new cljs.core.Keyword("svg","class","svg/class",-2030780416),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(a){return cljs.core.truth_(a)?weathergen.ui.common.delayed_fade_out_class:null}}(a,b,c,d,e,f,g,h,k,l,
m,n,p,q,r,t,u,v,w,x,y,z,A)).call(null,w),new cljs.core.Keyword(null,"x","x",2099068185),l,new cljs.core.Keyword(null,"y","y",-1757859776),m,new cljs.core.Keyword(null,"r","r",-471384190),2.5,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"none",new cljs.core.Keyword(null,"fill","fill",883462889),"yellow",new cljs.core.Keyword(null,"opacity","opacity",397153780),0))}}(r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q),null),b=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,
v,w,x,y,z,A,B){return function(){return null}}(a,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q),null),a=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(a,b,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q);return javelin.core.formula.call(null,a).call(null,l)}(),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),
"icon-and-info",new cljs.core.Keyword("svg","class","svg/class",-2030780416),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(a){return cljs.core.truth_(a)?weathergen.ui.common.pulse_class:null}}(r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,l),function(){var a=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(){return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),
"status",new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(a,b){return a.call(null,b)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A)).call(null,weathergen.ui.common.svg_scale,weathergen.ui.map_icon_scale),hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"x","x",2099068185),l,new cljs.core.Keyword(null,"y","y",-1757859776),m,new cljs.core.Keyword(null,"width","width",-384071477),
h,new cljs.core.Keyword(null,"height","height",1025178622),k,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),.03,new cljs.core.Keyword(null,"fill","fill",883462889),"white"),hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"x","x",2099068185),l,new cljs.core.Keyword(null,"y","y",-1757859776),m,new cljs.core.Keyword(null,"width","width",-384071477),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,
n,p,q,r,t,u,v,w,x,y,z,A){return function(a,b){return a*b/100}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A)).call(null,h,d),new cljs.core.Keyword(null,"height","height",1025178622),k,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),.03,new cljs.core.Keyword(null,"fill","fill",883462889),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(a,b){return a.call(null,
b)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A)).call(null,weathergen.ui.airbase_status_color,d)))}}(r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q),null),b=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B){return function(){return null}}(a,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q),null),a=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?
d:cljs.core.atom.call(null)}())}}(a,b,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q);return javelin.core.formula.call(null,a).call(null,v)}(),function(){var z=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(a,b,c){return a+b*((new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(c)+(new cljs.core.Keyword(null,"h","h",1109658740)).cljs$core$IFn$_invoke$arity$1(c))}}(r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,
q)).call(null,.2,weathergen.ui.map_icon_scale,u),A=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B){return function(a,b,c){return cljs.core.PersistentHashSet.createAsIfByAssoc([a,c,b])}}(z,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,weathergen.ui.included_squadrons,z,r),B=javelin.core.cell.call(null,0),C=javelin.core.cell.call(null,0),D=javelin.core.cell.call(null,0),F=javelin.core.cell.call(null,0),E=hoplon.svg.text.call(null,new cljs.core.Keyword(null,
"font-size","font-size",-1847940346),"3.5%",new cljs.core.Keyword(null,"font-family","font-family",-667419874),"Source Code Pro",new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),100,new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G){return function(a,b){return(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(b)+((new cljs.core.Keyword(null,"w","w",354169001)).cljs$core$IFn$_invoke$arity$1(b)-
a)/2}}(B,C,D,F,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,D,u),new cljs.core.Keyword(null,"y","y",-1757859776),.75,new cljs.core.Keyword(null,"stroke","stroke",1741823555),n,new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),.03,new cljs.core.Keyword(null,"fill","fill",883462889),n,hoplon.svg.tspan.call(null,g),hoplon.core.loop_tpl_STAR_.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G){return function(a,
b,c){return cljs.core._EQ_.call(null,c,new cljs.core.Keyword(null,"all","all",892129742))?cljs.core.map_indexed.call(null,cljs.core.vector,cljs.core.filter.call(null,b,(new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110)).cljs$core$IFn$_invoke$arity$1(a))):null}}(B,C,D,F,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,b,weathergen.ui.included_squadrons,r),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,
B,C,D,F,E,G){return function(H){H=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G)).call(null,H));var I=cljs.core.nth.call(null,H,0,null),K=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)}}(H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G)).call(null,I)),J=cljs.core.nth.call(null,K,0,null),L=cljs.core.nth.call(null,K,1,null);return hoplon.svg.tspan.call(null,new cljs.core.Keyword(null,"y","y",-1757859776),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L){return function(a,b){return(a+2)*b}}(K,J,L,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G)).call(null,J,k),new cljs.core.Keyword(null,"text-anchor","text-anchor",585613696),"start",new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L){return function(a){return-(a/2)}}(K,J,L,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,
r,t,u,v,w,x,y,z,A,B,C,D,F,E,G)).call(null,c),new cljs.core.Keyword(null,"dx","dx",-381796732),"0.75em",javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L){return function(a,b){return a.call(null,"%d %s",(new cljs.core.Keyword(null,"quantity","quantity",-1929050694)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258)).cljs$core$IFn$_invoke$arity$1(b)),
(new cljs.core.Keyword(null,"airframe","airframe",643222926)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258)).cljs$core$IFn$_invoke$arity$1(b)))}}(K,J,L,H,I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G)).call(null,goog.string.format,L))}}(B,C,D,F,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q))),G=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H){return function(){return javelin.core.dosync_STAR_.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H){return function(){var f=e.getBBox();return cljs.core.truth_(f.x)?(cljs.core.reset_BANG_.call(null,a,f.x),cljs.core.reset_BANG_.call(null,b,f.y),cljs.core.reset_BANG_.call(null,c,f.width),cljs.core.reset_BANG_.call(null,d,f.height)):null}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H))}}(B,C,D,F,E,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q);hoplon.core.when_dom.call(null,E,G);cljs.core.truth_(A)&&cljs.core.add_watch.call(null,
A,cljs.core.keyword.call(null,cljs.core.gensym.call(null)),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J){return function(L,M,N,O){return setTimeout(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J){return function(){return h.call(null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J),0)}}(A,A,B,C,D,F,E,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q));return hoplon.svg.g.call(null,function(){var a=new cljs.core.Delay(function(a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I){return function(){return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"label",new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I){return function(a,b){return a.call(null,0,b)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I)).call(null,weathergen.ui.common.svg_translate,g),hoplon.svg.g.call(null,
new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I){return function(a,b){return a.call(null,b)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I)).call(null,weathergen.ui.common.svg_scale,weathergen.ui.map_text_scale),function(){var K=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I){return function(){var K=javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K){return function(a,b){return(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(a)+((new cljs.core.Keyword(null,"w","w",354169001)).cljs$core$IFn$_invoke$arity$1(a)-b)/2}}(.1,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I)).call(null,p,c),J=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J){return function(b){return b-a}}(.1,K,a,
b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I)).call(null,K),L=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L){return function(b){return b-a}}(.1,K,J,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I)).call(null,b),M=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M){return function(b){return b+a+a}}(.1,K,J,L,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,
A,B,C,D,F,E,G,H,I)).call(null,c),K=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N){return function(b){return b+a+a}}(.1,K,J,L,M,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I)).call(null,d);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"background",hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"x","x",2099068185),J,new cljs.core.Keyword(null,"y","y",-1757859776),L,new cljs.core.Keyword(null,
"width","width",-384071477),M,new cljs.core.Keyword(null,"height","height",1025178622),K,new cljs.core.Keyword(null,"opacity","opacity",397153780),.4,new cljs.core.Keyword(null,"fill","fill",883462889),I,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"none"))}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I),null),J=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K){return function(){return null}}(K,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,
t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I),null),K=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(K,J,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I);return javelin.core.formula.call(null,K).call(null,weathergen.ui.map_show_text_background_QMARK_)}(),e))}}(B,C,D,F,E,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,
l,m,n,p,q),null),b=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K){return function(){return null}}(a,B,C,D,F,E,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q),null),H=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(a,b,B,C,D,F,E,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,
e,f,g,h,k,l,m,n,p,q);return javelin.core.formula.call(null,H).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L){return function(a,b){return a.call(null,b,new cljs.core.Keyword(null,"nothing","nothing",-1022703296))}}(a,b,H,B,C,D,F,E,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,cljs.core.not_EQ_,r))}(),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"transform","transform",1381301764),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I){return function(a,b){return a.call(null,b)}}(B,C,D,F,E,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,weathergen.ui.common.svg_scale,weathergen.ui.map_icon_scale),function(){var H=new cljs.core.Delay(function(c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J){return function(){return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"squadron icons",new cljs.core.Keyword(null,
"transform","transform",1381301764),weathergen.ui.common.svg_translate.call(null,.5,0),function(){var L=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K){return function(J,L){return cljs.core.first.call(null,cljs.core.reduce.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K){return function(b,c){var d=cljs.core.nth.call(null,b,0,null),e=cljs.core.nth.call(null,b,1,null),f=cljs.core.first.call(null,(new cljs.core.Keyword(null,
"size","size",1098693007)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"image-data","image-data",-377483758)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210)).cljs$core$IFn$_invoke$arity$1(c))));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.conj.call(null,d,cljs.core.assoc.call(null,c,new cljs.core.Keyword("weathergen.ui","x-offset","weathergen.ui/x-offset",
666987585),e)),e+f*y*a+.1],null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.PersistentVector.EMPTY,0],null),cljs.core.filter.call(null,L,(new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110)).cljs$core$IFn$_invoke$arity$1(J))))}}(.6,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J)).call(null,b,weathergen.ui.included_squadrons);
return hoplon.core.loop_tpl_STAR_.call(null,L,function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L){return function(M){M=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L)).call(null,M));var N=
cljs.core.nth.call(null,M,0,null),O=javelin.core.formula.call(null,function(b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N){return function(b){b=(new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210)).cljs$core$IFn$_invoke$arity$1(b);var c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,c=cljs.core.get.call(null,
c,new cljs.core.Keyword(null,"image-data","image-data",-377483758)),c=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,e=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"size","size",1098693007)),c=cljs.core.nth.call(null,e,0,null),e=cljs.core.nth.call(null,e,1,null);return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"w","w",354169001),C*d*c,new cljs.core.Keyword(null,
"h","h",1109658740),C*d*e,new cljs.core.Keyword(null,"src","src",-1651076051),weathergen.ui.common.get_image.call(null,a,b)],null)}}(M,N,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L)).call(null,N);return hoplon.svg.image.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N){return function(a,b,c){return a.call(null,"ab/y: %f, ab/h: %f, sq/h: %f",(new cljs.core.Keyword(null,
"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(c),(new cljs.core.Keyword(null,"h","h",1109658740)).cljs$core$IFn$_invoke$arity$1(c),(new cljs.core.Keyword(null,"h","h",1109658740)).cljs$core$IFn$_invoke$arity$1(b))}}(O,M,N,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L)).call(null,goog.string.format,O,t),new cljs.core.Keyword(null,"xlink-href","xlink-href",244956585),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,
M,N){return function(a){return(new cljs.core.Keyword(null,"src","src",-1651076051)).cljs$core$IFn$_invoke$arity$1(a)}}(O,M,N,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L)).call(null,O),new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N){return function(a,b){return(new cljs.core.Keyword("weathergen.ui","x-offset","weathergen.ui/x-offset",666987585)).cljs$core$IFn$_invoke$arity$1(b)+
(new cljs.core.Keyword(null,"w","w",354169001)).cljs$core$IFn$_invoke$arity$1(a)/2}}(O,M,N,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L)).call(null,t,N),new cljs.core.Keyword(null,"y","y",-1757859776),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N){return function(a,b){return(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(b)+((new cljs.core.Keyword(null,"h","h",1109658740)).cljs$core$IFn$_invoke$arity$1(b)-
(new cljs.core.Keyword(null,"h","h",1109658740)).cljs$core$IFn$_invoke$arity$1(a))}}(O,M,N,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L)).call(null,O,t),new cljs.core.Keyword(null,"width","width",-384071477),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N){return function(a){return(new cljs.core.Keyword(null,"w","w",354169001)).cljs$core$IFn$_invoke$arity$1(a)}}(O,M,N,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,
C,D,F,E,G,H,I,K,J,L)).call(null,O),new cljs.core.Keyword(null,"height","height",1025178622),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L,M,N){return function(a){return(new cljs.core.Keyword(null,"h","h",1109658740)).cljs$core$IFn$_invoke$arity$1(a)}}(O,M,N,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J,L)).call(null,O))}}(.6,L,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J))}())}}(B,C,D,F,E,G,z,A,r,.2,.75,
t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q),null),I=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K){return function(){return null}}(H,B,C,D,F,E,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q),null),H=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I,K,J){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(H,I,B,C,D,F,E,G,z,
A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q);return javelin.core.formula.call(null,H).call(null,w)}(),hoplon.svg.g.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"airbase icon",hoplon.svg.image.call(null,new cljs.core.Keyword(null,"xlink-href","xlink-href",244956585),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I){return function(a,b,c){return b.call(null,c,(new cljs.core.Keyword("weathergen.falcon.files.mission","image",
"weathergen.falcon.files.mission/image",-1683332210)).cljs$core$IFn$_invoke$arity$1(a))}}(B,C,D,F,E,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,b,weathergen.ui.common.get_image,a),new cljs.core.Keyword(null,"x","x",2099068185),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I){return function(a){return(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(a)}}(B,C,D,F,E,G,z,A,r,.2,.75,t,u,v,w,1,.2,
x,y,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,u),new cljs.core.Keyword(null,"y","y",-1757859776),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I){return function(a){return(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(a)}}(B,C,D,F,E,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,u),new cljs.core.Keyword(null,"width","width",-384071477),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,
n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I){return function(a){return(new cljs.core.Keyword(null,"w","w",354169001)).cljs$core$IFn$_invoke$arity$1(a)}}(B,C,D,F,E,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,u),new cljs.core.Keyword(null,"height","height",1025178622),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I){return function(a){return(new cljs.core.Keyword(null,"h","h",1109658740)).cljs$core$IFn$_invoke$arity$1(a)}}(B,
C,D,F,E,G,z,A,r,.2,.75,t,u,v,w,1,.2,x,y,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,u)))))}()))}())}}(.05,c,d,e,f,g,h,k,"3.5%",l,.03,m),null),p=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p){return function(){return null}}(n,.05,c,d,e,f,g,h,k,"3.5%",l,.03,m),null),q=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(n,p,.05,c,d,e,f,g,h,k,"3.5%",l,.03,m);return javelin.core.formula.call(null,
q).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,D){return function(a,b){return cljs.core.truth_(a)?a:b}}(n,p,q,.05,c,d,e,f,g,h,k,"3.5%",l,.03,m)).call(null,h,k))}())};
weathergen.ui.airbases_info_overlay=hoplon.svg.g.call(null,new cljs.core.Keyword(null,"section","section",-300141526),"airbase-info",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.loop_tpl_STAR_.call(null,weathergen.ui.all_airbases,function(a){a=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}).call(null,a));a=cljs.core.nth.call(null,
a,0,null);return weathergen.ui.airbase_info_overlay.call(null,weathergen.ui.mission,a)}),hoplon.svg.use.call(null,new cljs.core.Keyword(null,"xlink-href","xlink-href",244956585),javelin.core.formula.call(null,function(a,b){return a.call(null,b)}).call(null,weathergen.ui.airbase_info_id,weathergen.ui.highlighted_airbase))],null));
weathergen.ui.within_area_QMARK_=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"bounds","bounds",1691609455)),d=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,c=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"x",
"x",2099068185)),e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"y","y",-1757859776)),f=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"width","width",-384071477)),d=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"height","height",1025178622)),f=c+f,d=e+d,g=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,h=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"x","x",2099068185)),
g=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"y","y",-1757859776));return c<=h&&h<=f&&e<=g&&g<=d};
weathergen.ui.within_override_QMARK_=function(a,b){var c=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,d=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"location","location",1815599388)),c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"radius","radius",-2073122258)),e=null!=d&&(d.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===d.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,d):d,d=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"x","x",2099068185)),e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"y","y",-1757859776)),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"x","x",2099068185)),f=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"y","y",-1757859776)),d=d-g,e=e-f;return d*
d+e*e<c*c};
weathergen.ui.bullseye_overlay=function(a){var b=new cljs.core.Delay(function(){var b=javelin.core.formula.call(null,function(a){return function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"campaign-info","campaign-info",1158908966)),c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,
cljs.core.hash_map,b):b,b=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"bullseye-x","bullseye-x",-1698783852)),c=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"bullseye-y","bullseye-y",904460818));return weathergen.coordinates.fgrid__GT_weather.call(null,a,b,c)}}(.025)).call(null,a),c=javelin.core.formula.call(null,function(a,b){return function(a){return(new cljs.core.Keyword(null,"x","x",2099068185)).cljs$core$IFn$_invoke$arity$1(a)}}(.025,b)).call(null,b),d=javelin.core.formula.call(null,
function(a,b,c){return function(a){return(new cljs.core.Keyword(null,"y","y",-1757859776)).cljs$core$IFn$_invoke$arity$1(a)}}(.025,b,c)).call(null,b);return hoplon.svg.g.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"debug","debug",-1608172596),"bullseye"],null),new cljs.core.Keyword("svg","transform","svg/transform",1381351328),javelin.core.formula.call(null,function(a,b,c,d){return function(a,b,c){return a.call(null,
b,c)}}(.025,b,c,d)).call(null,weathergen.ui.common.svg_translate,c,d),function(){return function(b,c,d,e){return function p(f){return new cljs.core.LazySeq(null,function(b,c,d,e){return function(){for(;;){var g=cljs.core.seq.call(null,f);if(g){var h=g;if(cljs.core.chunked_seq_QMARK_.call(null,h)){var k=cljs.core.chunk_first.call(null,h),l=cljs.core.count.call(null,k),m=cljs.core.chunk_buffer.call(null,l);return function(){for(var f=0;;)if(f<l){var p=cljs.core._nth.call(null,k,f);cljs.core.chunk_append.call(null,
m,hoplon.svg.circle.call(null,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"fill","fill",883462889),"none",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),b,new cljs.core.Keyword(null,"cx","cx",1272694324),0,new cljs.core.Keyword(null,"cy","cy",755331060),0,new cljs.core.Keyword(null,"r","r",-471384190),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a,b,c){return b.call(null,c,a)}}(f,p,k,l,m,h,g,b,c,
d,e)).call(null,p,weathergen.coordinates.nm__GT_weather,a)));f+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,m),p.call(null,cljs.core.chunk_rest.call(null,h))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,m),null)}var q=cljs.core.first.call(null,h);return cljs.core.cons.call(null,hoplon.svg.circle.call(null,new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"fill","fill",883462889),"none",new cljs.core.Keyword(null,
"stroke-width","stroke-width",716836435),b,new cljs.core.Keyword(null,"cx","cx",1272694324),0,new cljs.core.Keyword(null,"cy","cy",755331060),0,new cljs.core.Keyword(null,"r","r",-471384190),javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a,b,c){return b.call(null,c,a)}}(q,h,g,b,c,d,e)).call(null,q,weathergen.coordinates.nm__GT_weather,a)),p.call(null,cljs.core.rest.call(null,h)))}return null}}}(b,c,d,e),null,null)}}(.025,b,c,d).call(null,cljs.core.range.call(null,30,200,30))}(),
function(){return function(b,c,d,e){return function p(f){return new cljs.core.LazySeq(null,function(b,c,d,e){return function(){for(;;){var g=cljs.core.seq.call(null,f);if(g){var h=g;if(cljs.core.chunked_seq_QMARK_.call(null,h)){var k=cljs.core.chunk_first.call(null,h),l=cljs.core.count.call(null,k),m=cljs.core.chunk_buffer.call(null,l);return function(){for(var f=0;;)if(f<l){var p=cljs.core._nth.call(null,k,f);cljs.core.chunk_append.call(null,m,hoplon.svg.line.call(null,new cljs.core.Keyword(null,
"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"transform","transform",1381301764),weathergen.ui.common.svg_rotate.call(null,p)],null),new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),b,new cljs.core.Keyword(null,"x1","x1",-1863922247),0,new cljs.core.Keyword(null,"y1","y1",589123466),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a,b){return a.call(null,
b,-200)}}(f,p,k,l,m,h,g,b,c,d,e)).call(null,weathergen.coordinates.nm__GT_weather,a),new cljs.core.Keyword(null,"x2","x2",-1362513475),0,new cljs.core.Keyword(null,"y2","y2",-718691301),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a,b){return a.call(null,b,200)}}(f,p,k,l,m,h,g,b,c,d,e)).call(null,weathergen.coordinates.nm__GT_weather,a)));f+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,m),p.call(null,cljs.core.chunk_rest.call(null,h))):
cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,m),null)}var q=cljs.core.first.call(null,h);return cljs.core.cons.call(null,hoplon.svg.line.call(null,new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"transform","transform",1381301764),weathergen.ui.common.svg_rotate.call(null,q)],null),new cljs.core.Keyword(null,"stroke","stroke",1741823555),"black",new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),
b,new cljs.core.Keyword(null,"x1","x1",-1863922247),0,new cljs.core.Keyword(null,"y1","y1",589123466),javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a,b){return a.call(null,b,-200)}}(q,h,g,b,c,d,e)).call(null,weathergen.coordinates.nm__GT_weather,a),new cljs.core.Keyword(null,"x2","x2",-1362513475),0,new cljs.core.Keyword(null,"y2","y2",-718691301),javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a,b){return a.call(null,b,200)}}(q,h,g,b,c,d,e)).call(null,
weathergen.coordinates.nm__GT_weather,a)),p.call(null,cljs.core.rest.call(null,h)))}return null}}}(b,c,d,e),null,null)}}(.025,b,c,d).call(null,cljs.core.range.call(null,0,180,30))}())},null),c=new cljs.core.Delay(function(a){return function(){return null}}(b),null),d=function(a,b){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(b,c);return javelin.core.formula.call(null,d).call(null,javelin.core.formula.call(null,
function(a,b,c){return function(a){return(new cljs.core.Keyword(null,"show-bullseye?","show-bullseye?",310289003)).cljs$core$IFn$_invoke$arity$1(a)}}(b,c,d)).call(null,weathergen.ui.map_display))};
weathergen.ui.limit_pan=function(a,b,c){var d=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);var e=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;c=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"x","x",2099068185));var e=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"y","y",-1757859776)),f=d/b;b=a/b;return new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"x","x",2099068185),weathergen.math.clamp.call(null,0,d-f,c),new cljs.core.Keyword(null,"y","y",-1757859776),weathergen.math.clamp.call(null,0,a-b,e)],null)};
weathergen.ui.pixels__GT_weather=function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);var c=cljs.core.deref.call(null,weathergen.ui.map_zoom),d=(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params)),e=cljs.core.nth.call(null,d,0,null),d=cljs.core.nth.call(null,d,1,null),f=cljs.core.deref.call(null,weathergen.ui.map_size),g=cljs.core.nth.call(null,f,0,null),f=cljs.core.nth.call(null,
f,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b*e/g/c,a*d/f/c],null)};
weathergen.ui.zoom_map_BANG_=function(a,b){var c=cljs.core.nth.call(null,a,0,null),d=cljs.core.nth.call(null,a,1,null),e=(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params)),f=cljs.core.nth.call(null,e,0,null),g=cljs.core.nth.call(null,e,1,null),h=cljs.core.deref.call(null,weathergen.ui.map_pan),k=null!=h&&(h.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===h.cljs$core$ISeq$)?
cljs.core.apply.call(null,cljs.core.hash_map,h):h,l=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"x","x",2099068185)),m=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"y","y",-1757859776)),n=weathergen.math.clamp.call(null,weathergen.ui.zoom_min,weathergen.ui.zoom_max,b*cljs.core.deref.call(null,weathergen.ui.map_zoom)),p=n/cljs.core.deref.call(null,weathergen.ui.map_zoom),q=c-(c-l)/p,r=d-(d-m)/p;return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,F){return function(){cljs.core.reset_BANG_.call(null,
weathergen.ui.map_zoom,h);return cljs.core.reset_BANG_.call(null,weathergen.ui.map_pan,weathergen.ui.limit_pan.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,c],null),h,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"x","x",2099068185),n,new cljs.core.Keyword(null,"y","y",-1757859776),p],null)))}}(e,f,g,h,k,l,m,n,p,q,r,q-l+l,r-m+m,a,c,d))};
weathergen.ui.grid=function(){var a=function(a){var b=hoplon.core.parse_args.call(null,a),c=cljs.core.nth.call(null,b,0,null),f=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"display-params","display-params",573405707)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"selected-cell","selected-cell",1638390443)),k=cljs.core.get.call(null,
f,new cljs.core.Keyword(null,"weather-data","weather-data",-664219401)),l=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204)),m=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710)),n=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"pressure-unit","pressure-unit",1615584243)),p=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"computing","computing",-1002386157)),q=cljs.core.get.call(null,
f,new cljs.core.Keyword(null,"nx","nx",-1996436366)),r=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"ny","ny",1701791641)),u=cljs.core.atom.call(null,null),t=cljs.core.atom.call(null,null),v=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(t){return cljs.core.swap_BANG_.call(null,a,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(a){return cljs.core.truth_(a)?a:t}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r))}}(u,t,b,c,f,f,g,h,k,l,m,n,p,q,r),w=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(c){var d=
cljs.core.deref.call(null,a);if(cljs.core.truth_(d)){var e=c.offsetX,f=c.offsetY,g=cljs.core.deref.call(null,b),h=cljs.core.nth.call(null,g,0,null),g=cljs.core.nth.call(null,g,1,null);d.call(null,weathergen.ui.pixels__GT_weather.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[e-h,f-g],null)),!1);return c.preventDefault()}return null}}(u,t,v,b,c,f,f,g,h,k,l,m,n,p,q,r),x=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(c){var d=cljs.core.deref.call(null,
a);if(cljs.core.truth_(d)){var e=c.offsetX;c=c.offsetY;var f=cljs.core.deref.call(null,b),g=cljs.core.nth.call(null,f,0,null),f=cljs.core.nth.call(null,f,1,null);d.call(null,weathergen.ui.pixels__GT_weather.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[e-g,c-f],null)),!0)}cljs.core.reset_BANG_.call(null,b,null);return cljs.core.reset_BANG_.call(null,a,null)}}(u,t,v,w,b,c,f,f,g,h,k,l,m,n,p,q,r),y=document.addEventListener("mousemove",w),z=document.addEventListener("mouseup",
x),A=hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"brightness-layer",new cljs.core.Keyword(null,"x","x",2099068185),0,new cljs.core.Keyword(null,"y","y",-1757859776),0,new cljs.core.Keyword(null,"width","width",-384071477),q,new cljs.core.Keyword(null,"height","height",1025178622),r,new cljs.core.Keyword(null,"fill","fill",883462889),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x){return function(a){a=(new cljs.core.Keyword(null,"brightness",
"brightness",1067055820)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.apply.call(null,goog.string.format,"rgba(%d,%d,%d,%f)",.5<=a?new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[255,255,255,(a-.5)/.5],null):new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[0,0,0,(a-.5)/-.5],null))}}(u,t,v,w,x,y,z,b,c,f,f,g,h,k,l,m,n,p,q,r)).call(null,weathergen.ui.map_display)),J=hoplon.svg.g.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),
"primary-layer",new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y){return function(a){return cljs.core.not.call(null,null==(new cljs.core.Keyword(null,"display","display",242065432)).cljs$core$IFn$_invoke$arity$1(a))}}(u,t,v,w,x,y,z,A,b,c,f,f,g,h,k,l,m,n,p,q,r)).call(null,g),new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y){return function(a){return new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"opacity","opacity",397153780),(new cljs.core.Keyword(null,"opacity","opacity",397153780)).cljs$core$IFn$_invoke$arity$1(a)],null)}}(u,t,v,w,x,y,z,A,b,c,f,f,g,h,k,l,m,n,p,q,r)).call(null,g)),B=hoplon.svg.g.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"wind-overlay",new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z){return function(a,b){return a.call(null,(new cljs.core.Keyword(null,
"overlay","overlay",-139131598)).cljs$core$IFn$_invoke$arity$1(b),new cljs.core.Keyword(null,"wind","wind",-527553074))}}(u,t,v,w,x,y,z,A,J,b,c,f,f,g,h,k,l,m,n,p,q,r)).call(null,cljs.core._EQ_,g)),C=hoplon.svg.g.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"text-overlay",new cljs.core.Keyword(null,"attr","attr",-604132353),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(a,b){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"class","class",-2030961996),[cljs.core.str.cljs$core$IFn$_invoke$arity$1("text-overlay "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(function(){var c=cljs.core.truth_(null==b)?null:(new cljs.core.Keyword(null,"overlay","overlay",-139131598)).cljs$core$IFn$_invoke$arity$1(b);return cljs.core.truth_(null==c)?null:a.call(null,c)}())].join("")],null)}}(u,t,v,w,x,y,z,A,J,B,b,c,f,f,g,h,k,l,m,n,p,q,r)).call(null,cljs.core.name,g),new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(a){return(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"pressure","pressure",505343747),null,new cljs.core.Keyword(null,"type","type",1174270348),null,new cljs.core.Keyword(null,"temperature","temperature",899018429),null],null),null)).call(null,(new cljs.core.Keyword(null,"overlay","overlay",-139131598)).cljs$core$IFn$_invoke$arity$1(a))}}(u,t,v,w,x,y,z,A,J,B,b,c,f,
f,g,h,k,l,m,n,p,q,r)).call(null,g)),G=function(){var a=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B){return function(a){return(new cljs.core.Keyword(null,"coordinates","coordinates",-1225332668)).cljs$core$IFn$_invoke$arity$1(a)}}(u,t,v,w,x,y,z,A,J,B,C,b,c,f,f,g,h,k,l,m,n,p,q,r)).call(null,h),d=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C){return function(a){var b=
cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)}}(a,u,t,v,w,x,y,z,A,J,B,C,b,c,f,f,g,h,k,l,m,n,p,q,r)).call(null,a)),e=cljs.core.nth.call(null,d,0,null),D=cljs.core.nth.call(null,d,1,null),E=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E){return function(){return hoplon.svg.rect.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"selected-cell-overlay",
new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E){return function(){return cljs.core.reset_BANG_.call(null,y,null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E),new cljs.core.Keyword(null,"x","x",2099068185),b,new cljs.core.Keyword(null,"y","y",-1757859776),c,new cljs.core.Keyword(null,"width","width",-384071477),1,new cljs.core.Keyword(null,"height","height",1025178622),1)}}(d,e,D,a,u,t,v,w,x,y,z,A,J,B,C,b,c,f,f,
g,h,k,l,m,n,p,q,r),null),G=new cljs.core.Delay(function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G){return function(){return null}}(E,d,e,D,a,u,t,v,w,x,y,z,A,J,B,C,b,c,f,f,g,h,k,l,m,n,p,q,r),null),L=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(E,G,d,e,D,a,u,t,v,w,x,y,z,A,J,B,C,b,c,f,f,g,h,k,l,m,n,p,q,r);return javelin.core.formula.call(null,
L).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,F,E,G,H,I){return function(a,b){return cljs.core.truth_(a)?b:a}}(E,G,L,d,e,D,a,u,t,v,w,x,y,z,A,J,B,C,b,c,f,f,g,h,k,l,m,n,p,q,r)).call(null,e,D))}(),E=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C){return function(a){return(new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204)).cljs$core$IFn$_invoke$arity$1(a)}}(u,t,v,w,
x,y,z,A,J,B,C,G,b,c,f,f,g,h,k,l,m,n,p,q,r)).call(null,weathergen.ui.weather_params),D=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D){return function(a){return(new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710)).cljs$core$IFn$_invoke$arity$1(a)}}(u,t,v,w,x,y,z,A,J,B,C,G,E,b,c,f,f,g,h,k,l,m,n,p,q,r)).call(null,weathergen.ui.weather_params),L=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,
B,C,D,E){return function(F,G,H){return cljs.core.truth_(function(){var I=cljs.core.some.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E){return function(a){var b=weathergen.ui.within_area_QMARK_.call(null,a,F);return cljs.core.truth_(b)?(new cljs.core.Keyword(null,"editing?","editing?",1646440800)).cljs$core$IFn$_invoke$arity$1(a):b}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E),G);return cljs.core.truth_(I)?I:cljs.core.some.call(null,function(a,b,c,d,e,f,g,h,k,
l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,G){return function(a){var b=weathergen.ui.within_override_QMARK_.call(null,a,F);return cljs.core.truth_(b)?(new cljs.core.Keyword(null,"editing?","editing?",1646440800)).cljs$core$IFn$_invoke$arity$1(a):b}}(I,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E),H)}())?null:F}}(u,t,v,w,x,y,z,A,J,B,C,G,E,D,b,c,f,f,g,h,k,l,m,n,p,q,r)).call(null,weathergen.ui.hover_cell,E,D);a=hoplon.svg.svg.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"grid",function(){var a=
javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F){return function(G){return cljs.core.map.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F){return function(a){return a-7}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F),G)}}(u,t,v,w,x,y,z,A,J,B,C,G,E,D,L,b,c,f,f,g,h,k,l,m,n,p,q,r)).call(null,weathergen.ui.map_size);return cljs.core.assoc.call(null,cljs.core.dissoc.call(null,f,new cljs.core.Keyword(null,"display-params",
"display-params",573405707),new cljs.core.Keyword(null,"selected-cell","selected-cell",1638390443),new cljs.core.Keyword(null,"weather-data","weather-data",-664219401),new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204),new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710)),new cljs.core.Keyword(null,"viewBox","viewBox",-469489477),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G){return function(a){var b=
null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"x","x",2099068185));var c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"y","y",-1757859776)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"width","width",-384071477)),b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"height","height",1025178622));return goog.string.format("%f %f %f %f",
a,c,d,b)}}(a,u,t,v,w,x,y,z,A,J,B,C,G,E,D,L,b,c,f,f,g,h,k,l,m,n,p,q,r)).call(null,weathergen.ui.map_viewbox),new cljs.core.Keyword(null,"width","width",-384071477),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G){return function(a,b){return a.call(null,b)}}(a,u,t,v,w,x,y,z,A,J,B,C,G,E,D,L,b,c,f,f,g,h,k,l,m,n,p,q,r)).call(null,cljs.core.first,a),new cljs.core.Keyword(null,"height","height",1025178622),javelin.core.formula.call(null,function(a,b,c,d,
e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G){return function(a,b){return a.call(null,b)}}(a,u,t,v,w,x,y,z,A,J,B,C,G,E,D,L,b,c,f,f,g,h,k,l,m,n,p,q,r)).call(null,cljs.core.second,a),new cljs.core.Keyword(null,"attr","attr",-604132353),new cljs.core.PersistentArrayMap(null,2,["xmlns:xlink","http://www.w3.org/1999/xlink","xmlns","http://www.w3.org/2000/svg"],null))}(),new cljs.core.Keyword(null,"mousemove","mousemove",-1077794734),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,G){return function(F){return javelin.core.dosync_STAR_.call(null,
function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,G){return function(){cljs.core.reset_BANG_.call(null,weathergen.ui.mouse_raw_offset,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[F.offsetX,F.offsetY],null));return cljs.core.reset_BANG_.call(null,weathergen.ui.mouse_location,function(){var a=weathergen.ui.mouse_weather_coords.call(null,F),b=cljs.core.nth.call(null,a,0,null),a=cljs.core.nth.call(null,a,1,null);return 0<=b&&b<=E&&0<=a&&a<=G?new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"x","x",2099068185),b,new cljs.core.Keyword(null,"y","y",-1757859776),a],null):null}())}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,G))}}(u,t,v,w,x,y,z,A,J,B,C,G,E,D,L,b,c,f,f,g,h,k,l,m,n,p,q,r),new cljs.core.Keyword(null,"mouseleave","mouseleave",531566580),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,G){return function(F){return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F){return function(){return cljs.core.reset_BANG_.call(null,
weathergen.ui.hover_cell,null)}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,G))}}(u,t,v,w,x,y,z,A,J,B,C,G,E,D,L,b,c,f,f,g,h,k,l,m,n,p,q,r),new cljs.core.Keyword(null,"mousedown","mousedown",1391242074),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,G){return function(F){console.log(F);cljs.core.reset_BANG_.call(null,b,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[F.offsetX,F.offsetY],null));if(cljs.core.truth_(cljs.core.deref.call(null,a)))return null;
F=cljs.core.deref.call(null,weathergen.ui.map_pan);var H=null!=F&&(F.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===F.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,F):F,I=cljs.core.get.call(null,H,new cljs.core.Keyword(null,"x","x",2099068185)),J=cljs.core.get.call(null,H,new cljs.core.Keyword(null,"y","y",-1757859776));return c.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J){return function(a,b){var e=cljs.core.nth.call(null,
a,0,null),f=cljs.core.nth.call(null,a,1,null);return cljs.core.reset_BANG_.call(null,weathergen.ui.map_pan,weathergen.ui.limit_pan.call(null,(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params)),cljs.core.deref.call(null,weathergen.ui.map_zoom),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"x","x",2099068185),c-e,new cljs.core.Keyword(null,"y","y",-1757859776),d-f],null)))}}(F,
H,I,J,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,G))}}(u,t,v,w,x,y,z,A,J,B,C,G,E,D,L,b,c,f,f,g,h,k,l,m,n,p,q,r),new cljs.core.Keyword(null,"dragstart","dragstart",955864218),cljs.core.constantly.call(null,!1),weathergen.ui.wind_vector_defs.call(null),hoplon.svg.image.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"map-image",new cljs.core.Keyword(null,"xlink-href","xlink-href",244956585),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,
B,C,D,E,G){return function(a,b){return cljs.core.not.call(null,b)?"images/kto.jpg":a.call(null,b,(new cljs.core.Keyword(null,"map-image","map-image",-5560498)).cljs$core$IFn$_invoke$arity$1(b))}}(u,t,v,w,x,y,z,A,J,B,C,G,E,D,L,b,c,f,f,g,h,k,l,m,n,p,q,r)).call(null,weathergen.ui.common.get_image,weathergen.ui.mission),new cljs.core.Keyword(null,"x","x",2099068185),0,new cljs.core.Keyword(null,"y","y",-1757859776),0,new cljs.core.Keyword(null,"width","width",-384071477),q,new cljs.core.Keyword(null,
"height","height",1025178622),r),A,J,weathergen.ui.bullseye_overlay.call(null,weathergen.ui.mission),B,C,weathergen.ui.wind_stability_overlay.call(null,weathergen.ui.weather_params,v),weathergen.ui.weather_overrides_overlay.call(null,weathergen.ui.weather_params,v),G,(new cljs.core.Keyword(null,"overlay","overlay",-139131598)).cljs$core$IFn$_invoke$arity$1(weathergen.ui.flight_paths_layer),weathergen.ui.airbases_info_overlay,weathergen.ui.bullseye_info_box.call(null));goog.events.listen(new goog.events.MouseWheelHandler(a),
goog.events.MouseWheelHandler.EventType.MOUSEWHEEL,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,G,J){return function(a){a.preventDefault();var b=Math.pow(cljs.core.deref.call(null,weathergen.ui.zoom_speed),a.deltaY);return weathergen.ui.zoom_map_BANG_.call(null,weathergen.ui.mouse_weather_coords.call(null,a),b)}}(a,u,t,v,w,x,y,z,A,J,B,C,G,E,D,L,b,c,f,f,g,h,k,l,m,n,p,q,r));hoplon.core.add_initfn_BANG_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,G,J){return function(){var F=
console.time("Initial create");(function(){for(var H=document.createDocumentFragment(),I=cljs.core.seq.call(null,cljs.core.range.call(null,G)),K=null,L=0,M=0;;)if(M<L){for(var N=cljs.core._nth.call(null,K,M),O=cljs.core.seq.call(null,cljs.core.range.call(null,J)),P=null,Q=0,R=0;;)if(R<Q){var T=cljs.core._nth.call(null,P,R),S=document.createElementNS("http://www.w3.org/2000/svg","rect"),U=S;U.setAttribute("id",[cljs.core.str.cljs$core$IFn$_invoke$arity$1("grid-primary-cell-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(N),
cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(T)].join(""));U.setAttribute("x",""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(N));U.setAttribute("y",""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(T));U.setAttribute("width","1");U.setAttribute("height","1");U.setAttribute("fill","none");U.onclick=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,T,S,U,V){return function(){return cljs.core.reset_BANG_.call(null,O,
new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"location","location",1815599388),null,new cljs.core.Keyword(null,"coordinates","coordinates",-1225332668),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[n,m],null)],null))}}(O,P,Q,R,I,K,L,M,U,S,T,N,H,"Initial create",F,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,G,J);goog.dom.appendChild(H,S);R+=1}else{var V=cljs.core.seq.call(null,O);if(V){var W=V;if(cljs.core.chunked_seq_QMARK_.call(null,
W))var X=cljs.core.chunk_first.call(null,W),Y=cljs.core.chunk_rest.call(null,W),Z=X,aa=cljs.core.count.call(null,X),O=Y,P=Z,Q=aa;else{var ba=cljs.core.first.call(null,W),ca=document.createElementNS("http://www.w3.org/2000/svg","rect"),da=ca;da.setAttribute("id",[cljs.core.str.cljs$core$IFn$_invoke$arity$1("grid-primary-cell-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(N),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(ba)].join(""));da.setAttribute("x",
""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(N));da.setAttribute("y",""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(ba));da.setAttribute("width","1");da.setAttribute("height","1");da.setAttribute("fill","none");da.onclick=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,T,S,U,V,W,X){return function(){return cljs.core.reset_BANG_.call(null,Q,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"location","location",1815599388),null,new cljs.core.Keyword(null,
"coordinates","coordinates",-1225332668),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[q,m],null)],null))}}(O,P,Q,R,I,K,L,M,da,ca,ba,W,V,N,H,"Initial create",F,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,G,J);goog.dom.appendChild(H,ca);O=cljs.core.next.call(null,W);P=null;Q=0}R=0}else break}M+=1}else{var ea=cljs.core.seq.call(null,I);if(ea){var fa=ea;if(cljs.core.chunked_seq_QMARK_.call(null,fa))var ga=cljs.core.chunk_first.call(null,fa),ha=cljs.core.chunk_rest.call(null,
fa),ia=ga,la=cljs.core.count.call(null,ga),I=ha,K=ia,L=la;else{for(var ja=cljs.core.first.call(null,fa),ma=cljs.core.seq.call(null,cljs.core.range.call(null,J)),na=null,ua=0,va=0;;)if(va<ua){var Ba=cljs.core._nth.call(null,na,va),Oa=document.createElementNS("http://www.w3.org/2000/svg","rect"),ka=Oa;ka.setAttribute("id",[cljs.core.str.cljs$core$IFn$_invoke$arity$1("grid-primary-cell-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(ja),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(Ba)].join(""));
ka.setAttribute("x",""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(ja));ka.setAttribute("y",""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(Ba));ka.setAttribute("width","1");ka.setAttribute("height","1");ka.setAttribute("fill","none");ka.onclick=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,T,S,U,V,W,X){return function(){return cljs.core.reset_BANG_.call(null,Q,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"location","location",1815599388),
null,new cljs.core.Keyword(null,"coordinates","coordinates",-1225332668),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[n,m],null)],null))}}(ma,na,ua,va,I,K,L,M,ka,Oa,Ba,ja,fa,ea,H,"Initial create",F,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,G,J);goog.dom.appendChild(H,Oa);va+=1}else{var oa=cljs.core.seq.call(null,ma);if(oa){var ya=oa;if(cljs.core.chunked_seq_QMARK_.call(null,ya))var Ca=cljs.core.chunk_first.call(null,ya),Za=cljs.core.chunk_rest.call(null,
ya),$a=Ca,gb=cljs.core.count.call(null,Ca),ma=Za,na=$a,ua=gb;else{var pa=cljs.core.first.call(null,ya),Da=document.createElementNS("http://www.w3.org/2000/svg","rect"),qa=Da;qa.setAttribute("id",[cljs.core.str.cljs$core$IFn$_invoke$arity$1("grid-primary-cell-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(ja),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(pa)].join(""));qa.setAttribute("x",""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(ja));qa.setAttribute("y",
""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(pa));qa.setAttribute("width","1");qa.setAttribute("height","1");qa.setAttribute("fill","none");qa.onclick=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,T,S,U,V,W,X,Y,Z){return function(){return cljs.core.reset_BANG_.call(null,T,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"location","location",1815599388),null,new cljs.core.Keyword(null,"coordinates","coordinates",-1225332668),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[q,m],null)],null))}}(ma,na,ua,va,I,K,L,M,qa,Da,pa,ya,oa,ja,fa,ea,H,"Initial create",F,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,G,J);goog.dom.appendChild(H,Da);ma=cljs.core.next.call(null,ya);na=null;ua=0}va=0}else break}I=cljs.core.next.call(null,fa);K=null;L=0}M=0}else break}goog.dom.appendChild(l,H);for(var wa=document.createDocumentFragment(),Pa=cljs.core.seq.call(null,cljs.core.range.call(null,G)),Ea=null,Fa=0,Ga=0;;)if(Ga<Fa){for(var ra=
cljs.core._nth.call(null,Ea,Ga),Qa=cljs.core.seq.call(null,cljs.core.range.call(null,J)),Ra=null,Sa=0,Ha=0;;)if(Ha<Sa){var xa=cljs.core._nth.call(null,Ra,Ha),Ia=document.createElementNS("http://www.w3.org/2000/svg","g"),Ta=document.createElementNS("http://www.w3.org/2000/svg","use");Ia.setAttribute("transform",weathergen.ui.common.svg_translate.call(null,ra+.5,xa+.5));Ta.setAttribute("id",[cljs.core.str.cljs$core$IFn$_invoke$arity$1("grid-wind-cell-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(ra),
cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(xa)].join(""));goog.dom.appendChild(Ia,Ta);goog.dom.appendChild(wa,Ia);Ha+=1}else{var ab=cljs.core.seq.call(null,Qa);if(ab){var sa=ab;if(cljs.core.chunked_seq_QMARK_.call(null,sa))var Ua=cljs.core.chunk_first.call(null,sa),bb=cljs.core.chunk_rest.call(null,sa),hb=Ua,ib=cljs.core.count.call(null,Ua),Qa=bb,Ra=hb,Sa=ib;else{var Cb=cljs.core.first.call(null,sa),jb=document.createElementNS("http://www.w3.org/2000/svg",
"g"),Db=document.createElementNS("http://www.w3.org/2000/svg","use");jb.setAttribute("transform",weathergen.ui.common.svg_translate.call(null,ra+.5,Cb+.5));Db.setAttribute("id",[cljs.core.str.cljs$core$IFn$_invoke$arity$1("grid-wind-cell-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(ra),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(Cb)].join(""));goog.dom.appendChild(jb,Db);goog.dom.appendChild(wa,jb);Qa=cljs.core.next.call(null,sa);Ra=null;Sa=0}Ha=
0}else break}Ga+=1}else{var kb=cljs.core.seq.call(null,Pa);if(kb){var lb=kb;if(cljs.core.chunked_seq_QMARK_.call(null,lb))var kc=cljs.core.chunk_first.call(null,lb),Dc=cljs.core.chunk_rest.call(null,lb),Eb=kc,Ec=cljs.core.count.call(null,kc),Pa=Dc,Ea=Eb,Fa=Ec;else{for(var Fb=cljs.core.first.call(null,lb),Tb=cljs.core.seq.call(null,cljs.core.range.call(null,J)),Ub=null,jc=0,Gb=0;;)if(Gb<jc){var lc=cljs.core._nth.call(null,Ub,Gb),Vb=document.createElementNS("http://www.w3.org/2000/svg","g"),mc=document.createElementNS("http://www.w3.org/2000/svg",
"use");Vb.setAttribute("transform",weathergen.ui.common.svg_translate.call(null,Fb+.5,lc+.5));mc.setAttribute("id",[cljs.core.str.cljs$core$IFn$_invoke$arity$1("grid-wind-cell-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(Fb),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(lc)].join(""));goog.dom.appendChild(Vb,mc);goog.dom.appendChild(wa,Vb);Gb+=1}else{var nc=cljs.core.seq.call(null,Tb);if(nc){var mb=nc;if(cljs.core.chunked_seq_QMARK_.call(null,mb))var oc=
cljs.core.chunk_first.call(null,mb),Fc=cljs.core.chunk_rest.call(null,mb),Gc=oc,Hc=cljs.core.count.call(null,oc),Tb=Fc,Ub=Gc,jc=Hc;else{var pc=cljs.core.first.call(null,mb),Wb=document.createElementNS("http://www.w3.org/2000/svg","g"),qc=document.createElementNS("http://www.w3.org/2000/svg","use");Wb.setAttribute("transform",weathergen.ui.common.svg_translate.call(null,Fb+.5,pc+.5));qc.setAttribute("id",[cljs.core.str.cljs$core$IFn$_invoke$arity$1("grid-wind-cell-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(Fb),
cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(pc)].join(""));goog.dom.appendChild(Wb,qc);goog.dom.appendChild(wa,Wb);Tb=cljs.core.next.call(null,mb);Ub=null;jc=0}Gb=0}else break}Pa=cljs.core.next.call(null,lb);Ea=null;Fa=0}Ga=0}else break}goog.dom.appendChild(m,wa);for(var nb=document.createDocumentFragment(),Xb=cljs.core.seq.call(null,cljs.core.range.call(null,G)),Yb=null,Zb=0,Va=0;;)if(Va<Zb){for(var Hb=cljs.core._nth.call(null,Yb,Va),$b=cljs.core.seq.call(null,
cljs.core.range.call(null,J)),ac=null,bc=0,Ib=0;;)if(Ib<bc){var ob=cljs.core._nth.call(null,ac,Ib),rc=document.createElementNS("http://www.w3.org/2000/svg","text"),cc=rc;cc.setAttribute("transform",[cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.common.svg_scale.call(null,.03)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.common.svg_translate.call(null,(Hb+.5)/.03,(ob+.9)/.03))].join(""));cc.setAttribute("id",[cljs.core.str.cljs$core$IFn$_invoke$arity$1("grid-text-cell-"),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(Hb),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(ob)].join(""));cc.setAttribute("text-anchor","middle");goog.dom.appendChild(nb,rc);Ib+=1}else{var sc=cljs.core.seq.call(null,$b);if(sc){var pb=sc;if(cljs.core.chunked_seq_QMARK_.call(null,pb))var tc=cljs.core.chunk_first.call(null,pb),Ic=cljs.core.chunk_rest.call(null,pb),Jc=tc,Jb=cljs.core.count.call(null,tc),$b=Ic,ac=Jc,bc=Jb;else{var uc=cljs.core.first.call(null,
pb),vc=document.createElementNS("http://www.w3.org/2000/svg","text"),dc=vc;dc.setAttribute("transform",[cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.common.svg_scale.call(null,.03)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.common.svg_translate.call(null,(Hb+.5)/.03,(uc+.9)/.03))].join(""));dc.setAttribute("id",[cljs.core.str.cljs$core$IFn$_invoke$arity$1("grid-text-cell-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(Hb),
cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(uc)].join(""));dc.setAttribute("text-anchor","middle");goog.dom.appendChild(nb,vc);$b=cljs.core.next.call(null,pb);ac=null;bc=0}Ib=0}else break}Va+=1}else{var wc=cljs.core.seq.call(null,Xb);if(wc){var sb=wc;if(cljs.core.chunked_seq_QMARK_.call(null,sb))var qb=cljs.core.chunk_first.call(null,sb),Kc=cljs.core.chunk_rest.call(null,sb),Lc=qb,Mc=cljs.core.count.call(null,qb),Xb=Kc,Yb=Lc,Zb=Mc;else{for(var Kb=cljs.core.first.call(null,
sb),ec=cljs.core.seq.call(null,cljs.core.range.call(null,J)),fc=null,gc=0,Lb=0;;)if(Lb<gc){var xc=cljs.core._nth.call(null,fc,Lb),yc=document.createElementNS("http://www.w3.org/2000/svg","text"),hc=yc;hc.setAttribute("transform",[cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.common.svg_scale.call(null,.03)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.common.svg_translate.call(null,(Kb+.5)/.03,(xc+.9)/.03))].join(""));hc.setAttribute("id",
[cljs.core.str.cljs$core$IFn$_invoke$arity$1("grid-text-cell-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(Kb),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(xc)].join(""));hc.setAttribute("text-anchor","middle");goog.dom.appendChild(nb,yc);Lb+=1}else{var zc=cljs.core.seq.call(null,ec);if(zc){var rb=zc;if(cljs.core.chunked_seq_QMARK_.call(null,rb))var Ac=cljs.core.chunk_first.call(null,rb),Nc=cljs.core.chunk_rest.call(null,rb),Oc=Ac,Pc=cljs.core.count.call(null,
Ac),ec=Nc,fc=Oc,gc=Pc;else{var Bc=cljs.core.first.call(null,rb),Cc=document.createElementNS("http://www.w3.org/2000/svg","text"),ic=Cc;ic.setAttribute("transform",[cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.common.svg_scale.call(null,.03)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.common.svg_translate.call(null,(Kb+.5)/.03,(Bc+.9)/.03))].join(""));ic.setAttribute("id",[cljs.core.str.cljs$core$IFn$_invoke$arity$1("grid-text-cell-"),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(Kb),cljs.core.str.cljs$core$IFn$_invoke$arity$1("-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(Bc)].join(""));ic.setAttribute("text-anchor","middle");goog.dom.appendChild(nb,Cc);ec=cljs.core.next.call(null,rb);fc=null;gc=0}Lb=0}else break}Xb=cljs.core.next.call(null,sb);Yb=null;Zb=0}Va=0}else break}return goog.dom.appendChild(n,nb)})();console.timeEnd("Initial create");var H=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,
x,y,z,A,B,C,D,E,F,G){return function(a){return cljs.core.dissoc.call(null,a,new cljs.core.Keyword(null,"opacity","opacity",397153780),new cljs.core.Keyword(null,"map","map",1371690461),new cljs.core.Keyword(null,"flight-paths","flight-paths",159519268),new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541))}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,G,J)).call(null,y);return javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H){return function(a,
b){return weathergen.ui.update_grid.call(null,a,b)}}(H,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,G,J)).call(null,A,H)}}(a,u,t,v,w,x,y,z,A,J,B,C,G,E,D,L,b,c,f,f,g,h,k,l,m,n,p,q,r));return a},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=
a;return b}();weathergen.ui.ESCAPE_KEY=27;weathergen.ui.ENTER_KEY=13;weathergen.ui.two_column=function(a,b){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"two-column",hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"left-column",a),hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"right-column",b))};
weathergen.ui.parse_int=function(a){a=(new Number(a)).valueOf();var b=cljs.core.long$.call(null,a);return cljs.core.int_QMARK_.call(null,a)?b:null};
weathergen.ui.conform_nonnegative_integer=function(a){return javelin.core.formula.call(null,function(a){a=weathergen.ui.parse_int.call(null,a);var b=cljs.core.truth_(a)?!(0>a):a;return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"valid?","valid?",-212412379),b,new cljs.core.Keyword(null,"message","message",-406056002),cljs.core.truth_(b)?null:"Must be whole number, greather than or equal to zero.",new cljs.core.Keyword(null,"value","value",305978217),a],null)}).call(null,a)};
weathergen.ui.conform_positive_integer=function(a){return javelin.core.formula.call(null,function(a){a=weathergen.ui.parse_int.call(null,a);var b=cljs.core.truth_(a)?0<a:a;return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"valid?","valid?",-212412379),b,new cljs.core.Keyword(null,"message","message",-406056002),cljs.core.truth_(b)?null:"Must be an integer greater than zero.",new cljs.core.Keyword(null,"value","value",305978217),a],null)}).call(null,a)};
weathergen.ui.int_conformer=function(a,b){return function(c){return function(d){return javelin.core.formula.call(null,function(c){return function(d){d=weathergen.ui.parse_int.call(null,d);var e=cljs.core.truth_(d)?a<=d&&d<=b:d;return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"valid?","valid?",-212412379),e,new cljs.core.Keyword(null,"message","message",-406056002),cljs.core.truth_(e)?null:c,new cljs.core.Keyword(null,"value","value",305978217),d],null)}}(c)).call(null,d)}}(goog.string.format("Must be an integer between %d and %d.",
a,b))};
weathergen.ui.float_conformer=function(a,b){return function(c){return function(d){return javelin.core.formula.call(null,function(c){return function(d){d=(new Number(d)).valueOf();var e=a<=d&&d<=b;return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"valid?","valid?",-212412379),e,new cljs.core.Keyword(null,"message","message",-406056002),e?null:c,new cljs.core.Keyword(null,"value","value",305978217),cljs.core.truth_(isNaN(d))?null:d],null)}}(c)).call(null,d)}}(goog.string.format("Must be a number between %f and %f.",a,
b))};weathergen.ui.compose_conformers=function(a,b){return function(c){var d=a.call(null,c);c=b.call(null,c);return javelin.core.formula.call(null,function(a,b){return function(a,b){return cljs.core.truth_((new cljs.core.Keyword(null,"valid?","valid?",-212412379)).cljs$core$IFn$_invoke$arity$1(a))?b:a}}(d,c)).call(null,d,c)}};
weathergen.ui.validating_edit=function(){var a=function(a){var b=hoplon.core.parse_args.call(null,a),c=cljs.core.nth.call(null,b,0,null),f=cljs.core.nth.call(null,b,1,null),g=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,h=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"align","align",1964212802)),k=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"fmt","fmt",332300772)),l=cljs.core.get.call(null,
g,new cljs.core.Keyword(null,"placeholder","placeholder",-104873083)),m=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"css","css",1135045163)),n=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"width","width",-384071477)),p=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"update","update",1045576396)),q=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"conform","conform",1846236460)),r=cljs.core.get.call(null,g,new cljs.core.Keyword(null,"source","source",-433931539)),u=cljs.core.dissoc.call(null,
c,new cljs.core.Keyword(null,"conform","conform",1846236460),new cljs.core.Keyword(null,"fmt","fmt",332300772),new cljs.core.Keyword(null,"source","source",-433931539),new cljs.core.Keyword(null,"update","update",1045576396),new cljs.core.Keyword(null,"width","width",-384071477),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.Keyword(null,"align","align",1964212802)),t=javelin.core.cell.call(null,null),v=cljs.core.truth_(k)?
k:cljs.core.str,w=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(a,c){return cljs.core.truth_(a)?a:b.call(null,c)}}(t,v,c,g,h,k,l,m,n,p,q,r,u,b,c,f)).call(null,t,r),x=q.call(null,w),y=function(){return cljs.core.truth_(p)?p:function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w){return function(a){return cljs.core.swap_BANG_.call(null,r,cljs.core.constantly.call(null,a))}}(p,t,v,w,x,c,g,h,k,l,m,n,p,q,r,u,b,c,f)}(),z=javelin.core.cell.call(null,new cljs.core.Keyword(null,
"set","set",304602554)),A=javelin.core.cell.call(null,!1),J=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y){return function(a){return a}}(t,v,w,x,y,z,A,c,g,h,k,l,m,n,p,q,r,u,b,c,f)).call(null,h),B=javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z){return function(a){return cljs.core.empty_QMARK_.call(null,(new cljs.core.Keyword(null,"message","message",-406056002)).cljs$core$IFn$_invoke$arity$1(a))}}(t,v,w,x,y,z,A,J,c,g,h,k,l,m,
n,p,q,r,u,b,c,f)).call(null,x);return hoplon.core.div.call(null,u,new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"position","position",-2011731912),"relative",new cljs.core.Keyword(null,"overflow","overflow",2058931880),"show",new cljs.core.Keyword(null,"white-space","white-space",-707351930),"nowrap",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,cljs.core.truth_(n)?
n:125),new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,3)],null),m),function(){var a=hoplon.core.input.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"text",new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),l,new cljs.core.Keyword(null,"input","input",556931961),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(b){cljs.core.reset_BANG_.call(null,a,cljs.core.deref.call(null,b));return cljs.core.reset_BANG_.call(null,
f,new cljs.core.Keyword(null,"editing","editing",1365491601))}}(t,v,w,x,y,z,A,J,B,c,g,h,k,l,m,n,p,q,r,u,b,c,f),new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(){var B=cljs.core.deref.call(null,d),C=(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(B);return cljs.core.truth_(C)?javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D){return function(){h.call(null,
a);cljs.core.reset_BANG_.call(null,d,null);return cljs.core.reset_BANG_.call(null,k,new cljs.core.Keyword(null,"set","set",304602554))}}(C,C,B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A)):null}}(t,v,w,x,y,z,A,J,B,c,g,h,k,l,m,n,p,q,r,u,b,c,f),new cljs.core.Keyword(null,"keyup","keyup",-794526927),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(B){return cljs.core._EQ_.call(null,weathergen.ui.ESCAPE_KEY,B.keyCode)?javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,
h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(){cljs.core.reset_BANG_.call(null,a,null);return cljs.core.reset_BANG_.call(null,f,new cljs.core.Keyword(null,"set","set",304602554))}}(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A)):null}}(t,v,w,x,y,z,A,J,B,c,g,h,k,l,m,n,p,q,r,u,b,c,f),new cljs.core.Keyword(null,"focus","focus",234677911),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(){return cljs.core.reset_BANG_.call(null,g,!0)}}(t,v,w,x,y,z,A,J,B,c,g,h,k,l,m,n,p,q,r,u,
b,c,f),new cljs.core.Keyword(null,"blur","blur",-453500461),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(){var B=cljs.core.deref.call(null,d);return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B){return function(){cljs.core.reset_BANG_.call(null,h,!1);var c=(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(c)?(f.call(null,c),cljs.core.reset_BANG_.call(null,b,null),
cljs.core.reset_BANG_.call(null,g,new cljs.core.Keyword(null,"set","set",304602554))):null}}(B,a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A))}}(t,v,w,x,y,z,A,J,B,c,g,h,k,l,m,n,p,q,r,u,b,c,f),new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(a,b,c){return new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"font-style","font-style",-773672352),cljs.core._EQ_.call(null,a,new cljs.core.Keyword(null,
"editing","editing",1365491601))?"italic":"",new cljs.core.Keyword(null,"color","color",1011675173),cljs.core.truth_(b)?"":weathergen.ui.common.colors.call(null,new cljs.core.Keyword(null,"invalid","invalid",412869516)),new cljs.core.Keyword(null,"background","background",-863952629),cljs.core.truth_(b)?"":weathergen.ui.common.colors.call(null,new cljs.core.Keyword(null,"invalid-background","invalid-background",-917496690)),new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,
(cljs.core.truth_(t)?t:125)-(cljs.core.truth_(b)?0:20)),new cljs.core.Keyword(null,"padding-right","padding-right",-1250249681),cljs.core.truth_(b)?null:weathergen.ui.common.px.call(null,20),new cljs.core.Keyword(null,"margin-right","margin-right",809689658),cljs.core.truth_(b)?null:weathergen.ui.common.px.call(null,-20),new cljs.core.Keyword(null,"text-align","text-align",1786091845),cljs.core.truth_(c)?c:null],null)}}(t,v,w,x,y,z,A,J,B,c,g,h,k,l,m,n,p,q,r,u,b,c,f)).call(null,z,B,J),new cljs.core.Keyword(null,
"value","value",305978217),w);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,hoplon.core.img.call(null,new cljs.core.Keyword(null,"src","src",-1651076051),"images/error.png",new cljs.core.Keyword(null,"title","title",636505583),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B){return function(a){return(new cljs.core.Keyword(null,"message","message",-406056002)).cljs$core$IFn$_invoke$arity$1(a)}}(a,t,v,w,x,y,z,A,J,B,c,
g,h,k,l,m,n,p,q,r,u,b,c,f)).call(null,x),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B){return function(){return a.focus()}}(a,t,v,w,x,y,z,A,J,B,c,g,h,k,l,m,n,p,q,r,u,b,c,f),new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A,B){return function(a){return new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"position","position",-2011731912),
"relative",new cljs.core.Keyword(null,"right","right",-452581833),0,new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,14),new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.px.call(null,3),new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),weathergen.ui.common.px.call(null,2),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle",new cljs.core.Keyword(null,"opacity","opacity",397153780),
cljs.core.truth_(a)?"0":"1"],null)}}(a,t,v,w,x,y,z,A,J,B,c,g,h,k,l,m,n,p,q,r,u,b,c,f)).call(null,B))],null)}(),hoplon.core.div.call(null,new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(a,b,c){b=c.call(null,b);return cljs.core.truth_(b)?a:b}}(t,v,w,x,y,z,A,J,B,c,g,h,k,l,m,n,p,q,r,u,b,c,f)).call(null,A,B,cljs.core.not),new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,
"min-width","min-width",1926193728),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),new cljs.core.Keyword(null,"top","top",-1856271961),new cljs.core.Keyword(null,"background","background",-863952629),new cljs.core.Keyword(null,"max-width","max-width",-1939924051),new cljs.core.Keyword(null,"z-index","z-index",1892827090),new cljs.core.Keyword(null,"padding-left","padding-left",-1180879053),new cljs.core.Keyword(null,"position","position",-2011731912),new cljs.core.Keyword(null,"border",
"border",1444987323)],[weathergen.ui.common.pct.call(null,100),weathergen.ui.common.pct.call(null,75),weathergen.ui.common.px.call(null,24),"rgba(221,221,221,0.95)",weathergen.ui.common.px.call(null,500),1,weathergen.ui.common.px.call(null,2),"absolute","1px solid #888"]),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,x,y,z,A){return function(a){return(new cljs.core.Keyword(null,"message","message",-406056002)).cljs$core$IFn$_invoke$arity$1(a)}}(t,v,w,x,y,z,A,J,B,c,
g,h,k,l,m,n,p,q,r,u,b,c,f)).call(null,x)))},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.time_edit=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,f=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"source","source",-433931539)),g=cljs.core.get.call(null,c,new cljs.core.Keyword(null,"update","update",1045576396)),h=cljs.core.nth.call(null,a,1,null);return weathergen.ui.validating_edit.call(null,
c,new cljs.core.Keyword(null,"width","width",-384071477),65,new cljs.core.Keyword(null,"fmt","fmt",332300772),weathergen.ui.common.format_time,new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),"dd/hhmm",new cljs.core.Keyword(null,"conform","conform",1846236460),function(a,b,c,d,e,f,g){return function(h){return javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a){a=cljs.core.re_matches.call(null,/(\d+)\/(\d\d):(\d\d)/,a);cljs.core.nth.call(null,a,0,null);var b=
cljs.core.nth.call(null,a,1,null),c=cljs.core.nth.call(null,a,2,null),d=cljs.core.nth.call(null,a,3,null);a=cljs.core.long$.call(null,new Number(b));var e=cljs.core.long$.call(null,new Number(c)),f=cljs.core.long$.call(null,new Number(d)),b=cljs.core.truth_(b)?cljs.core.truth_(c)?cljs.core.truth_(d)?cljs.core.int_QMARK_.call(null,a)&&cljs.core.int_QMARK_.call(null,e)&&cljs.core.int_QMARK_.call(null,f)&&0<=e&&23>=e&&0<=f&&59>=f:d:c:b,c=new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,
"day","day",-274800446),a,new cljs.core.Keyword(null,"hour","hour",-555989214),e,new cljs.core.Keyword(null,"minute","minute",-642875969),f],null);cljs.core.truth_(b)?(d=(new cljs.core.Keyword(null,"max","max",61366548)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params))),c=cljs.core.truth_(d)?weathergen.time.campaign_time__GT_minutes.call(null,(new cljs.core.Keyword(null,"max",
"max",61366548)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params))))<weathergen.time.campaign_time__GT_minutes.call(null,c):d):c=b;return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"valid?","valid?",-212412379),cljs.core.truth_(b)?cljs.core.not.call(null,c):b,new cljs.core.Keyword(null,"message","message",-406056002),cljs.core.not.call(null,b)?"Time must be in the format 'dd/hh:mm'":
cljs.core.truth_(c)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Time cannot be set later than "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.ui.common.format_time.call(null,(new cljs.core.Keyword(null,"max","max",61366548)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params)))))].join(""):null,new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.PersistentArrayMap(null,
3,[new cljs.core.Keyword(null,"day","day",-274800446),a,new cljs.core.Keyword(null,"hour","hour",-555989214),e,new cljs.core.Keyword(null,"minute","minute",-642875969),f],null)],null)}}(a,b,c,d,e,f,g)).call(null,h)}}(a,b,c,c,f,g,h))},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};
b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.edit_field=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return weathergen.ui.edit_field.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return weathergen.ui.edit_field.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));}};
weathergen.ui.edit_field.cljs$core$IFn$_invoke$arity$2=function(a,b){return weathergen.ui.edit_field.call(null,a,b,cljs.core.PersistentArrayMap.EMPTY)};
weathergen.ui.edit_field.cljs$core$IFn$_invoke$arity$3=function(a,b,c){var d=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c,e=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"change-fn","change-fn",1566440825)),f=cljs.core.get.call(null,d,new cljs.core.Keyword(null,"input-attrs","input-attrs",-38113667),cljs.core.PersistentArrayMap.EMPTY);return hoplon.core.input.call(null,f,new cljs.core.Keyword(null,
"type","type",1174270348),"text",new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a,b,c,d){return function(a,b,c){return c.call(null,b,a)}}(c,d,e,f)).call(null,b,a,cljs.core.get_in),new cljs.core.Keyword(null,"change","change",-1163046502),cljs.core.truth_(e)?function(a,b,c,d){return function(a){return c.call(null,Number(cljs.core.deref.call(null,a)))}}(c,d,e,f):function(c,d,e,f){return function(c){return cljs.core.swap_BANG_.call(null,a,cljs.core.assoc_in,
b,Number(cljs.core.deref.call(null,c)))}}(c,d,e,f))};weathergen.ui.edit_field.cljs$lang$maxFixedArity=3;
weathergen.ui.pressure_edit_field=function(a,b,c){return hoplon.core.input.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"text",new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a,c){return weathergen.ui.format_pressure.call(null,cljs.core.get_in.call(null,a,b),c)}).call(null,a,c),new cljs.core.Keyword(null,"change","change",-1163046502),function(d){return cljs.core.swap_BANG_.call(null,a,cljs.core.assoc_in,b,weathergen.ui.convert_pressure.call(null,
Number(cljs.core.deref.call(null,d)),cljs.core.deref.call(null,c)))})};
weathergen.ui.time_entry=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=null!=b&&(b.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===b.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,b):b,g=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"path","path",-188191168)),h=cljs.core.get.call(null,f,new cljs.core.Keyword(null,"source","source",-433931539));return weathergen.ui.time_edit.call(null,
cljs.core.assoc.call(null,cljs.core.assoc.call(null,cljs.core.dissoc.call(null,b,new cljs.core.Keyword(null,"path","path",-188191168)),new cljs.core.Keyword(null,"source","source",-433931539),javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a){return cljs.core.get_in.call(null,a,c)}}(b,f,g,h,a,b,c)).call(null,h)),new cljs.core.Keyword(null,"update","update",1045576396),function(a,b,c,d,e,f,g){return function(a){return cljs.core.swap_BANG_.call(null,d,cljs.core.assoc_in,c,a)}}(b,
f,g,h,a,b,c)))},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.button_bar=function(){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"button-bar",new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a){return new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"position","position",-2011731912),"relative",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,cljs.core.first.call(null,a)),new cljs.core.Keyword(null,"margin",
"margin",-995903681),"0 0 3px 0"],null)}).call(null,weathergen.ui.map_size),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"map","map",1371690461),new cljs.core.Keyword(null,"legend","legend",-1027192245)],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.px.call(null,5)],null),hoplon.core.span.call(null,"Map Legend")),
function(){var a=function(a){return function(){var a=cljs.core.deref.call(null,weathergen.ui.map_viewbox),b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"x","x",2099068185)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"y","y",-1757859776)),f=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"width","width",-384071477)),b=cljs.core.get.call(null,
b,new cljs.core.Keyword(null,"height","height",1025178622));return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a+f/2,e+b/2],null)}}(18);return weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.px.call(null,10)],null),weathergen.ui.common.inl.call(null,weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,
"click","click",1912301393),function(a,c){return function(){return weathergen.ui.zoom_map_BANG_.call(null,c.call(null),1.1)}}(18,a),hoplon.core.img.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"bottom"],null),new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,18),new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.common.px.call(null,
18),new cljs.core.Keyword(null,"src","src",-1651076051),"images/zoomin.svg",new cljs.core.Keyword(null,"title","title",636505583),"Zoom Map In")),weathergen.ui.common.inl.call(null,weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,c){return function(){return weathergen.ui.zoom_map_BANG_.call(null,c.call(null),1/1.1)}}(18,a),hoplon.core.img.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"vertical-align","vertical-align",651007333),"bottom"],null),new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,18),new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.common.px.call(null,18),new cljs.core.Keyword(null,"src","src",-1651076051),"images/zoomout.svg",new cljs.core.Keyword(null,"title","title",636505583),"Zoom Map Out")))))}(),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
3,[new cljs.core.Keyword(null,"position","position",-2011731912),"absolute",new cljs.core.Keyword(null,"right","right",-452581833),weathergen.ui.common.px.call(null,27),new cljs.core.Keyword(null,"bottom","bottom",-1550509018),0],null),hoplon.core.span.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"map","map",1371690461),new cljs.core.Keyword(null,"mission-time","mission-time",-1235574900)],null),
"Mission Time:")," ",javelin.core.formula.call(null,function(a){a=weathergen.falcon.files.mission.mission_time.call(null,a);return cljs.core.truth_(a)?weathergen.ui.common.format_time.call(null,a):"--/----"}).call(null,weathergen.ui.mission)),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.px.call(null,7)],null),weathergen.help.with_help.call(null,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"map","map",1371690461),new cljs.core.Keyword(null,"weather-time","weather-time",-248525118)],null),"Weather Time:")," ",javelin.core.formula.call(null,function(a){a=(new cljs.core.Keyword(null,"current","current",-1088038603)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(a));return cljs.core.truth_(a)?weathergen.ui.common.format_time.call(null,
a):"--/----"}).call(null,weathergen.ui.weather_data_params))),javelin.core.formula.call(null,function(a){return cljs.core.not.call(null,a)?cljs.core.PersistentVector.EMPTY:hoplon.core.img.call(null,new cljs.core.Keyword(null,"src","src",-1651076051),"images/spinner.gif",new cljs.core.Keyword(null,"width","width",-384071477),"24px",new cljs.core.Keyword(null,"height","height",1025178622),"24px",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,
"vertical-align","vertical-align",651007333),"bottom",new cljs.core.Keyword(null,"position","position",-2011731912),"absolute",new cljs.core.Keyword(null,"right","right",-452581833),"3px",new cljs.core.Keyword(null,"bottom","bottom",-1550509018),"0"],null))}).call(null,weathergen.ui.computing))};
weathergen.ui.control_layout=function(a){var b=function(){var a=function(a){return cljs.core.apply.call(null,hoplon.core.div,new cljs.core.Keyword(null,"class","class",-2030961996),"field",a)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=
a;return b}(),c=function(a){return function(){var a=function(a){return cljs.core.apply.call(null,hoplon.core.div,new cljs.core.Keyword(null,"class","class",-2030961996),"field-elem field-help",a)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=
a;return b}()}(b),d=function(a,b){return function(){var a=function(a){return cljs.core.apply.call(null,hoplon.core.div,new cljs.core.Keyword(null,"class","class",-2030961996),"field-elem field-input",a)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=
a;return b}()}(b,c),e=function(a,b,c){return function(){var a=function(a){return cljs.core.apply.call(null,hoplon.core.div,new cljs.core.Keyword(null,"class","class",-2030961996),"field-elem field-label",a)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=
a;return b}()}(b,c,d);return function(a,b,c,d){return function m(e){return new cljs.core.LazySeq(null,function(a,b,c,d){return function(){for(;;){var b=cljs.core.seq.call(null,e);if(b){if(cljs.core.chunked_seq_QMARK_.call(null,b)){var f=cljs.core.chunk_first.call(null,b),g=cljs.core.count.call(null,f),h=cljs.core.chunk_buffer.call(null,g);return function(){for(var b=0;;)if(b<g){var e=cljs.core._nth.call(null,f,b),k=cljs.core.nth.call(null,e,0,null),m=cljs.core.nth.call(null,e,1,null),e=cljs.core.nth.call(null,
e,2,null),e=null!=e&&(e.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===e.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,e):e,n=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"extra","extra",1612569067)),p=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"type","type",1174270348)),q=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"help-base","help-base",-1618186240)),r=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"help-path","help-path",
840478713)),t=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"cell","cell",764245084)),u=cljs.core.get.call(null,e,new cljs.core.Keyword(null,"ui","ui",-469653645)),v=function(){var a=t;return cljs.core.truth_(a)?a:weathergen.ui.weather_params}();cljs.core.chunk_append.call(null,h,a.call(null,d.call(null,weathergen.help.with_help.call(null,cljs.core.into.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[function(){var a=q;return cljs.core.truth_(a)?a:new cljs.core.Keyword(null,
"weather-params","weather-params",-259271365)}()],null),function(){var a=r;return cljs.core.truth_(a)?a:m}()),k)),c.call(null,function(){var a=u;return cljs.core.truth_(a)?a:cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"pressure","pressure",505343747),p)?weathergen.ui.pressure_edit_field.call(null,v,m,weathergen.ui.pressure_unit):weathergen.ui.edit_field.call(null,v,m)}(),function(){var a=n;return cljs.core.truth_(a)?a:cljs.core.PersistentVector.EMPTY}())));b+=1}else return!0}()?cljs.core.chunk_cons.call(null,
cljs.core.chunk.call(null,h),m.call(null,cljs.core.chunk_rest.call(null,b))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,h),null)}var k=cljs.core.first.call(null,b),n=cljs.core.nth.call(null,k,0,null),p=cljs.core.nth.call(null,k,1,null),k=cljs.core.nth.call(null,k,2,null),k=null!=k&&(k.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===k.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,k):k,q=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"extra",
"extra",1612569067)),r=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"type","type",1174270348)),u=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"help-base","help-base",-1618186240)),G=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"help-path","help-path",840478713)),E=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"cell","cell",764245084)),D=cljs.core.get.call(null,k,new cljs.core.Keyword(null,"ui","ui",-469653645)),L=function(){var a=E;return cljs.core.truth_(a)?a:weathergen.ui.weather_params}();
return cljs.core.cons.call(null,a.call(null,d.call(null,weathergen.help.with_help.call(null,cljs.core.into.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[function(){var a=u;return cljs.core.truth_(a)?a:new cljs.core.Keyword(null,"weather-params","weather-params",-259271365)}()],null),function(){var a=G;return cljs.core.truth_(a)?a:p}()),n)),c.call(null,function(){var a=D;return cljs.core.truth_(a)?a:cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"pressure",
"pressure",505343747),r)?weathergen.ui.pressure_edit_field.call(null,L,p,weathergen.ui.pressure_unit):weathergen.ui.edit_field.call(null,L,p)}(),function(){var a=q;return cljs.core.truth_(a)?a:cljs.core.PersistentVector.EMPTY}())),m.call(null,cljs.core.rest.call(null,b)))}return null}}}(a,b,c,d),null,null)}}(b,c,d,e).call(null,a)};
weathergen.ui.weather_display_controls=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"prevent-map-change?","prevent-map-change?",1926330460)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"title","title",636505583)),e=function(a,b,c,d){return function(){var a=function(a){return cljs.core.apply.call(null,hoplon.core.div,
new cljs.core.Keyword(null,"class","class",-2030961996),"field",a)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(a,b,c,d),f=function(a,b,c,d,e){return function(){var a=function(a){return cljs.core.apply.call(null,hoplon.core.div,
new cljs.core.Keyword(null,"class","class",-2030961996),"field-elem field-help",a)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(e,a,b,c,d),g=function(a,b,c,d,e,f){return function(){var a=function(a){return cljs.core.apply.call(null,
hoplon.core.div,new cljs.core.Keyword(null,"class","class",-2030961996),"field-elem field-input",a)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(e,f,a,b,c,d),h=function(a,b,c,d,e,f,g){return function(){var a=function(a,
b){return weathergen.help.with_help.call(null,a,cljs.core.apply.call(null,hoplon.core.div,new cljs.core.Keyword(null,"class","class",-2030961996),"field-elem field-label",b))},b=function(b,c){var d=null;if(1<arguments.length){for(var d=0,e=Array(arguments.length-1);d<e.length;)e[d]=arguments[d+1],++d;d=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,b,d)};b.cljs$lang$maxFixedArity=1;b.cljs$lang$applyTo=function(b){var c=cljs.core.first(b);b=cljs.core.rest(b);return a(c,b)};b.cljs$core$IFn$_invoke$arity$variadic=
a;return b}()}(e,f,g,a,b,c,d);return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),cljs.core.truth_(d)?d:"Display Options",new cljs.core.Keyword(null,"id","id",-1388402092),"weather-display-controls-section",weathergen.ui.control_layout.call(null,function(){var k=new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"cell","cell",764245084),weathergen.ui.display_params,new cljs.core.Keyword(null,"help-base","help-base",-1618186240),
new cljs.core.Keyword(null,"weather-display-controls","weather-display-controls",941597221)],null);return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["Display",new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"display","display",242065432)],null),cljs.core.merge.call(null,k,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"ui","ui",-469653645),weathergen.ui.common.dropdown.call(null,new cljs.core.Keyword(null,"value","value",305978217),weathergen.ui.common.path_lens.call(null,weathergen.ui.display_params,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"display","display",242065432)],null)),new cljs.core.Keyword(null,"choices","choices",1385611597),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"label","label",1718410804),"None"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Weather Type",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"type","type",1174270348)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Pressure",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"pressure","pressure",
505343747)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Temperature",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"temperature","temperature",899018429)],null)],null))],null))],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["Overlay",new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"overlay","overlay",-139131598)],
null),cljs.core.merge.call(null,k,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"ui","ui",-469653645),weathergen.ui.common.dropdown.call(null,new cljs.core.Keyword(null,"value","value",305978217),weathergen.ui.common.path_lens.call(null,weathergen.ui.display_params,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"overlay","overlay",-139131598)],null)),new cljs.core.Keyword(null,"choices","choices",1385611597),new cljs.core.PersistentVector(null,
5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"label","label",1718410804),"None"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Wind",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"wind","wind",-527553074)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Pressure",new cljs.core.Keyword(null,
"value","value",305978217),new cljs.core.Keyword(null,"pressure","pressure",505343747)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Temperature",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"temperature","temperature",899018429)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Weather Type",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,
"type","type",1174270348)],null)],null))],null))],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["Pressure",new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"pressure","pressure",505343747)],null),cljs.core.merge.call(null,k,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"ui","ui",-469653645),weathergen.ui.common.dropdown.call(null,new cljs.core.Keyword(null,"value","value",305978217),
weathergen.ui.common.path_lens.call(null,weathergen.ui.display_params,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"pressure-unit","pressure-unit",1615584243)],null)),new cljs.core.Keyword(null,"choices","choices",1385611597),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"InHg",new cljs.core.Keyword(null,"value",
"value",305978217),new cljs.core.Keyword(null,"inhg","inhg",-863180091)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Millibar",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"mbar","mbar",-1396360988)],null)],null))],null))],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["Opacity:",new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"opacity","opacity",397153780)],null),cljs.core.merge.call(null,k,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"ui","ui",-469653645),hoplon.core.input.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"type","type",1174270348),"range",new cljs.core.Keyword(null,"min","min",444991522),0,new cljs.core.Keyword(null,"max","max",61366548),100,new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,
k){return function(a,b){return a.call(null,100*(new cljs.core.Keyword(null,"opacity","opacity",397153780)).cljs$core$IFn$_invoke$arity$1(b))}}(k,e,f,g,h,a,b,c,d)).call(null,cljs.core.long$,weathergen.ui.display_params),new cljs.core.Keyword(null,"input","input",556931961),function(a,b,c,d,e,f,g,h,k){return function(a){return cljs.core.swap_BANG_.call(null,weathergen.ui.display_params,cljs.core.assoc,new cljs.core.Keyword(null,"opacity","opacity",397153780),cljs.core.deref.call(null,a)/100)}}(k,e,
f,g,h,a,b,c,d)],null))],null))],null)],null)}()))};
weathergen.ui.weather_parameters=function(a){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),"Weather parameters",new cljs.core.Keyword(null,"id","id",-1388402092),"weather-params-section",new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,c){return a.call(null,c,new cljs.core.Keyword(null,"edit","edit",-1641834166))}).call(null,cljs.core._EQ_,weathergen.ui.display_mode),weathergen.ui.control_layout.call(null,
new cljs.core.PersistentVector(null,6,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["Seed",new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"seed","seed",68613327)],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"ui","ui",-469653645),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"nowrap"],null),weathergen.ui.edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"seed","seed",68613327)],null)),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"width","width",-384071477),"75px"],null),new cljs.core.Keyword(null,
"click","click",1912301393),function(){return cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,cljs.core.assoc,new cljs.core.Keyword(null,"seed","seed",68613327),cljs.core.rand_int.call(null,5E3)+100)},"Random"))],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["Min pressure",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"min",
"min",444991522)],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"pressure","pressure",505343747)],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["Max pressure",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"max","max",61366548)],null),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"pressure","pressure",505343747)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Prevailing wind",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"prevailing-wind","prevailing-wind",-190580386),new cljs.core.Keyword(null,"heading","heading",-1312171873)],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
["Weather heading",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"direction","direction",-633359395),new cljs.core.Keyword(null,"heading","heading",-1312171873)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"cell","cell",764245084),weathergen.ui.movement_params,new cljs.core.Keyword(null,"help-base","help-base",-1618186240),new cljs.core.Keyword(null,"movement-params","movement-params",293385966)],null)],null),
new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["Weather speed",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"direction","direction",-633359395),new cljs.core.Keyword(null,"speed","speed",1257663751)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"cell","cell",764245084),weathergen.ui.movement_params,new cljs.core.Keyword(null,"help-base","help-base",-1618186240),new cljs.core.Keyword(null,
"movement-params","movement-params",293385966)],null)],null)],null)))};
weathergen.ui.wind_stability_parameters=function(a){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204)],null),"Wind stability regions"),new cljs.core.Keyword(null,"id","id",-1388402092),"wind-stability-params-section",new cljs.core.Keyword(null,
"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,c){return a.call(null,c,new cljs.core.Keyword(null,"edit","edit",-1641834166))}).call(null,cljs.core._EQ_,weathergen.ui.display_mode),function(){var a=javelin.core.formula.call(null,function(a,b,e){return b.call(null,e,(new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204)).cljs$core$IFn$_invoke$arity$1(a))}).call(null,weathergen.ui.weather_params,cljs.core.map_indexed,cljs.core.vector);return hoplon.core.div.call(null,
new cljs.core.Keyword(null,"class","class",-2030961996),"wind-stability-boxes",hoplon.core.loop_tpl_STAR_.call(null,a,function(a){return function(b){b=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[b,a],null)}}(a)).call(null,b));var c=cljs.core.nth.call(null,b,0,null),d=cljs.core.nth.call(null,
b,1,null);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"wind-stability-params",hoplon.core.table.call(null,hoplon.core.tbody.call(null,hoplon.core.tr.call(null,hoplon.core.td.call(null,"NW corner"),hoplon.core.td.call(null,weathergen.ui.edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204),cljs.core.deref.call(null,
c),new cljs.core.Keyword(null,"bounds","bounds",1691609455),new cljs.core.Keyword(null,"x","x",2099068185)],null))),hoplon.core.td.call(null,weathergen.ui.edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204),cljs.core.deref.call(null,c),new cljs.core.Keyword(null,"bounds","bounds",1691609455),new cljs.core.Keyword(null,"y","y",-1757859776)],
null)))),hoplon.core.tr.call(null,hoplon.core.td.call(null,"Width/height"),hoplon.core.td.call(null,weathergen.ui.edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204),cljs.core.deref.call(null,c),new cljs.core.Keyword(null,"bounds","bounds",1691609455),new cljs.core.Keyword(null,"width","width",-384071477)],null))),hoplon.core.td.call(null,
weathergen.ui.edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204),cljs.core.deref.call(null,c),new cljs.core.Keyword(null,"bounds","bounds",1691609455),new cljs.core.Keyword(null,"height","height",1025178622)],null)))),hoplon.core.tr.call(null,hoplon.core.td.call(null,"Wind spd/hdg"),hoplon.core.td.call(null,weathergen.ui.edit_field.call(null,
weathergen.ui.weather_params,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204),cljs.core.deref.call(null,c),new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.Keyword(null,"speed","speed",1257663751)],null))),hoplon.core.td.call(null,weathergen.ui.edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204),cljs.core.deref.call(null,c),new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.Keyword(null,"heading","heading",-1312171873)],null)))))),weathergen.ui.buttons.image_button.call(null,new cljs.core.Keyword(null,"src","src",-1651076051),"images/trash.png",new cljs.core.Keyword(null,"width","width",-384071477),"16px",new cljs.core.Keyword(null,"title","title",636505583),"Remove",new cljs.core.Keyword(null,
"click","click",1912301393),function(a,b,c,d){return function(){return cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,cljs.core.update,new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204),function(a,b,c,d){return function(a){return weathergen.ui.remove_nth.call(null,a,cljs.core.deref.call(null,b))}}(a,b,c,d))}}(b,c,d,a)),weathergen.ui.buttons.image_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d){return function(){return cljs.core.swap_BANG_.call(null,
weathergen.ui.weather_params,cljs.core.update_in,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204),cljs.core.deref.call(null,b),new cljs.core.Keyword(null,"editing?","editing?",1646440800)],null),cljs.core.not)}}(b,c,d,a),new cljs.core.Keyword(null,"title","title",636505583),"Edit",new cljs.core.Keyword(null,"src","src",-1651076051),"images/move.svg",new cljs.core.Keyword(null,"width",
"width",-384071477),"16px",new cljs.core.Keyword(null,"height","height",1025178622),"16px",new cljs.core.Keyword(null,"latched?","latched?",2124907793),javelin.core.formula.call(null,function(a,b,c,d){return function(a){return(new cljs.core.Keyword(null,"editing?","editing?",1646440800)).cljs$core$IFn$_invoke$arity$1(a)}}(b,c,d,a)).call(null,d)),hoplon.core.hr.call(null))}}(a)))}(),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(){return cljs.core.swap_BANG_.call(null,
weathergen.ui.weather_params,cljs.core.update,new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204),function(a){return cljs.core.conj.call(null,a,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"bounds","bounds",1691609455),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"x","x",2099068185),0,new cljs.core.Keyword(null,"y","y",-1757859776),0,new cljs.core.Keyword(null,"width","width",-384071477),10,new cljs.core.Keyword(null,"height",
"height",1025178622),10],null),new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"heading","heading",-1312171873),45,new cljs.core.Keyword(null,"speed","speed",1257663751),5],null),new cljs.core.Keyword(null,"index","index",-1531685915),cljs.core.count.call(null,a)],null))})},"Add New"))};
weathergen.ui.weather_override_parameters=function(a){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),new cljs.core.Keyword(null,"overview","overview",-435037267)],null),"Weather override regions"),new cljs.core.Keyword(null,"id","id",-1388402092),
"weather-override-params-section",new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,c){return a.call(null,c,new cljs.core.Keyword(null,"edit","edit",-1641834166))}).call(null,cljs.core._EQ_,weathergen.ui.display_mode),function(){var a=javelin.core.formula.call(null,function(a){return cljs.core.map_indexed.call(null,cljs.core.vector,(new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710)).cljs$core$IFn$_invoke$arity$1(a))}).call(null,
weathergen.ui.weather_params);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"weather-override-boxes",hoplon.core.loop_tpl_STAR_.call(null,a,function(a){return function(b){var c=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(a)).call(null,
b)),d=cljs.core.nth.call(null,c,0,null),g=cljs.core.nth.call(null,c,1,null);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"weather-overrides",hoplon.core.table.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"weather-override-params",function(){var b=function(a,b,c,d){return function(e,f,g){var h=null!=g&&(g.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===g.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,g):
g,k=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"change","change",-1163046502)),l=cljs.core.get.call(null,h,new cljs.core.Keyword(null,"row-attrs","row-attrs",2139633863));return hoplon.core.tr.call(null,cljs.core.truth_(l)?l:cljs.core.PersistentVector.EMPTY,hoplon.core.td.call(null,new cljs.core.Keyword(null,"colspan","colspan",-1512420934),2,hoplon.core.input.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"width","width",-384071477),"25px"],null),new cljs.core.Keyword(null,"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a,b){return b.call(null,a)}}(g,h,k,l,a,b,c,d)).call(null,b,f),new cljs.core.Keyword(null,"change","change",-1163046502),function(){return cljs.core.truth_(k)?k:function(a,b,c,d,e,g,h,k,l){return function(a){return cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,
cljs.core.update_in,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,k),f],null),cljs.core.not)}}(k,g,h,k,l,a,b,c,d)}()),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),f],null),hoplon.core.label.call(null,e))))}}(c,d,g,
a);return hoplon.core.tbody.call(null,hoplon.core.tr.call(null,hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"override-label",weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),new cljs.core.Keyword(null,"center","center",-748944368)],null),"Center X/Y")),hoplon.core.td.call(null,weathergen.ui.edit_field.call(null,weathergen.ui.weather_params,
new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,g),new cljs.core.Keyword(null,"location","location",1815599388),new cljs.core.Keyword(null,"x","x",2099068185)],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"input-attrs","input-attrs",-38113667),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"css","css",1135045163),
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px"],null)],null)],null)),weathergen.ui.edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,g),new cljs.core.Keyword(null,"location","location",1815599388),new cljs.core.Keyword(null,"y","y",-1757859776)],null)))),
hoplon.core.tr.call(null,hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"override-label",weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),new cljs.core.Keyword(null,"radius","radius",-2073122258)],null),"Radius")),hoplon.core.td.call(null,weathergen.ui.edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,g),new cljs.core.Keyword(null,"radius","radius",-2073122258)],null)))),hoplon.core.tr.call(null,hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"override-label",weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides",
"weather-overrides",-837381710),new cljs.core.Keyword(null,"falloff","falloff",-1639069456)],null),"Falloff")),hoplon.core.td.call(null,weathergen.ui.edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,g),new cljs.core.Keyword(null,"falloff","falloff",-1639069456)],null)))),hoplon.core.tr.call(null,hoplon.core.td.call(null,
new cljs.core.Keyword(null,"class","class",-2030961996),"override-label",weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),new cljs.core.Keyword(null,"pressure","pressure",505343747)],null),"Pressure")),hoplon.core.td.call(null,weathergen.ui.pressure_edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,g),new cljs.core.Keyword(null,"pressure","pressure",505343747)],null),weathergen.ui.pressure_unit))),hoplon.core.tr.call(null,hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"override-label",weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",
-837381710),new cljs.core.Keyword(null,"strength","strength",-415606478)],null),"Strength")),hoplon.core.td.call(null,weathergen.ui.edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,g),new cljs.core.Keyword(null,"strength","strength",-415606478)],null)))),b.call(null,"Show outline?",new cljs.core.Keyword(null,"show-outline?",
"show-outline?",820145348),cljs.core.PersistentArrayMap.EMPTY),b.call(null,"Fade in/out?",new cljs.core.Keyword(null,"animate?","animate?",-1559039739),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e){return function(f){return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e){return function(){cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,cljs.core.update_in,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,d),new cljs.core.Keyword(null,"animate?","animate?",-1559039739)],null),cljs.core.not);return cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,function(a,b,c,d,e){return function(a){return cljs.core.truth_(cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),
cljs.core.deref.call(null,d),new cljs.core.Keyword(null,"animate?","animate?",-1559039739)],null)))?a:cljs.core.assoc_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,d),new cljs.core.Keyword(null,"exclude-from-forecast?","exclude-from-forecast?",1182671640)],null),!1)}}(a,b,c,d,e))}}(a,b,c,d,e))}}(b,c,d,g,a)],null)),function(){return function(a,b,c,
d,e){return function r(f){return new cljs.core.LazySeq(null,function(a,b,c,d,e){return function(){for(;;){var g=cljs.core.seq.call(null,f);if(g){var h=g;if(cljs.core.chunked_seq_QMARK_.call(null,h)){var k=cljs.core.chunk_first.call(null,h),l=cljs.core.count.call(null,k),m=cljs.core.chunk_buffer.call(null,l);return function(){for(var f=0;;)if(f<l){var n=cljs.core._nth.call(null,k,f),p=cljs.core.nth.call(null,n,0,null),r=cljs.core.nth.call(null,n,1,null);cljs.core.chunk_append.call(null,m,hoplon.core.tr.call(null,
new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m,n,p,r){return function(a){return(new cljs.core.Keyword(null,"animate?","animate?",-1559039739)).cljs$core$IFn$_invoke$arity$1(a)}}(f,n,p,r,k,l,m,h,g,a,b,c,d,e)).call(null,c),hoplon.core.td.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),
r],null),p)),hoplon.core.td.call(null,weathergen.ui.time_entry.call(null,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.weather_params,new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,d),r],null)))));f+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,m),r.call(null,
cljs.core.chunk_rest.call(null,h))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,m),null)}var n=cljs.core.first.call(null,h),p=cljs.core.nth.call(null,n,0,null),t=cljs.core.nth.call(null,n,1,null);return cljs.core.cons.call(null,hoplon.core.tr.call(null,new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a){return(new cljs.core.Keyword(null,"animate?","animate?",-1559039739)).cljs$core$IFn$_invoke$arity$1(a)}}(n,
p,t,h,g,a,b,c,d,e)).call(null,c),hoplon.core.td.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),t],null),p)),hoplon.core.td.call(null,weathergen.ui.time_entry.call(null,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.weather_params,new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.PersistentVector(null,3,
5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,d),t],null)))),r.call(null,cljs.core.rest.call(null,h)))}return null}}}(a,b,c,d,e),null,null)}}(b,c,d,g,a).call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Begin",new cljs.core.Keyword(null,"begin","begin",-319034319)],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,["Peak",new cljs.core.Keyword(null,"peak","peak",389096055)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Taper",new cljs.core.Keyword(null,"taper","taper",1772067478)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["End",new cljs.core.Keyword(null,"end","end",-268185958)],null)],null))}(),b.call(null,"Exclude from forecast?",new cljs.core.Keyword(null,"exclude-from-forecast?",
"exclude-from-forecast?",1182671640),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"row-attrs","row-attrs",2139633863),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d,e){return function(a){return(new cljs.core.Keyword(null,"animate?","animate?",-1559039739)).cljs$core$IFn$_invoke$arity$1(a)}}(b,c,d,g,a)).call(null,d)],null)],null)))}()),weathergen.ui.buttons.image_button.call(null,
new cljs.core.Keyword(null,"src","src",-1651076051),"images/trash.png",new cljs.core.Keyword(null,"width","width",-384071477),"16px",new cljs.core.Keyword(null,"title","title",636505583),"Remove",new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d){return function(){return cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,cljs.core.update,new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),function(a,b,c,d){return function(a){return weathergen.ui.remove_nth.call(null,
a,cljs.core.deref.call(null,c))}}(a,b,c,d))}}(c,d,g,a)),weathergen.ui.buttons.image_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d){return function(){return cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,cljs.core.update_in,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),cljs.core.deref.call(null,c),new cljs.core.Keyword(null,"editing?",
"editing?",1646440800)],null),cljs.core.not)}}(c,d,g,a),new cljs.core.Keyword(null,"title","title",636505583),"Edit",new cljs.core.Keyword(null,"src","src",-1651076051),"images/move.svg",new cljs.core.Keyword(null,"width","width",-384071477),"16px",new cljs.core.Keyword(null,"height","height",1025178622),"16px",new cljs.core.Keyword(null,"latched","latched",657080362),javelin.core.formula.call(null,function(a,b,c,d){return function(a){return(new cljs.core.Keyword(null,"editing?","editing?",1646440800)).cljs$core$IFn$_invoke$arity$1(a)}}(c,
d,g,a)).call(null,d)))}}(a)))}(),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(){return cljs.core.swap_BANG_.call(null,weathergen.ui.weather_params,function(a){return cljs.core.update.call(null,a,new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),function(b){return cljs.core.conj.call(null,b,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,
"show-outline?","show-outline?",820145348),new cljs.core.Keyword(null,"radius","radius",-2073122258),new cljs.core.Keyword(null,"falloff","falloff",-1639069456),new cljs.core.Keyword(null,"begin","begin",-319034319),new cljs.core.Keyword(null,"strength","strength",-415606478),new cljs.core.Keyword(null,"taper","taper",1772067478),new cljs.core.Keyword(null,"peak","peak",389096055),new cljs.core.Keyword(null,"exclude-from-forecast?","exclude-from-forecast?",1182671640),new cljs.core.Keyword(null,"end",
"end",-268185958),new cljs.core.Keyword(null,"location","location",1815599388)],[(new cljs.core.Keyword(null,"min","min",444991522)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"pressure","pressure",505343747)).cljs$core$IFn$_invoke$arity$1(a)),!0,8,2,(new cljs.core.Keyword(null,"current","current",-1088038603)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(a)),1,weathergen.time.add_minutes.call(null,(new cljs.core.Keyword(null,
"current","current",-1088038603)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(a)),180),weathergen.time.add_minutes.call(null,(new cljs.core.Keyword(null,"current","current",-1088038603)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(a)),60),!1,weathergen.time.add_minutes.call(null,(new cljs.core.Keyword(null,"current","current",-1088038603)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,
"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(a)),240),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"x","x",2099068185),30,new cljs.core.Keyword(null,"y","y",-1757859776),30],null)]))})})},"Add New"))};
weathergen.ui.weather_type_configuration=function(a){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),"Weather type configuration",new cljs.core.Keyword(null,"id","id",-1388402092),"weather-type-configuration-section",new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,c){return a.call(null,c,new cljs.core.Keyword(null,"edit","edit",-1641834166))}).call(null,cljs.core._EQ_,weathergen.ui.display_mode),
hoplon.core.table.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"category-params",hoplon.core.thead.call(null,hoplon.core.tr.call(null,hoplon.core.td.call(null,""),hoplon.core.td.call(null,new cljs.core.Keyword(null,"colspan","colspan",-1512420934),2,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-type-config","weather-type-config",-2069342501),new cljs.core.Keyword(null,"pressure",
"pressure",505343747)],null),"Pressure")),hoplon.core.td.call(null,new cljs.core.Keyword(null,"colspan","colspan",-1512420934),3,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-type-config","weather-type-config",-2069342501),new cljs.core.Keyword(null,"wind","wind",-527553074)],null),"Wind")),hoplon.core.td.call(null,new cljs.core.Keyword(null,"colspan","colspan",-1512420934),3,weathergen.help.with_help.call(null,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-type-config","weather-type-config",-2069342501),new cljs.core.Keyword(null,"temp","temp",1791541284)],null),"Temperature"))),hoplon.core.tr.call(null,cljs.core.map.call(null,function(a){return cljs.core.apply.call(null,hoplon.core.td,a)},new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[""],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["From"],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["To"],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["Min"],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["Mean"],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["Max"],null),new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,["Min"],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["Mean"],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["Max"],null)],null)))),hoplon.core.tbody.call(null,function(){return function c(a){return new cljs.core.LazySeq(null,function(){for(;;){var d=cljs.core.seq.call(null,a);if(d){var f=d;if(cljs.core.chunked_seq_QMARK_.call(null,f)){var g=cljs.core.chunk_first.call(null,f),h=cljs.core.count.call(null,
g),k=cljs.core.chunk_buffer.call(null,h);return function(){for(var a=0;;)if(a<h){var c=cljs.core._nth.call(null,g,a);cljs.core.chunk_append.call(null,k,hoplon.core.tr.call(null,hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),[cljs.core.str.cljs$core$IFn$_invoke$arity$1("weather-type "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.name.call(null,c))].join(""),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,["background-color",
function(){var a=weathergen.ui.weather_color.call(null,c),d=cljs.core.nth.call(null,a,0,null),e=cljs.core.nth.call(null,a,1,null),a=cljs.core.nth.call(null,a,2,null);return[cljs.core.str.cljs$core$IFn$_invoke$arity$1("rgb("),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),cljs.core.str.cljs$core$IFn$_invoke$arity$1(","),cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),cljs.core.str.cljs$core$IFn$_invoke$arity$1(","),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(")")].join("")}()],
null),weathergen.ui.type_key__GT_name.call(null,c)),function(){var e=cljs.core.contains_QMARK_,l=c;if(cljs.core.truth_(e.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),null],null),null),l)))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"derived",javelin.core.formula.call(null,function(a,
c,d,e,f,g,h,k,l){return function(a,c){return weathergen.ui.format_pressure.call(null,cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.Keyword(null,"pressure","pressure",505343747)],null)),c)}}(a,e,l,c,g,h,k,f,d)).call(null,weathergen.ui.weather_params,weathergen.ui.pressure_unit)),hoplon.core.td.call(null,new cljs.core.Keyword(null,
"class","class",-2030961996),"derived",javelin.core.formula.call(null,function(a,c,d,e,f,g,h,k,l){return function(a,c){return weathergen.ui.format_pressure.call(null,cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"max","max",61366548)],null)),c)}}(a,e,l,c,g,h,k,f,d)).call(null,weathergen.ui.weather_params,weathergen.ui.pressure_unit))],null);if(cljs.core.truth_(e.call(null,
new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"poor","poor",1462482211),null,new cljs.core.Keyword(null,"fair","fair",1684139423),null],null),null),l)))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"derived",javelin.core.formula.call(null,function(a,c,d,e,f,g,h,k,l){return function(a,c){return weathergen.ui.format_pressure.call(null,
cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"fair","fair",1684139423),e)?new cljs.core.Keyword(null,"poor","poor",1462482211):new cljs.core.Keyword(null,"inclement","inclement",-550669382),new cljs.core.Keyword(null,"pressure","pressure",505343747)],null)),c)}}(a,e,l,c,g,h,k,f,d)).call(null,weathergen.ui.weather_params,
weathergen.ui.pressure_unit)),hoplon.core.td.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"edit-field",weathergen.ui.pressure_edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),c,new cljs.core.Keyword(null,"pressure","pressure",505343747)],null),weathergen.ui.pressure_unit)))],null);if(cljs.core.truth_(e.call(null,
new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"inclement","inclement",-550669382),null],null),null),l)))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"derived",javelin.core.formula.call(null,function(a,c,d,e,f,g,h,k,l){return function(a,c){return weathergen.ui.format_pressure.call(null,cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"min","min",444991522)],null)),c)}}(a,e,l,c,g,h,k,f,d)).call(null,weathergen.ui.weather_params,weathergen.ui.pressure_unit)),hoplon.core.td.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"edit-field",weathergen.ui.pressure_edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"categories","categories",178386610),c,new cljs.core.Keyword(null,"pressure","pressure",505343747)],null),weathergen.ui.pressure_unit)))],null);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(l)].join(""));}(),function(){return function(a,c,d,e,f,g,h){return function y(k){return new cljs.core.LazySeq(null,function(a,c,d,e,f,g,h){return function(){for(var l=k;;){var m=cljs.core.seq.call(null,l);
if(m){var n=m,p=cljs.core.first.call(null,n),m=function(a,c,d,e,f,g,h,k,l,m,n){return function Z(p){return new cljs.core.LazySeq(null,function(a,c,d,e,f,g,h,k,l,m,n){return function(){for(;;){var a=cljs.core.seq.call(null,p);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var c=cljs.core.chunk_first.call(null,a),e=cljs.core.count.call(null,c),f=cljs.core.chunk_buffer.call(null,e);a:for(var h=0;;)if(h<e){var k=cljs.core._nth.call(null,c,h);cljs.core.chunk_append.call(null,f,hoplon.core.td.call(null,
new cljs.core.Keyword(null,"class","class",-2030961996),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.name.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.name.call(null,k))].join(""),hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"edit-field",weathergen.ui.edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"categories","categories",178386610),g,d,k],null)))));h+=1}else{c=!0;break a}return c?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,f),Z.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,f),null)}f=cljs.core.first.call(null,a);return cljs.core.cons.call(null,hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.name.call(null,d)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.name.call(null,f))].join(""),hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"edit-field",weathergen.ui.edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),g,d,f],null)))),Z.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,c,d,e,f,g,h,k,l,m,n),null,null)}}(l,a,p,n,
m,c,d,e,f,g,h);if(m=cljs.core.seq.call(null,m.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"min","min",444991522),new cljs.core.Keyword(null,"mean","mean",-1359234715),new cljs.core.Keyword(null,"max","max",61366548)],null))))return cljs.core.concat.call(null,m,y.call(null,cljs.core.rest.call(null,l)));l=cljs.core.rest.call(null,l)}else return null}}}(a,c,d,e,f,g,h),null,null)}}(a,c,g,h,k,f,d).call(null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.Keyword(null,"temp","temp",1791541284)],null))}()));a+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),c.call(null,cljs.core.chunk_rest.call(null,f))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),null)}var l=cljs.core.first.call(null,f);return cljs.core.cons.call(null,hoplon.core.tr.call(null,hoplon.core.td.call(null,new cljs.core.Keyword(null,
"class","class",-2030961996),[cljs.core.str.cljs$core$IFn$_invoke$arity$1("weather-type "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.name.call(null,l))].join(""),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,["background-color",function(){var a=weathergen.ui.weather_color.call(null,l),c=cljs.core.nth.call(null,a,0,null),d=cljs.core.nth.call(null,a,1,null),a=cljs.core.nth.call(null,a,2,null);return[cljs.core.str.cljs$core$IFn$_invoke$arity$1("rgb("),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),cljs.core.str.cljs$core$IFn$_invoke$arity$1(","),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),cljs.core.str.cljs$core$IFn$_invoke$arity$1(","),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(")")].join("")}()],null),weathergen.ui.type_key__GT_name.call(null,l)),function(){var a=cljs.core.contains_QMARK_,c=l;if(cljs.core.truth_(a.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),null],null),null),c)))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"derived",javelin.core.formula.call(null,function(a,c,d,e,f){return function(a,c){return weathergen.ui.format_pressure.call(null,cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"categories","categories",178386610),new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.Keyword(null,"pressure","pressure",505343747)],null)),c)}}(a,c,l,f,d)).call(null,weathergen.ui.weather_params,weathergen.ui.pressure_unit)),hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"derived",javelin.core.formula.call(null,function(a,c,d,e,f){return function(a,c){return weathergen.ui.format_pressure.call(null,cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"max","max",61366548)],null)),c)}}(a,c,l,f,d)).call(null,weathergen.ui.weather_params,weathergen.ui.pressure_unit))],null);if(cljs.core.truth_(a.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"poor","poor",1462482211),null,new cljs.core.Keyword(null,"fair","fair",1684139423),null],null),null),c)))return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"derived",javelin.core.formula.call(null,function(a,c,d,e,f){return function(a,c){return weathergen.ui.format_pressure.call(null,cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"fair","fair",1684139423),
d)?new cljs.core.Keyword(null,"poor","poor",1462482211):new cljs.core.Keyword(null,"inclement","inclement",-550669382),new cljs.core.Keyword(null,"pressure","pressure",505343747)],null)),c)}}(a,c,l,f,d)).call(null,weathergen.ui.weather_params,weathergen.ui.pressure_unit)),hoplon.core.td.call(null,hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"edit-field",weathergen.ui.pressure_edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),l,new cljs.core.Keyword(null,"pressure","pressure",505343747)],null),weathergen.ui.pressure_unit)))],null);if(cljs.core.truth_(a.call(null,new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"inclement","inclement",-550669382),null],null),null),c)))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[hoplon.core.td.call(null,
new cljs.core.Keyword(null,"class","class",-2030961996),"derived",javelin.core.formula.call(null,function(a,c,d,e,f){return function(a,c){return weathergen.ui.format_pressure.call(null,cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"pressure","pressure",505343747),new cljs.core.Keyword(null,"min","min",444991522)],null)),c)}}(a,c,l,f,d)).call(null,weathergen.ui.weather_params,weathergen.ui.pressure_unit)),hoplon.core.td.call(null,
hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"edit-field",weathergen.ui.pressure_edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),l,new cljs.core.Keyword(null,"pressure","pressure",505343747)],null),weathergen.ui.pressure_unit)))],null);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(""));
}(),function(){return function(a,c,d){return function r(e){return new cljs.core.LazySeq(null,function(a,c,d){return function(){for(var f=e;;){var g=cljs.core.seq.call(null,f);if(g){var h=g,k=cljs.core.first.call(null,h),g=function(a,c,d,e,f,g,h){return function K(k){return new cljs.core.LazySeq(null,function(a,c,d,e,f,g,h){return function(){for(;;){var a=cljs.core.seq.call(null,k);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var d=cljs.core.chunk_first.call(null,a),e=cljs.core.count.call(null,
d),g=cljs.core.chunk_buffer.call(null,e);a:for(var h=0;;)if(h<e){var l=cljs.core._nth.call(null,d,h);cljs.core.chunk_append.call(null,g,hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.name.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.name.call(null,l))].join(""),hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),
"edit-field",weathergen.ui.edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"categories","categories",178386610),f,c,l],null)))));h+=1}else{d=!0;break a}return d?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,g),K.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,g),null)}g=cljs.core.first.call(null,a);return cljs.core.cons.call(null,
hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.name.call(null,c)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.name.call(null,g))].join(""),hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"edit-field",weathergen.ui.edit_field.call(null,weathergen.ui.weather_params,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"categories","categories",178386610),f,c,g],null)))),K.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,c,d,e,f,g,h),null,null)}}(f,k,h,g,a,c,d);if(g=cljs.core.seq.call(null,g.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"min","min",444991522),new cljs.core.Keyword(null,"mean","mean",-1359234715),new cljs.core.Keyword(null,"max","max",61366548)],null))))return cljs.core.concat.call(null,g,r.call(null,
cljs.core.rest.call(null,f)));f=cljs.core.rest.call(null,f)}else return null}}}(a,c,d),null,null)}}(l,f,d).call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind","wind",-527553074),new cljs.core.Keyword(null,"temp","temp",1791541284)],null))}()),c.call(null,cljs.core.rest.call(null,f)))}return null}},null,null)}.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"sunny",
"sunny",1448267778),new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.Keyword(null,"poor","poor",1462482211),new cljs.core.Keyword(null,"inclement","inclement",-550669382)],null))}())))};
"undefined"===typeof weathergen.ui.cloud_param_conformer&&(weathergen.ui.cloud_param_conformer=function(){var a=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),b=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),c=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),d=cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY),e=cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));
return new cljs.core.MultiFn(cljs.core.symbol.call(null,"weathergen.ui","cloud-param-conformer"),function(a,b,c,d,e){return function(a,b,c){return b}}(a,b,c,d,e),new cljs.core.Keyword(null,"default","default",-1987822328),e,a,b,c,d)}());cljs.core._add_method.call(null,weathergen.ui.cloud_param_conformer,new cljs.core.Keyword(null,"default","default",-1987822328),function(a,b,c){return weathergen.ui.int_conformer.call(null,0,99999)});
cljs.core._add_method.call(null,weathergen.ui.cloud_param_conformer,new cljs.core.Keyword(null,"visibility","visibility",1338380893),function(a,b,c){return weathergen.ui.float_conformer.call(null,0,30)});
cljs.core._add_method.call(null,weathergen.ui.cloud_param_conformer,new cljs.core.Keyword(null,"stratus-base","stratus-base",-1631962478),function(a,b,c){return function(b){var d=weathergen.ui.int_conformer.call(null,0,99999);b=d.call(null,b);return javelin.core.formula.call(null,function(a,b){return function(a,b){var d=(new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.not.call(null,(new cljs.core.Keyword(null,"valid?","valid?",-212412379)).cljs$core$IFn$_invoke$arity$1(b))?
b:cljs.core.truth_(function(){var a=(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"poor","poor",1462482211),null,new cljs.core.Keyword(null,"inclement","inclement",-550669382),null],null),null)).call(null,c);return cljs.core.truth_(a)?d<(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(b):a}())?new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"valid?","valid?",-212412379),!1,new cljs.core.Keyword(null,
"message","message",-406056002),"Stratus base must be below stratus top.",new cljs.core.Keyword(null,"value","value",305978217),(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(b)],null):b}}(d,b)).call(null,a,b)}});
cljs.core._add_method.call(null,weathergen.ui.cloud_param_conformer,new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574),function(a,b,c){return function(b){var d=weathergen.ui.int_conformer.call(null,0,99999);b=d.call(null,b);return javelin.core.formula.call(null,function(a,b){return function(a,b){var d=function(){var b=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"stratus-base","stratus-base",-1631962478),
new cljs.core.Keyword(null,"poor","poor",1462482211)],null)),c=cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"stratus-base","stratus-base",-1631962478),new cljs.core.Keyword(null,"inclement","inclement",-550669382)],null));return b>c?b:c}();return cljs.core.not.call(null,(new cljs.core.Keyword(null,"valid?","valid?",-212412379)).cljs$core$IFn$_invoke$arity$1(b))?b:cljs.core.truth_(function(){var a=(new cljs.core.PersistentHashSet(null,
new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"poor","poor",1462482211),null,new cljs.core.Keyword(null,"inclement","inclement",-550669382),null],null),null)).call(null,c);return cljs.core.truth_(a)?(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(b)<d:a}())?new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"valid?","valid?",-212412379),!1,new cljs.core.Keyword(null,"message","message",-406056002),"Stratus base must be below stratus top.",
new cljs.core.Keyword(null,"value","value",305978217),(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(b)],null):b}}(d,b)).call(null,a,b)}});
cljs.core._add_method.call(null,weathergen.ui.cloud_param_conformer,new cljs.core.Keyword(null,"cumulus-base","cumulus-base",-578210868),function(a,b,c){return function(b){var d=weathergen.ui.int_conformer.call(null,0,99999);b=d.call(null,b);return javelin.core.formula.call(null,function(a,b){return function(a,b){var d=cljs.core.truth_((new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),null,new cljs.core.Keyword(null,
"fair","fair",1684139423),null],null),null)).call(null,c))?cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"stratus-base","stratus-base",-1631962478),c],null)):(new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.not.call(null,(new cljs.core.Keyword(null,"valid?","valid?",-212412379)).cljs$core$IFn$_invoke$arity$1(b))?b:d-1E3<(new cljs.core.Keyword(null,
"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(b)?new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"valid?","valid?",-212412379),!1,new cljs.core.Keyword(null,"message","message",-406056002),"Cumulus base must be at least 1000 feet below stratus top.",new cljs.core.Keyword(null,"value","value",305978217),(new cljs.core.Keyword(null,"value","value",305978217)).cljs$core$IFn$_invoke$arity$1(b)],null):b}}(d,b)).call(null,a,b)}});
weathergen.ui.cloud_controls=function(a){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"clouds","clouds",-632461223),new cljs.core.Keyword(null,"overview","overview",-435037267)],null),"Clouds and contrails"),new cljs.core.Keyword(null,"id","id",-1388402092),cljs.core.gensym.call(null),hoplon.core.div.call(null,
new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,c){return a.call(null,c,new cljs.core.Keyword(null,"edit","edit",-1641834166))}).call(null,cljs.core._EQ_,weathergen.ui.display_mode),weathergen.help.help_icon.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"clouds","clouds",-632461223),new cljs.core.Keyword(null,"buttons","buttons",-1953831197)],null)),weathergen.ui.buttons.a_button.call(null,
new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px"],null),new cljs.core.Keyword(null,"click","click",1912301393),function(){return cljs.core.reset_BANG_.call(null,weathergen.ui.cloud_params,weathergen.ui.random_cloud_params.call(null))},"Randomize"),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(){return weathergen.ui.save_twx.call(null,
cljs.core.deref.call(null,weathergen.ui.cloud_params),(new cljs.core.Keyword(null,"direction","direction",-633359395)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.movement_params)),(new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.mission)))},"Save .TWX")),hoplon.core.table.call(null,hoplon.core.tr.call(null,hoplon.core.td.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"clouds","clouds",-632461223),new cljs.core.Keyword(null,"cumulus-coverage","cumulus-coverage",255977312)],null),"Cumulus coverage")),hoplon.core.td.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"text-align","text-align",1786091845),"right"],null),"5%"),function(){var a=weathergen.ui.common.path_lens.call(null,weathergen.ui.cloud_params,new cljs.core.PersistentVector(null,
1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"cumulus-density","cumulus-density",-212067170)],null));return hoplon.core.td.call(null,hoplon.core.input.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"range",new cljs.core.Keyword(null,"disabled","disabled",-1529784218),javelin.core.formula.call(null,function(a){return function(a,b){return a.call(null,b,new cljs.core.Keyword(null,"briefing","briefing",-176308969))}}(a)).call(null,cljs.core._EQ_,weathergen.ui.display_mode),
new cljs.core.Keyword(null,"value","value",305978217),a,new cljs.core.Keyword(null,"min","min",444991522),5,new cljs.core.Keyword(null,"max","max",61366548),50,new cljs.core.Keyword(null,"change","change",-1163046502),function(a){return function(b){return cljs.core.reset_BANG_.call(null,a,cljs.core.long$.call(null,cljs.core.deref.call(null,b)))}}(a)))}(),hoplon.core.td.call(null,"50%")),hoplon.core.tr.call(null,hoplon.core.td.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"clouds","clouds",-632461223),new cljs.core.Keyword(null,"cumulus-size","cumulus-size",-954219270)],null),"Cumulus qty/size")),hoplon.core.td.call(null,hoplon.core.div.call(null,"Fewer/",hoplon.core.br.call(null),"Larger")),function(){var a=weathergen.ui.common.path_lens.call(null,weathergen.ui.cloud_params,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"cumulus-size","cumulus-size",
-954219270)],null));return hoplon.core.td.call(null,hoplon.core.input.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"range",new cljs.core.Keyword(null,"disabled","disabled",-1529784218),javelin.core.formula.call(null,function(a){return function(a,b){return a.call(null,b,new cljs.core.Keyword(null,"briefing","briefing",-176308969))}}(a)).call(null,cljs.core._EQ_,weathergen.ui.display_mode),new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a){return function(a,
b){return a.call(null,20*b)}}(a)).call(null,cljs.core.long$,a),new cljs.core.Keyword(null,"min","min",444991522),0,new cljs.core.Keyword(null,"max","max",61366548),100,new cljs.core.Keyword(null,"change","change",-1163046502),function(a){return function(b){return cljs.core.reset_BANG_.call(null,a,cljs.core.long$.call(null,cljs.core.deref.call(null,b))/20)}}(a)))}(),hoplon.core.td.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"text-align","text-align",1786091845),"right"],null),hoplon.core.div.call(null,"More/",hoplon.core.br.call(null),"Smaller")))),hoplon.core.table.call(null,hoplon.core.thead.call(null,function(){var a=function(a,b){return hoplon.core.td.call(null,cljs.core.map.call(null,function(b){return hoplon.core.div.call(null,weathergen.help.with_help.call(null,a,b))},b))};return hoplon.core.tr.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,
"text-align","text-align",1786091845),"center"],null),hoplon.core.td.call(null),a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"clouds","clouds",-632461223),new cljs.core.Keyword(null,"visibility","visibility",1338380893)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["Visibility"],null)),a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"clouds","clouds",-632461223),new cljs.core.Keyword(null,"stratus-base","stratus-base",-1631962478)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Stratus","Base"],null)),a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"clouds","clouds",-632461223),new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
["Stratus","Top"],null)),a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"clouds","clouds",-632461223),new cljs.core.Keyword(null,"cumulus-base","cumulus-base",-578210868)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Cumulus","Base"],null)),a.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"clouds","clouds",-632461223),
new cljs.core.Keyword(null,"contrails","contrails",1430581743)],null),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["Contrails"],null)))}()),hoplon.core.tbody.call(null,function(){return function c(a){return new cljs.core.LazySeq(null,function(){for(;;){var d=cljs.core.seq.call(null,a);if(d){var f=d;if(cljs.core.chunked_seq_QMARK_.call(null,f)){var g=cljs.core.chunk_first.call(null,f),h=cljs.core.count.call(null,g),k=cljs.core.chunk_buffer.call(null,h);return function(){for(var a=
0;;)if(a<h){var c=cljs.core._nth.call(null,g,a);cljs.core.chunk_append.call(null,k,hoplon.core.tr.call(null,hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),[cljs.core.str.cljs$core$IFn$_invoke$arity$1("weather-type "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.name.call(null,c))].join(""),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background-color","background-color",570434026),
function(){var a=weathergen.ui.weather_color.call(null,c),d=cljs.core.nth.call(null,a,0,null),e=cljs.core.nth.call(null,a,1,null),a=cljs.core.nth.call(null,a,2,null);return[cljs.core.str.cljs$core$IFn$_invoke$arity$1("rgb("),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),cljs.core.str.cljs$core$IFn$_invoke$arity$1(","),cljs.core.str.cljs$core$IFn$_invoke$arity$1(e),cljs.core.str.cljs$core$IFn$_invoke$arity$1(","),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(")")].join("")}()],
null),weathergen.ui.type_key__GT_name.call(null,c)),function(){return function(a,c,d,e,f,g,h){return function y(k){return new cljs.core.LazySeq(null,function(a,c,d,e,f,g,h){return function(){for(;;){var l=cljs.core.seq.call(null,k);if(l){var m=l;if(cljs.core.chunked_seq_QMARK_.call(null,m)){var n=cljs.core.chunk_first.call(null,m),p=cljs.core.count.call(null,n),q=cljs.core.chunk_buffer.call(null,p);return function(){for(var k=0;;)if(k<p){var r=cljs.core._nth.call(null,n,k);cljs.core.chunk_append.call(null,
q,hoplon.core.td.call(null,function(){var t=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[r,c],null),u=new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"font-family","font-family",-667419874),"monospace",new cljs.core.Keyword(null,"padding-left","padding-left",-1180879053),"3px",new cljs.core.Keyword(null,"padding-top","padding-top",1929675955),"2px",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"93%",new cljs.core.Keyword(null,
"text-align","text-align",1786091845),"center"],null);if(cljs.core.truth_(function(){var a=cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574),r);return a?(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),null,new cljs.core.Keyword(null,"fair","fair",1684139423),null],null),null)).call(null,c):a}()))return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),
u,javelin.core.formula.call(null,function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"stratus-base","stratus-base",-1631962478),n],null))}}(k,a,t,u,r,n,p,q,m,l,c,d,e,f,g,h)).call(null,weathergen.ui.cloud_params));if(cljs.core._EQ_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"cumulus-base",
"cumulus-base",-578210868),new cljs.core.Keyword(null,"sunny","sunny",1448267778)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[r,c],null)))return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),u,"0");if(cljs.core._EQ_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574),new cljs.core.Keyword(null,"inclement","inclement",-550669382)],
null),t))return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),u,javelin.core.formula.call(null,function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(a){return(new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574)).cljs$core$IFn$_invoke$arity$1(a)}}(k,a,t,u,r,n,p,q,m,l,c,d,e,f,g,h)).call(null,weathergen.ui.cloud_params));var v=weathergen.ui.common.path_lens.call(null,weathergen.ui.cloud_params,cljs.core._EQ_.call(null,r,new cljs.core.Keyword(null,"stratus-top",
"stratus-top",784220574))?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574)],null):t);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,5),new cljs.core.Keyword(null,"text-align","text-align",1786091845),"right"],null),function(){var w=
new cljs.core.Delay(function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.assoc.call(null,f,new cljs.core.Keyword(null,"width","width",-384071477),cljs.core._EQ_.call(null,g,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?weathergen.ui.common.px.call(null,35):weathergen.ui.common.px.call(null,55)),javelin.core.formula.call(null,function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v){return function(a){return cljs.core._EQ_.call(null,
g,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?weathergen.ui.format_visibility.call(null,a):""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)}}(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v)).call(null,d))}}(k,a,v,t,u,r,n,p,q,m,l,c,d,e,f,g,h),null),y=new cljs.core.Delay(function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w){return function(){return weathergen.ui.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),e,new cljs.core.Keyword(null,"fmt","fmt",332300772),cljs.core._EQ_.call(null,
h,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?weathergen.ui.format_visibility:cljs.core.str,new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.cloud_param_conformer.call(null,weathergen.ui.cloud_params,h,q),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),cljs.core.truth_(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"visibility","visibility",1338380893),h))?"vis (nm)":"altitude",new cljs.core.Keyword(null,"align","align",1964212802),
"right",new cljs.core.Keyword(null,"width","width",-384071477),cljs.core._EQ_.call(null,h,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?35:55)}}(k,a,w,v,t,u,r,n,p,q,m,l,c,d,e,f,g,h),null),z=function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,y){return function(a){return cljs.core.deref.call(null,function(){var c=cljs.core.truth_(a)?d:e;return cljs.core.truth_(c)?c:cljs.core.atom.call(null)}())}}(k,a,w,y,v,t,u,r,n,p,q,m,l,c,d,e,f,g,h);return javelin.core.formula.call(null,z).call(null,
javelin.core.formula.call(null,function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,w,y,z){return function(a,c){return a.call(null,c,new cljs.core.Keyword(null,"briefing","briefing",-176308969))}}(k,a,w,y,z,v,t,u,r,n,p,q,m,l,c,d,e,f,g,h)).call(null,cljs.core._EQ_,weathergen.ui.display_mode))}())}()));k+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,q),y.call(null,cljs.core.chunk_rest.call(null,m))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,q),null)}var r=cljs.core.first.call(null,
m);return cljs.core.cons.call(null,hoplon.core.td.call(null,function(){var k=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[r,c],null),n=new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"font-family","font-family",-667419874),"monospace",new cljs.core.Keyword(null,"padding-left","padding-left",-1180879053),"3px",new cljs.core.Keyword(null,"padding-top","padding-top",1929675955),"2px",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),
"93%",new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center"],null);if(cljs.core.truth_(function(){var a=cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574),r);return a?(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),null,new cljs.core.Keyword(null,"fair","fair",1684139423),null],null),null)).call(null,c):a}()))return hoplon.core.div.call(null,new cljs.core.Keyword(null,
"css","css",1135045163),n,javelin.core.formula.call(null,function(a,c,d,e,f,g,h,k,l,m,n,p){return function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"stratus-base","stratus-base",-1631962478),h],null))}}(a,k,n,r,m,l,c,d,e,f,g,h)).call(null,weathergen.ui.cloud_params));if(cljs.core._EQ_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"cumulus-base","cumulus-base",-578210868),new cljs.core.Keyword(null,"sunny","sunny",1448267778)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[r,c],null)))return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),n,"0");if(cljs.core._EQ_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574),new cljs.core.Keyword(null,"inclement","inclement",
-550669382)],null),k))return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),n,javelin.core.formula.call(null,function(a,c,d,e,f,g,h,k,l,m,n,p){return function(a){return(new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574)).cljs$core$IFn$_invoke$arity$1(a)}}(a,k,n,r,m,l,c,d,e,f,g,h)).call(null,weathergen.ui.cloud_params));var p=weathergen.ui.common.path_lens.call(null,weathergen.ui.cloud_params,cljs.core._EQ_.call(null,r,new cljs.core.Keyword(null,"stratus-top",
"stratus-top",784220574))?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574)],null):k);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,5),new cljs.core.Keyword(null,"text-align","text-align",1786091845),"right"],null),function(){var q=
new cljs.core.Delay(function(a,c,d,e,f,g,h,k,l,m,n,p,q){return function(){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.assoc.call(null,e,new cljs.core.Keyword(null,"width","width",-384071477),cljs.core._EQ_.call(null,f,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?weathergen.ui.common.px.call(null,35):weathergen.ui.common.px.call(null,55)),javelin.core.formula.call(null,function(a,c,d,e,f,g,h,k,l,m,n,p,q){return function(a){return cljs.core._EQ_.call(null,
f,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?weathergen.ui.format_visibility.call(null,a):""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)}}(a,c,d,e,f,g,h,k,l,m,n,p,q)).call(null,c))}}(a,p,k,n,r,m,l,c,d,e,f,g,h),null),t=new cljs.core.Delay(function(a,c,d,e,f,g,h,k,l,m,n,p,q,r){return function(){return weathergen.ui.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),d,new cljs.core.Keyword(null,"fmt","fmt",332300772),cljs.core._EQ_.call(null,
g,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?weathergen.ui.format_visibility:cljs.core.str,new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.cloud_param_conformer.call(null,weathergen.ui.cloud_params,g,l),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),cljs.core.truth_(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"visibility","visibility",1338380893),g))?"vis (nm)":"altitude",new cljs.core.Keyword(null,"align","align",1964212802),
"right",new cljs.core.Keyword(null,"width","width",-384071477),cljs.core._EQ_.call(null,g,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?35:55)}}(a,q,p,k,n,r,m,l,c,d,e,f,g,h),null),u=function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t){return function(a){return cljs.core.deref.call(null,function(){var e=cljs.core.truth_(a)?c:d;return cljs.core.truth_(e)?e:cljs.core.atom.call(null)}())}}(a,q,t,p,k,n,r,m,l,c,d,e,f,g,h);return javelin.core.formula.call(null,u).call(null,javelin.core.formula.call(null,
function(a,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u){return function(a,c){return a.call(null,c,new cljs.core.Keyword(null,"briefing","briefing",-176308969))}}(a,q,t,u,p,k,n,r,m,l,c,d,e,f,g,h)).call(null,cljs.core._EQ_,weathergen.ui.display_mode))}())}()),y.call(null,cljs.core.rest.call(null,m)))}return null}}}(a,c,d,e,f,g,h),null,null)}}(a,c,g,h,k,f,d).call(null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"visibility","visibility",1338380893),new cljs.core.Keyword(null,
"stratus-base","stratus-base",-1631962478),new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574),new cljs.core.Keyword(null,"cumulus-base","cumulus-base",-578210868),new cljs.core.Keyword(null,"contrails","contrails",1430581743)],null))}()));a+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),c.call(null,cljs.core.chunk_rest.call(null,f))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),null)}var l=cljs.core.first.call(null,f);return cljs.core.cons.call(null,
hoplon.core.tr.call(null,hoplon.core.td.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),[cljs.core.str.cljs$core$IFn$_invoke$arity$1("weather-type "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.name.call(null,l))].join(""),new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background-color","background-color",570434026),function(){var a=weathergen.ui.weather_color.call(null,l),c=cljs.core.nth.call(null,
a,0,null),d=cljs.core.nth.call(null,a,1,null),a=cljs.core.nth.call(null,a,2,null);return[cljs.core.str.cljs$core$IFn$_invoke$arity$1("rgb("),cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),cljs.core.str.cljs$core$IFn$_invoke$arity$1(","),cljs.core.str.cljs$core$IFn$_invoke$arity$1(d),cljs.core.str.cljs$core$IFn$_invoke$arity$1(","),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a),cljs.core.str.cljs$core$IFn$_invoke$arity$1(")")].join("")}()],null),weathergen.ui.type_key__GT_name.call(null,l)),function(){return function(a,
c,d){return function r(e){return new cljs.core.LazySeq(null,function(a,c,d){return function(){for(;;){var f=cljs.core.seq.call(null,e);if(f){var g=f;if(cljs.core.chunked_seq_QMARK_.call(null,g)){var h=cljs.core.chunk_first.call(null,g),k=cljs.core.count.call(null,h),l=cljs.core.chunk_buffer.call(null,k);return function(){for(var e=0;;)if(e<k){var m=cljs.core._nth.call(null,h,e);cljs.core.chunk_append.call(null,l,hoplon.core.td.call(null,function(){var n=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[m,a],null),p=new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"font-family","font-family",-667419874),"monospace",new cljs.core.Keyword(null,"padding-left","padding-left",-1180879053),"3px",new cljs.core.Keyword(null,"padding-top","padding-top",1929675955),"2px",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"93%",new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center"],null);if(cljs.core.truth_(function(){var c=cljs.core._EQ_.call(null,new cljs.core.Keyword(null,
"stratus-top","stratus-top",784220574),m);return c?(new cljs.core.PersistentHashSet(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),null,new cljs.core.Keyword(null,"fair","fair",1684139423),null],null),null)).call(null,a):c}()))return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),p,javelin.core.formula.call(null,function(a,c,d,e,f,g,h,k,l,m,n,p){return function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"stratus-base","stratus-base",-1631962478),m],null))}}(e,n,p,m,h,k,l,g,f,a,c,d)).call(null,weathergen.ui.cloud_params));if(cljs.core._EQ_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"cumulus-base","cumulus-base",-578210868),new cljs.core.Keyword(null,"sunny","sunny",1448267778)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[m,a],null)))return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),p,"0");if(cljs.core._EQ_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574),new cljs.core.Keyword(null,"inclement","inclement",-550669382)],null),n))return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),p,javelin.core.formula.call(null,function(a,c,d,e,f,g,h,k,l,m,n,p){return function(a){return(new cljs.core.Keyword(null,
"stratus-top","stratus-top",784220574)).cljs$core$IFn$_invoke$arity$1(a)}}(e,n,p,m,h,k,l,g,f,a,c,d)).call(null,weathergen.ui.cloud_params));var r=weathergen.ui.common.path_lens.call(null,weathergen.ui.cloud_params,cljs.core._EQ_.call(null,m,new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574))?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574)],null):n);return hoplon.core.div.call(null,new cljs.core.Keyword(null,
"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,5),new cljs.core.Keyword(null,"text-align","text-align",1786091845),"right"],null),function(){var t=new cljs.core.Delay(function(a,c,d,e,f,g,h,k,l,m,n,p,r){return function(){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.assoc.call(null,e,new cljs.core.Keyword(null,"width","width",-384071477),
cljs.core._EQ_.call(null,f,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?weathergen.ui.common.px.call(null,35):weathergen.ui.common.px.call(null,55)),javelin.core.formula.call(null,function(a,c,d,e,f,g,h,k,l,m,n,p,r){return function(a){return cljs.core._EQ_.call(null,f,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?weathergen.ui.format_visibility.call(null,a):""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)}}(a,c,d,e,f,g,h,k,l,m,n,p,r)).call(null,c))}}(e,r,
n,p,m,h,k,l,g,f,a,c,d),null),u=new cljs.core.Delay(function(a,c,d,e,f,g,h,k,l,m,n,p,r,t){return function(){return weathergen.ui.validating_edit.call(null,new cljs.core.Keyword(null,"source","source",-433931539),d,new cljs.core.Keyword(null,"fmt","fmt",332300772),cljs.core._EQ_.call(null,g,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?weathergen.ui.format_visibility:cljs.core.str,new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.cloud_param_conformer.call(null,
weathergen.ui.cloud_params,g,p),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),cljs.core.truth_(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"visibility","visibility",1338380893),g))?"vis (nm)":"altitude",new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,"width","width",-384071477),cljs.core._EQ_.call(null,g,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?35:55)}}(e,t,r,n,p,m,h,k,l,g,f,a,c,d),null),v=function(a,c,
d,e,f,g,h,k,l,m,n,p,r,t,u){return function(a){return cljs.core.deref.call(null,function(){var e=cljs.core.truth_(a)?c:d;return cljs.core.truth_(e)?e:cljs.core.atom.call(null)}())}}(e,t,u,r,n,p,m,h,k,l,g,f,a,c,d);return javelin.core.formula.call(null,v).call(null,javelin.core.formula.call(null,function(a,c,d,e,f,g,h,k,l,m,n,p,r,t,u,v){return function(a,c){return a.call(null,c,new cljs.core.Keyword(null,"briefing","briefing",-176308969))}}(e,t,u,v,r,n,p,m,h,k,l,g,f,a,c,d)).call(null,cljs.core._EQ_,
weathergen.ui.display_mode))}())}()));e+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),r.call(null,cljs.core.chunk_rest.call(null,g))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,l),null)}var m=cljs.core.first.call(null,g);return cljs.core.cons.call(null,hoplon.core.td.call(null,function(){var e=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[m,a],null),h=new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,
"font-family","font-family",-667419874),"monospace",new cljs.core.Keyword(null,"padding-left","padding-left",-1180879053),"3px",new cljs.core.Keyword(null,"padding-top","padding-top",1929675955),"2px",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"93%",new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center"],null);if(cljs.core.truth_(function(){var c=cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574),m);return c?(new cljs.core.PersistentHashSet(null,
new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"sunny","sunny",1448267778),null,new cljs.core.Keyword(null,"fair","fair",1684139423),null],null),null)).call(null,a):c}()))return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),h,javelin.core.formula.call(null,function(a,c,d,e,f,g,h,k){return function(a){return cljs.core.get_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"stratus-base",
"stratus-base",-1631962478),g],null))}}(e,h,m,g,f,a,c,d)).call(null,weathergen.ui.cloud_params));if(cljs.core._EQ_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"cumulus-base","cumulus-base",-578210868),new cljs.core.Keyword(null,"sunny","sunny",1448267778)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[m,a],null)))return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),
h,"0");if(cljs.core._EQ_.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574),new cljs.core.Keyword(null,"inclement","inclement",-550669382)],null),e))return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),h,javelin.core.formula.call(null,function(a,c,d,e,f,g,h,k){return function(a){return(new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574)).cljs$core$IFn$_invoke$arity$1(a)}}(e,
h,m,g,f,a,c,d)).call(null,weathergen.ui.cloud_params));var k=weathergen.ui.common.path_lens.call(null,weathergen.ui.cloud_params,cljs.core._EQ_.call(null,m,new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574))?new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574)],null):e);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,
[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,5),new cljs.core.Keyword(null,"text-align","text-align",1786091845),"right"],null),function(){var l=new cljs.core.Delay(function(a,c,d,e,f,g,h,k,l){return function(){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.assoc.call(null,d,new cljs.core.Keyword(null,"width","width",-384071477),cljs.core._EQ_.call(null,e,new cljs.core.Keyword(null,"visibility",
"visibility",1338380893))?weathergen.ui.common.px.call(null,35):weathergen.ui.common.px.call(null,55)),javelin.core.formula.call(null,function(a,c,d,e,f,g,h,k,l){return function(a){return cljs.core._EQ_.call(null,e,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?weathergen.ui.format_visibility.call(null,a):""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)}}(a,c,d,e,f,g,h,k,l)).call(null,a))}}(k,e,h,m,g,f,a,c,d),null),n=new cljs.core.Delay(function(a,c,d,e,f,g,h,k,l,m){return function(){return weathergen.ui.validating_edit.call(null,
new cljs.core.Keyword(null,"source","source",-433931539),c,new cljs.core.Keyword(null,"fmt","fmt",332300772),cljs.core._EQ_.call(null,f,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?weathergen.ui.format_visibility:cljs.core.str,new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.cloud_param_conformer.call(null,weathergen.ui.cloud_params,f,k),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),cljs.core.truth_(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,
"visibility","visibility",1338380893),f))?"vis (nm)":"altitude",new cljs.core.Keyword(null,"align","align",1964212802),"right",new cljs.core.Keyword(null,"width","width",-384071477),cljs.core._EQ_.call(null,f,new cljs.core.Keyword(null,"visibility","visibility",1338380893))?35:55)}}(l,k,e,h,m,g,f,a,c,d),null),p=function(a,c,d,e,f,g,h,k,l,m,n){return function(d){return cljs.core.deref.call(null,function(){var e=cljs.core.truth_(d)?a:c;return cljs.core.truth_(e)?e:cljs.core.atom.call(null)}())}}(l,
n,k,e,h,m,g,f,a,c,d);return javelin.core.formula.call(null,p).call(null,javelin.core.formula.call(null,function(a,c,d,e,f,g,h,k,l,m,n,p){return function(a,c){return a.call(null,c,new cljs.core.Keyword(null,"briefing","briefing",-176308969))}}(l,n,p,k,e,h,m,g,f,a,c,d)).call(null,cljs.core._EQ_,weathergen.ui.display_mode))}())}()),r.call(null,cljs.core.rest.call(null,g)))}return null}}}(a,c,d),null,null)}}(l,f,d).call(null,new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"visibility","visibility",1338380893),new cljs.core.Keyword(null,"stratus-base","stratus-base",-1631962478),new cljs.core.Keyword(null,"stratus-top","stratus-top",784220574),new cljs.core.Keyword(null,"cumulus-base","cumulus-base",-578210868),new cljs.core.Keyword(null,"contrails","contrails",1430581743)],null))}()),c.call(null,cljs.core.rest.call(null,f)))}return null}},null,null)}.call(null,new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"sunny","sunny",1448267778),new cljs.core.Keyword(null,"fair","fair",1684139423),new cljs.core.Keyword(null,"poor","poor",1462482211),new cljs.core.Keyword(null,"inclement","inclement",-550669382)],null))}())))};
weathergen.ui.advanced_controls=function(a){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"advanced-params-section",new cljs.core.Keyword(null,"title","title",636505583),"Advanced configuration",new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,c){return a.call(null,c,new cljs.core.Keyword(null,"edit","edit",-1641834166))}).call(null,cljs.core._EQ_,weathergen.ui.display_mode),weathergen.ui.control_layout.call(null,
new cljs.core.PersistentVector(null,9,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["X Offset",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"origin","origin",1037372088),0],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"help-path","help-path",840478713),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"origin","origin",1037372088),new cljs.core.Keyword(null,"x","x",2099068185)],null)],null)],null),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["Y Offset",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"origin","origin",1037372088),1],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"help-path","help-path",840478713),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"origin","origin",1037372088),new cljs.core.Keyword(null,"y","y",-1757859776)],null)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["T Offset",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"offset","offset",296498311)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Evolution",
new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"evolution","evolution",944820557)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Wind uniformity",new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"wind-uniformity","wind-uniformity",827531801)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Temp uniformity",
new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"temp-uniformity","temp-uniformity",836756864)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Warp strength",new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"turbulence","turbulence",-915506410),new cljs.core.Keyword(null,"power","power",-937852079)],null)],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,["Crossfade",new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"crossfade","crossfade",-118506406)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["Zoom",new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"feature-size","feature-size",-878734864)],null)],null)],null)))};
weathergen.ui.step_controls=function(a){var b=javelin.core.formula.call(null,function(a,b){return a.call(null,b)}).call(null,weathergen.falcon.files.mission.mission_time,weathergen.ui.mission),c=javelin.core.formula.call(null,function(a){return function(a,b){return b.call(null,(new cljs.core.Keyword(null,"max","max",61366548)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(a)))}}(b)).call(null,weathergen.ui.weather_params,weathergen.time.campaign_time__GT_minutes),
d=javelin.core.formula.call(null,function(a,b){return function(a,b){return b.call(null,(new cljs.core.Keyword(null,"current","current",-1088038603)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"time","time",1385887882)).cljs$core$IFn$_invoke$arity$1(a)))}}(b,c)).call(null,weathergen.ui.weather_params,weathergen.time.campaign_time__GT_minutes);return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"time-location-params",new cljs.core.Keyword(null,
"title","title",636505583),"Time controls",hoplon.core.table.call(null,hoplon.core.tbody.call(null,hoplon.core.tr.call(null,hoplon.core.td.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-params","weather-params",-259271365),new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"falcon-time","falcon-time",34959931)],null),"Falcon time: ")),hoplon.core.td.call(null,
javelin.core.formula.call(null,function(a,b,c){return function(a,b){return b.call(null,a)}}(b,c,d)).call(null,b,weathergen.ui.common.format_time)),hoplon.core.td.call(null,weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c){return function(){return weathergen.ui.jump_to_time_STAR_.call(null,cljs.core.deref.call(null,a))}}(b,c,d),"Jump to"))),function(){var a=new cljs.core.Delay(function(a,b,c){return function(){return hoplon.core.tr.call(null,
hoplon.core.td.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"weather-params","weather-params",-259271365),new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"browse-time","browse-time",832671504)],null),"Time")),hoplon.core.td.call(null,weathergen.ui.time_entry.call(null,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.weather_params,new cljs.core.Keyword(null,
"path","path",-188191168),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"time","time",1385887882),new cljs.core.Keyword(null,"current","current",-1088038603)],null))))}}(b,c,d),null),f=new cljs.core.Delay(function(a,b,c,d){return function(){return hoplon.core.tr.call(null,hoplon.core.td.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"displayed-time",
"displayed-time",141846012)],null),"Time")),hoplon.core.td.call(null,weathergen.ui.time_entry.call(null,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.time_params,new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"displayed","displayed",-436192586)],null))),hoplon.core.td.call(null,weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),
weathergen.ui.jump_to_time,"Jump to"),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d){return function(a,b){return a.call(null,b,new cljs.core.Keyword(null,"edit","edit",-1641834166))}}(a,b,c,d)).call(null,cljs.core._EQ_,weathergen.ui.display_mode),new cljs.core.Keyword(null,"click","click",1912301393),weathergen.ui.set_time,"Set to")))}}(a,b,c,d),null),g=function(a,b,c,d,e){return function(c){return cljs.core.deref.call(null,
function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(a,f,b,c,d);return javelin.core.formula.call(null,g).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a,b){return a.call(null,b,new cljs.core.Keyword(null,"browse","browse",2070502601))}}(a,f,g,b,c,d)).call(null,cljs.core._EQ_,weathergen.ui.display_mode))}(),hoplon.core.tr.call(null,cljs.core.map.call(null,hoplon.core.td,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"step","step",1288888124)],null),"Step interval"),weathergen.ui.validating_edit.call(null,new cljs.core.Keyword(null,"width","width",-384071477),50,new cljs.core.Keyword(null,"source","source",-433931539),javelin.core.formula.call(null,function(a,b,c){return function(a){return(new cljs.core.Keyword(null,"step","step",1288888124)).cljs$core$IFn$_invoke$arity$1(a)}}(b,
c,d)).call(null,weathergen.ui.movement_params),new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.conform_positive_integer,new cljs.core.Keyword(null,"update","update",1045576396),function(a,b,c){return function(a){return cljs.core.swap_BANG_.call(null,weathergen.ui.movement_params,cljs.core.assoc,new cljs.core.Keyword(null,"step","step",1288888124),a)}}(b,c,d),new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),"e.g. 60",new cljs.core.Keyword(null,"fmt","fmt",
332300772),cljs.core.str)],null))))),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"title","title",636505583),"Step back in time",new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c){return function(){return weathergen.ui.move.call(null,-1)}}(b,c,d),"\x3c\x3c Step Back"),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"title","title",636505583),javelin.core.formula.call(null,function(a,b,c){return function(a){return cljs.core.truth_((new cljs.core.Keyword(null,
"looping?","looping?",78344245)).cljs$core$IFn$_invoke$arity$1(a))?"Stop weather animation":"Animate weather"}}(b,c,d)).call(null,weathergen.ui.movement_params),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c){return function(){return cljs.core.truth_((new cljs.core.Keyword(null,"looping?","looping?",78344245)).cljs$core$IFn$_invoke$arity$1(cljs.core.swap_BANG_.call(null,weathergen.ui.movement_params,cljs.core.update,new cljs.core.Keyword(null,"looping?","looping?",78344245),
cljs.core.not)))?weathergen.ui.recompute.call(null,cljs.core.deref.call(null,weathergen.ui.weather_params)):null}}(b,c,d),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c){return function(a){return cljs.core.truth_((new cljs.core.Keyword(null,"looping?","looping?",78344245)).cljs$core$IFn$_invoke$arity$1(a))?new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"border","border",1444987323),"5px solid black",
new cljs.core.Keyword(null,"transform","transform",1381301764),"",new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),"2px"],null):new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"border-left","border-left",-1150760178),"5px solid transparent",new cljs.core.Keyword(null,"border-right","border-right",-668932860),"5px solid transparent",new cljs.core.Keyword(null,"border-top","border-top",-158897573),
"7px solid black",new cljs.core.Keyword(null,"border-bottom","border-bottom",2110948415),"",new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"transform","transform",1381301764),"rotate(-90deg)"],null)}}(b,c,d)).call(null,weathergen.ui.movement_params),"")),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c){return function(a,b,c){return cljs.core._EQ_.call(null,
c,new cljs.core.Keyword(null,"edit","edit",-1641834166))||b<a}}(b,c,d)).call(null,c,d,weathergen.ui.display_mode),new cljs.core.Keyword(null,"title","title",636505583),"Step forward in time",new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c){return function(){return weathergen.ui.move.call(null,1)}}(b,c,d),"Step Forward \x3e\x3e"))};
weathergen.ui.serialization_controls=function(a){var b=function(){var a=function(a,b){return cljs.core.apply.call(null,hoplon.core.div,new cljs.core.Keyword(null,"css","css",1135045163),cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"5px"],null),a),b)},b=function(b,c){var d=null;if(1<arguments.length){for(var d=0,e=Array(arguments.length-
1);d<e.length;)e[d]=arguments[d+1],++d;d=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,b,d)};b.cljs$lang$maxFixedArity=1;b.cljs$lang$applyTo=function(b){var c=cljs.core.first(b);b=cljs.core.rest(b);return a(c,b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a){return function(a,b){return a.call(null,b,new cljs.core.Keyword(null,"edit",
"edit",-1641834166))}}(b)).call(null,cljs.core._EQ_,weathergen.ui.display_mode),new cljs.core.Keyword(null,"id","id",-1388402092),"load-save-controls",new cljs.core.Keyword(null,"title","title",636505583),"Load/save",cljs.core.not.call(null,weathergen.ui.safari_QMARK_)?cljs.core.PersistentVector.EMPTY:function(){var a=function(a){return function(){var a=function(a){return hoplon.core.p.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"margin-bottom","margin-bottom",388334941),"3px",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),"3px"],null),a)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(b);return hoplon.core.div.call(null,new cljs.core.Keyword(null,
"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"80%"],null),a.call(null,"Due to a bug in Safari, settings files will open in a new\n        tab Use the browser's File-\x3eSave As to save the file. Be sure\n        to select 'Page Source' for the format. "),a.call(null,"Due to the same bug, all other files will download with\n        name 'Unknown'. For these, once downloaded rename it with the\n        appropriate extension: .fmap for FMAPs, .twx for TWX files,\n        and .zip for weather packages."),
a.call(null,"Better still, don't use Safari. This application works\n        best in Chrome, but has also been tested in Firefox and\n        Internet Explorer."))}(),weathergen.ui.control_subsection.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"serialization-controls","serialization-controls",-789590644),new cljs.core.Keyword(null,"save-single-files",
"save-single-files",-947469927)],null),"Load/Save individual files"),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"display","display",242065432),"flex",new cljs.core.Keyword(null,"flex-direction","flex-direction",364609438),"row",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle"],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"button-container",
weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a){return function(){return weathergen.ui.save_fmap.call(null,cljs.core.deref.call(null,weathergen.ui.weather_params),cljs.core.deref.call(null,weathergen.ui.weather_data))}}(b),"Save Current as FMAP")),hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"button-container",weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),
function(a){return function(){return weathergen.ui.save_twx.call(null,cljs.core.deref.call(null,weathergen.ui.cloud_params),(new cljs.core.Keyword(null,"direction","direction",-633359395)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.movement_params)),(new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.mission)))}}(b),"Save .TWX")),hoplon.core.div.call(null,new cljs.core.Keyword(null,
"class","class",-2030961996),"button-container",weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),weathergen.ui.save_weather_settings,"Save Weather Settings")),hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"button-container",weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),weathergen.ui.load_weather_settings,"Load Weather Settings")))),weathergen.ui.control_subsection.call(null,
new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a){return function(a){return cljs.core.not.call(null,null==a)}}(b)).call(null,weathergen.ui.mission),new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"serialization-controls","serialization-controls",-789590644),new cljs.core.Keyword(null,"multi-save","multi-save",
-1814543541),new cljs.core.Keyword(null,"overview","overview",-435037267)],null),"Save mission weather files"),function(){var a=function(a){return function(){var a=function(a,b,c,d){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"display","display",242065432),"flex",new cljs.core.Keyword(null,"flex-direction","flex-direction",364609438),"row",new cljs.core.Keyword(null,"margin","margin",-995903681),
"0 2px 3px 2px"],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"nowrap",new cljs.core.Keyword(null,"width","width",-384071477),"50px",new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),"3px"],null),weathergen.help.with_help.call(null,b,a)),c,d)},b=function(b,c,d,e){var f=null;if(3<arguments.length){for(var f=0,g=Array(arguments.length-3);f<
g.length;)g[f]=arguments[f+3],++f;f=new cljs.core.IndexedSeq(g,0,null)}return a.call(this,b,c,d,f)};b.cljs$lang$maxFixedArity=3;b.cljs$lang$applyTo=function(b){var c=cljs.core.first(b);b=cljs.core.next(b);var d=cljs.core.first(b);b=cljs.core.next(b);var e=cljs.core.first(b);b=cljs.core.rest(b);return a(c,d,e,b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(b);return new cljs.core.PersistentVector(null,5,5,cljs.core.PersistentVector.EMPTY_NODE,[a.call(null,"Mission:",new cljs.core.PersistentVector(null,
3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"serialization-controls","serialization-controls",-789590644),new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)],null),hoplon.core.div.call(null,javelin.core.formula.call(null,function(a,b){return function(a){a=(new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)).cljs$core$IFn$_invoke$arity$1(a);return cljs.core.truth_(a)?a:"No Mission Loaded"}}(a,
b)).call(null,weathergen.ui.mission))),a.call(null,"From:",new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"serialization-controls","serialization-controls",-789590644),new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.Keyword(null,"from","from",1815293044)],null),weathergen.ui.time_entry.call(null,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.display_params,new cljs.core.Keyword(null,
"path","path",-188191168),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.Keyword(null,"from","from",1815293044)],null)),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),"14px"],null),new cljs.core.Keyword(null,"toggle","toggle",1291842030),
javelin.core.formula.call(null,function(a,b){return function(a){return cljs.core.not.call(null,null==a)}}(a,b)).call(null,weathergen.ui.mission),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b){return function(){return cljs.core.swap_BANG_.call(null,weathergen.ui.display_params,cljs.core.assoc_in,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.Keyword(null,"from","from",
1815293044)],null),weathergen.falcon.files.mission.mission_time.call(null,cljs.core.deref.call(null,weathergen.ui.mission)))}}(a,b),"Set to mission time")),a.call(null,"To:",new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"serialization-controls","serialization-controls",-789590644),new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.Keyword(null,"to","to",192099007)],null),weathergen.ui.time_entry.call(null,new cljs.core.Keyword(null,
"source","source",-433931539),weathergen.ui.display_params,new cljs.core.Keyword(null,"path","path",-188191168),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.Keyword(null,"to","to",192099007)],null))),a.call(null,"Step:",new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"serialization-controls","serialization-controls",-789590644),
new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.Keyword(null,"step","step",1288888124)],null),weathergen.ui.validating_edit.call(null,new cljs.core.Keyword(null,"width","width",-384071477),32,new cljs.core.Keyword(null,"source","source",-433931539),weathergen.ui.common.path_lens.call(null,weathergen.ui.display_params,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.Keyword(null,
"step","step",1288888124)],null)),new cljs.core.Keyword(null,"conform","conform",1846236460),weathergen.ui.conform_positive_integer,new cljs.core.Keyword(null,"fmt","fmt",332300772),cljs.core.str,new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),"60")),function(){var c=javelin.core.cell.call(null,null),e=javelin.core.cell.call(null,!1),f=javelin.core.cell.call(null,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[weathergen.ui.buttons.a_button.call(null,
new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e){return function(a,b){var c=cljs.core.PersistentArrayMap,d=new cljs.core.Keyword(null,"width","width",-384071477),e=new cljs.core.Keyword(null,"display","display",242065432),f=new cljs.core.Keyword(null,"text-align","text-align",1786091845),g=new cljs.core.Keyword(null,"background","background",-863952629);if(cljs.core.not.call(null,b)&&null!=a){var h=cljs.core.long$.call(null,100*a);h=goog.string.format("linear-gradient(to right, lightblue, lightblue %f%%, white %f%%)",
h,h)}else h=null;return new c(null,4,[d,"115px",e,"inline-block",f,"center",g,h],null)}}(c,e,f,a,b)).call(null,c,e),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e){return function(){if(cljs.core.truth_(cljs.core.deref.call(null,a)))return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e){return function(){return cljs.core.reset_BANG_.call(null,b,!0)}}(a,b,c,d,e));cljs.core.reset_BANG_.call(null,b,!1);cljs.core.reset_BANG_.call(null,c,null);return weathergen.ui.save_weather_files.call(null,
cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"mission-name","mission-name",1479736582),new cljs.core.Keyword(null,"cloud-params","cloud-params",-540447983),new cljs.core.Keyword(null,"nx","nx",-1996436366),new cljs.core.Keyword(null,"save-file","save-file",-250442926),new cljs.core.Keyword(null,"from","from",1815293044),new cljs.core.Keyword(null,"campaign-dir","campaign-dir",-1278307883),new cljs.core.Keyword(null,"weather-direction","weather-direction",-1789808873),new cljs.core.Keyword(null,
"cancel","cancel",-1964088360),new cljs.core.Keyword(null,"ny","ny",1701791641),new cljs.core.Keyword(null,"progress","progress",244323547),new cljs.core.Keyword(null,"weather-params","weather-params",-259271365),new cljs.core.Keyword(null,"step","step",1288888124),new cljs.core.Keyword(null,"to","to",192099007)],[(new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.mission)),cljs.core.deref.call(null,weathergen.ui.cloud_params),
cljs.core.first.call(null,(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params))),c,cljs.core.get_in.call(null,cljs.core.deref.call(null,weathergen.ui.display_params),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.Keyword(null,"from","from",1815293044)],null)),weathergen.falcon.files.mission.campaign_dir.call(null,
cljs.core.deref.call(null,weathergen.ui.mission)),(new cljs.core.Keyword(null,"direction","direction",-633359395)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.movement_params)),b,cljs.core.second.call(null,(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params))),a,cljs.core.deref.call(null,weathergen.ui.weather_params),cljs.core.get_in.call(null,cljs.core.deref.call(null,weathergen.ui.display_params),
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.Keyword(null,"step","step",1288888124)],null)),cljs.core.get_in.call(null,cljs.core.deref.call(null,weathergen.ui.display_params),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"multi-save","multi-save",-1814543541),new cljs.core.Keyword(null,"to","to",192099007)],null))]))}}(c,e,f,
a,b),javelin.core.formula.call(null,function(a,b,c,d,e){return function(a,b){return cljs.core.truth_(cljs.core.truth_(a)?b:a)?"Cancelling...":cljs.core.truth_(a)?"Cancel":"Save Weather Files"}}(c,e,f,a,b)).call(null,c,e)),function(){var d=new cljs.core.Delay(function(a,b,c,d,e){return function(){return weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),"5px"],
null),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"5px"],null),"Saving"),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"font-family","font-family",-667419874),"monospace",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"120%"],null),c))}}(c,e,
f,a,b),null),h=new cljs.core.Delay(function(a,b,c,d,e,f){return function(){return null}}(d,c,e,f,a,b),null),k=function(a,b,c,d,e,f,g){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(d,h,c,e,f,a,b);return javelin.core.formula.call(null,k).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a,b){return cljs.core.truth_(a)?b:a}}(d,h,k,c,e,f,a,b)).call(null,c,f))}()],
null)}()],null)}()))};weathergen.ui.debug_info=function(){return null};cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"viewBox","viewBox",-469489477),function(a,b,c){return cljs.core._EQ_.call(null,!1,c)?a.removeAttribute("viewBox"):a.setAttribute("viewBox",c)});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"xlink-href","xlink-href",244956585),function(a,b,c){return cljs.core._EQ_.call(null,!1,c)?a.removeAttributeNS("http://www.w3.org/1999/xlink","href"):a.setAttributeNS("http://www.w3.org/1999/xlink","href",c)});
cljs.core._add_method.call(null,hoplon.core.do_BANG_,new cljs.core.Keyword(null,"preserveAspectRatio","preserveAspectRatio",1832131817),function(a,b,c){return cljs.core._EQ_.call(null,!1,c)?a.removeAttribute("preserveAspectRatio"):a.setAttribute("preserveAspectRatio",c)});
weathergen.ui.test_section=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),"Test",weathergen.ui.tabs.tabs.call(null,new cljs.core.Keyword(null,"selected","selected",574897764),javelin.core.cell.call(null,new cljs.core.Keyword(null,"one","one",935007904)),new cljs.core.Keyword(null,
"tabs","tabs",-779855354),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),"Version",new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"one","one",935007904),new cljs.core.Keyword(null,"ui","ui",-469653645),hoplon.core.div.call(null,javelin.core.formula.call(null,function(a,b){return function(a,b){return a.call(null,b,"VERSION")}}(a,b)).call(null,
cljs.core.get,weathergen.ui.build_info))],null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),"App Path",new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"two","two",627606869),new cljs.core.Keyword(null,"ui","ui",-469653645),hoplon.core.div.call(null,weathergen.ui.electron.remote.app.getAppPath())],null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),"Three",new cljs.core.Keyword(null,
"id","id",-1388402092),new cljs.core.Keyword(null,"three","three",-1651831795),new cljs.core.Keyword(null,"ui","ui",-469653645),function(){var c=javelin.core.cell.call(null,new cljs.core.Keyword(null,"a","a",-2123407586));return hoplon.core.div.call(null,weathergen.ui.common.radio_group.call(null,new cljs.core.Keyword(null,"value","value",305978217),c,new cljs.core.Keyword(null,"choices","choices",1385611597),javelin.core.cell.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"a","a",-2123407586),new cljs.core.Keyword(null,"label","label",1718410804),"a"],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"b","b",1482224470),new cljs.core.Keyword(null,"label","label",1718410804),"b"],null)],null))),hoplon.core.div.call(null,javelin.core.formula.call(null,function(a,b,c){return function(a,
b){return[cljs.core.str.cljs$core$IFn$_invoke$arity$1("value: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.call(null,a))].join("")}}(c,a,b)).call(null,c,cljs.core.pr_str)))}()],null)],null)))};
weathergen.ui.select2=function(){var a=function(a){a=hoplon.core.parse_args.call(null,a);var b=cljs.core.nth.call(null,a,0,null),c=cljs.core.nth.call(null,a,1,null),f=hoplon.core.select.call(null,b,c);hoplon.core.when_dom.call(null,f,function(a,b,c,d){return function(){return jQuery(a).select2()}}(f,a,b,c));return f},b=function(b){var c=null;if(0<arguments.length){for(var c=0,e=Array(arguments.length-0);c<e.length;)e[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(e,0,null)}return a.call(this,c)};
b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}();
weathergen.ui.airbase_squadrons=function(a,b){return javelin.core.formula.call(null,function(a,b){return cljs.core.sort_by.call(null,cljs.core.juxt.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-type","weathergen.falcon.files.mission/squadron-type",1124226793),new cljs.core.Keyword(null,"name","name",1843675177)),(new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110)).cljs$core$IFn$_invoke$arity$1(b))}).call(null,
a,b)};
weathergen.ui.airbase_display_controls=function(a){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"display-options","display-options",1066052168),new cljs.core.Keyword(null,"overview","overview",-435037267)],null),a),function(){var a=weathergen.ui.common.path_lens.call(null,
weathergen.ui.map_display,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"airbase-label-style","airbase-label-style",-1349798514)],null));return hoplon.core.div.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"display-options","display-options",1066052168),new cljs.core.Keyword(null,
"airbase-labels","airbase-labels",580409100)],null),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,0,5)],null),hoplon.core.label.call(null,"Airbase labels:")),weathergen.ui.common.dropdown.call(null,new cljs.core.Keyword(null,"value","value",305978217),a,new cljs.core.Keyword(null,"choices","choices",1385611597),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"label","label",1718410804),"Airbase name only",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"name-only","name-only",-124386571)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"label","label",1718410804),"Airbase name and squadrons",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"all","all",892129742)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"label","label",1718410804),"No label",new cljs.core.Keyword(null,"value","value",305978217),new cljs.core.Keyword(null,"nothing","nothing",-1022703296)],null)],null)))}(),function(){var a=weathergen.ui.common.path_lens.call(null,weathergen.ui.map_display,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"show-airbase-status?","show-airbase-status?",-2059784435)],null));return hoplon.core.div.call(null,hoplon.core.input.call(null,new cljs.core.Keyword(null,
"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"value","value",305978217),a,new cljs.core.Keyword(null,"change","change",-1163046502),function(a){return function(){return cljs.core.swap_BANG_.call(null,a,cljs.core.not)}}(a)),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"display-options","display-options",1066052168),new cljs.core.Keyword(null,
"show-airbase-status?","show-airbase-status?",-2059784435)],null),hoplon.core.label.call(null,"Show airbase status?")))}(),function(){var a=weathergen.ui.common.path_lens.call(null,weathergen.ui.map_display,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"show-airbase-squadrons?","show-airbase-squadrons?",1245487954)],null));return hoplon.core.div.call(null,hoplon.core.input.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"checkbox",
new cljs.core.Keyword(null,"value","value",305978217),a,new cljs.core.Keyword(null,"change","change",-1163046502),function(a){return function(){return cljs.core.swap_BANG_.call(null,a,cljs.core.not)}}(a)),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"display-options","display-options",1066052168),new cljs.core.Keyword(null,"show-airbase-squadrons?",
"show-airbase-squadrons?",1245487954)],null),hoplon.core.label.call(null,"Show airbase squadrons?")))}())};
weathergen.ui.air_forces_section=function(a){a=javelin.core.cell.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"expand-through-level","expand-through-level",-1840001384),1],null));var b=function(a){return function(){var a=function(a){return cljs.core.apply.call(null,hoplon.core.div,new cljs.core.Keyword(null,"class","class",-2030961996),"row",a)},b=function(b){var c=null;if(0<arguments.length){for(var c=0,d=Array(arguments.length-
0);c<d.length;)d[c]=arguments[c+0],++c;c=new cljs.core.IndexedSeq(d,0,null)}return a.call(this,c)};b.cljs$lang$maxFixedArity=0;b.cljs$lang$applyTo=function(b){b=cljs.core.seq(b);return a(b)};b.cljs$core$IFn$_invoke$arity$variadic=a;return b}()}(a),c=new cljs.core.Delay(function(a,b){return function(){return"No mission loaded"}}(a,b),null),d=new cljs.core.Delay(function(a,b,c){return function(){return"No airbases present in the mission."}}(c,a,b),null),e=new cljs.core.Delay(function(a,b,c,d){return function(){return weathergen.ui.common.styled.call(null,
new cljs.core.Keyword(null,"garden","garden",-1966516149),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div.row","div.row",133678515),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),"3px"],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"button","button",1456579943),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px"],null)],null)],null),weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"airbase-filtering","airbase-filtering",
-1721186951)],null),"Airbase Filtering"),d.call(null,hoplon.core.input.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"value","value",305978217),weathergen.ui.hide_empty_airbases_QMARK_,new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d){return function(){return cljs.core.swap_BANG_.call(null,weathergen.ui.hide_empty_airbases_QMARK_,cljs.core.not)}}(a,b,c,d)),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"hide-no-squadron-airbases","hide-no-squadron-airbases",-1359048131)],null),hoplon.core.label.call(null,"Hide airbases with no squadrons"))),d.call(null,hoplon.core.input.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"value","value",305978217),weathergen.ui.hide_inoperable_airbases_QMARK_,new cljs.core.Keyword(null,
"change","change",-1163046502),function(a,b,c,d){return function(){return cljs.core.swap_BANG_.call(null,weathergen.ui.hide_inoperable_airbases_QMARK_,cljs.core.not)}}(a,b,c,d)),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"hide-zero-status-airbases","hide-zero-status-airbases",1840033965)],null),hoplon.core.label.call(null,"Hide airbases at 0% status")))),
weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"squadron-types","squadron-types",1890788688)],null),"Squadron Types"),d.call(null,weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,
c,d){return function(){return cljs.core.reset_BANG_.call(null,weathergen.ui.included_squadron_types,cljs.core.deref.call(null,weathergen.ui.all_squadron_types))}}(a,b,c,d),"Check all"),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d){return function(){return cljs.core.reset_BANG_.call(null,weathergen.ui.included_squadron_types,cljs.core.PersistentHashSet.EMPTY)}}(a,b,c,d),"Uncheck all"),weathergen.help.help_icon.call(null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"squadron-type-buttons","squadron-type-buttons",-151353966)],null))),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"display","display",242065432),"flex",new cljs.core.Keyword(null,"flex-wrap","flex-wrap",455413707),"wrap",new cljs.core.Keyword(null,"max-width","max-width",
-1939924051),weathergen.ui.common.px.call(null,275)],null),hoplon.core.loop_tpl_STAR_.call(null,javelin.core.formula.call(null,function(a,b,c,d){return function(a,b){return a.call(null,b)}}(a,b,c,d)).call(null,cljs.core.sort,weathergen.ui.all_squadron_types),function(a,b,c,d){return function(e){var f=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[a],null)}}(a,b,c,d)).call(null,e)),g=cljs.core.nth.call(null,f,0,null);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,75),new cljs.core.Keyword(null,"white-space","white-space",-707351930),"nowrap"],null),function(){var e=javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a,b,c){return a.call(null,c,b)}}(f,g,a,b,c,
d)).call(null,cljs.core.contains_QMARK_,g,weathergen.ui.included_squadron_types);return hoplon.core.input.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"value","value",305978217),e,new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c,d,e,f,g){return function(){return cljs.core.swap_BANG_.call(null,weathergen.ui.included_squadron_types,cljs.core.truth_(cljs.core.deref.call(null,a))?cljs.core.disj:cljs.core.conj,cljs.core.deref.call(null,
c))}}(e,f,g,a,b,c,d))}(),hoplon.core.label.call(null,g))}}(a,b,c,d)))),weathergen.ui.airbase_display_controls.call(null,"Display Options"),weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"airbases-and-squadrons","airbases-and-squadrons",396705313)],
null),"Airbases and Squadrons"),d.call(null,weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d){return function(){return cljs.core.reset_BANG_.call(null,c,new cljs.core.Keyword(null,"all-expanded","all-expanded",1437674225))}}(a,b,c,d),"Expand all"),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d){return function(){return cljs.core.reset_BANG_.call(null,c,new cljs.core.Keyword(null,
"all-collapsed","all-collapsed",437702622))}}(a,b,c,d),"Collapse all"),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d){return function(){return cljs.core.reset_BANG_.call(null,c,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"expand-through-level","expand-through-level",-1840001384),1],null))}}(a,b,c,d),"Collapse to airbases"),weathergen.help.help_icon.call(null,new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"tree-collapse-buttons","tree-collapse-buttons",-1065929796)],null))),d.call(null,weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d){return function(){return cljs.core.reset_BANG_.call(null,weathergen.ui.checked_airbases,cljs.core.deref.call(null,weathergen.ui.listed_airbases))}}(a,b,c,d),"Show all"),
weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d){return function(){return cljs.core.reset_BANG_.call(null,weathergen.ui.checked_airbases,cljs.core.PersistentHashSet.EMPTY)}}(a,b,c,d),"Hide all"),weathergen.help.help_icon.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"air-forces","air-forces",-1539372068),new cljs.core.Keyword(null,"airbase-selection-buttons","airbase-selection-buttons",
-991641834)],null))),d.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"overflow","overflow",2058931880),"scroll",new cljs.core.Keyword(null,"font-family","font-family",-667419874),"monospace",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"120%",new cljs.core.Keyword(null,"background","background",-863952629),"white",new cljs.core.Keyword(null,"border","border",1444987323),"inset 1px lightgray"],null),
function(){var e=javelin.core.formula.call(null,function(a,b,c,d){return function(e,f){return cljs.core.group_by.call(null,function(a,b,c,d){return function(a){return weathergen.falcon.files.mission.side.call(null,e,(new cljs.core.Keyword(null,"owner","owner",-392611939)).cljs$core$IFn$_invoke$arity$1(a))}}(a,b,c,d),f)}}(a,b,c,d)).call(null,weathergen.ui.mission,weathergen.ui.all_airbases),f=javelin.core.formula.call(null,function(a,b,c,d,e){return function(f,g){var h=console.time("Updating air forces tree"),
k=function(){return function(a,b,c,d,e,f,h){return function L(k){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,h){return function(){for(var a=k;;)if(a=cljs.core.seq.call(null,a)){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,c);a:for(var e=0;;)if(e<c){var f=cljs.core._nth.call(null,b,e),h=cljs.core.get.call(null,g,f);0<cljs.core.count.call(null,h)&&cljs.core.chunk_append.call(null,d,
new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[f,h],null));e+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),L.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}d=cljs.core.first.call(null,a);b=cljs.core.get.call(null,g,d);if(0<cljs.core.count.call(null,b))return cljs.core.cons.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[d,b],null),L.call(null,cljs.core.rest.call(null,a)));a=cljs.core.rest.call(null,a)}else return null}}(a,b,c,d,e,f,h),null,null)}}("Updating air forces tree",h,a,b,c,d,e).call(null,weathergen.falcon.files.mission.sides.call(null,f))}();console.timeEnd("Updating air forces tree");return k}}(e,a,b,c,d)).call(null,weathergen.ui.mission,e);return weathergen.ui.trees.tree.call(null,c,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,
[new cljs.core.Keyword(null,"formatter","formatter",-483008823),function(a,b,c,d,e,f){return function(g,h){var k=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(a,b,c,d,e,f)).call(null,h)),l=cljs.core.nth.call(null,k,0,null),m=cljs.core.nth.call(null,
k,1,null);return weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b){return a.call(null,"air-forces-side-%d",b)}}(k,l,m,a,b,c,d,e,f)).call(null,goog.string.format,m),new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a){return new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"height","height",
1025178622),"20px",new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"3px",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),"4px",new cljs.core.Keyword(null,"color","color",1011675173),weathergen.ui.common.team_color.call(null,a,new cljs.core.Keyword(null,"dark-text","dark-text",814777253))],null)}}(k,l,m,a,b,c,d,e,f)).call(null,m),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,
b){return weathergen.ui.common.side_label.call(null,new cljs.core.Keyword(null,"mission","mission",1740288522),a,new cljs.core.Keyword(null,"side","side",389652279),b)}}(k,l,m,a,b,c,d,e,f)).call(null,weathergen.ui.mission,m))}}(e,f,a,b,c,d),new cljs.core.Keyword(null,"children","children",-940561982),function(a,b,c,d,e,f){return function(g){return javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(g,h){var k=cljs.core.nth.call(null,g,0,null),l=cljs.core.nth.call(null,g,1,null);return cljs.core.sort_by.call(null,
function(a,b,c,d,e,f,g,k,l){return function(a){return weathergen.falcon.files.mission.objective_name.call(null,h,a)}}(g,k,l,a,b,c,d,e,f),l)}}(a,b,c,d,e,f)).call(null,g,weathergen.ui.mission)}}(e,f,a,b,c,d)],null),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"attrs","attrs",-2090668713),function(a,b,c,d,e,f){return function(g){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,
d,e,f){return function(a,b){return b.call(null,a)}}(a,b,c,d,e,f)).call(null,g,weathergen.ui.listed_airbases)],null)}}(e,f,a,b,c,d),new cljs.core.Keyword(null,"children","children",-940561982),function(a,b,c,d,e,f){return function(g){return javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a){return cljs.core.sort_by.call(null,cljs.core.juxt.call(null,new cljs.core.Keyword("weathergen.falcon.files.mission","squadron-type","weathergen.falcon.files.mission/squadron-type",1124226793),
new cljs.core.Keyword("weathergen.falcon.files.mission","name","weathergen.falcon.files.mission/name",1235339975)),(new cljs.core.Keyword("weathergen.falcon.files.mission","squadrons","weathergen.falcon.files.mission/squadrons",47769110)).cljs$core$IFn$_invoke$arity$1(a))}}(a,b,c,d,e,f)).call(null,g)}}(e,f,a,b,c,d),new cljs.core.Keyword(null,"formatter","formatter",-483008823),function(a,b,c,d,e,f){return function(g,h){var k=javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a){return(new cljs.core.Keyword("weathergen.falcon.files.mission",
"name","weathergen.falcon.files.mission/name",1235339975)).cljs$core$IFn$_invoke$arity$1(a)}}(a,b,c,d,e,f)).call(null,h),l=javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a){return(new cljs.core.Keyword("weathergen.falcon.files.mission","status","weathergen.falcon.files.mission/status",667063917)).cljs$core$IFn$_invoke$arity$1(a)}}(k,a,b,c,d,e,f)).call(null,h);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h){return function(a,b){return b.call(null,"air-forces-airbase-%d",(new cljs.core.Keyword(null,"camp-id","camp-id",618705690)).cljs$core$IFn$_invoke$arity$1(a))}}(k,l,a,b,c,d,e,f)).call(null,h,goog.string.format),new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a){return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"height",
"height",1025178622),"20px",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),"4px",new cljs.core.Keyword(null,"cursor","cursor",1011937484),"pointer"],null)}}(k,l,a,b,c,d,e,f)).call(null,g),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g,k){return function(){return javelin.core.dosync_STAR_.call(null,function(a,b,c,d,e,f,g,k){return function(){cljs.core.swap_BANG_.call(null,weathergen.ui.checked_airbases,weathergen.util.toggle_set_membership,cljs.core.deref.call(null,
h));return cljs.core.reset_BANG_.call(null,weathergen.ui.highlighted_airbase,cljs.core.deref.call(null,weathergen.ui.checked_airbases).call(null,cljs.core.deref.call(null,h)))}}(a,b,c,d,e,f,g,k))}}(k,l,a,b,c,d,e,f),new cljs.core.Keyword(null,"mouseenter","mouseenter",-1792413560),function(a,b,c,d,e,f,g,k){return function(){return cljs.core.reset_BANG_.call(null,weathergen.ui.highlighted_airbase,cljs.core.deref.call(null,h))}}(k,l,a,b,c,d,e,f),new cljs.core.Keyword(null,"mouseleave","mouseleave",531566580),
function(a,b,c,d,e,f,g,h){return function(){return cljs.core.reset_BANG_.call(null,weathergen.ui.highlighted_airbase,null)}}(k,l,a,b,c,d,e,f),hoplon.core.input.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"7px"],null),new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h){return function(a,b){return b.call(null,a)}}(k,l,a,b,c,d,e,f)).call(null,h,weathergen.ui.checked_airbases)),function(){return weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,25),new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,3),new cljs.core.Keyword(null,"text-align",
"text-align",1786091845),"center"],null),hoplon.core.img.call(null,new cljs.core.Keyword(null,"src","src",-1651076051),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b){return weathergen.ui.common.get_image.call(null,a,(new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210)).cljs$core$IFn$_invoke$arity$1(b))}}(25,k,l,a,b,c,d,e,f)).call(null,weathergen.ui.mission,h),new cljs.core.Keyword(null,"css","css",1135045163),
new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"max-width","max-width",-1939924051),weathergen.ui.common.px.call(null,25),new cljs.core.Keyword(null,"max-height","max-height",-612563804),weathergen.ui.common.px.call(null,25),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle"],null)))}(),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a){var b=
cljs.core.PersistentArrayMap,c=new cljs.core.Keyword(null,"width","width",-384071477),d=weathergen.ui.common.px.call(null,25),e=new cljs.core.Keyword(null,"height","height",1025178622),f=weathergen.ui.common.px.call(null,8),g=new cljs.core.Keyword(null,"margin-right","margin-right",809689658),h=weathergen.ui.common.px.call(null,5),k=new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),l=weathergen.ui.common.px.call(null,2),m=new cljs.core.Keyword(null,"vertical-align","vertical-align",
651007333),n=new cljs.core.Keyword(null,"border","border",1444987323),p=new cljs.core.Keyword(null,"background","background",-863952629),q=weathergen.ui.airbase_status_color.call(null,a);a=goog.string.format("linear-gradient(to right, %s, %s %f%%, white %f%%)",q,q,a,a);return new b(null,7,[c,d,e,f,g,h,k,l,m,"middle",n,"solid 1px black",p,a],null)}}(k,l,a,b,c,d,e,f)).call(null,l)),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,
b,c,d,e,f,g,h){return function(a,b){return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"color","color",1011675173),weathergen.ui.common.team_color.call(null,(new cljs.core.Keyword(null,"owner","owner",-392611939)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"dark-text","dark-text",814777253)),new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"10px",new cljs.core.Keyword(null,
"background","background",-863952629),cljs.core._EQ_.call(null,a,b)?"lightgoldenrodyellow":null],null)}}(k,l,a,b,c,d,e,f)).call(null,h,weathergen.ui.highlighted_airbase),k),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"5px"],null),hoplon.core.loop_tpl_STAR_.call(null,weathergen.ui.airbase_squadrons.call(null,weathergen.ui.mission,h),function(a,b,c,d,
e,f,g,h){return function(k){k=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h)).call(null,k));var l=cljs.core.nth.call(null,k,0,null);return hoplon.core.img.call(null,new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a,b){return b.call(null,
a)}}(k,l,a,b,c,d,e,f,g,h)).call(null,l,weathergen.ui.included_squadrons),new cljs.core.Keyword(null,"src","src",-1651076051),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l){return function(a,b){return weathergen.ui.common.get_image.call(null,a,(new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210)).cljs$core$IFn$_invoke$arity$1(b))}}(k,l,a,b,c,d,e,f,g,h)).call(null,weathergen.ui.mission,l),new cljs.core.Keyword(null,"css",
"css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"height","height",1025178622),"20px",new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),"3px",new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle"],null))}}(k,l,a,b,c,d,e,f))),hoplon.core.div.call(null,new cljs.core.Keyword(null,"toggle","toggle",1291842030),g,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,
"margin-left","margin-left",2015598377),"22px",new cljs.core.Keyword(null,"font-style","font-style",-773672352),"italic",new cljs.core.Keyword(null,"color","color",1011675173),"gray"],null),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a){return goog.string.format("Status: %d%%",a)}}(k,l,a,b,c,d,e,f)).call(null,l)))}}(e,f,a,b,c,d)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"attrs","attrs",-2090668713),function(a,b,c,d,e,f){return function(g){return new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"toggle","toggle",1291842030),javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a,b){return b.call(null,a)}}(a,b,c,d,e,f)).call(null,g,weathergen.ui.included_squadrons)],null)}}(e,f,a,b,c,d),new cljs.core.Keyword(null,"formatter","formatter",-483008823),function(a,b,c,d,e,f){return function(g,h){return weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a,
b){return a.call(null,"air-forces-squadron-%d",(new cljs.core.Keyword(null,"camp-id","camp-id",618705690)).cljs$core$IFn$_invoke$arity$1(b))}}(a,b,c,d,e,f)).call(null,goog.string.format,h),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"width","width",-384071477),"35px",new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center"],null),hoplon.core.img.call(null,new cljs.core.Keyword(null,
"src","src",-1651076051),javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a,b){return weathergen.ui.common.get_image.call(null,a,(new cljs.core.Keyword("weathergen.falcon.files.mission","image","weathergen.falcon.files.mission/image",-1683332210)).cljs$core$IFn$_invoke$arity$1(b))}}(a,b,c,d,e,f)).call(null,weathergen.ui.mission,h))),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,
"padding","padding",1660304693),"2px 4px 0 5px",new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),"3px",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),"3px"],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold"],null),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"7px"],null),javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a){return""+cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"quantity","quantity",-1929050694)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258)).cljs$core$IFn$_invoke$arity$1(a)))}}(a,b,c,d,e,f)).call(null,h)),weathergen.ui.common.inl.call(null,
javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a){return(new cljs.core.Keyword(null,"airframe","airframe",643222926)).cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword("weathergen.falcon.files.mission","aircraft","weathergen.falcon.files.mission/aircraft",774567258)).cljs$core$IFn$_invoke$arity$1(a))}}(a,b,c,d,e,f)).call(null,h))),hoplon.core.div.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a){return(new cljs.core.Keyword(null,"name","name",
1843675177)).cljs$core$IFn$_invoke$arity$1(a)}}(a,b,c,d,e,f)).call(null,h))))}}(e,f,a,b,c,d)],null)],null),f)}())))}}(c,d,a,b),null),f=function(a,b,c,d,e){return function(d,e,f){return cljs.core.deref.call(null,function(){var g=cljs.core.truth_(d)?a:cljs.core.truth_(e)?b:cljs.core.truth_(f)?c:null;return cljs.core.truth_(g)?g:cljs.core.atom.call(null)}())}}(c,d,e,a,b);return javelin.core.formula.call(null,f).call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a,b){return b.call(null,
a)}}(c,d,e,f,a,b)).call(null,weathergen.ui.mission,cljs.core.not),javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a,b){return 0===b.call(null,a)}}(c,d,e,f,a,b)).call(null,weathergen.ui.all_airbases,cljs.core.count),new cljs.core.Keyword(null,"else","else",-1508377146))};
weathergen.ui.order_of_battle_section=function(a){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),"Order of Battle",function(){var a=new cljs.core.Delay(function(){return"No mission loaded"},null),c=new cljs.core.Delay(function(a){return function(){var b=javelin.core.formula.call(null,function(a){return function(b,c,d,e,f){return d.call(null,function(a){return function(a,b,d){return f.call(null,a,b,c.call(null,new cljs.core.Keyword(null,
"type","type",1174270348),d))}}(a),cljs.core.PersistentArrayMap.EMPTY,c.call(null,function(a){return function(a){return b.call(null,e,(new cljs.core.Keyword(null,"owner","owner",-392611939)).cljs$core$IFn$_invoke$arity$1(a))}}(a),(new cljs.core.Keyword(null,"units","units",-533089095)).cljs$core$IFn$_invoke$arity$1(e)))}}(a)).call(null,weathergen.falcon.files.mission.side,cljs.core.group_by,cljs.core.reduce_kv,weathergen.ui.mission,cljs.core.assoc),c=javelin.core.cell.call(null,"");return hoplon.core.div.call(null,
hoplon.core.span.call(null,"Search:"),hoplon.core.input.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"text",new cljs.core.Keyword(null,"value","value",305978217),c,new cljs.core.Keyword(null,"change","change",-1163046502),function(a,b,c){return function(a){return cljs.core.reset_BANG_.call(null,b,cljs.core.deref.call(null,a))}}(b,c,a)),hoplon.core.ol.call(null,hoplon.core.loop_tpl_STAR_.call(null,b,function(a,b,c){return function(d){d=javelin.core.cell_map.call(null,cljs.core.identity,
javelin.core.formula.call(null,function(a,b,c){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(a,b,c)).call(null,d));var e=cljs.core.nth.call(null,d,0,null),f=cljs.core.nth.call(null,d,1,null);return hoplon.core.li.call(null,hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a,
b,c,d){return new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"color","color",1011675173),d.call(null,a,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"team","team",1355747699),new cljs.core.Keyword(null,"dark-text","dark-text",814777253),b.call(null,c)],null))],null)}}(d,e,f,a,b,c)).call(null,weathergen.ui.common.colors,weathergen.falcon.files.mission.team_color,f,cljs.core.get_in),javelin.core.formula.call(null,function(a,
b,c,d,e,f){return function(a,b,c){return a.call(null,b,c)}}(d,e,f,a,b,c)).call(null,weathergen.falcon.files.mission.team_name,weathergen.ui.mission,f)),hoplon.core.ol.call(null,hoplon.core.loop_tpl_STAR_.call(null,e,function(a,b,c,d,e,f){return function(g){g=javelin.core.cell_map.call(null,cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f){return function(a){var b=cljs.core.nth.call(null,a,0,null);a=cljs.core.nth.call(null,a,1,null);return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[a,b],null)}}(a,b,c,d,e,f)).call(null,g));var h=cljs.core.nth.call(null,g,0,null),k=cljs.core.nth.call(null,g,1,null);return hoplon.core.li.call(null,hoplon.core.span.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a,b){return a.call(null,b)}}(g,h,k,a,b,c,d,e,f)).call(null,cljs.core.name,k)),hoplon.core.ol.call(null,hoplon.core.loop_tpl_STAR_.call(null,h,function(a,b,c,d,e,f,g,h,k){return function(l){l=javelin.core.cell_map.call(null,
cljs.core.identity,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k){return function(a){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[a],null)}}(a,b,c,d,e,f,g,h,k)).call(null,l));var m=cljs.core.nth.call(null,l,0,null);return hoplon.core.li.call(null,hoplon.core.span.call(null,javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h,k,l,m){return function(a){return(new cljs.core.Keyword(null,"name","name",1843675177)).cljs$core$IFn$_invoke$arity$1(a)}}(l,
m,a,b,c,d,e,f,g,h,k)).call(null,m)))}}(g,h,k,a,b,c,d,e,f))))}}(d,e,f,a,b,c))))}}(b,c,a))))}}(a),null),d=function(a,b){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(a,c);return javelin.core.formula.call(null,d).call(null,javelin.core.formula.call(null,function(a,b,c){return function(a,b){return b.call(null,a)}}(a,c,d)).call(null,weathergen.ui.mission,cljs.core.not))}())};
weathergen.ui.mission_info_section=function(a){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),"Mission Info",hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"padding","padding",1660304693),"5px"],null),function(){var a=new cljs.core.Delay(function(){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"padding","padding",1660304693),"3px"],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"text-decoration","text-decoration",1836813207),"underline",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"110%"],null),"Loaded mission"),hoplon.core.div.call(null,hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold"],null),"Theater: "),javelin.core.formula.call(null,function(a,b){return b.call(null,a)}).call(null,weathergen.ui.mission,weathergen.falcon.files.mission.theaterdef_name)),hoplon.core.div.call(null,hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold"],null),"Mission: "),javelin.core.formula.call(null,
function(a){return(new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)).cljs$core$IFn$_invoke$arity$1(a)}).call(null,weathergen.ui.mission)),hoplon.core.div.call(null,hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold"],null),"Falcon Time: "),javelin.core.formula.call(null,function(a,b,c){return c.call(null,a.call(null,b))}).call(null,weathergen.falcon.files.mission.mission_time,
weathergen.ui.mission,weathergen.ui.common.format_time)))},null),c=new cljs.core.Delay(function(a){return function(){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"110%",new cljs.core.Keyword(null,"font-style","font-style",-773672352),"italic"],null),"No mission loaded.")}}(a),null),a=function(a,b){return function(c){return cljs.core.deref.call(null,function(){var d=
cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(a,c);return javelin.core.formula.call(null,a).call(null,weathergen.ui.mission)}()))};
weathergen.ui.save_briefing_section=function(a){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"mission-info","mission-info",1263062521),new cljs.core.Keyword(null,"save-briefing","save-briefing",-1540800301)],null),"Save Mission Briefing"),new cljs.core.Keyword(null,"toggle","toggle",1291842030),
javelin.core.formula.call(null,function(a,c){return a.call(null,c,new cljs.core.Keyword(null,"edit","edit",-1641834166))}).call(null,cljs.core._EQ_,weathergen.ui.display_mode),function(){var a=javelin.core.formula.call(null,function(a){return cljs.core._EQ_.call(null,cljs.core.count.call(null,(new cljs.core.Keyword(null,"candidate-installs","candidate-installs",1512655313)).cljs$core$IFn$_invoke$arity$1(a)),1)?cljs.core.first.call(null,cljs.core.keys.call(null,(new cljs.core.Keyword(null,"candidate-installs",
"candidate-installs",1512655313)).cljs$core$IFn$_invoke$arity$1(a))):null}).call(null,weathergen.ui.mission),c=javelin.core.cell.call(null,null),d=javelin.core.formula.call(null,function(a,b){return function(a,b){return cljs.core.truth_(a)?a:b}}(a,c)).call(null,a,c);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"padding","padding",1660304693),"5px"],null),hoplon.core.div.call(null,function(){var b=
new cljs.core.Delay(function(a,b,c){return function(){return hoplon.core.div.call(null,hoplon.core.span.call(null,"Briefing will be saved for installation: "),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"font-family","font-family",-667419874),"monospace",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"120%"],null),javelin.core.formula.call(null,function(a,b,c){return function(a,b,
c){return b.call(null,a.call(null,(new cljs.core.Keyword(null,"candidate-installs","candidate-installs",1512655313)).cljs$core$IFn$_invoke$arity$1(c)))}}(a,b,c)).call(null,cljs.core.first,cljs.core.key,weathergen.ui.mission)))}}(a,c,d),null),f=new cljs.core.Delay(function(a,b,c,d){return function(){return"Cannot find a matching installation of Falcon BMS for this mission."}}(b,a,c,d),null),g=new cljs.core.Delay(function(a,b,c,d,e){return function(){return hoplon.core.div.call(null,hoplon.core.div.call(null,
hoplon.core.span.call(null,"Multiple installed copies of Falcon BMS point at the mission directory, "),hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"font-family","font-family",-667419874),"monospace",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"110%"],null),javelin.core.formula.call(null,function(a,b,c,d,e){return function(a){return cljs.core.val.call(null,cljs.core.first.call(null,
(new cljs.core.Keyword(null,"candidate-installs","candidate-installs",1512655313)).cljs$core$IFn$_invoke$arity$1(a)))}}(a,b,c,d,e)).call(null,weathergen.ui.mission)),hoplon.core.span.call(null,". Select which installation this mission is for. (If unsure, choose 'Falcon BMS 4.33 U1'.)")),weathergen.ui.common.radio_group.call(null,new cljs.core.Keyword(null,"value","value",305978217),d,new cljs.core.Keyword(null,"choices","choices",1385611597),javelin.core.formula.call(null,function(a,b,c,d,e){return function(f){return function(a,
b,c,d,e){return function C(f){return new cljs.core.LazySeq(null,function(a,b,c,d,e){return function(){for(;;){var a=cljs.core.seq.call(null,f);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,c);a:for(var e=0;;)if(e<c){var g=cljs.core._nth.call(null,b,e),h=cljs.core.nth.call(null,g,0,null);cljs.core.nth.call(null,g,1,null);cljs.core.chunk_append.call(null,d,new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"value","value",305978217),h,new cljs.core.Keyword(null,"label","label",1718410804),weathergen.ui.common.inl.call(null,h)],null));e+=1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),C.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}d=cljs.core.first.call(null,a);b=cljs.core.nth.call(null,d,0,null);cljs.core.nth.call(null,d,1,null);return cljs.core.cons.call(null,new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"value","value",305978217),b,new cljs.core.Keyword(null,"label","label",1718410804),weathergen.ui.common.inl.call(null,b)],null),C.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e),null,null)}}(a,b,c,d,e).call(null,(new cljs.core.Keyword(null,"candidate-installs","candidate-installs",1512655313)).cljs$core$IFn$_invoke$arity$1(f))}}(a,b,c,d,e)).call(null,weathergen.ui.mission)))}}(b,f,a,c,d),null),h=function(a,b,c,d,e,f){return function(d,e,f){return cljs.core.deref.call(null,
function(){var g=cljs.core.truth_(d)?a:cljs.core.truth_(e)?b:cljs.core.truth_(f)?c:null;return cljs.core.truth_(g)?g:cljs.core.atom.call(null)}())}}(b,f,g,a,c,d);return javelin.core.formula.call(null,h).call(null,a,javelin.core.formula.call(null,function(a,b,c,d,e,f,g){return function(a,b){return 0===b.call(null,(new cljs.core.Keyword(null,"candidate-installs","candidate-installs",1512655313)).cljs$core$IFn$_invoke$arity$1(a))}}(b,f,g,h,a,c,d)).call(null,weathergen.ui.mission,cljs.core.count),new cljs.core.Keyword(null,
"else","else",-1508377146))}()),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"border","border",1444987323),"1px solid black",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),"10px",new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),"10px"],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,
"color","color",1011675173),"white",new cljs.core.Keyword(null,"background","background",-863952629),"black",new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),"5px",new cljs.core.Keyword(null,"padding","padding",1660304693),"2px"],null),"Visibility"),weathergen.ui.common.side_selector.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"padding","padding",1660304693),"0 0 5px 5px"],null),new cljs.core.Keyword(null,
"mission","mission",1740288522),weathergen.ui.mission,new cljs.core.Keyword(null,"selected-sides","selected-sides",-922979619),weathergen.ui.visible_sides)),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"disabled?","disabled?",-1523234181),javelin.core.formula.call(null,function(a,b,c){return function(a,b){return b.call(null,a)}}(a,c,d)).call(null,d,cljs.core.not),new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c){return function(){return weathergen.ui.save_briefing.call(null,
cljs.core.deref.call(null,c),cljs.core.deref.call(null,weathergen.ui.visible_sides))}}(a,c,d),"Save Briefing (.vmtb)"),weathergen.help.help_icon.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"mission-info","mission-info",1263062521),new cljs.core.Keyword(null,"save-briefing","save-briefing",-1540800301)],null)))}())};
weathergen.ui.briefing_notes_section=function(a){return weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),javelin.core.formula.call(null,function(a){return weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"mission-info","mission-info",1263062521),new cljs.core.Keyword(null,"briefing-notes","briefing-notes",-1524193117),a],null),"Briefing Notes")}).call(null,
weathergen.ui.display_mode),hoplon.core.div.call(null,function(){var a=new cljs.core.Delay(function(){return hoplon.core.textarea.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"font-family","font-family",-667419874),"monospace",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,110),new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.pct.call(null,
100)],null),new cljs.core.Keyword(null,"rows","rows",850049680),10,new cljs.core.Keyword(null,"value","value",305978217),weathergen.ui.briefing_notes,new cljs.core.Keyword(null,"placeholder","placeholder",-104873083),"Enter briefing notes here",new cljs.core.Keyword(null,"change","change",-1163046502),function(a){return cljs.core.reset_BANG_.call(null,weathergen.ui.briefing_notes,cljs.core.deref.call(null,a))})},null),c=new cljs.core.Delay(function(a){return function(){return hoplon.core.div.call(null,
new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,8,[new cljs.core.Keyword(null,"font-family","font-family",-667419874),"monospace",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,110),new cljs.core.Keyword(null,"white-space","white-space",-707351930),"pre-wrap",new cljs.core.Keyword(null,"padding","padding",1660304693),weathergen.ui.common.px.call(null,10),new cljs.core.Keyword(null,"background","background",
-863952629),"white",new cljs.core.Keyword(null,"border-width","border-width",-1512605390),weathergen.ui.common.px.call(null,1),new cljs.core.Keyword(null,"border-color","border-color",-2059162761),"lightgray",new cljs.core.Keyword(null,"border-style","border-style",-485574304),"solid"],null),javelin.core.formula.call(null,function(a){return function(a){return clojure.string.blank_QMARK_.call(null,a)?hoplon.core.span.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
2,[new cljs.core.Keyword(null,"font-style","font-style",-773672352),"italic",new cljs.core.Keyword(null,"color","color",1011675173),"darkgrey"],null),"No briefing notes were included."):a}}(a)).call(null,weathergen.ui.briefing_notes))}}(a),null),d=function(a,b){return function(c){return cljs.core.deref.call(null,function(){var d=cljs.core.truth_(c)?a:b;return cljs.core.truth_(d)?d:cljs.core.atom.call(null)}())}}(a,c);return javelin.core.formula.call(null,d).call(null,javelin.core.formula.call(null,
function(a,b,c){return function(a,b){return a.call(null,b,new cljs.core.Keyword(null,"edit","edit",-1641834166))}}(a,c,d)).call(null,cljs.core._EQ_,weathergen.ui.display_mode))}()))};
weathergen.ui.map_controls_section=function(a){return hoplon.core.div.call(null,weathergen.ui.common.control_section.call(null,new cljs.core.Keyword(null,"title","title",636505583),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"map-controls","map-controls",-1453318552),new cljs.core.Keyword(null,"general","general",380803686)],null),"General Display Options"),function(){var a=function(a){var b=null!=a&&
(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"label","label",1718410804)),f=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"key","key",-1516042587)),g=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"init","init",-1875481434)),h=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"min","min",444991522)),k=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"max","max",61366548));return hoplon.core.tr.call(null,weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"map-controls","map-controls",-1453318552),f],null),hoplon.core.td.call(null,c)),function(){var d=""+cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.gensym.call(null));return hoplon.core.td.call(null,hoplon.core.datalist.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),d,function(){return function(a,
b,c,d,e,f,g,h){return function x(k){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,g,h){return function(){for(;;){var a=cljs.core.seq.call(null,k);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,c);a:for(var e=0;;)if(e<c){var f=cljs.core._nth.call(null,b,e);cljs.core.chunk_append.call(null,d,hoplon.core.option.call(null,new cljs.core.Keyword(null,"value","value",305978217),f));e+=
1}else{b=!0;break a}return b?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),x.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}d=cljs.core.first.call(null,a);return cljs.core.cons.call(null,hoplon.core.option.call(null,new cljs.core.Keyword(null,"value","value",305978217),d),x.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,g,h),null,null)}}(d,a,b,c,f,g,h,k).call(null,cljs.core.range.call(null,100*h,100*
(k+1),25*(k-h)))}()),hoplon.core.input.call(null,new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"type","type",1174270348),"range",new cljs.core.Keyword(null,"list","list",765357683),d,new cljs.core.Keyword(null,"min","min",444991522),cljs.core.long$.call(null,100*h),new cljs.core.Keyword(null,"max","max",61366548),cljs.core.long$.call(null,100*k),new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a,b,c,d,e,f,g,h){return function(a,b,
c){return 100*a.call(null,c,b)}}(d,a,b,c,f,g,h,k)).call(null,cljs.core.get,f,weathergen.ui.map_display),new cljs.core.Keyword(null,"input","input",556931961),function(a,b,c,d,e,f,g,h){return function(a){return cljs.core.swap_BANG_.call(null,weathergen.ui.map_display,cljs.core.assoc,e,cljs.core.deref.call(null,a)/100)}}(d,a,b,c,f,g,h,k)],null)))}(),hoplon.core.td.call(null,weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"click","click",1912301393),function(a,b,c,d,e,f,g){return function(){return cljs.core.swap_BANG_.call(null,
weathergen.ui.map_display,cljs.core.assoc,d,e)}}(a,b,c,f,g,h,k),"Reset"),weathergen.help.help_icon.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"map-controls","map-controls",-1453318552),cljs.core.keyword.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1("reset-"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.name.call(null,f))].join(""))],null))))};return hoplon.core.div.call(null,hoplon.core.table.call(null,a.call(null,
new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"label","label",1718410804),"Brightness:",new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword(null,"brightness","brightness",1067055820),new cljs.core.Keyword(null,"init","init",-1875481434),.5,new cljs.core.Keyword(null,"min","min",444991522),0,new cljs.core.Keyword(null,"max","max",61366548),1],null)),a.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"label","label",1718410804),
"Text size:",new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword(null,"text-size","text-size",-945618309),new cljs.core.Keyword(null,"init","init",-1875481434),0,new cljs.core.Keyword(null,"min","min",444991522),-1,new cljs.core.Keyword(null,"max","max",61366548),1],null)),a.call(null,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"label","label",1718410804),"Icon size:",new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword(null,"icon-size",
"icon-size",414161352),new cljs.core.Keyword(null,"init","init",-1875481434),0,new cljs.core.Keyword(null,"min","min",444991522),-1,new cljs.core.Keyword(null,"max","max",61366548),1],null))),hoplon.core.div.call(null,hoplon.core.input.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a){return function(a){return(new cljs.core.Keyword(null,"show-text-background?","show-text-background?",
-442833124)).cljs$core$IFn$_invoke$arity$1(a)}}(a)).call(null,weathergen.ui.map_display),new cljs.core.Keyword(null,"change","change",-1163046502),function(a){return function(){return cljs.core.swap_BANG_.call(null,weathergen.ui.map_display,cljs.core.update,new cljs.core.Keyword(null,"show-text-background?","show-text-background?",-442833124),cljs.core.not)}}(a)),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"map-controls","map-controls",-1453318552),new cljs.core.Keyword(null,"show-text-background?","show-text-background?",-442833124)],null),hoplon.core.label.call(null,"Display text with contrasting background"))),hoplon.core.div.call(null,hoplon.core.input.call(null,new cljs.core.Keyword(null,"type","type",1174270348),"checkbox",new cljs.core.Keyword(null,"value","value",305978217),javelin.core.formula.call(null,function(a){return function(a){return(new cljs.core.Keyword(null,"show-bullseye?","show-bullseye?",
310289003)).cljs$core$IFn$_invoke$arity$1(a)}}(a)).call(null,weathergen.ui.map_display),new cljs.core.Keyword(null,"change","change",-1163046502),function(a){return function(){return cljs.core.swap_BANG_.call(null,weathergen.ui.map_display,cljs.core.update,new cljs.core.Keyword(null,"show-bullseye?","show-bullseye?",310289003),cljs.core.not)}}(a)),weathergen.help.with_help.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"map-controls",
"map-controls",-1453318552),new cljs.core.Keyword(null,"show-bullseye?","show-bullseye?",310289003)],null),hoplon.core.label.call(null,"Show bullseye"))))}()),weathergen.ui.airbase_display_controls.call(null,"Airbase Display Options"),(new cljs.core.Keyword(null,"map-display-controls-fn","map-display-controls-fn",1472969543)).cljs$core$IFn$_invoke$arity$1(weathergen.ui.flight_paths_layer).call(null,"Flight Path Display Options"))};
weathergen.ui.head=function(){return hoplon.core.head.call(null,hoplon.core.title.call(null,javelin.core.formula.call(null,function(a,b){return cljs.core.not.call(null,a)?"Virtual Mission Tools":[cljs.core.str.cljs$core$IFn$_invoke$arity$1(weathergen.falcon.files.mission.theaterdef_name.call(null,a)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(" - "),cljs.core.str.cljs$core$IFn$_invoke$arity$1((new cljs.core.Keyword(null,"mission-name","mission-name",1479736582)).cljs$core$IFn$_invoke$arity$1(a)),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"briefing","briefing",-176308969),b)?".vmtb":null)].join("")}).call(null,weathergen.ui.mission,weathergen.ui.display_mode)),hoplon.core.link.call(null,new cljs.core.Keyword(null,"href","href",-793805698),"lib/jquery-minicolors/jquery.minicolors.css",new cljs.core.Keyword(null,"rel","rel",1378823488),"stylesheet",new cljs.core.Keyword(null,"title","title",636505583),"main",new cljs.core.Keyword(null,"type",
"type",1174270348),"text/css"),hoplon.core.script.call(null,new cljs.core.Keyword(null,"src","src",-1651076051),"lib/jquery-minicolors/jquery.minicolors.min.js",new cljs.core.Keyword(null,"type","type",1174270348),"text/javascript"),hoplon.core.link.call(null,new cljs.core.Keyword(null,"href","href",-793805698),"select2.css",new cljs.core.Keyword(null,"rel","rel",1378823488),"stylesheet",new cljs.core.Keyword(null,"type","type",1174270348),"text/css"),hoplon.core.link.call(null,new cljs.core.Keyword(null,
"href","href",-793805698),"style.css",new cljs.core.Keyword(null,"rel","rel",1378823488),"stylesheet",new cljs.core.Keyword(null,"title","title",636505583),"main",new cljs.core.Keyword(null,"type","type",1174270348),"text/css"),hoplon.core.link.call(null,new cljs.core.Keyword(null,"href","href",-793805698),"fonts/open-sans-condensed/open-sans-condensed.css",new cljs.core.Keyword(null,"rel","rel",1378823488),"stylesheet",new cljs.core.Keyword(null,"type","type",1174270348),"text/css"),hoplon.core.link.call(null,
new cljs.core.Keyword(null,"href","href",-793805698),"fonts/share-tech-mono/share-tech-mono.css",new cljs.core.Keyword(null,"rel","rel",1378823488),"stylesheet",new cljs.core.Keyword(null,"type","type",1174270348),"text/css"),hoplon.core.link.call(null,new cljs.core.Keyword(null,"href","href",-793805698),"fonts/source-code-pro/source-code-pro.css",new cljs.core.Keyword(null,"rel","rel",1378823488),"stylesheet",new cljs.core.Keyword(null,"type","type",1174270348),"text/css"),hoplon.core.style.call(null,
new cljs.core.Keyword(null,"type","type",1174270348),"text/css",garden.core.css.call(null,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"fieldset","fieldset",-1949770816),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"padding-left","padding-left",-1180879053),"10px"],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[garden.selectors.input.call(null,garden.selectors.attr_EQ_.call(null,
new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"range","range",1639692286))),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"padding","padding",1660304693),"5px"],null)],null),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,".info-grid",".info-grid",1372988462),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"border-collapse","border-collapse",919100239),"collapse",new cljs.core.Keyword(null,
"border","border",1444987323),"solid 1px"],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"thead","thead",-291875296),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"background","background",-863952629),"lightgray",new cljs.core.Keyword(null,"border-bottom","border-bottom",2110948415),"1px solid black"],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"tr","tr",-1424774646),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[garden.selectors._AMPERSAND_.call(null,garden.selectors.nth_child.call(null,new cljs.core.Keyword(null,"even","even",-275845692))),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"background","background",-863952629),"#F2F0E0"],null)],null)],null)],null))))};
weathergen.ui.message_display=function(){return javelin.core.formula.call(null,function(a){return function c(a){return new cljs.core.LazySeq(null,function(){for(;;){var d=cljs.core.seq.call(null,a);if(d){var f=d;if(cljs.core.chunked_seq_QMARK_.call(null,f)){var g=cljs.core.chunk_first.call(null,f),h=cljs.core.count.call(null,g),k=cljs.core.chunk_buffer.call(null,h);return function(){for(var a=0;;)if(a<h){var c=cljs.core._nth.call(null,g,a);cljs.core.chunk_append.call(null,k,function(){var e=javelin.core.cell.call(null,
!0);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"fade-toggle","fade-toggle",-1468421852),e,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"border","border",1444987323),"double",new cljs.core.Keyword(null,"border-color","border-color",-2059162761),"black",new cljs.core.Keyword(null,"background","background",-863952629),"#945594",new cljs.core.Keyword(null,"color","color",1011675173),"white",new cljs.core.Keyword(null,
"position","position",-2011731912),"relative",new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),"3px"],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"padding-right","padding-right",-1250249681),"5px"],null),c),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,
6,[new cljs.core.Keyword(null,"position","position",-2011731912),"absolute",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"150%",new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"top","top",-1856271961),"-8px",new cljs.core.Keyword(null,"right","right",-452581833),"5px",new cljs.core.Keyword(null,"cursor","cursor",1011937484),"pointer"],null),new cljs.core.Keyword(null,"click","click",1912301393),function(a,c,d,e,f,g,h,k){return function(){return cljs.core.reset_BANG_.call(null,
c,!1)}}(a,e,c,g,h,k,f,d),"×"))}());a+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),c.call(null,cljs.core.chunk_rest.call(null,f))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,k),null)}var l=cljs.core.first.call(null,f);return cljs.core.cons.call(null,function(){var a=javelin.core.cell.call(null,!0);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"fade-toggle","fade-toggle",-1468421852),a,new cljs.core.Keyword(null,"css","css",1135045163),
new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"border","border",1444987323),"double",new cljs.core.Keyword(null,"border-color","border-color",-2059162761),"black",new cljs.core.Keyword(null,"background","background",-863952629),"#945594",new cljs.core.Keyword(null,"color","color",1011675173),"white",new cljs.core.Keyword(null,"position","position",-2011731912),"relative",new cljs.core.Keyword(null,"margin-bottom","margin-bottom",388334941),"3px"],null),hoplon.core.div.call(null,
new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"padding-right","padding-right",-1250249681),"5px"],null),l),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"position","position",-2011731912),"absolute",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),
"150%",new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"top","top",-1856271961),"-8px",new cljs.core.Keyword(null,"right","right",-452581833),"5px",new cljs.core.Keyword(null,"cursor","cursor",1011937484),"pointer"],null),new cljs.core.Keyword(null,"click","click",1912301393),function(a,c,d,e){return function(){return cljs.core.reset_BANG_.call(null,a,!1)}}(a,l,f,d),"×"))}(),c.call(null,cljs.core.rest.call(null,f)))}return null}},null,null)}.call(null,
a)}).call(null,weathergen.ui.messages)};
weathergen.ui.titlebar=function(){return hoplon.core.div.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"titlebar",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"background","background",-863952629),"black",new cljs.core.Keyword(null,"color","color",1011675173),"white",new cljs.core.Keyword(null,"padding","padding",1660304693),weathergen.ui.common.px.call(null,4,13),new cljs.core.Keyword(null,"margin-bottom",
"margin-bottom",388334941),weathergen.ui.common.px.call(null,2),new cljs.core.Keyword(null,"height","height",1025178622),weathergen.ui.common.px.call(null,64)],null),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"titlebar-contents",weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"left-words",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-top",
"margin-top",392161226),weathergen.ui.common.px.call(null,14)],null),hoplon.core.span.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"title",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"padding-top","padding-top",1929675955),weathergen.ui.common.px.call(null,16),new cljs.core.Keyword(null,"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,200)],null),"Virtual Mission Tools"),hoplon.core.span.call(null,
new cljs.core.Keyword(null,"debug","debug",-1608172596),"version",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"padding-left","padding-left",-1180879053),weathergen.ui.common.px.call(null,10)],null),javelin.core.formula.call(null,function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a;a=cljs.core.get.call(null,b,
"VERSION");b=cljs.core.get.call(null,b,"CHANNEL");return[cljs.core.str.cljs$core$IFn$_invoke$arity$1("("),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(a)?a:"dev-build"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.truth_(cljs.core.truth_(b)?cljs.core.not_EQ_.call(null,b,"stable"):b)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1("@"),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(""):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(")")].join("")}).call(null,weathergen.ui.build_info)),
hoplon.core.span.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"byline",new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"padding-left","padding-left",-1180879053),weathergen.ui.common.px.call(null,5)],null),"by",weathergen.ui.common.styled.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block"],
null),new cljs.core.Keyword(null,"garden","garden",-1966516149),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"a","a",-2123407586),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"padding-left","padding-left",-1180879053),weathergen.ui.common.px.call(null,5)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"a:link","a:link",-504615780),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"color","color",1011675173),"white"],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"a:visited","a:visited",-737262631),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"color","color",1011675173),"white"],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"a:hover","a:hover",-1474674872),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"color","color",1011675173),"lightblue"],null)],null)],null),hoplon.core.a.call(null,new cljs.core.Keyword(null,"href","href",-793805698),"http://firstfighterwing.com/VFW/member.php?893-Tyrant",new cljs.core.Keyword(null,"target","target",253001721),"_blank","Tyrant")))),weathergen.ui.common.inl.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"right-words",
weathergen.ui.common.styled.call(null,new cljs.core.Keyword(null,"debug","debug",-1608172596),"helpstring",new cljs.core.Keyword(null,"garden","garden",-1966516149),new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"span","span",1394872991),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"position","position",-2011731912),"absolute",new cljs.core.Keyword(null,
"right","right",-452581833),weathergen.ui.common.px.call(null,100),new cljs.core.Keyword(null,"top","top",-1856271961),weathergen.ui.common.px.call(null,45)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"a","a",-2123407586),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"color","color",1011675173),"white",new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.ems.call(null,
.2)],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"a:visited","a:visited",-737262631),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"color","color",1011675173),"white"],null)],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"a:hover","a:hover",-1474674872),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"color","color",
1011675173),"lightblue"],null)],null)],null),hoplon.core.span.call(null,"Help? Bug? Feature request? Click",hoplon.core.a.call(null,new cljs.core.Keyword(null,"href","href",-793805698),"help.html",new cljs.core.Keyword(null,"target","target",253001721),"_blank","here"),".")),hoplon.core.a.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"position","position",-2011731912),"absolute",new cljs.core.Keyword(null,"right","right",
-452581833),weathergen.ui.common.px.call(null,20),new cljs.core.Keyword(null,"top","top",-1856271961),weathergen.ui.common.px.call(null,12)],null),new cljs.core.Keyword(null,"href","href",-793805698),"http://firstfighterwing.com",new cljs.core.Keyword(null,"target","target",253001721),"_blank",hoplon.core.img.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,
"height","height",1025178622),weathergen.ui.common.px.call(null,64)],null),new cljs.core.Keyword(null,"src","src",-1651076051),"images/1stVFW_Insignia-64.png")))))};
weathergen.ui.section_ctor=cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"mission-info-section","mission-info-section",1401749344),new cljs.core.Keyword(null,"weather-override-parameters","weather-override-parameters",491414981),new cljs.core.Keyword(null,"weather-display-controls","weather-display-controls",941597221),new cljs.core.Keyword(null,"forecast-section","forecast-section",-1278731643),new cljs.core.Keyword(null,"air-forces-section","air-forces-section",-222064121),
new cljs.core.Keyword(null,"briefing-notes-section","briefing-notes-section",1870993417),new cljs.core.Keyword(null,"advanced-controls","advanced-controls",-278238996),new cljs.core.Keyword(null,"serialization-controls","serialization-controls",-789590644),new cljs.core.Keyword(null,"cloud-controls","cloud-controls",817145581),new cljs.core.Keyword(null,"wind-stability-parameters","wind-stability-parameters",1572956177),new cljs.core.Keyword(null,"weather-parameters","weather-parameters",-1852076459),
new cljs.core.Keyword(null,"save-briefing-section","save-briefing-section",143974425),new cljs.core.Keyword(null,"oob-section","oob-section",1786899258),new cljs.core.Keyword(null,"map-controls-section","map-controls-section",684229466),new cljs.core.Keyword(null,"test-section","test-section",-945916038),new cljs.core.Keyword(null,"weather-type-configuration","weather-type-configuration",-358032997),new cljs.core.Keyword(null,"step-controls","step-controls",-854420677),new cljs.core.Keyword(null,
"flights-section","flights-section",1247077532)],[weathergen.ui.mission_info_section,weathergen.ui.weather_override_parameters,weathergen.ui.weather_display_controls,weathergen.ui.forecast_section,weathergen.ui.air_forces_section,weathergen.ui.briefing_notes_section,weathergen.ui.advanced_controls,weathergen.ui.serialization_controls,weathergen.ui.cloud_controls,weathergen.ui.wind_stability_parameters,weathergen.ui.weather_parameters,weathergen.ui.save_briefing_section,weathergen.ui.order_of_battle_section,
weathergen.ui.map_controls_section,weathergen.ui.test_section,weathergen.ui.weather_type_configuration,weathergen.ui.step_controls,function(a){var b=(new cljs.core.Keyword(null,"controls-fn","controls-fn",-807620277)).cljs$core$IFn$_invoke$arity$1(weathergen.ui.flight_paths_layer);a=(new cljs.core.Keyword("weathergen.ui","scroll-container","weathergen.ui/scroll-container",236222120)).cljs$core$IFn$_invoke$arity$1(a);return b.call(null,a)}]);
weathergen.ui.weather_page=function(a){return hoplon.core.html.call(null,weathergen.ui.head.call(null),hoplon.core.body.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),"8px"],null)],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"id","id",-1388402092),"app",weathergen.ui.titlebar.call(null),weathergen.ui.message_display.call(null),function(){var b=
javelin.core.formula.call(null,function(a){return function(b,c){var d=cljs.core.nth.call(null,b,0,null);cljs.core.nth.call(null,b,1,null);var e=cljs.core.nth.call(null,c,0,null);cljs.core.nth.call(null,c,1,null);return e<d+a+-10}}(575)).call(null,weathergen.ui.map_size,weathergen.ui.window_size);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b){return function(a,b){cljs.core.nth.call(null,b,0,null);var c=cljs.core.nth.call(null,
b,1,null);return new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"display","display",242065432),"flex",new cljs.core.Keyword(null,"flex-direction","flex-direction",364609438),cljs.core.truth_(a)?"column":"row",new cljs.core.Keyword(null,"overflow","overflow",2058931880),cljs.core.truth_(a)?"show":"hidden",new cljs.core.Keyword(null,"height","height",1025178622),cljs.core.truth_(a)?"100%":[cljs.core.str.cljs$core$IFn$_invoke$arity$1(c-90),cljs.core.str.cljs$core$IFn$_invoke$arity$1("px")].join("")],
null)}}(575,b)).call(null,b,weathergen.ui.window_size),hoplon.core.div.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"left-column",new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b){return function(a){return cljs.core.truth_(a)?cljs.core.PersistentArrayMap.EMPTY:new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"overflow","overflow",2058931880),"auto",new cljs.core.Keyword(null,"height","height",1025178622),"auto"],
null)}}(575,b)).call(null,b),weathergen.ui.button_bar.call(null),weathergen.ui.grid.call(null,new cljs.core.Keyword(null,"display-params","display-params",573405707),weathergen.ui.display_params,new cljs.core.Keyword(null,"weather-data","weather-data",-664219401),weathergen.ui.weather_data,new cljs.core.Keyword(null,"selected-cell","selected-cell",1638390443),weathergen.ui.selected_cell,new cljs.core.Keyword(null,"wind-stability-areas","wind-stability-areas",1732901204),weathergen.ui.wind_stability_areas,
new cljs.core.Keyword(null,"weather-overrides","weather-overrides",-837381710),weathergen.ui.weather_overrides,new cljs.core.Keyword(null,"computing","computing",-1002386157),weathergen.ui.computing,new cljs.core.Keyword(null,"pressure-unit","pressure-unit",1615584243),weathergen.ui.pressure_unit,new cljs.core.Keyword(null,"nx","nx",-1996436366),cljs.core.first.call(null,(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params))),
new cljs.core.Keyword(null,"ny","ny",1701791641),cljs.core.second.call(null,(new cljs.core.Keyword(null,"cell-count","cell-count",-441457582)).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,weathergen.ui.weather_params))))),function(){var c=hoplon.core.div.call(null);return c.call(null,new cljs.core.Keyword(null,"class","class",-2030961996),"right-column",new cljs.core.Keyword(null,"css","css",1135045163),javelin.core.formula.call(null,function(a,b,c){return function(a){return cljs.core.merge.call(null,
new cljs.core.PersistentArrayMap(null,6,[new cljs.core.Keyword(null,"display","display",242065432),"block",new cljs.core.Keyword(null,"align-content","align-content",-990200349),"flex-start",new cljs.core.Keyword(null,"flex-wrap","flex-wrap",455413707),"wrap",new cljs.core.Keyword(null,"flex-grow","flex-grow",1865160747),1,new cljs.core.Keyword(null,"min-width","min-width",1926193728),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(b-20),cljs.core.str.cljs$core$IFn$_invoke$arity$1("px")].join(""),new cljs.core.Keyword(null,
"width","width",-384071477),0],null),cljs.core.truth_(a)?null:new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"overflow","overflow",2058931880),"auto",new cljs.core.Keyword(null,"height","height",1025178622),"auto"],null))}}(c,575,b)).call(null,b),weathergen.ui.tabs.tabs.call(null,new cljs.core.Keyword(null,"selected","selected",574897764),javelin.core.cell.call(null,(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,a))),
new cljs.core.Keyword(null,"tabs","tabs",-779855354),function(){return function(a,b,c){return function h(d){return new cljs.core.LazySeq(null,function(a,b,c){return function(){for(;;){var e=cljs.core.seq.call(null,d);if(e){var f=e;if(cljs.core.chunked_seq_QMARK_.call(null,f)){var k=cljs.core.chunk_first.call(null,f),l=cljs.core.count.call(null,k),m=cljs.core.chunk_buffer.call(null,l);return function(){for(var d=0;;)if(d<l){var h=cljs.core._nth.call(null,k,d),n=null!=h&&(h.cljs$lang$protocol_mask$partition0$&
64||cljs.core.PROTOCOL_SENTINEL===h.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,h):h,p=cljs.core.get.call(null,n,new cljs.core.Keyword(null,"title","title",636505583)),q=cljs.core.get.call(null,n,new cljs.core.Keyword(null,"id","id",-1388402092)),r=cljs.core.get.call(null,n,new cljs.core.Keyword(null,"sections","sections",-886710106));cljs.core.chunk_append.call(null,m,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),p,new cljs.core.Keyword(null,
"id","id",-1388402092),q,new cljs.core.Keyword(null,"ui","ui",-469653645),function(){return function(a,b,c,d,e,f,h,k,l,m,n,p,q,r){return function R(t){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,h,k,l,m,n,p,q,r){return function(){for(;;){var a=cljs.core.seq.call(null,t);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,c);return function(){for(var a=0;;)if(a<c){var e=cljs.core._nth.call(null,
b,a),f=cljs.core.nth.call(null,e,0,null),h=cljs.core.nth.call(null,e,1,null),k=weathergen.ui.section_ctor.call(null,f);cljs.core.chunk_append.call(null,d,function(){var a=[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Rendering "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(f)].join("");console.time(a);var b=k.call(null,cljs.core.assoc.call(null,h,new cljs.core.Keyword("weathergen.ui","scroll-container","weathergen.ui/scroll-container",236222120),p));console.timeEnd(a);return b}());a+=1}else return!0}()?
cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),R.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}var e=cljs.core.first.call(null,a),f=cljs.core.nth.call(null,e,0,null),h=cljs.core.nth.call(null,e,1,null),k=weathergen.ui.section_ctor.call(null,f);return cljs.core.cons.call(null,function(){var a=[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Rendering "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(f)].join("");console.time(a);
var b=k.call(null,cljs.core.assoc.call(null,h,new cljs.core.Keyword("weathergen.ui","scroll-container","weathergen.ui/scroll-container",236222120),p));console.timeEnd(a);return b}(),R.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,h,k,l,m,n,p,q,r),null,null)}}(d,h,n,p,q,r,k,l,m,f,e,a,b,c).call(null,cljs.core.partition.call(null,2,r))}()],null));d+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,m),h.call(null,cljs.core.chunk_rest.call(null,f))):cljs.core.chunk_cons.call(null,
cljs.core.chunk.call(null,m),null)}var n=cljs.core.first.call(null,f),w=null!=n&&(n.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===n.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,n):n,x=cljs.core.get.call(null,w,new cljs.core.Keyword(null,"title","title",636505583)),y=cljs.core.get.call(null,w,new cljs.core.Keyword(null,"id","id",-1388402092)),z=cljs.core.get.call(null,w,new cljs.core.Keyword(null,"sections","sections",-886710106));return cljs.core.cons.call(null,
new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),x,new cljs.core.Keyword(null,"id","id",-1388402092),y,new cljs.core.Keyword(null,"ui","ui",-469653645),function(){return function(a,b,c,d,e,f,h,k,l,m){return function I(n){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,h,k,l,m){return function(){for(;;){var a=cljs.core.seq.call(null,n);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,
b),d=cljs.core.chunk_buffer.call(null,c);return function(){for(var a=0;;)if(a<c){var e=cljs.core._nth.call(null,b,a),f=cljs.core.nth.call(null,e,0,null),h=cljs.core.nth.call(null,e,1,null),l=weathergen.ui.section_ctor.call(null,f);cljs.core.chunk_append.call(null,d,function(){var a=[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Rendering "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(f)].join("");console.time(a);var b=l.call(null,cljs.core.assoc.call(null,h,new cljs.core.Keyword("weathergen.ui","scroll-container",
"weathergen.ui/scroll-container",236222120),k));console.timeEnd(a);return b}());a+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),I.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}var e=cljs.core.first.call(null,a),f=cljs.core.nth.call(null,e,0,null),h=cljs.core.nth.call(null,e,1,null),l=weathergen.ui.section_ctor.call(null,f);return cljs.core.cons.call(null,function(){var a=[cljs.core.str.cljs$core$IFn$_invoke$arity$1("Rendering "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(f)].join("");console.time(a);var b=l.call(null,cljs.core.assoc.call(null,h,new cljs.core.Keyword("weathergen.ui","scroll-container","weathergen.ui/scroll-container",236222120),k));console.timeEnd(a);return b}(),I.call(null,cljs.core.rest.call(null,a)))}return null}}}(a,b,c,d,e,f,h,k,l,m),null,null)}}(n,w,x,y,z,f,e,a,b,c).call(null,cljs.core.partition.call(null,2,z))}()],null),h.call(null,cljs.core.rest.call(null,f)))}return null}}}(a,b,c),null,null)}}(c,
575,b).call(null,a)}()))}())}()),weathergen.ui.debug_info.call(null)))};hoplon.app_pages={};hoplon.app_pages._index_DOT_html={};hoplon.app_pages._index_DOT_html.electron=require("electron");hoplon.app_pages._index_DOT_html.load_status=javelin.core.cell.call(null,cljs.core.PersistentVector.EMPTY);hoplon.app_pages._index_DOT_html.loading_QMARK_=javelin.core.cell.call(null,!1);
hoplon.app_pages._index_DOT_html.update_for_id=function(a,b,c){return cljs.core.mapv.call(null,function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"id","id",-1388402092)).cljs$core$IFn$_invoke$arity$1(a),b)?c.call(null,a):a},a)};
cljs.core._add_method.call(null,weathergen.ipc.on_message,"load-step-started",function(a,b,c){a=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;b=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092));var d=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"name","name",1843675177)),e=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"parent","parent",-878878779));taoensso.timbre._log_BANG_.call(null,
taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"hoplon.app-pages._index_DOT_html",null,37,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b,c,d,e){return function(){return new cljs.core.PersistentVector(null,4,5,cljs.core.PersistentVector.EMPTY_NODE,["load-step-started",c,d,e],null)}}(c,a,b,d,e),null),null,-584865550);return cljs.core.truth_(cljs.core.deref.call(null,hoplon.app_pages._index_DOT_html.loading_QMARK_))?
cljs.core.swap_BANG_.call(null,hoplon.app_pages._index_DOT_html.load_status,cljs.core.conj,new cljs.core.PersistentArrayMap(null,5,[new cljs.core.Keyword(null,"state","state",-1988618099),new cljs.core.Keyword(null,"started","started",585705024),new cljs.core.Keyword(null,"id","id",-1388402092),b,new cljs.core.Keyword(null,"name","name",1843675177),d,new cljs.core.Keyword(null,"messages","messages",345434482),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,"parent","parent",-878878779),
cljs.core.truth_(e)?e:new cljs.core.Keyword("hoplon.app-pages._index_DOT_html","root","hoplon.app-pages._index_DOT_html/root",2099050054)],null)):null});
cljs.core._add_method.call(null,weathergen.ipc.on_message,"load-step-succeeded",function(a,b,c){a=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;b=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092));taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"hoplon.app-pages._index_DOT_html",null,47,new cljs.core.Keyword(null,
"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b,c){return function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["load-step-succeeded",c],null)}}(c,a,b),null),null,-1850343416);return cljs.core.truth_(cljs.core.deref.call(null,hoplon.app_pages._index_DOT_html.loading_QMARK_))?cljs.core.swap_BANG_.call(null,hoplon.app_pages._index_DOT_html.load_status,hoplon.app_pages._index_DOT_html.update_for_id,b,
function(a,b,c){return function(a){return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"state","state",-1988618099),new cljs.core.Keyword(null,"succeeded","succeeded",-1860573089))}}(c,a,b)):null});
cljs.core._add_method.call(null,weathergen.ipc.on_message,"load-step-warning",function(a,b,c){a=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;b=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092));var d=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"message","message",-406056002));taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,
"debug","debug",-1608172596),"hoplon.app-pages._index_DOT_html",null,53,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b,c,d){return function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["load-step-warning",c,d],null)}}(c,a,b,d),null),null,-479077047);return cljs.core.truth_(cljs.core.deref.call(null,hoplon.app_pages._index_DOT_html.loading_QMARK_))?cljs.core.swap_BANG_.call(null,
hoplon.app_pages._index_DOT_html.load_status,hoplon.app_pages._index_DOT_html.update_for_id,b,function(a,b,c,d){return function(a){return cljs.core.update.call(null,cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"state","state",-1988618099),new cljs.core.Keyword(null,"warning","warning",-1685650671)),new cljs.core.Keyword(null,"messages","messages",345434482),cljs.core.conj,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,
"warning","warning",-1685650671),new cljs.core.Keyword(null,"text","text",-1790561697),d],null))}}(c,a,b,d)):null});
cljs.core._add_method.call(null,weathergen.ipc.on_message,"load-step-failed",function(a,b,c){a=null!=c&&(c.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===c.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,c):c;b=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"id","id",-1388402092));var d=cljs.core.get.call(null,a,new cljs.core.Keyword(null,"message","message",-406056002));taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,
"debug","debug",-1608172596),"hoplon.app-pages._index_DOT_html",null,62,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(a,b,c,d){return function(){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,["load-step-failed",c,d],null)}}(c,a,b,d),null),null,-1778048280);return cljs.core.truth_(cljs.core.deref.call(null,hoplon.app_pages._index_DOT_html.loading_QMARK_))?cljs.core.swap_BANG_.call(null,
hoplon.app_pages._index_DOT_html.load_status,hoplon.app_pages._index_DOT_html.update_for_id,b,function(a,b,c,d){return function(e){return cljs.core.update.call(null,cljs.core.assoc.call(null,e,new cljs.core.Keyword(null,"state","state",-1988618099),new cljs.core.Keyword(null,"failed","failed",-1397425762)),new cljs.core.Keyword(null,"messages","messages",345434482),function(a,b,c,d){return function(a){return cljs.core.truth_(d)?cljs.core.conj.call(null,a,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"type","type",1174270348),new cljs.core.Keyword(null,"error","error",-978969032),new cljs.core.Keyword(null,"text","text",-1790561697),d],null)):a}}(a,b,c,d))}}(c,a,b,d)):null});
cljs.core._add_method.call(null,weathergen.ipc.on_message,"load-complete",function(a,b){taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"hoplon.app-pages._index_DOT_html",null,75,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(){return new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["load-complete"],null)},null),
null,-348532160);return javelin.core.dosync_STAR_.call(null,function(){cljs.core.reset_BANG_.call(null,hoplon.app_pages._index_DOT_html.loading_QMARK_,!1);return cljs.core.swap_BANG_.call(null,hoplon.app_pages._index_DOT_html.load_status,hoplon.app_pages._index_DOT_html.update_for_id,new cljs.core.Keyword("hoplon.app-pages._index_DOT_html","root","hoplon.app-pages._index_DOT_html/root",2099050054),function(a){return cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"state","state",-1988618099),
new cljs.core.Keyword(null,"succeeded","succeeded",-1860573089))})})});
cljs.core._add_method.call(null,weathergen.ipc.on_message,"load-failed",function(a,b,c){taoensso.timbre._log_BANG_.call(null,taoensso.timbre._STAR_config_STAR_,new cljs.core.Keyword(null,"debug","debug",-1608172596),"hoplon.app-pages._index_DOT_html",null,83,new cljs.core.Keyword(null,"p","p",151049309),new cljs.core.Keyword(null,"auto","auto",-566279492),new cljs.core.Delay(function(){return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,["load-failed",c],null)},null),
null,-572234874);return javelin.core.dosync_STAR_.call(null,function(){cljs.core.reset_BANG_.call(null,hoplon.app_pages._index_DOT_html.loading_QMARK_,!1);cljs.core.swap_BANG_.call(null,hoplon.app_pages._index_DOT_html.load_status,function(a){return cljs.core.map.call(null,function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"state","state",-1988618099)).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"started","started",585705024))?cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,
"state","state",-1988618099),new cljs.core.Keyword(null,"failed","failed",-1397425762)):a},a)});return cljs.core.swap_BANG_.call(null,hoplon.app_pages._index_DOT_html.load_status,hoplon.app_pages._index_DOT_html.update_for_id,new cljs.core.Keyword("hoplon.app-pages._index_DOT_html","root","hoplon.app-pages._index_DOT_html/root",2099050054),function(a){return cljs.core.update.call(null,cljs.core.assoc.call(null,a,new cljs.core.Keyword(null,"state","state",-1988618099),new cljs.core.Keyword(null,"failed",
"failed",-1397425762)),new cljs.core.Keyword(null,"messages","messages",345434482),function(a){return cljs.core.truth_(c)?cljs.core.conj.call(null,a,new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"error","error",-978969032),new cljs.core.Keyword(null,"text","text",-1790561697),c],null)):a})})})});
hoplon.app_pages._index_DOT_html.load_mission=function(){var a=hoplon.app_pages._index_DOT_html.electron.remote.dialog.showOpenDialog(cljs.core.clj__GT_js.call(null,new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"title","title",636505583),"Select a campaign or tactical engagement file",new cljs.core.Keyword(null,"properties","properties",685819552),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["openFile"],null),new cljs.core.Keyword(null,"filters",
"filters",974726919),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name","name",1843675177),"Campaign file",new cljs.core.Keyword(null,"extensions","extensions",-1103629196),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["cam"],null)],null),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"name","name",1843675177),"Tactical engagement file",new cljs.core.Keyword(null,
"extensions","extensions",-1103629196),new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,["tac"],null)],null)],null)],null)));if(cljs.core.truth_(a)){var b=cljs.core.nth.call(null,a,0,null);javelin.core.dosync_STAR_.call(null,function(a,b,e){return function(){cljs.core.reset_BANG_.call(null,hoplon.app_pages._index_DOT_html.loading_QMARK_,!0);return cljs.core.reset_BANG_.call(null,hoplon.app_pages._index_DOT_html.load_status,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword("hoplon.app-pages._index_DOT_html","root","hoplon.app-pages._index_DOT_html/root",2099050054),new cljs.core.Keyword(null,"state","state",-1988618099),new cljs.core.Keyword(null,"started","started",585705024),new cljs.core.Keyword(null,"name","name",1843675177),"Loading mission"],null)],null))}}(a,b,a));return weathergen.ipc.send_to_main.call(null,"open-mission",b)}return null};
hoplon.app_pages._index_DOT_html.load_briefing=function(){var a=hoplon.app_pages._index_DOT_html.electron.remote.dialog.showOpenDialog({title:"Select a campaign or tactical engagement file",openFile:!0,filters:[{name:"VMT Briefing",extensions:["vmtb"]}]});if(cljs.core.truth_(a)){var b=cljs.core.nth.call(null,a,0,null);javelin.core.dosync_STAR_.call(null,function(a,b,e){return function(){cljs.core.reset_BANG_.call(null,hoplon.app_pages._index_DOT_html.loading_QMARK_,!0);return cljs.core.reset_BANG_.call(null,
hoplon.app_pages._index_DOT_html.load_status,new cljs.core.PersistentVector(null,1,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword("hoplon.app-pages._index_DOT_html","root","hoplon.app-pages._index_DOT_html/root",2099050054),new cljs.core.Keyword(null,"state","state",-1988618099),new cljs.core.Keyword(null,"started","started",585705024),new cljs.core.Keyword(null,"name","name",1843675177),"Loading briefing"],
null)],null))}}(a,b,a));return weathergen.ipc.send_to_main.call(null,"open-briefing",b)}return null};hoplon.app_pages._index_DOT_html.inline=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;b=1<b.length?new cljs.core.IndexedSeq(b.slice(1),0,null):null;return hoplon.app_pages._index_DOT_html.inline.cljs$core$IFn$_invoke$arity$variadic(arguments[0],b)};
hoplon.app_pages._index_DOT_html.inline.cljs$core$IFn$_invoke$arity$variadic=function(a,b){return new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),cljs.core.assoc_in.call(null,a,new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.Keyword(null,"display","display",242065432)],null),"inline-block"),b],null)};
hoplon.app_pages._index_DOT_html.inline.cljs$lang$maxFixedArity=1;hoplon.app_pages._index_DOT_html.inline.cljs$lang$applyTo=function(a){var b=cljs.core.first.call(null,a);a=cljs.core.next.call(null,a);return hoplon.app_pages._index_DOT_html.inline.cljs$core$IFn$_invoke$arity$variadic(b,a)};
hoplon.app_pages._index_DOT_html.tree_item=function(a){var b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,c=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"id","id",-1388402092)),d=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"messages","messages",345434482)),e=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"state","state",-1988618099)),f=cljs.core.get.call(null,b,new cljs.core.Keyword(null,
"name","name",1843675177));return hoplon.app_pages._index_DOT_html.inline.call(null,cljs.core.PersistentArrayMap.EMPTY,hoplon.app_pages._index_DOT_html.inline.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"verticalAlign","verticalAlign",465597462),"top"],null)],null),function(){var a=cljs.core._EQ_;if(cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"succeeded","succeeded",
-1860573089),e)))return hoplon.app_pages._index_DOT_html.inline.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"color","color",1011675173),"green",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,24),new cljs.core.Keyword(null,"vertical-align","vertical-align",
651007333),"top"],null)],null),"✓");if(cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"failed","failed",-1397425762),e)))return hoplon.app_pages._index_DOT_html.inline.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"color","color",1011675173),"red",new cljs.core.Keyword(null,"width","width",
-384071477),weathergen.ui.common.px.call(null,24),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"top"],null)],null),"✗");if(cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"started","started",585705024),e)))return new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,
3,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,24),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"top",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,5)],null),new cljs.core.Keyword(null,"src","src",-1651076051),"images/spinner.gif"],null)],null);if(cljs.core.truth_(a.call(null,new cljs.core.Keyword(null,"warning","warning",-1685650671),e)))return new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,24),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"top",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,5),
new cljs.core.Keyword(null,"margin-right","margin-right",809689658),weathergen.ui.common.px.call(null,3)],null),new cljs.core.Keyword(null,"src","src",-1651076051),"images/warning.svg"],null)],null);throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)].join(""));}(),hoplon.app_pages._index_DOT_html.inline.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"normal"],null)],null),f)),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"table","table",-564943036),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),weathergen.ui.common.px.call(null,30)],null)],null),new cljs.core.PersistentVector(null,
2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"tbody","tbody",-80678300),function(){return function(a,b,c,d,e,f,p){return function r(g){return new cljs.core.LazySeq(null,function(a,b,c,d,e,f,h){return function(){for(;;){var a=cljs.core.seq.call(null,g);if(a){if(cljs.core.chunked_seq_QMARK_.call(null,a)){var b=cljs.core.chunk_first.call(null,a),c=cljs.core.count.call(null,b),d=cljs.core.chunk_buffer.call(null,c);return function(){for(var a=0;;)if(a<c){var e=cljs.core._nth.call(null,
b,a);cljs.core.chunk_append.call(null,d,function(){var a=e,b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"type","type",1174270348)),b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"text","text",-1790561697)),c=cljs.core.PersistentVector,d=cljs.core.PersistentVector.EMPTY_NODE,f=new cljs.core.Keyword(null,"tr","tr",-1424774646),g=cljs.core.PersistentVector,
h=cljs.core.PersistentVector.EMPTY_NODE,k=new cljs.core.Keyword(null,"td","td",1479933353),l=new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"top"],null)],null);var m=cljs.core._EQ_;if(cljs.core.truth_(m.call(null,new cljs.core.Keyword(null,"warning","warning",-1685650671),a)))m=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,
[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,24),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,-5)],null),new cljs.core.Keyword(null,"src",
"src",-1651076051),"images/warning.svg"],null)],null);else if(cljs.core.truth_(m.call(null,new cljs.core.Keyword(null,"error","error",-978969032),a)))m=hoplon.app_pages._index_DOT_html.inline.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"color","color",1011675173),"red",new cljs.core.Keyword(null,
"width","width",-384071477),weathergen.ui.common.px.call(null,24)],null)],null),"✗");else throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));return new c(null,3,5,d,[f,new g(null,3,5,h,[k,l,m],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"td","td",1479933353),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,
"div","div",1057191632),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),cljs.core._EQ_.call(null,a,new cljs.core.Keyword(null,"error","error",-978969032))?new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"pre",new cljs.core.Keyword(null,"font-family","font-family",-667419874),"monospace",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,7)],null):
new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"normal"],null)],null),b],null)],null)],null)}());a+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),r.call(null,cljs.core.chunk_rest.call(null,a))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,d),null)}var e=cljs.core.first.call(null,a);return cljs.core.cons.call(null,function(){var a=e,b=null!=a&&(a.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===
a.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,a):a,a=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"type","type",1174270348)),b=cljs.core.get.call(null,b,new cljs.core.Keyword(null,"text","text",-1790561697)),c=cljs.core.PersistentVector,d=cljs.core.PersistentVector.EMPTY_NODE,f=new cljs.core.Keyword(null,"tr","tr",-1424774646),g=cljs.core.PersistentVector,h=cljs.core.PersistentVector.EMPTY_NODE,k=new cljs.core.Keyword(null,"td","td",1479933353),l=new cljs.core.PersistentArrayMap(null,
1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"top"],null)],null);var m=cljs.core._EQ_;if(cljs.core.truth_(m.call(null,new cljs.core.Keyword(null,"warning","warning",-1685650671),a)))m=new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"img","img",1442687358),new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,
"style","style",-496642736),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,24),new cljs.core.Keyword(null,"vertical-align","vertical-align",651007333),"middle",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,-5)],null),new cljs.core.Keyword(null,"src","src",-1651076051),"images/warning.svg"],null)],null);else if(cljs.core.truth_(m.call(null,new cljs.core.Keyword(null,
"error","error",-978969032),a)))m=hoplon.app_pages._index_DOT_html.inline.call(null,new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"color","color",1011675173),"red",new cljs.core.Keyword(null,"width","width",-384071477),weathergen.ui.common.px.call(null,24)],null)],null),"✗");else throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("No matching clause: "),
cljs.core.str.cljs$core$IFn$_invoke$arity$1(a)].join(""));return new c(null,3,5,d,[f,new g(null,3,5,h,[k,l,m],null),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"td","td",1479933353),new cljs.core.PersistentVector(null,3,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"style","style",-496642736),cljs.core._EQ_.call(null,a,new cljs.core.Keyword(null,
"error","error",-978969032))?new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"pre",new cljs.core.Keyword(null,"font-family","font-family",-667419874),"monospace",new cljs.core.Keyword(null,"margin-top","margin-top",392161226),weathergen.ui.common.px.call(null,7)],null):new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"white-space","white-space",-707351930),"normal"],null)],null),b],null)],null)],null)}(),r.call(null,cljs.core.rest.call(null,
a)))}return null}}}(a,b,c,d,e,f,p),null,null)}}(a,b,b,c,d,e,f).call(null,d)}()],null)],null))};
hoplon.app_pages._index_DOT_html.tree_level=function(a){for(var b=[],c=arguments.length,d=0;;)if(d<c)b.push(arguments[d]),d+=1;else break;switch(b.length){case 2:return hoplon.app_pages._index_DOT_html.tree_level.cljs$core$IFn$_invoke$arity$2(arguments[0],arguments[1]);case 3:return hoplon.app_pages._index_DOT_html.tree_level.cljs$core$IFn$_invoke$arity$3(arguments[0],arguments[1],arguments[2]);default:throw Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1("Invalid arity: "),cljs.core.str.cljs$core$IFn$_invoke$arity$1(b.length)].join(""));
}};hoplon.app_pages._index_DOT_html.tree_level.cljs$core$IFn$_invoke$arity$2=function(a,b){return hoplon.app_pages._index_DOT_html.tree_level.call(null,a,b,null)};
hoplon.app_pages._index_DOT_html.tree_level.cljs$core$IFn$_invoke$arity$3=function(a,b,c){return function e(f){return new cljs.core.LazySeq(null,function(){for(var g=f;;){var h=cljs.core.seq.call(null,g);if(h){var k=h;if(cljs.core.chunked_seq_QMARK_.call(null,k)){var l=cljs.core.chunk_first.call(null,k),m=cljs.core.count.call(null,l),n=cljs.core.chunk_buffer.call(null,m);return function(){for(var e=0;;)if(e<m){var f=cljs.core._nth.call(null,l,e),p=f,q=null!=p&&(p.cljs$lang$protocol_mask$partition0$&
64||cljs.core.PROTOCOL_SENTINEL===p.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,p):p,r=cljs.core.get.call(null,q,new cljs.core.Keyword(null,"id","id",-1388402092));cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"parent","parent",-878878779)).cljs$core$IFn$_invoke$arity$1(f),c)&&cljs.core.chunk_append.call(null,n,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"ui","ui",-469653645),hoplon.app_pages._index_DOT_html.tree_item.call(null,f),new cljs.core.Keyword(null,
"id","id",-1388402092),r,new cljs.core.Keyword(null,"expanded?","expanded?",2055832296),cljs.core.not.call(null,cljs.core.get.call(null,b,r)),new cljs.core.Keyword(null,"children","children",-940561982),function(){return cljs.core.seq.call(null,cljs.core.filter.call(null,function(a,b,c,e,f,g,h,k,l,m,n){return function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"parent","parent",-878878779)).cljs$core$IFn$_invoke$arity$1(a),f)}}(e,g,p,q,r,f,l,m,n,k,h),a))?hoplon.app_pages._index_DOT_html.tree_level.call(null,
a,b,r):null}()],null));e+=1}else return!0}()?cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,n),e.call(null,cljs.core.chunk_rest.call(null,k))):cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,n),null)}var p=cljs.core.first.call(null,k),q=p,r=null!=q&&(q.cljs$lang$protocol_mask$partition0$&64||cljs.core.PROTOCOL_SENTINEL===q.cljs$core$ISeq$)?cljs.core.apply.call(null,cljs.core.hash_map,q):q,u=cljs.core.get.call(null,r,new cljs.core.Keyword(null,"id","id",-1388402092));if(cljs.core._EQ_.call(null,
(new cljs.core.Keyword(null,"parent","parent",-878878779)).cljs$core$IFn$_invoke$arity$1(p),c))return cljs.core.cons.call(null,new cljs.core.PersistentArrayMap(null,4,[new cljs.core.Keyword(null,"ui","ui",-469653645),hoplon.app_pages._index_DOT_html.tree_item.call(null,p),new cljs.core.Keyword(null,"id","id",-1388402092),u,new cljs.core.Keyword(null,"expanded?","expanded?",2055832296),cljs.core.not.call(null,cljs.core.get.call(null,b,u)),new cljs.core.Keyword(null,"children","children",-940561982),
function(){return cljs.core.seq.call(null,cljs.core.filter.call(null,function(a,b,c,e,f,g,h){return function(a){return cljs.core._EQ_.call(null,(new cljs.core.Keyword(null,"parent","parent",-878878779)).cljs$core$IFn$_invoke$arity$1(a),e)}}(g,q,r,u,p,k,h),a))?hoplon.app_pages._index_DOT_html.tree_level.call(null,a,b,u):null}()],null),e.call(null,cljs.core.rest.call(null,k)));g=cljs.core.rest.call(null,k)}else return null}},null,null)}.call(null,a)};
hoplon.app_pages._index_DOT_html.tree_level.cljs$lang$maxFixedArity=3;
hoplon.core.html.call(null,weathergen.ui.head.call(null),hoplon.core.body.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin","margin",-995903681),"0"],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,3,[new cljs.core.Keyword(null,"display","display",242065432),"flex",new cljs.core.Keyword(null,"flex-direction","flex-direction",364609438),"column",
new cljs.core.Keyword(null,"height","height",1025178622),"100vh"],null),hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"padding","padding",1660304693),"8px 8px 0"],null),weathergen.ui.titlebar.call(null)),function(){var a=new cljs.core.PersistentArrayMap(null,2,[new cljs.core.Keyword(null,"display","display",242065432),"inline-block",new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,
5,10)],null);return hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,150)],null),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"disabled?","disabled?",-1523234181),hoplon.app_pages._index_DOT_html.loading_QMARK_,new cljs.core.Keyword(null,"css","css",1135045163),a,new cljs.core.Keyword(null,"click","click",1912301393),
hoplon.app_pages._index_DOT_html.load_mission,"Load mission (.cam/.tac)"),weathergen.ui.buttons.a_button.call(null,new cljs.core.Keyword(null,"disabled?","disabled?",-1523234181),hoplon.app_pages._index_DOT_html.loading_QMARK_,new cljs.core.Keyword(null,"css","css",1135045163),a,new cljs.core.Keyword(null,"click","click",1912301393),hoplon.app_pages._index_DOT_html.load_briefing,"Load briefing (.vmtb)"))}(),function(){var a=hoplon.core.div.call(null,new cljs.core.Keyword(null,"css","css",1135045163),
new cljs.core.PersistentArrayMap(null,7,[new cljs.core.Keyword(null,"overflow-y","overflow-y",-1436589285),"auto",new cljs.core.Keyword(null,"overflow-x","overflow-x",-26547754),"auto",new cljs.core.Keyword(null,"flex","flex",-1425124628),1,new cljs.core.Keyword(null,"font-size","font-size",-1847940346),weathergen.ui.common.pct.call(null,150),new cljs.core.Keyword(null,"border","border",1444987323),"solid 1px black",new cljs.core.Keyword(null,"margin","margin",-995903681),weathergen.ui.common.px.call(null,
0,10,20,10),new cljs.core.Keyword(null,"padding","padding",1660304693),weathergen.ui.common.px.call(null,4,24,4,4)],null),weathergen.ui.common.styled.call(null,new cljs.core.Keyword(null,"garden","garden",-1966516149),new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"ol","ol",932524051),new cljs.core.PersistentArrayMap(null,1,[new cljs.core.Keyword(null,"margin-top","margin-top",392161226),0],null)],null),function(){var a=javelin.core.cell.call(null,
cljs.core.PersistentArrayMap.EMPTY),c=javelin.core.formula.call(null,function(a){return function(a,b){return hoplon.app_pages._index_DOT_html.tree_level.call(null,a,b)}}(a)).call(null,hoplon.app_pages._index_DOT_html.load_status,a);return weathergen.ui.trees.rtree.call(null,c,function(a,b){return function(b){return cljs.core.swap_BANG_.call(null,a,cljs.core.update,b,cljs.core.not)}}(a,c))}()));cljs.core.add_watch.call(null,hoplon.app_pages._index_DOT_html.load_status,new cljs.core.Keyword("hoplon.app-pages._index_DOT_html",
"scroll-notifications","hoplon.app-pages._index_DOT_html/scroll-notifications",-475071792),function(a){return function(b,d,e,f){return setTimeout(function(a){return function(){return a.scrollTop=a.scrollHeight}}(a),0)}}(a));return a}())));var boot={cljs:{}};boot.cljs.main20019={};
//# sourceMappingURL=index.html.js.map