1 (
function(){var o=32768;var x=0;var J=1;var j=2;var T=9;var i=6;var u=32768;var a=64;var D;var l;var R=null;var b;var N,E;var t;var r;var W;var O;var U;var z;var n,p;var g,k;var C;var G;var Q=
new Array(0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535);var d=
new Array(3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0);var M=
new Array(0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,99,99);var K=
new Array(1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577);var A=
new Array(0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13);var q=
new Array(16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15);var y=
function(){this.next=null;this.list=null};var I=
function(){this.e=0;this.b=0;this.n=0;this.t=null};var m=
function(az,an,ai,ax,aw,at){this.BMAX=16;this.N_MAX=288;this.status=0;this.root=null;this.m=0;var aA;var ay=
new Array(this.BMAX+1);var X;var av;var au;var ar;var aq;var ap;var ao;var Y=
new Array(this.BMAX+1);var al;var Z;var ak;var aj=
new I();var ah=
new Array(this.BMAX);var ag=
new Array(this.N_MAX);var af;var ad=
new Array(this.BMAX+1);var ae;var ac;var ab;var am;var aa;aa=this.root=null;
for(aq=0;aq<ay.length;++aq){ay[aq]=0}
for(aq=0;aq<Y.length;++aq){Y[aq]=0}
for(aq=0;aq<ah.length;++aq){ah[aq]=null}
for(aq=0;aq<ag.length;++aq){ag[aq]=0}
for(aq=0;aq<ad.length;++aq){ad[aq]=0}X=an>256?az[256]:this.BMAX;al=az;Z=0;aq=an;
do{ay[al[Z]]++;Z++}
while(--aq>0);
if(ay[0]==an){this.root=null;this.m=0;this.status=0;
return}
for(ap=1;ap<=this.BMAX;++ap){
if(ay[ap]!=0){
break}}ao=ap;
if(at<ap){at=ap}
for(aq=this.BMAX;aq!=0;aq--){
if(ay[aq]!=0){
break}}au=aq;
if(at>aq){at=aq}
for(ac=1<<ap;ap<aq;++ap,ac<<=1){
if((ac-=ay[ap])<0){this.status=2;this.m=at;
return}}
if((ac-=ay[aq])<0){this.status=2;this.m=at;
return}ay[aq]+=ac;ad[1]=ap=0;al=ay;Z=1;ae=2;
while(--aq>0){ad[ae++]=(ap+=al[Z++])}al=az;Z=0;aq=0;
do{
if((ap=al[Z++])!=0){ag[ad[ap]++]=aq}}
while(++aq<an);an=ad[au];ad[0]=aq=0;al=ag;Z=0;ar=-1;af=Y[0]=0;ak=null;ab=0;
for(;ao<=au;++ao){aA=ay[ao];
while(aA-->0){
while(ao>af+Y[1+ar]){af+=Y[1+ar];ar++;ab=(ab=au-af)>at?at:ab;
if((av=1<<(ap=ao-af))>aA+1){av-=aA+1;ae=ao;
while(++ap<ab){
if((av<<=1)<=ay[++ae]){
break}av-=ay[ae]}}
if(af+ap>X&&af<X){ap=X-af}ab=1<<ap;Y[1+ar]=ap;ak=
new Array(ab);
for(am=0;am<ab;am++){ak[am]=
new I()}
if(aa==null){aa=this.root=
new y()}
else{aa=aa.next=
new y()}aa.next=null;aa.list=ak;ah[ar]=ak;
if(ar>0){ad[ar]=aq;aj.b=Y[ar];aj.e=16+ap;aj.t=ak;ap=(aq&((1<<af)-1))>>(af-Y[ar]);ah[ar-1][ap].e=aj.e;ah[ar-1][ap].b=aj.b;ah[ar-1][ap].n=aj.n;ah[ar-1][ap].t=aj.t}}aj.b=ao-af;
if(Z>=an){aj.e=99}
else{
if(al[Z]<ai){aj.e=(al[Z]<256?16:15);aj.n=al[Z++]}
else{aj.e=aw[al[Z]-ai];aj.n=ax[al[Z++]-ai]}}av=1<<(ao-af);
for(ap=aq>>af;ap<ab;ap+=av){ak[ap].e=aj.e;ak[ap].b=aj.b;ak[ap].n=aj.n;ak[ap].t=aj.t}
for(ap=1<<(ao-1);(aq&ap)!=0;ap>>=1){aq^=ap}aq^=ap;
while((aq&((1<<af)-1))!=ad[ar]){af-=Y[ar];ar--}}}this.m=Y[1];this.status=((ac!=0&&au!=1)?1:0)};var f=
function(){
if(C.length==G){
return -1}
return C.charCodeAt(G++)&255};var V=
function(X){
while(r<X){t|=f()<<r;r+=8}};var c=
function(X){
while(r<X){
if(G<C.byteLength){t|=C[G++]<<r}r+=8}};var S=V;var v=
function(X){
return t&Q[X]};var e=
function(X){t>>=X;r-=X};var h=
function(ac,aa,Y){var Z;var X;var ab;
if(Y==0){
return 0}ab=0;
for(;;){S(g);X=n.list[v(g)];Z=X.e;
while(Z>16){
if(Z==99){
return -1}e(X.b);Z-=16;S(Z);X=X.t[v(Z)];Z=X.e}e(X.b);
if(Z==16){l&=o-1;ac[aa+ab++]=D[l++]=X.n;
if(ab==Y){
return Y}
continue}
if(Z==15){
break}S(Z);U=X.n+v(Z);e(Z);S(k);X=p.list[v(k)];Z=X.e;
while(Z>16){
if(Z==99){
return -1}e(X.b);Z-=16;S(Z);X=X.t[v(Z)];Z=X.e}e(X.b);S(Z);z=l-X.n-v(Z);e(Z);
while(U>0&&ab<Y){U--;z&=o-1;l&=o-1;ac[aa+ab++]=D[l++]=D[z++]}
if(ab==Y){
return Y}}W=-1;
return ab};var w=
function(aa,Y,X){var Z;Z=r&7;e(Z);S(16);Z=v(16);e(16);S(16);
if(Z!=((~t)&65535)){
return -1}e(16);U=Z;Z=0;
while(U>0&&Z<X){U--;l&=o-1;S(8);aa[Y+Z++]=D[l++]=v(8);e(8)}
if(U==0){W=-1}
return Z};var L=
function(ac,ab,Z){
if(R==null){var Y;var X=
new Array(288);var aa;
for(Y=0;Y<144;++Y){X[Y]=8}
for(;Y<256;++Y){X[Y]=9}
for(;Y<280;++Y){X[Y]=7}
for(;Y<288;++Y){X[Y]=8}N=7;aa=
new m(X,288,257,d,M,N);
if(aa.status!=0){alert(
"HufBuild error: "+aa.status);
return -1}R=aa.root;N=aa.m;
for(Y=0;Y<30;++Y){X[Y]=5}zip_fixed_bd=5;aa=
new m(X,30,0,K,A,zip_fixed_bd);
if(aa.status>1){R=null;alert(
"HufBuild error: "+aa.status);
return -1}b=aa.root;zip_fixed_bd=aa.m}n=R;p=b;g=N;k=zip_fixed_bd;
return h(ac,ab,Z)};var B=
function(ah,Z,aj){var ad;var ac;var aa;var Y;var ai;var af;var X;var ab;var ag=
new Array(286+30);var ae;
for(ad=0;ad<ag.length;++ad){ag[ad]=0}S(5);X=257+v(5);e(5);S(5);ab=1+v(5);e(5);S(4);af=4+v(4);e(4);
if(X>286||ab>30){
return -1}
for(ac=0;ac<af;++ac){S(3);ag[q[ac]]=v(3);e(3)}
for(;ac<19;++ac){ag[q[ac]]=0}g=7;ae=
new m(ag,19,19,null,null,g);
if(ae.status!=0){
return -1}n=ae.root;g=ae.m;Y=X+ab;ad=aa=0;
while(ad<Y){S(g);ai=n.list[v(g)];ac=ai.b;e(ac);ac=ai.n;
if(ac<16){ag[ad++]=aa=ac}
else{
if(ac==16){S(2);ac=3+v(2);e(2);
if(ad+ac>Y){
return -1}
while(ac-->0){ag[ad++]=aa}}
else{
if(ac==17){S(3);ac=3+v(3);e(3);
if(ad+ac>Y){
return -1}
while(ac-->0){ag[ad++]=0}aa=0}
else{S(7);ac=11+v(7);e(7);
if(ad+ac>Y){
return -1}
while(ac-->0){ag[ad++]=0}aa=0}}}}g=T;ae=
new m(ag,X,257,d,M,g);
if(g==0){ae.status=1}
if(ae.status!=0){
if(ae.status==1){}
return -1}n=ae.root;g=ae.m;
for(ad=0;ad<ab;++ad){ag[ad]=ag[ad+X]}k=i;ae=
new m(ag,ab,0,K,A,k);p=ae.root;k=ae.m;
if(k==0&&X>257){
return -1}
if(ae.status==1){}
if(ae.status!=0){
return -1}
return h(ah,Z,aj)};var P=
function(){var X;
if(D==null){D=
new Array(2*o)}l=0;t=0;r=0;W=-1;O=
false;U=z=0;n=null};var H=
function(ab,Z,Y){var aa,X;aa=0;
while(aa<Y){
if(O&&W==-1){
return aa}
if(U>0){
if(W!=x){
while(U>0&&aa<Y){U--;z&=o-1;l&=o-1;ab[Z+aa++]=D[l++]=D[z++]}}
else{
while(U>0&&aa<Y){U--;l&=o-1;S(8);ab[Z+aa++]=D[l++]=v(8);e(8)}
if(U==0){W=-1}}
if(aa==Y){
return aa}}
if(W==-1){
if(O){
break}S(1);
if(v(1)!=0){O=
true}e(1);S(2);W=v(2);e(2);n=null;U=0}
switch(W){
case 0:X=w(ab,Z+aa,Y-aa);
break;
case 1:
if(n!=null){X=h(ab,Z+aa,Y-aa)}
else{X=L(ab,Z+aa,Y-aa)}
break;
case 2:
if(n!=null){X=h(ab,Z+aa,Y-aa)}
else{X=B(ab,Z+aa,Y-aa)}
break;
default:X=-1;
break}
if(X==-1){
if(O){
return 0}
return -1}aa+=X}
return aa};var F=
function(ab){var Z,Y;P();C=ab;G=0;S=V;var ac=
new Array(1024);var aa=[];
while((Z=H(ac,0,ac.length))>0){var X=
new Array(Z);
for(Y=0;Y<Z;++Y){X[Y]=String.fromCharCode(ac[Y])}aa[aa.length]=X.join(
"")}C=null;
return aa.join(
"")};var s=
function(X,ab){var aa,Y;P();C=X;G=0;S=c;var Z=0;
while((aa=H(ab,Z,Math.min(1024,ab.byteLength-Z)))>0){Z+=aa}C=null;
return Z};
if(!window.RawInflate){RawInflate={}}RawInflate.inflate=F;RawInflate.arr_inflate=s})();