Skip to content
Browse files

initial commit

  • Loading branch information...
0 parents commit b659b1d731aee8d9fe0b149b66fb819c4b38c205 @abedra committed Apr 15, 2012
Showing with 698 additions and 0 deletions.
  1. +37 −0 common.css
  2. +193 −0 org-html-slideshow.js
  3. +97 −0 presenter.css
  4. +48 −0 projection.css
  5. 0 screen.css
  6. +80 −0 securing-the-rails.org
  7. +243 −0 slides.html
37 common.css
@@ -0,0 +1,37 @@
+/* Org-HTML-Slideshow common styles.
+ *
+ * These styles will apply to all views.
+ */
+
+body {
+ font-family: Helvetica, Arial, sans-serif;
+}
+
+span.tag {
+ display: none;
+}
+
+pre {
+ font-family: Monaco, "Courier New", monospace;
+}
+
+#c-panel {
+ background: lightgray;
+ bottom: 0px;
+ border: 1px solid black;
+ font-size: 12pt;
+ position: fixed;
+ right: 0px;
+}
+
+#c-panel a {
+ display: block;
+}
+
+#c-panel .key {
+ display: none;
+}
+
+#c-panel .key {
+ display: none;
+}
193 org-html-slideshow.js
@@ -0,0 +1,193 @@
+function b(a){throw a;}var g=void 0,i=!0,k=null,m=!1;function ba(){return function(a){return a}}function n(a){return function(){return this[a]}}function ca(a){return function(){return a}}var o,p=this;function da(a){for(var a=a.split("."),c=p,d;d=a.shift();)if(c[d]!=k)c=c[d];else return k;return c}function ea(){}
+function s(a){var c=typeof a;if("object"==c)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return c;var d=Object.prototype.toString.call(a);if("[object Window]"==d)return"object";if("[object Array]"==d||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==d||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
+else if("function"==c&&"undefined"==typeof a.call)return"object";return c}function t(a){return a!==g}function v(a){return"array"==s(a)}function fa(a){var c=s(a);return"array"==c||"object"==c&&"number"==typeof a.length}function x(a){return"string"==typeof a}function ga(a){return"function"==s(a)}function ha(a){a=s(a);return"object"==a||"array"==a||"function"==a}function ia(a){return a[ja]||(a[ja]=++ka)}var ja="closure_uid_"+Math.floor(2147483648*Math.random()).toString(36),ka=0;
+function la(a,c,d){return a.call.apply(a.bind,arguments)}function ma(a,c,d){var e=c||p;if(2<arguments.length){var f=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,f);return a.apply(e,c)}}return function(){return a.apply(e,arguments)}}function na(a,c,d){na=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?la:ma;return na.apply(k,arguments)}
+function oa(a,c){var d=Array.prototype.slice.call(arguments,1);return function(){var c=Array.prototype.slice.call(arguments);c.unshift.apply(c,d);return a.apply(this,c)}}var pa=Date.now||function(){return+new Date};function qa(a,c){function d(){}d.prototype=c.prototype;a.la=c.prototype;a.prototype=new d};function ra(a,c){for(var d=1;d<arguments.length;d++)var e=(""+arguments[d]).replace(/\$/g,"$$$$"),a=a.replace(/\%s/,e);return a}var sa=/(\.\d+)|(\d+)|(\D+)/g;function ta(a,c){if(a==c)return 0;if(!a)return-1;if(!c)return 1;for(var d=a.toLowerCase().match(sa),e=c.toLowerCase().match(sa),f=Math.min(d.length,e.length),h=0;h<f;h++){var j=d[h],l=e[h];if(j!=l){d=parseInt(j,10);return!isNaN(d)&&(e=parseInt(l,10),!isNaN(e)&&d-e)?d-e:j<l?-1:1}}return d.length!=e.length?d.length-e.length:a<c?-1:1}var ua=/^[a-zA-Z0-9\-_.!~*'()]*$/;
+function va(a){a=""+a;return!ua.test(a)?encodeURIComponent(a):a}function wa(a){if(!xa.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(ya,"&amp;"));-1!=a.indexOf("<")&&(a=a.replace(za,"&lt;"));-1!=a.indexOf(">")&&(a=a.replace(Aa,"&gt;"));-1!=a.indexOf('"')&&(a=a.replace(Ba,"&quot;"));return a}var ya=/&/g,za=/</g,Aa=/>/g,Ba=/\"/g,xa=/[&<>\"]/,Ca={"\x00":"\\0","\u0008":"\\b","\u000c":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\u000b":"\\x0B",'"':'\\"',"\\":"\\\\"},Da={"'":"\\'"};
+function Ea(a){var q;a=""+a;if(a.quote)return a.quote();for(var c=['"'],d=0;d<a.length;d++){var e=a.charAt(d),f=e.charCodeAt(0),h=c,j=d+1,l;if(!(l=Ca[e])){if(!(31<f&&127>f))if(e in Da)e=Da[e];else if(e in Ca)q=Da[e]=Ca[e],e=q;else{f=e;l=e.charCodeAt(0);if(31<l&&127>l)f=e;else{if(256>l){if(f="\\x",16>l||256<l)f+="0"}else f="\\u",4096>l&&(f+="0");f+=l.toString(16).toUpperCase()}e=Da[e]=f}l=e}h[j]=l}c.push('"');return c.join("")}
+function Fa(a,c){for(var d=0,e=(""+a).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),f=(""+c).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),h=Math.max(e.length,f.length),j=0;0==d&&j<h;j++){var l=e[j]||"",q=f[j]||"",r=RegExp("(\\d*)(\\D*)","g"),w=RegExp("(\\d*)(\\D*)","g");do{var u=r.exec(l)||["","",""],H=w.exec(q)||["","",""];if(0==u[0].length&&0==H[0].length)break;d=((0==u[1].length?0:parseInt(u[1],10))<(0==H[1].length?0:parseInt(H[1],10))?-1:(0==u[1].length?0:parseInt(u[1],10))>(0==H[1].length?
+0:parseInt(H[1],10))?1:0)||((0==u[2].length)<(0==H[2].length)?-1:(0==u[2].length)>(0==H[2].length)?1:0)||(u[2]<H[2]?-1:u[2]>H[2]?1:0)}while(0==d)}return d}function Ga(a){for(var c=0,d=0;d<a.length;++d)c=31*c+a.charCodeAt(d),c%=4294967296;return c}var Ha={};function Ia(a){return Ha[a]||(Ha[a]=(""+a).replace(/\-([a-z])/g,function(a,d){return d.toUpperCase()}))};var Ja,Ka,La,Ma,Na,Oa=(Na="ScriptEngine"in p&&"JScript"==p.ScriptEngine())?p.ScriptEngineMajorVersion()+"."+p.ScriptEngineMinorVersion()+"."+p.ScriptEngineBuildVersion():"0";function Pa(a,c){this.n=Na?[]:"";a!=k&&this.append.apply(this,arguments)}Pa.prototype.set=function(a){this.clear();this.append(a)};Na?(Pa.prototype.Aa=0,Pa.prototype.append=function(a,c,d){c==k?this.n[this.Aa++]=a:(this.n.push.apply(this.n,arguments),this.Aa=this.n.length);return this}):Pa.prototype.append=function(a,c,d){this.n+=a;if(c!=k)for(var e=1;e<arguments.length;e++)this.n+=arguments[e];return this};Pa.prototype.clear=function(){Na?this.Aa=this.n.length=0:this.n=""};
+Pa.prototype.toString=function(){if(Na){var a=this.n.join("");this.clear();a&&this.append(a);return a}return this.n};var Qa;function Ra(a,c){var d=Array.prototype.slice.call(arguments),e=d.shift();"undefined"==typeof e&&b(Error("[goog.string.format] Template required"));return e.replace(/%([0\-\ \+]*)(\d+)?(\.(\d+))?([%sfdiu])/g,function(a,c,e,l,q,r,w,u){if("%"==r)return"%";var H=d.shift();"undefined"==typeof H&&b(Error("[goog.string.format] Not enough arguments"));arguments[0]=H;return Sa[r].apply(k,arguments)})}
+var Sa={s:function(a,c,d){return isNaN(d)||a.length>=d?a:a=-1<c.indexOf("-",0)?a+Array(d-a.length+1).join(" "):Array(d-a.length+1).join(" ")+a},f:function(a,c,d,e,f){e=a.toString();isNaN(f)||""==f||(e=a.toFixed(f));var h;h=0>a?"-":0<=c.indexOf("+")?"+":0<=c.indexOf(" ")?" ":"";0<=a&&(e=h+e);if(isNaN(d)||e.length>=d)return e;e=isNaN(f)?Math.abs(a).toString():Math.abs(a).toFixed(f);a=d-e.length-h.length;return e=0<=c.indexOf("-",0)?h+e+Array(a+1).join(" "):h+Array(a+1).join(0<=c.indexOf("0",0)?"0":
+" ")+e}};Sa.d=function(a,c,d,e,f,h,j,l){return Sa.f(parseInt(a,10),c,d,e,0,h,j,l)};Sa.i=Sa.d;Sa.u=Sa.d;function Ta(){return p.navigator?p.navigator.userAgent:k}Ma=La=Ka=Ja=m;var Ua;if(Ua=Ta()){var Va=p.navigator;Ja=0==Ua.indexOf("Opera");Ka=!Ja&&-1!=Ua.indexOf("MSIE");La=!Ja&&-1!=Ua.indexOf("WebKit");Ma=!Ja&&!La&&"Gecko"==Va.product}var Wa=Ja,y=Ka,Xa=Ma,Ya=La,Za=p.navigator,$a=-1!=(Za&&Za.platform||"").indexOf("Mac"),ab;
+a:{var bb="",cb;if(Wa&&p.opera)var db=p.opera.version,bb="function"==typeof db?db():db;else if(Xa?cb=/rv\:([^\);]+)(\)|;)/:y?cb=/MSIE\s+([^\);]+)(\)|;)/:Ya&&(cb=/WebKit\/(\S+)/),cb)var eb=cb.exec(Ta()),bb=eb?eb[1]:"";if(y){var fb,gb=p.document;fb=gb?gb.documentMode:g;if(fb>parseFloat(bb)){ab=""+fb;break a}}ab=bb}var hb={};function ib(a){return hb[a]||(hb[a]=0<=Fa(ab,a))};function jb(){this.eb=pa()}var kb=new jb;jb.prototype.set=function(a){this.eb=a};jb.prototype.reset=function(){this.set(pa())};jb.prototype.get=n("eb");function lb(a){this.ub=a||"";this.Ab=kb}o=lb.prototype;o.gb=i;o.yb=i;o.xb=i;o.hb=m;o.zb=m;function mb(a){return 10>a?"0"+a:""+a}function nb(a,c){var d=(a.ib-c)/1E3,e=d.toFixed(3),f=0;if(1>d)f=2;else for(;100>d;)f++,d*=10;for(;0<f--;)e=" "+e;return e}function ob(a){lb.call(this,a)}qa(ob,lb);function pb(a){this.stack=Error().stack||"";if(a)this.message=""+a}qa(pb,Error);pb.prototype.name="CustomError";function qb(a,c){c.unshift(a);pb.call(this,ra.apply(k,c));c.shift();this.Eb=a}qa(qb,pb);qb.prototype.name="AssertionError";function rb(a,c){b(new qb("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1)))};var sb=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([\\w\\d\\-\\u0100-\\uffff.%]*)(?::([0-9]+))?)?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$");var tb=Array.prototype,ub=tb.indexOf?function(a,c,d){return tb.indexOf.call(a,c,d)}:function(a,c,d){d=d==k?0:0>d?Math.max(0,a.length+d):d;if(x(a))return!x(c)||1!=c.length?-1:a.indexOf(c,d);for(;d<a.length;d++)if(d in a&&a[d]===c)return d;return-1},vb=tb.forEach?function(a,c,d){tb.forEach.call(a,c,d)}:function(a,c,d){for(var e=a.length,f=x(a)?a.split(""):a,h=0;h<e;h++)h in f&&c.call(d,f[h],h,a)};function wb(a){return tb.concat.apply(tb,arguments)}
+function xb(a){if(v(a))return wb(a);for(var c=[],d=0,e=a.length;d<e;d++)c[d]=a[d];return c}function yb(a){return v(a)?wb(a):xb(a)}function zb(a,c){for(var d=1;d<arguments.length;d++){var e=arguments[d],f;if(v(e)||(f=fa(e))&&e.hasOwnProperty("callee"))a.push.apply(a,e);else if(f)for(var h=a.length,j=e.length,l=0;l<j;l++)a[h+l]=e[l];else a.push(e)}}function Ab(a,c,d,e){tb.splice.apply(a,Bb(arguments,1))}function Bb(a,c,d){return 2>=arguments.length?tb.slice.call(a,c):tb.slice.call(a,c,d)};function Db(a,c,d){for(var e in a)c.call(d,a[e],e,a)}function Eb(a){var c=[],d=0,e;for(e in a)c[d++]=a[e];return c}function Fb(a){var c=[],d=0,e;for(e in a)c[d++]=e;return c}function Gb(a){var c={},d;for(d in a)c[d]=a[d];return c}var Hb="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",");
+function Ib(a,c){for(var d,e,f=1;f<arguments.length;f++){e=arguments[f];for(d in e)a[d]=e[d];for(var h=0;h<Hb.length;h++)d=Hb[h],Object.prototype.hasOwnProperty.call(e,d)&&(a[d]=e[d])}};function Jb(a){if("function"==typeof a.Z)return a.Z();if(x(a))return a.split("");if(fa(a)){for(var c=[],d=a.length,e=0;e<d;e++)c.push(a[e]);return c}return Eb(a)}function Kb(a,c,d){if("function"==typeof a.forEach)a.forEach(c,d);else if(fa(a)||x(a))vb(a,c,d);else{var e;if("function"==typeof a.fa)e=a.fa();else if("function"!=typeof a.Z)if(fa(a)||x(a)){e=[];for(var f=a.length,h=0;h<f;h++)e.push(h)}else e=Fb(a);else e=g;for(var f=Jb(a),h=f.length,j=0;j<h;j++)c.call(d,f[j],e&&e[j],a)}};function Lb(a,c){this.H={};this.h=[];var d=arguments.length;if(1<d){d%2&&b(Error("Uneven number of arguments"));for(var e=0;e<d;e+=2)this.set(arguments[e],arguments[e+1])}else if(a){a instanceof Lb?(d=a.fa(),e=a.Z()):(d=Fb(a),e=Eb(a));for(var f=0;f<d.length;f++)this.set(d[f],e[f])}}o=Lb.prototype;o.e=0;o.Oa=0;o.Z=function(){Mb(this);for(var a=[],c=0;c<this.h.length;c++)a.push(this.H[this.h[c]]);return a};o.fa=function(){Mb(this);return this.h.concat()};o.V=function(a){return Nb(this.H,a)};
+o.clear=function(){this.H={};this.Oa=this.e=this.h.length=0};o.remove=function(a){return Nb(this.H,a)?(delete this.H[a],this.e--,this.Oa++,this.h.length>2*this.e&&Mb(this),i):m};function Mb(a){if(a.e!=a.h.length){for(var c=0,d=0;c<a.h.length;){var e=a.h[c];Nb(a.H,e)&&(a.h[d++]=e);c++}a.h.length=d}if(a.e!=a.h.length){for(var f={},d=c=0;c<a.h.length;)e=a.h[c],Nb(f,e)||(a.h[d++]=e,f[e]=1),c++;a.h.length=d}}o.get=function(a,c){return Nb(this.H,a)?this.H[a]:c};
+o.set=function(a,c){Nb(this.H,a)||(this.e++,this.h.push(a),this.Oa++);this.H[a]=c};o.da=function(){return new Lb(this)};function Nb(a,c){return Object.prototype.hasOwnProperty.call(a,c)};function Ob(a,c){var d;a instanceof Ob?(this.ka(c==k?a.G:c),Pb(this,a.Q),Qb(this,a.ta),Rb(this,a.W),Sb(this,a.ha),Tb(this,a.ga),Ub(this,a.M.da()),Vb(this,a.ea)):a&&(d=(""+a).match(sb))?(this.ka(!!c),Pb(this,d[1]||"",i),Qb(this,d[2]||"",i),Rb(this,d[3]||"",i),Sb(this,d[4]),Tb(this,d[5]||"",i),Ub(this,d[6]||"",i),Vb(this,d[7]||"",i)):(this.ka(!!c),this.M=new Wb(k,this,this.G))}o=Ob.prototype;o.Q="";o.ta="";o.W="";o.ha=k;o.ga="";o.ea="";o.qb=m;o.G=m;
+o.toString=function(){if(this.A)return this.A;var a=[];this.Q&&a.push(Xb(this.Q,Yb),":");this.W&&(a.push("//"),this.ta&&a.push(Xb(this.ta,Yb),"@"),a.push(x(this.W)?encodeURIComponent(this.W):k),this.ha!=k&&a.push(":",""+this.ha));this.ga&&(this.W&&"/"!=this.ga.charAt(0)&&a.push("/"),a.push(Xb(this.ga,Zb)));var c=""+this.M;c&&a.push("?",c);this.ea&&a.push("#",Xb(this.ea,$b));return this.A=a.join("")};
+o.da=function(){var a=this.Q,c=this.ta,d=this.W,e=this.ha,f=this.ga,h=this.M.da(),j=this.ea,l=new Ob(k,this.G);a&&Pb(l,a);c&&Qb(l,c);d&&Rb(l,d);e&&Sb(l,e);f&&Tb(l,f);h&&Ub(l,h);j&&Vb(l,j);return l};function Pb(a,c,d){ac(a);delete a.A;a.Q=d?c?decodeURIComponent(c):"":c;if(a.Q)a.Q=a.Q.replace(/:$/,"")}function Qb(a,c,d){ac(a);delete a.A;a.ta=d?c?decodeURIComponent(c):"":c}function Rb(a,c,d){ac(a);delete a.A;a.W=d?c?decodeURIComponent(c):"":c}
+function Sb(a,c){ac(a);delete a.A;c?(c=Number(c),(isNaN(c)||0>c)&&b(Error("Bad port number "+c)),a.ha=c):a.ha=k}function Tb(a,c,d){ac(a);delete a.A;a.ga=d?c?decodeURIComponent(c):"":c}function Ub(a,c,d){ac(a);delete a.A;c instanceof Wb?(a.M=c,a.M.Na=a,a.M.ka(a.G)):(d||(c=Xb(c,bc)),a.M=new Wb(c,a,a.G))}function Vb(a,c,d){ac(a);delete a.A;a.ea=d?c?decodeURIComponent(c):"":c}function ac(a){a.qb&&b(Error("Tried to modify a read-only Uri"))}o.ka=function(a){this.G=a;this.M&&this.M.ka(a);return this};
+function cc(a,c){return a instanceof Ob?a.da():new Ob(a,c)}var dc=/^[a-zA-Z0-9\-_.!~*'():\/;?]*$/;function Xb(a,c){var d=k;x(a)&&(d=a,dc.test(d)||(d=encodeURI(a)),0<=d.search(c)&&(d=d.replace(c,ec)));return d}function ec(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)}var Yb=/[#\/\?@]/g,Zb=/[\#\?]/g,bc=/[\#\?@]/g,$b=/#/g;function Wb(a,c,d){this.K=a||k;this.Na=c||k;this.G=!!d}
+function fc(a){if(!a.g&&(a.g=new Lb,a.K))for(var c=a.K.split("&"),d=0;d<c.length;d++){var e=c[d].indexOf("="),f=k,h=k;0<=e?(f=c[d].substring(0,e),h=c[d].substring(e+1)):f=c[d];f=decodeURIComponent(f.replace(/\+/g," "));f=gc(a,f);a.add(f,h?decodeURIComponent(h.replace(/\+/g," ")):"")}}o=Wb.prototype;o.g=k;o.e=k;o.add=function(a,c){fc(this);hc(this);a=gc(this,a);if(this.V(a)){var d=this.g.get(a);v(d)?d.push(c):this.g.set(a,[d,c])}else this.g.set(a,c);this.e++;return this};
+o.remove=function(a){fc(this);a=gc(this,a);if(this.g.V(a)){hc(this);var c=this.g.get(a);v(c)?this.e-=c.length:this.e--;return this.g.remove(a)}return m};o.clear=function(){hc(this);this.g&&this.g.clear();this.e=0};o.V=function(a){fc(this);a=gc(this,a);return this.g.V(a)};o.fa=function(){fc(this);for(var a=this.g.Z(),c=this.g.fa(),d=[],e=0;e<c.length;e++){var f=a[e];if(v(f))for(var h=0;h<f.length;h++)d.push(c[e]);else d.push(c[e])}return d};
+o.Z=function(a){fc(this);if(a)if(a=gc(this,a),this.V(a)){var c=this.g.get(a);if(v(c))return c;a=[];a.push(c)}else a=[];else for(var c=this.g.Z(),a=[],d=0;d<c.length;d++){var e=c[d];v(e)?zb(a,e):a.push(e)}return a};o.set=function(a,c){fc(this);hc(this);a=gc(this,a);if(this.V(a)){var d=this.g.get(a);v(d)?this.e-=d.length:this.e--}this.g.set(a,c);this.e++;return this};o.get=function(a,c){fc(this);a=gc(this,a);if(this.V(a)){var d=this.g.get(a);return v(d)?d[0]:d}return c};
+o.toString=function(){if(this.K)return this.K;if(!this.g)return"";for(var a=[],c=0,d=this.g.fa(),e=0;e<d.length;e++){var f=d[e],h=va(f),f=this.g.get(f);if(v(f))for(var j=0;j<f.length;j++)0<c&&a.push("&"),a.push(h),""!==f[j]&&a.push("=",va(f[j])),c++;else 0<c&&a.push("&"),a.push(h),""!==f&&a.push("=",va(f)),c++}return this.K=a.join("")};function hc(a){delete a.Ea;delete a.K;a.Na&&delete a.Na.A}o.da=function(){var a=new Wb;if(this.Ea)a.Ea=this.Ea;if(this.K)a.K=this.K;if(this.g)a.g=this.g.da();return a};
+function gc(a,c){var d=""+c;a.G&&(d=d.toLowerCase());return d}o.ka=function(a){a&&!this.G&&(fc(this),hc(this),Kb(this.g,function(a,d){var e=d.toLowerCase();d!=e&&(this.remove(d),this.add(e,a))},this));this.G=a};!y||ib("9");var ic=y&&!ib("8");function jc(){}jc.prototype.Wa=m;jc.prototype.ma=function(){if(!this.Wa)this.Wa=i,this.D()};jc.prototype.D=function(){};function kc(a,c){this.type=a;this.currentTarget=this.target=c}qa(kc,jc);o=kc.prototype;o.D=function(){delete this.type;delete this.target;delete this.currentTarget};o.aa=m;o.sa=i;o.stopPropagation=function(){this.aa=i};o.preventDefault=function(){this.sa=m};var lc=new Function("a","return a");function mc(a,c){a&&this.qa(a,c)}qa(mc,kc);o=mc.prototype;o.target=k;o.relatedTarget=k;o.offsetX=0;o.offsetY=0;o.clientX=0;o.clientY=0;o.screenX=0;o.screenY=0;o.button=0;o.keyCode=0;o.charCode=0;o.ctrlKey=m;o.altKey=m;o.shiftKey=m;o.metaKey=m;o.tb=m;o.X=k;
+o.qa=function(a,c){var d=this.type=a.type;kc.call(this,d);this.target=a.target||a.srcElement;this.currentTarget=c;var e=a.relatedTarget;if(e){if(Xa)try{lc(e.nodeName)}catch(f){e=k}}else if("mouseover"==d)e=a.fromElement;else if("mouseout"==d)e=a.toElement;this.relatedTarget=e;this.offsetX=a.offsetX!==g?a.offsetX:a.layerX;this.offsetY=a.offsetY!==g?a.offsetY:a.layerY;this.clientX=a.clientX!==g?a.clientX:a.pageX;this.clientY=a.clientY!==g?a.clientY:a.pageY;this.screenX=a.screenX||0;this.screenY=a.screenY||
+0;this.button=a.button;this.keyCode=a.keyCode||0;this.charCode=a.charCode||("keypress"==d?a.keyCode:0);this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.tb=$a?a.metaKey:a.ctrlKey;this.state=a.state;this.X=a;delete this.sa;delete this.aa};o.stopPropagation=function(){mc.la.stopPropagation.call(this);this.X.stopPropagation?this.X.stopPropagation():this.X.cancelBubble=i};
+o.preventDefault=function(){mc.la.preventDefault.call(this);var a=this.X;if(a.preventDefault)a.preventDefault();else if(a.returnValue=m,ic)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(c){}};o.D=function(){mc.la.D.call(this);this.relatedTarget=this.currentTarget=this.target=this.X=k};function nc(){}var oc=0;o=nc.prototype;o.key=0;o.ia=m;o.Qa=m;o.qa=function(a,c,d,e,f,h){ga(a)?this.Ya=i:a&&a.handleEvent&&ga(a.handleEvent)?this.Ya=m:b(Error("Invalid listener argument"));this.ra=a;this.cb=c;this.src=d;this.type=e;this.capture=!!f;this.Ja=h;this.Qa=m;this.key=++oc;this.ia=m};o.handleEvent=function(a){return this.Ya?this.ra.call(this.Ja||this.src,a):this.ra.handleEvent.call(this.ra,a)};function pc(a,c){this.$a=c;this.Y=[];a>this.$a&&b(Error("[goog.structs.SimplePool] Initial cannot be greater than max"));for(var d=0;d<a;d++)this.Y.push(this.J?this.J():{})}qa(pc,jc);pc.prototype.J=k;pc.prototype.Va=k;function qc(a){return a.Y.length?a.Y.pop():a.J?a.J():{}}function rc(a,c){a.Y.length<a.$a?a.Y.push(c):sc(a,c)}function sc(a,c){if(a.Va)a.Va(c);else if(ha(c))if(ga(c.ma))c.ma();else for(var d in c)delete c[d]}
+pc.prototype.D=function(){pc.la.D.call(this);for(var a=this.Y;a.length;)sc(this,a.pop());delete this.Y};var tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc;
+(function(){function a(){return{e:0,z:0}}function c(){return[]}function d(){function a(c){return j.call(a.src,a.key,c)}return a}function e(){return new nc}function f(){return new mc}var h=Na&&!(0<=Fa(Oa,"5.7")),j;yc=function(a){j=a};if(h){tc=function(){return qc(l)};uc=function(a){rc(l,a)};vc=function(){return qc(q)};wc=function(a){rc(q,a)};xc=function(){return qc(r)};zc=function(){rc(r,d())};Ac=function(){return qc(w)};Bc=function(a){rc(w,a)};Cc=function(){return qc(u)};Dc=function(a){rc(u,a)};var l=
+new pc(0,600);l.J=a;var q=new pc(0,600);q.J=c;var r=new pc(0,600);r.J=d;var w=new pc(0,600);w.J=e;var u=new pc(0,600);u.J=f}else tc=a,uc=ea,vc=c,wc=ea,xc=d,zc=ea,Ac=e,Bc=ea,Cc=f,Dc=ea})();var Ec={},z={},Fc={},Gc={};
+function A(a,c,d,e,f){if(c){if(v(c)){for(var h=0;h<c.length;h++)A(a,c[h],d,e,f);return k}var e=!!e,j=z;c in j||(j[c]=tc());j=j[c];e in j||(j[e]=tc(),j.e++);var j=j[e],l=ia(a),q;j.z++;if(j[l]){q=j[l];for(h=0;h<q.length;h++)if(j=q[h],j.ra==d&&j.Ja==f){if(j.ia)break;return q[h].key}}else q=j[l]=vc(),j.e++;h=xc();h.src=a;j=Ac();j.qa(d,h,a,c,e,f);d=j.key;h.key=d;q.push(j);Ec[d]=j;Fc[l]||(Fc[l]=vc());Fc[l].push(j);a.addEventListener?(a==p||!a.Ua)&&a.addEventListener(c,h,e):a.attachEvent(c in Gc?Gc[c]:Gc[c]=
+"on"+c,h);return d}b(Error("Invalid event type"))}function Hc(a,c,d,e,f){if(v(c))for(var h=0;h<c.length;h++)Hc(a,c[h],d,e,f);else{e=!!e;a:{h=z;if(c in h&&(h=h[c],e in h&&(h=h[e],a=ia(a),h[a]))){a=h[a];break a}a=k}if(a)for(h=0;h<a.length;h++)if(a[h].ra==d&&a[h].capture==e&&a[h].Ja==f){Ic(a[h].key);break}}}
+function Ic(a){if(Ec[a]){var c=Ec[a];if(!c.ia){var d=c.src,e=c.type,f=c.cb,h=c.capture;d.removeEventListener?(d==p||!d.Ua)&&d.removeEventListener(e,f,h):d.detachEvent&&d.detachEvent(e in Gc?Gc[e]:Gc[e]="on"+e,f);d=ia(d);f=z[e][h][d];if(Fc[d]){var j=Fc[d],l=ub(j,c);0<=l&&tb.splice.call(j,l,1);0==j.length&&delete Fc[d]}c.ia=i;f.bb=i;Jc(e,h,d,f);delete Ec[a]}}}
+function Jc(a,c,d,e){if(!e.ya&&e.bb){for(var f=0,h=0;f<e.length;f++)if(e[f].ia){var j=e[f].cb;j.src=k;zc(j);Bc(e[f])}else f!=h&&(e[h]=e[f]),h++;e.length=h;e.bb=m;0==h&&(wc(e),delete z[a][c][d],z[a][c].e--,0==z[a][c].e&&(uc(z[a][c]),delete z[a][c],z[a].e--),0==z[a].e&&(uc(z[a]),delete z[a]))}}
+function Kc(a){var c,d=0,e=c==k;c=!!c;if(a==k)Db(Fc,function(a){for(var f=a.length-1;0<=f;f--){var h=a[f];if(e||c==h.capture)Ic(h.key),d++}});else if(a=ia(a),Fc[a])for(var a=Fc[a],f=a.length-1;0<=f;f--){var h=a[f];if(e||c==h.capture)Ic(h.key),d++}}function Lc(a,c,d,e,f){var h=1,c=ia(c);if(a[c]){a.z--;a=a[c];a.ya?a.ya++:a.ya=1;try{for(var j=a.length,l=0;l<j;l++){var q=a[l];q&&!q.ia&&(h&=Mc(q,f)!==m)}}finally{a.ya--,Jc(d,e,c,a)}}return Boolean(h)}
+function Mc(a,c){var d=a.handleEvent(c);a.Qa&&Ic(a.key);return d}
+yc(function(a,c){if(!Ec[a])return i;var d=Ec[a],e=d.type,f=z;if(!(e in f))return i;var f=f[e],h,j;Qa===g&&(Qa=y&&!p.addEventListener);if(Qa){h=c||da("window.event");var l=i in f,q=m in f;if(l){if(0>h.keyCode||h.returnValue!=g)return i;a:{var r=m;if(0==h.keyCode)try{h.keyCode=-1;break a}catch(w){r=i}if(r||h.returnValue==g)h.returnValue=i}}r=Cc();r.qa(h,this);h=i;try{if(l){for(var u=vc(),H=r.currentTarget;H;H=H.parentNode)u.push(H);j=f[i];j.z=j.e;for(var aa=u.length-1;!r.aa&&0<=aa&&j.z;aa--)r.currentTarget=
+u[aa],h&=Lc(j,u[aa],e,i,r);if(q){j=f[m];j.z=j.e;for(aa=0;!r.aa&&aa<u.length&&j.z;aa++)r.currentTarget=u[aa],h&=Lc(j,u[aa],e,m,r)}}else h=Mc(d,r)}finally{if(u)u.length=0,wc(u);r.ma();Dc(r)}return h}e=new mc(c,this);try{h=Mc(d,e)}finally{e.ma()}return h});function Nc(){}qa(Nc,jc);o=Nc.prototype;o.Ua=i;o.La=k;o.addEventListener=function(a,c,d,e){A(this,a,c,d,e)};o.removeEventListener=function(a,c,d,e){Hc(this,a,c,d,e)};
+o.dispatchEvent=function(a){var c=a.type||a,d=z;if(c in d){if(x(a))a=new kc(a,this);else if(a instanceof kc)a.target=a.target||this;else{var e=a,a=new kc(c,this);Ib(a,e)}var e=1,f,d=d[c],c=i in d,h;if(c){f=[];for(h=this;h;h=h.La)f.push(h);h=d[i];h.z=h.e;for(var j=f.length-1;!a.aa&&0<=j&&h.z;j--)a.currentTarget=f[j],e&=Lc(h,f[j],a.type,i,a)&&a.sa!=m}if(m in d)if(h=d[m],h.z=h.e,c)for(j=0;!a.aa&&j<f.length&&h.z;j++)a.currentTarget=f[j],e&=Lc(h,f[j],a.type,m,a)&&a.sa!=m;else for(f=this;!a.aa&&f&&h.z;f=
+f.La)a.currentTarget=f,e&=Lc(h,f,a.type,m,a)&&a.sa!=m;a=Boolean(e)}else a=i;return a};o.D=function(){Nc.la.D.call(this);Kc(this);this.La=k};function Oc(a,c,d,e,f){if(!y&&(!Ya||!ib("525")))return i;if($a&&f)return Pc(a);if(f&&!e||!d&&(17==c||18==c)||y&&e&&c==a)return m;switch(a){case 13:return i;case 27:return!Ya}return Pc(a)}function Pc(a){if(48<=a&&57>=a||96<=a&&106>=a||65<=a&&90>=a||Ya&&0==a)return i;switch(a){case 32:case 63:case 107:case 109:case 110:case 111:case 186:case 189:case 187:case 188:case 190:case 191:case 192:case 222:case 219:case 220:case 221:return i;default:return m}};function Qc(a,c){if(a)this.xa&&this.detach(),this.na=a,this.wa=A(this.na,"keypress",this,c),this.Ka=A(this.na,"keydown",this.ob,c,this),this.xa=A(this.na,"keyup",this.pb,c,this)}qa(Qc,Nc);o=Qc.prototype;o.na=k;o.wa=k;o.Ka=k;o.xa=k;o.P=-1;o.O=-1;
+var Rc={3:13,12:144,63232:38,63233:40,63234:37,63235:39,63236:112,63237:113,63238:114,63239:115,63240:116,63241:117,63242:118,63243:119,63244:120,63245:121,63246:122,63247:123,63248:44,63272:46,63273:36,63275:35,63276:33,63277:34,63289:144,63302:45},Sc={Up:38,Down:40,Left:37,Right:39,Enter:13,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,"U+007F":46,Home:36,End:35,PageUp:33,PageDown:34,Insert:45},Tc={61:187,59:186},Uc=y||Ya&&ib("525");o=Qc.prototype;
+o.ob=function(a){if(Ya&&(17==this.P&&!a.ctrlKey||18==this.P&&!a.altKey))this.O=this.P=-1;Uc&&!Oc(a.keyCode,this.P,a.shiftKey,a.ctrlKey,a.altKey)?this.handleEvent(a):this.O=Xa&&a.keyCode in Tc?Tc[a.keyCode]:a.keyCode};o.pb=function(){this.O=this.P=-1};
+o.handleEvent=function(a){var c=a.X,d,e;y&&"keypress"==a.type?(d=this.O,e=13!=d&&27!=d?c.keyCode:0):Ya&&"keypress"==a.type?(d=this.O,e=0<=c.charCode&&63232>c.charCode&&Pc(d)?c.charCode:0):Wa?(d=this.O,e=Pc(d)?c.keyCode:0):(d=c.keyCode||this.O,e=c.charCode||0,$a&&63==e&&!d&&(d=191));var f=d,h=c.keyIdentifier;d?63232<=d&&d in Rc?f=Rc[d]:25==d&&a.shiftKey&&(f=9):h&&h in Sc&&(f=Sc[h]);a=f==this.P;this.P=f;c=new Vc(f,e,a,c);try{this.dispatchEvent(c)}finally{c.ma()}};
+o.detach=function(){if(this.wa)Ic(this.wa),Ic(this.Ka),Ic(this.xa),this.xa=this.Ka=this.wa=k;this.na=k;this.O=this.P=-1};o.D=function(){Qc.la.D.call(this);this.detach()};function Vc(a,c,d,e){e&&this.qa(e,g);this.type="key";this.keyCode=a;this.charCode=c;this.repeat=d}qa(Vc,mc);var Wc=!y||ib("9");!Xa&&!y||y&&ib("9")||Xa&&ib("1.9.1");y&&ib("9");function Xc(a){return(a=a.className)&&"function"==typeof a.split?a.split(/\s+/):[]}function Yc(a,c){var d=Xc(a),e=Bb(arguments,1),f;f=d;for(var h=0,j=0;j<e.length;j++)0<=ub(f,e[j])||(f.push(e[j]),h++);f=h==e.length;a.className=d.join(" ");return f}function Zc(a,c){var d=Xc(a),e=Bb(arguments,1),f;f=d;for(var h=0,j=0;j<f.length;j++)0<=ub(e,f[j])&&(Ab(f,j--,1),h++);f=h==e.length;a.className=d.join(" ");return f}function $c(a,c){return 0<=ub(Xc(a),c)};function ad(){return document}function bd(a){return x(a)?document.getElementById(a):a}function cd(a,c,d){return dd(a,c,d)}
+function dd(a,c,d){d=d||document;a=a&&"*"!=a?a.toUpperCase():"";if(d.querySelectorAll&&d.querySelector&&(!Ya||"CSS1Compat"==document.compatMode||ib("528"))&&(a||c))return d.querySelectorAll(a+(c?"."+c:""));if(c&&d.getElementsByClassName){d=d.getElementsByClassName(c);if(a){for(var e={},f=0,h=0,j;j=d[h];h++)a==j.nodeName&&(e[f++]=j);e.length=f;return e}return d}d=d.getElementsByTagName(a||"*");if(c){e={};for(h=f=0;j=d[h];h++)a=j.className,"function"==typeof a.split&&0<=ub(a.split(/\s+/),c)&&(e[f++]=
+j);e.length=f;return e}return d}function ed(a,c){Db(c,function(c,e){"style"==e?a.style.cssText=c:"class"==e?a.className=c:"for"==e?a.htmlFor=c:e in fd?a.setAttribute(fd[e],c):a[e]=c})}var fd={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",rowspan:"rowSpan",valign:"vAlign",height:"height",width:"width",usemap:"useMap",frameborder:"frameBorder",maxlength:"maxLength",type:"type"};
+function gd(a,c,d){var e=arguments,f=document,h=e[0],j=e[1];if(!Wc&&j&&(j.name||j.type)){h=["<",h];j.name&&h.push(' name="',wa(j.name),'"');if(j.type){h.push(' type="',wa(j.type),'"');var l={};Ib(l,j);j=l;delete j.type}h.push(">");h=h.join("")}h=f.createElement(h);if(j)x(j)?h.className=j:v(j)?Yc.apply(k,[h].concat(j)):ed(h,j);2<e.length&&hd(f,h,e);return h}
+function hd(a,c,d){function e(d){d&&c.appendChild(x(d)?a.createTextNode(d):d)}for(var f=2;f<d.length;f++){var h=d[f];fa(h)&&!(ha(h)&&0<h.nodeType)?vb(id(h)?xb(h):h,e):e(h)}}function jd(a){var c;var d=document;c=d.createElement("div");y?(c.innerHTML="<br>"+a,c.removeChild(c.firstChild)):c.innerHTML=a;if(1==c.childNodes.length)c=c.removeChild(c.firstChild);else{for(a=d.createDocumentFragment();c.firstChild;)a.appendChild(c.firstChild);c=a}return c}
+function kd(a){if("outerHTML"in a)return a.outerHTML;var c=(9==a.nodeType?a:a.ownerDocument||a.document).createElement("div");c.appendChild(a.cloneNode(i));return c.innerHTML}function id(a){if(a&&"number"==typeof a.length){if(ha(a))return"function"==typeof a.item||"string"==typeof a.item;if(ga(a))return"function"==typeof a.item}return m};function ld(a,c,d){x(c)?md(a,d,c):Db(c,oa(md,a))}function md(a,c,d){a.style[Ia(d)]=c}function nd(a,c){a.style.display=c?"":"none"}function od(a){return"none"!=a.style.display};function pd(a){return qd(a||arguments.callee.caller,[])}
+function qd(a,c){var d=[];if(0<=ub(c,a))d.push("[...circular reference...]");else if(a&&50>c.length){d.push(rd(a)+"(");for(var e=a.arguments,f=0;f<e.length;f++){0<f&&d.push(", ");var h;h=e[f];switch(typeof h){case "object":h=h?"object":"null";break;case "string":break;case "number":h=""+h;break;case "boolean":h=h?"true":"false";break;case "function":h=(h=rd(h))?h:"[fn]";break;default:h=typeof h}40<h.length&&(h=h.substr(0,40)+"...");d.push(h)}c.push(a);d.push(")\n");try{d.push(qd(a.caller,c))}catch(j){d.push("[exception trying to get caller]\n")}}else a?
+d.push("[...long stack...]"):d.push("[end]");return d.join("")}function rd(a){a=""+a;if(!sd[a]){var c=/function ([^\(]+)/.exec(a);sd[a]=c?c[1]:"[Anonymous]"}return sd[a]}var sd={};var td=p.window;function ud(a,c,d){ga(a)?d&&(a=na(a,d)):a&&"function"==typeof a.handleEvent?a=na(a.handleEvent,a):b(Error("Invalid listener argument"));return 2147483647<c?-1:td.setTimeout(a,c||0)};function vd(a,c,d,e,f){this.reset(a,c,d,e,f)}vd.prototype.wb=0;vd.prototype.Ha=k;vd.prototype.Ga=k;var wd=0;vd.prototype.reset=function(a,c,d,e,f){this.wb="number"==typeof f?f:wd++;this.ib=e||pa();this.$=a;this.ab=c;this.rb=d;delete this.Ha;delete this.Ga};vd.prototype.fb=function(a){this.$=a};function xd(a){this.sb=a}xd.prototype.za=k;xd.prototype.$=k;xd.prototype.Ba=k;xd.prototype.pa=k;function yd(a,c){this.name=a;this.value=c}yd.prototype.toString=n("name");var zd=new yd("SHOUT",1200),Ad=new yd("SEVERE",1E3),Bd=new yd("WARNING",900),Cd=new yd("INFO",800),Dd=new yd("CONFIG",700);function Ed(a){return Fd(a)}o=xd.prototype;o.getParent=n("za");o.fb=function(a){this.$=a};function Gd(a){if(a.$)return a.$;if(a.za)return Gd(a.za);rb("Root logger has no level set.");return k}
+o.log=function(a,c,d){if(a.value>=Gd(this).value){a=this.nb(a,c,d);p.console&&p.console.markTimeline&&p.console.markTimeline("log:"+a.ab);for(c=this;c;){var d=c,e=a;if(d.pa)for(var f=0,h=g;h=d.pa[f];f++)h(e);c=c.getParent()}}};
+o.nb=function(a,c,d){var e=new vd(a,""+c,this.sb);if(d){e.Ha=d;var f;var h=arguments.callee.caller;try{var j;var l=da("window.location.href");if(x(d))j={message:d,name:"Unknown error",lineNumber:"Not available",fileName:l,stack:"Not available"};else{var q,r,w=m;try{q=d.lineNumber||d.Db||"Not available"}catch(u){q="Not available",w=i}try{r=d.fileName||d.filename||d.sourceURL||l}catch(H){r="Not available",w=i}j=w||!d.lineNumber||!d.fileName||!d.stack?{message:d.message,name:d.name,lineNumber:q,fileName:r,
+stack:d.stack||"Not available"}:d}f="Message: "+wa(j.message)+'\nUrl: <a href="view-source:'+j.fileName+'" target="_new">'+j.fileName+"</a>\nLine: "+j.lineNumber+"\n\nBrowser stack:\n"+wa(j.stack+"-> ")+"[end]\n\nJS stack traversal:\n"+wa(pd(h)+"-> ")}catch(aa){f="Exception trying to expose exception! You win, we lose. "+aa}e.Ga=f}return e};o.info=function(a,c){this.log(Cd,a,c)};var Hd={},Id=k;function Jd(){Id||(Id=new xd(""),Hd[""]=Id,Id.fb(Dd))}
+function Fd(a){Jd();var c;if(!(c=Hd[a])){c=new xd(a);var d=a.lastIndexOf("."),e=a.substr(d+1),d=Fd(a.substr(0,d));if(!d.Ba)d.Ba={};d.Ba[e]=c;c.za=d;Hd[a]=c}return c};function Kd(){this.vb=na(this.jb,this);this.Ia=new ob;this.Ia.gb=m;this.Xa=this.Ia.hb=m;this.Za=""}
+Kd.prototype.jb=function(a){var c;c=this.Ia;var d=[];d.push(c.ub," ");if(c.gb){var e=new Date(a.ib);d.push("[",mb(e.getFullYear()-2E3)+mb(e.getMonth()+1)+mb(e.getDate())+" "+mb(e.getHours())+":"+mb(e.getMinutes())+":"+mb(e.getSeconds())+"."+mb(Math.floor(e.getMilliseconds()/10)),"] ")}c.yb&&d.push("[",nb(a,c.Ab.get()),"s] ");c.xb&&d.push("[",a.rb,"] ");c.zb&&d.push("[",a.$.name,"] ");d.push(a.ab,"\n");c.hb&&a.Ha&&d.push(a.Ga,"\n");c=d.join("");if(window.console&&window.console.firebug)switch(a.$){case zd:window.console.info(c);
+break;case Ad:window.console.error(c);break;case Bd:window.console.warn(c);break;default:window.console.debug(c)}else window.console?window.console.log(c):window.opera?window.opera.postError(c):this.Za+=c};function Ld(a,c,d){c||(c={});var e=d||window,d="undefined"!=typeof a.href?a.href:""+a,a=c.target||a.target,f=[],h;for(h in c)switch(h){case "width":case "height":case "top":case "left":f.push(h+"="+c[h]);break;case "target":case "noreferrer":break;default:f.push(h+"="+(c[h]?1:0))}h=f.join(",");if(c.noreferrer){if(c=e.open("",a,h))y&&-1!=d.indexOf(";")&&(d="'"+d.replace(/'/g,"%27")+"'"),d=wa(d),c.document.write('<META HTTP-EQUIV="refresh" content="0; url='+d+'">'),c.document.close()}else c=e.open(d,
+a,h);return c};function B(a){return a!=k&&a!==m}function Md(a,c){var d=a[s.call(k,c)];if(B(d))return d;d=a._;return B(d)?d:m}function C(a,c){return Error.call(k,"No protocol method "+a+" defined for type "+s.call(k,c)+": "+c)}function Nd(a){return Array.prototype.slice.call(a)}function Od(a){return Array.prototype.slice.call(arguments)}function D(a){if(B(B(a)?a.o:a))a=a.o(a);else{var c;var d=D[s.call(k,a)];B(d)?c=d:(d=D._,B(d)?c=d:b(C.call(k,"ICounted.-count",a)));a=c.call(k,a)}return a}
+function Pd(a,c){var d;if(B(B(a)?a.t:a))d=a.t(a,c);else{var e=Pd[s.call(k,a)];B(e)?d=e:(e=Pd._,B(e)?d=e:b(C.call(k,"ICollection.-conj",a)));d=d.call(k,a,c)}return d}
+var E=function(){return function(a,c,d){switch(arguments.length){case 2:var e;if(B(B(a)?a.I:a))e=a.I(a,c);else{var f=E[s.call(k,a)];B(f)?e=f:(f=E._,B(f)?e=f:b(C.call(k,"IIndexed.-nth",a)));e=e.call(k,a,c)}return e;case 3:return B(B(a)?a.I:a)?e=a.I(a,c,d):(e=E[s.call(k,a)],B(e)?f=e:(e=E._,B(e)?f=e:b(C.call(k,"IIndexed.-nth",a))),e=f.call(k,a,c,d)),e}b("Invalid arity: "+arguments.length)}}(),Qd={};
+function Rd(a){if(B(B(a)?a.S:a))a=a.S(a);else{var c;var d=Rd[s.call(k,a)];B(d)?c=d:(d=Rd._,B(d)?c=d:b(C.call(k,"ISeq.-first",a)));a=c.call(k,a)}return a}function Sd(a){if(B(B(a)?a.T:a))a=a.T(a);else{var c;var d=Sd[s.call(k,a)];B(d)?c=d:(d=Sd._,B(d)?c=d:b(C.call(k,"ISeq.-rest",a)));a=c.call(k,a)}return a}
+var F=function(){return function(a,c,d){switch(arguments.length){case 2:var e;if(B(B(a)?a.R:a))e=a.R(a,c);else{var f=F[s.call(k,a)];B(f)?e=f:(f=F._,B(f)?e=f:b(C.call(k,"ILookup.-lookup",a)));e=e.call(k,a,c)}return e;case 3:return B(B(a)?a.R:a)?e=a.R(a,c,d):(e=F[s.call(k,a)],B(e)?f=e:(e=F._,B(e)?f=e:b(C.call(k,"ILookup.-lookup",a))),e=f.call(k,a,c,d)),e}b("Invalid arity: "+arguments.length)}}();
+function Td(a,c){var d;if(B(B(a)?a.Ca:a))d=a.Ca(a,c);else{var e=Td[s.call(k,a)];B(e)?d=e:(e=Td._,B(e)?d=e:b(C.call(k,"IAssociative.-contains-key?",a)));d=d.call(k,a,c)}return d}function Ud(a,c,d){if(B(B(a)?a.ua:a))a=a.ua(a,c,d);else{var e;var f=Ud[s.call(k,a)];B(f)?e=f:(f=Ud._,B(f)?e=f:b(C.call(k,"IAssociative.-assoc",a)));a=e.call(k,a,c,d)}return a}var Vd={};
+function Wd(a,c){var d;if(B(B(a)?a.Da:a))d=a.Da(a,c);else{var e=Wd[s.call(k,a)];B(e)?d=e:(e=Wd._,B(e)?d=e:b(C.call(k,"IMap.-dissoc",a)));d=d.call(k,a,c)}return d}var Xd={},Yd={};function Zd(a){if(B(B(a)?a.kb:a))a=a.state;else{var c;var d=Zd[s.call(k,a)];B(d)?c=d:(d=Zd._,B(d)?c=d:b(C.call(k,"IDeref.-deref",a)));a=c.call(k,a)}return a}var $d={};function ae(a){if(B(B(a)?a.B:a))a=a.c;else{var c;var d=ae[s.call(k,a)];B(d)?c=d:(d=ae._,B(d)?c=d:b(C.call(k,"IMeta.-meta",a)));a=c.call(k,a)}return a}
+function be(a,c){var d;if(B(B(a)?a.C:a))d=a.C(a,c);else{var e=be[s.call(k,a)];B(e)?d=e:(e=be._,B(e)?d=e:b(C.call(k,"IWithMeta.-with-meta",a)));d=d.call(k,a,c)}return d}
+var ce=function(){return function(a,c,d){switch(arguments.length){case 2:var e;if(B(B(a)?a.ba:a))e=a.ba(a,c);else{var f=ce[s.call(k,a)];B(f)?e=f:(f=ce._,B(f)?e=f:b(C.call(k,"IReduce.-reduce",a)));e=e.call(k,a,c)}return e;case 3:return B(B(a)?a.ba:a)?e=a.ba(a,c,d):(e=ce[s.call(k,a)],B(e)?f=e:(e=ce._,B(e)?f=e:b(C.call(k,"IReduce.-reduce",a))),e=f.call(k,a,c,d)),e}b("Invalid arity: "+arguments.length)}}();
+function de(a,c){var d;if(B(B(a)?a.j:a))d=a.j(a,c);else{var e=de[s.call(k,a)];B(e)?d=e:(e=de._,B(e)?d=e:b(C.call(k,"IEquiv.-equiv",a)));d=d.call(k,a,c)}return d}function ee(a){if(B(B(a)?a.p:a))a=a.p(a);else{var c;var d=ee[s.call(k,a)];B(d)?c=d:(d=ee._,B(d)?c=d:b(C.call(k,"IHash.-hash",a)));a=c.call(k,a)}return a}function fe(a){if(B(B(a)?a.k:a))a=a.k(a);else{var c;var d=fe[s.call(k,a)];B(d)?c=d:(d=fe._,B(d)?c=d:b(C.call(k,"ISeqable.-seq",a)));a=c.call(k,a)}return a}var ge={},he={};
+function ie(a,c){var d;if(B(B(a)?a.m:a))d=a.m(a,c);else{var e=ie[s.call(k,a)];B(e)?d=e:(e=ie._,B(e)?d=e:b(C.call(k,"IPrintable.-pr-seq",a)));d=d.call(k,a,c)}return d}function je(a,c,d){if(B(B(a)?a.Ta:a))a=a.Ta(a,c,d);else{var e;var f=je[s.call(k,a)];B(f)?e=f:(f=je._,B(f)?e=f:b(C.call(k,"IWatchable.-notify-watches",a)));a=e.call(k,a,c,d)}return a}
+function ke(a,c,d){if(B(B(a)?a.Sa:a))a=a.Sa(a,c,d);else{var e;var f=ke[s.call(k,a)];B(f)?e=f:(f=ke._,B(f)?e=f:b(C.call(k,"IWatchable.-add-watch",a)));a=e.call(k,a,c,d)}return a}function G(a,c){return de.call(k,a,c)}function I(a){return a===k}Function.prototype.q=i;Function.prototype.m=function(a){return J.call(k,"#<",K.call(k,a),">")};ee["null"]=ca(0);F["null"]=function(){return function(a,c,d){switch(arguments.length){case 2:return k;case 3:return d}b("Invalid arity: "+arguments.length)}}();
+Ud["null"]=function(a,c,d){return L.call(k,c,d)};Pd["null"]=function(a,c){return J.call(k,c)};ce["null"]=function(){return function(a,c,d){switch(arguments.length){case 2:return c.call(k);case 3:return d}b("Invalid arity: "+arguments.length)}}();he["null"]=i;ie["null"]=function(){return J.call(k,"nil")};Xd["null"]=i;D["null"]=ca(0);Qd["null"]=i;Rd["null"]=ca(k);Sd["null"]=function(){return J.call(k)};de["null"]=function(a,c){return I.call(k,c)};be["null"]=ca(k);$d["null"]=i;ae["null"]=ca(k);
+E["null"]=function(){return function(a,c,d){switch(arguments.length){case 2:return k;case 3:return d}b("Invalid arity: "+arguments.length)}}();Vd["null"]=i;Wd["null"]=ca(k);Date.prototype.j=function(a,c){return a.toString()===c.toString()};ee.number=ba();de.number=function(a,c){return a===c};ee["boolean"]=function(a){return a===i?1:0};ee["function"]=function(a){return ia.call(k,a)};
+var le=function(){return function(a,c,d,e){switch(arguments.length){case 2:var f;a:if(B(G.call(k,0,D.call(k,a))))f=c.call(k);else for(var h=E.call(k,a,0),j=1;;)if(B(j<D.call(k,a)))h=c.call(k,h,E.call(k,a,j)),j+=1;else{f=h;break a}return f;case 3:a:{f=d;for(j=0;;)if(B(j<D.call(k,a)))f=c.call(k,f,E.call(k,a,j)),j+=1;else{h=f;break a}}return h;case 4:a:{f=d;for(h=e;;)if(B(h<D.call(k,a)))f=c.call(k,f,E.call(k,a,h)),h+=1;else{j=f;break a}}return j}b("Invalid arity: "+arguments.length)}}();
+function me(a,c){this.r=a;this.L=c}o=me.prototype;o.p=function(a){return ne.call(k,a)};o.ba=function(){return function(a,c,d){switch(arguments.length){case 2:return le.call(k,this.r,c,this.r[this.L],this.L+1);case 3:return le.call(k,this.r,c,d,this.L)}b("Invalid arity: "+arguments.length)}}();o.t=function(a,c){return M.call(k,c,a)};o.j=function(a,c){return oe.call(k,a,c)};o.U=i;
+o.I=function(){return function(a,c,d){switch(arguments.length){case 2:var e=c+this.L;return B(e<this.r.length)?this.r[e]:k;case 3:return e=c+this.L,B(e<this.r.length)?this.r[e]:d}b("Invalid arity: "+arguments.length)}}();o.o=function(){return this.r.length-this.L};o.ca=i;o.S=function(){return this.r[this.L]};o.T=function(){return B(this.L+1<this.r.length)?new me(this.r,this.L+1):J.call(k)};o.k=ba();function pe(a,c){return B(G.call(k,0,a.length))?k:new me(a,c)}
+function N(a,c){return pe.call(k,a,c)}ce.array=function(){return function(a,c,d){switch(arguments.length){case 2:return le.call(k,a,c);case 3:return le.call(k,a,c,d)}b("Invalid arity: "+arguments.length)}}();F.array=function(){return function(a,c,d){switch(arguments.length){case 2:return a[c];case 3:return E.call(k,a,c,d)}b("Invalid arity: "+arguments.length)}}();
+E.array=function(){return function(a,c,d){switch(arguments.length){case 2:return B(c<a.length)?a[c]:k;case 3:return B(c<a.length)?a[c]:d}b("Invalid arity: "+arguments.length)}}();D.array=function(a){return a.length};fe.array=function(a){return N.call(k,a,0)};function O(a){return B(a)?fe.call(k,a):k}function P(a){a=O.call(k,a);return B(a)?Rd.call(k,a):k}function Q(a){return Sd.call(k,O.call(k,a))}function R(a){return B(a)?O.call(k,Q.call(k,a)):k}function qe(a){return P.call(k,R.call(k,a))}
+function re(a){return R.call(k,R.call(k,a))}function se(a){for(;;)if(B(R.call(k,a)))a=R.call(k,a);else return P.call(k,a)}D._=function(a){for(var a=O.call(k,a),c=0;;)if(B(a))a=R.call(k,a),c+=1;else return c};de._=function(a,c){return a===c};function S(a){return B(a)?m:i}
+var te=function(){var a=k,c=function(){function c(a,d,j){var l=k;t(j)&&(l=N(Array.prototype.slice.call(arguments,2),0));return e.call(this,a,d,l)}function e(c,d,e){for(;;)if(B(e))c=a.call(k,c,d),d=P.call(k,e),e=R.call(k,e);else return a.call(k,c,d)}c.b=2;c.a=function(a){var c=P(a),d=P(R(a)),a=Q(R(a));return e.call(this,c,d,a)};return c}(),a=function(a,e,f){switch(arguments.length){case 2:return Pd.call(k,a,e);default:return c.apply(this,arguments)}b("Invalid arity: "+arguments.length)};a.b=2;a.a=
+c.a;return a}();function ue(a){return D.call(k,a)}
+var T=function(){return function(a,c,d){switch(arguments.length){case 2:return E.call(k,a,Math.floor(c));case 3:return E.call(k,a,Math.floor(c),d)}b("Invalid arity: "+arguments.length)}}(),U=function(){return function(a,c,d){switch(arguments.length){case 2:return F.call(k,a,c);case 3:return F.call(k,a,c,d)}b("Invalid arity: "+arguments.length)}}(),ve=function(){var a=k,c=function(){function c(a,d,j,l){var q=k;t(l)&&(q=N(Array.prototype.slice.call(arguments,3),0));return e.call(this,a,d,j,q)}function e(c,
+d,e,l){for(;;)if(c=a.call(k,c,d,e),B(l))d=P.call(k,l),e=qe.call(k,l),l=re.call(k,l);else return c}c.b=3;c.a=function(a){var c=P(a),d=P(R(a)),l=P(R(R(a))),a=Q(R(R(a)));return e.call(this,c,d,l,a)};return c}(),a=function(a,e,f,h){switch(arguments.length){case 3:return Ud.call(k,a,e,f);default:return c.apply(this,arguments)}b("Invalid arity: "+arguments.length)};a.b=3;a.a=c.a;return a}(),we=function(){var a=k,c=function(){function c(a,d,j){var l=k;t(j)&&(l=N(Array.prototype.slice.call(arguments,2),0));
+return e.call(this,a,d,l)}function e(c,d,e){for(;;)if(c=a.call(k,c,d),B(e))d=P.call(k,e),e=R.call(k,e);else return c}c.b=2;c.a=function(a){var c=P(a),d=P(R(a)),a=Q(R(a));return e.call(this,c,d,a)};return c}(),a=function(a,e,f){switch(arguments.length){case 1:return a;case 2:return Wd.call(k,a,e);default:return c.apply(this,arguments)}b("Invalid arity: "+arguments.length)};a.b=2;a.a=c.a;return a}();function xe(a,c){return be.call(k,a,c)}
+function ye(a){var c;B(a)?(c=a.v,c=B(c)?S.call(k,a.hasOwnProperty("cljs$core$IMeta$")):c):c=a;c=B(c)?i:Md.call(k,$d,a);return B(c)?ae.call(k,a):k}function ze(a){return ee.call(k,a)}function Ae(a){return S.call(k,O.call(k,a))}function Be(a){if(B(I.call(k,a)))a=m;else{var c;B(a)?(c=a.lb,c=B(c)?S.call(k,a.hasOwnProperty("cljs$core$ISet$")):c):c=a;a=B(c)?i:Md.call(k,Xd,a)}return a}
+function Ce(a){var c;B(a)?(c=a.U,c=B(c)?S.call(k,a.hasOwnProperty("cljs$core$ISequential$")):c):c=a;return B(c)?i:Md.call(k,ge,a)}function De(a){if(B(I.call(k,a)))a=m;else{var c;B(a)?(c=a.Ra,c=B(c)?S.call(k,a.hasOwnProperty("cljs$core$IMap$")):c):c=a;a=B(c)?i:Md.call(k,Vd,a)}return a}function Ee(a){var c;B(a)?(c=a.mb,c=B(c)?S.call(k,a.hasOwnProperty("cljs$core$IVector$")):c):c=a;return B(c)?i:Md.call(k,Yd,a)}function Fe(){return{}}
+function Ge(a){var c=Od.call(k);Db.call(k,a,function(a,e){return c.push(e)});return c}function He(a,c){return delete a[c]}var Ie=Fe.call(k);function Je(a){if(B(I.call(k,a)))a=m;else{var c;B(a)?(c=a.ca,c=B(c)?S.call(k,a.hasOwnProperty("cljs$core$ISeq$")):c):c=a;a=B(c)?i:Md.call(k,Qd,a)}return a}function Ke(a){return B(a)?i:m}function Le(a){var c=x.call(k,a);return B(c)?S.call(k,function(){var c=G.call(k,a.charAt(0),"\ufdd0");return B(c)?c:G.call(k,a.charAt(0),"\ufdd1")}()):c}
+function Me(a){var c=x.call(k,a);return B(c)?G.call(k,a.charAt(0),"\ufdd0"):c}function Ne(a){var c=x.call(k,a);return B(c)?G.call(k,a.charAt(0),"\ufdd1"):c}function Oe(a,c){return B(F.call(k,a,c,Ie)===Ie)?m:i}
+var Pe=function(){return function(a,c,d){switch(arguments.length){case 2:return ce.call(k,c,a);case 3:return ce.call(k,d,a,c)}b("Invalid arity: "+arguments.length)}}(),Qe=function(){return function(a,c,d){switch(arguments.length){case 2:var e=O.call(k,c);return B(e)?Pe.call(k,a,P.call(k,e),R.call(k,e)):a.call(k);case 3:a:for(var f=c,h=O.call(k,d);;)if(B(h))f=a.call(k,f,P.call(k,h)),h=R.call(k,h);else{e=f;break a}return e}b("Invalid arity: "+arguments.length)}}();
+ce._=function(){return function(a,c,d){switch(arguments.length){case 2:return Qe.call(k,c,a);case 3:return Qe.call(k,c,d,a)}b("Invalid arity: "+arguments.length)}}();
+var Re=function(){var a=k,c=function(){function a(d,h,j){var l=k;t(j)&&(l=N(Array.prototype.slice.call(arguments,2),0));return c.call(this,d,h,l)}function c(a,d,e){for(;;)if(B(a<d))if(B(R.call(k,e)))a=d,d=P.call(k,e),e=R.call(k,e);else return d<P.call(k,e);else return m}a.b=2;a.a=function(a){var d=P(a),j=P(R(a)),a=Q(R(a));return c.call(this,d,j,a)};return a}(),a=function(a,e,f){switch(arguments.length){case 1:return i;case 2:return a<e;default:return c.apply(this,arguments)}b("Invalid arity: "+arguments.length)};
+a.b=2;a.a=c.a;return a}(),Se=function(){var a=k,c=function(){function a(d,h,j){var l=k;t(j)&&(l=N(Array.prototype.slice.call(arguments,2),0));return c.call(this,d,h,l)}function c(a,d,e){for(;;)if(B(a>d))if(B(R.call(k,e)))a=d,d=P.call(k,e),e=R.call(k,e);else return d>P.call(k,e);else return m}a.b=2;a.a=function(a){var d=P(a),j=P(R(a)),a=Q(R(a));return c.call(this,d,j,a)};return a}(),a=function(a,e,f){switch(arguments.length){case 1:return i;case 2:return a>e;default:return c.apply(this,arguments)}b("Invalid arity: "+
+arguments.length)};a.b=2;a.a=c.a;return a}();function Te(a,c){for(var d=c,e=O.call(k,a);;){var f=e;if(B(B(f)?0<d:f))d-=1,e=R.call(k,e);else return e}}E._=function(){return function(a,c,d){switch(arguments.length){case 2:var e;var f=Te.call(k,a,c);B(f)?e=P.call(k,f):b(Error("Index out of bounds"));return e;case 3:return e=Te.call(k,a,c),B(e)?P.call(k,e):d}b("Invalid arity: "+arguments.length)}}();
+var Ue=function(){var a=k,c=function(){function c(a,d){var j=k;t(d)&&(j=N(Array.prototype.slice.call(arguments,1),0));return e.call(this,a,j)}function e(c,d){return function(c,d){for(;;)if(B(d))var e=c.append(a.call(k,P.call(k,d))),f=R.call(k,d),c=e,d=f;else return a.call(k,c)}.call(k,new Pa(a.call(k,c)),d)}c.b=1;c.a=function(a){var c=P(a),a=Q(a);return e.call(this,c,a)};return c}(),a=function(a,e){switch(arguments.length){case 0:return"";case 1:return B(I.call(k,a))?"":B("\ufdd0'else")?a.toString():
+k;default:return c.apply(this,arguments)}b("Invalid arity: "+arguments.length)};a.b=1;a.a=c.a;return a}(),K=function(){var a=k,c=function(){function a(c,d){var h=k;t(d)&&(h=N(Array.prototype.slice.call(arguments,1),0));return V.call(k,Ue,c,h)}a.b=1;a.a=function(a){var c=P(a),a=Q(a);return V.call(k,Ue,c,a)};return a}(),a=function(a,e){switch(arguments.length){case 0:return"";case 1:return B(Ne.call(k,a))?a.substring(2,a.length):B(Me.call(k,a))?Ue.call(k,":",a.substring(2,a.length)):B(I.call(k,a))?
+"":B("\ufdd0'else")?a.toString():k;default:return c.apply(this,arguments)}b("Invalid arity: "+arguments.length)};a.b=1;a.a=c.a;return a}(),Ve=function(){return function(a,c,d){switch(arguments.length){case 2:return a.substring(c);case 3:return a.substring(c,d)}b("Invalid arity: "+arguments.length)}}();
+function oe(a,c){return Ke.call(k,B(Ce.call(k,c))?function(){for(var d=O.call(k,a),e=O.call(k,c);;){if(B(I.call(k,d)))return I.call(k,e);if(B(I.call(k,e)))return m;if(B(G.call(k,P.call(k,d),P.call(k,e))))d=R.call(k,d),e=R.call(k,e);else return B("\ufdd0'else")?m:k}}():k)}function We(a,c){return a^c+2654435769+(a<<6)+(a>>2)}function ne(a){return Pe.call(k,function(a,d){return We.call(k,a,ze.call(k,d))},ze.call(k,P.call(k,a)),R.call(k,a))}function Xe(a,c,d,e){this.c=a;this.oa=c;this.ja=d;this.w=e}
+o=Xe.prototype;o.p=function(a){return ne.call(k,a)};o.U=i;o.t=function(a,c){return new Xe(this.c,c,a,this.w+1)};o.k=ba();o.o=n("w");o.ca=i;o.S=n("oa");o.T=n("ja");o.j=function(a,c){return oe.call(k,a,c)};o.C=function(a,c){return new Xe(c,this.oa,this.ja,this.w)};o.v=i;o.B=n("c");function Ye(a){this.c=a}o=Ye.prototype;o.p=function(a){return ne.call(k,a)};o.U=i;o.t=function(a,c){return new Xe(this.c,c,k,1)};o.k=ca(k);o.o=ca(0);o.ca=i;o.S=ca(k);o.T=ca(k);o.j=function(a,c){return oe.call(k,a,c)};
+o.C=function(a,c){return new Ye(c)};o.v=i;o.B=n("c");var Ze=new Ye(k);function $e(a){return Pe.call(k,te,Ze,a)}var J=function(){function a(a){var d=k;t(a)&&(d=N(Array.prototype.slice.call(arguments,0),0));return Pe.call(k,te,Ze,$e.call(k,d))}a.b=0;a.a=function(a){a=O(a);return Pe.call(k,te,Ze,$e.call(k,a))};return a}();function af(a,c,d){this.c=a;this.oa=c;this.ja=d}o=af.prototype;o.k=ba();o.p=function(a){return ne.call(k,a)};o.j=function(a,c){return oe.call(k,a,c)};o.U=i;
+o.t=function(a,c){return new af(k,c,a)};o.ca=i;o.S=n("oa");o.T=function(){return B(I.call(k,this.ja))?Ze:this.ja};o.v=i;o.B=n("c");o.C=function(a,c){return new af(c,this.oa,this.ja)};function M(a,c){return new af(k,a,c)}ce.string=function(){return function(a,c,d){switch(arguments.length){case 2:return le.call(k,a,c);case 3:return le.call(k,a,c,d)}b("Invalid arity: "+arguments.length)}}();
+F.string=function(){return function(a,c,d){switch(arguments.length){case 2:return E.call(k,a,c);case 3:return E.call(k,a,c,d)}b("Invalid arity: "+arguments.length)}}();E.string=function(){return function(a,c,d){switch(arguments.length){case 2:return B(c<D.call(k,a))?a.charAt(c):k;case 3:return B(c<D.call(k,a))?a.charAt(c):d}b("Invalid arity: "+arguments.length)}}();D.string=function(a){return a.length};fe.string=function(a){return pe.call(k,a,0)};ee.string=function(a){return Ga.call(k,a)};
+String.prototype.call=function(){return function(a,c,d){switch(arguments.length){case 2:return U.call(k,c,this.toString());case 3:return U.call(k,c,this.toString(),d)}b("Invalid arity: "+arguments.length)}}();String.prototype.apply=function(a,c){return B(2>ue.call(k,c))?U.call(k,c[0],a):U.call(k,c[0],a,c[1])};function bf(a){var c=a.x;if(B(a.Ma))return c;a.x=c.call(k);a.Ma=i;return a.x}function W(a,c,d){this.c=a;this.Ma=c;this.x=d}o=W.prototype;o.k=function(a){return O.call(k,bf.call(k,a))};
+o.p=function(a){return ne.call(k,a)};o.j=function(a,c){return oe.call(k,a,c)};o.U=i;o.t=function(a,c){return M.call(k,c,a)};o.ca=i;o.S=function(a){return P.call(k,bf.call(k,a))};o.T=function(a){return Q.call(k,bf.call(k,a))};o.v=i;o.B=n("c");o.C=function(a,c){return new W(c,this.Ma,this.x)};function cf(a){for(var c=Od.call(k);;)if(B(O.call(k,a)))c.push(P.call(k,a)),a=R.call(k,a);else return c}
+function df(a,c){for(var d=a,e=c,f=0;;){var h;h=0<e;h=B(h)?O.call(k,d):h;if(B(h))d=R.call(k,d),e-=1,f+=1;else return f}}
+var ff=function ef(c){return B(I.call(k,c))?k:B(I.call(k,R.call(k,c)))?O.call(k,P.call(k,c)):B("\ufdd0'else")?M.call(k,P.call(k,c),ef.call(k,R.call(k,c))):k},gf=function(){function a(a,c){return new W(k,m,function(){var d=O.call(k,a);return B(d)?M.call(k,P.call(k,d),e.call(k,Q.call(k,d),c)):c})}function c(a){return new W(k,m,function(){return a})}function d(){return new W(k,m,ca(k))}var e=k,f=function(){function a(d,e,f){var h=k;t(f)&&(h=N(Array.prototype.slice.call(arguments,2),0));return c.call(this,
+d,e,h)}function c(a,d,f){return function u(a,c){return new W(k,m,function(){var d=O.call(k,a);return B(d)?M.call(k,P.call(k,d),u.call(k,Q.call(k,d),c)):B(c)?u.call(k,P.call(k,c),R.call(k,c)):k})}.call(k,e.call(k,a,d),f)}a.b=2;a.a=function(a){var d=P(a),e=P(R(a)),a=Q(R(a));return c.call(this,d,e,a)};return a}(),e=function(e,j,l){switch(arguments.length){case 0:return d.call(this);case 1:return c.call(this,e);case 2:return a.call(this,e,j);default:return f.apply(this,arguments)}b("Invalid arity: "+
+arguments.length)};e.b=2;e.a=f.a;return e}(),hf=function(){var a=k,c=function(){function a(d,h,j,l,q){var r=k;t(q)&&(r=N(Array.prototype.slice.call(arguments,4),0));return c.call(this,d,h,j,l,r)}function c(a,d,e,l,q){return M.call(k,a,M.call(k,d,M.call(k,e,M.call(k,l,ff.call(k,q)))))}a.b=4;a.a=function(a){var d=P(a),j=P(R(a)),l=P(R(R(a))),q=P(R(R(R(a)))),a=Q(R(R(R(a))));return c.call(this,d,j,l,q,a)};return a}(),a=function(a,e,f,h,j){switch(arguments.length){case 1:return O.call(k,a);case 2:return M.call(k,
+a,e);case 3:return M.call(k,a,M.call(k,e,f));case 4:return M.call(k,a,M.call(k,e,M.call(k,f,h)));default:return c.apply(this,arguments)}b("Invalid arity: "+arguments.length)};a.b=4;a.a=c.a;return a}(),V=function(){var a=k,c=function(){function a(d,h,j,l,q,r){var w=k;t(r)&&(w=N(Array.prototype.slice.call(arguments,5),0));return c.call(this,d,h,j,l,q,w)}function c(a,d,e,l,q,r){d=M.call(k,d,M.call(k,e,M.call(k,l,M.call(k,q,ff.call(k,r)))));e=a.b;return B(a.a)?B(df.call(k,d,e)<=e)?a.apply(a,cf.call(k,
+d)):a.a(d):a.apply(a,cf.call(k,d))}a.b=5;a.a=function(a){var d=P(a),j=P(R(a)),l=P(R(R(a))),q=P(R(R(R(a)))),r=P(R(R(R(R(a))))),a=Q(R(R(R(R(a)))));return c.call(this,d,j,l,q,r,a)};return a}(),a=function(a,e,f,h,j,l){switch(arguments.length){case 2:var q=a,r=e,w=q.b;return B(q.a)?B(df.call(k,r,w+1)<=w)?q.apply(q,cf.call(k,r)):q.a(r):q.apply(q,cf.call(k,r));case 3:return q=a,r=hf.call(k,e,f),w=q.b,B(q.a)?B(df.call(k,r,w)<=w)?q.apply(q,cf.call(k,r)):q.a(r):q.apply(q,cf.call(k,r));case 4:return q=a,r=hf.call(k,
+e,f,h),w=q.b,B(q.a)?B(df.call(k,r,w)<=w)?q.apply(q,cf.call(k,r)):q.a(r):q.apply(q,cf.call(k,r));case 5:return q=a,r=hf.call(k,e,f,h,j),w=q.b,B(q.a)?B(df.call(k,r,w)<=w)?q.apply(q,cf.call(k,r)):q.a(r):q.apply(q,cf.call(k,r));default:return c.apply(this,arguments)}b("Invalid arity: "+arguments.length)};a.b=5;a.a=c.a;return a}(),jf=function(){var a=k,c=function(){function a(c,d,h){var j=k;t(h)&&(j=N(Array.prototype.slice.call(arguments,2),0));return S.call(k,V.call(k,G,c,d,j))}a.b=2;a.a=function(a){var c=
+P(a),d=P(R(a)),a=Q(R(a));return S.call(k,V.call(k,G,c,d,a))};return a}(),a=function(a,e,f){switch(arguments.length){case 1:return m;case 2:return S.call(k,G.call(k,a,e));default:return c.apply(this,arguments)}b("Invalid arity: "+arguments.length)};a.b=2;a.a=c.a;return a}();function kf(a,c){for(;;){if(B(I.call(k,O.call(k,c))))return i;if(B(a.call(k,P.call(k,c))))var d=a,e=R.call(k,c),a=d,c=e;else return B("\ufdd0'else")?m:k}}
+function lf(a,c){for(;;)if(B(O.call(k,c))){var d=a.call(k,P.call(k,c));if(B(d))return d;var d=a,e=R.call(k,c),a=d,c=e}else return k}function mf(a){return a}
+var X=function(){function a(a,c,d,f){return new W(k,m,function(){var r=O.call(k,c),w=O.call(k,d),u=O.call(k,f);return B(B(r)?B(w)?u:w:r)?M.call(k,a.call(k,P.call(k,r),P.call(k,w),P.call(k,u)),e.call(k,a,Q.call(k,r),Q.call(k,w),Q.call(k,u))):k})}function c(a,c,d){return new W(k,m,function(){var f=O.call(k,c),r=O.call(k,d);return B(B(f)?r:f)?M.call(k,a.call(k,P.call(k,f),P.call(k,r)),e.call(k,a,Q.call(k,f),Q.call(k,r))):k})}function d(a,c){return new W(k,m,function(){var d=O.call(k,c);return B(d)?M.call(k,
+a.call(k,P.call(k,d)),e.call(k,a,Q.call(k,d))):k})}var e=k,f=function(){function a(d,e,f,h,u){var H=k;t(u)&&(H=N(Array.prototype.slice.call(arguments,4),0));return c.call(this,d,e,f,h,H)}function c(a,d,f,h,j){return e.call(k,function(c){return V.call(k,a,c)},function aa(a){return new W(k,m,function(){var c=e.call(k,O,a);return B(kf.call(k,mf,c))?M.call(k,e.call(k,P,c),aa.call(k,e.call(k,Q,c))):k})}.call(k,te.call(k,j,h,f,d)))}a.b=4;a.a=function(a){var d=P(a),e=P(R(a)),f=P(R(R(a))),h=P(R(R(R(a)))),
+a=Q(R(R(R(a))));return c.call(this,d,e,f,h,a)};return a}(),e=function(e,j,l,q,r){switch(arguments.length){case 2:return d.call(this,e,j);case 3:return c.call(this,e,j,l);case 4:return a.call(this,e,j,l,q);default:return f.apply(this,arguments)}b("Invalid arity: "+arguments.length)};e.b=4;e.a=f.a;return e}(),of=function nf(c,d){return new W(k,m,function(){if(B(0<c)){var e=O.call(k,d);return B(e)?M.call(k,P.call(k,e),nf.call(k,c-1,Q.call(k,e))):k}return k})};
+function pf(a,c){function d(a,c){for(;;){var d=O.call(k,c),j=0<a;if(B(B(j)?d:j))j=a-1,d=Q.call(k,d),a=j,c=d;else return d}}return new W(k,m,function(){return d.call(k,a,c)})}function qf(a,c){function d(a,c){for(;;){var d=O.call(k,c),j;j=d;j=B(j)?a.call(k,P.call(k,d)):j;if(B(j))j=a,d=Q.call(k,d),a=j,c=d;else return d}}return new W(k,m,function(){return d.call(k,a,c)})}
+var rf=function(){function a(a){return new W(k,m,function(){return M.call(k,a,c.call(k,a))})}var c=k;return c=function(d,e){switch(arguments.length){case 1:return a.call(this,d);case 2:return of.call(k,d,c.call(k,e))}b("Invalid arity: "+arguments.length)}}(),sf=function(){function a(a,d){return new W(k,m,function(){var h=O.call(k,a),j=O.call(k,d);return B(B(h)?j:h)?M.call(k,P.call(k,h),M.call(k,P.call(k,j),c.call(k,Q.call(k,h),Q.call(k,j)))):k})}var c=k,d=function(){function a(c,e,l){var q=k;t(l)&&
+(q=N(Array.prototype.slice.call(arguments,2),0));return d.call(this,c,e,q)}function d(a,e,f){return new W(k,m,function(){var d=X.call(k,O,te.call(k,f,e,a));return B(kf.call(k,mf,d))?gf.call(k,X.call(k,P,d),V.call(k,c,X.call(k,Q,d))):k})}a.b=2;a.a=function(a){var c=P(a),e=P(R(a)),a=Q(R(a));return d.call(this,c,e,a)};return a}(),c=function(c,f,h){switch(arguments.length){case 2:return a.call(this,c,f);default:return d.apply(this,arguments)}b("Invalid arity: "+arguments.length)};c.b=2;c.a=d.a;return c}();
+function tf(a,c){return pf.call(k,1,sf.call(k,rf.call(k,a),c))}function uf(a){return function d(a,f){return new W(k,m,function(){var h=O.call(k,a);return B(h)?M.call(k,P.call(k,h),d.call(k,Q.call(k,h),f)):B(O.call(k,f))?d.call(k,P.call(k,f),Q.call(k,f)):k})}.call(k,k,a)}
+var vf=function(){var a=k,c=function(){function a(c,d,h){var j=k;t(h)&&(j=N(Array.prototype.slice.call(arguments,2),0));return uf.call(k,V.call(k,X,c,d,j))}a.b=2;a.a=function(a){var c=P(a),d=P(R(a)),a=Q(R(a));return uf.call(k,V.call(k,X,c,d,a))};return a}(),a=function(a,e,f){switch(arguments.length){case 2:return uf.call(k,X.call(k,a,e));default:return c.apply(this,arguments)}b("Invalid arity: "+arguments.length)};a.b=2;a.a=c.a;return a}(),xf=function wf(c,d){return new W(k,m,function(){var e=O.call(k,
+d);if(B(e)){var f=P.call(k,e),e=Q.call(k,e);return B(c.call(k,f))?M.call(k,f,wf.call(k,c,e)):wf.call(k,c,e)}return k})};function yf(a,c){return Pe.call(k,Pd,a,c)}
+var zf=function(){function a(a,c,h,j){return new W(k,m,function(){var l=O.call(k,j);if(B(l)){var q=of.call(k,a,l);return B(G.call(k,a,ue.call(k,q)))?M.call(k,q,d.call(k,a,c,h,pf.call(k,c,l))):J.call(k,of.call(k,a,gf.call(k,q,h)))}return k})}function c(a,c,h){return new W(k,m,function(){var j=O.call(k,h);if(B(j)){var l=of.call(k,a,j);return B(G.call(k,a,ue.call(k,l)))?M.call(k,l,d.call(k,a,c,pf.call(k,c,j))):k}return k})}var d=k;return d=function(e,f,h,j){switch(arguments.length){case 2:return d.call(k,
+e,e,f);case 3:return c.call(this,e,f,h);case 4:return a.call(this,e,f,h,j)}b("Invalid arity: "+arguments.length)}}();function Af(a,c){this.c=a;this.l=c}o=Af.prototype;o.p=function(a){return ne.call(k,a)};o.R=function(){return function(a,c,d){switch(arguments.length){case 2:return E.call(k,a,c,k);case 3:return E.call(k,a,c,d)}b("Invalid arity: "+arguments.length)}}();o.ua=function(a,c,d){a=Nd.call(k,this.l);a[c]=d;return new Af(this.c,a)};
+o.call=function(){return function(a,c,d){switch(arguments.length){case 2:return F.call(k,this,c);case 3:return F.call(k,this,c,d)}b("Invalid arity: "+arguments.length)}}();o.U=i;o.t=function(a,c){var d=Nd.call(k,this.l);d.push(c);return new Af(this.c,d)};o.ba=function(){return function(a,c,d){switch(arguments.length){case 2:return le.call(k,this.l,c);case 3:return le.call(k,this.l,c,d)}b("Invalid arity: "+arguments.length)}}();
+o.k=function(){var a=this;return B(0<a.l.length)?function d(e){return new W(k,m,function(){return B(e<a.l.length)?M.call(k,a.l[e],d.call(k,e+1)):k})}.call(k,0):k};o.o=function(){return this.l.length};o.mb=i;o.j=function(a,c){return oe.call(k,a,c)};o.C=function(a,c){return new Af(c,this.l)};o.v=i;o.B=n("c");
+o.I=function(){return function(a,c,d){switch(arguments.length){case 2:var e=0<=c;return B(B(e)?c<this.l.length:e)?this.l[c]:k;case 3:return e=0<=c,B(B(e)?c<this.l.length:e)?this.l[c]:d}b("Invalid arity: "+arguments.length)}}();var Bf=new Af(k,Od.call(k));function Cf(a){return new Af(k,a)}function Df(a){return Pe.call(k,te,Bf,a)}var Ef=function(){function a(a){var d=k;t(a)&&(d=N(Array.prototype.slice.call(arguments,0),0));return Df.call(k,d)}a.b=0;a.a=function(a){a=O(a);return Df.call(k,a)};return a}();
+function Ff(){}Ff.prototype.j=ca(m);var Gf=new Ff;function Hf(a,c){return Ke.call(k,B(De.call(k,c))?B(G.call(k,ue.call(k,a),ue.call(k,c)))?kf.call(k,mf,X.call(k,function(a){return G.call(k,U.call(k,c,P.call(k,a),Gf),qe.call(k,a))},a)):k:k)}function If(a,c,d){for(var e=d.length,f=0;;)if(B(f<e)){if(B(G.call(k,c,d[f])))return f;f+=a}else return k}
+var Jf=function(){var a=k;return a=function(c,d,e,f){switch(arguments.length){case 2:return a.call(k,c,d,i,m);case 4:var h=x.call(k,c);return B(B(h)?d.hasOwnProperty(c):h)?e:f}b("Invalid arity: "+arguments.length)}}();function Kf(a,c,d){this.c=a;this.keys=c;this.N=d}o=Kf.prototype;o.p=function(a){return ne.call(k,a)};o.R=function(){return function(a,c,d){switch(arguments.length){case 2:return F.call(k,a,c,k);case 3:return Jf.call(k,c,this.N,this.N[c],d)}b("Invalid arity: "+arguments.length)}}();
+o.ua=function(a,c,d){if(B(x.call(k,c))){var a=Gb.call(k,this.N),e=a.hasOwnProperty(c);a[c]=d;if(B(e))return new Kf(this.c,this.keys,a);d=Nd.call(k,this.keys);d.push(c);return new Kf(this.c,d,a)}return xe.call(k,yf.call(k,L.call(k,c,d),O.call(k,a)),this.c)};o.Ca=function(a,c){return Jf.call(k,c,this.N)};o.call=function(){return function(a,c,d){switch(arguments.length){case 2:return F.call(k,this,c);case 3:return F.call(k,this,c,d)}b("Invalid arity: "+arguments.length)}}();
+o.t=function(a,c){return B(Ee.call(k,c))?Ud.call(k,a,E.call(k,c,0),E.call(k,c,1)):Pe.call(k,Pd,a,c)};o.k=function(){var a=this;return B(0<a.keys.length)?X.call(k,function(c){return Ef.call(k,c,a.N[c])},a.keys):k};o.o=function(){return this.keys.length};o.j=function(a,c){return Hf.call(k,a,c)};o.C=function(a,c){return new Kf(c,this.keys,this.N)};o.v=i;o.B=n("c");o.Ra=i;
+o.Da=function(a,c){var d=x.call(k,c);if(B(B(d)?this.N.hasOwnProperty(c):d)){var d=Nd.call(k,this.keys),e=Gb.call(k,this.N);d.splice(If.call(k,1,c,d),1);He.call(k,e,c);return new Kf(this.c,d,e)}return a};Od.call(k);function Lf(a,c){return new Kf(k,a,c)}function Mf(a,c,d){this.c=a;this.w=c;this.F=d}o=Mf.prototype;o.p=function(a){return ne.call(k,a)};
+o.R=function(){return function(a,c,d){switch(arguments.length){case 2:return F.call(k,a,c,k);case 3:var e=this.F[ze.call(k,c)],f=B(e)?If.call(k,2,c,e):k;return B(f)?e[f+1]:d}b("Invalid arity: "+arguments.length)}}();
+o.ua=function(a,c,d){var a=ze.call(k,c),e=this.F[a];if(B(e)){var e=Nd.call(k,e),f=Gb.call(k,this.F);f[a]=e;a=If.call(k,2,c,e);if(B(a))return e[a+1]=d,new Mf(this.c,this.w,f);e.push(c,d);return new Mf(this.c,this.w+1,f)}e=Gb.call(k,this.F);e[a]=Od.call(k,c,d);return new Mf(this.c,this.w+1,e)};o.Ca=function(a,c){var d=this.F[ze.call(k,c)],d=B(d)?If.call(k,2,c,d):k;return B(d)?i:m};
+o.call=function(){return function(a,c,d){switch(arguments.length){case 2:return F.call(k,this,c);case 3:return F.call(k,this,c,d)}b("Invalid arity: "+arguments.length)}}();o.t=function(a,c){return B(Ee.call(k,c))?Ud.call(k,a,E.call(k,c,0),E.call(k,c,1)):Pe.call(k,Pd,a,c)};o.k=function(){var a=this;if(B(0<a.w)){var c=Ge.call(k,a.F).sort();return vf.call(k,function(c){return X.call(k,Df,zf.call(k,2,a.F[c]))},c)}return k};o.o=n("w");o.j=function(a,c){return Hf.call(k,a,c)};
+o.C=function(a,c){return new Mf(c,this.w,this.F)};o.v=i;o.B=n("c");o.Ra=i;o.Da=function(a,c){var d=ze.call(k,c),e=this.F[d],f=B(e)?If.call(k,2,c,e):k;if(B(S.call(k,f)))return a;var h=Gb.call(k,this.F);B(3>e.length)?He.call(k,h,d):(e=Nd.call(k,e),e.splice(f,2),h[d]=e);return new Mf(this.c,this.w-1,h)};var Nf=new Mf(k,0,Fe.call(k));function Of(a,c){for(var d=a.length,e=0,f=Nf;;)if(B(e<d))var h=e+1,f=ve.call(k,f,a[e],c[e]),e=h;else return f}
+var L=function(){function a(a){var e=k;t(a)&&(e=N(Array.prototype.slice.call(arguments,0),0));return c.call(this,e)}function c(a){for(var a=O.call(k,a),c=Nf;;)if(B(a))var f=re.call(k,a),c=ve.call(k,c,P.call(k,a),qe.call(k,a)),a=f;else return c}a.b=0;a.a=function(a){a=O(a);return c.call(this,a)};return a}();function Pf(a){return O.call(k,X.call(k,P,a))}function Qf(a,c){this.c=a;this.va=c}o=Qf.prototype;o.p=function(a){return ne.call(k,a)};
+o.R=function(){return function(a,c,d){switch(arguments.length){case 2:return F.call(k,a,c,k);case 3:return B(Td.call(k,this.va,c))?c:d}b("Invalid arity: "+arguments.length)}}();o.call=function(){return function(a,c,d){switch(arguments.length){case 2:return F.call(k,this,c);case 3:return F.call(k,this,c,d)}b("Invalid arity: "+arguments.length)}}();o.t=function(a,c){return new Qf(this.c,ve.call(k,this.va,c,k))};o.k=function(){return Pf.call(k,this.va)};o.lb=i;
+o.o=function(a){return ue.call(k,O.call(k,a))};o.j=function(a,c){var d=Be.call(k,c);return B(d)?(d=G.call(k,ue.call(k,a),ue.call(k,c)),B(d)?kf.call(k,function(c){return Oe.call(k,a,c)},c):d):d};o.C=function(a,c){return new Qf(c,this.va)};o.v=i;o.B=n("c");var Rf=new Qf(k,L.call(k));function Y(a){for(var a=O.call(k,a),c=Rf;;)if(B(S.call(k,Ae.call(k,a))))var d=Q.call(k,a),c=te.call(k,c,P.call(k,a)),a=d;else return c}
+function Sf(a){if(B(Le.call(k,a)))return a;var c;c=Me.call(k,a);c=B(c)?c:Ne.call(k,a);if(B(c))return c=a.lastIndexOf("/"),B(0>c)?Ve.call(k,a,2):Ve.call(k,a,c+1);B("\ufdd0'else")&&b(Error(K.call(k,"Doesn't support name: ",a)));return k}function Tf(a){var c;c=Me.call(k,a);c=B(c)?c:Ne.call(k,a);if(B(c))return c=a.lastIndexOf("/"),B(-1<c)?Ve.call(k,a,2,c):k;b(Error(K.call(k,"Doesn't support namespace: ",a)))}
+var Vf=function Uf(c,d){return new W(k,m,function(){var e=O.call(k,d);return B(e)?B(c.call(k,P.call(k,e)))?M.call(k,P.call(k,e),Uf.call(k,c,Q.call(k,e))):k:k})};function Wf(a,c,d,e){this.c=a;this.start=c;this.end=d;this.step=e}o=Wf.prototype;o.p=function(a){return ne.call(k,a)};o.U=i;o.t=function(a,c){return M.call(k,c,a)};o.ba=function(){return function(a,c,d){switch(arguments.length){case 2:return le.call(k,a,c);case 3:return le.call(k,a,c,d)}b("Invalid arity: "+arguments.length)}}();
+o.k=function(a){return B((B(0<this.step)?Re:Se).call(k,this.start,this.end))?a:k};o.o=function(a){return B(S.call(k,fe.call(k,a)))?0:Math.ceil.call(k,(this.end-this.start)/this.step)};o.ca=i;o.S=n("start");o.T=function(a){return B(fe.call(k,a))?new Wf(this.c,this.start+this.step,this.end,this.step):J.call(k)};o.j=function(a,c){return oe.call(k,a,c)};o.C=function(a,c){return new Wf(c,this.start,this.end,this.step)};o.v=i;o.B=n("c");
+o.I=function(){return function(a,c,d){switch(arguments.length){case 2:var e;if(B(c<D.call(k,a)))e=this.start+c*this.step;else{var f;f=this.start>this.end;f=B(f)?G.call(k,this.step,0):f;B(f)?e=this.start:b(Error("Index out of bounds"))}return e;case 3:return B(c<D.call(k,a))?e=this.start+c*this.step:(e=this.start>this.end,e=B(e)?G.call(k,this.step,0):e,e=B(e)?this.start:d),e}b("Invalid arity: "+arguments.length)}}();
+var Xf=function(){var a=k;return a=function(c,d,e){switch(arguments.length){case 0:return a.call(k,0,Number.MAX_VALUE,1);case 1:return a.call(k,0,c,1);case 2:return a.call(k,c,d,1);case 3:return new Wf(k,c,d,e)}b("Invalid arity: "+arguments.length)}}();function Yf(a,c){var d=a.exec(c);return B(I.call(k,d))?k:B(G.call(k,ue.call(k,d),1))?P.call(k,d):Df.call(k,d)}function Zf(a,c,d,e,f,h){return gf.call(k,Cf([c]),uf.call(k,tf.call(k,Cf([d]),X.call(k,function(c){return a.call(k,c,f)},h))),Cf([e]))}
+var ag=function $f(c,d){return B(I.call(k,c))?J.call(k,"nil"):B(g===c)?J.call(k,"#<undefined>"):B("\ufdd0'else")?gf.call(k,B(function(){var e=U.call(k,d,"\ufdd0'meta");return B(e)?(B(c)?(e=c.v,e=B(e)?S.call(k,c.hasOwnProperty("cljs$core$IMeta$")):e):e=c,e=B(e)?i:Md.call(k,$d,c),B(e)?ye.call(k,c):e):e}())?gf.call(k,Cf(["^"]),$f.call(k,ye.call(k,c),d),Cf([" "])):k,B(function(){var d;B(c)?(d=c.q,d=B(d)?S.call(k,c.hasOwnProperty("cljs$core$IPrintable$")):d):d=c;return B(d)?i:Md.call(k,he,c)}())?ie.call(k,
+c,d):J.call(k,"#<",K.call(k,c),">")):k};function bg(a,c){var d=P.call(k,a),e=new Pa,f=O.call(k,a);if(B(f))for(var h=P.call(k,f);;){B(h===d)||e.append(" ");var j=O.call(k,ag.call(k,h,c));if(B(j))for(h=P.call(k,j);;)if(e.append(h),h=R.call(k,j),B(h))j=h,h=P.call(k,j);else break;f=R.call(k,f);if(B(f))h=f,f=P.call(k,h),j=h,h=f,f=j;else break}return K.call(k,e)}
+function cg(){return Lf(["\ufdd0'flush-on-newline","\ufdd0'readably","\ufdd0'meta","\ufdd0'dup"],{"\ufdd0'flush-on-newline":i,"\ufdd0'readably":i,"\ufdd0'meta":m,"\ufdd0'dup":m})}var dg=function(){function a(a){var d=k;t(a)&&(d=N(Array.prototype.slice.call(arguments,0),0));return bg.call(k,d,cg.call(k))}a.b=0;a.a=function(a){a=O(a);return bg.call(k,a,cg.call(k))};return a}();Mf.prototype.q=i;
+Mf.prototype.m=function(a,c){return Zf.call(k,function(a){return Zf.call(k,ag,""," ","",c,a)},"{",", ","}",c,a)};he.number=i;ie.number=function(a){return J.call(k,K.call(k,a))};me.prototype.q=i;me.prototype.m=function(a,c){return Zf.call(k,ag,"("," ",")",c,a)};W.prototype.q=i;W.prototype.m=function(a,c){return Zf.call(k,ag,"("," ",")",c,a)};he["boolean"]=i;ie["boolean"]=function(a){return J.call(k,K.call(k,a))};Qf.prototype.q=i;Qf.prototype.m=function(a,c){return Zf.call(k,ag,"#{"," ","}",c,a)};
+he.string=i;ie.string=function(a,c){return B(Me.call(k,a))?J.call(k,K.call(k,":",function(){var c=Tf.call(k,a);return B(c)?K.call(k,c,"/"):k}(),Sf.call(k,a))):B(Ne.call(k,a))?J.call(k,K.call(k,function(){var c=Tf.call(k,a);return B(c)?K.call(k,c,"/"):k}(),Sf.call(k,a))):B("\ufdd0'else")?J.call(k,B("\ufdd0'readably".call(k,c))?Ea.call(k,a):a):k};Af.prototype.q=i;Af.prototype.m=function(a,c){return Zf.call(k,ag,"["," ","]",c,a)};Xe.prototype.q=i;
+Xe.prototype.m=function(a,c){return Zf.call(k,ag,"("," ",")",c,a)};he.array=i;ie.array=function(a,c){return Zf.call(k,ag,"#<Array [",", ","]>",c,a)};Ye.prototype.q=i;Ye.prototype.m=function(){return J.call(k,"()")};af.prototype.q=i;af.prototype.m=function(a,c){return Zf.call(k,ag,"("," ",")",c,a)};Wf.prototype.q=i;Wf.prototype.m=function(a,c){return Zf.call(k,ag,"("," ",")",c,a)};Kf.prototype.q=i;
+Kf.prototype.m=function(a,c){return Zf.call(k,function(a){return Zf.call(k,ag,""," ","",c,a)},"{",", ","}",c,a)};function eg(a,c,d,e){this.state=a;this.c=c;this.Bb=d;this.Pa=e}o=eg.prototype;o.p=function(a){return ia.call(k,a)};o.Ta=function(a,c,d){var e=O.call(k,this.Pa);if(B(e)){var f=P.call(k,e);T.call(k,f,0,k);for(T.call(k,f,1,k);;){var h=f,f=T.call(k,h,0,k),h=T.call(k,h,1,k);h.call(k,f,a,c,d);e=R.call(k,e);if(B(e))f=e,e=P.call(k,f),h=f,f=e,e=h;else return k}}else return k};
+o.Sa=function(a,c,d){return a.Pa=ve.call(k,this.Pa,c,d)};o.q=i;o.m=function(a,c){return gf.call(k,Cf(["#<Atom: "]),ie.call(k,this.state,c),">")};o.v=i;o.B=n("c");o.kb=n("state");o.j=function(a,c){return a===c};
+var fg=function(){var a=k,c=function(){function a(d,h){var j=k;t(h)&&(j=N(Array.prototype.slice.call(arguments,1),0));return c.call(this,d,j)}function c(a,d){var e=B(Je.call(k,d))?V.call(k,L,d):d,l=U.call(k,e,"\ufdd0'validator"),e=U.call(k,e,"\ufdd0'meta");return new eg(a,e,l,k)}a.b=1;a.a=function(a){var d=P(a),a=Q(a);return c.call(this,d,a)};return a}(),a=function(a,e){switch(arguments.length){case 1:return new eg(a,k,k,k);default:return c.apply(this,arguments)}b("Invalid arity: "+arguments.length)};
+a.b=1;a.a=c.a;return a}();function gg(a,c){var d=a.Bb;B(d)&&!B(d.call(k,c))&&b(Error(K.call(k,"Assert failed: ","Validator rejected reference state","\n",dg.call(k,xe(J("\ufdd1'validate","\ufdd1'new-value"),L("\ufdd0'line",3061))))));d=a.state;a.state=c;je.call(k,a,d,c);return c}
+var hg=function(){var a=k,c=function(){function a(c,d,h,j,l,q){var r=k;t(q)&&(r=N(Array.prototype.slice.call(arguments,5),0));return gg.call(k,c,V.call(k,d,c.state,h,j,l,r))}a.b=5;a.a=function(a){var c=P(a),d=P(R(a)),j=P(R(R(a))),l=P(R(R(R(a)))),q=P(R(R(R(R(a))))),a=Q(R(R(R(R(a)))));return gg.call(k,c,V.call(k,d,c.state,j,l,q,a))};return a}(),a=function(a,e,f,h,j,l){switch(arguments.length){case 2:return gg.call(k,a,e.call(k,a.state));case 3:return gg.call(k,a,e.call(k,a.state,f));case 4:return gg.call(k,
+a,e.call(k,a.state,f,h));case 5:return gg.call(k,a,e.call(k,a.state,f,h,j));default:return c.apply(this,arguments)}b("Invalid arity: "+arguments.length)};a.b=5;a.a=c.a;return a}();function Z(a){return Zd.call(k,a)}fg.call(k,function(){return Lf(["\ufdd0'parents","\ufdd0'descendants","\ufdd0'ancestors"],{"\ufdd0'parents":Lf([],{}),"\ufdd0'descendants":Lf([],{}),"\ufdd0'ancestors":Lf([],{})})}.call(k));var ig=fg.call(k,Lf([],{})),jg=function(){var a=k;return a=function(c,d,e){switch(arguments.length){case 2:return a.call(k,k,c,d);case 3:var f=Lf(["\ufdd0'max-count","\ufdd0'event-pred","\ufdd0'reactor"],{"\ufdd0'max-count":c,"\ufdd0'event-pred":d,"\ufdd0'reactor":e});hg.call(k,ig,ve,f,0);return f}b("Invalid arity: "+arguments.length)}}();function kg(a){return hg.call(k,ig,we,a)}
+var lg=function(){function a(a,c){var f=xf.call(k,function(c){var e=T.call(k,c,0,k),e=B(Je.call(k,e))?V.call(k,L,e):e,e=U.call(k,e,"\ufdd0'event-pred");T.call(k,c,1,k);return e.call(k,a)},Z.call(k,ig)),h=O.call(k,f);if(B(h)){f=P.call(k,h);T.call(k,f,0,k);T.call(k,f,1,k);for(var j=h;;){var h=f,f=T.call(k,h,0,k),h=T.call(k,h,1,k),l=f,l=B(Je.call(k,l))?V.call(k,L,l):l,q=U.call(k,l,"\ufdd0'reactor"),r=U.call(k,l,"\ufdd0'max-count"),w=h+1;q.call(k,a,c);B(function(){var a=r;return B(a)?r<=w:a}())?kg.call(k,
+f):hg.call(k,ig,ve,f,w);f=R.call(k,j);if(B(f))h=f,f=P.call(k,h),j=h;else return k}}else return k}var c=k;return c=function(d,e){switch(arguments.length){case 1:return c.call(k,d,k);case 2:return a.call(this,d,e)}b("Invalid arity: "+arguments.length)}}();function mg(a){if(B(B(a)?a.Fa:a))a=a.Fa(a);else{var c;var d=mg[s.call(k,a)];B(d)?c=d:(d=mg._,B(d)?c=d:b(C.call(k,"DomContent.single-node",a)));a=c.call(k,a)}return a}function ng(a){return bd.call(k,Sf.call(k,a))}function og(a,c){return mg.call(k,a).getAttribute(Sf.call(k,c))}
+var pg=function(){function a(a,e){return B(e<a.length)?new W(k,m,function(){return M.call(k,a.item(e),c.call(k,a,e+1))}):k}var c=k;return c=function(d,e){switch(arguments.length){case 1:return c.call(k,d,0);case 2:return a.call(this,d,e)}b("Invalid arity: "+arguments.length)}}();function qg(a){return document.createElement(B(a)?B(Y(["td","th"]).call(k,a))?"tr":"table":"div")}function rg(a,c){return B(y)?(a.innerHTML=K.call(k,"<br>",c),a.removeChild(a.firstChild)):a.innerHTML=c}
+function sg(a,c){var d=B(G.call(k,c,"tr"))?P.call(k,cd.call(k,"tbody",k,a)):a,e=d.childNodes;return B(G.call(k,e.length,1))?d.removeChild(d.firstChild):e}function tg(a){var c=Yf.call(k,/^<(t(head|body|foot|[rhd]))/,a);T.call(k,c,0,k);var d=T.call(k,c,1,k);Te.call(k,c,2);c=qg.call(k,d);rg.call(k,c,a);return sg.call(k,c,d)}mg._=function(a){return P.call(k,a)};DocumentFragment.prototype.Fa=ba();Element.prototype.Fa=ba();mg.string=function(a){return mg.call(k,tg.call(k,a))};
+NodeList.prototype.k=function(a){return pg.call(k,a)};NodeList.prototype.I=function(){return function(a,c,d){switch(arguments.length){case 2:return a.item(c);case 3:return B(a.length<=c)?d:T.call(k,a,c)}b("Invalid arity: "+arguments.length)}}();NodeList.prototype.o=function(a){return a.length};
+if(B(window.Cb))StaticNodeList.prototype.k=function(a){return pg.call(k,a)},StaticNodeList.prototype.I=function(){return function(a,c,d){switch(arguments.length){case 2:return a.item(c);case 3:return B(a.length<=c)?d:T.call(k,a,c)}b("Invalid arity: "+arguments.length)}}(),StaticNodeList.prototype.o=function(a){return a.length};HTMLCollection.prototype.k=function(a){return pg.call(k,a)};
+HTMLCollection.prototype.I=function(){return function(a,c,d){switch(arguments.length){case 2:return a.item(c);case 3:return B(a.length<=c)?d:T.call(k,a,c)}b("Invalid arity: "+arguments.length)}}();HTMLCollection.prototype.o=function(a){return a.length};var ug={},vg=fg.call(k,Lf([],{})),wg=fg.call(k,k),xg=fg.call(k,m),yg=fg.call(k,k),zg=fg.call(k,k),Ag=function(){function a(a){var e=k;t(a)&&(e=N(Array.prototype.slice.call(arguments,0),0));return c.call(this,e)}function c(a){return Ed.call(k,"org_html_slideshow.main").info(V.call(k,dg,a))}a.b=0;a.a=function(a){a=O(a);return c.call(this,a)};return a}(),$=function(){return function(a,c,d){switch(arguments.length){case 1:return yb.call(k,cd.call(k,a));case 2:return yb.call(k,cd.call(k,a,c));case 3:return yb.call(k,
+cd.call(k,a,c,d))}b("Invalid arity: "+arguments.length)}}();function Bg(a){return a.parentNode.removeChild(a)}var Cg=function(){var a=k;return a=function(c,d){switch(arguments.length){case 1:return a.call(k,c,k);case 2:return P.call(k,$.call(k,"head",k,d)).appendChild(c)}b("Invalid arity: "+arguments.length)}}();function Dg(){return P.call(k,$.call(k,"body"))}function Eg(a){var c=a.firstChild;if(B(c))return c;c=a.nextSibling;if(B(c))return c;a=a.parentNode;return B(a)?a.nextSibling:k}
+function Fg(){return cc.call(k,window.location).ea}function Gg(a){var c=cc.call(k,window.location);Vb(c,a);return window.location=K.call(k,c)}function Hg(a){return function(c){B(c)&&(c.preventDefault(),c.stopPropagation());return lg.call(k,a,c)}}function Ig(a){return B(a)?nd.call(k,mg.call(k,a),i):k}function Jg(a){return B(a)?nd.call(k,mg.call(k,a),m):k}
+function Kg(a){return Y.call(k,X.call(k,function(a){return og.call(k,a,"href")},xf.call(k,function(c){var d=G.call(k,"stylesheet",og.call(k,c,"rel"));return B(d)?G.call(k,a,og.call(k,c,"media")):d},$.call(k,"link"))))}function Lg(a){var c=O.call(k,xf.call(k,function(c){var d=G.call(k,"stylesheet",og.call(k,c,"rel"));return B(d)?Oe.call(k,a,og.call(k,c,"href")):d},$.call(k,"link")));if(B(c))for(var d=P.call(k,c);;)if(Bg.call(k,d),d=R.call(k,c),B(d))c=d,d=P.call(k,c);else return k;else return k}
+var Mg=function(){function a(a,c){var f=O.call(k,a);if(B(f))for(var h=P.call(k,f);;)if(Cg.call(k,function(){var a=gd.call(k,"link");a.setAttribute("rel","stylesheet");a.setAttribute("type","text/css");a.setAttribute("href",h);return a}(),c),f=R.call(k,f),B(f))var j=f,h=f=P.call(k,j),f=j;else return k;else return k}var c=k;return c=function(d,e){switch(arguments.length){case 1:return c.call(k,d,k);case 2:return a.call(this,d,e)}b("Invalid arity: "+arguments.length)}}();
+function Ng(){return Df.call(k,X.call(k,function(a){return Lf(["\ufdd0'head-elem","\ufdd0'body-elem"],{"\ufdd0'head-elem":a.parentNode.parentNode,"\ufdd0'body-elem":P.call(k,$.call(k,"div",k,Og.call(k,a)))})},$.call(k,"span","fold")))}function Pg(a,c){if(B(od.call(k,c)))return nd.call(k,c,m),Zc.call(k,a,"unfolded"),Yc.call(k,a,"folded");nd.call(k,c,i);Zc.call(k,a,"folded");return Yc.call(k,a,"unfolded")}
+function Qg(a){a.preventDefault();var a=a.currentTarget,c=P.call(k,$.call(k,"div",k,Og.call(k,a)));return Pg.call(k,a,c)}
+function Rg(){var a=O.call(k,Ng.call(k));if(B(a)){var c=P.call(k,a),d=B(Je.call(k,c))?V.call(k,L,c):c;U.call(k,d,"\ufdd0'body-elem");for(U.call(k,d,"\ufdd0'head-elem");;)if(d=B(Je.call(k,c))?V.call(k,L,c):c,c=U.call(k,d,"\ufdd0'body-elem"),d=U.call(k,d,"\ufdd0'head-elem"),Pg.call(k,d,c),c=jd.call(k,' <a href="#" class="show-hide"><span>show/hide</span></a>'),d.appendChild(c),$.call(k,"a","show-hide",d),A.call(k,d,"click",Qg),a=R.call(k,a),B(a))c=a,a=P.call(k,c),d=c,c=a,a=d;else return k}else return k}
+function Sg(){return ld.call(k,bd.call(k,"c-panel"),"opacity",0.75)}function Tg(){return ld.call(k,bd.call(k,"c-panel"),"opacity",0)}
+function Ug(){Dg.call(k).appendChild(jd.call(k,'<div id="c-panel">\n<a id="c-toggle" href="#">\n <span class="label">Toggle slide-show mode</span>\n <span class="key">T</span>\n</a>\n<a id="c-first" href="#">\n <span class="label">First slide</span>\n <span class="key">Home</span>\n</a>\n<a id="c-prev" href="#">\n <span class="label">Previous slide</span>\n <span class="key">P</span>\n</a>\n<a id="c-next" href="#">\n <span class="label">Next slide</span>\n <span class="key">N</span>\n</a>\n<a id="c-last" href="#">\n <span class="label">Last slide</span>\n <span class="key">End</span>\n</a>\n<a id="c-presenter-window" href="#">\n <span class="label">Open presenter preview</span>\n</a>\n</div>'));var a=
+bd.call(k,"c-panel");lg.call(k,"\ufdd0'show-control-panel");ud.call(k,Hg.call(k,"\ufdd0'hide-control-panel"),3E3);A.call(k,a,"mouseover",Hg.call(k,"\ufdd0'show-control-panel"));A.call(k,a,"mouseout",Hg.call(k,"\ufdd0'hide-control-panel"));A.call(k,bd.call(k,"c-toggle"),"click",Hg.call(k,"\ufdd0'toggle-mode"));A.call(k,bd.call(k,"c-first"),"click",Hg.call(k,"\ufdd0'show-first-slide"));A.call(k,bd.call(k,"c-prev"),"click",Hg.call(k,"\ufdd0'show-prev-slide"));A.call(k,bd.call(k,"c-next"),"click",Hg.call(k,
+"\ufdd0'show-next-slide"));A.call(k,bd.call(k,"c-last"),"click",Hg.call(k,"\ufdd0'show-last-slide"));return A.call(k,bd.call(k,"c-presenter-window"),"click",Hg.call(k,"\ufdd0'show-presenter-window"))}function Og(a){for(;;){if(B(G.call(k,"DIV",a.nodeName)))return a;a=a.parentNode}}var Vg=Y.call(k,X.call(k,function(a){return K.call(k,"H",a)},Xf.call(k,1,9)));function Wg(a){for(;;){if(B(Oe.call(k,Vg,a.nodeName)))return a;a=Eg.call(k,a)}}
+function Xg(){var a=O.call(k,$.call(k,"span","tag"));if(B(a))for(var c=P.call(k,a);;){var d=Og.call(k,c),e=O.call(k,$.call(k,"span",k,c));if(B(e))for(c=P.call(k,e);;)if(Yc.call(k,d,Xc.call(k,c)),c=R.call(k,e),B(c))e=c,c=P.call(k,e);else break;a=R.call(k,a);if(B(a))d=a,c=a=P.call(k,d),a=d;else return k}else return k}
+function Yg(a){var a=a.cloneNode(i),c=O.call(k,$.call(k,"div",k,a));if(B(c))for(var d=P.call(k,c),e=c;;)if(B(function(){var a=S.call(k);return B(a)?lf.call(k,function(a){return function(c){return $c.call(k,a,K.call(k,"outline-",c))}}(d,e),Xf.call(k,1,9)):a}())&&Bg.call(k,d),c=R.call(k,e),B(c))var f=c,d=c=P.call(k,f),e=f;else break;return a}function Zg(a){a=P.call(k,xf.call(k,function(a){var d=G.call(k,"DIV",a.nodeName);return B(d)?$c.call(k,a,"notes"):d},a.children));return B(a)?kd.call(k,a):""}
+function $g(){return Df.call(k,X.call(k,function(a){return Lf(["\ufdd0'id","\ufdd0'html","\ufdd0'notes-html"],{"\ufdd0'id":Wg.call(k,a).id,"\ufdd0'html":kd.call(k,Yg.call(k,a)),"\ufdd0'notes-html":Zg.call(k,a)})},$.call(k,"div","slide")))}function ah(a){return lf.call(k,function(c){return B(G.call(k,a,"\ufdd0'id".call(k,c)))?c:k},Z.call(k,wg))}function bh(a){return qe.call(k,qf.call(k,function(c){return 0<ta.call(k,a,"\ufdd0'id".call(k,c))},Z.call(k,wg)))}
+function ch(){var a=Fg.call(k),c=ah.call(k,a);if(B(c))return c;c=O.call(k,a);a=B(c)?bh.call(k,a):c;return B(a)?a:P.call(k,Z.call(k,wg))}function dh(){return bh.call(k,"\ufdd0'id".call(k,ch.call(k)))}function eh(a){var c=B(Je.call(k,a))?V.call(k,L,a):a,a=U.call(k,c,"\ufdd0'html"),c=U.call(k,c,"\ufdd0'id");Gg.call(k,c);bd.call(k,"current-slide").innerHTML=a;return fh.call(k)}
+function gh(){Ag.call(k,xe(J("\ufdd1'enter-slideshow-mode"),L("\ufdd0'line",290)));Jg.call(k,ng.call(k,"preamble"));Jg.call(k,ng.call(k,"content"));Jg.call(k,ng.call(k,"postamble"));Lg.call(k,U.call(k,Z.call(k,vg),"screen"));Mg.call(k,U.call(k,Z.call(k,vg),"projection"));Ig.call(k,ng.call(k,"current-slide"));return eh.call(k,ch.call(k))}
+function hh(){Ag.call(k,xe(J("\ufdd1'leave-slideshow-mode"),L("\ufdd0'line",300)));Jg.call(k,ng.call(k,"current-slide"));Lg.call(k,U.call(k,Z.call(k,vg),"projection"));Mg.call(k,U.call(k,Z.call(k,vg),"screen"));Ig.call(k,ng.call(k,"preamble"));Ig.call(k,ng.call(k,"content"));Ig.call(k,ng.call(k,"postamble"));return bd.call(k,Fg.call(k)).scrollIntoView()}function ih(){return B(Z.call(k,xg))?gh.call(k):hh.call(k)}
+function jh(){Ag.call(k,xe(J("\ufdd1'toggle-mode"),L("\ufdd0'line",315)));return hg.call(k,xg,S)}(function(a,c,d){return ke.call(k,a,c,d)}).call(k,xg,"\ufdd0'change-mode",function(){return lg.call(k,"\ufdd0'change-mode")});function kh(){var a=ch.call(k),c=qe.call(k,qf.call(k,function(c){return jf.call(k,a,c)},Z.call(k,wg)));B(c)&&eh.call(k,c);return hg.call(k,zg,function(a){return B(I.call(k,a))?(new Date).getTime():a})}
+function lh(){var a=ch.call(k),c=se.call(k,Vf.call(k,function(c){return jf.call(k,a,c)},Z.call(k,wg)));return B(c)?eh.call(k,c):k}function mh(){return eh.call(k,P.call(k,Z.call(k,wg)))}function nh(){return eh.call(k,se.call(k,Z.call(k,wg)))}function oh(){Gg.call(k,"top");return ug.window.scrollTo(0,0)}var ph=Of([84,36],["\ufdd0'toggle-mode","\ufdd0'go-to-top"]),qh=Of([32,84,35,80,37,34,13,33,78,40,38,39,3,36],"\ufdd0'show-next-slide,\ufdd0'toggle-mode,\ufdd0'show-last-slide,\ufdd0'show-prev-slide,\ufdd0'show-prev-slide,\ufdd0'show-next-slide,\ufdd0'show-next-slide,\ufdd0'show-prev-slide,\ufdd0'show-next-slide,\ufdd0'show-next-slide,\ufdd0'show-prev-slide,\ufdd0'show-next-slide,\ufdd0'show-next-slide,\ufdd0'show-first-slide".split(","));
+function rh(a){var c=a.keyCode,d=B(Z.call(k,xg))?qh:ph,c=U.call(k,d,c);return B(c)?(lg.call(k,c),a.preventDefault(),a.stopPropagation()):k}function sh(a){return A.call(k,new Qc(a),"key",rh)}function th(){return B(Z.call(k,yg))?B(Z.call(k,yg).closed)?gg.call(k,yg,k):Z.call(k,yg):k}
+function uh(a){var c=new Date,d=c.getHours();return a.document.getElementById("presenter-clock-time").innerHTML=Ra.call(k,'<span>%d:%02d:%02d<span id="presenter-clock-time-ampm"> %s</span></span>',B(12<d)?d-12:d,c.getMinutes(),c.getSeconds(),B(12<=d)?"pm":"am")}function vh(){var a=(new Date).getTime()-Z.call(k,zg);return Ra.call(k,"%d:%02d:%02d",a/36E5,a/6E4%60,a/1E3%60)}function wh(a){return a.document.getElementById("presenter-elapsed-time").innerHTML=B(Z.call(k,zg))?vh.call(k):"0:00:00"}
+var yh=function xh(){var c=th.call(k);return B(c)?(uh.call(k,c),wh.call(k,c),window.setTimeout(xh,1E3)):k};function zh(){gg.call(k,zg,k);var a=th.call(k);return B(a)?wh.call(k,a):k}
+function fh(){var a=th.call(k);if(B(a)){var c=ch.call(k),d=B(Je.call(k,c))?V.call(k,L,c):c,c=U.call(k,d,"\ufdd0'notes-html"),d=U.call(k,d,"\ufdd0'html");a.document.getElementById("presenter-current-slide").innerHTML=d;a.document.getElementById("presenter-notes-container").innerHTML=c;return a.document.getElementById("presenter-next-slide").innerHTML="\ufdd0'html".call(k,dh.call(k))}return k}
+function Ah(){var a=th.call(k);if(B(a))return a.focus();gg.call(k,yg,Ld.call(k,"",Lf(["\ufdd0'target","\ufdd0'toolbar","\ufdd0'location","\ufdd0'statusbar","\ufdd0'menubar"],{"\ufdd0'target":"PRESENTERDISPLAY","\ufdd0'toolbar":m,"\ufdd0'location":m,"\ufdd0'statusbar":m,"\ufdd0'menubar":m}).N));a=Z.call(k,yg).document;a.write('\n<html>\n <head>\n </head>\n <body class="presenter-display">\n <div id="presenter-slide-preview">\n <div id="presenter-current-slide-container">\n <span class="presenter-label">Current Slide</span>\n <div id="presenter-current-slide">\n </div>\n </div>\n <div id="presenter-next-slide-container">\n <span class="presenter-label">Next Slide</span>\n <div id="presenter-next-slide">\n </div>\n </div>\n </div>\n <div id="presenter-notes-container"></div>\n <div id="presenter-times" class="presenter-label">\n <div id="presenter-elapsed-time-container">\n <span id="presenter-elapsed-time">0:00:00</span>\n <span id="presenter-elapsed-time-reset-container">\n <a href="#" id="presenter-elapsed-time-reset">reset</a>\n </span>\n </div>\n <div id="presenter-clock-time"><span></span></div>\n </div>\n </body>\n</html>\n');
+Mg.call(k,U.call(k,Z.call(k,vg),"common"),a);Mg.call(k,U.call(k,Z.call(k,vg),"projection"),a);Mg.call(k,U.call(k,Z.call(k,vg),"presenter"),a);sh.call(k,a);A.call(k,a.getElementById("presenter-elapsed-time-reset"),"click",Hg.call(k,"\ufdd0'reset-elapsed-time"));fh.call(k);return yh.call(k)}
+function Bh(){jg.call(k,Y(["\ufdd0'show-next-slide"]),function(){return kh.call(k)});jg.call(k,Y(["\ufdd0'show-prev-slide"]),function(){return lh.call(k)});jg.call(k,Y(["\ufdd0'show-first-slide"]),function(){return mh.call(k)});jg.call(k,Y(["\ufdd0'show-last-slide"]),function(){return nh.call(k)});jg.call(k,Y(["\ufdd0'toggle-mode"]),function(){return jh.call(k)});jg.call(k,Y(["\ufdd0'go-to-top"]),function(){return oh.call(k)});jg.call(k,Y(["\ufdd0'show-control-panel"]),function(){return Sg.call(k)});
+jg.call(k,Y(["\ufdd0'hide-control-panel"]),function(){return Tg.call(k)});jg.call(k,Y(["\ufdd0'change-mode"]),function(){return ih.call(k)});jg.call(k,Y(["\ufdd0'show-presenter-window"]),function(){return Ah.call(k)});return jg.call(k,Y(["\ufdd0'reset-elapsed-time"]),function(){return zh.call(k)})}function Ch(){return hg.call(k,vg,ve,"projection",Kg.call(k,"projection"),"screen",Kg.call(k,"screen"),"common",Kg.call(k,k),"presenter",Kg.call(k,"presenter"))}
+function Dh(){var a=O.call(k,$.call(k,"img"));if(B(a))for(var c=P.call(k,a);;)if(c=c.parentNode,B(G.call(k,"P",c.nodeName))&&Yc.call(k,c,"image"),c=R.call(k,a),B(c))a=c,c=P.call(k,a);else return k;else return k}
+function Eh(){var a=O.call(k,Xf.call(k,1,9));if(B(a))for(var c=P.call(k,a);;){var d=O.call(k,$.call(k,"div",K.call(k,"outline-text-",c)));if(B(d))for(c=P.call(k,d);;)if(Yc.call(k,c,"outline-text"),c=R.call(k,d),B(c))d=c,c=P.call(k,d);else break;a=R.call(k,a);if(B(a))c=a,a=P.call(k,c),d=c,c=a,a=d;else return k}else return k}
+(function(){var a=new Kd;if(i!=a.Xa){Jd();var c=Id,d=a.vb;if(!c.pa)c.pa=[];c.pa.push(d);a.Xa=i}Ag.call(k,"Application started");Ag.call(k,"Preparing document");Ch.call(k);Lg.call(k,U.call(k,Z.call(k,vg),"projection"));Lg.call(k,U.call(k,Z.call(k,vg),"presenter"));Dh.call(k);Xg.call(k);Eh.call(k);Rg.call(k);Dg.call(k).appendChild(jd.call(k,'<div id="current-slide"></div>'));Jg.call(k,ng.call(k,"current-slide"));gg.call(k,wg,$g.call(k));Ag.call(k,xe(J("\ufdd1'count","\ufdd1'slides"),L("\ufdd0'line",
+559)),ue.call(k,Z.call(k,wg)));Ag.call(k,"Installing key handler");Bh.call(k);Ug.call(k);return sh.call(k,ad.call(k))}).call(k);
97 presenter.css
@@ -0,0 +1,97 @@
+/* Org-HTML-Slideshow presenter styles.
+ *
+ * These styles will apply only to the presenter preview.
+ */
+
+body.presenter-display {
+ background-color: black;
+}
+
+.presenter-label {
+ color: white;
+ font-family: Helvetica, Arial, sans-serif;
+}
+
+#presenter-current-slide-container {
+ bottom: 200px;
+ height: 40%;
+ left: 1%;
+ overflow: hidden;
+ position: absolute;
+ top: 0;
+ vertical-align: top;
+ width: 50%;
+ zoom: 60%;
+}
+
+#presenter-next-slide-container {
+ height: 30%;
+ overflow: hidden;
+ position: absolute;
+ right: 1%;
+ top: 1%;
+ vertical-align: top;
+ width: 40%;
+ zoom: 50%;
+}
+
+#presenter-current-slide {
+ background: white;
+ height: 100%;
+ padding: 12pt;
+}
+
+#presenter-next-slide {
+ background: white;
+ height: 100%;
+ padding: 12pt;
+}
+
+#presenter-times {
+ bottom: 1%;
+ font-size: 2.5em;
+ position: absolute;
+ text-align: center;
+ height: 12%;
+ width: 98%;
+}
+
+#presenter-elapsed-time-container {
+ position: absolute;
+ left: 1%;
+ width: 45%;
+}
+
+#presenter-clock-time {
+ position: absolute;
+ right: 1%;
+ width: 45%;
+}
+
+#presenter-clock-time-ampm {
+ font-size: 0.5em;
+}
+
+#presenter-elapsed-time-reset-container {
+ font-size: 12pt;
+}
+
+a#presenter-elapsed-time-reset {
+ color: cyan;
+}
+
+#presenter-notes-container {
+ position: absolute;
+ overflow: auto;
+ top: 40%;
+ left: 10px;
+ height: 45%;
+ width: 98%;
+ font-size: 18pt;
+ color: white;
+}
+
+#presenter-notes-container h1,#presenter-notes-container h2,#presenter-notes-container h3,#presenter-notes-container h4,#presenter-notes-container h5,#presenter-notes-container h6,#presenter-notes-container h7,#presenter-notes-container h8 {
+ font-size: 12pt;
+ text-align: left;
+}
48 projection.css
@@ -0,0 +1,48 @@
+/* Org-HTML-Slideshow projection styles.
+ *
+ * These styles will apply only to the slide-show view.
+ */
+
+body {
+ margin: 18pt;
+ font-size: 24pt;
+}
+
+/* Use all headings as slide titles, regardless of level. */
+h1,h2,h3,h4,h5,h6,h7,h8 {
+ font-size: 48pt;
+ margin: 18pt;
+ text-align: center;
+}
+
+li {
+ margin: 12pt;
+}
+
+/* Center embedded images. */
+p.image {
+ text-align: center;
+}
+
+/* Hide Org-Mode tags in slide-show view. */
+span.tag {
+ display: none;
+}
+
+/* Hide Org-Mode section numbers in slide-show view. */
+span.section-number-1,span.section-number-2,span.section-number-3,span.section-number-4,span.section-number-5,span.section-number-6,span.section-number-7,span.section-number-8 {
+ display: none;
+}
+
+.blue_background {
+ background: blue;
+ color: white;
+}
+
+.title {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ margin-left: -25%;
+ margin-top: -5em;
+}
0 screen.css
No changes.
80 securing-the-rails.org
@@ -0,0 +1,80 @@
+#+TITLE: Securing the Rails
+#+AUTHOR: Aaron Bedra
+#+EMAIL: aaron@aaronbedra.com
+#+LANGUAGE: en
+
+* Securing the Rails :slide:title:
+* What we're going to cover :slide:
+ - Cross Site Scripting (XSS)
+ - Cross Site Request Forgery (CSRF)
+ - SQL injection
+ - Session management
+ - Mass assignment
+ - Exception handling/notification
+ - Scanning your application
+ - Static analysis tools
+* This sounds like a lot, but you get a lot for free! :slide:
+* Cross Site Scripting (XSS) Basics :slide:
+ - A User injects executable code into your application
+#+begin_src html
+ <script>alert('xss);</script>
+#+end_src
+#+begin_src sh
+ curl -d "user[name]=<script>alert('xss');</script>" \
+ "http://localhost:3000/user"
+#+end_src
+ - Your application saves it
+ - When your application renders that information the code is executed
+** Possible outcomes of a successful XSS attack :slide:
+ - Cookie theft
+ - Session hijacking
+ - Redirection of user data to an untrusted source
+ - Defacement of your application
+ - Denial of service
+** What should you do? :slide:
+ - Kick back and enjoy a frosty beverage!
+ - Rails 3+ automatically escapes output for you
+ - Unless you tell it not to
+ - But be careful of 3rd party libraries!
+ - Always audit your inputs for potential holes
+* Cross Site Request Forgery (CSRF) :slide:
+ - A malicious script on another site acts on behalf of user that is currently logged into your application
+ - Let's say you are a bank
+ - And a customer is logged in
+ - When that customer visits http://malicious-site.org an embedded tag makes a request to your application on behalf of the user
+#+begin_src html
+ <script type="text/javascript">
+ $.ajax(
+ {
+ type: 'POST',
+ url: 'https://yourapp.com/transfer',
+ crossDomain: true,
+ data: '{"from":"youraccountnumber",
+ "to":"attackersaccountnumber"}'
+ }
+ );
+ </script>
+#+end_src
+ - Since the victim is logged in and the site doesn't protect against this type of attack, the funds are transfered.
+* References :slide:
+ - This Presentation [[https://github.com/abedra/securing-the-rails][github.com/abedra/securing-the-rails]]
+ - Brakeman Scanner [[http://brakemanscanner.org/][brakemanscanner.org]]
+ - RoR Security Guide [[http://guides.rubyonrails.org/security.html][guides.rubyonrails.org/security.html]]
+ - Practical Software Security [[https://github.com/curphey/pss_book][github.com/curphey/pss_book]]
+ - OWASP Top 10 [[https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project][www.owasp.org/index.php/Category:OWASP_Top_Ten_Project]]
+
+#+TAGS: slide(s)
+
+#+STYLE: <link rel="stylesheet" type="text/css" href="common.css" />
+#+STYLE: <link rel="stylesheet" type="text/css" href="screen.css" media="screen" />
+#+STYLE: <link rel="stylesheet" type="text/css" href="projection.css" media="projection" />
+#+STYLE: <link rel="stylesheet" type="text/css" href="presenter.css" media="presenter" />
+
+#+BEGIN_HTML
+<script type="text/javascript" src="org-html-slideshow.js"></script>
+#+END_HTML
+
+# Local Variables:
+# org-export-html-style-include-default: nil
+# org-export-html-style-include-scripts: nil
+# End:
243 slides.html
@@ -0,0 +1,243 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<head>
+<title>Securing the Rails</title>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="title" content="Securing the Rails"/>
+<meta name="generator" content="Org-mode"/>
+<meta name="generated" content="2012-04-15 13:10:04 CDT"/>
+<meta name="author" content="Aaron Bedra"/>
+<meta name="description" content=""/>
+<meta name="keywords" content=""/>
+
+<link rel="stylesheet" type="text/css" href="common.css" />
+<link rel="stylesheet" type="text/css" href="screen.css" media="screen" />
+<link rel="stylesheet" type="text/css" href="projection.css" media="projection" />
+<link rel="stylesheet" type="text/css" href="presenter.css" media="presenter" />
+
+
+</head>
+<body>
+
+<div id="preamble">
+
+</div>
+
+<div id="content">
+<h1 class="title">Securing the Rails</h1>
+
+
+<div id="table-of-contents">
+<h2>Table of Contents</h2>
+<div id="text-table-of-contents">
+<ul>
+<li><a href="#sec-1">1 Securing the Rails</a></li>
+<li><a href="#sec-2">2 What we're going to cover</a></li>
+<li><a href="#sec-3">3 This sounds like a lot, but you get a lot for free!</a></li>
+<li><a href="#sec-4">4 Cross Site Scripting (XSS) Basics</a>
+<ul>
+<li><a href="#sec-4-1">4.1 Possible outcomes of a successful XSS attack</a></li>
+<li><a href="#sec-4-2">4.2 What should you do?</a></li>
+</ul>
+</li>
+<li><a href="#sec-5">5 Cross Site Request Forgery (CSRF)</a></li>
+<li><a href="#sec-6">6 References</a></li>
+</ul>
+</div>
+</div>
+
+<div id="outline-container-1" class="outline-2">
+<h2 id="sec-1"><span class="section-number-2">1</span> Securing the Rails &nbsp;&nbsp;&nbsp;<span class="tag"><span class="slide">slide</span>&nbsp;<span class="title">title</span></span></h2>
+<div class="outline-text-2" id="text-1">
+
+</div>
+
+</div>
+
+<div id="outline-container-2" class="outline-2">
+<h2 id="sec-2"><span class="section-number-2">2</span> What we're going to cover &nbsp;&nbsp;&nbsp;<span class="tag"><span class="slide">slide</span></span></h2>
+<div class="outline-text-2" id="text-2">
+
+<ul>
+<li>Cross Site Scripting (XSS)
+</li>
+<li>Cross Site Request Forgery (CSRF)
+</li>
+<li>SQL injection
+</li>
+<li>Session management
+</li>
+<li>Mass assignment
+</li>
+<li>Exception handling/notification
+</li>
+<li>Scanning your application
+</li>
+<li>Static analysis tools
+</li>
+</ul>
+
+</div>
+
+</div>
+
+<div id="outline-container-3" class="outline-2">
+<h2 id="sec-3"><span class="section-number-2">3</span> This sounds like a lot, but you get a lot for free! &nbsp;&nbsp;&nbsp;<span class="tag"><span class="slide">slide</span></span></h2>
+<div class="outline-text-2" id="text-3">
+
+</div>
+
+</div>
+
+<div id="outline-container-4" class="outline-2">
+<h2 id="sec-4"><span class="section-number-2">4</span> Cross Site Scripting (XSS) Basics &nbsp;&nbsp;&nbsp;<span class="tag"><span class="slide">slide</span></span></h2>
+<div class="outline-text-2" id="text-4">
+
+<ul>
+<li>A User injects executable code into your application
+</li>
+</ul>
+
+
+
+
+<pre class="src src-html">&lt;<span style="color: #0000ff;">script</span>&gt;alert('xss);&lt;/<span style="color: #0000ff;">script</span>&gt;
+</pre>
+
+
+<pre class="src src-sh">curl -d <span style="color: #8b2252;">"user[name]=&lt;script&gt;alert('xss');&lt;/script&gt;"</span> <span style="color: #8b2252;">\</span>
+ <span style="color: #8b2252;">"http://localhost:3000/user"</span>
+</pre>
+
+<ul>
+<li>Your application saves it
+</li>
+<li>When your application renders that information the code is executed
+</li>
+</ul>
+
+
+</div>
+
+<div id="outline-container-4-1" class="outline-3">
+<h3 id="sec-4-1"><span class="section-number-3">4.1</span> Possible outcomes of a successful XSS attack &nbsp;&nbsp;&nbsp;<span class="tag"><span class="slide">slide</span></span></h3>
+<div class="outline-text-3" id="text-4-1">
+
+<ul>
+<li>Cookie theft
+</li>
+<li>Session hijacking
+</li>
+<li>Redirection of user data to an untrusted source
+</li>
+<li>Defacement of your application
+</li>
+<li>Denial of service
+</li>
+</ul>
+
+</div>
+
+</div>
+
+<div id="outline-container-4-2" class="outline-3">
+<h3 id="sec-4-2"><span class="section-number-3">4.2</span> What should you do? &nbsp;&nbsp;&nbsp;<span class="tag"><span class="slide">slide</span></span></h3>
+<div class="outline-text-3" id="text-4-2">
+
+<ul>
+<li>Kick back and enjoy a frosty beverage!
+</li>
+<li>Rails 3+ automatically escapes output for you
+</li>
+<li>Unless you tell it not to
+</li>
+<li>But be careful of 3rd party libraries!
+</li>
+<li>Always audit your inputs for potential holes
+</li>
+</ul>
+
+</div>
+</div>
+
+</div>
+
+<div id="outline-container-5" class="outline-2">
+<h2 id="sec-5"><span class="section-number-2">5</span> Cross Site Request Forgery (CSRF) &nbsp;&nbsp;&nbsp;<span class="tag"><span class="slide">slide</span></span></h2>
+<div class="outline-text-2" id="text-5">
+
+<ul>
+<li>A malicious script on another site acts on behalf of user that is currently logged into your application
+</li>
+<li>Let's say you are a bank
+</li>
+<li>And a customer is logged in
+</li>
+<li>When that customer visits <a href="http://malicious-site.org">http://malicious-site.org</a> an embedded tag makes a request to your application on behalf of the user
+</li>
+</ul>
+
+
+
+
+<pre class="src src-html">&lt;<span style="color: #0000ff;">script</span> <span style="color: #a0522d;">type</span>=<span style="color: #8b2252;">"text/javascript"</span>&gt;
+ $.ajax(
+ {
+ type: 'POST',
+ url: 'https://yourapp.com/transfer',
+ crossDomain: true,
+ data: '{<span style="color: #8b2252;">"from"</span>:<span style="color: #8b2252;">"youraccountnumber"</span>,
+ <span style="color: #8b2252;">"to"</span>:<span style="color: #8b2252;">"attackersaccountnumber"</span>}'
+ }
+ );
+&lt;/<span style="color: #0000ff;">script</span>&gt;
+</pre>
+
+<ul>
+<li>Since the victim is logged in and the site doesn't protect against this type of attack, the funds are transfered.
+</li>
+</ul>
+
+</div>
+
+</div>
+
+<div id="outline-container-6" class="outline-2">
+<h2 id="sec-6"><span class="section-number-2">6</span> References &nbsp;&nbsp;&nbsp;<span class="tag"><span class="slide">slide</span></span></h2>
+<div class="outline-text-2" id="text-6">
+
+<ul>
+<li>This Presentation <a href="https://github.com/abedra/securing-the-rails">github.com/abedra/securing-the-rails</a>
+</li>
+<li>Brakeman Scanner <a href="http://brakemanscanner.org/">brakemanscanner.org</a>
+</li>
+<li>RoR Security Guide <a href="http://guides.rubyonrails.org/security.html">guides.rubyonrails.org/security.html</a>
+</li>
+<li>Practical Software Security <a href="https://github.com/curphey/pss_book">github.com/curphey/pss<sub>book</sub></a>
+</li>
+<li>OWASP Top 10 <a href="https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project">www.owasp.org/index.php/Category:OWASP<sub>Top</sub><sub>Ten</sub><sub>Project</sub></a>
+</li>
+</ul>
+
+
+
+
+
+
+<script type="text/javascript" src="org-html-slideshow.js"></script>
+
+</div>
+</div>
+</div>
+
+<div id="postamble">
+<p class="date">Date: 2012-04-15 13:10:04 CDT</p>
+<p class="author">Author: Aaron Bedra</p>
+<p class="creator">Org version 7.8.03 with Emacs version 24</p>
+<a href="http://validator.w3.org/check?uri=referer">Validate XHTML 1.0</a>
+
+</div>
+</body>
+</html>

0 comments on commit b659b1d

Please sign in to comment.
Something went wrong with that request. Please try again.