cljs-persistent-hash-map-vs-records-minuscule

JavaScript performance comparison

Test case created by Michał Marczyk

Info

ClojureScript PersistentHashMap performance test: assoc 4 elements onto a PHM vs. same for a defrecord with four fields vs. same for a defrecord with no fields. (NB. for the final case the extension map of the record will be a PHM.)

See CLJS-178.

For a readable version of the preparation code see https://github.com/michalmarczyk/cljs-persistent-hash-map-test.

Preparation code

<script>
function c(a){throw a;}var g=!0,k=null,l=!1;function aa(){return function(a){return a}}function m(a){return function(){return this[a]}}function n(a){return function(){return a}}var o,ba=this;
function q(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;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"==b&&"undefined"==typeof a.call)return"object";return b}function r(a){return void 0!==a}function ca(a){return"string"==typeof a}function da(a){return a[ea]||(a[ea]=++fa)}var ea="closure_uid_"+Math.floor(2147483648*Math.random()).toString(36),fa=0;function s(a,b){var d=a.split("."),e=ba;!(d[0]in e)&&e.execScript&&e.execScript("var "+d[0]);for(var f;d.length&&(f=d.shift());)!d.length&&r(b)?e[f]=b:e=e[f]?e[f]:e[f]={}};var ga={"\x00":"\\0","\u0008":"\\b","\u000c":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\u000b":"\\x0B",'"':'\\"',"\\":"\\\\"},ha={"'":"\\'"};
function ia(a){var p;a=""+a;if(a.quote)return a.quote();for(var b=['"'],d=0;d<a.length;d++){var e=a.charAt(d),f=e.charCodeAt(0),h=b,i=d+1,j;if(!(j=ga[e])){if(!(31<f&&127>f))if(e in ha)e=ha[e];else if(e in ga)p=ha[e]=ga[e],e=p;else{f=e;j=e.charCodeAt(0);if(31<j&&127>j)f=e;else{if(256>j){if(f="\\x",16>j||256<j)f+="0"}else f="\\u",4096>j&&(f+="0");f+=j.toString(16).toUpperCase()}e=ha[e]=f}j=e}h[i]=j}b.push('"');return b.join("")}
function ja(a){for(var b=0,d=0;d<a.length;++d)b=31*b+a.charCodeAt(d),b%=4294967296;return b};function ka(a,b,d){for(var e in a)b.call(d,a[e],e,a)}function la(a){var b={},d;for(d in a)b[d]=a[d];return b};var ma;(ma="ScriptEngine"in ba&&"JScript"==ba.ScriptEngine())&&(ba.ScriptEngineMajorVersion(),ba.ScriptEngineMinorVersion(),ba.ScriptEngineBuildVersion());function na(a,b){this.C=ma?[]:"";a!=k&&this.append.apply(this,arguments)}ma?(na.prototype.ga=0,na.prototype.append=function(a,b,d){b==k?this.C[this.ga++]=a:(this.C.push.apply(this.C,arguments),this.ga=this.C.length);return this}):na.prototype.append=function(a,b,d){this.C+=a;if(b!=k)for(var e=1;e<arguments.length;e++)this.C+=arguments[e];return this};na.prototype.clear=function(){ma?this.ga=this.C.length=0:this.C=""};
na.prototype.toString=function(){if(ma){var a=this.C.join("");this.clear();a&&this.append(a);return a}return this.C};function t(a){return a!=k&&a!==l}function oa(a,b){var d=a[q.call(k,b)];if(t(d))return d;d=a._;return t(d)?d:l}function u(a,b){return Error("No protocol method "+a+" defined for type "+q.call(k,b)+": "+b)}function w(a){return Array.prototype.slice.call(a)}function x(a){return Array(a)}function y(a){if(a?a.D:a)a=a.D(a);else{var b;var d=y[q.call(k,a)];d?b=d:(d=y._)?b=d:c(u.call(k,"ICounted.-count",a));a=b.call(k,a)}return a}
function z(a,b){var d;if(a?a.z:a)d=a.z(a,b);else{var e=z[q.call(k,a)];e?d=e:(e=z._)?d=e:c(u.call(k,"ICollection.-conj",a));d=d.call(k,a,b)}return d}
var A=function(){function a(a,b,d){if(a?a.ia:a)a=a.ia(a,b,d);else{var i;var j=A[q.call(k,a)];j?i=j:(j=A._)?i=j:c(u.call(k,"IIndexed.-nth",a));a=i.call(k,a,b,d)}return a}function b(a,b){var d;if(a?a.ha:a)d=a.ha(a,b);else{var i=A[q.call(k,a)];i?d=i:(i=A._)?d=i:c(u.call(k,"IIndexed.-nth",a));d=d.call(k,a,b)}return d}var d=k,d=function(d,f,h){switch(arguments.length){case 2:return b.call(this,d,f);case 3:return a.call(this,d,f,h)}c("Invalid arity: "+arguments.length)};d.e=b;d.g=a;return d}(),pa={};
function qa(a){if(a?a.P:a)a=a.P(a);else{var b;var d=qa[q.call(k,a)];d?b=d:(d=qa._)?b=d:c(u.call(k,"ISeq.-first",a));a=b.call(k,a)}return a}function ra(a){if(a?a.Q:a)a=a.Q(a);else{var b;var d=ra[q.call(k,a)];d?b=d:(d=ra._)?b=d:c(u.call(k,"ISeq.-rest",a));a=b.call(k,a)}return a}
var B=function(){function a(a,b,d){if(a?a.M:a)a=a.M(a,b,d);else{var i;var j=B[q.call(k,a)];j?i=j:(j=B._)?i=j:c(u.call(k,"ILookup.-lookup",a));a=i.call(k,a,b,d)}return a}function b(a,b){var d;if(a?a.L:a)d=a.L(a,b);else{var i=B[q.call(k,a)];i?d=i:(i=B._)?d=i:c(u.call(k,"ILookup.-lookup",a));d=d.call(k,a,b)}return d}var d=k,d=function(d,f,h){switch(arguments.length){case 2:return b.call(this,d,f);case 3:return a.call(this,d,f,h)}c("Invalid arity: "+arguments.length)};d.e=b;d.g=a;return d}();
function sa(a,b){var d;if(a?a.ea:a)d=a.ea(a,b);else{var e=sa[q.call(k,a)];e?d=e:(e=sa._)?d=e:c(u.call(k,"IAssociative.-contains-key?",a));d=d.call(k,a,b)}return d}function ta(a,b,d){if(a?a.V:a)a=a.V(a,b,d);else{var e;var f=ta[q.call(k,a)];f?e=f:(f=ta._)?e=f:c(u.call(k,"IAssociative.-assoc",a));a=e.call(k,a,b,d)}return a}var ua={};function va(a,b){var d;if(a?a.Z:a)d=a.Z(a,b);else{var e=va[q.call(k,a)];e?d=e:(e=va._)?d=e:c(u.call(k,"IMap.-dissoc",a));d=d.call(k,a,b)}return d}var wa={},xa={},ya={};
function za(a){if(a?a.s:a)a=a.s(a);else{var b;var d=za[q.call(k,a)];d?b=d:(d=za._)?b=d:c(u.call(k,"IMeta.-meta",a));a=b.call(k,a)}return a}function Aa(a,b){var d;if(a?a.w:a)d=a.w(a,b);else{var e=Aa[q.call(k,a)];e?d=e:(e=Aa._)?d=e:c(u.call(k,"IWithMeta.-with-meta",a));d=d.call(k,a,b)}return d}
var C=function(){function a(a,b,d){if(a?a.ka:a)a=a.ka(a,b,d);else{var i;var j=C[q.call(k,a)];j?i=j:(j=C._)?i=j:c(u.call(k,"IReduce.-reduce",a));a=i.call(k,a,b,d)}return a}function b(a,b){var d;if(a?a.ja:a)d=a.ja(a,b);else{var i=C[q.call(k,a)];i?d=i:(i=C._)?d=i:c(u.call(k,"IReduce.-reduce",a));d=d.call(k,a,b)}return d}var d=k,d=function(d,f,h){switch(arguments.length){case 2:return b.call(this,d,f);case 3:return a.call(this,d,f,h)}c("Invalid arity: "+arguments.length)};d.e=b;d.g=a;return d}();
function Ba(a,b){var d;if(a?a.l:a)d=a.l(a,b);else{var e=Ba[q.call(k,a)];e?d=e:(e=Ba._)?d=e:c(u.call(k,"IEquiv.-equiv",a));d=d.call(k,a,b)}return d}function Ca(a){if(a?a.v:a)a=a.v(a);else{var b;var d=Ca[q.call(k,a)];d?b=d:(d=Ca._)?b=d:c(u.call(k,"IHash.-hash",a));a=b.call(k,a)}return a}function Da(a){if(a?a.u:a)a=a.u(a);else{var b;var d=Da[q.call(k,a)];d?b=d:(d=Da._)?b=d:c(u.call(k,"ISeqable.-seq",a));a=b.call(k,a)}return a}var Ea={},Ga={};
function D(a,b){var d;if(a?a.p:a)d=a.p(a,b);else{var e=D[q.call(k,a)];e?d=e:(e=D._)?d=e:c(u.call(k,"IPrintable.-pr-seq",a));d=d.call(k,a,b)}return d}function Ha(a){if(a?a.na:a)a=a.na();else{var b;var d=Ha[q.call(k,a)];d?b=d:(d=Ha._)?b=d:c(u.call(k,"IEditableCollection.-as-transient",a));a=b.call(k,a)}return a}function Ia(a){if(a?a.pa:a)a=a.pa(a);else{var b;var d=Ia[q.call(k,a)];d?b=d:(d=Ia._)?b=d:c(u.call(k,"ITransientCollection.-persistent!",a));a=b.call(k,a)}return a}
function Ja(a,b,d){if(a?a.oa:a)a=a.oa(a,b,d);else{var e;var f=Ja[q.call(k,a)];f?e=f:(f=Ja._)?e=f:c(u.call(k,"ITransientAssociative.-assoc!",a));a=e.call(k,a,b,d)}return a}function Ka(a,b){return a===b}
var I=function(){function a(a,b){return Ba.call(k,a,b)}var b=k,d=function(){function a(d,e,j){var p=k;r(j)&&(p=E(Array.prototype.slice.call(arguments,2),0));return b.call(this,d,e,p)}function b(a,d,e){for(;;)if(t(Ba.call(k,a,d)))if(t(F.call(k,e)))a=d,d=G.call(k,e),e=F.call(k,e);else return Ba.call(k,d,G.call(k,e));else return l}a.f=2;a.c=function(a){var d=G(a),e=G(F(a)),a=H(F(a));return b.call(this,d,e,a)};return a}(),b=function(b,f,h){switch(arguments.length){case 1:return g;case 2:return a.call(this,
b,f);default:return d.apply(this,arguments)}c("Invalid arity: "+arguments.length)};b.f=2;b.c=d.c;b.F=n(g);b.e=a;b.g=d;return b}();Ca["null"]=n(0);B["null"]=function(){return function(a,b,d){switch(arguments.length){case 2:return k;case 3:return d}c("Invalid arity: "+arguments.length)}}();ta["null"]=function(a,b,d){return La.call(k,b,d)};z["null"]=function(a,b){return J.call(k,b)};
C["null"]=function(){return function(a,b,d){switch(arguments.length){case 2:return b.call(k);case 3:return d}c("Invalid arity: "+arguments.length)}}();Ga["null"]=g;D["null"]=function(){return J.call(k,"nil")};wa["null"]=g;y["null"]=n(0);pa["null"]=g;qa["null"]=n(k);ra["null"]=function(){return J.call(k)};Ba["null"]=function(a,b){return b===k};Aa["null"]=n(k);ya["null"]=g;za["null"]=n(k);
A["null"]=function(){return function(a,b,d){switch(arguments.length){case 2:return k;case 3:return d}c("Invalid arity: "+arguments.length)}}();ua["null"]=g;va["null"]=n(k);Date.prototype.l=function(a,b){return a.toString()===b.toString()};Ca.number=aa();Ba.number=function(a,b){return a===b};Ca["boolean"]=function(a){return a===g?1:0};Ca["function"]=function(a){return da.call(k,a)};
var Ma=function(){function a(a,b,d,e){for(;;)if(e<y.call(k,a))d=b.call(k,d,A.call(k,a,e)),e+=1;else return d}function b(a,b,d){for(var e=0;;)if(e<y.call(k,a))d=b.call(k,d,A.call(k,a,e)),e+=1;else return d}function d(a,b){if(I.call(k,0,y.call(k,a)))return b.call(k);for(var d=A.call(k,a,0),e=1;;)if(e<y.call(k,a))d=b.call(k,d,A.call(k,a,e)),e+=1;else return d}var e=k,e=function(e,h,i,j){switch(arguments.length){case 2:return d.call(this,e,h);case 3:return b.call(this,e,h,i);case 4:return a.call(this,
e,h,i,j)}c("Invalid arity: "+arguments.length)};e.e=d;e.g=b;e.S=a;return e}();function Na(a,b){this.j=a;this.n=b}o=Na.prototype;o.v=function(a){return K.call(k,a)};o.R=g;o.z=function(a,b){return L.call(k,b,a)};o.toString=function(){return N.call(k,this)};o.ja=function(a,b){return Ma.call(k,this.j,b,this.j[this.n],this.n+1)};o.ka=function(a,b,d){return Ma.call(k,this.j,b,d,this.n)};o.u=aa();o.D=function(){return this.j.length-this.n};o.W=g;o.P=function(){return this.j[this.n]};
o.Q=function(){return this.n+1<this.j.length?new Na(this.j,this.n+1):J.call(k)};o.l=function(a,b){return Oa.call(k,a,b)};o.ha=function(a,b){var d=b+this.n;return d<this.j.length?this.j[d]:k};o.ia=function(a,b,d){a=b+this.n;return a<this.j.length?this.j[a]:d};function Pa(a,b){return I.call(k,0,a.length)?k:new Na(a,b)}function E(a,b){return Pa.call(k,a,b)}
C.array=function(){return function(a,b,d){switch(arguments.length){case 2:return Ma.call(k,a,b);case 3:return Ma.call(k,a,b,d)}c("Invalid arity: "+arguments.length)}}();B.array=function(){return function(a,b,d){switch(arguments.length){case 2:return a[b];case 3:return A.call(k,a,b,d)}c("Invalid arity: "+arguments.length)}}();A.array=function(){return function(a,b,d){switch(arguments.length){case 2:return b<a.length?a[b]:k;case 3:return b<a.length?a[b]:d}c("Invalid arity: "+arguments.length)}}();
y.array=function(a){return a.length};Da.array=function(a){return E.call(k,a,0)};function O(a){return t(a)?Da.call(k,a):k}function G(a){a=O.call(k,a);return t(a)?qa.call(k,a):k}function H(a){return ra.call(k,O.call(k,a))}function F(a){return t(a)?O.call(k,H.call(k,a)):k}function Qa(a){return G.call(k,F.call(k,a))}function Ra(a){return F.call(k,F.call(k,a))}y._=function(a){for(var a=O.call(k,a),b=0;;)if(t(a))a=F.call(k,a),b+=1;else return b};Ba._=function(a,b){return a===b};
function P(a){return t(a)?l:g}
var Sa=function(){function a(a,b){return z.call(k,a,b)}var b=k,d=function(){function a(b,e,j){var p=k;r(j)&&(p=E(Array.prototype.slice.call(arguments,2),0));return d.call(this,b,e,p)}function d(a,e,f){for(;;)if(t(f))a=b.call(k,a,e),e=G.call(k,f),f=F.call(k,f);else return b.call(k,a,e)}a.f=2;a.c=function(a){var b=G(a),e=G(F(a)),a=H(F(a));return d.call(this,b,e,a)};return a}(),b=function(b,f,h){switch(arguments.length){case 2:return a.call(this,b,f);default:return d.apply(this,arguments)}c("Invalid arity: "+
arguments.length)};b.f=2;b.c=d.c;b.e=a;b.g=d;return b}();function Ta(a){return y.call(k,a)}
var Ua=function(){function a(a,b,d){return A.call(k,a,Math.floor(b),d)}function b(a,b){return A.call(k,a,Math.floor(b))}var d=k,d=function(d,f,h){switch(arguments.length){case 2:return b.call(this,d,f);case 3:return a.call(this,d,f,h)}c("Invalid arity: "+arguments.length)};d.e=b;d.g=a;return d}(),Q=function(){function a(a,b,d){return B.call(k,a,b,d)}function b(a,b){return B.call(k,a,b)}var d=k,d=function(d,f,h){switch(arguments.length){case 2:return b.call(this,d,f);case 3:return a.call(this,d,f,
h)}c("Invalid arity: "+arguments.length)};d.e=b;d.g=a;return d}(),Va=function(){function a(a,b,d){return ta.call(k,a,b,d)}var b=k,d=function(){function a(b,e,j,p){var v=k;r(p)&&(v=E(Array.prototype.slice.call(arguments,3),0));return d.call(this,b,e,j,v)}function d(a,e,f,p){for(;;)if(a=b.call(k,a,e,f),t(p))e=G.call(k,p),f=Qa.call(k,p),p=Ra.call(k,p);else return a}a.f=3;a.c=function(a){var b=G(a),e=G(F(a)),p=G(F(F(a))),a=H(F(F(a)));return d.call(this,b,e,p,a)};return a}(),b=function(b,f,h,i){switch(arguments.length){case 3:return a.call(this,
b,f,h);default:return d.apply(this,arguments)}c("Invalid arity: "+arguments.length)};b.f=3;b.c=d.c;b.g=a;b.S=d;return b}(),Wa=function(){function a(a,b){return va.call(k,a,b)}var b=k,d=function(){function a(b,e,j){var p=k;r(j)&&(p=E(Array.prototype.slice.call(arguments,2),0));return d.call(this,b,e,p)}function d(a,e,f){for(;;)if(a=b.call(k,a,e),t(f))e=G.call(k,f),f=F.call(k,f);else return a}a.f=2;a.c=function(a){var b=G(a),e=G(F(a)),a=H(F(a));return d.call(this,b,e,a)};return a}(),b=function(b,f,
h){switch(arguments.length){case 1:return b;case 2:return a.call(this,b,f);default:return d.apply(this,arguments)}c("Invalid arity: "+arguments.length)};b.f=2;b.c=d.c;b.F=aa();b.e=a;b.g=d;return b}();function Xa(a,b){return Aa.call(k,a,b)}function Ya(a){var b;t(a)?(b=a.r,b=t(b)?P.call(k,a.hasOwnProperty("cljs$core$IMeta$")):b):b=a;b=t(b)?g:oa.call(k,ya,a);return t(b)?za.call(k,a):k}function R(a){return Ca.call(k,a)}function Za(a){return P.call(k,O.call(k,a))}
function $a(a){if(a===k)a=l;else{var b;t(a)?(b=a.sa,b=t(b)?P.call(k,a.hasOwnProperty("cljs$core$ISet$")):b):b=a;a=t(b)?g:oa.call(k,wa,a)}return a}function ab(a){var b;t(a)?(b=a.R,b=t(b)?P.call(k,a.hasOwnProperty("cljs$core$ISequential$")):b):b=a;return t(b)?g:oa.call(k,Ea,a)}function bb(a){if(a===k)a=l;else{var b;t(a)?(b=a.aa,b=t(b)?P.call(k,a.hasOwnProperty("cljs$core$IMap$")):b):b=a;a=t(b)?g:oa.call(k,ua,a)}return a}
function cb(a){var b;t(a)?(b=a.ta,b=t(b)?P.call(k,a.hasOwnProperty("cljs$core$IVector$")):b):b=a;return t(b)?g:oa.call(k,xa,a)}function db(){return{}}function eb(a){var b=[];ka.call(k,a,function(a,e){return b.push(e)});return b}function fb(a,b){return delete a[b]}var gb=db.call(k);function hb(a){if(a===k)a=l;else{var b;t(a)?(b=a.W,b=t(b)?P.call(k,a.hasOwnProperty("cljs$core$ISeq$")):b):b=a;a=t(b)?g:oa.call(k,pa,a)}return a}function ib(a){return t(a)?g:l}
function jb(a){var b=ca.call(k,a);return t(b)?P.call(k,function(){var b=I.call(k,a.charAt(0),"\ufdd0");return b?b:I.call(k,a.charAt(0),"\ufdd1")}()):b}function kb(a){var b=ca.call(k,a);return t(b)?I.call(k,a.charAt(0),"\ufdd0"):b}function lb(a){var b=ca.call(k,a);return t(b)?I.call(k,a.charAt(0),"\ufdd1"):b}function mb(a,b){return B.call(k,a,b,gb)===gb?l:g}
var S=function(){function a(a,b,d){return C.call(k,d,a,b)}function b(a,b){return C.call(k,b,a)}var d=k,d=function(d,f,h){switch(arguments.length){case 2:return b.call(this,d,f);case 3:return a.call(this,d,f,h)}c("Invalid arity: "+arguments.length)};d.e=b;d.g=a;return d}(),nb=function(){function a(a,b,d){for(d=O.call(k,d);;)if(t(d))b=a.call(k,b,G.call(k,d)),d=F.call(k,d);else return b}function b(a,b){var d=O.call(k,b);return t(d)?S.call(k,a,G.call(k,d),F.call(k,d)):a.call(k)}var d=k,d=function(d,f,
h){switch(arguments.length){case 2:return b.call(this,d,f);case 3:return a.call(this,d,f,h)}c("Invalid arity: "+arguments.length)};d.e=b;d.g=a;return d}();C._=function(){return function(a,b,d){switch(arguments.length){case 2:return nb.call(k,b,a);case 3:return nb.call(k,b,d,a)}c("Invalid arity: "+arguments.length)}}();function ob(a){return 0<=a?Math.floor.call(k,a):Math.ceil.call(k,a)}function pb(a,b){return ob.call(k,(a-a%b)/b)}function qb(a){for(var b=0;;){if(0===a)return b;a&=a-1;b+=1}}
function rb(a,b){for(var d=b,e=O.call(k,a);;){var f=e;if(t(t(f)?0<d:f))d-=1,e=F.call(k,e);else return e}}A._=function(){return function(a,b,d){switch(arguments.length){case 2:var e;var f=rb.call(k,a,b);t(f)?e=G.call(k,f):c(Error("Index out of bounds"));return e;case 3:return e=rb.call(k,a,b),t(e)?G.call(k,e):d}c("Invalid arity: "+arguments.length)}}();
var sb=function(){function a(a){return a===k?"":a.toString()}var b=k,d=function(){function a(b,e){var j=k;r(e)&&(j=E(Array.prototype.slice.call(arguments,1),0));return d.call(this,b,j)}function d(a,e){return function(a,d){for(;;)if(t(d))var e=a.append(b.call(k,G.call(k,d))),f=F.call(k,d),a=e,d=f;else return b.call(k,a)}.call(k,new na(b.call(k,a)),e)}a.f=1;a.c=function(a){var b=G(a),a=H(a);return d.call(this,b,a)};return a}(),b=function(b,f){switch(arguments.length){case 0:return"";case 1:return a.call(this,
b);default:return d.apply(this,arguments)}c("Invalid arity: "+arguments.length)};b.f=1;b.c=d.c;b.qa=n("");b.F=a;b.e=d;return b}(),T=function(){function a(a){return lb.call(k,a)?a.substring(2,a.length):kb.call(k,a)?sb.call(k,":",a.substring(2,a.length)):a===k?"":a.toString()}var b=k,d=function(){function a(b,e){var j=k;r(e)&&(j=E(Array.prototype.slice.call(arguments,1),0));return d.call(this,b,j)}function d(a,e){return function(a,d){for(;;)if(t(d))var e=a.append(b.call(k,G.call(k,d))),f=F.call(k,d),
a=e,d=f;else return sb.call(k,a)}.call(k,new na(b.call(k,a)),e)}a.f=1;a.c=function(a){var b=G(a),a=H(a);return d.call(this,b,a)};return a}(),b=function(b,f){switch(arguments.length){case 0:return"";case 1:return a.call(this,b);default:return d.apply(this,arguments)}c("Invalid arity: "+arguments.length)};b.f=1;b.c=d.c;b.qa=n("");b.F=a;b.e=d;return b}(),tb=function(){var a=k,a=function(a,d,e){switch(arguments.length){case 2:return a.substring(d);case 3:return a.substring(d,e)}c("Invalid arity: "+arguments.length)};
a.e=function(a,d){return a.substring(d)};a.g=function(a,d,e){return a.substring(d,e)};return a}(),ub=function(){function a(a,b){return d.call(k,sb.call(k,a,"/",b))}function b(a){return kb.call(k,a)?a:lb.call(k,a)?sb.call(k,"\ufdd0","'",tb.call(k,a,2)):sb.call(k,"\ufdd0","'",a)}var d=k,d=function(d,f){switch(arguments.length){case 1:return b.call(this,d);case 2:return a.call(this,d,f)}c("Invalid arity: "+arguments.length)};d.F=b;d.e=a;return d}();
function Oa(a,b){return ib.call(k,ab.call(k,b)?function(){for(var d=O.call(k,a),e=O.call(k,b);;){if(d===k)return e===k;if(e!==k&&I.call(k,G.call(k,d),G.call(k,e)))d=F.call(k,d),e=F.call(k,e);else return l}}():k)}function vb(a,b){return a^b+2654435769+(a<<6)+(a>>2)}function K(a){return S.call(k,function(a,d){return vb.call(k,a,R.call(k,d))},R.call(k,G.call(k,a)),F.call(k,a))}function wb(a,b,d,e){this.d=a;this.ba=b;this.$=d;this.m=e}o=wb.prototype;o.v=function(a){return K.call(k,a)};o.R=g;
o.z=function(a,b){return new wb(this.d,b,a,this.m+1)};o.toString=function(){return N.call(k,this)};o.u=aa();o.D=m("m");o.W=g;o.P=m("ba");o.Q=m("$");o.l=function(a,b){return Oa.call(k,a,b)};o.w=function(a,b){return new wb(b,this.ba,this.$,this.m)};o.r=g;o.s=m("d");function xb(a){this.d=a}o=xb.prototype;o.v=function(a){return K.call(k,a)};o.R=g;o.z=function(a,b){return new wb(this.d,b,k,1)};o.toString=function(){return N.call(k,this)};o.u=n(k);o.D=n(0);o.W=g;o.P=n(k);o.Q=n(k);
o.l=function(a,b){return Oa.call(k,a,b)};o.w=function(a,b){return new xb(b)};o.r=g;o.s=m("d");var yb=new xb(k);function zb(a){return S.call(k,Sa,yb,a)}var J=function(){function a(a){var d=k;r(a)&&(d=E(Array.prototype.slice.call(arguments,0),0));return S.call(k,Sa,yb,zb.call(k,d))}a.f=0;a.c=function(a){a=O(a);return S.call(k,Sa,yb,zb.call(k,a))};return a}();function Ab(a,b,d){this.d=a;this.ba=b;this.$=d}o=Ab.prototype;o.v=function(a){return K.call(k,a)};o.R=g;o.z=function(a,b){return new Ab(k,b,a)};
o.toString=function(){return N.call(k,this)};o.u=aa();o.W=g;o.P=m("ba");o.Q=function(){return this.$===k?yb:this.$};o.l=function(a,b){return Oa.call(k,a,b)};o.w=function(a,b){return new Ab(b,this.ba,this.$)};o.r=g;o.s=m("d");function L(a,b){return new Ab(k,a,b)}C.string=function(){return function(a,b,d){switch(arguments.length){case 2:return Ma.call(k,a,b);case 3:return Ma.call(k,a,b,d)}c("Invalid arity: "+arguments.length)}}();
B.string=function(){return function(a,b,d){switch(arguments.length){case 2:return A.call(k,a,b);case 3:return A.call(k,a,b,d)}c("Invalid arity: "+arguments.length)}}();A.string=function(){return function(a,b,d){switch(arguments.length){case 2:return b<y.call(k,a)?a.charAt(b):k;case 3:return b<y.call(k,a)?a.charAt(b):d}c("Invalid arity: "+arguments.length)}}();y.string=function(a){return a.length};Da.string=function(a){return Pa.call(k,a,0)};Ca.string=function(a){return ja.call(k,a)};
String.prototype.call=function(){return function(a,b,d){switch(arguments.length){case 2:return Q.call(k,b,this.toString());case 3:return Q.call(k,b,this.toString(),d)}c("Invalid arity: "+arguments.length)}}();String.prototype.apply=function(a,b){return 2>Ta.call(k,b)?Q.call(k,b[0],a):Q.call(k,b[0],a,b[1])};function Bb(a){var b=a.x;if(t(a.ma))return b;a.x=b.call(k);a.ma=g;return a.x}function U(a,b,d){this.d=a;this.ma=b;this.x=d}o=U.prototype;o.v=function(a){return K.call(k,a)};o.R=g;
o.z=function(a,b){return L.call(k,b,a)};o.toString=function(){return N.call(k,this)};o.u=function(a){return O.call(k,Bb.call(k,a))};o.W=g;o.P=function(a){return G.call(k,Bb.call(k,a))};o.Q=function(a){return H.call(k,Bb.call(k,a))};o.l=function(a,b){return Oa.call(k,a,b)};o.w=function(a,b){return new U(b,this.ma,this.x)};o.r=g;o.s=m("d");function Cb(a){for(var b=[];;)if(t(O.call(k,a)))b.push(G.call(k,a)),a=F.call(k,a);else return b}
function Db(a,b){for(var d=a,e=b,f=0;;){var h;h=(h=0<e)?O.call(k,d):h;if(t(h))d=F.call(k,d),e-=1,f+=1;else return f}}
var Fb=function Eb(b){return b===k?k:F.call(k,b)===k?O.call(k,G.call(k,b)):L.call(k,G.call(k,b),Eb.call(k,F.call(k,b)))},Gb=function(){function a(a,b){return new U(k,l,function(){var d=O.call(k,a);return t(d)?L.call(k,G.call(k,d),e.call(k,H.call(k,d),b)):b})}function b(a){return new U(k,l,function(){return a})}function d(){return new U(k,l,n(k))}var e=k,f=function(){function a(d,e,f){var h=k;r(f)&&(h=E(Array.prototype.slice.call(arguments,2),0));return b.call(this,d,e,h)}function b(a,d,f){return function V(a,
b){return new U(k,l,function(){var d=O.call(k,a);return t(d)?L.call(k,G.call(k,d),V.call(k,H.call(k,d),b)):t(b)?V.call(k,G.call(k,b),F.call(k,b)):k})}.call(k,e.call(k,a,d),f)}a.f=2;a.c=function(a){var d=G(a),e=G(F(a)),a=H(F(a));return b.call(this,d,e,a)};return a}(),e=function(e,i,j){switch(arguments.length){case 0:return d.call(this);case 1:return b.call(this,e);case 2:return a.call(this,e,i);default:return f.apply(this,arguments)}c("Invalid arity: "+arguments.length)};e.f=2;e.c=f.c;e.qa=d;e.F=b;
e.e=a;e.g=f;return e}(),Hb=function(){function a(a,b,d,e){return L.call(k,a,L.call(k,b,L.call(k,d,e)))}function b(a,b,d){return L.call(k,a,L.call(k,b,d))}function d(a,b){return L.call(k,a,b)}function e(a){return O.call(k,a)}var f=k,h=function(){function a(d,e,f,h,i){var Fa=k;r(i)&&(Fa=E(Array.prototype.slice.call(arguments,4),0));return b.call(this,d,e,f,h,Fa)}function b(a,d,e,f,h){return L.call(k,a,L.call(k,d,L.call(k,e,L.call(k,f,Fb.call(k,h)))))}a.f=4;a.c=function(a){var d=G(a),e=G(F(a)),f=G(F(F(a))),
h=G(F(F(F(a)))),a=H(F(F(F(a))));return b.call(this,d,e,f,h,a)};return a}(),f=function(f,j,p,v,M){switch(arguments.length){case 1:return e.call(this,f);case 2:return d.call(this,f,j);case 3:return b.call(this,f,j,p);case 4:return a.call(this,f,j,p,v);default:return h.apply(this,arguments)}c("Invalid arity: "+arguments.length)};f.f=4;f.c=h.c;f.F=e;f.e=d;f.g=b;f.S=a;f.la=h;return f}(),Ib=function(){function a(a,b,d,e,f){b=Hb.call(k,b,d,e,f);d=a.f;return t(a.c)?Db.call(k,b,d)<=d?a.apply(a,Cb.call(k,b)):
a.c(b):a.apply(a,Cb.call(k,b))}function b(a,b,d,e){b=Hb.call(k,b,d,e);d=a.f;return t(a.c)?Db.call(k,b,d)<=d?a.apply(a,Cb.call(k,b)):a.c(b):a.apply(a,Cb.call(k,b))}function d(a,b,d){b=Hb.call(k,b,d);d=a.f;return t(a.c)?Db.call(k,b,d)<=d?a.apply(a,Cb.call(k,b)):a.c(b):a.apply(a,Cb.call(k,b))}function e(a,b){var d=a.f;return t(a.c)?Db.call(k,b,d+1)<=d?a.apply(a,Cb.call(k,b)):a.c(b):a.apply(a,Cb.call(k,b))}var f=k,h=function(){function a(d,e,f,h,i,Fa){var bc=k;r(Fa)&&(bc=E(Array.prototype.slice.call(arguments,
5),0));return b.call(this,d,e,f,h,i,bc)}function b(a,d,e,f,h,i){d=L.call(k,d,L.call(k,e,L.call(k,f,L.call(k,h,Fb.call(k,i)))));e=a.f;return t(a.c)?Db.call(k,d,e)<=e?a.apply(a,Cb.call(k,d)):a.c(d):a.apply(a,Cb.call(k,d))}a.f=5;a.c=function(a){var d=G(a),e=G(F(a)),f=G(F(F(a))),h=G(F(F(F(a)))),i=G(F(F(F(F(a))))),a=H(F(F(F(F(a)))));return b.call(this,d,e,f,h,i,a)};return a}(),f=function(f,j,p,v,M,V){switch(arguments.length){case 2:return e.call(this,f,j);case 3:return d.call(this,f,j,p);case 4:return b.call(this,
f,j,p,v);case 5:return a.call(this,f,j,p,v,M);default:return h.apply(this,arguments)}c("Invalid arity: "+arguments.length)};f.f=5;f.c=h.c;f.e=e;f.g=d;f.S=b;f.la=a;f.ra=h;return f}();function Jb(a){return t(O.call(k,a))?a:k}function Kb(a,b){for(;;){if(O.call(k,b)===k)return g;if(t(a.call(k,G.call(k,b))))var d=a,e=F.call(k,b),a=d,b=e;else return l}}function Lb(a){return a}
var W=function(){function a(a,b,d,f){return new U(k,l,function(){var v=O.call(k,b),M=O.call(k,d),V=O.call(k,f);return t(t(v)?t(M)?V:M:v)?L.call(k,a.call(k,G.call(k,v),G.call(k,M),G.call(k,V)),e.call(k,a,H.call(k,v),H.call(k,M),H.call(k,V))):k})}function b(a,b,d){return new U(k,l,function(){var f=O.call(k,b),v=O.call(k,d);return t(t(f)?v:f)?L.call(k,a.call(k,G.call(k,f),G.call(k,v)),e.call(k,a,H.call(k,f),H.call(k,v))):k})}function d(a,b){return new U(k,l,function(){var d=O.call(k,b);return t(d)?L.call(k,
a.call(k,G.call(k,d)),e.call(k,a,H.call(k,d))):k})}var e=k,f=function(){function a(d,e,f,h,V){var ac=k;r(V)&&(ac=E(Array.prototype.slice.call(arguments,4),0));return b.call(this,d,e,f,h,ac)}function b(a,d,f,h,i){return e.call(k,function(b){return Ib.call(k,a,b)},function Fa(a){return new U(k,l,function(){var b=e.call(k,O,a);return Kb.call(k,Lb,b)?L.call(k,e.call(k,G,b),Fa.call(k,e.call(k,H,b))):k})}.call(k,Sa.call(k,i,h,f,d)))}a.f=4;a.c=function(a){var d=G(a),e=G(F(a)),f=G(F(F(a))),h=G(F(F(F(a)))),
a=H(F(F(F(a))));return b.call(this,d,e,f,h,a)};return a}(),e=function(e,i,j,p,v){switch(arguments.length){case 2:return d.call(this,e,i);case 3:return b.call(this,e,i,j);case 4:return a.call(this,e,i,j,p);default:return f.apply(this,arguments)}c("Invalid arity: "+arguments.length)};e.f=4;e.c=f.c;e.e=d;e.g=b;e.S=a;e.la=f;return e}(),Nb=function Mb(b,d){return new U(k,l,function(){if(0<b){var e=O.call(k,d);return t(e)?L.call(k,G.call(k,e),Mb.call(k,b-1,H.call(k,e))):k}return k})};
function Ob(a,b){function d(a,b){for(;;){var d=O.call(k,b),i=0<a;if(t(i?d:i))i=a-1,d=H.call(k,d),a=i,b=d;else return d}}return new U(k,l,function(){return d.call(k,a,b)})}
var Pb=function(){function a(a,b){return Nb.call(k,a,d.call(k,b))}function b(a){return new U(k,l,function(){return L.call(k,a,d.call(k,a))})}var d=k,d=function(d,f){switch(arguments.length){case 1:return b.call(this,d);case 2:return a.call(this,d,f)}c("Invalid arity: "+arguments.length)};d.F=b;d.e=a;return d}(),Qb=function(){function a(a,d){return new U(k,l,function(){var h=O.call(k,a),i=O.call(k,d);return t(t(h)?i:h)?L.call(k,G.call(k,h),L.call(k,G.call(k,i),b.call(k,H.call(k,h),H.call(k,i)))):k})}
var b=k,d=function(){function a(b,e,j){var p=k;r(j)&&(p=E(Array.prototype.slice.call(arguments,2),0));return d.call(this,b,e,p)}function d(a,e,f){return new U(k,l,function(){var d=W.call(k,O,Sa.call(k,f,e,a));return Kb.call(k,Lb,d)?Gb.call(k,W.call(k,G,d),Ib.call(k,b,W.call(k,H,d))):k})}a.f=2;a.c=function(a){var b=G(a),e=G(F(a)),a=H(F(a));return d.call(this,b,e,a)};return a}(),b=function(b,f,h){switch(arguments.length){case 2:return a.call(this,b,f);default:return d.apply(this,arguments)}c("Invalid arity: "+
arguments.length)};b.f=2;b.c=d.c;b.e=a;b.g=d;return b}();function Rb(a,b){return Ob.call(k,1,Qb.call(k,Pb.call(k,a),b))}function Sb(a){return function d(a,f){return new U(k,l,function(){var h=O.call(k,a);return t(h)?L.call(k,G.call(k,h),d.call(k,H.call(k,h),f)):t(O.call(k,f))?d.call(k,G.call(k,f),H.call(k,f)):k})}.call(k,k,a)}
var Tb=function(){function a(a,b){return Sb.call(k,W.call(k,a,b))}var b=k,d=function(){function a(b,d,e){var j=k;r(e)&&(j=E(Array.prototype.slice.call(arguments,2),0));return Sb.call(k,Ib.call(k,W,b,d,j))}a.f=2;a.c=function(a){var b=G(a),d=G(F(a)),a=H(F(a));return Sb.call(k,Ib.call(k,W,b,d,a))};return a}(),b=function(b,f,h){switch(arguments.length){case 2:return a.call(this,b,f);default:return d.apply(this,arguments)}c("Invalid arity: "+arguments.length)};b.f=2;b.c=d.c;b.e=a;b.g=d;return b}();
function Ub(a,b){return S.call(k,z,a,b)}
var Vb=function(){function a(a,b,d,j){return new U(k,l,function(){var p=O.call(k,j);if(t(p)){var v=Nb.call(k,a,p);return I.call(k,a,Ta.call(k,v))?L.call(k,v,e.call(k,a,b,d,Ob.call(k,b,p))):J.call(k,Nb.call(k,a,Gb.call(k,v,d)))}return k})}function b(a,b,d){return new U(k,l,function(){var j=O.call(k,d);if(t(j)){var p=Nb.call(k,a,j);return I.call(k,a,Ta.call(k,p))?L.call(k,p,e.call(k,a,b,Ob.call(k,b,j))):k}return k})}function d(a,b){return e.call(k,a,a,b)}var e=k,e=function(e,h,i,j){switch(arguments.length){case 2:return d.call(this,
e,h);case 3:return b.call(this,e,h,i);case 4:return a.call(this,e,h,i,j)}c("Invalid arity: "+arguments.length)};e.e=d;e.g=b;e.S=a;return e}();function Wb(a){a=a.b;return 32>a?0:a-1>>5<<5}function Xb(a,b){for(var d=a,e=b;;){if(0===d)return e;var f=w.call(k,Yb);f[0]=e;e=f;d-=5}}var $b=function Zb(b,d,e,f){var h=w.call(k,e),i=b.b-1>>d&31;5===d?h[i]=f:(e=e[i],b=t(e)?Zb.call(k,b,d-5,e,f):Xb.call(k,d-5,f),h[i]=b);return h};
function cc(a,b){var d=0<=b;if(d?b<a.b:d){if(b>=Wb.call(k,a))return a.Y;for(var d=a.root,e=a.shift;;)if(0<e)var f=e-5,d=d[b>>e&31],e=f;else return d}else c(Error(T.call(k,"No item ",b," in vector of length ",a.b)))}var ec=function dc(b,d,e,f,h){var i=w.call(k,e);if(0===d)i[f&31]=h;else{var j=f>>d&31;i[j]=dc.call(k,b,d-5,e[j],f,h)}return i};function fc(a,b,d,e,f){this.d=a;this.b=b;this.shift=d;this.root=e;this.Y=f}o=fc.prototype;o.v=function(a){return K.call(k,a)};
o.L=function(a,b){return A.call(k,a,b,k)};o.M=function(a,b,d){return A.call(k,a,b,d)};o.V=function(a,b,d){var e=0<=b;if(e?b<this.b:e)return Wb.call(k,a)<=b?(a=w.call(k,this.Y),a[b&31]=d,new fc(this.d,this.b,this.shift,this.root,a)):new fc(this.d,this.b,this.shift,ec.call(k,a,this.shift,this.root,b,d),this.Y);if(b===this.b)return z.call(k,a,d);c(Error(T.call(k,"Index ",b," out of bounds  [0,",this.b,"]")))};
o.call=function(){return function(a,b,d){switch(arguments.length){case 2:return B.call(k,this,b);case 3:return B.call(k,this,b,d)}c("Invalid arity: "+arguments.length)}}();o.R=g;
o.z=function(a,b){if(32>this.b-Wb.call(k,a)){var d=w.call(k,this.Y);d.push(b);return new fc(this.d,this.b+1,this.shift,this.root,d)}var e=this.b>>5>1<<this.shift,d=e?this.shift+5:this.shift;e?(e=w.call(k,Yb),e[0]=this.root,e[1]=Xb.call(k,this.shift,this.Y)):e=$b.call(k,a,this.shift,this.root,this.Y);return new fc(this.d,this.b+1,d,e,[b])};o.toString=function(){return N.call(k,this)};o.ja=function(a,b){return Ma.call(k,a,b)};o.ka=function(a,b,d){return Ma.call(k,a,b,d)};
o.u=function(a){var b=this;return 0<b.b?function e(f){return new U(k,l,function(){return f<b.b?L.call(k,A.call(k,a,f),e.call(k,f+1)):k})}.call(k,0):k};o.D=m("b");o.ta=g;o.l=function(a,b){return Oa.call(k,a,b)};o.w=function(a,b){return new fc(b,this.b,this.shift,this.root,this.Y)};o.r=g;o.s=m("d");o.ha=function(a,b){return cc.call(k,a,b)[b&31]};o.ia=function(a,b,d){var e=0<=b;return(e?b<this.b:e)?A.call(k,a,b):d};var Yb=x.call(k,32),gc=new fc(k,0,5,Yb,[]);function X(a){return Ub.call(k,gc,a)}
function hc(a){return S.call(k,Sa,gc,a)}var ic=function(){function a(a){var d=k;r(a)&&(d=E(Array.prototype.slice.call(arguments,0),0));return hc.call(k,d)}a.f=0;a.c=function(a){a=O(a);return hc.call(k,a)};return a}();X([]);function jc(){}jc.prototype.l=n(l);var kc=new jc;function lc(a,b){return ib.call(k,bb.call(k,b)?I.call(k,Ta.call(k,a),Ta.call(k,b))?Kb.call(k,Lb,W.call(k,function(a){return I.call(k,Q.call(k,b,G.call(k,a),kc),Qa.call(k,a))},a)):k:k)}
function mc(a,b,d){for(var e=d.length,f=0;;)if(f<e){if(I.call(k,b,d[f]))return f;f+=a}else return k}var nc=function(){function a(a,b,d,i){var j=ca.call(k,a);return t(t(j)?b.hasOwnProperty(a):j)?d:i}function b(a,b){return d.call(k,a,b,g,l)}var d=k,d=function(d,f,h,i){switch(arguments.length){case 2:return b.call(this,d,f);case 4:return a.call(this,d,f,h,i)}c("Invalid arity: "+arguments.length)};d.e=b;d.S=a;return d}();function oc(a,b){var d=R.call(k,a),e=R.call(k,b);return d<e?-1:d>e?1:0}
function pc(a,b,d){this.d=a;this.keys=b;this.U=d}o=pc.prototype;o.v=function(a){return K.call(k,a)};o.L=function(a,b){return B.call(k,a,b,k)};o.M=function(a,b,d){return nc.call(k,b,this.U,this.U[b],d)};o.V=function(a,b,d){if(t(ca.call(k,b))){var a=la.call(k,this.U),e=a.hasOwnProperty(b);a[b]=d;if(t(e))return new pc(this.d,this.keys,a);d=w.call(k,this.keys);d.push(b);return new pc(this.d,d,a)}return Xa.call(k,Ub.call(k,La.call(k,b,d),O.call(k,a)),this.d)};o.ea=function(a,b){return nc.call(k,b,this.U)};
o.call=function(){return function(a,b,d){switch(arguments.length){case 2:return B.call(k,this,b);case 3:return B.call(k,this,b,d)}c("Invalid arity: "+arguments.length)}}();o.z=function(a,b){return cb.call(k,b)?ta.call(k,a,A.call(k,b,0),A.call(k,b,1)):S.call(k,z,a,b)};o.toString=function(){return N.call(k,this)};o.u=function(){var a=this;return 0<a.keys.length?W.call(k,function(b){return ic.call(k,b,a.U[b])},a.keys.sort(oc)):k};o.D=function(){return this.keys.length};
o.l=function(a,b){return lc.call(k,a,b)};o.w=function(a,b){return new pc(b,this.keys,this.U)};o.r=g;o.s=m("d");o.aa=g;o.Z=function(a,b){var d=ca.call(k,b);if(t(t(d)?this.U.hasOwnProperty(b):d)){var d=w.call(k,this.keys),e=la.call(k,this.U);d.splice(mc.call(k,1,b,d),1);fb.call(k,e,b);return new pc(this.d,d,e)}return a};var qc=new pc(k,[],db.call(k));function rc(a,b,d){this.d=a;this.m=b;this.I=d}o=rc.prototype;o.v=function(a){return K.call(k,a)};o.L=function(a,b){return B.call(k,a,b,k)};
o.M=function(a,b,d){a=this.I[R.call(k,b)];b=t(a)?mc.call(k,2,b,a):k;return t(b)?a[b+1]:d};o.V=function(a,b,d){var a=R.call(k,b),e=this.I[a];if(t(e)){var e=w.call(k,e),f=la.call(k,this.I);f[a]=e;a=mc.call(k,2,b,e);if(t(a))return e[a+1]=d,new rc(this.d,this.m,f);e.push(b,d);return new rc(this.d,this.m+1,f)}e=la.call(k,this.I);e[a]=[b,d];return new rc(this.d,this.m+1,e)};o.ea=function(a,b){var d=this.I[R.call(k,b)],d=t(d)?mc.call(k,2,b,d):k;return t(d)?g:l};
o.call=function(){return function(a,b,d){switch(arguments.length){case 2:return B.call(k,this,b);case 3:return B.call(k,this,b,d)}c("Invalid arity: "+arguments.length)}}();o.z=function(a,b){return cb.call(k,b)?ta.call(k,a,A.call(k,b,0),A.call(k,b,1)):S.call(k,z,a,b)};o.toString=function(){return N.call(k,this)};o.u=function(){var a=this;if(0<a.m){var b=eb.call(k,a.I).sort();return Tb.call(k,function(b){return W.call(k,hc,Vb.call(k,2,a.I[b]))},b)}return k};o.D=m("m");
o.l=function(a,b){return lc.call(k,a,b)};o.w=function(a,b){return new rc(b,this.m,this.I)};o.r=g;o.s=m("d");o.aa=g;o.Z=function(a,b){var d=R.call(k,b),e=this.I[d],f=t(e)?mc.call(k,2,b,e):k;if(P.call(k,f))return a;var h=la.call(k,this.I);3>e.length?fb.call(k,h,d):(e=w.call(k,e),e.splice(f,2),h[d]=e);return new rc(this.d,this.m-1,h)};var sc=new rc(k,0,db.call(k));function tc(a){return Ha.call(k,a)}function uc(a){return Ia.call(k,a)}function vc(a,b,d){return Ja.call(k,a,b,d)}
var wc=function(){function a(a,b,d,i,j){a=w.call(k,a);a[b]=d;a[i]=j;return a}function b(a,b,d){a=w.call(k,a);a[b]=d;return a}var d=k,d=function(d,f,h,i,j){switch(arguments.length){case 3:return b.call(this,d,f,h);case 5:return a.call(this,d,f,h,i,j)}c("Invalid arity: "+arguments.length)};d.g=b;d.la=a;return d}();function xc(a,b,d,e,f){for(;;){if(0===f)return d;d[e]=a[b];e+=1;f-=1;b+=1}}function yc(a,b,d,e,f){b+=f-1;for(e+=f-1;;){if(0===f)return d;d[e]=a[b];e-=1;f-=1;b-=1}}
function zc(a,b){var d=x.call(k,a.length-2);xc.call(k,a,0,d,0,2*b);xc.call(k,a,2*(b+1),d,2*b,d.length-2*b);return d}function Ac(a,b){return qb.call(k,a&b-1)}var Bc=function(){function a(a,b,d,i,j,p){a=a.X(b);a.a[d]=i;a.a[j]=p;return a}function b(a,b,d,i){a=a.X(b);a.a[d]=i;return a}var d=k,d=function(d,f,h,i,j,p){switch(arguments.length){case 4:return b.call(this,d,f,h,i);case 6:return a.call(this,d,f,h,i,j,p)}c("Invalid arity: "+arguments.length)};d.S=b;d.ra=a;return d}();
function Y(a,b,d){this.A=a;this.h=b;this.a=d}o=Y.prototype;
o.G=function(a,b,d,e,f){var h=1<<(b>>>a&31),i=Ac.call(k,this.h,h);if(0===(this.h&h)){var j=qb.call(k,this.h);if(16<=j){i=x.call(k,32);i[b>>>a&31]=Cc.G(a+5,b,d,e,f);for(e=d=0;;)if(32>d)0!==(this.h>>>d&1)&&(i[d]=k!=this.a[e]?Cc.G(a+5,R.call(k,this.a[e]),this.a[e],this.a[e+1],f):this.a[e+1],e+=2),d+=1;else break;return new Dc(k,j+1,i)}a=x.call(k,2*(j+1));xc.call(k,this.a,0,a,0,2*i);a[2*i]=d;f[0]=g;a[2*i+1]=e;xc.call(k,this.a,2*i,a,2*(i+1),2*(j-i));return new Y(k,this.h|h,a)}h=this.a[2*i];j=this.a[2*
i+1];if(k==h)return f=j.G(a+5,b,d,e,f),f===j?this:new Y(k,this.h,wc.call(k,this.a,2*i+1,f));if(I.call(k,d,h))return e===j?this:new Y(k,this.h,wc.call(k,this.a,2*i+1,e));f[0]=g;return new Y(k,this.h,wc.call(k,this.a,2*i,k,2*i+1,Ec.call(k,a+5,h,j,b,d,e)))};
o.da=function(a,b,d){var e=1<<(b>>>a&31);if(0===(this.h&e))return this;var f=Ac.call(k,this.h,e),h=this.a[2*f],i=this.a[2*f+1];return k==h?(a=i.da(a+5,b,d),a===i?this:k!=a?new Y(k,this.h,wc.call(k,this.a,2*f+1,a)):this.h===e?k:new Y(k,this.h^e,zc.call(k,this.a,f))):I.call(k,d,h)?new Y(k,this.h^e,zc.call(k,this.a,f)):this};
o.J=function(){return function(a,b,d,e){switch(arguments.length){case 3:var f;f=1<<(b>>>a&31);if(0===(this.h&f))f=k;else{var h=Ac.call(k,this.h,f);f=this.a[2*h];h=this.a[2*h+1];f=k==f?h.J(a+5,b,d):I.call(k,d,f)?X([f,h]):k}return f;case 4:return f=1<<(b>>>a&31),0===(this.h&f)?f=e:(h=Ac.call(k,this.h,f),f=this.a[2*h],h=this.a[2*h+1],f=k==f?h.J(a+5,b,d,e):I.call(k,d,f)?X([f,h]):e),f}c("Invalid arity: "+arguments.length)}}();o.ca=function(){return Fc.call(k,this.a)};
o.X=function(a){if(a===this.A)return this;var b=qb.call(k,this.h),d=x.call(k,0>b?4:2*(b+1));xc.call(k,this.a,0,d,0,2*b);return new Y(a,this.h,d)};
o.H=function(a,b,d,e,f,h){var i=1<<(d>>>b&31),j=Ac.call(k,this.h,i);if(0===(this.h&i)){var p=qb.call(k,this.h);if(2*p<this.a.length)return a=this.X(a),b=a.a,h[0]=g,yc.call(k,b,2*j,b,2*(j+1),2*(p-j)),b[2*j]=e,b[2*j+1]=f,a.h|=i,a;if(16<=p){j=x.call(k,32);j[d>>>b&31]=Cc.H(a,b+5,d,e,f,h);for(f=e=0;;)if(32>e)0!==(this.h>>>e&1)&&(j[e]=k!=this.a[f]?Cc.H(a,b+5,R.call(k,this.a[f]),this.a[f],this.a[f+1],h):this.a[f+1],f+=2),e+=1;else break;return new Dc(a,p+1,j)}b=x.call(k,2*(p+4));xc.call(k,this.a,0,b,0,2*
j);b[2*j]=e;h[0]=g;b[2*j+1]=f;xc.call(k,this.a,2*j,b,2*(j+1),2*(p-j));h=this.X(a);h.a=b;h.h|=i;return h}p=this.a[2*j];i=this.a[2*j+1];if(k==p)return i.H(a,b+5,d,e,f,h)===i?this:Bc.call(k,this,a,2*j+1,f);if(I.call(k,e,p))return f===i?this:Bc.call(k,this,a,2*j+1,f);h[0]=g;return Bc.call(k,this,a,2*j,k,2*j+1,Ec.call(k,a,b+5,p,i,d,e,f))};var Cc=new Y(k,0,x.call(k,0));
function Gc(a,b,d){for(var e=a.a,a=2*(a.b-1),f=x.call(k,a),h=0,i=1,j=0;;)if(h<a){var p=h!=d;if(p?k!=e[h]:p)f[i]=e[h],i+=2,j|=1<<h;h+=1}else return new Y(b,j,f)}function Dc(a,b,d){this.A=a;this.b=b;this.a=d}o=Dc.prototype;o.G=function(a,b,d,e,f){var h=b>>>a&31,i=this.a[h];if(k==i)return new Dc(k,this.b+1,wc.call(k,this.a,h,Cc.G(a+5,b,d,e,f)));a=i.G(a+5,b,d,e,f);return a===i?this:new Dc(k,this.b,wc.call(k,this.a,h,a))};
o.da=function(a,b,d){var e=b>>>a&31,f=this.a[e];return k!=f?(a=f.da(a+5,b,d),a===f?this:a===k?8>=this.b?Gc.call(k,this,e):new Dc(k,this.b-1,wc.call(k,this.a,e,a)):new Dc(k,this.b,wc.call(k,this.a,e,a))):this};o.J=function(){return function(a,b,d,e){switch(arguments.length){case 3:var f=this.a[b>>>a&31];return k!=f?f.J(a+5,b,d):k;case 4:return f=this.a[b>>>a&31],k!=f?f.J(a+5,b,d,e):e}c("Invalid arity: "+arguments.length)}}();o.ca=function(){return Hc.call(k,this.a)};
o.X=function(a){return a===this.A?this:new Dc(a,this.b,w.call(k,this.a))};o.H=function(a,b,d,e,f,h){var i=d>>>b&31,j=this.a[i];if(k==j)return a=Bc.call(k,this,a,i,Cc.H(a,b+5,d,e,f,h)),a.b+=1,a;b=j.H(a,b+5,d,e,f,h);return b===j?this:Bc.call(k,this,a,i,b)};function Ic(a,b,d){for(var b=2*b,e=0;;)if(e<b){if(I.call(k,d,a[e]))return e;e+=2}else return-1}function Jc(a,b,d,e){this.A=a;this.K=b;this.b=d;this.a=e}o=Jc.prototype;
o.G=function(a,b,d,e,f){if(b===this.K){a=Ic.call(k,this.a,this.b,d);return-1===a?(a=this.a.length,b=x.call(k,a+2),xc.call(k,this.a,0,b,0,a),b[a]=d,b[a+1]=e,f[0]=g,new Jc(k,this.K,this.b+1,b)):I.call(k,this.a[a],e)?this:new Jc(k,this.K,this.b,wc.call(k,this.a,a+1,e))}return(new Y(k,1<<(this.K>>>a&31),[k,this])).G(a,b,d,e,f)};o.da=function(a,b,d){a=Ic.call(k,this.a,this.b,d);return-1===a?this:1===this.b?k:new Jc(k,this.K,this.b-1,zc.call(k,this.a,pb.call(k,a,2)))};
o.J=function(){return function(a,b,d,e){switch(arguments.length){case 3:var f=Ic.call(k,this.a,this.b,d);return 0>f?k:I.call(k,d,this.a[f])?X([this.a[f],this.a[f+1]]):k;case 4:return f=Ic.call(k,this.a,this.b,d),0>f?k:I.call(k,d,this.a[f])?X([this.a[f],this.a[f+1]]):e}c("Invalid arity: "+arguments.length)}}();o.ca=function(){return Fc.call(k,this.a)};
o.X=function(){return function(a,b,d){switch(arguments.length){case 1:var e;a===this.A?e=this:(e=x.call(k,2*(this.b+1)),xc.call(k,this.a,0,e,0,2*this.b),e=new Jc(a,this.K,this.b,e));return e;case 3:return a===this.A?(this.a=d,this.b=b,e=this):e=new Jc(this.A,this.K,b,d),e}c("Invalid arity: "+arguments.length)}}();
o.H=function(a,b,d,e,f,h){if(d===this.K){b=Ic.call(k,this.a,this.b,e);if(-1===b){if(this.a.length>2*this.b)return a=Bc.call(k,this,a,2*this.b,e,2*this.b+1,f),h[0]=g,a.b+=1,a;b=this.a.length;d=x.call(k,b+2);xc.call(k,this.a,0,d,0,b);d[b]=e;d[b+1]=f;h[0]=g;return this.X(a,this.b+1,d)}return I.call(k,this.a[b+1],f)?this:Bc.call(k,this,a,b+1,f)}return(new Y(a,1<<(this.K>>>b&31),[k,this,k,k])).H(a,b,d,e,f,h)};
var Ec=function(){function a(a,b,d,i,j,p,v){var M=R.call(k,d);if(M===j)return new Jc(k,M,2,[d,i,p,v]);var V=[l];return Cc.H(a,b,M,d,i,V).H(a,b,j,p,v,V)}function b(a,b,d,i,j,p){var v=R.call(k,b);if(v===i)return new Jc(k,v,2,[b,d,j,p]);var M=[l];return Cc.G(a,v,b,d,M).G(a,i,j,p,M)}var d=k,d=function(d,f,h,i,j,p,v){switch(arguments.length){case 6:return b.call(this,d,f,h,i,j,p);case 7:return a.call(this,d,f,h,i,j,p,v)}c("Invalid arity: "+arguments.length)};d.ra=b;d.ua=a;return d}();
function Kc(a,b,d,e){this.d=a;this.T=b;this.n=d;this.k=e}o=Kc.prototype;o.l=function(a,b){return Oa.call(k,a,b)};o.u=aa();o.W=g;o.P=function(){return this.k===k?X([this.T[this.n],this.T[this.n+1]]):G.call(k,this.k)};o.Q=function(){return this.k===k?Fc.call(k,this.T,this.n+2,k):Fc.call(k,this.T,this.n,F.call(k,this.k))};o.R=g;o.w=function(a,b){return new Kc(b,this.T,this.n,this.k)};o.r=g;o.s=m("d");
var Fc=function(){function a(a,b,d){if(d===k)for(d=a.length;;)if(b<d){if(k!=a[b])return new Kc(k,a,b,k);var i=a[b+1];if(t(i)&&(i=i.ca(),t(i)))return new Kc(k,a,b+2,i);b+=2}else return k;else return new Kc(k,a,b,d)}function b(a){return d.call(k,a,0,k)}var d=k,d=function(d,f,h){switch(arguments.length){case 1:return b.call(this,d);case 3:return a.call(this,d,f,h)}c("Invalid arity: "+arguments.length)};d.F=b;d.g=a;return d}();function Lc(a,b,d,e){this.d=a;this.T=b;this.n=d;this.k=e}o=Lc.prototype;
o.l=function(a,b){return Oa.call(k,a,b)};o.u=aa();o.W=g;o.P=function(){return G.call(k,this.k)};o.Q=function(){return Hc.call(k,k,this.T,this.n,F.call(k,this.k))};o.R=g;o.w=function(a,b){return new Lc(b,this.T,this.n,this.k)};o.r=g;o.s=m("d");
var Hc=function(){function a(a,b,d,i){if(i===k)for(i=b.length;;)if(d<i){var j=b[d];if(t(j)&&(j=j.ca(),t(j)))return new Lc(a,b,d+1,j);d+=1}else return k;else return new Lc(a,b,d,i)}function b(a){return d.call(k,k,a,0,k)}var d=k,d=function(d,f,h,i){switch(arguments.length){case 1:return b.call(this,d);case 4:return a.call(this,d,f,h,i)}c("Invalid arity: "+arguments.length)};d.F=b;d.S=a;return d}();function Mc(a,b,d,e,f){this.d=a;this.b=b;this.root=d;this.q=e;this.B=f}o=Mc.prototype;
o.na=function(){return new Nc(db.call(k),this.root,this.b,this.q,this.B)};o.v=function(a){return K.call(k,a)};o.L=function(a,b){return B.call(k,a,b,k)};o.M=function(a,b,d){return b===k?t(this.q)?this.B:d:this.root===k?d:Ua.call(k,this.root.J(0,R.call(k,b),b,[k,d]),1)};
o.V=function(a,b,d){if(b===k){var e=this.q;return t(t(e)?d===this.B:e)?a:new Mc(this.d,t(this.q)?this.b:this.b+1,this.root,g,d)}e=[l];d=(this.root===k?Cc:this.root).G(0,R.call(k,b),b,d,e);return d===this.root?a:new Mc(this.d,t(e[0])?this.b+1:this.b,d,this.q,this.B)};o.ea=function(a,b){return b===k?this.q:this.root===k?l:P.call(k,this.root.J(0,R.call(k,b),b,gb)===gb)};
o.call=function(){return function(a,b,d){switch(arguments.length){case 2:return B.call(k,this,b);case 3:return B.call(k,this,b,d)}c("Invalid arity: "+arguments.length)}}();o.z=function(a,b){return cb.call(k,b)?ta.call(k,a,A.call(k,b,0),A.call(k,b,1)):S.call(k,z,a,b)};o.toString=function(){return N.call(k,this)};o.u=function(){if(0<this.b){var a=k!=this.root?this.root.ca():k;return t(this.q)?L.call(k,X([k,this.B]),a):a}return k};o.D=m("b");o.l=function(a,b){return lc.call(k,a,b)};
o.w=function(a,b){return new Mc(b,this.b,this.root,this.q,this.B)};o.r=g;o.s=m("d");o.aa=g;o.Z=function(a,b){if(b===k)return t(this.q)?new Mc(this.d,this.b-1,this.root,l,k):a;if(this.root===k)return a;var d=this.root.da(0,R.call(k,b),b);return d===this.root?a:new Mc(this.d,this.b-1,d,this.q,this.B)};var Oc=new Mc(k,0,k,l,k);function Pc(a,b){for(var d=a.length,e=0,f=tc.call(k,Oc);;)if(e<d)var h=e+1,f=vc.call(k,f,a[e],b[e]),e=h;else return uc.call(k,f)}
function Nc(a,b,d,e,f){this.A=a;this.root=b;this.m=d;this.q=e;this.B=f}o=Nc.prototype;o.oa=function(a,b,d){if(t(a.A))if(b===k){if(a.B!==d)a.B=d;if(!t(a.q))a.m+=1,a.q=g}else{var e=[l],b=(a.root===k?Cc:a.root).H(a.A,0,R.call(k,b),b,d,e);if(b!==a.root)a.root=b;t(e[0])&&(a.m+=1)}else c(Error("assoc! after persistent!"));return a};o.pa=function(a){var b;t(a.A)?(a.A=k,b=new Mc(k,a.m,a.root,a.q,a.B)):c(Error("persistent! called twice"));return b};
o.L=function(a,b){return b===k?t(this.q)?this.B:k:this.root===k?k:this.root.J(0,R.call(k,b),b)[1]};o.M=function(a,b,d){return b===k?t(this.q)?this.B:d:this.root===k?d:this.root.J(0,R.call(k,b),b,d)[1]};o.D=function(){if(t(this.A))return this.m;c(Error("count after persistent!"))};
var La=function(){function a(a){var e=k;r(a)&&(e=E(Array.prototype.slice.call(arguments,0),0));return b.call(this,e)}function b(a){for(var a=O.call(k,a),b=tc.call(k,Oc);;)if(t(a))var f=Ra.call(k,a),b=vc.call(k,b,G.call(k,a),Qa.call(k,a)),a=f;else return uc.call(k,b)}a.f=0;a.c=function(a){a=O(a);return b.call(this,a)};return a}();function Qc(a){return O.call(k,W.call(k,G,a))}function Rc(a,b){this.d=a;this.fa=b}o=Rc.prototype;o.v=function(a){return K.call(k,a)};
o.L=function(a,b){return B.call(k,a,b,k)};o.M=function(a,b,d){return t(sa.call(k,this.fa,b))?b:d};o.call=function(){return function(a,b,d){switch(arguments.length){case 2:return B.call(k,this,b);case 3:return B.call(k,this,b,d)}c("Invalid arity: "+arguments.length)}}();o.z=function(a,b){return new Rc(this.d,Va.call(k,this.fa,b,k))};o.toString=function(){return N.call(k,this)};o.u=function(){return Qc.call(k,this.fa)};o.sa=g;o.D=function(a){return Ta.call(k,O.call(k,a))};
o.l=function(a,b){var d=$a.call(k,b);return d?(d=I.call(k,Ta.call(k,a),Ta.call(k,b)))?Kb.call(k,function(b){return mb.call(k,a,b)},b):d:d};o.w=function(a,b){return new Rc(b,this.fa)};o.r=g;o.s=m("d");var Sc=new Rc(k,La.call(k));function Tc(a){for(var a=O.call(k,a),b=Sc;;)if(P.call(k,Za.call(k,a)))var d=H.call(k,a),b=Sa.call(k,b,G.call(k,a)),a=d;else return b}
function Uc(a){if(jb.call(k,a))return a;var b=kb.call(k,a);if(b?b:lb.call(k,a))return b=a.lastIndexOf("/"),0>b?tb.call(k,a,2):tb.call(k,a,b+1);c(Error(T.call(k,"Doesn't support name: ",a)))}function Vc(a){var b=kb.call(k,a);if(b?b:lb.call(k,a))return b=a.lastIndexOf("/"),-1<b?tb.call(k,a,2,b):k;c(Error(T.call(k,"Doesn't support namespace: ",a)))}function Z(a,b,d,e,f,h){return Gb.call(k,X([b]),Sb.call(k,Rb.call(k,X([d]),W.call(k,function(b){return a.call(k,b,f)},h))),X([e]))}
var $=function Wc(b,d){return b===k?J.call(k,"nil"):void 0===b?J.call(k,"#<undefined>"):Gb.call(k,t(function(){var e=Q.call(k,d,"\ufdd0'meta");return t(e)?(t(b)?(e=b.r,e=t(e)?P.call(k,b.hasOwnProperty("cljs$core$IMeta$")):e):e=b,e=t(e)?g:oa.call(k,ya,b),t(e)?Ya.call(k,b):e):e}())?Gb.call(k,X(["^"]),Wc.call(k,Ya.call(k,b),d),X([" "])):k,t(function(){var d;t(b)?(d=b.t,d=t(d)?P.call(k,b.hasOwnProperty("cljs$core$IPrintable$")):d):d=b;return t(d)?g:oa.call(k,Ga,b)}())?D.call(k,b,d):J.call(k,"#<",T.call(k,
b),">"))};function Xc(a,b){var d=G.call(k,a),e=new na,f=O.call(k,a);if(t(f))for(var h=G.call(k,f);;){h!==d&&e.append(" ");var i=O.call(k,$.call(k,h,b));if(t(i))for(h=G.call(k,i);;)if(e.append(h),h=F.call(k,i),t(h))i=h,h=G.call(k,i);else break;f=F.call(k,f);if(t(f))h=f,f=G.call(k,h),i=h,h=f,f=i;else break}return e}function Yc(a,b){return T.call(k,Xc.call(k,a,b))}function Zc(){return Pc(["\ufdd0'flush-on-newline","\ufdd0'readably","\ufdd0'meta","\ufdd0'dup"],[g,g,l,l])}
var N=function(){function a(a){var d=k;r(a)&&(d=E(Array.prototype.slice.call(arguments,0),0));return Yc.call(k,d,Zc.call(k))}a.f=0;a.c=function(a){a=O(a);return Yc.call(k,a,Zc.call(k))};return a}();rc.prototype.t=g;rc.prototype.p=function(a,b){return Z.call(k,function(a){return Z.call(k,$,""," ","",b,a)},"{",", ","}",b,a)};Ga.number=g;D.number=function(a){return J.call(k,T.call(k,a))};Na.prototype.t=g;Na.prototype.p=function(a,b){return Z.call(k,$,"("," ",")",b,a)};U.prototype.t=g;
U.prototype.p=function(a,b){return Z.call(k,$,"("," ",")",b,a)};Ga["boolean"]=g;D["boolean"]=function(a){return J.call(k,T.call(k,a))};Rc.prototype.t=g;Rc.prototype.p=function(a,b){return Z.call(k,$,"#{"," ","}",b,a)};Ga.string=g;
D.string=function(a,b){return kb.call(k,a)?J.call(k,T.call(k,":",function(){var b=Vc.call(k,a);return t(b)?T.call(k,b,"/"):k}(),Uc.call(k,a))):lb.call(k,a)?J.call(k,T.call(k,function(){var b=Vc.call(k,a);return t(b)?T.call(k,b,"/"):k}(),Uc.call(k,a))):J.call(k,t("\ufdd0'readably".call(k,b))?ia.call(k,a):a)};Kc.prototype.t=g;Kc.prototype.p=function(a,b){return Z.call(k,$,"("," ",")",b,a)};Mc.prototype.t=g;
Mc.prototype.p=function(a,b){return Z.call(k,function(a){return Z.call(k,$,""," ","",b,a)},"{",", ","}",b,a)};fc.prototype.t=g;fc.prototype.p=function(a,b){return Z.call(k,$,"["," ","]",b,a)};wb.prototype.t=g;wb.prototype.p=function(a,b){return Z.call(k,$,"("," ",")",b,a)};Ga.array=g;D.array=function(a,b){return Z.call(k,$,"#<Array [",", ","]>",b,a)};Ga["function"]=g;D["function"]=function(a){return J.call(k,"#<",T.call(k,a),">")};xb.prototype.t=g;xb.prototype.p=function(){return J.call(k,"()")};
Ab.prototype.t=g;Ab.prototype.p=function(a,b){return Z.call(k,$,"("," ",")",b,a)};Lc.prototype.t=g;Lc.prototype.p=function(a,b){return Z.call(k,$,"("," ",")",b,a)};pc.prototype.t=g;pc.prototype.p=function(a,b){return Z.call(k,function(a){return Z.call(k,$,""," ","",b,a)},"{",", ","}",b,a)};function $c(a,b,d,e){this.state=a;this.d=b;this.va=d;this.wa=e}o=$c.prototype;o.v=function(a){return da.call(k,a)};o.t=g;o.p=function(a,b){return Gb.call(k,X(["#<Atom: "]),D.call(k,this.state,b),">")};o.r=g;
o.s=m("d");o.l=function(a,b){return a===b};
(function(){function a(a){return new $c(a,k,k,k)}var b=k,d=function(){function a(d,e){var j=k;r(e)&&(j=E(Array.prototype.slice.call(arguments,1),0));return b.call(this,d,j)}function b(a,d){var e=hb.call(k,d)?Ib.call(k,La,d):d,f=Q.call(k,e,"\ufdd0'validator"),e=Q.call(k,e,"\ufdd0'meta");return new $c(a,e,f,k)}a.f=1;a.c=function(a){var d=G(a),a=H(a);return b.call(this,d,a)};return a}(),b=function(b,f){switch(arguments.length){case 1:return a.call(this,b);default:return d.apply(this,arguments)}c("Invalid arity: "+
arguments.length)};b.f=1;b.c=d.c;b.F=a;b.e=d;return b})().call(k,function(){return Pc(["\ufdd0'parents","\ufdd0'descendants","\ufdd0'ancestors"],[Pc([],[]),Pc([],[]),Pc([],[])])}.call(k));function ad(a,b,d,e,f,h){this.j=a;this.k=b;this.N=d;this.O=e;this.o=f;this.i=h;4<arguments.length?(this.o=f,this.i=h):this.i=this.o=k}o=ad.prototype;o.v=function(a){return K(a)};o.L=function(a,b){return B.g(a,b,k)};o.M=function(a,b,d){return"\ufdd0'a"===b?this.j:"\ufdd0's"===b?this.k:"\ufdd0'd"===b?this.N:"\ufdd0'f"===b?this.O:Q.g(this.i,b,d)};
o.V=function(a,b,d){return t(Ka.call(k,"\ufdd0'a",b))?new ad(d,this.k,this.N,this.O,this.o,this.i):t(Ka.call(k,"\ufdd0's",b))?new ad(this.j,d,this.N,this.O,this.o,this.i):t(Ka.call(k,"\ufdd0'd",b))?new ad(this.j,this.k,d,this.O,this.o,this.i):t(Ka.call(k,"\ufdd0'f",b))?new ad(this.j,this.k,this.N,d,this.o,this.i):new ad(this.j,this.k,this.N,this.O,this.o,Va.g(this.i,b,d))};o.z=function(a,b){return cb(b)?ta(a,A.e(b,0),A.e(b,1)):S.g(z,a,b)};
o.u=function(){return O(Gb.e(X([ic("\ufdd0'a",this.j),ic("\ufdd0's",this.k),ic("\ufdd0'd",this.N),ic("\ufdd0'f",this.O)]),this.i))};o.t=g;o.p=function(a,b){return Z(function(a){return Z($,""," ","",b,a)},T("#","phm.records.RFoo","{"),", ","}",b,Gb.e(X([ic("\ufdd0'a",this.j),ic("\ufdd0's",this.k),ic("\ufdd0'd",this.N),ic("\ufdd0'f",this.O)]),this.i))};o.D=function(){return 4+Ta(this.i)};o.l=function(a,b){var d=a.constructor===b.constructor;return d?lc(a,b):d};
o.w=function(a,b){return new ad(this.j,this.k,this.N,this.O,b,this.i)};o.r=g;o.s=m("o");o.aa=g;o.Z=function(a,b){return mb(Tc(["\ufdd0'a","\ufdd0'f","\ufdd0'd","\ufdd0's"]),b)?Wa.e(Xa(Ub(Pc([],[]),a),this.o),b):new ad(this.j,this.k,this.N,this.O,this.o,Jb(Wa.e(this.i,b)))};function bd(a,b){this.o=a;this.i=b;0<arguments.length?(this.o=a,this.i=b):this.i=this.o=k}o=bd.prototype;o.v=function(a){return K(a)};o.L=function(a,b){return B.g(a,b,k)};o.M=function(a,b,d){return Q.g(this.i,b,d)};
o.V=function(a,b,d){return new bd(this.o,Va.g(this.i,b,d))};o.z=function(a,b){return cb(b)?ta(a,A.e(b,0),A.e(b,1)):S.g(z,a,b)};o.u=function(){return O(Gb.e(X([]),this.i))};o.t=g;o.p=function(a,b){return Z(function(a){return Z($,""," ","",b,a)},T("#","phm.records.RBar","{"),", ","}",b,Gb.e(X([]),this.i))};o.D=function(){return 0+Ta(this.i)};o.l=function(a,b){var d=a.constructor===b.constructor;return d?lc(a,b):d};o.w=function(a,b){return new bd(b,this.i)};o.r=g;o.s=m("o");o.aa=g;
o.Z=function(a,b){return mb(Tc([]),b)?Wa.e(Xa(Ub(Pc([],[]),a),this.o),b):new bd(this.o,Jb(Wa.e(this.i,b)))};s("phm.empty_obj_map",function(){return qc});s("phm.empty_hash_map",function(){return sc});s("phm.empty_persistent_hash_map",function(){return Oc});s("phm.assocwrapper",function(a,b,d){return Va.g(a,b,d)});s("phm.dissocwrapper",function(a,b){return Wa.e(a,b)});s("phm.getwrapper",function(a,b){return Q.e(a,b)});s("phm.getwrapperdefault",function(a,b,d){return Q.g(a,b,d)});s("phm.invokewrapper",function(a,b){return a.call(k,b)});s("phm.invokewrapperdefault",function(a,b,d){return a.call(k,b,d)});
s("phm.transientwrapper",function(a){return tc(a)});s("phm.persistentwrapper",function(a){return uc(a)});s("phm.assocbangwrapper",function(a,b,d){return vc(a,b,d)});s("phm.make_keyword",function(a){return ub.F(a)});s("phm.fresh_record_four_fields",function(){return new ad(k,k,k,k)});s("phm.fresh_record_no_fields",function(){return new bd});
</script>
<script>
Benchmark.prototype.setup = function() {
    m = null;
    k1 = phm.make_keyword("a");
    k2 = phm.make_keyword("s");
    k3 = phm.make_keyword("d");
    k4 = phm.make_keyword("f");
};
</script>

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
PersistentHashMap
m = phm.empty_persistent_hash_map();
m = phm.assocwrapper(m, k1, 1);
m = phm.assocwrapper(m, k2, 2);
m = phm.assocwrapper(m, k3, 3);
m = phm.assocwrapper(m, k4, 4);
pending…
Record (fields)
m = phm.fresh_record_four_fields();
m = phm.assocwrapper(m, k1, 1);
m = phm.assocwrapper(m, k2, 2);
m = phm.assocwrapper(m, k3, 3);
m = phm.assocwrapper(m, k4, 4);
pending…
Record (extmap)
m = phm.fresh_record_no_fields();
m = phm.assocwrapper(m, k1, 1);
m = phm.assocwrapper(m, k2, 2);
m = phm.assocwrapper(m, k3, 3);
m = phm.assocwrapper(m, k4, 4);
pending…

Compare results of other browsers

Revisions

You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:

0 comments

Add a comment