(function(){function h(a){return function(){return this[a]}}var k=this;function n(a){return"string"==typeof a}function p(a,c){var b=a.split("."),d=k;!(b[0]in d)&&d.execScript&&d.execScript("var "+b[0]);for(var e;b.length&&(e=b.shift());)!b.length&&void 0!==c?d[e]=c:d=d[e]?d[e]:d[e]={}};var q="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function s(a){var c=Number(a);return 0==c&&/^[\s\xa0]*$/.test(a)?NaN:c};function t(a,c){this.b=a|0;this.a=c|0}var v={};function w(a){if(-128<=a&&128>a){var c=v[a];if(c)return c}c=new t(a|0,0>a?-1:0);-128<=a&&128>a&&(v[a]=c);return c}function x(a){return isNaN(a)||!isFinite(a)?y:a<=-z?A:a+1>=z?aa:0>a?B(x(-a)):new t(a%C|0,a/C|0)} function D(a,c){if(0==a.length)throw Error("number format error: empty string");var b=c||10;if(2>b||36g?(g=x(Math.pow(b,g)),e=e.multiply(g).add(x(m))):(e=e.multiply(d),e=e.add(x(m)))}return e} var C=4294967296,z=C*C/2,y=w(0),E=w(1),F=w(-1),aa=new t(-1,2147483647),A=new t(0,-2147483648),G=w(16777216); t.prototype.toString=function(a){a=a||10;if(2>a||36this.a){if(I(this,A)){var c=x(a),b=J(this,c),c=L(b.multiply(c),this);return b.toString(a)+c.b.toString(a)}return"-"+B(this).toString(a)}for(var b=x(Math.pow(a,6)),c=this,d="";;){var e=J(c,b),f=L(c,e.multiply(b)).b.toString(a),c=e;if(H(c))return f+d;for(;6>f.length;)f="0"+f;d=""+f+d}};function M(a){return 0<=a.b?a.b:C+a.b}function H(a){return 0==a.a&&0==a.b} function I(a,c){return a.a==c.a&&a.b==c.b}function N(a,c){if(I(a,c))return 0;var b=0>a.a,d=0>c.a;return b&&!d?-1:!b&&d?1:0>L(a,c).a?-1:1}function B(a){return I(a,A)?A:(new t(~a.b,~a.a)).add(E)}t.prototype.add=function(a){var c=this.a>>>16,b=this.a&65535,d=this.b>>>16,e=a.a>>>16,f=a.a&65535,g=a.b>>>16,m;m=0+((this.b&65535)+(a.b&65535));a=0+(m>>>16);a+=d+g;d=0+(a>>>16);d+=b+f;b=0+(d>>>16);b=b+(c+e)&65535;return new t((a&65535)<<16|m&65535,b<<16|d&65535)};function L(a,c){return a.add(B(c))} t.prototype.multiply=function(a){if(H(this)||H(a))return y;if(I(this,A))return 1==(a.b&1)?A:y;if(I(a,A))return 1==(this.b&1)?A:y;if(0>this.a)return 0>a.a?B(this).multiply(B(a)):B(B(this).multiply(a));if(0>a.a)return B(this.multiply(B(a)));if(0>N(this,G)&&0>N(a,G))return x((this.a*C+M(this))*(a.a*C+M(a)));var c=this.a>>>16,b=this.a&65535,d=this.b>>>16,e=this.b&65535,f=a.a>>>16,g=a.a&65535,m=a.b>>>16;a=a.b&65535;var u,l,r,K;K=0+e*a;r=0+(K>>>16);r+=d*a;l=0+(r>>>16);r=(r&65535)+e*m;l+=r>>>16;r&=65535; l+=b*a;u=0+(l>>>16);l=(l&65535)+d*m;u+=l>>>16;l&=65535;l+=e*g;u+=l>>>16;l&=65535;u=u+(c*a+b*m+d*g+e*f)&65535;return new t(r<<16|K&65535,u<<16|l)}; function J(a,c){if(H(c))throw Error("division by zero");if(H(a))return y;if(I(a,A)){if(I(c,E)||I(c,F))return A;if(I(c,A))return E;var b;b=1;if(0==b)b=a;else{var d=a.a;b=32>b?new t(a.b>>>b|d<<32-b,d>>b):new t(d>>b-32,0<=d?0:-1)}b=J(b,c).shiftLeft(1);if(I(b,y))return 0>c.a?E:F;d=L(a,c.multiply(b));return b.add(J(d,c))}if(I(c,A))return y;if(0>a.a)return 0>c.a?J(B(a),B(c)):B(J(B(a),c));if(0>c.a)return B(J(a,B(c)));for(var e=y,d=a;0<=N(d,c);){b=Math.max(1,Math.floor((d.a*C+M(d))/(c.a*C+M(c))));for(var f= Math.ceil(Math.log(b)/Math.LN2),f=48>=f?1:Math.pow(2,f-48),g=x(b),m=g.multiply(c);0>m.a||0a?new t(c<>>32-a):new t(0,c<=arguments.length?O.slice.call(a,c):O.slice.call(a,c,b)};function T(a){return U(1,arguments,function(a,b){return a.add(b)})}function V(a,c){var b=W(2,[a,c]).d;return X(b[0]/b[1])}function Y(a){return U(3,arguments,function(a,b){return L(a,b)})}function Z(a){return U(4,arguments,function(a,b){return a.multiply(b)})} function $(a){if("number"==typeof a)return a;var c=a.toString(),b=a.c;if(0!=b){var d;a=!1;"-"==c.charAt(0)&&(a=!0,c=c.replace(/^\-/,""));c.length<=b?(c=String(s(c)),d=c.indexOf("."),-1==d&&(d=c.length),b=Math.max(0,b-d),d=Array(b+1).join("0")+c,b="0"):(d=c.slice(-b),b=c.slice(0,-b));c=(a?"-":"")+b+"."+d}return s(c)}function U(a,c,b){c=W(a,c);b=R(S(c.d,1),b,c.d[0]);b.k(a,c.d.length,c.i);return b} function X(a){if(!n(a)&&"number"!=typeof a)throw Error('Invalid value: "'+a+'"');a=s(String(a));var c=String(a),b,d;if(d=c.match(/\.(\d+)$/)){b=D;var e=RegExp,f;f=".".replace(/([-()\[\]{}+?*.$\^|,:#b.a?B(e):e,e=b.add(e),e.j(b)):e=b;return $(e)}return $(b)});})()