>>0;a:do{if(e){for(var i=c-f|0,h=-f|0,k=0;;){for(var l=f+k|0,j=(b+l*40|0)>>2,n=d>>2,p=j+10;j>>0>>0){break}if((Pf(j,d)|0)<=0){break}j>>=2;n=o>>2;for(p=j+10;j>2;n=o>>2;for(p=j+10;j
>>=1}m=d}function Fe(b,c,d,f,g,e){y[b+36>>2]=65535;var i=f>>>0>1?f:1;y[b+24>>2]=i;f=b+28|0;y[f>>2]=(e|0)==0?d:i;y[b+32>>2]=g;y[b+56>>2]=e;y[b+44>>2]=0;y[b+40>>2]=0;y[b+48>>2]=0;d=jc(680);g=b|0;y[g>>2]=d;e=(d|0)==0;a:do{if(e){i=65535}else{Pc(d,0,680);for(var i=c*384|47,h=0;;){if(h>>>0>=(y[f>>2]+1|0)>>>0){break}var k=jc(i);y[(y[g>>2]+h*40+4|0)>>2]=k;var k=F[g>>2],l=y[k+h*40+4>>2];if((l|0)==0){i=65535;break a}y[k+h*40>>2]=l+(-l&15)|0;h=h+1|0}h=jc(68);i=b+4|0;y[i>>2]=h;h=jc((y[f>>2]<<4)+16|0);y[b+12>>2]=h;i=y[i>>2];(i|0)==0|(h|0)==0?i=65535:(Pc(i,0,68),y[b+20>>2]=0,i=y[b+16>>2]=0)}}while(0);return i}Fe.X=1;function Qf(b){var c=b+40|0,d=(y[c>>2]|0)==0;a:do{if(!d){for(var f=b|0,g=b+4|0,e=0;;){var i=e+1|0;y[(y[g>>2]+(e<<2)|0)>>2]=y[f>>2]+e*40|0;if(i>>>0>=F[c>>2]>>>0){break a}e=i}}}while(0)}function Pf(b,c){var d=F[b+20>>2],f=(d|0)==0,g=F[c+20>>2],e=(g|0)==0;a:do{if(f){if(e){var i=(y[c+24>>2]|0)==0;if((y[b+24>>2]|0)==0){if(!i){i=1;break}}else{if(i){i=-1;break}}i=0}else{i=1}}else{if(e){i=-1}else{do{if(d==0){i=1;break a}else{if((d==1||d==2)&&(g-1|0)>>>0<2){d=y[b+8>>2];f=y[c+8>>2];if((d|0)>(f|0)){i=-1;break a}i=(d|0)<(f|0)&1;break a}}}while(0);if((d-1|0)>>>0<2){i=-1}else{if((g-1|0)>>>0<2){i=1}else{var i=y[b+8>>2],h=y[c+8>>2],i=(i|0)>(h|0)?1:((i|0)<(h|0))<<31>>31}}}}}while(0);return i}Pf.X=1;function rd(b,c){for(var d=y[b+4>>2],f=y[b+12>>2],g=y[b+16>>2],e=y[b+20>>2],i=d<<4,h=0;;){var k=i*h|0,l=f+(k|4)|0,j=f+(k|8)|0,n=f+(k|12)|0,p=h<<4,r=c+(p|8)|0,o=c+(p|12)|0,t=y[c+(p|4)>>2];y[(f+k|0)>>2]=y[c+p>>2];y[l>>2]=t;k=y[o>>2];y[j>>2]=y[r>>2];y[n>>2]=k;h=h+1|0;if((h|0)==16){break}}f=d<<3;h=y[c+260>>2];y[g>>2]=y[c+256>>2];y[(g+4|0)>>2]=h;h=f|4;j=y[c+268>>2];y[(g+f|0)>>2]=y[c+264>>2];y[(g+h|0)>>2]=j;j=i|4;n=y[c+276>>2];y[(g+i|0)>>2]=y[c+272>>2];y[(g+j|0)>>2]=n;n=d*24|0;r=n|4;k=y[c+284>>2];y[(g+n|0)>>2]=y[c+280>>2];y[(g+r|0)>>2]=k;k=d<<5;l=k|4;p=y[c+292>>2];y[(g+k|0)>>2]=y[c+288>>2];y[(g+l|0)>>2]=p;p=d*40|0;o=p|4;t=y[c+300>>2];y[(g+p|0)>>2]=y[c+296>>2];y[(g+o|0)>>2]=t;var t=d*48|0,s=t|4,u=y[c+308>>2];y[(g+t|0)>>2]=y[c+304>>2];y[(g+s|0)>>2]=u;var d=d*56|0,u=d|4,w=y[c+316>>2];y[(g+d|0)>>2]=y[c+312>>2];y[(g+u|0)>>2]=w;g=y[c+324>>2];y[e>>2]=y[c+320>>2];y[(e+4|0)>>2]=g;g=y[c+332>>2];y[(e+f|0)>>2]=y[c+328>>2];y[(e+h|0)>>2]=g;g=y[c+340>>2];y[(e+i|0)>>2]=y[c+336>>2];y[(e+j|0)>>2]=g;i=y[c+348>>2];y[(e+n|0)>>2]=y[c+344>>2];y[(e+r|0)>>2]=i;i=y[c+356>>2];y[(e+k|0)>>2]=y[c+352>>2];y[(e+l|0)>>2]=i;i=y[c+364>>2];y[(e+p|0)>>2]=y[c+360>>2];y[(e+o|0)>>2]=i;i=y[c+372>>2];y[(e+t|0)>>2]=y[c+368>>2];y[(e+s|0)>>2]=i;i=y[c+380>>2];y[(e+d|0)>>2]=y[c+376>>2];y[(e+u|0)>>2]=i}rd.X=1;function Ee(b){var c=b|0,d=F[c>>2],f=(d|0)==0;a:do{if(f){var g=0}else{var e=b+28|0;if((y[e>>2]|0)==-1){g=d}else{for(var i=0,h=d;;){var k=i+1|0;Ae(y[h+i*40+4>>2]);y[(y[c>>2]+i*40+4|0)>>2]=0;h=y[c>>2];if(k>>>0>=(y[e>>2]+1|0)>>>0){g=h;break a}i=k}}}}while(0);Ae(g);y[c>>2]=0;c=b+4|0;Ae(y[c>>2]);y[c>>2]=0;b=b+12|0;Ae(y[b>>2]);y[b>>2]=0}function Rf(b,c,d,f){var g,e=b+16|0;y[e>>2]=0;y[b+20>>2]=0;f=(f|0)==0;a:do{if(f){var i=0}else{var h=b+48|0,k=F[h>>2],l=(k|0)==(c|0);do{if(l){g=17}else{var j=b+32|0,n=((k+1|0)>>>0)%(F[j>>2]>>>0);if((n|0)==(c|0)){g=17}else{g=b+28|0;for(var p=b|0,r=y[y[p>>2]+y[g>>2]*40>>2],o=b+44|0,t=b+40|0;;){Cf(b,n);if((If(b)|0)!=0){i=1;break a}var s=F[g>>2],u=F[o>>2]>>>0>>0;b:do{if(u){var w=s}else{for(;;){Nf(b);var v=F[g>>2];if(F[o>>2]>>>0>>0){w=v;break b}}}}while(0);y[(y[p>>2]+w*40+20|0)>>2]=1;y[(y[p>>2]+y[g>>2]*40+12|0)>>2]=n;y[(y[p>>2]+y[g>>2]*40+8|0)>>2]=n;y[(y[p>>2]+y[g>>2]*40+16|0)>>2]=0;y[(y[p>>2]+y[g>>2]*40+24|0)>>2]=0;y[o>>2]=y[o>>2]+1|0;y[t>>2]=y[t>>2]+1|0;Of(y[p>>2],y[g>>2]+1|0);n=((n+1|0)>>>0)%(F[j>>2]>>>0);if((n|0)==(c|0)){break}}j=F[e>>2];o=(j|0)==0;b:do{if(!o){t=b+12|0;for(n=0;;){if(n>>>0>=j>>>0){break b}var z=F[g>>2],B=F[p>>2],D=F[B+z*40>>2];if((y[y[t>>2]+(n<<4)>>2]|0)==(D|0)){var C=0;break}n=n+1|0}for(;;){if(C>>>0>=z>>>0){break b}var E=B+C*40|0;if((y[E>>2]|0)==(r|0)){break}C=C+1|0}y[E>>2]=D;y[(y[p>>2]+y[g>>2]*40|0)>>2]=r}}while(0);if((d|0)!=0){g=21}else{var G=y[h>>2];g=22}}}}while(0);do{if(g==17){if((d|0)==0){G=k,g=22}else{if(l){i=1;break a}g=21}}}while(0);g==22?((G|0)!=(c|0)&&(i=F[b+32>>2],y[h>>2]=((c-1+i|0)>>>0)%(i>>>0)),i=0):g==21&&(y[h>>2]=c,i=0)}}while(0);return i}Rf.X=1;function jf(b,c,d,f){for(var g=F[b+4>>2],e=y[b+8>>2]*g|0,i=(c>>>0)%(g>>>0),h=F[b>>2],k=c-i|0,l=e<<8,j=i<<3,n=g<<4,p=(k<<8)+(i<<4)|0,r=g<<2&1073741820,o=r<<1,t=o+r|0,s=c<<8,u=i*240|0,w=(s|1)-u|0,v=(s|2)-u|0,z=(s|3)-u|0,B=s-u|0,D=0;;){var C=y[$e+(D<<2)>>2],E=y[Ze+(D<<2)>>2],G=E<<4,H=G+C|0,K=(y[f+(D<<6)>>2]|0)==16777215;a:do{if(K){var L=h+(p+C+E*n)|0,N=y[H+(d+16)>>2],O=H+(d+32)|0;y[L>>2]=y[d+H>>2];y[(L+(r<<2)|0)>>2]=N;var R=y[H+(d+48)>>2];y[(L+(o<<2)|0)>>2]=y[O>>2];y[(L+(t<<2)|0)>>2]=R}else{for(var U=n*E|0,Y=w+C+U|0,X=v+C+U|0,ba=z+C+U|0,$=B+C+U|0,ja=G+(C+1)|0,sa=G+(C+2)|0,Ea=G+(C+3)|0,Xa=C+G|0,ea=0;;){var fa=ea<<2,va=f+(D<<6)+((fa|3)<<2)|0,ob=f+(D<<6)+((fa|2)<<2)|0,wa=n*ea|0,pb=h+(Y+wa)|0,gb=h+(X+wa)|0,Ib=h+(ba+wa)|0,Fa=ea<<4,qb=d+(sa+Fa)|0,Ya=d+(Ea+Fa)|0,Na=A[d+(ja+Fa)|0]&255,za=y[f+(D<<6)+((fa|1)<<2)>>2];q[h+($+wa)|0]=q[Q.a+(y[f+(D<<6)+(fa<<2)>>2]+512+(A[d+(Xa+Fa)|0]&255))|0];var da=A[qb]&255,Oa=y[ob>>2];q[pb]=q[Q.a+((Na|512)+za)|0];var Za=A[Ya]&255,Aa=y[va>>2];q[gb]=q[Q.a+(da+(Oa+512))|0];q[Ib]=q[Q.a+(Za+(Aa+512))|0];var hb=ea+1|0;if((hb|0)==4){break a}ea=hb}}}while(0);var Ga=D+1|0;if((Ga|0)==16){break}D=Ga}for(var Pa=e<<6,$a=g<<3&2147483640,Ab=d+256|0,cb=d+320|0,rb=l+j+(k<<6)|0,Qa=$a>>>2,pa=$a>>>1,ia=pa+Qa|0,qa=l+(c<<6)|0,Ra=i*56|0,ra=(qa|1)-Ra|0,ib=(qa|2)-Ra|0,sb=(qa|3)-Ra|0,jb=qa-Ra|0,db=0;;){var Sa=db+16|0,kb=Sa&3,ta=F[$e+(kb<<2)>>2],Bb=F[Ze+(kb<<2)>>2],Ha=Sa>>>0>19,ya=Ha?cb:Ab,xa=Ha?Pa:0,Ba=Bb<<3,Ca=Ba+ta|0,Ta=(y[f+(Sa<<6)>>2]|0)==16777215;a:do{if(Ta){var lb=h+(rb+xa+ta+Bb*$a)|0,Jb=y[Ca+(ya+8)>>2],eb=Ca+(ya+16)|0;y[lb>>2]=y[ya+Ca>>2];y[(lb+(Qa<<2)|0)>>2]=Jb;var Da=y[Ca+(ya+24)>>2];y[(lb+(pa<<2)|0)>>2]=y[eb>>2];y[(lb+(ia<<2)|0)>>2]=Da}else{for(var Ia=$a*Bb|0,mb=ra+xa+ta+Ia|0,Ua=ib+xa+ta+Ia|0,Ja=sb+xa+ta+Ia|0,Ka=jb+xa+ta+Ia|0,Cb=Ba+(ta+1)|0,Db=Ba+(ta+2)|0,Eb=Ba+(ta+3)|0,tb=ta+Ba|0,Va=0;;){var fb=Va<<2,ub=f+(Sa<<6)+((fb|3)<<2)|0,nb=f+(Sa<<6)+((fb|2)<<2)|0,Fb=$a*Va|0,Qb=h+(mb+Fb)|0,wb=h+(Ua+Fb)|0,Lb=h+(Ja+Fb)|0,Rb=Va<<3,Wb=ya+(Db+Rb)|0,Tb=ya+(Eb+Rb)|0,Xb=A[ya+(Cb+Rb)|0]&255,Vb=y[f+(Sa<<6)+((fb|1)<<2)>>2];q[h+(Ka+Fb)|0]=q[Q.a+(y[f+(Sa<<6)+(fb<<2)>>2]+512+(A[ya+(tb+Rb)|0]&255))|0];var Yb=A[Wb]&255,fc=y[nb>>2];q[Qb]=q[Q.a+((Xb|512)+Vb)|0];var ga=A[Tb]&255,pc=y[ub>>2];q[wb]=q[Q.a+(Yb+(fc+512))|0];q[Lb]=q[Q.a+(ga+(pc+512))|0];var Ub=Va+1|0;if((Ub|0)==4){break a}Va=Ub}}}while(0);var Fc=db+1|0;if((Fc|0)==8){break}db=Fc}}jf.X=1;function Sf(b,c){var d=m;m+=164;var f=d+128,g=y[b+4>>2],e=b|0,i=b+8|0,h=y[i>>2],k=h*g|0,h=(h|0)==0;a:do{if(!h){for(var l=d|0,j=f|0,n=g<<4,p=k<<8,r=k<<6,o=g<<3,t=0,s=0,u=0;;){var w=c+u*216|0,v=c+u*216+24|0,z,B=y[w+8>>2];if((B|0)==1){B=0}else{z=y[w+200>>2];z=(z|0)==0?1:(B|0)==2&&((y[w+4>>2]|0)!=(y[z+4>>2]|0)&1|0)!=0?1:5;var D=y[w+204>>2],B=(D|0)==0?z:(B|0)==2&&((y[w+4>>2]|0)!=(y[D+4>>2]|0)&1|0)!=0?z:z|2}z=B;(z|0)!=0&&(Tf(w,l,z)|0)!=0&&(Uf(j,w,z),B=t*g|0,Vf(y[e>>2]+((B<<8)+(s<<4))|0,l,j,n),Wf(j,w,z,y[v>>2]),w=y[e>>2],v=(s<<3)+p+(B<<6)|0,Xf(w+v|0,w+(v+r)|0,l,j,o));s=s+1|0;w=(s|0)==(g|0);t=(w&1)+t|0;s=w?0:s;if(t>>>0>=F[i>>2]>>>0){break a}u=u+1|0}}}while(0);m=d}Sf.X=1;function Tf(b,c,d){var f=(d&2|0)==0;a:do{if(f){y[c+24>>2]=0;y[c+16>>2]=0;y[c+8>>2]=0;var g=y[c>>2]=0}else{var e=F[b>>2]>>>0>5;do{if(!e){var g=b+204|0,i=F[g>>2];if(F[i>>2]>>>0<=5){f=Yf(b,i,0,10);y[c>>2]=f;e=Yf(b,y[g>>2],1,11);y[c+8>>2]=e;i=Yf(b,y[g>>2],4,14);y[c+16>>2]=i;g=Yf(b,y[g>>2],5,15);y[c+24>>2]=g;if((f|e|0)==0&&(i|g|0)==0){g=0;break a}g=1;break a}}}while(0);y[c+24>>2]=4;y[c+16>>2]=4;y[c+8>>2]=4;y[c>>2]=4;g=1}}while(0);e=(d&4|0)==0;a:do{if(e){y[c+100>>2]=0,y[c+68>>2]=0,y[c+36>>2]=0,y[c+4>>2]=0,d=g,f=b|0}else{f=b|0;i=F[f>>2]>>>0>5;do{if(!i){var d=b+200|0,h=F[d>>2];if(F[h>>2]>>>0<=5){e=Yf(b,h,0,5);y[c+4>>2]=e;i=Yf(b,y[d>>2],2,7);y[c+36>>2]=i;h=Yf(b,y[d>>2],8,13);y[c+68>>2]=h;d=Yf(b,y[d>>2],10,15);y[c+100>>2]=d;if((g|0)!=0){d=g;break a}if((e|i|0)==0&&(h|d|0)==0){d=g;break a}d=1;break a}}}while(0);y[c+100>>2]=4;y[c+68>>2]=4;y[c+36>>2]=4;y[c+4>>2]=4;d=1}}while(0);g=F[f>>2];f=g>>>0>5;a:do{if(f){y[c+120>>2]=3,y[c+112>>2]=3,y[c+104>>2]=3,y[c+96>>2]=3,y[c+88>>2]=3,y[c+80>>2]=3,y[c+72>>2]=3,y[c+64>>2]=3,y[c+56>>2]=3,y[c+48>>2]=3,y[c+40>>2]=3,y[c+32>>2]=3,y[c+124>>2]=3,y[c+116>>2]=3,y[c+108>>2]=3,y[c+92>>2]=3,y[c+84>>2]=3,y[c+76>>2]=3,y[c+60>>2]=3,y[c+52>>2]=3,y[c+44>>2]=3,y[c+28>>2]=3,y[c+20>>2]=3,y[c+12>>2]=3,e=1}else{if((cd(g)|0)==1){Zf(b,c)}else{if(g==2){var k=b+32|0;y[c+32>>2]=x[k>>1]<<16>>16==0?x[b+28>>1]<<16>>16!=0?2:0:2;var l=b+34|0;y[c+40>>2]=x[l>>1]<<16>>16==0?x[b+30>>1]<<16>>16!=0?2:0:2;var j=b+40|0;y[c+48>>2]=x[j>>1]<<16>>16==0?x[b+36>>1]<<16>>16!=0?2:0:2;var n=b+42|0;y[c+56>>2]=x[n>>1]<<16>>16==0?x[b+38>>1]<<16>>16!=0?2:0:2;e=b+48|0;y[c+96>>2]=x[e>>1]<<16>>16==0?x[b+44>>1]<<16>>16!=0?2:0:2;i=b+50|0;y[c+104>>2]=x[i>>1]<<16>>16==0?x[b+46>>1]<<16>>16!=0?2:0:2;h=b+56|0;y[c+112>>2]=x[h>>1]<<16>>16==0?x[b+52>>1]<<16>>16!=0?2:0:2;var p=b+58|0;y[c+120>>2]=x[p>>1]<<16>>16==0?x[b+54>>1]<<16>>16!=0?2:0:2;var r=$f(b,8,2);y[c+64>>2]=r;r=$f(b,9,3);y[c+72>>2]=r;r=$f(b,12,6);y[c+80>>2]=r;r=$f(b,13,7);y[c+88>>2]=r;r=b+30|0;y[c+12>>2]=x[r>>1]<<16>>16==0?x[b+28>>1]<<16>>16!=0?2:0:2;var o=b+36|0;y[c+20>>2]=x[o>>1]<<16>>16==0?x[r>>1]<<16>>16!=0?2:0:2;y[c+28>>2]=x[b+38>>1]<<16>>16==0?x[o>>1]<<16>>16!=0?2:0:2;y[c+44>>2]=x[l>>1]<<16>>16==0?x[k>>1]<<16>>16!=0?2:0:2;y[c+52>>2]=x[j>>1]<<16>>16==0?x[l>>1]<<16>>16!=0?2:0:2;y[c+60>>2]=x[n>>1]<<16>>16==0?x[j>>1]<<16>>16!=0?2:0:2;k=b+46|0;y[c+76>>2]=x[k>>1]<<16>>16==0?x[b+44>>1]<<16>>16!=0?2:0:2;l=b+52|0;y[c+84>>2]=x[l>>1]<<16>>16==0?x[k>>1]<<16>>16!=0?2:0:2;y[c+92>>2]=x[b+54>>1]<<16>>16==0?x[l>>1]<<16>>16!=0?2:0:2;y[c+108>>2]=x[i>>1]<<16>>16==0?x[e>>1]<<16>>16!=0?2:0:2;y[c+116>>2]=x[h>>1]<<16>>16==0?x[i>>1]<<16>>16!=0?2:0:2;y[c+124>>2]=x[p>>1]<<16>>16==0?x[h>>1]<<16>>16!=0?2:0:2}else{if(g==3){e=b+32|0;y[c+32>>2]=x[e>>1]<<16>>16==0?x[b+28>>1]<<16>>16!=0?2:0:2;i=b+34|0;y[c+40>>2]=x[i>>1]<<16>>16==0?x[b+30>>1]<<16>>16!=0?2:0:2;h=b+40|0;y[c+48>>2]=x[h>>1]<<16>>16==0?x[b+36>>1]<<16>>16!=0?2:0:2;p=b+42|0;y[c+56>>2]=x[p>>1]<<16>>16==0?x[b+38>>1]<<16>>16!=0?2:0:2;k=b+44|0;y[c+64>>2]=x[k>>1]<<16>>16==0?x[e>>1]<<16>>16!=0?2:0:2;l=b+46|0;y[c+72>>2]=x[l>>1]<<16>>16==0?x[i>>1]<<16>>16!=0?2:0:2;j=b+52|0;y[c+80>>2]=x[j>>1]<<16>>16==0?x[h>>1]<<16>>16!=0?2:0:2;n=b+54|0;y[c+88>>2]=x[n>>1]<<16>>16==0?x[p>>1]<<16>>16!=0?2:0:2;r=b+48|0;y[c+96>>2]=x[r>>1]<<16>>16==0?x[k>>1]<<16>>16!=0?2:0:2;o=b+50|0;y[c+104>>2]=x[o>>1]<<16>>16==0?x[l>>1]<<16>>16!=0?2:0:2;var t=b+56|0;y[c+112>>2]=x[t>>1]<<16>>16==0?x[j>>1]<<16>>16!=0?2:0:2;var s=b+58|0;y[c+120>>2]=x[s>>1]<<16>>16==0?x[n>>1]<<16>>16!=0?2:0:2;y[c+12>>2]=x[b+30>>1]<<16>>16==0?x[b+28>>1]<<16>>16!=0?2:0:2;y[c+28>>2]=x[b+38>>1]<<16>>16==0?x[b+36>>1]<<16>>16!=0?2:0:2;y[c+44>>2]=x[i>>1]<<16>>16==0?x[e>>1]<<16>>16!=0?2:0:2;y[c+60>>2]=x[p>>1]<<16>>16==0?x[h>>1]<<16>>16!=0?2:0:2;y[c+76>>2]=x[l>>1]<<16>>16==0?x[k>>1]<<16>>16!=0?2:0:2;y[c+92>>2]=x[n>>1]<<16>>16==0?x[j>>1]<<16>>16!=0?2:0:2;y[c+108>>2]=x[o>>1]<<16>>16==0?x[r>>1]<<16>>16!=0?2:0:2;y[c+124>>2]=x[s>>1]<<16>>16==0?x[t>>1]<<16>>16!=0?2:0:2;e=$f(b,4,1);y[c+20>>2]=e;e=$f(b,6,3);y[c+52>>2]=e;e=$f(b,12,9);y[c+84>>2]=e;e=$f(b,14,11);y[c+116>>2]=e}else{e=$f(b,2,0),y[c+32>>2]=e,e=$f(b,3,1),y[c+40>>2]=e,e=$f(b,6,4),y[c+48>>2]=e,e=$f(b,7,5),y[c+56>>2]=e,e=$f(b,8,2),y[c+64>>2]=e,e=$f(b,9,3),y[c+72>>2]=e,e=$f(b,12,6),y[c+80>>2]=e,e=$f(b,13,7),y[c+88>>2]=e,e=$f(b,10,8),y[c+96>>2]=e,e=$f(b,11,9),y[c+104>>2]=e,e=$f(b,14,12),y[c+112>>2]=e,e=$f(b,15,13),y[c+120>>2]=e,e=$f(b,1,0),y[c+12>>2]=e,e=$f(b,4,1),y[c+20>>2]=e,e=$f(b,5,4),y[c+28>>2]=e,e=$f(b,3,2),y[c+44>>2]=e,e=$f(b,6,3),y[c+52>>2]=e,e=$f(b,7,6),y[c+60>>2]=e,e=$f(b,9,8),y[c+76>>2]=e,e=$f(b,12,9),y[c+84>>2]=e,e=$f(b,13,12),y[c+92>>2]=e,e=$f(b,11,10),y[c+108>>2]=e,e=$f(b,14,11),y[c+116>>2]=e,e=$f(b,15,14),y[c+124>>2]=e}}}if((d|0)!=0){e=d}else{e=(y[c+32>>2]|0)==0;do{if(e&&(y[c+40>>2]|0)==0&&(y[c+48>>2]|0)==0&&(y[c+56>>2]|0)==0&&(y[c+64>>2]|0)==0&&(y[c+72>>2]|0)==0&&(y[c+80>>2]|0)==0&&(y[c+88>>2]|0)==0&&(y[c+96>>2]|0)==0&&(y[c+104>>2]|0)==0&&(y[c+112>>2]|0)==0&&(y[c+120>>2]|0)==0&&(y[c+12>>2]|0)==0&&(y[c+20>>2]|0)==0&&(y[c+28>>2]|0)==0&&(y[c+44>>2]|0)==0&&(y[c+52>>2]|0)==0&&(y[c+60>>2]|0)==0&&(y[c+76>>2]|0)==0&&(y[c+84>>2]|0)==0&&(y[c+92>>2]|0)==0&&(y[c+108>>2]|0)==0&&(y[c+116>>2]|0)==0&&(y[c+124>>2]|0)==0){e=d;break a}}while(0);e=1}}}while(0);return e}Tf.X=1;function Zf(b,c){var d=b+32|0;y[c+32>>2]=x[d>>1]<<16>>16==0?x[b+28>>1]<<16>>16!=0?2:0:2;var f=b+34|0;y[c+40>>2]=x[f>>1]<<16>>16==0?x[b+30>>1]<<16>>16!=0?2:0:2;var g=b+40|0;y[c+48>>2]=x[g>>1]<<16>>16==0?x[b+36>>1]<<16>>16!=0?2:0:2;var e=b+42|0;y[c+56>>2]=x[e>>1]<<16>>16==0?x[b+38>>1]<<16>>16!=0?2:0:2;var i=b+44|0;y[c+64>>2]=x[i>>1]<<16>>16==0?x[d>>1]<<16>>16!=0?2:0:2;var h=b+46|0;y[c+72>>2]=x[h>>1]<<16>>16==0?x[f>>1]<<16>>16!=0?2:0:2;var k=b+52|0;y[c+80>>2]=x[k>>1]<<16>>16==0?x[g>>1]<<16>>16!=0?2:0:2;var l=b+54|0;y[c+88>>2]=x[l>>1]<<16>>16==0?x[e>>1]<<16>>16!=0?2:0:2;var j=b+48|0;y[c+96>>2]=x[j>>1]<<16>>16==0?x[i>>1]<<16>>16!=0?2:0:2;var n=b+50|0;y[c+104>>2]=x[n>>1]<<16>>16==0?x[h>>1]<<16>>16!=0?2:0:2;var p=b+56|0;y[c+112>>2]=x[p>>1]<<16>>16==0?x[k>>1]<<16>>16!=0?2:0:2;var r=b+58|0;y[c+120>>2]=x[r>>1]<<16>>16==0?x[l>>1]<<16>>16!=0?2:0:2;var o=b+30|0;y[c+12>>2]=x[o>>1]<<16>>16==0?x[b+28>>1]<<16>>16!=0?2:0:2;var t=b+36|0;y[c+20>>2]=x[t>>1]<<16>>16==0?x[o>>1]<<16>>16!=0?2:0:2;y[c+28>>2]=x[b+38>>1]<<16>>16==0?x[t>>1]<<16>>16!=0?2:0:2;y[c+44>>2]=x[f>>1]<<16>>16==0?x[d>>1]<<16>>16!=0?2:0:2;y[c+52>>2]=x[g>>1]<<16>>16==0?x[f>>1]<<16>>16!=0?2:0:2;y[c+60>>2]=x[e>>1]<<16>>16==0?x[g>>1]<<16>>16!=0?2:0:2;y[c+76>>2]=x[h>>1]<<16>>16==0?x[i>>1]<<16>>16!=0?2:0:2;y[c+84>>2]=x[k>>1]<<16>>16==0?x[h>>1]<<16>>16!=0?2:0:2;y[c+92>>2]=x[l>>1]<<16>>16==0?x[k>>1]<<16>>16!=0?2:0:2;y[c+108>>2]=x[n>>1]<<16>>16==0?x[j>>1]<<16>>16!=0?2:0:2;y[c+116>>2]=x[p>>1]<<16>>16==0?x[n>>1]<<16>>16!=0?2:0:2;y[c+124>>2]=x[r>>1]<<16>>16==0?x[p>>1]<<16>>16!=0?2:0:2}Zf.X=1;function Uf(b,c,d){var f=F[c+20>>2],g=c+12|0,e=Cc(0,51,y[g>>2]+f|0),i=c+16|0,h=Cc(0,51,y[i>>2]+f|0),k=A[Q.f+e|0]&255;y[b+28>>2]=k;h=A[Q.g+h|0]&255;y[b+32>>2]=h;e=Q.h+e*3|0;y[b+24>>2]=e;if((d&2|0)!=0){var l=y[y[c+204>>2]+20>>2];if((l|0)==(f|0)){y[b+4>>2]=k,y[b+8>>2]=h,y[b>>2]=e}else{var j=(l+(f+1)|0)>>>1,l=Cc(0,51,y[g>>2]+j|0),j=Cc(0,51,y[i>>2]+j|0);y[b+4>>2]=A[Q.f+l|0]&255;y[b+8>>2]=A[Q.g+j|0]&255;y[b>>2]=Q.h+l*3|0}}(d&4|0)!=0&&(c=y[y[c+200>>2]+20>>2],(c|0)==(f|0)?(y[b+16>>2]=k,y[b+20>>2]=h,y[b+12>>2]=e):(f=(c+(f+1)|0)>>>1,g=Cc(0,51,y[g>>2]+f|0),i=Cc(0,51,y[i>>2]+f|0),y[b+16>>2]=A[Q.f+g|0]&255,y[b+20>>2]=A[Q.g+i|0]&255,y[b+12>>2]=Q.h+g*3|0))}Uf.X=1;function Vf(b,c,d,f){for(var g,e=d+24|0,i=d+12|0,h=f<<2,k=0,l=0;;){var j=h*l|0,n=b+j|0,p=j+(b+4)|0,r=j+(b+8)|0,j=j+(b+12)|0,o=l<<2,t=c+(o<<3)|0,s=o|1,u=c+(s<<3)+4|0,w=o|2;g=c+(w<<3)+4|0;var v=o|3,z=c+(v<<3)+4|0,s=c+(s<<3)|0,w=c+(w<<3)|0,v=c+(v<<3)|0,o=y[c+(o<<3)+4>>2];(o|0)!=0&&ag(n,o,i,f);u=y[u>>2];(u|0)!=0&&ag(p,u,e,f);g=y[g>>2];(g|0)!=0&&ag(r,g,e,f);z=y[z>>2];(z|0)!=0&&ag(j,z,e,f);t=y[t>>2];z=y[s>>2];(t|0)==(z|0)?(g=y[w>>2],(z|0)!=(g|0)?g=14:(g|0)!=(y[v>>2]|0)?g=14:((t|0)!=0&&bg(n,t,d+k*12|0,f),g=22)):g=14;g==14&&((t|0)==0?n=z:(cg(n,t,d+k*12|0,f),n=y[s>>2]),(n|0)!=0&&cg(p,n,d+k*12|0,f),p=y[w>>2],(p|0)!=0&&cg(r,p,d+k*12|0,f),r=y[v>>2],(r|0)!=0&&cg(j,r,d+k*12|0,f));l=l+1|0;if((l|0)==4){break}k=2}}Vf.X=1;function Wf(b,c,d,f){var g=c+20|0,e=F[Ad+(Cc(0,51,y[g>>2]+f|0)<<2)>>2],i=c+12|0,h=Cc(0,51,y[i>>2]+e|0),k=c+16|0,l=Cc(0,51,y[k>>2]+e|0),j=A[Q.f+h|0]&255;y[b+28>>2]=j;l=A[Q.g+l|0]&255;y[b+32>>2]=l;h=Q.h+h*3|0;y[b+24>>2]=h;if((d&2|0)!=0){var n=y[y[c+204>>2]+20>>2];if((n|0)==(y[g>>2]|0)){y[b+4>>2]=j,y[b+8>>2]=l,y[b>>2]=h}else{var p=(e+1+y[Ad+(Cc(0,51,n+f|0)<<2)>>2]|0)>>>1,n=Cc(0,51,p+y[i>>2]|0),p=Cc(0,51,y[k>>2]+p|0);y[b+4>>2]=A[Q.f+n|0]&255;y[b+8>>2]=A[Q.g+p|0]&255;y[b>>2]=Q.h+n*3|0}}(d&4|0)!=0&&(c=y[y[c+200>>2]+20>>2],(c|0)==(y[g>>2]|0)?(y[b+16>>2]=j,y[b+20>>2]=l,y[b+12>>2]=h):(f=(e+1+y[Ad+(Cc(0,51,c+f|0)<<2)>>2]|0)>>>1,i=Cc(0,51,f+y[i>>2]|0),k=Cc(0,51,y[k>>2]+f|0),y[b+16>>2]=A[Q.f+i|0]&255,y[b+20>>2]=A[Q.g+k|0]&255,y[b+12>>2]=Q.h+i*3|0))}Wf.X=1;function Xf(b,c,d,f,g){for(var e,i=f+24|0,h=f+12|0,k=g<<2,l=g<<1,j=l+4|0,n=0,p=0;;){var r=k*n|0,o=b+r|0,t=l+r|0,s=b+t|0,u=r+4|0,w=b+u|0,v=r|2,z=b+v|0,B=r+6|0,D=b+B|0,C=j+r|0,E=b+C|0,r=c+r|0;e=c+t|0;var u=c+u|0,v=c+v|0,B=c+B|0,G=c+C|0,C=n<<3,H=d+(C<<3)+4|0,K=d+(C<<3)|0,L=d+((C|4)<<3)+4|0,t=C|2,N=d+(t<<3)+4|0,O=d+((C|6)<<3)+4|0,R=d+((C|1)<<3)|0,t=d+(t<<3)|0,C=d+((C|3)<<3)|0,U=y[H>>2];(U|0)!=0&&(dg(o,U,h,g),dg(r,y[H>>2],h,g));H=y[L>>2];(H|0)!=0&&(dg(s,H,h,g),dg(e,y[L>>2],h,g));s=y[N>>2];(s|0)!=0&&(dg(w,s,i,g),dg(u,y[N>>2],i,g));s=y[O>>2];(s|0)!=0&&(dg(E,s,i,g),dg(G,y[O>>2],i,g));E=y[K>>2];s=y[R>>2];(E|0)==(s|0)?(e=y[t>>2],(s|0)!=(e|0)?e=14:(e|0)!=(y[C>>2]|0)?e=14:((E|0)!=0&&(e=f+p*12|0,eg(o,E,e,g),eg(r,y[K>>2],e,g)),e=22)):e=14;e==14&&((E|0)==0?o=s:(s=f+p*12|0,fg(o,E,s,g),fg(r,y[K>>2],s,g),o=y[R>>2]),(o|0)!=0&&(r=f+p*12|0,fg(z,o,r,g),fg(v,y[R>>2],r,g)),z=y[t>>2],(z|0)!=0&&(o=f+p*12|0,fg(w,z,o,g),fg(u,y[t>>2],o,g)),w=y[C>>2],(w|0)!=0&&(p=f+p*12|0,fg(D,w,p,g),fg(B,y[C>>2],p,g)));n=n+1|0;if((n|0)==2){break}p=2}}Xf.X=1;function dg(b,c,d,f){var g=b-1|0,e=A[b+1|0],i=A[g]&255,h=A[b]&255,k=Bc(i-h|0),l=d+4|0;if(k>>>0>2]>>>0){var k=A[b-2|0]&255,j=Bc(k-i|0),n=F[d+8>>2];j>>>0>>0&&(e&=255,Bc(e-h|0)>>>0>>0&&(c>>>0<4?(n=A[y[d>>2]+(c-1)|0]&255,k=Cc(n^-1,n+1|0,4-e+(h-i<<2)+k>>3),h=q[Q.a+((h|512)-k)|0],q[g]=q[Q.a+((i|512)+k)|0],q[b]=h):(q[g]=(e+(i+2)+(k<<1)|0)>>>2&255,q[b]=(h+2+(e<<1)+k|0)>>>2&255)))}g=b+f|0;i=b+(f-1)|0;e=A[f+(b+1)|0];h=A[i]&255;k=A[g]&255;Bc(h-k|0)>>>0>2]>>>0&&(b=A[b+(f-2)|0]&255,l=Bc(b-h|0),f=F[d+8>>2],l>>>0>>0&&(l=e&255,Bc(l-k|0)>>>0>>0&&(c>>>0<4?(c=A[y[d>>2]+(c-1)|0]&255,c=Cc(c^-1,c+1|0,4-l+(k-h<<2)+b>>3),d=q[Q.a+((k|512)-c)|0],q[i]=q[Q.a+((h|512)+c)|0],q[g]=d):(q[i]=(l+(h+2)+(b<<1)|0)>>>2&255,q[g]=(k+2+(l<<1)+b|0)>>>2&255))))}dg.X=1;function eg(b,c,d,f){var g=c>>>0<4;a:do{if(g){var e=A[y[d>>2]+(c-1)|0]&255,i=e+1|0,h=d+4|0,k=d+8|0;e^=-1;for(var l=f*-2|0,j=0;;){var n=b+(j-f)|0,p=b+j|0,r=A[b+(j+f)|0],o=A[n]&255,t=A[p]&255;if(Bc(o-t|0)>>>0>2]>>>0){var s=A[b+(l+j)|0]&255,u=Bc(s-o|0),w=F[k>>2];u>>>0>>0&&(r&=255,Bc(r-t|0)>>>0>>0&&(s=Cc(e,i,4-r+(t-o<<2)+s>>3),t=q[Q.a+((t|512)-s)|0],q[n]=q[Q.a+((o|512)+s)|0],q[p]=t))}j=j+1|0;if((j|0)==8){break a}}}else{i=d+4|0;h=d+8|0;k=f*-2|0;for(e=0;;){if(l=b+(e-f)|0,j=b+e|0,s=A[b+(e+f)|0],n=A[l]&255,p=A[j]&255,Bc(n-p|0)>>>0>2]>>>0&&(o=A[b+(k+e)|0]&255,w=Bc(o-n|0),t=F[h>>2],w>>>0>>0&&(s&=255,Bc(s-p|0)>>>0>>0&&(q[l]=(s+(n+2)+(o<<1)|0)>>>2&255,q[j]=(p+2+(s<<1)+o|0)>>>2&255))),e=e+1|0,(e|0)==8){break a}}}}while(0)}eg.X=1;function fg(b,c,d,f){var g=A[y[d>>2]+(c-1)|0]&255,c=g+1|0,e=d+4|0,i=d+8|0,d=g^-1,g=f*-2|0,h=b+ -f|0,k=A[b+f|0],l=A[h]&255,j=A[b]&255,n=Bc(l-j|0),p=F[e>>2];if(n>>>0>>0){var n=A[b+g|0]&255,r=Bc(n-l|0),o=F[i>>2];r>>>0>>0&&(k&=255,Bc(k-j|0)>>>0>>0&&(p=Cc(d,c,4-k+(j-l<<2)+n>>3),j=q[Q.a+((j|512)-p)|0],q[h]=q[Q.a+((l|512)+p)|0],q[b]=j,p=y[e>>2]))}e=b+(1-f)|0;h=b+1|0;j=A[f+(b+1)|0];f=A[e]&255;l=A[h]&255;Bc(f-l|0)>>>0>>0&&(b=A[b+(g|1)|0]&255,g=Bc(b-f|0),i=F[i>>2],g>>>0>>0&&(g=j&255,Bc(g-l|0)>>>0>>0&&(c=Cc(d,c,4-g+(l-f<<2)+b>>3),d=q[Q.a+((l|512)-c)|0],q[e]=q[Q.a+((f|512)+c)|0],q[h]=d)))}fg.X=1;function ag(b,c,d,f){var g=F[d+4>>2],e=F[d+8>>2],i=c>>>0<4;a:do{if(i){for(var h=A[y[d>>2]+(c-1)|0]&255,k=-h|0,l=h+1|0,j=0;;){var n=j*f|0,p=b+(n-2)|0,r=b+(n-1)|0,o=n+(b+1)|0,t=b+(n-3)|0,s=n+(b+2)|0,n=b+n|0,u=A[p]&255,w=A[r]&255,v=A[n]&255,z=A[o]&255;Bc(w-v|0)>>>0>>0&&Bc(u-w|0)>>>0>>0&&Bc(z-v|0)>>>0>>0&&(t=A[t]&255,s=A[s]&255,Bc(t-w|0)>>>0>>0?(q[p]=Cc(k,h,(v+(w+1)>>1)-(u<<1)+t>>1)+u&255,p=l):p=h,Bc(s-v|0)>>>0>>0?(q[o]=Cc(k,h,(v+(w+1)>>1)-(z<<1)+s>>1)+z&255,o=p+1|0):o=p,o=Cc(-o|0,o,u+4-z+(v-w<<2)>>3),v=q[Q.a+((v|512)-o)|0],q[r]=q[Q.a+((w|512)+o)|0],q[n]=v);j=j+1|0;if((j|0)==4){break a}}}else{h=(g>>>2)+2|0;for(k=0;;){var u=k*f|0,n=b+(u-2)|0,w=b+(u-1)|0,l=u+(b+1)|0,v=b+(u-3)|0,j=u+(b+2)|0,o=b+(u-4)|0,r=u+(b+3)|0,u=b+u|0,z=A[n]&255,s=A[w]&255,t=A[u]&255,B=A[l]&255,D=Bc(s-t|0),C=D>>>0>>0;b:do{if(C&&Bc(z-s|0)>>>0>>0&&Bc(B-t|0)>>>0>>0){var E=D>>>0>>0,G=A[v]&255,p=A[j]&255;do{if(E){if(Bc(G-s|0)>>>0>>0){E=s+z+t|0,q[w]=(B+4+(E<<1)+G|0)>>>3&255,q[n]=(G+(E+2)|0)>>>2&255,q[v]=(E+4+G*3+((A[o]&255)<<1)|0)>>>3&255}else{if(q[w]=(s+2+(z<<1)+B|0)>>>2&255,!E){break}}if(Bc(p-t|0)>>>0>=e>>>0){break}n=t+s+B|0;q[u]=(z+4+(n<<1)+p|0)>>>3&255;q[l]=(p+(n+2)|0)>>>2&255;q[j]=(n+4+p*3+((A[r]&255)<<1)|0)>>>3&255;break b}q[w]=(s+2+(z<<1)+B|0)>>>2&255}while(0);q[u]=(t+(z+2)+(B<<1)|0)>>>2&255}}while(0);k=k+1|0;if((k|0)==4){break a}}}}while(0)}ag.X=1;function bg(b,c,d,f){var g=F[d+4>>2],e=F[d+8>>2],i=c>>>0<4;a:do{if(i){for(var h=A[y[d>>2]+(c-1)|0]&255,k=-h|0,l=h+1|0,j=f*-2|0,n=f*-3|0,p=f<<1,r=0;;){var o=b+(j+r)|0,t=b+(r-f)|0,s=b+(r+f)|0,u=b+(n+r)|0,w=b+(p+r)|0,v=b+r|0,z=A[o]&255,B=A[t]&255,D=A[v]&255,C=A[s]&255;Bc(B-D|0)>>>0>>0&&Bc(z-B|0)>>>0>>0&&Bc(C-D|0)>>>0>>0&&(u=A[u]&255,Bc(u-B|0)>>>0>>0?(q[o]=Cc(k,h,(D+(B+1)>>1)-(z<<1)+u>>1)+z&255,o=l):o=h,w=A[w]&255,Bc(w-D|0)>>>0>>0?(q[s]=Cc(k,h,(D+(B+1)>>1)-(C<<1)+w>>1)+C&255,s=o+1|0):s=o,z=Cc(-s|0,s,z+4-C+(D-B<<2)>>3),D=q[Q.a+((D|512)-z)|0],q[t]=q[Q.a+((B|512)+z)|0],q[v]=D);r=r+1|0;if((r|0)==16){break a}}}else{h=(g>>>2)+2|0;k=f*-3|0;l=f*3|0;j=f*-2|0;n=f<<1;p=f*-4|0;for(r=0;;){var s=b+(j+r)|0,w=b+(r-f)|0,t=b+(r+f)|0,o=b+(k+r)|0,v=b+(n+r)|0,u=b+(p+r)|0,B=b+(l+r)|0,D=b+r|0,z=A[s]&255,E=A[w]&255,G=A[D]&255,H=A[t]&255,K=Bc(E-G|0),L=K>>>0>>0;b:do{if(L&&Bc(z-E|0)>>>0>>0&&Bc(H-G|0)>>>0>>0){var N=K>>>0>>0,O=A[o]&255,C=A[v]&255;do{if(N){if(Bc(O-E|0)>>>0>>0){N=E+z+G|0,q[w]=(H+4+(N<<1)+O|0)>>>3&255,q[s]=(O+(N+2)|0)>>>2&255,q[o]=(N+4+O*3+((A[u]&255)<<1)|0)>>>3&255}else{if(q[w]=(E+2+(z<<1)+H|0)>>>2&255,!N){break}}if(Bc(C-G|0)>>>0>=e>>>0){break}s=G+E+H|0;q[D]=(z+4+(s<<1)+C|0)>>>3&255;q[t]=(C+(s+2)|0)>>>2&255;q[v]=(s+4+C*3+((A[B]&255)<<1)|0)>>>3&255;break b}q[w]=(E+2+(z<<1)+H|0)>>>2&255}while(0);q[D]=(G+(z+2)+(H<<1)|0)>>>2&255}}while(0);r=r+1|0;if((r|0)==16){break a}}}}while(0)}bg.X=1;function cg(b,c,d,f){for(var c=A[y[d>>2]+(c-1)|0]&255,g=d+4|0,d=d+8|0,e=-c|0,i=c+1|0,h=f*-2|0,k=f*-3|0,l=f<<1,j=0;;){var n=b+(h+j)|0,p=b+(j-f)|0,r=b+(j+f)|0,o=b+(k+j)|0,t=b+(l+j)|0,s=b+j|0,u=A[r],w=A[p]&255,v=A[s]&255;if(Bc(w-v|0)>>>0>2]>>>0){var z=A[n]&255,B=Bc(z-w|0),D=F[d>>2];B>>>0>>0&&(u&=255,Bc(u-v|0)>>>0>>0&&(o=A[o]&255,Bc(o-w|0)>>>0>>0?(q[n]=Cc(e,c,(v+(w+1)>>1)-(z<<1)+o>>1)+z&255,n=i,D=y[d>>2]):n=c,t=A[t]&255,Bc(t-v|0)>>>0>>0?(q[r]=Cc(e,c,(v+(w+1)>>1)-(u<<1)+t>>1)+u&255,r=n+1|0):r=n,z=Cc(-r|0,r,4-u+(v-w<<2)+z>>3),v=q[Q.a+((v|512)-z)|0],q[p]=q[Q.a+((w|512)+z)|0],q[s]=v))}j=j+1|0;if((j|0)==4){break}}}cg.X=1;function Yf(b,c,d,f){return x[b+28+(d<<1)>>1]<<16>>16==0?x[c+28+(f<<1)>>1]<<16>>16!=0?2:(y[b+116+(d>>>2<<2)>>2]|0)!=(y[c+116+(f>>>2<<2)>>2]|0)?1:(Bc((x[b+132+(d<<2)>>1]<<16>>16)-(x[c+132+(f<<2)>>1]<<16>>16)|0)|0)>3?1:(Bc((x[b+132+(d<<2)+2>>1]<<16>>16)-(x[c+132+(f<<2)+2>>1]<<16>>16)|0)|0)>3?1:0:2}function $f(b,c,d){var f=x[b+132+(c<<2)>>1]<<16>>16,g=x[b+132+(d<<2)>>1]<<16>>16,e=x[b+132+(c<<2)+2>>1]<<16>>16,i=x[b+132+(d<<2)+2>>1]<<16>>16;return x[b+28+(c<<1)>>1]<<16>>16==0?x[b+28+(d<<1)>>1]<<16>>16!=0?2:(Bc(f-g|0)|0)>3?1:(Bc(e-i|0)|0)>3?1:(y[b+116+(c>>>2<<2)>>2]|0)!=(y[b+116+(d>>>2<<2)>>2]|0)?1:0:2}function gg(b,c,d){var f,g=F[c+4>>2],e=F[c+8>>2];if(d==5||d==0){f=2}else{if((y[b+3384>>2]|0)==0){var i=0;f=4}else{f=2}}a:do{if(f==2){for(var h=b+1220|0,k=0;;){var l=k+1|0,k=gf(h,k);if(!(l>>>0<16&(k|0)==0)){i=k;break a}k=l}}}while(0);for(var h=b+1212|0,l=b+1176|0,j=F[l>>2],n=0,k=f=0;;){if(f>>>0>=j>>>0){break}if((y[y[h>>2]+f*216+196>>2]|0)!=0){break}f=f+1|0;var n=n+1|0,p=(n|0)==(g|0),k=(p&1)+k|0,n=p?0:n}j=(f|0)==(j|0);a:do{if(j){do{if(d==7||d==2){if((y[b+3384>>2]|0)==0|(i|0)==0){f=13;break}}else{if((i|0)==0){f=13;break}}f=14}while(0);f==13?Pc(y[c>>2],128,g*384*e|0):f==14&&sd(y[c>>2],i,g*384*e|0);f=y[l>>2];y[b+1204>>2]=f;if((f|0)!=0){for(f=0;;){p=f+1|0;y[(y[h>>2]+f*216+8|0)>>2]=1;if(p>>>0>=F[l>>2]>>>0){break a}f=p}}}else{f=F[h>>2];p=(n|0)==0;b:do{if(!p){for(var r=b+1204|0,o=g*k|0,t=n+o|0,s=n-1|0,o=s+o|0,u=0;;){var w=f+(t-u)*216-20|0;hg(f+(o-u)*216|0,c,k,s-u|0,d,i);y[w>>2]=1;y[r>>2]=y[r>>2]+1|0;u=u+1|0;if((u|0)==(n|0)){break b}}}}while(0);p=n+1|0;r=p>>>0>>0;b:do{if(r){t=b+1204|0;s=g-1-n|0;o=p+g*k|0;for(u=0;;){var w=o+u|0,v=f+w*216+196|0;(y[v>>2]|0)==0&&(hg(f+w*216|0,c,k,p+u|0,d,i),y[v>>2]=1,y[t>>2]=y[t>>2]+1|0);u=u+1|0;if((u|0)==(s|0)){break b}}}}while(0);f=(k|0)==0;b:do{if(f){var z=0}else{if((g|0)==0){z=k}else{p=k-1|0;r=b+1204|0;t=-g|0;s=g*p|0;for(o=0;;){u=y[h>>2]+(s+o)*216|0;for(w=0;;){hg(u,c,p-w|0,o,d,i);y[u+196>>2]=1;y[r>>2]=y[r>>2]+1|0;w=w+1|0;if((w|0)==(k|0)){break}u=u+t*216|0}o=o+1|0;if((o|0)==(g|0)){z=k;break b}}}}}while(0);f=z+1|0;if(f>>>0>>0){p=(g|0)==0;r=b+1204|0;t=e-1-z|0;for(s=0;;){o=f+s|0;u=g*o|0;w=y[h>>2];b:do{if(!p){for(v=0;;){var B=u+v|0,D=w+B*216+196|0;(y[D>>2]|0)==0&&(hg(w+B*216|0,c,o,v,d,i),y[D>>2]=1,y[r>>2]=y[r>>2]+1|0);v=v+1|0;if((v|0)==(g|0)){break b}}}}while(0);s=s+1|0;if((s|0)==(t|0)){break a}}}}}while(0);return 0}gg.X=1;function hg(b,c,d,f,g,e){var i=m;m+=452;var h,k=i+384,l=i+448,j=m;m+=24;var n=F[c+4>>2],p=F[c+8>>2];Lc(c,n*d+f|0);var r=c|0,o=F[r>>2],t=d<<4,s=f<<4,u=(d<<8)*n+s|0;y[b+20>>2]=40;y[b+8>>2]=0;y[b>>2]=6;y[b+12>>2]=0;y[b+16>>2]=0;y[b+24>>2]=0;if(g==7||g==2){Pc(i|0,0,384),h=5}else{y[l>>2]=0;y[j+4>>2]=n;y[j+8>>2]=p;y[j>>2]=e;var w=i|0;(e|0)==0?(Pc(w,0,384),h=5):(df(w,l,j,s,t,0,0,16,16),rd(c,w),h=70)}if(h==5){var v=k|0;Pc(k,0,64);if((d|0)==0){var z=0,B=I,D=I,C=I,E=I}else{if((y[b+ -n*216+196>>2]|0)==0){z=0,E=C=D=B=I}else{var G=u-(n<<4)|0,H=G|1,K=G|3,L=(A[o+H|0]&255)+(A[o+G|0]&255)+(A[H+(o+1)|0]&255)+(A[o+K|0]&255)|0,N=G|7,O=(A[K+(o+2)|0]&255)+(A[K+(o+1)|0]&255)+(A[K+(o+3)|0]&255)+(A[o+N|0]&255)|0,R=(A[N+(o+2)|0]&255)+(A[N+(o+1)|0]&255)+(A[N+(o+3)|0]&255)+(A[N+(o+4)|0]&255)|0,U=(A[N+(o+6)|0]&255)+(A[N+(o+5)|0]&255)+(A[N+(o+7)|0]&255)+(A[o+(G|15)|0]&255)|0,Y=O+L|0;y[v>>2]=R+Y+y[v>>2]+U|0;var X=k+4|0;y[X>>2]=Y-R+y[X>>2]-U|0;z=1;B=L;D=O;C=R;E=U}}if((p-1|0)==(d|0)){var ba=0,$=z,ja=I,sa=I,Ea=I,Xa=I}else{if((y[b+n*216+196>>2]|0)==0){ba=0,$=z,Xa=Ea=sa=ja=I}else{var ea=u+(n<<8)|0,fa=ea|1,va=ea|3,ob=(A[o+fa|0]&255)+(A[o+ea|0]&255)+(A[fa+(o+1)|0]&255)+(A[o+va|0]&255)|0,wa=ea|7,pb=(A[va+(o+2)|0]&255)+(A[va+(o+1)|0]&255)+(A[va+(o+3)|0]&255)+(A[o+wa|0]&255)|0,gb=(A[wa+(o+2)|0]&255)+(A[wa+(o+1)|0]&255)+(A[wa+(o+3)|0]&255)+(A[wa+(o+4)|0]&255)|0,Ib=(A[wa+(o+6)|0]&255)+(A[wa+(o+5)|0]&255)+(A[wa+(o+7)|0]&255)+(A[o+(ea|15)|0]&255)|0,Fa=pb+ob|0;y[v>>2]=gb+Fa+y[v>>2]+Ib|0;var qb=k+4|0;y[qb>>2]=Fa-gb+y[qb>>2]-Ib|0;ba=1;$=z+1|0;ja=ob;sa=pb;Ea=gb;Xa=Ib}}if((f|0)==0){var Ya=$,Na=0,za=I,da=I,Oa=I,Za=I}else{if((y[b-216+196>>2]|0)==0){Ya=$,Na=0,Za=Oa=da=za=I}else{var Aa=u-1|0,hb=n<<4,Ga=n<<5,Pa=n*48|0,$a=(A[o+(Aa+hb)|0]&255)+(A[o+Aa|0]&255)+(A[o+(Aa+Ga)|0]&255)+(A[o+(Aa+Pa)|0]&255)|0,Ab=n<<6,cb=Aa+Ab|0,rb=(A[o+(cb+hb)|0]&255)+(A[o+cb|0]&255)+(A[o+(cb+Ga)|0]&255)+(A[o+(cb+Pa)|0]&255)|0,Qa=cb+Ab|0,pa=(A[o+(Qa+hb)|0]&255)+(A[o+Qa|0]&255)+(A[o+(Qa+Ga)|0]&255)+(A[o+(Qa+Pa)|0]&255)|0,ia=Qa+Ab|0,qa=(A[o+(ia+hb)|0]&255)+(A[o+ia|0]&255)+(A[o+(ia+Ga)|0]&255)+(A[o+(ia+Pa)|0]&255)|0,Ra=rb+$a|0;y[v>>2]=pa+Ra+y[v>>2]+qa|0;var ra=k+16|0;y[ra>>2]=Ra-pa+y[ra>>2]-qa|0;Ya=$+1|0;Na=1;za=$a;da=rb;Oa=pa;Za=qa}}if((n-1|0)==(f|0)){h=16}else{if((y[b+412>>2]|0)==0){h=16}else{var ib=u+16|0,sb=n<<4,jb=n<<5,db=n*48|0,Sa=(A[o+(ib+sb)|0]&255)+(A[o+ib|0]&255)+(A[o+(ib+jb)|0]&255)+(A[o+(ib+db)|0]&255)|0,kb=n<<6,ta=ib+kb|0,Bb=(A[o+(ta+sb)|0]&255)+(A[o+ta|0]&255)+(A[o+(ta+jb)|0]&255)+(A[o+(ta+db)|0]&255)|0,Ha=ta+kb|0,ya=(A[o+(Ha+sb)|0]&255)+(A[o+Ha|0]&255)+(A[o+(Ha+jb)|0]&255)+(A[o+(Ha+db)|0]&255)|0,xa=Ha+kb|0,Ba=(A[o+(xa+sb)|0]&255)+(A[o+xa|0]&255)+(A[o+(xa+jb)|0]&255)+(A[o+(xa+db)|0]&255)|0,Ca=Ya+1|0,Ta=Na+1|0,lb=Bb+Sa|0;y[v>>2]=ya+lb+y[v>>2]+Ba|0;var Jb=k+16|0,eb=lb-ya+y[Jb>>2]-Ba|0;y[Jb>>2]=eb;var Da=($|0)!=0;if(Da|(Na|0)==0){if(Da){var Ia=1,mb=Ca,Ua=Ta;h=20}else{Ja=Ta,Ka=Ca,Cb=1,Db=eb,h=25}}else{y[k+4>>2]=Oa+Za+da+za-Sa-Bb-ya-Ba>>5;var Ja=Ta,Ka=Ca,Cb=1,Db=eb;h=25}}}if(h==16){if(($|0)==0){var Eb=Na,tb=Ya,Va=0;h=21}else{Ia=0,mb=Ya,Ua=Na,h=20}}h==20&&(y[(k+4|0)>>2]>>=$+3,Eb=Ua,tb=mb,Va=Ia,h=21);if(h==21){var fb=(Eb|0)!=0;if(fb|(z|0)==0|(ba|0)==0){if(fb){Ja=Eb,Ka=tb,Cb=Va,Db=y[k+16>>2],h=25}else{var ub=Va,nb=tb;h=26}}else{y[k+16>>2]=C+E+D+B-Xa-Ea-sa-ja>>5,ub=Va,nb=tb,h=26}}h==25&&(y[k+16>>2]=Db>>Ja+3,ub=Cb,nb=Ka);nb==1?y[v>>2]>>=4:nb==2?y[v>>2]>>=5:nb==3?y[v>>2]=y[v>>2]*21>>10:y[v>>2]>>=6;ig(v);var Fb=i|0,Qb=0,wb=Fb,Lb=0;a:for(;;){for(var Rb=Lb<<2,Wb=Qb+1|0,Tb=0;;){var Xb=Tb+1|0,Vb=Wb+Tb|0,Yb=Qb+Tb|0;if(Yb>>>0>=256){break a}var fc=F[k+((Rb|Yb>>>2&3)<<2)>>2];q[wb+Tb|0]=(fc|0)<0?0:(fc|0)>255?-1:fc&255;if((Vb&63|0)==0){break}Tb=Xb}Qb=Vb;wb=wb+Xb|0;Lb=Lb+1|0}for(var ga=F[r>>2],pc=(z|0)!=0,Ub=k+4|0,Fc=(ba|0)!=0,Fg=(Na|0)!=0,qc=k+16|0,Gg=(ub|0)!=0,Yh=Fg^1,Zh=Gg^1,$h=pc^1,ai=Fc^1,bi=p*n<<6,Zb=(p<<8)+(d<<6)|0,$b=f<<3,hc=n*(Zb-8)+$b|0,ic=n*(Zb+64)+$b|0,Hg=n*Zb+$b|0,ci=Hg-1|0,di=Hg+8|0,Ig=n*(Zb|8)+$b|0,ei=Ig+8|0,Jg=n*(Zb|16)+$b|0,fi=Jg+8|0,Kg=n*(Zb|24)+$b|0,gi=Kg+8|0,Lg=n*(Zb|32)+$b|0,hi=Lg+8|0,Mg=n*(Zb|40)+$b|0,ii=Mg+8|0,Ng=n*(Zb|48)+$b|0,ji=Ng+8|0,Og=n*(Zb|56)+$b|0,ki=Og+8|0,li=Ig-1|0,mi=Jg-1|0,ni=Kg-1|0,oi=Lg-1|0,pi=Mg-1|0,qi=Ng-1|0,ri=Og-1|0,si=ic|1,ti=ic|2,ui=ic|3,vi=ic|4,wi=ic|5,xi=ic|6,yi=ic|7,zi=hc|1,Ai=hc|2,Bi=hc|3,Ci=hc|4,Di=hc|5,Ei=hc|6,Fi=hc|7,Pg=Za,Qg=Oa,Rg=da,Sg=za,Tg=Xa,Ug=Ea,Vg=sa,Wg=ja,Xg=E,Yg=C,Zg=D,$g=B,Yc=0;;){var Gi=i+((Yc<<6)+256)|0,la=bi*Yc|0,Hi=ga+(ic+la)|0,Ii=ga+(ci+la)|0,Ji=ga+(di+la)|0,Ki=ga+(ei+la)|0,Li=ga+(fi+la)|0,Mi=ga+(gi+la)|0,Ni=ga+(hi+la)|0,Oi=ga+(ii+la)|0,Pi=ga+(ji+la)|0,Qi=ga+(ki+la)|0,Ri=ga+(li+la)|0,Si=ga+(mi+la)|0,Ti=ga+(ni+la)|0,Ui=ga+(oi+la)|0,Vi=ga+(pi+la)|0,Wi=ga+(qi+la)|0,Xi=ga+(ri+la)|0,Yi=ga+(si+la)|0,Zi=ga+(ti+la)|0,$i=ga+(ui+la)|0,aj=ga+(vi+la)|0,bj=ga+(wi+la)|0,cj=ga+(xi+la)|0,dj=ga+(yi+la)|0;Pc(k,0,64);if(pc){var ah=(A[ga+(zi+la)|0]&255)+(A[ga+(hc+la)|0]&255)|0,bh=(A[ga+(Bi+la)|0]&255)+(A[ga+(Ai+la)|0]&255)|0,Ed=(A[ga+(Di+la)|0]&255)+(A[ga+(Ci+la)|0]&255)|0,Fd=(A[ga+(Fi+la)|0]&255)+(A[ga+(Ei+la)|0]&255)|0,ch=bh+ah|0;y[v>>2]=Ed+ch+y[v>>2]+Fd|0;y[Ub>>2]=ch-Ed+y[Ub>>2]-Fd|0;var Gd=1,Hd=ah,Id=bh,Jd=Ed,Kd=Fd}else{Gd=0,Hd=$g,Id=Zg,Jd=Yg,Kd=Xg}if(Fc){var dh=(A[Yi]&255)+(A[Hi]&255)|0,eh=(A[$i]&255)+(A[Zi]&255)|0,Ld=(A[bj]&255)+(A[aj]&255)|0,Md=(A[dj]&255)+(A[cj]&255)|0,fh=eh+dh|0;y[v>>2]=Ld+fh+y[v>>2]+Md|0;y[Ub>>2]=fh-Ld+y[Ub>>2]-Md|0;var yc=Gd+1|0,Nd=dh,Od=eh,Pd=Ld,Qd=Md}else{yc=Gd,Nd=Wg,Od=Vg,Pd=Ug,Qd=Tg}if(Fg){var gh=(A[Ri]&255)+(A[Ii]&255)|0,hh=(A[Ti]&255)+(A[Si]&255)|0,Rd=(A[Vi]&255)+(A[Ui]&255)|0,Sd=(A[Xi]&255)+(A[Wi]&255)|0,ih=hh+gh|0;y[v>>2]=Rd+ih+y[v>>2]+Sd|0;y[qc>>2]=ih-Rd+y[qc>>2]-Sd|0;var Zc=yc+1|0,$c=1,Td=gh,Ud=hh,Vd=Rd,Wd=Sd}else{Zc=yc,$c=0,Td=Sg,Ud=Rg,Vd=Qg,Wd=Pg}if(Gg){var jh=(A[Ki]&255)+(A[Ji]&255)|0,kh=(A[Mi]&255)+(A[Li]&255)|0,Xd=(A[Oi]&255)+(A[Ni]&255)|0,Yd=(A[Qi]&255)+(A[Pi]&255)|0,Zd=Zc+1|0,$d=$c+1|0,lh=kh+jh|0;y[v>>2]=Xd+lh+y[v>>2]+Yd|0;var ae=lh-Xd+y[qc>>2]-Yd|0;y[qc>>2]=ae;var mh=(yc|0)!=0;if(mh|Yh|Zh){if(mh){var nh=Zd,oh=$d;h=50}else{be=$d,ce=Zd,de=ae,h=55}}else{y[Ub>>2]=Vd+Wd+Ud+Td-jh-kh-Xd-Yd>>4;var be=$d,ce=Zd,de=ae;h=55}}else{if((yc|0)==0){var ee=$c,ad=Zc;h=51}else{nh=Zc,oh=$c,h=50}}h==50&&(y[Ub>>2]>>=yc+2,ee=oh,ad=nh,h=51);if(h==51){var ph=(ee|0)!=0;if(ph|$h|ai){if(ph){be=ee,ce=ad,de=y[qc>>2],h=55}else{var Jc=ad;h=56}}else{y[qc>>2]=Jd+Kd+Id+Hd-Qd-Pd-Od-Nd>>4,Jc=ad,h=56}}h==55&&(y[qc>>2]=de>>be+2,Jc=ce);Jc==1?y[v>>2]>>=3:Jc==2?y[v>>2]>>=4:Jc==3?y[v>>2]=y[v>>2]*21>>9:y[v>>2]>>=5;ig(v);var fe=0,ge=Gi,he=0;a:for(;;){for(var ej=he<<2,fj=fe+1|0,Kc=0;;){var qh=Kc+1|0,rh=fj+Kc|0,sh=fe+Kc|0;if(sh>>>0>=64){break a}var ie=F[k+((ej|sh>>>1&3)<<2)>>2];q[ge+Kc|0]=(ie|0)<0?0:(ie|0)>255?-1:ie&255;if((rh&15|0)==0){break}Kc=qh}fe=rh;ge=ge+qh|0;he=he+1|0}var th=Yc+1|0;if((th|0)==2){break}Pg=Wd;Qg=Vd;Rg=Ud;Sg=Td;Tg=Qd;Ug=Pd;Vg=Od;Wg=Nd;Xg=Kd;Yg=Jd;Zg=Id;$g=Hd;Yc=th}rd(c,Fb)}m=i}hg.X=1;function ig(b){var c=b+4|0,d=y[c>>2],f=b+16|0,g=y[f>>2],e=y[b>>2];if((d|g|0)==0){y[b+60>>2]=e,y[b+56>>2]=e,y[b+52>>2]=e,y[b+48>>2]=e,y[b+44>>2]=e,y[b+40>>2]=e,y[b+36>>2]=e,y[b+32>>2]=e,y[b+28>>2]=e,y[b+24>>2]=e,y[b+20>>2]=e,y[f>>2]=e,y[b+12>>2]=e,y[b+8>>2]=e,y[c>>2]=e}else{var i=d+e|0,h=d>>1,k=h+e|0,h=e-h|0,d=e-d|0;y[b>>2]=g+i|0;e=g>>1;y[f>>2]=e+i|0;y[(b+32|0)>>2]=i-e|0;y[(b+48|0)>>2]=i-g|0;y[c>>2]=g+k|0;y[(b+20|0)>>2]=e+k|0;y[(b+36|0)>>2]=k-e|0;y[(b+52|0)>>2]=k-g|0;y[(b+8|0)>>2]=g+h|0;y[(b+24|0)>>2]=e+h|0;y[(b+40|0)>>2]=h-e|0;y[(b+56|0)>>2]=h-g|0;y[(b+12|0)>>2]=g+d|0;y[(b+28|0)>>2]=e+d|0;y[(b+44|0)>>2]=d-e|0;y[(b+60|0)>>2]=d-g|0}}ig.X=1;function jg(b,c,d,f){var g,e=(y[d+284>>2]|0)==0;a:do{if(e){var i=0}else{for(i=0;;){var h=y[d+288+i*20>>2];if(h==0){i=0;break a}else{if(h==5){break}}i=i+1|0}i=1}}while(0);e=y[c+16>>2];do{if(e==0){if((y[f>>2]|0)==5){y[b+4>>2]=0;var k=y[b>>2]=0}else{k=y[b>>2]}var l=d+20|0,j=F[l>>2],h=b|0;if(j>>>0>>0){if(g=F[c+20>>2],(k-j|0)>>>0>>1>>>0){g=11}else{var n=y[b+4>>2]+g|0;g=15}}else{g=11}a:do{if(g==11){n=j>>>0>k>>>0;do{if(n){var p=F[c+20>>2];if((j-k|0)>>>0>p>>>1>>>0){n=y[b+4>>2]-p|0;break a}}}while(0);n=y[b+4>>2]}}while(0);k=f+4|0;(y[k>>2]|0)==0?(h=y[d+24>>2],h=j+n+((h|0)<0?h:0)|0):(j=b+4|0,y[j>>2]=n,l=y[l>>2],g=d+24|0,p=y[g>>2],p=l+n+((p|0)<0?p:0)|0,(y[k>>2]|0)==0?h=p:(i|0)==0?(y[h>>2]=l,h=p):(y[j>>2]=0,l=y[g>>2],y[h>>2]=(l|0)<0?-l|0:0,h=0))}else{if(e==1){(y[f>>2]|0)==5?h=0:(h=y[b+12>>2],h=F[b+8>>2]>>>0>F[d+12>>2]>>>0?y[c+12>>2]+h|0:h);var p=F[c+36>>2],r=(p|0)==0,j=r?0:y[d+12>>2]+h|0,k=(l=(y[f+4>>2]|0)==0)?(((j|0)!=0)<<31>>31)+j|0:j;(j=(k|0)!=0)?(g=k-1|0,k=(g>>>0)%(p>>>0),g=Math.floor((g>>>0)/(p>>>0))):g=k=I;a:do{if(r){var o=0}else{for(var t=y[c+40>>2],s=p>>>0>1?p:1,u=0,w=0;;){if(w=y[t+(u<<2)>>2]+w|0,u=u+1|0,(u|0)==(s|0)){o=w;break a}}}}while(0);a:do{if(j){p=y[c+40>>2];t=o*g|0;for(s=0;;){r=s+1|0;t=y[p+(s<<2)>>2]+t|0;if(r>>>0>k>>>0){var v=t;break a}s=r}}else{v=0}}while(0);j=l?y[c+28>>2]+v|0:v;k=y[d+32>>2]+y[c+32>>2]|0;l=b+12|0;(i|0)==0?(j=((k|0)<0?k:0)+j+y[d+28>>2]|0,y[l>>2]=h,y[b+8>>2]=y[d+12>>2],h=j):(y[l>>2]=0,h=y[b+8>>2]=0)}else{(y[f>>2]|0)==5?(j=l=0,h=b+12|0):(l=F[d+12>>2],h=b+12|0,j=y[h>>2],j=F[b+8>>2]>>>0>l>>>0?y[c+12>>2]+j|0:j,l=l+j<<1,l=(y[f+4>>2]|0)!=0?l:l-1|0),(i|0)==0?(y[h>>2]=j,y[b+8>>2]=y[d+12>>2],h=l):(y[h>>2]=0,h=y[b+8>>2]=0)}}}while(0);return h}jg.X=1;function Rc(b,c){var d;Pc(c,0,952);var f=S(b,1),g=(f|0)==-1;a:do{if(g){d=1}else{d=(f|0)==1;y[c>>2]=d&1;do{if(d){var e=S(b,8);if((e|0)==-1){d=1;break a}y[c+4>>2]=e;if((e|0)==255){e=S(b,16);if((e|0)==-1){d=1;break a}y[c+8>>2]=e;e=S(b,16);if((e|0)==-1){d=1;break a}y[c+12>>2]=e}}}while(0);d=S(b,1);if((d|0)==-1){d=1}else{d=(d|0)==1;y[c+16>>2]=d&1;if(d){d=S(b,1);if((d|0)==-1){d=1;break}y[c+20>>2]=(d|0)==1&1}d=S(b,1);if((d|0)==-1){d=1}else{d=(d|0)==1;y[c+24>>2]=d&1;if(d){d=S(b,3);if((d|0)==-1){d=1;break}y[c+28>>2]=d;d=S(b,1);if((d|0)==-1){d=1;break}y[c+32>>2]=(d|0)==1&1;d=S(b,1);if((d|0)==-1){d=1;break}d=(d|0)==1;y[c+36>>2]=d&1;if(d){d=S(b,8);if((d|0)==-1){d=1;break}y[c+40>>2]=d;d=S(b,8);if((d|0)==-1){d=1;break}y[c+44>>2]=d;d=S(b,8);if((d|0)==-1){d=1;break}y[c+48>>2]=d}else{y[c+40>>2]=2,y[c+44>>2]=2,y[c+48>>2]=2}}else{y[c+28>>2]=5,y[c+40>>2]=2,y[c+44>>2]=2,y[c+48>>2]=2}d=S(b,1);if((d|0)==-1){d=1}else{d=(d|0)==1;y[c+52>>2]=d&1;if(d){d=c+56|0;e=T(b,d);if((e|0)!=0){d=e;break}if(F[d>>2]>>>0>5){d=1;break}d=c+60|0;e=T(b,d);if((e|0)!=0){d=e;break}if(F[d>>2]>>>0>5){d=1;break}}d=S(b,1);if((d|0)==-1){d=1}else{d=(d|0)==1;y[c+64>>2]=d&1;if(d){d=id(b);if((od(b,32)|0)==-1|(d|0)==0){d=1;break}y[c+68>>2]=d;d=id(b);if((od(b,32)|0)==-1|(d|0)==0){d=1;break}y[c+72>>2]=d;d=S(b,1);if((d|0)==-1){d=1;break}y[c+76>>2]=(d|0)==1&1}d=S(b,1);if((d|0)==-1){d=1}else{e=(d|0)==1;d=c+80|0;y[d>>2]=e&1;if(e){if(e=kg(b,c+84|0),(e|0)!=0){d=e;break}}else{y[c+84>>2]=1,y[c+96>>2]=288000001,y[c+224>>2]=288000001,y[c+480>>2]=24,y[c+484>>2]=24,y[c+488>>2]=24,y[c+492>>2]=24}e=S(b,1);if((e|0)==-1){d=1}else{var i=(e|0)==1,e=c+496|0;y[e>>2]=i&1;if(i){if(i=kg(b,c+500|0),(i|0)!=0){d=i;break}}else{y[c+500>>2]=1,y[c+512>>2]=240000001,y[c+640>>2]=240000001,y[c+896>>2]=24,y[c+900>>2]=24,y[c+904>>2]=24,y[c+908>>2]=24}d=(y[d>>2]|0)==0?(y[e>>2]|0)==0?47:45:45;if(d==45){d=S(b,1);if((d|0)==-1){d=1;break}y[c+912>>2]=(d|0)==1&1}d=S(b,1);if((d|0)==-1){d=1}else{if(y[c+916>>2]=(d|0)==1&1,d=S(b,1),(d|0)==-1){d=1}else{d=(d|0)==1;y[c+920>>2]=d&1;if(d){d=S(b,1);if((d|0)==-1){d=1;break}y[c+924>>2]=(d|0)==1&1;d=c+928|0;e=T(b,d);if((e|0)!=0){d=e;break}if(F[d>>2]>>>0>16){d=1;break}d=c+932|0;e=T(b,d);if((e|0)!=0){d=e;break}if(F[d>>2]>>>0>16){d=1;break}d=c+936|0;e=T(b,d);if((e|0)!=0){d=e;break}if(F[d>>2]>>>0>16){d=1;break}d=c+940|0;e=T(b,d);if((e|0)!=0){d=e;break}if(F[d>>2]>>>0>16){d=1;break}d=T(b,c+944|0);if((d|0)!=0){break}d=T(b,c+948|0);if((d|0)!=0){break}}else{y[c+924>>2]=1,y[c+928>>2]=2,y[c+932>>2]=1,y[c+936>>2]=16,y[c+940>>2]=16,y[c+944>>2]=16,y[c+948>>2]=16}d=0}}}}}}}}}}while(0);return d}Rc.X=1;function kg(b,c){var d=c|0,f=T(b,d),g=(f|0)==0;a:do{if(g){var e=y[d>>2]+1|0;y[d>>2]=e;if(e>>>0>32){e=1}else{var i=S(b,4);if((i|0)==-1){e=1}else{e=c+4|0;y[e>>2]=i;var h=S(b,4);if((h|0)==-1){e=1}else{i=c+8|0;y[i>>2]=h;for(h=0;;){var k=c+268+(h<<2)|0,l=c+140+(h<<2)|0,j=c+12+(h<<2)|0;if(h>>>0>=F[d>>2]>>>0){break}var n=T(b,j);if((n|0)!=0){e=n;break a}n=y[j>>2];if((n|0)==-1){e=1;break a}n=n+1|0;y[j>>2]=n;y[j>>2]=n<>2]+6;j=T(b,l);if((j|0)!=0){e=j;break a}j=y[l>>2];if((j|0)==-1){e=1;break a}j=j+1|0;y[l>>2]=j;y[l>>2]=j<>2]+4;l=S(b,1);if((l|0)==-1){e=1;break a}y[k>>2]=(l|0)==1&1;h=h+1|0}e=S(b,5);(e|0)==-1?e=1:(y[c+396>>2]=e+1|0,e=S(b,5),(e|0)==-1?e=1:(y[c+400>>2]=e+1|0,e=S(b,5),(e|0)==-1?e=1:(y[c+404>>2]=e+1|0,e=S(b,5),(e|0)==-1?e=1:(y[c+408>>2]=e,e=0))))}}}}else{e=f}}while(0);return e}kg.X=1;function lg(b,c,d,f,g,e){var b=b+16|0,i=y[b>>2];if((i|0)==0){b=3}else{if((y[i+60>>2]|0)==0){b=3}else{y[c>>2]=1;y[d>>2]=y[y[b>>2]+64>>2]<<1;var h=y[b>>2];y[f>>2]=(y[h+52>>2]<<4)-(y[h+68>>2]+y[h+64>>2]<<1)|0;y[g>>2]=y[y[b>>2]+72>>2]<<1;h=y[b>>2];h=(y[h+56>>2]<<4)-(y[h+76>>2]+y[h+72>>2]<<1)|0;b=4}}b==3&&(y[c>>2]=0,y[d>>2]=0,y[f>>2]=0,h=y[g>>2]=0);y[e>>2]=h}lg.X=1;function mg(b,c,d,f,g){var e=m;m+=204;var i,h=e+4,k=e+12,l=e+104,j=e+176,n=e+196,p=e+200;y[n>>2]=0;var r=b+3344|0;(y[r>>2]|0)==0?i=3:(y[b+3348>>2]|0)!=(c|0)?i=3:(i=b+3356|0,y[j>>2]=y[i>>2],y[j+4>>2]=y[i+4>>2],y[j+8>>2]=y[i+8>>2],y[j+12>>2]=y[i+12>>2],y[j+16>>2]=y[i+16>>2],y[j+4>>2]=y[j>>2],y[j+8>>2]=0,y[j+16>>2]=0,y[g>>2]=y[b+3352>>2],i=5);if(i==3){if((Mc(c,d,j,g)|0)!=0){var o=3;i=58}else{i=b+3356|0,y[i>>2]=y[j>>2],y[i+4>>2]=y[j+4>>2],y[i+8>>2]=y[j+8>>2],y[i+12>>2]=y[j+12>>2],y[i+16>>2]=y[j+16>>2],y[b+3352>>2]=y[g>>2],y[b+3348>>2]=c,i=5}}a:do{if(i==5){y[r>>2]=0;d=j;c=h;if((S(d,1)|0)==-1){c=1}else{var t=S(d,2),o=c+4|0;y[o>>2]=t;d=S(d,5);y[c>>2]=d;c=(d-2|0)>>>0<3?1:(d-7|0)>>>0<2|(d|0)==5&&(y[o>>2]|0)==0?1:(d==12||d==11||d==10||d==9||d==6)&&(y[o>>2]|0)!=0?1:0}if((c|0)!=0){o=3}else{if(c=h|0,o=F[c>>2],(o|0)==0|o>>>0>12){o=0}else{if(o=Ie(j,h,b,n),o==0){o=(y[n>>2]|0)==0;b:do{if(!o){i=(y[b+1184>>2]|0)==0;do{if(!i&&(y[b+16>>2]|0)!=0){if((y[b+3380>>2]|0)!=0){o=3;break a}if((y[b+1188>>2]|0)==0){i=b+1220|0;var s=Jf(i),u=b+1336|0;y[b+1336>>2]=s;Qf(i);gg(b,u,0)}else{gg(b,b+1336|0,y[b+1372>>2])}y[g>>2]=0;y[r>>2]=1;y[b+1180>>2]=0;var s=b+1336|0,u=b+1368|0,w=b+1360|0;i=53;break b}}while(0);y[b+1188>>2]=0;y[b+1180>>2]=0}i=18}while(0);if(i==18){if(w=F[c>>2],w==7){if((Oc(j,k)|0)==0){ze(b,k);o=0;break}b=k+40|0;Ae(y[b>>2]);y[b>>2]=0;b=k+84|0;Ae(y[b>>2]);y[b>>2]=0;o=3;break}else{if(w==8){if((Sc(j,l)|0)==0){Be(b,l);o=0;break}b=l+20|0;Ae(y[b>>2]);y[b>>2]=0;b=l+24|0;Ae(y[b>>2]);y[b>>2]=0;b=l+28|0;Ae(y[b>>2]);y[b>>2]=0;b=l+44|0;Ae(y[b>>2]);y[b>>2]=0;o=3;break}else{if(w==5||w==1){s=b+1180|0;if((y[s>>2]|0)!=0){o=0;break}y[b+1184>>2]=1;u=((y[b+1188>>2]|0)==0&1|0)==0;do{if(!u){y[b+1204>>2]=0;y[b+1208>>2]=f;Wc(j,e);u=b+8|0;o=y[u>>2];w=(w|0)==5;d=Ce(b,y[e>>2],w&1);if((d|0)==0){if((o|0)==(y[u>>2]|0)){break}k=F[b+16>>2];y[p>>2]=1;l=b|0;f=F[l>>2];f=f>>>0<32?y[b+20+(f<<2)>>2]:0;y[g>>2]=0;y[r>>2]=1;if(w){if(g=ed(p,j,k,y[b+12>>2]),(y[p>>2]|g|0)!=0){i=38}else{if(p=b+1220|0,(y[b+1276>>2]|0)!=0|(f|0)==0){i=38}else{if((y[f+52>>2]|0)!=(y[k+52>>2]|0)){i=38}else{if((y[f+56>>2]|0)!=(y[k+56>>2]|0)){i=38}else{if((y[f+88>>2]|0)!=(y[k+88>>2]|0)){i=38}else{g=(y[p>>2]|0)==0;b:do{if(!g){for(y[p+60>>2]=1;;){if((Nf(p)|0)!=0){break b}}}}while(0);i=40}}}}}}else{i=38}i==38&&(y[b+1280>>2]=0);y[l>>2]=y[u>>2];o=2;break a}y[b+4>>2]=256;y[b+12>>2]=0;y[u>>2]=32;y[b+16>>2]=0;y[b+3380>>2]=0;o=(d|0)==65535?5:4;break a}}while(0);if((y[b+3380>>2]|0)!=0){o=3;break}u=b+1368|0;w=b+2356|0;d=b+16|0;if((Uc(j,w,y[d>>2],y[b+12>>2],h)|0)!=0){o=3;break}if(((y[b+1188>>2]|0)==0&1|0)==0){c=b+1220|0}else{o=b+1220|0;if((y[c>>2]|0)!=5&&(Rf(o,y[b+2368>>2],(y[h+4>>2]|0)!=0&1,y[y[d>>2]+48>>2])|0)!=0){o=3;break}c=Jf(o);y[b+1336>>2]=c;c=o}w>>=2;o=u>>2;for(d=w+247;w>2]=1;w=b+1360|0;o=h;d=w;t=y[o+4>>2];y[d>>2]=y[o>>2];y[d+4>>2]=t;o=y[b+16>>2];Je(y[b+1172>>2],y[b+12>>2],y[b+1432>>2],y[o+52>>2],y[o+56>>2]);Qf(c);if((Gf(c,b+1436|0,y[b+1380>>2],y[b+1412>>2])|0)!=0){o=3;break}c=b+1336|0;if((fd(j,b,c,u)|0)!=0){jd(b,y[b+1368>>2]);o=3;break}d=aa;o=(y[b+1404>>2]|0)==0;do{if(o){if((y[b+1196>>2]|0)==(y[b+1176>>2]|0)){var v=1,d=7;break}}else{d=F[b+1176>>2];t=(d|0)==0;b:do{if(t){var z=0}else{for(var B=y[b+1212>>2],D=d>>>0>1?d:1,C=0,E=0;;){if(E=((y[B+C*216+196>>2]|0)!=0&1)+E|0,C=C+1|0,(C|0)==(D|0)){z=E;break b}}}}while(0);if((z|0)==(d|0)){v=1;d=7;break}}d=6}while(0);d==6&&(v=0);if((v|0)==0){o=0;break}y[s>>2]=1;s=c}else{o=0;break}}}}Sf(s,y[b+1212>>2]);c=b;y[c+1196>>2]=0;y[c+1192>>2]=0;o=c+1176|0;d=(y[o>>2]|0)==0;b:do{if(!d){t=c+1212|0;for(B=0;;){D=B+1|0;y[(y[t>>2]+B*216+4|0)>>2]=0;y[(y[t>>2]+B*216+196|0)>>2]=0;if(D>>>0>=F[o>>2]>>>0){break b}B=D}}}while(0);c=jg(b+1284|0,y[b+16>>2],u,w);o=b+1188|0;(y[o>>2]|0)!=0&&(d=b+1220|0,(y[b+1364>>2]|0)==0?Kf(d,0,s,y[b+1380>>2],c,(y[b+1360>>2]|0)==5&1,y[b+1208>>2],y[b+1204>>2]):Kf(d,b+1644|0,s,y[b+1380>>2],c,(y[b+1360>>2]|0)==5&1,y[b+1208>>2],y[b+1204>>2]));y[b+1184>>2]=0;y[o>>2]=0;o=1}else{o=o==65520?4:3}}}}}while(0);m=e;return o}mg.X=1;function ng(b){for(var c=0;;){var d=b+20+(c<<2)|0,f=y[d>>2];(f|0)!=0&&(Ae(y[f+40>>2]),y[(y[d>>2]+40|0)>>2]=0,Ae(y[y[d>>2]+84>>2]),y[(y[d>>2]+84|0)>>2]=0,Ae(y[d>>2]),y[d>>2]=0);c=c+1|0;if((c|0)==32){var g=0;break}}for(;;){if(c=b+148+(g<<2)|0,d=y[c>>2],(d|0)!=0&&(Ae(y[d+20>>2]),y[(y[c>>2]+20|0)>>2]=0,Ae(y[y[c>>2]+24>>2]),y[(y[c>>2]+24|0)>>2]=0,Ae(y[y[c>>2]+28>>2]),y[(y[c>>2]+28|0)>>2]=0,Ae(y[y[c>>2]+44>>2]),y[(y[c>>2]+44|0)>>2]=0,Ae(y[c>>2]),y[c>>2]=0),g=g+1|0,(g|0)==256){break}}g=b+3376|0;Ae(y[g>>2]);y[g>>2]=0;g=b+1212|0;Ae(y[g>>2]);y[g>>2]=0;g=b+1172|0;Ae(y[g>>2]);y[g>>2]=0;Ee(b+1220|0)}ng.X=1;Module._broadwaySetStreamLength=(function(b){y[og>>2]=b});function pg(b,c,d){var f=m;m+=4;var g=(c|0)==0|(d|0)==0;a:do{if(g){var e=-1}else{var i=c|0;if((y[i>>2]|0)==0){e=-1}else{var h=c+4|0;if((y[h>>2]|0)==0){e=-1}else{if((b|0)==0){e=-3}else{if(e=b,(y[e>>2]|0)==0){e=-3}else{var k=d|0;y[k>>2]=0;y[f>>2]=0;var l=y[h>>2],j=y[i>>2],i=b+8|0;y[b+3392>>2]=y[c+12>>2];var h=c+8|0,n=1,p=j,r=l,l=0;b:for(;;){if((y[e>>2]|0)==2){y[e>>2]=1;y[k>>2]=p+l|0;break}l=mg(i,p,r,y[h>>2],f);j=y[f>>2];p=p+j|0;r=r-j|0;r=(r|0)<0?0:r;y[k>>2]=p;do{if(l==2){break b}else{if(l==1){b=b+4|0;y[b>>2]=y[b>>2]+1|0;e=(r|0)==0?2:3;break a}else{if(l==4){var o=0;c:for(;;){if(o>>>0>=256){var t=1;break}var s=F[i+148+(o<<2)>>2],u=(s|0)==0;do{if(!u){var w=y[i+20+(y[s+4>>2]<<2)>>2];if((w|0)!=0&&(De(s,y[w+52>>2],y[w+56>>2])|0)==0){t=0;break c}}}while(0);o=o+1|0}o=((t|0)==0&1|r|0)!=0?n:-2}else{if(l==5){e=-4;break a}else{o=n}}}}}while(0);if((r|0)==0){e=o;break a}n=o;l=j}k=b+1288|0;(y[k>>2]|0)==0?e=4:(y[b+1244>>2]|0)==(y[b+1248>>2]|0)?e=4:(y[k>>2]=0,y[e>>2]=2,e=3)}}}}}}while(0);m=f;return e}pg.X=1;function qg(){var b=y[rg>>2],c=sg,d=m;m+=12;var f=d+4,g=d+8;if((b|0)==0|(c|0)==0){c=-1}else{var e=(b+8|0)+1220|0,b=e+20|0,i=F[b>>2];i>>>0>2]>>>0?(e=y[e+12>>2],y[b>>2]=i+1|0,b=e+(i<<4)|0):b=0;(b|0)==0?b=0:(y[g>>2]=y[b+4>>2],y[f>>2]=y[b+12>>2],y[d>>2]=y[b+8>>2],b=y[b>>2]);(b|0)==0?c=0:(y[c>>2]=b,y[c+4>>2]=y[g>>2],y[c+8>>2]=y[f>>2],y[c+12>>2]=y[d>>2],c=2)}m=d;return c}Module._broadwayCreateStream=(function(b){var c=og,d=jc(b);y[c+8>>2]=d;y[c+4>>2]=d;y[c>>2]=b;y[c+12>>2]=d+b|0;return y[og+4>>2]});Module._broadwayPlayStream=(function(){var b=og;y[tg>>2]=y[b+4>>2];for(y[tg+4>>2]=y[b>>2];;){if(ug(),(y[tg+4>>2]|0)==0){break}}});Module._broadwayInit=(function(){var b=rg;if((b|0)==0){b=-1}else{var c=jc(3396);if((c|0)==0){b=-4}else{var d=c+8|0;Pc(d,0,3388);y[d+8>>2]=32;y[d+4>>2]=256;y[d+1332>>2]=1;var f=jc(2112);y[d+3376>>2]=f;(((f|0)==0?1:0)|0)==0?(y[c>>2]=1,y[c+4>>2]=0,y[b>>2]=c,b=0):((c|0)!=0&&(ng(c+8|0),Ae(c)),b=-4)}}(b|0)==0?(y[vg>>2]=1,y[wg>>2]=1):(xg(Q.aa|0),yg());return-1});function ug(){var b;y[tg+8>>2]=y[wg>>2];var c=pg(y[rg>>2],tg,zg);if(c==4){var d=y[rg>>2],f=Ag;if((d|0)==0|(f|0)==0){f=-1}else{if(b=d+8|0,(y[d+24>>2]|0)==0){f=-6}else{if((y[d+20>>2]|0)==0){f=-6}else{d=y[b+16>>2];y[f+4>>2]=((d|0)==0?0:y[d+52>>2])<<4;d=y[b+16>>2];y[f+8>>2]=((d|0)==0?0:y[d+56>>2])<<4;d=y[b+16>>2];if((d|0)==0){d=5}else{if((y[d+80>>2]|0)==0){d=5}else{if(d=y[d+84>>2],(d|0)==0){d=5}else{if((y[d+24>>2]|0)==0){d=5}else{if((y[d+32>>2]|0)==0){d=5}else{var g=1,d=6}}}}}d==5&&(g=0);y[f+12>>2]=g;g=y[b+16>>2];(g|0)==0?g=2:(y[g+80>>2]|0)==0?g=2:(g=y[g+84>>2],g=(g|0)==0?2:(y[g+24>>2]|0)==0?2:(y[g+36>>2]|0)==0?2:y[g+48>>2]);y[f+16>>2]=g;lg(b,f+28|0,f+32|0,f+36|0,f+40|0,f+44|0);g=y[b+16>>2];(g|0)==0?g=d=1:(y[g+80>>2]|0)==0?g=d=1:(d=y[g+84>>2],(d|0)==0?g=d=1:(y[d>>2]|0)==0?g=d=1:(g=y[d+4>>2],g==255?(g=y[d+8>>2],d=y[d+12>>2],(g|0)==0|(d|0)==0&&(g=d=0)):g==1?g=d=1:g==2?(d=11,g=12):g==3?(d=11,g=10):g==4?(d=11,g=16):g==5?(d=33,g=40):g==6?(d=11,g=24):g==7?(d=11,g=20):g==8?(d=11,g=32):g==9?(d=33,g=80):g==10?(d=11,g=18):g==11?(d=11,g=15):g==12?(d=33,g=64):g==13?(d=99,g=160):g=d=0));y[(f+20|0)>>2]=g;y[(f+24|0)>>2]=d;b=y[b+16>>2];y[f>>2]=(b|0)==0?0:y[b>>2];f=0}}}(f|0)!=0?f=-1:(y[Bg>>2]=(y[Ag+4>>2]*3*y[Ag+8>>2]|0)>>>1,Cg((Pb=m,m+=1,m=m+3>>2<<2,y[Pb>>2]=0,Pb)),f=F[zg>>2],y[tg+4>>2]=y[tg+4>>2]-f+y[tg>>2]|0,y[tg>>2]=f,f=0);b=8}else{c==3?(b=y[zg>>2],y[tg+4>>2]=y[tg+4>>2]-b+y[tg>>2]|0,y[tg>>2]=b,b=5):c==-2||c==1?(y[tg+4>>2]=0,f=c,b=8):c==2?(y[tg+4>>2]=0,b=5):(f=c,b=8)}a:do{if(b==5){if(y[wg>>2]=y[wg>>2]+1|0,(qg()|0)!=2){f=c}else{for(;;){if(y[vg>>2]=y[vg>>2]+1|0,Dg(y[sg>>2],y[Ag+4>>2],y[Ag+8>>2]),(qg()|0)!=2){f=c;break a}}}}}while(0);return f}ug.X=1;function yg(){var b=y[Eg>>2];(b|0)!=0&&Ae(b)}Module._broadwayExit=yg;Module._broadwayGetMajorVersion=(function(){var b=m;m+=8;y[b>>2]=2;y[b+4>>2]=3;var c=y[b>>2];m=b;return c});Module._broadwayGetMinorVersion=(function(){var b=m;m+=8;y[b>>2]=2;y[b+4>>2]=3;var c=y[b+4>>2];m=b;return c});function Pc(b,c,d){kc(b,c&255,d)}function jc(b){var c,d=b>>>0<245;do{if(d){var f=b>>>0<11?16:b+11&-8,g=f>>>3;c=F[V>>2];var e=c>>>(g>>>0);if((e&3|0)!=0){var i=(e&1^1)+g|0,f=i<<1,h=V+40+(f<<2)|0,d=V+40+(f+2<<2)|0,f=F[d>>2],b=f+8|0,k=F[b>>2];(h|0)==(k|0)?y[V>>2]=c&(1<>>0>2]>>>0?(W(),a("Reached an unreachable!")):(y[d>>2]=k,y[k+12>>2]=h);i<<=3;y[f+4>>2]=i|3;y[(f+(i|4)|0)>>2]|=1;k=b;c=37;break}if(f>>>0<=F[V+8>>2]>>>0){var l=f;c=29;break}if((e|0)!=0){b=1<>>12&16;k=d>>>(b>>>0);d=k>>>5&8;g=k>>>(d>>>0);k=g>>>2&4;e=g>>>(k>>>0);g=e>>>1&2;e>>>=g>>>0;var j=e>>>1&1,k=(d|b|k|g|j)+(e>>>(j>>>0))|0,b=k<<1,g=V+40+(b<<2)|0,e=V+40+(b+2<<2)|0,d=F[e>>2],b=d+8|0,j=F[b>>2];(g|0)==(j|0)?y[V>>2]=c&(1<>>0>2]>>>0?(W(),a("Reached an unreachable!")):(y[e>>2]=j,y[j+12>>2]=g);k<<=3;c=k-f|0;y[d+4>>2]=f|3;g=d;d=g+f|0;y[g+(f|4)>>2]=c|1;y[g+k>>2]=c;j=F[V+8>>2];(j|0)!=0&&(f=y[V+20>>2],g=j>>>2&1073741822,k=V+40+(g<<2)|0,e=F[V>>2],j=1<<(j>>>3),(e&j|0)==0?(y[V>>2]=e|j,i=k,h=V+40+(g+2<<2)|0):(g=V+40+(g+2<<2)|0,e=F[g>>2],e>>>0>2]>>>0?(W(),a("Reached an unreachable!")):(i=e,h=g)),y[h>>2]=f,y[i+12>>2]=f,y[(f+8|0)>>2]=i,y[(f+12|0)>>2]=k);y[V+8>>2]=c;y[V+20>>2]=d;k=b;c=37;break}if((y[V+4>>2]|0)==0){l=f;c=29;break}c=uh(f);if((c|0)==0){l=f;c=29;break}k=c}else{if(b>>>0>4294967231){l=-1;c=29;break}c=b+11&-8;if((y[V+4>>2]|0)==0){l=c;c=29;break}f=vh(c);if((f|0)==0){l=c;c=29;break}k=f}c=37}while(0);c==29&&(i=F[V+8>>2],l>>>0>i>>>0?(i=F[V+12>>2],l>>>0>>0?(i=i-l|0,y[V+12>>2]=i,h=F[V+24>>2],y[V+24>>2]=h+l|0,y[l+(h+4)>>2]=i|1,y[h+4>>2]=l|3,k=h+8|0):k=wh(l)):(h=i-l|0,c=F[V+20>>2],h>>>0>15?(y[V+20>>2]=c+l|0,y[V+8>>2]=h,y[l+(c+4)>>2]=h|1,y[c+i>>2]=h,y[c+4>>2]=l|3):(y[V+8>>2]=0,y[V+20>>2]=0,y[c+4>>2]=i|3,y[(i+(c+4)|0)>>2]|=1),k=c+8|0));return k}jc.X=1;function uh(b){var c=y[V+4>>2],d=(c&-c)-1|0,c=d>>>12&16,f=d>>>(c>>>0),d=f>>>5&8,g=f>>>(d>>>0),f=g>>>2&4,e=g>>>(f>>>0),g=e>>>1&2;e>>>=g>>>0;var i=e>>>1&1,c=d=F[V+304+((d|c|f|g|i)+(e>>>(i>>>0))<<2)>>2],d=(y[d+4>>2]&-8)-b|0;a:for(;;){for(f=c;;){g=y[f+16>>2];if((g|0)==0){if(f=y[f+20>>2],(f|0)==0){break a}}else{f=g}g=(y[f+4>>2]&-8)-b|0;if(g>>>0>>0){c=f;d=g;continue a}}}g=c;i=F[V+16>>2];e=g>>>0>>0;do{if(!e){var h=g+b|0,f=h;if(g>>>0>>0){var e=F[c+24>>2],h=F[c+12>>2],k=(h|0)==(c|0);do{if(k){var l=c+20|0,j=y[l>>2];if((j|0)==0&&(l=c+16|0,j=y[l>>2],(j|0)==0)){var n=0;break}for(;;){var p=j+20|0,r=y[p>>2];if((r|0)==0&&(p=j+16|0,r=F[p>>2],(r|0)==0)){break}l=p;j=r}l>>>0>>0?(W(),a("Reached an unreachable!")):(y[l>>2]=0,n=j)}else{l=F[c+8>>2],l>>>0>>0?(W(),a("Reached an unreachable!")):(y[l+12>>2]=h,y[h+8>>2]=l,n=h)}}while(0);i=(e|0)==0;a:do{if(!i){h=c+28|0;k=V+304+(y[h>>2]<<2)|0;l=(c|0)==(y[k>>2]|0);do{if(l){y[k>>2]=n;if((n|0)!=0){break}y[V+4>>2]&=1<>2]^-1;break a}if(e>>>0>2]>>>0){W(),a("Reached an unreachable!")}else{if(j=e+16|0,(y[j>>2]|0)==(c|0)?y[j>>2]=n:y[e+20>>2]=n,(n|0)==0){break a}}}while(0);n>>>0>2]>>>0?(W(),a("Reached an unreachable!")):(y[n+24>>2]=e,h=F[c+16>>2],(h|0)!=0&&(h>>>0>2]>>>0?(W(),a("Reached an unreachable!")):(y[n+16>>2]=h,y[h+24>>2]=n)),h=F[c+20>>2],(h|0)!=0&&(h>>>0>2]>>>0?(W(),a("Reached an unreachable!")):(y[n+20>>2]=h,y[h+24>>2]=n)))}}while(0);if(d>>>0<16){var o=d+b|0;y[c+4>>2]=o|3;y[(o+(g+4)|0)>>2]|=1}else{y[c+4>>2]=b|3;y[b+(g+4)>>2]=d|1;y[g+(d+b)>>2]=d;i=F[V+8>>2];if((i|0)!=0){b=F[V+20>>2];g=i>>>2&1073741822;n=V+40+(g<<2)|0;e=F[V>>2];i=1<<(i>>>3);if((e&i|0)==0){y[V>>2]=e|i;var o=n,t=V+40+(g+2<<2)|0}else{g=V+40+(g+2<<2)|0,e=F[g>>2],e>>>0>2]>>>0?(W(),a("Reached an unreachable!")):(o=e,t=g)}y[t>>2]=b;y[o+12>>2]=b;y[b+8>>2]=o;y[b+12>>2]=n}y[V+8>>2]=d;y[V+20>>2]=f}return c+8|0}}}while(0);W();a("Reached an unreachable!")}uh.X=1;function vh(b){var c=-b|0,d=b>>>8;if((d|0)==0){var f=0}else{if(b>>>0>16777215){f=31}else{var g=(d+1048320|0)>>>16&8,e=d<>>16&4,h=e<>>16&2,l=14-(i|g|k)+(h<>>15)|0,f=b>>>((l+7|0)>>>0)&1|l<<1}}var j=F[V+304+(f<<2)>>2],n=(j|0)==0;a:do{if(n){var p=0,r=c,o=0}else{for(var t=0,s=c,u=j,w=b<<((f|0)==31?0:25-(f>>>1)|0),v=0;;){var z=y[u+4>>2]&-8,B=z-b|0;if(B>>>0>>0){if((z|0)==(b|0)){p=u;r=B;o=u;break a}var D=u,C=B}else{D=t,C=s}var E=F[u+20>>2],G=F[u+16+(w>>>31<<2)>>2],H=(E|0)==0|(E|0)==(G|0)?v:E;if((G|0)==0){p=D;r=C;o=H;break a}t=D;s=C;u=G;w<<=1;v=H}}}while(0);if((o|0)==0&(p|0)==0){var K=1<>2]&(K|-K);if((L|0)==0){var N=o}else{var O=(L&-L)-1|0,R=O>>>12&16,U=O>>>(R>>>0),Y=U>>>5&8,X=U>>>(Y>>>0),ba=X>>>2&4,$=X>>>(ba>>>0),ja=$>>>1&2,sa=$>>>(ja>>>0),Ea=sa>>>1&1,N=y[V+304+((Y|R|ba|ja|Ea)+(sa>>>(Ea>>>0))<<2)>>2]}}else{N=o}var Xa=(N|0)==0;a:do{if(Xa){var ea=r,fa=p}else{for(var va=N,ob=r,wa=p;;){var pb=(y[va+4>>2]&-8)-b|0,gb=pb>>>0>>0,Ib=gb?pb:ob,Fa=gb?va:wa,qb=F[va+16>>2];if((qb|0)!=0){va=qb}else{var Ya=F[va+20>>2];if((Ya|0)==0){ea=Ib;fa=Fa;break a}va=Ya}ob=Ib;wa=Fa}}}while(0);var Na=(fa|0)==0;a:do{if(Na){var za=0}else{if(ea>>>0<(y[V+8>>2]-b|0)>>>0){var da=fa,Oa=F[V+16>>2],Za=da>>>0>>0;do{if(!Za){var Aa=da+b|0,hb=Aa;if(da>>>0>>0){var Ga=F[fa+24>>2],Pa=F[fa+12>>2],$a=(Pa|0)==(fa|0);do{if($a){var Ab=fa+20|0,cb=y[Ab>>2];if((cb|0)==0){var rb=fa+16|0,Qa=y[rb>>2];if((Qa|0)==0){var pa=0;break}var ia=rb,qa=Qa}else{ia=Ab,qa=cb}for(;;){var Ra=qa+20|0,ra=y[Ra>>2];if((ra|0)!=0){ia=Ra,qa=ra}else{var ib=qa+16|0,sb=F[ib>>2];if((sb|0)==0){break}ia=ib;qa=sb}}ia>>>0>>0?(W(),a("Reached an unreachable!")):(y[ia>>2]=0,pa=qa)}else{var jb=F[fa+8>>2];jb>>>0>>0?(W(),a("Reached an unreachable!")):(y[jb+12>>2]=Pa,y[Pa+8>>2]=jb,pa=Pa)}}while(0);var db=(Ga|0)==0;b:do{if(!db){var Sa=fa+28|0,kb=V+304+(y[Sa>>2]<<2)|0,ta=(fa|0)==(y[kb>>2]|0);do{if(ta){y[kb>>2]=pa;if((pa|0)!=0){break}y[V+4>>2]&=1<>2]^-1;break b}if(Ga>>>0>2]>>>0){W(),a("Reached an unreachable!")}else{var Bb=Ga+16|0;(y[Bb>>2]|0)==(fa|0)?y[Bb>>2]=pa:y[Ga+20>>2]=pa;if((pa|0)==0){break b}}}while(0);if(pa>>>0>2]>>>0){W(),a("Reached an unreachable!")}else{y[pa+24>>2]=Ga;var Ha=F[fa+16>>2];(Ha|0)!=0&&(Ha>>>0>2]>>>0?(W(),a("Reached an unreachable!")):(y[pa+16>>2]=Ha,y[Ha+24>>2]=pa));var ya=F[fa+20>>2];(ya|0)!=0&&(ya>>>0>2]>>>0?(W(),a("Reached an unreachable!")):(y[pa+20>>2]=ya,y[ya+24>>2]=pa))}}}while(0);var xa=ea>>>0<16;b:do{if(xa){var Ba=ea+b|0;y[fa+4>>2]=Ba|3;y[(Ba+(da+4)|0)>>2]|=1}else{if(y[fa+4>>2]=b|3,y[b+(da+4)>>2]=ea|1,y[da+(ea+b)>>2]=ea,ea>>>0<256){var Ca=ea>>>2&1073741822,Ta=V+40+(Ca<<2)|0,lb=F[V>>2],Jb=1<<(ea>>>3);if((lb&Jb|0)==0){y[V>>2]=lb|Jb;var eb=Ta,Da=V+40+(Ca+2<<2)|0}else{var Ia=V+40+(Ca+2<<2)|0,mb=F[Ia>>2];mb>>>0>2]>>>0?(W(),a("Reached an unreachable!")):(eb=mb,Da=Ia)}y[Da>>2]=hb;y[eb+12>>2]=hb;y[b+(da+8)>>2]=eb;y[b+(da+12)>>2]=Ta}else{var Ua=Aa,Ja=ea>>>8;if((Ja|0)==0){var Ka=0}else{if(ea>>>0>16777215){Ka=31}else{var Cb=(Ja+1048320|0)>>>16&8,Db=Ja<>>16&4,tb=Db<>>16&2,fb=14-(Eb|Cb|Va)+(tb<>>15)|0,Ka=ea>>>((fb+7|0)>>>0)&1|fb<<1}}var ub=V+304+(Ka<<2)|0;y[b+(da+28)>>2]=Ka;var nb=b+(da+16)|0;y[b+(da+20)>>2]=0;y[nb>>2]=0;var Fb=y[V+4>>2],Qb=1<>2]=Fb|Qb,y[ub>>2]=Ua,y[b+(da+24)>>2]=ub,y[b+(da+12)>>2]=Ua,y[b+(da+8)>>2]=Ua}else{for(var wb=ea<<((Ka|0)==31?0:25-(Ka>>>1)|0),Lb=y[ub>>2];;){if((y[Lb+4>>2]&-8|0)==(ea|0)){var Rb=Lb+8|0,Wb=F[Rb>>2],Tb=F[V+16>>2],Xb=Lb>>>0>>0;do{if(!Xb&&Wb>>>0>=Tb>>>0){y[Wb+12>>2]=Ua;y[Rb>>2]=Ua;y[b+(da+8)>>2]=Wb;y[b+(da+12)>>2]=Lb;y[b+(da+24)>>2]=0;break b}}while(0);W();a("Reached an unreachable!")}else{var Vb=Lb+16+(wb>>>31<<2)|0,Yb=F[Vb>>2];if((Yb|0)==0){if(Vb>>>0>=F[V+16>>2]>>>0){y[Vb>>2]=Ua;y[b+(da+24)>>2]=Lb;y[b+(da+12)>>2]=Ua;y[b+(da+8)>>2]=Ua;break b}W();a("Reached an unreachable!")}else{wb<<=1,Lb=Yb}}}}}}}while(0);za=fa+8|0;break a}}}while(0);W();a("Reached an unreachable!")}else{za=0}}}while(0);return za}vh.X=1;function wh(b){var c;(y[xh>>2]|0)==0&&yh();var d=(y[V+440>>2]&4|0)==0;do{if(d){c=y[V+24>>2];if((c|0)==0){c=5}else{if(c=zh(c),(c|0)==0){c=5}else{var f=y[xh+8>>2],f=b+47-y[V+12>>2]+f&-f;if(f>>>0<2147483647){var g=Ah(f);if((g|0)==(y[c>>2]+y[c+4>>2]|0)){var e=g,i=f,h=g;c=12}else{var k=g,l=f;c=14}}else{c=13}}}if(c==5){if(c=Ah(0),(c|0)==-1){c=13}else{var f=y[xh+8>>2],f=f+(b+47)&-f,g=c,j=y[xh+4>>2],n=j-1|0,f=(n&g|0)==0?f:f-g+(n+g&-j)|0;f>>>0<2147483647?(g=Ah(f),(g|0)==(c|0)?(e=c,i=f,h=g,c=12):(k=g,l=f,c=14)):c=13}}if(c==13){y[V+440>>2]|=4,c=22}else{if(c==12){if((e|0)!=-1){var p=i,r=e;c=25;break}k=h;l=i}c=-l|0;if((k|0)!=-1&l>>>0<2147483647){if(l>>>0<(b+48|0)>>>0){f=y[xh+8>>2],f=b+47-l+f&-f,f>>>0<2147483647?(Ah(f)|0)==-1?(Ah(c),c=21):(o=f+l|0,c=20):(o=l,c=20)}else{var o=l;c=20}}else{o=l,c=20}c==20&&(k|0)!=-1?(p=o,r=k,c=25):(y[V+440>>2]|=4,c=22)}}else{c=22}}while(0);c==22&&(d=y[xh+8>>2],d=d+(b+47)&-d,d>>>0<2147483647?(d=Ah(d),e=Ah(0),(e|0)!=-1&(d|0)!=-1&d>>>0>>0?(e=e-d|0,e>>>0<=(b+40|0)>>>0|(d|0)==-1?c=48:(p=e,r=d,c=25)):c=48):c=48);a:do{if(c==25){d=y[V+432>>2]+p|0;y[V+432>>2]=d;d>>>0>F[V+436>>2]>>>0&&(y[V+436>>2]=d);d=F[V+24>>2];e=(d|0)==0;b:do{if(e){i=F[V+16>>2];(i|0)==0|r>>>0>>0&&(y[V+16>>2]=r);y[V+444>>2]=r;y[V+448>>2]=p;y[V+456>>2]=0;y[V+36>>2]=y[xh>>2];y[V+32>>2]=-1;for(i=0;;){if(h=i<<1,k=V+40+(h+2<<2)|0,l=V+40+(h<<2)|0,y[V+40+(h+3<<2)>>2]=l,y[k>>2]=l,i=i+1|0,(i|0)==32){break}}Bh(r,p-40|0)}else{for(o=V+444|0;;){if((o|0)==0){break}i=F[o>>2];h=o+4|0;k=F[h>>2];l=i+k|0;if((r|0)==(l|0)){if((y[o+12>>2]&8|0)!=0){break}o=d;if(!(o>>>0>=i>>>0&o>>>0>>0)){break}y[h>>2]=k+p|0;Bh(y[V+24>>2],y[V+12>>2]+p|0);break b}o=y[o+8>>2]}r>>>0>2]>>>0&&(y[V+16>>2]=r);h=r+p|0;for(k=V+444|0;;){if((k|0)==0){break}l=k|0;i=F[l>>2];if((i|0)==(h|0)){if((y[k+12>>2]&8|0)!=0){break}y[l>>2]=r;var t=k+4|0;y[t>>2]=y[t>>2]+p|0;t=Ch(r,i,b);c=49;break a}k=y[k+8>>2]}Dh(r,p)}}while(0);d=F[V+12>>2];d>>>0>b>>>0?(t=d-b|0,y[V+12>>2]=t,e=d=F[V+24>>2],y[V+24>>2]=e+b|0,y[b+(e+4)>>2]=t|1,y[d+4>>2]=b|3,t=d+8|0,c=49):c=48}}while(0);c==48&&(y[Eh>>2]=12,t=0);return t}wh.X=1;function Ae(b){var c,d=(b|0)==0;a:do{if(!d){var f=b-8|0,g=f,e=F[V+16>>2],i=f>>>0>>0;b:do{if(!i){var h=F[b-4>>2],k=h&3;if((k|0)!=1){var l=h&-8,j=b+(l-8)|0,n=j,p=(h&1|0)==0;c:do{if(p){var r=F[f>>2];if((k|0)==0){break a}var o=-8-r|0,t=b+o|0,s=t,u=r+l|0;if(t>>>0>>0){break b}if((s|0)==(y[V+20>>2]|0)){var w=b+(l-4)|0;if((y[w>>2]&3|0)!=3){var v=s,z=u;break}y[V+8>>2]=u;y[w>>2]&=-2;y[o+(b+4)>>2]=u|1;y[j>>2]=u;break a}if(r>>>0<256){var B=F[o+(b+8)>>2],D=F[o+(b+12)>>2];if((B|0)==(D|0)){y[V>>2]&=1<<(r>>>3)^-1,v=s,z=u}else{var C=V+40+((r>>>2&1073741822)<<2)|0,E=(B|0)!=(C|0)&B>>>0>>0;do{if(!E&&!((D|0)!=(C|0)&D>>>0>>0)){y[B+12>>2]=D;y[D+8>>2]=B;v=s;z=u;break c}}while(0);W();a("Reached an unreachable!")}}else{var G=t,H=F[o+(b+24)>>2],K=F[o+(b+12)>>2],L=(K|0)==(G|0);do{if(L){var N=o+(b+20)|0,O=y[N>>2];if((O|0)==0){var R=o+(b+16)|0,U=y[R>>2];if((U|0)==0){var Y=0;break}var X=R,ba=U}else{X=N,ba=O,c=20}for(;;){var $=ba+20|0,ja=y[$>>2];if((ja|0)!=0){X=$,ba=ja}else{var sa=ba+16|0,Ea=F[sa>>2];if((Ea|0)==0){break}X=sa;ba=Ea}}X>>>0>>0?(W(),a("Reached an unreachable!")):(y[X>>2]=0,Y=ba)}else{var Xa=F[o+(b+8)>>2];Xa>>>0>>0?(W(),a("Reached an unreachable!")):(y[Xa+12>>2]=K,y[K+8>>2]=Xa,Y=K)}}while(0);if((H|0)==0){v=s,z=u}else{var ea=o+(b+28)|0,fa=V+304+(y[ea>>2]<<2)|0,va=(G|0)==(y[fa>>2]|0);do{if(va){y[fa>>2]=Y;if((Y|0)!=0){break}y[V+4>>2]&=1<>2]^-1;v=s;z=u;break c}if(H>>>0>2]>>>0){W(),a("Reached an unreachable!")}else{var ob=H+16|0;(y[ob>>2]|0)==(G|0)?y[ob>>2]=Y:y[H+20>>2]=Y;if((Y|0)==0){v=s;z=u;break c}}}while(0);if(Y>>>0>2]>>>0){W(),a("Reached an unreachable!")}else{y[Y+24>>2]=H;var wa=F[o+(b+16)>>2];(wa|0)!=0&&(wa>>>0>2]>>>0?(W(),a("Reached an unreachable!")):(y[Y+16>>2]=wa,y[wa+24>>2]=Y));var pb=F[o+(b+20)>>2];(pb|0)==0?(v=s,z=u):pb>>>0>2]>>>0?(W(),a("Reached an unreachable!")):(y[Y+20>>2]=pb,y[pb+24>>2]=Y,v=s,z=u)}}}}else{v=g,z=l}}while(0);var gb=v;if(gb>>>0>>0){var Ib=b+(l-4)|0,Fa=F[Ib>>2];if((Fa&1|0)!=0){var qb=(Fa&2|0)==0;do{if(qb){if((n|0)==(y[V+24>>2]|0)){var Ya=y[V+12>>2]+z|0;y[V+12>>2]=Ya;y[V+24>>2]=v;y[v+4>>2]=Ya|1;(v|0)==(y[V+20>>2]|0)&&(y[V+20>>2]=0,y[V+8>>2]=0);if(Ya>>>0<=F[V+28>>2]>>>0){break a}Fh(0);break a}if((n|0)==(y[V+20>>2]|0)){var Na=y[V+8>>2]+z|0;y[V+8>>2]=Na;y[V+20>>2]=v;y[v+4>>2]=Na|1;y[(gb+Na|0)>>2]=Na;break a}var za=(Fa&-8)+z|0,da=Fa>>>3,Oa=Fa>>>0<256;c:do{if(Oa){var Za=F[b+l>>2],Aa=F[b+(l|4)>>2];if((Za|0)==(Aa|0)){y[V>>2]&=1<>>2&1073741822)<<2)|0;c=(Za|0)==(hb|0)?62:Za>>>0>2]>>>0?65:62;do{if(c==62&&!((Aa|0)!=(hb|0)&&Aa>>>0>2]>>>0)){y[Za+12>>2]=Aa;y[Aa+8>>2]=Za;break c}}while(0);W();a("Reached an unreachable!")}}else{var Ga=j,Pa=F[l+(b+16)>>2],$a=F[b+(l|4)>>2],Ab=($a|0)==(Ga|0);do{if(Ab){var cb=l+(b+12)|0,rb=y[cb>>2];if((rb|0)==0){var Qa=l+(b+8)|0,pa=y[Qa>>2];if((pa|0)==0){var ia=0;break}var qa=Qa,Ra=pa}else{qa=cb,Ra=rb,c=72}for(;;){var ra=Ra+20|0,ib=y[ra>>2];if((ib|0)!=0){qa=ra,Ra=ib}else{var sb=Ra+16|0,jb=F[sb>>2];if((jb|0)==0){break}qa=sb;Ra=jb}}qa>>>0>2]>>>0?(W(),a("Reached an unreachable!")):(y[qa>>2]=0,ia=Ra)}else{var db=F[b+l>>2];db>>>0>2]>>>0?(W(),a("Reached an unreachable!")):(y[db+12>>2]=$a,y[$a+8>>2]=db,ia=$a)}}while(0);if((Pa|0)!=0){var Sa=l+(b+20)|0,kb=V+304+(y[Sa>>2]<<2)|0,ta=(Ga|0)==(y[kb>>2]|0);do{if(ta){y[kb>>2]=ia;if((ia|0)!=0){break}y[V+4>>2]&=1<>2]^-1;break c}if(Pa>>>0>2]>>>0){W(),a("Reached an unreachable!")}else{var Bb=Pa+16|0;(y[Bb>>2]|0)==(Ga|0)?y[Bb>>2]=ia:y[Pa+20>>2]=ia;if((ia|0)==0){break c}}}while(0);if(ia>>>0>2]>>>0){W(),a("Reached an unreachable!")}else{y[ia+24>>2]=Pa;var Ha=F[l+(b+8)>>2];(Ha|0)!=0&&(Ha>>>0>2]>>>0?(W(),a("Reached an unreachable!")):(y[ia+16>>2]=Ha,y[Ha+24>>2]=ia));var ya=F[l+(b+12)>>2];(ya|0)!=0&&(ya>>>0>2]>>>0?(W(),a("Reached an unreachable!")):(y[ia+20>>2]=ya,y[ya+24>>2]=ia))}}}}while(0);y[v+4>>2]=za|1;y[gb+za>>2]=za;if((v|0)!=(y[V+20>>2]|0)){var xa=za}else{y[V+8>>2]=za;break a}}else{y[Ib>>2]=Fa&-2,y[v+4>>2]=z|1,xa=y[gb+z>>2]=z}}while(0);if(xa>>>0<256){var Ba=xa>>>2&1073741822,Ca=V+40+(Ba<<2)|0,Ta=F[V>>2],lb=1<<(xa>>>3);if((Ta&lb|0)==0){y[V>>2]=Ta|lb;var Jb=Ca,eb=V+40+(Ba+2<<2)|0}else{var Da=V+40+(Ba+2<<2)|0,Ia=F[Da>>2];Ia>>>0>2]>>>0?(W(),a("Reached an unreachable!")):(Jb=Ia,eb=Da)}y[eb>>2]=v;y[Jb+12>>2]=v;y[v+8>>2]=Jb;y[v+12>>2]=Ca;break a}var mb=v,Ua=xa>>>8;if((Ua|0)==0){var Ja=0}else{if(xa>>>0>16777215){Ja=31}else{var Ka=(Ua+1048320|0)>>>16&8,Cb=Ua<>>16&4,Eb=Cb<>>16&2,Va=14-(Db|Ka|tb)+(Eb<>>15)|0,Ja=xa>>>((Va+7|0)>>>0)&1|Va<<1}}var fb=V+304+(Ja<<2)|0;y[v+28>>2]=Ja;y[v+20>>2]=0;y[v+16>>2]=0;var ub=y[V+4>>2],nb=1<>2]=ub|nb,y[fb>>2]=mb,y[v+24>>2]=fb,y[v+12>>2]=v,y[v+8>>2]=v}else{for(var Qb=xa<<((Ja|0)==31?0:25-(Ja>>>1)|0),wb=y[fb>>2];;){if((y[wb+4>>2]&-8|0)==(xa|0)){var Lb=wb+8|0,Rb=F[Lb>>2],Wb=F[V+16>>2],Tb=wb>>>0>>0;do{if(!Tb&&Rb>>>0>=Wb>>>0){y[Rb+12>>2]=mb;y[Lb>>2]=mb;y[v+8>>2]=Rb;y[v+12>>2]=wb;y[v+24>>2]=0;break c}}while(0);W();a("Reached an unreachable!")}else{var Xb=wb+16+(Qb>>>31<<2)|0,Vb=F[Xb>>2];if((Vb|0)==0){if(Xb>>>0>=F[V+16>>2]>>>0){y[Xb>>2]=mb;y[v+24>>2]=wb;y[v+12>>2]=v;y[v+8>>2]=v;break c}W();a("Reached an unreachable!")}else{Qb<<=1,wb=Vb}}}}}while(0);var Yb=y[V+32>>2]-1|0;y[V+32>>2]=Yb;if((Yb|0)!=0){break a}var fc=y[V+452>>2],ga=(fc|0)==0;c:do{if(!ga){for(var pc=fc;;){var Ub=y[pc+8>>2];if((Ub|0)==0){break c}pc=Ub}}}while(0);y[V+32>>2]=-1;break a}}}}}while(0);W();a("Reached an unreachable!")}}while(0)}Ae.X=1;function Fh(b){(y[xh>>2]|0)==0&&yh();var c=b>>>0<4294967232;a:do{if(c){var d=F[V+24>>2];if((d|0)==0){d=0;break}var f=F[V+12>>2],g=f>>>0>(b+40|0)>>>0;do{if(g){var e=F[xh+8>>2],i=(Math.floor(((-40-b-1+f+e|0)>>>0)/(e>>>0))-1)*e|0,h=zh(d);if((y[h+12>>2]&8|0)==0){var k=Ah(0),l=h+4|0;if((k|0)==(y[h>>2]+y[l>>2]|0)&&(i=Ah(-(i>>>0>2147483646?-2147483648-e|0:i)|0),e=Ah(0),(i|0)!=-1&e>>>0>>0&&(i=k-e|0,(k|0)!=(e|0)))){y[l>>2]=y[l>>2]-i|0;y[V+432>>2]=y[V+432>>2]-i|0;Bh(y[V+24>>2],y[V+12>>2]-i|0);d=(k|0)!=(e|0);break a}}}}while(0);if(F[V+12>>2]>>>0<=F[V+28>>2]>>>0){d=0;break}y[V+28>>2]=-1}d=0}while(0);return d&1}Fh.X=1;function yh(){if((y[xh>>2]|0)==0){var b=Gh();(b-1&b|0)==0?(y[xh+8>>2]=b,y[xh+4>>2]=b,y[xh+12>>2]=-1,y[xh+16>>2]=2097152,y[xh+20>>2]=0,y[V+440>>2]=0,y[xh>>2]=Math.floor(Date.now()/1e3)&-16^1431655768):(W(),a("Reached an unreachable!"))}}function zh(b){for(var c=V+444|0;;){var d=F[c>>2];if(d>>>0<=b>>>0&&(d+y[c+4>>2]|0)>>>0>b>>>0){var f=c;break}c=F[c+8>>2];if((c|0)==0){f=0;break}}return f}function Bh(b,c){var d=b+8|0,d=(d&7|0)==0?0:-d&7,f=c-d|0;y[V+24>>2]=b+d|0;y[V+12>>2]=f;y[d+(b+4)>>2]=f|1;y[c+(b+4)>>2]=40;y[V+28>>2]=y[xh+16>>2]}function Ch(b,c,d){var f,g=b+8|0,g=(g&7|0)==0?0:-g&7,e=c+8|0,e=(e&7|0)==0?0:-e&7,i=c+e|0,h=g+d|0,k=b+h|0,l=i-(b+g)-d|0;y[g+(b+4)>>2]=d|3;d=(i|0)==(y[V+24>>2]|0);a:do{if(d){var j=y[V+12>>2]+l|0;y[V+12>>2]=j;y[V+24>>2]=k;y[h+(b+4)>>2]=j|1}else{if((i|0)==(y[V+20>>2]|0)){j=y[V+8>>2]+l|0,y[V+8>>2]=j,y[V+20>>2]=k,y[h+(b+4)>>2]=j|1,y[(b+(j+h)|0)>>2]=j}else{var n=F[e+(c+4)>>2];if((n&3|0)==1){var j=n&-8,p=n>>>3,r=n>>>0<256;b:do{if(r){var o=F[c+(e|8)>>2],t=F[e+(c+12)>>2];if((o|0)==(t|0)){y[V>>2]&=1<>>2&1073741822)<<2)|0;f=(o|0)==(s|0)?14:o>>>0>2]>>>0?17:14;do{if(f==14&&!((t|0)!=(s|0)&&t>>>0>2]>>>0)){y[o+12>>2]=t;y[t+8>>2]=o;break b}}while(0);W();a("Reached an unreachable!")}}else{f=i;o=F[c+(e|24)>>2];t=F[e+(c+12)>>2];s=(t|0)==(f|0);do{if(s){var u=e|16,w=u+(c+4)|0,v=y[w>>2];if((v|0)==0){if(u=c+u|0,v=y[u>>2],(v|0)==0){var z=0;break}}else{u=w}for(;;){var w=v+20|0,B=y[w>>2];if((B|0)==0&&(w=v+16|0,B=F[w>>2],(B|0)==0)){break}u=w;v=B}u>>>0>2]>>>0?(W(),a("Reached an unreachable!")):(y[u>>2]=0,z=v)}else{u=F[c+(e|8)>>2],u>>>0>2]>>>0?(W(),a("Reached an unreachable!")):(y[u+12>>2]=t,y[t+8>>2]=u,z=t)}}while(0);if((o|0)!=0){t=e+(c+28)|0;s=V+304+(y[t>>2]<<2)|0;u=(f|0)==(y[s>>2]|0);do{if(u){y[s>>2]=z;if((z|0)!=0){break}y[V+4>>2]&=1<>2]^-1;break b}if(o>>>0>2]>>>0){W(),a("Reached an unreachable!")}else{if(v=o+16|0,(y[v>>2]|0)==(f|0)?y[v>>2]=z:y[o+20>>2]=z,(z|0)==0){break b}}}while(0);z>>>0>2]>>>0?(W(),a("Reached an unreachable!")):(y[z+24>>2]=o,f=e|16,o=F[c+f>>2],(o|0)!=0&&(o>>>0>2]>>>0?(W(),a("Reached an unreachable!")):(y[z+16>>2]=o,y[o+24>>2]=z)),f=F[f+(c+4)>>2],(f|0)!=0&&(f>>>0>2]>>>0?(W(),a("Reached an unreachable!")):(y[z+20>>2]=f,y[f+24>>2]=z)))}}}while(0);n=c+(j|e)|0;j=j+l|0}else{n=i,j=l}y[(n+4|0)>>2]&=-2;y[h+(b+4)>>2]=j|1;y[b+(j+h)>>2]=j;if(j>>>0<256){p=j>>>2&1073741822;n=V+40+(p<<2)|0;r=F[V>>2];j=1<<(j>>>3);if((r&j|0)==0){y[V>>2]=r|j;var D=n,C=V+40+(p+2<<2)|0}else{j=V+40+(p+2<<2)|0,p=F[j>>2],p>>>0>2]>>>0?(W(),a("Reached an unreachable!")):(D=p,C=j)}y[C>>2]=k;y[D+12>>2]=k;y[h+(b+8)>>2]=D;y[h+(b+12)>>2]=n}else{if(n=k,r=j>>>8,(r|0)==0?p=0:j>>>0>16777215?p=31:(p=(r+1048320|0)>>>16&8,f=r<>>16&4,f<<=r,o=(f+245760|0)>>>16&2,p=14-(r|p|o)+(f<>>15)|0,p=j>>>((p+7|0)>>>0)&1|p<<1),r=V+304+(p<<2)|0,y[h+(b+28)>>2]=p,f=h+(b+16)|0,y[h+(b+20)>>2]=0,y[f>>2]=0,f=y[V+4>>2],o=1<>2]=f|o,y[r>>2]=n,y[h+(b+24)>>2]=r,y[h+(b+12)>>2]=n,y[h+(b+8)>>2]=n}else{p=j<<((p|0)==31?0:25-(p>>>1)|0);for(r=y[r>>2];;){if((y[r+4>>2]&-8|0)==(j|0)){f=r+8|0;o=F[f>>2];t=F[V+16>>2];s=r>>>0>>0;do{if(!s&&o>>>0>=t>>>0){y[o+12>>2]=n;y[f>>2]=n;y[h+(b+8)>>2]=o;y[h+(b+12)>>2]=r;y[h+(b+24)>>2]=0;break a}}while(0);W();a("Reached an unreachable!")}else{if(f=r+16+(p>>>31<<2)|0,o=F[f>>2],(o|0)==0){if(f>>>0>=F[V+16>>2]>>>0){y[f>>2]=n;y[h+(b+24)>>2]=r;y[h+(b+12)>>2]=n;y[h+(b+8)>>2]=n;break a}W();a("Reached an unreachable!")}else{p<<=1,r=o}}}}}}}}while(0);return b+(g|8)|0}Ch.X=1;function Dh(b,c){var d=F[V+24>>2],f=zh(d),g=y[f>>2],e=y[f+4>>2],f=g+e|0,i=g+(e-39)|0,g=g+(e-47+((i&7|0)==0?0:-i&7))|0,g=g>>>0<(d+16|0)>>>0?d:g,e=g+8|0;Bh(b,c-40|0);y[(g+4|0)>>2]=27;y[e>>2]=y[V+444>>2];y[e+4>>2]=y[V+448>>2];y[e+8>>2]=y[V+452>>2];y[e+12>>2]=y[V+456>>2];y[V+444>>2]=b;y[V+448>>2]=c;y[V+456>>2]=0;y[V+452>>2]=e;y[(g+28|0)>>2]=7;e=(g+32|0)>>>0>>0;a:do{if(e){for(i=0;;){var h=i<<2,k=h+(g+36)|0;y[(h+(g+32)|0)>>2]=7;if(k>>>0>=f>>>0){break a}i=i+1|0}}}while(0);f=(g|0)==(d|0);a:do{if(!f){if(e=g-d|0,i=d+e|0,y[(e+(d+4)|0)>>2]&=-2,y[d+4>>2]=e|1,y[i>>2]=e,e>>>0<256){h=e>>>2&1073741822;i=V+40+(h<<2)|0;k=F[V>>2];e=1<<(e>>>3);if((k&e|0)==0){y[V>>2]=k|e;var l=i,j=V+40+(h+2<<2)|0}else{e=V+40+(h+2<<2)|0,h=F[e>>2],h>>>0>2]>>>0?(W(),a("Reached an unreachable!")):(l=h,j=e)}y[j>>2]=d;y[l+12>>2]=d;y[d+8>>2]=l;y[d+12>>2]=i}else{i=d;k=e>>>8;if((k|0)==0){h=0}else{if(e>>>0>16777215){h=31}else{var h=(k+1048320|0)>>>16&8,n=k<>>16&4;n<<=k;var p=(n+245760|0)>>>16&2,h=14-(k|h|p)+(n<>>15)|0,h=e>>>((h+7|0)>>>0)&1|h<<1}}k=V+304+(h<<2)|0;y[d+28>>2]=h;y[d+20>>2]=0;y[d+16>>2]=0;n=y[V+4>>2];p=1<>2]=n|p,y[k>>2]=i,y[d+24>>2]=k,y[d+12>>2]=d,y[d+8>>2]=d}else{h=e<<((h|0)==31?0:25-(h>>>1)|0);for(k=y[k>>2];;){if((y[k+4>>2]&-8|0)==(e|0)){var n=k+8|0,p=F[n>>2],r=F[V+16>>2],o=k>>>0>>0;do{if(!o&&p>>>0>=r>>>0){y[p+12>>2]=i;y[n>>2]=i;y[d+8>>2]=p;y[d+12>>2]=k;y[d+24>>2]=0;break a}}while(0);W();a("Reached an unreachable!")}else{if(n=k+16+(h>>>31<<2)|0,p=F[n>>2],(p|0)==0){if(n>>>0>=F[V+16>>2]>>>0){y[n>>2]=i;y[d+24>>2]=k;y[d+12>>2]=d;y[d+8>>2]=d;break a}W();a("Reached an unreachable!")}else{h<<=1,k=p}}}}}}}while(0)}Dh.X=1;function Hh(b){y[b>>2]=Ih+8|0;Jh(b)}function sd(b,c,d){if(d>=20&&c%2==b%2){if(c%4==b%4){for(d=c+d;c%4;){q[b++]=q[c++]}c>>=2;b>>=2;for(var f=d>>2;c>=1;b>>=1;for(f=d>>1;c=20){for(d=b+d;b%4;){q[b++]=c}c<0&&(c+=256);b>>=2;for(var f=d>>2,g=c|c<<8|c<<16|c<<24;b>2]=b}var Eh,Rh=0,Sh=0,Th=0,Z={va:"/",ya:2,b:[ha],D:ca,t:(function(b,c){if(typeof b!=="string"){return ha}if(c===aa){c=Z.va}b&&b[0]=="/"&&(c="");for(var d=(c+"/"+b).split("/").reverse(),f=[""];d.length;){var g=d.pop();g==""||g=="."||(g==".."?f.length>1&&f.pop():f.push(g))}return f.length==1?"/":f.join("/")}),u:(function(b,c,d){var f={xa:ka,r:ka,error:0,name:ha,path:ha,object:ha,H:ka,J:ha,I:ha},b=Z.t(b);if(b=="/"){f.xa=ca,f.r=f.H=ca,f.name="/",f.path=f.J="/",f.object=f.I=Z.root}else{if(b!==ha){for(var d=d||0,b=b.slice(1).split("/"),g=Z.root,e=[""];b.length;){if(b.length==1&&g.e){f.H=ca,f.J=e.length==1?"/":e.join("/"),f.I=g,f.name=b[0]}var i=b.shift();if(g.e){if(g.L){if(!g.c.hasOwnProperty(i)){f.error=2;break}}else{f.error=Kh;break}}else{f.error=20;break}g=g.c[i];if(g.link&&!(c&&b.length==0)){if(d>40){f.error=40;break}f=Z.t(g.link,e.join("/"));return Z.u([f].concat(b).join("/"),c,d+1)}e.push(i);if(b.length==0){f.r=ca,f.path=e.join("/"),f.object=g}}}}return f}),B:(function(b,c){Z.z();var d=Z.u(b,c);return d.r?d.object:(Qh(d.error),ha)}),w:(function(b,c,d,f,g){b||(b="/");typeof b==="string"&&(b=Z.B(b));b||(Qh(Kh),a(Error("Parent path must exist.")));b.e||(Qh(20),a(Error("Parent must be a folder.")));!b.write&&!Z.D&&(Qh(Kh),a(Error("Parent folder must be writeable.")));if(!c||c=="."||c==".."){Qh(2),a(Error("Name must not be empty."))}b.c.hasOwnProperty(c)&&(Qh(17),a(Error("Can't overwrite object.")));b.c[c]={L:f===aa?ca:f,write:g===aa?ka:g,timestamp:Date.now(),wa:Z.ya++};for(var e in d){d.hasOwnProperty(e)&&(b.c[c][e]=d[e])}return b.c[c]}),q:(function(b,c,d,f){return Z.w(b,c,{e:ca,d:ka,c:{}},d,f)}),ua:(function(b,c,d,f){b=Z.B(b);b===ha&&a(Error("Invalid parent."));for(c=c.split("/").reverse();c.length;){var g=c.pop();g&&(b.c.hasOwnProperty(g)||Z.q(b,g,d,f),b=b.c[g])}return b}),l:(function(b,c,d,f,g){d.e=ka;return Z.w(b,c,d,f,g)}),ta:(function(b,c,d,f,g){if(typeof d==="string"){for(var e=[],i=0;i0&&Z.b[2].object.i("\n".charCodeAt(0)),Z.b[3].object.i.buffer.length>0&&Z.b[3].object.i("\n".charCodeAt(0)))})};function Uh(b,c,d){var f=Z.b[b];if(f){if(f.m){if(d<0){return Qh(Mh),-1}else{if(f.object.d){if(f.object.i){for(var g=0;g>2];if(Uh(c,b,Ac(b))>=0&&(b="\n".charCodeAt(0)&255,q[Wh]=b>=0?b:Math.pow(2,aa)+b,Uh(c,Wh,1)==-1&&c in Z.b)){Z.b[c].error=ca}}wc.unshift({C:(function(){Z.D=ka;Z.j.s||Z.j()})});xc.push({C:(function(){Z.za()})});Qh(0);P(12,"void*",M);var Wh=P([0],"i8",M);Module.sa=(function(b){function c(){for(var b=0;b<3;b++){f.push(0)}}var d=b.length+1,f=[P(rc("/bin/this.program"),"i8",M)];c();for(var g=0;g>2]=hj;y[Xh+4>>2]=ij;gj=P([2,0,0,0,0],["i8*",0,0,0,0],M);y[hj>>2]=gj+8|0;y[hj+4>>2]=Q.P|0;y[hj+8>>2]=aa;y[ij>>2]=gj+8|0;y[ij+4>>2]=Q.O|0;y[ij+8>>2]=hj;lc=[0,0,(function(b,c,d,f,g){(d|0)!=0&&(kc(c,q[b],d),c=c+d|0);if((f|0)!=0){for(d=0;;){if(q[c+d|0]=q[b+d|0],d=d+1|0,(d|0)==(f|0)){break}}c=c+f|0;b=b+f|0}(g|0)!=0&&kc(c,q[b-1|0],g)}),0,(function(b,c,d,f){sd(c,b,f)}),0,(function(){}),0,(function(b){Hh(b)}),0,(function(b){Hh(b);b|=0;(b|0)!=0&&Ae(b)}),0,(function(){return Q.R|0}),0,(function(b){y[b>>2]=Xh+8|0;Hh(b)}),0,(function(b){y[b>>2]=Xh+8|0;Hh(b);b|=0;(b|0)!=0&&Ae(b)}),0,(function(){return Q.Q|0}),0];Module.FUNCTION_TABLE=lc;function jj(b){b=b||Module.arguments;vc(wc);var c=ha;Module._main&&(c=Module.sa(b),vc(xc),Ob.print());return c}Module.run=jj;Module.preRun&&Module.preRun();Module.noInitialRun=ca;Module.noInitialRun||jj();Module.postRun&&Module.postRun();Z&&(Module.FS=Z);Module.HEAPU8=A;Module.CorrectionsMonitor=Ob;Z.createDataFile=Z.ta;var kj=ka;_runMainLoop=(function(){window.addEventListener("message",(function(){_mainLoopIteration();kj||window.postMessage(0,"*")}),ka)});Module.play=(function(){kj=ka;window.postMessage(0,"*")});Module.stop=(function(){kj=ca});Module.onFrameDecoded=(function(){});_broadwayOnFrameDecoded=(function(){Module.onFrameDecoded()});Module.createStreamBuffer=(function(b){b=jc(b);(b|0)==0&&xg(Q.ba|0);return b});var lj=Module.patches={};function mj(){return(function(){return this}).call(ha)}Sb=(function(b,c){b||a("Assertion: "+c)});Module.patch=(function(b,c,d){Sb(typeof d=="function");b||(b=mj());Module.CC_VARIABLE_MAP&&(c=Module.CC_VARIABLE_MAP[c]);Sb(c in b&&(typeof b[c]==="function"||typeof b[c]==="undefined"),"Can only patch functions.");lj[c]=b[c];b[c]=d;return lj[c]});Module.unpatch=(function(b,c){b||(b=mj());Module.CC_VARIABLE_MAP&&(c=Module.CC_VARIABLE_MAP[c]);Sb(c in b&&typeof b[c]=="function");c in lj&&(b[c]=lj[c])});Bc=Math.abs;Cc=(function(b,c,d){return dc?c:d});Module.CC_VARIABLE_MAP={"___setErrNo":"Qh","_Mmcop3":"Lf","_h264bsdCheckDeltaPicOrderCntBottom":"bd","_h264bsdFilterPicture":"Sf","_h264bsdReorderRefPicList":"Gf","_sbrk":"Ah","_CheckPps":"De","_Intra4x4VerticalLeftPrediction":"Xe","_coeffToken4_0":"oe","_DecRefPicMarking":"Vc","_coeffToken4_1":"pe","_h264bsdStoreSeqParamSet":"ze","_Mmcop6":"Hf","_Mmcop5":"Mf","intArrayFromString":"rc","_add_segment":"Dh","_init_top":"Bh","_h264bsdFillBlock":"sf","ENVIRONMENT_IS_WORKER":"ua","_decInfo":"Ag","_h264bsdCroppingParams":"lg","_h264bsdGetRefPicData":"gf","_EdgeBoundaryStrength":"Yf","e$$5":"ab","_Intra4x4DiagonalDownLeftPrediction":"Te","_sys_alloc":"wh","_h264bsdConceal":"gg","_DecodeCoeffToken":"Bd","FS":"Z","_clip":"Cc","_h264bsdQpC":"Ad","_h264bsdMarkSliceCorrupted":"jd","_OutputPicture":"Nf","i":"tc","_FilterHorChromaEdge":"fg","_sbrk$called":"Vh","base":"sc","_h264bsdNextMbAddress":"Ic","_DecodeTotalZeros":"we","_h264bsdDecodePicOrderCnt":"jg","_DecodeHrdParameters":"kg","_N_B_SUB_PART":"of","_init_mparams":"yh","_N_D_SUB_PART":"qf","_decPicture":"sg","_MvPrediction16x16":"cf","_coeffToken0_1":"Dd","_coeffToken0_0":"Cd","_levelScale":"Ec","_coeffToken0_3":"ke","_h264bsdDecodeExpGolombUnsigned":"T","_coeffToken0_2":"je","_tmalloc_small":"uh","Array_copy":"zc","PAGE_SIZE":"zb","Runtime":"Mb","_decInput":"tg","_h264bsdCheckPicOrderCntLsb":"Xc","TOTAL_MEMORY":"yb","__ATEXIT__":"xc","_h264bsdInterPrediction":"ud","_decOutput":"zg","_N_C_SUB_PART":"pf","__ZTVN10__cxxabiv120__si_class_type_infoE":"gj","_h264bsdIntra4x4Prediction":"xd","_h264bsdDecodeExpGolombTruncated":"nd","_h264bsdFlushBits":"od","_GetLumaEdgeThresholds":"Uf","Pointer_stringify":"cc","_broadwayOnHeadersDecoded":"Cg","_h264bsdInterpolateHorQuarter":"yf","_h264bsdInterpolateHorHalf":"xf","JSCompiler_alias_NULL":"ha","_stdout":"Sh","_h264bsdMbPartPredMode":"dd","HEAPU32":"F","HEAP8":"q","_mparams":"xh","Runtime$QUANTUM_SIZE":"Kb","_h264bsdPredictSamples":"df","_h264bsdProcessChromaDc":"Hc","_h264bsdDecodeSliceData":"fd","_h264bsdInterpolateVerHalf":"vf","_broadwayDecode":"ug","CorrectionsMonitor":"Ob","_stdin":"Rh","JSCompiler_alias_FALSE":"ka","_h264bsdDecodeMacroblockLayer":"gd","_Intra16x16PlanePrediction":"Ne","_N_B_4x4B":"ue","_lumaFracPos":"Ff","_DetermineNc":"qd","_free":"Ae","_h264bsdInterpolateChromaHorVer":"uf","_h264bsdGetNeighbourPels":"vd","__ZTISt9bad_alloc":"hj","_Intra4x4HorizontalUpPrediction":"Ye","_sys_trim":"Fh","globalScope":"ac","_h264bsdDecodeExpGolombSigned":"Qc","patches":"lj","Runtime$staticAlloc":"vb","_memcpy":"sd","_Intra16x16DcPrediction":"Me","_broadwayOnPictureDecoded":"Dg","ENVIRONMENT_IS_SHELL":"La","_broadwayExit":"yg","_MvPrediction":"hf","__ZTVSt9bad_alloc":"Ih","_h264bsdIntra16x16Prediction":"wd","_InnerBoundaryStrength":"$f","_h264bsdCheckAccessUnitBoundary":"Ie","String_len":"Ac","_ShellSort":"Of","_h264bsdDecodeResidualBlockCavlc":"pd","_H264SwDecNextPicture":"qg","JSCompiler_alias_TRUE":"ca","_DecodeSubMbPred":"kd","buffer":"oc","_Intra16x16VerticalPrediction":"Ke","STACK_MAX":"mc","_Intra4x4VerticalRightPrediction":"Ve","_DecodeForegroundLeftOverMap":"Ge","ALLOC_STATIC":"M","__ATINIT__":"wc","_CeilLog2NumSliceGroups":"Tc","_MvPrediction16x8":"ef","_GetBoundaryStrengths":"Tf","_dcCoeffIndex":"zd","_segment_holding":"zh","_Intra4x4DcPrediction":"Se","__ZTISt20bad_array_new_length":"ij","_Intra16x16HorizontalPrediction":"Le","tempInt":"Pb","_ProcessResidual":"td","_picDecodeNumber":"wg","globalEval":"Wa","_N_C_4x4B":"Pe","___setErrNo$ret":"Eh","_streamBuffer":"Eg","_prepend_alloc":"Ch","_coeffToken8":"qe","_h264bsdInterpolateMidHorQuarter":"Ef","_h264bsdGetBits":"S","_h264bsdFreeDpb":"Ee","_H264SwDecMemset":"Pc","ERRNO_CODES$EACCES":"Kh","_h264bsdMarkDecRefPic":"Kf","_h264bsdInterpolateChromaVer":"tf","_ComparePictures":"Pf","ERRNO_CODES$EIO":"Nh","_h264bsdInterpolateHorVerQuarter":"zf","_h264bsdNumMbPart":"cd","_sysconf":"Gh","arguments_":"ma","_DecodeMbPred":"ld","ERRNO_CODES$EINVAL":"Mh","_GetInterNeighbour":"kf","_N_D_4x4B":"Qe","STACKTOP":"m","_DecodeBoxOutMap":"He","_write":"Uh","undef":"I","_memset":"kc","_IntraChromaPlanePrediction":"bf","_h264bsdCheckPpsId":"Wc","_h264bsdInterpolateMidHalf":"Af","_N_A_4x4B":"te","_h264bsdIntraChromaPrediction":"yd","_h264bsdCompareSeqParamSets":"Nc","run":"jj","_GetBoundaryStrengthsA":"Zf","_h264bsdAddResidual":"Oe","_abs":"Bc","_h264bsdActivateParamSets":"Ce","allocate":"P","_fputc$ret":"Wh","assert":"Sb","abort":"Nb","_ConcealMb":"hg","_h264bsdBlockY":"Ze","_FilterLuma":"Vf","_h264bsdBlockX":"$e","_h264bsdShowBits32":"id","_FindDpbPic":"Df","_coeffTokenMinus1_0":"re","HEAPF32":"Hb","_Intra4x4DiagonalDownRightPrediction":"Ue","_coeffTokenMinus1_1":"se","breakLoop":"kj","_h264bsdDecodeSliceGroupMap":"Je","__ZNSt9bad_allocD2Ev":"Hh","__ZNSt9exceptionD2Ev":"Jh","_h264bsdInitRefPicList":"Qf","_h264bsdGetNeighbourMb":"ye","JSCompiler_alias_VOID":"aa","__gm_":"V","_h264bsdInterpolateMidVerQuarter":"Bf","_IntraChromaDcPrediction":"af","_abort":"W","_Transform":"ig","TOTAL_STACK":"nc","_h264bsdWriteMacroblock":"rd","_MedianFilter":"mf","setValue":"dc","_decInst":"rg","_FilterHorChroma":"eg","_FilterChroma":"Xf","_FilterVerLumaEdge":"ag","JSCompiler_alias_THROW":"a","_h264bsdAllocateDpbImage":"Jf","HEAP16":"x","ERRNO_CODES$ENXIO":"Ph","_puts":"xg","_DecodeResidual":"md","_h264bsdInterpolateVerQuarter":"wf","FUNCTION_TABLE":"lc","_h264bsdProcessBlock":"Dc","_h264bsdInterpolateChromaHor":"rf","tempDoublePtr":"uc","callRuntimeCallbacks":"vc","_picSize":"Bg","_h264bsdSetCurrImageMbPointers":"Lc","_FilterVerChromaEdge":"dg","_h264bsdShutdown":"ng","STRING_TABLE":"Q","STATICTOP":"xb","HEAPU8":"A","_FilterHorLuma":"bg","_picDisplayNumber":"vg","HEAP32":"y","_h264bsdCheckPriorPicsFlag":"ed","getGlobalScope":"mj","_malloc":"jc","_coeffToken2_2":"ne","_N_A_SUB_PART":"nf","_h264bsdExtractNalUnit":"Mc","_coeffToken2_0":"le","_coeffToken2_1":"me","_GetChromaEdgeThresholds":"Wf","nodeFS":"Ma","ERRNO_CODES$EBADF":"Lh","_MvPrediction8x16":"ff","_h264bsdWriteOutputBlocks":"jf","_h264bsdDecodePicParamSet":"Sc","ERRNO_CODES$EISDIR":"Oh","_h264bsdDecodeMacroblock":"hd","ENVIRONMENT_IS_NODE":"na","_h264bsdDecode":"mg","_SlidingWindowRefPicMarking":"If","_FilterHorLumaEdge":"cg","_stderr":"Th","_h264bsdIsNeighbourAvailable":"ve","__ZTVSt20bad_array_new_length":"Xh","_tmalloc_large":"vh","tempBigInt":"J","tempDoubleF64":"ec","tempDoubleI32":"gc","_SetPicNums":"Cf","_Get4x4NeighbourPels":"Re","_h264bsdProcessLumaDc":"Gc","_h264bsdStorePicParamSet":"Be","Runtime$stackAlloc":"bb","_H264SwDecDecode":"pg","_DecodeRunBefore":"xe","writeStringToMemory":"bc","_h264bsdDecodeVuiParameters":"Rc","_Intra4x4HorizontalDownPrediction":"We","_h264bsdCheckGapsInFrameNum":"Rf","_h264bsdInitDpb":"Fe","_broadwayStream":"og","_GetPredictionMv":"lf","ENVIRONMENT_IS_WEB":"oa","HEAPU16":"Gb","_h264bsdDecodeSliceHeader":"Uc","_h264bsdDecodeSeqParamSet":"Oc"}
+
+"use strict";function mht(a){var b="";if(16==a.length)for(var c=0;4>c;c++)b+="["+a[4*c+0].toFixed(4)+","+a[4*c+1].toFixed(4)+","+a[4*c+2].toFixed(4)+","+a[4*c+3].toFixed(4)+"]
";else{if(9!=a.length)return a.toString();for(var c=0;3>c;c++)b+="["+a[3*c+0].toFixed(4)+","+a[3*c+1].toFixed(4)+","+a[3*c+2].toFixed(4)+"]
"}return b}function makeLookAt(a,b,c,d,e,f,g,h,i){var j=$V([a,b,c]),k=$V([d,e,f]),l=$V([g,h,i]),m=j.subtract(k).toUnitVector(),n=l.cross(m).toUnitVector(),o=m.cross(n).toUnitVector(),p=$M([[n.e(1),n.e(2),n.e(3),0],[o.e(1),o.e(2),o.e(3),0],[m.e(1),m.e(2),m.e(3),0],[0,0,0,1]]),q=$M([[1,0,0,-a],[0,1,0,-b],[0,0,1,-c],[0,0,0,1]]);return p.x(q)}function makeOrtho(a,b,c,d,e,f){var g=-(b+a)/(b-a),h=-(d+c)/(d-c),i=-(f+e)/(f-e);return $M([[2/(b-a),0,0,g],[0,2/(d-c),0,h],[0,0,-2/(f-e),i],[0,0,0,1]])}function makePerspective(a,b,c,d){var e=c*Math.tan(a*Math.PI/360),f=-e,g=f*b,h=e*b;return makeFrustum(g,h,f,e,c,d)}function makeFrustum(a,b,c,d,e,f){var g=2*e/(b-a),h=2*e/(d-c),i=(b+a)/(b-a),j=(d+c)/(d-c),k=-(f+e)/(f-e),l=-2*f*e/(f-e);return $M([[g,0,i,0],[0,h,j,0],[0,0,k,l],[0,0,-1,0]])}function makeOrtho(a,b,c,d,e,f){var g=-(b+a)/(b-a),h=-(d+c)/(d-c),i=-(f+e)/(f-e);return $M([[2/(b-a),0,0,g],[0,2/(d-c),0,h],[0,0,-2/(f-e),i],[0,0,0,1]])}function error(a){console.error(a),console.trace()}function assert(a,b){a||error(b)}function isPowerOfTwo(a){return 0==(a&a-1)}function text(a){return a.join("\n")}function nextHighestPowerOfTwo(a){--a;for(var b=1;32>b;b<<=1)a|=a>>b;return a+1}function inherit(a,b){var c=Object.create(a.prototype);for(var d in b)c[d]=b[d];return c}Matrix.Translation=function(a){if(2==a.elements.length){var b=Matrix.I(3);return b.elements[2][0]=a.elements[0],b.elements[2][1]=a.elements[1],b}if(3==a.elements.length){var b=Matrix.I(4);return b.elements[0][3]=a.elements[0],b.elements[1][3]=a.elements[1],b.elements[2][3]=a.elements[2],b}throw"Invalid length for Translation"},Matrix.prototype.flatten=function(){var a=[];if(0==this.elements.length)return[];for(var b=0;b4||this.elements[0].length>4)return null;for(var a=0;ab;b++)a==b?this.elements[a].push(1):this.elements[a].push(0);for(var a=this.elements.length;4>a;a++)0==a?this.elements.push([1,0,0,0]):1==a?this.elements.push([0,1,0,0]):2==a?this.elements.push([0,0,1,0]):3==a&&this.elements.push([0,0,0,1]);return this},Matrix.prototype.make3x3=function(){return 4!=this.elements.length||4!=this.elements[0].length?null:Matrix.create([[this.elements[0][0],this.elements[0][1],this.elements[0][2]],[this.elements[1][0],this.elements[1][1],this.elements[1][2]],[this.elements[2][0],this.elements[2][1],this.elements[2][2]]])},Vector.prototype.flatten=function(){return this.elements};var Size=function(){function a(a,b){this.w=a,this.h=b}return a.prototype={toString:function(){return"("+this.w+", "+this.h+")"},getHalfSize:function(){return new Size(this.w>>>1,this.h>>>1)},length:function(){return this.w*this.h}},a}();assert(Module);var Avc=function(){function a(a,b,c){return a>c?a:c>b?b:c}function b(a,b){var c=a+28,d=k[c+0>>1],e=k[c+2>>1],f=k[c+4>>1],g=k[c+6>>1],h=k[c+8>>1],i=k[c+10>>1],j=k[c+12>>1],m=k[c+14>>1],n=k[c+16>>1],o=k[c+18>>1],p=k[c+20>>1],q=k[c+22>>1],r=k[c+24>>1],s=k[c+26>>1],t=k[c+28>>1],u=k[c+30>>1];l[b+32>>2]=f||d?2:0,l[b+40>>2]=g||e?2:0,l[b+48>>2]=j||h?2:0,l[b+56>>2]=m||i?2:0,l[b+64>>2]=n||f?2:0,l[b+72>>2]=o||g?2:0,l[b+80>>2]=r||j?2:0,l[b+88>>2]=s||m?2:0,l[b+96>>2]=p||n?2:0,l[b+104>>2]=q||o?2:0,l[b+112>>2]=t||r?2:0,l[b+120>>2]=u||s?2:0,l[b+12>>2]=e||d?2:0,l[b+20>>2]=h||e?2:0,l[b+28>>2]=i||h?2:0,l[b+44>>2]=g||f?2:0,l[b+52>>2]=j||g?2:0,l[b+60>>2]=m||j?2:0,l[b+76>>2]=o||n?2:0,l[b+84>>2]=r||o?2:0,l[b+92>>2]=s||r?2:0,l[b+108>>2]=q||p?2:0,l[b+116>>2]=t||q?2:0,l[b+124>>2]=u||t?2:0}function c(b,c,d,e){var f,g,h,k,n,p,q,r,s,t,u=m+512,v=l[d+4>>2],w=l[d+8>>2];if(4>c){h=g=255&j[l[d>>2]+(c-1)];for(var x=4;x>0;x--)p=255&j[b+-2],k=255&j[b+-1],n=255&j[b],q=255&j[b+1],Math.abs(k-n)>1)-(p<<1)>>1,i[b-2]=p+a(-g,g,t),h++),s=255&j[b+2],Math.abs(s-n)>1)-(q<<1)>>1,i[b+1]=q+a(-g,g,t),h++),t=(n-k<<2)+(p-q)+4>>3,f=a(-h,h,t),k=255&j[u+(k+f)],n=255&j[u+(n-f)],h=g,i[b-1]=k,i[b]=n,b+=e)}else o.OriginalFilterVerLumaEdge(b,c,d,e)}function d(b,c,d,e){var f,g,h,k,n,p,q,r,s,t,u=m+512,v=l[d+4>>2],w=l[d+8>>2];if(4>c){h=g=255&j[l[d>>2]+(c-1)];for(var x=16;x>0;x--)p=255&j[b+(-e<<1)],k=255&j[b+-e],n=255&j[b],q=255&j[b+e],Math.abs(k-n)>1)-(p<<1)>>1,i[b+(-e<<1)]=p+a(-g,g,t),h++),s=255&j[b+(e<<2)],Math.abs(s-n)>1)-(q<<1)>>1,i[b+e]=q+a(-g,g,t),h++),t=(n-k<<2)+(p-q)+4>>3,f=a(-h,h,t),k=255&j[u+(k+f)],n=255&j[u+(n-f)],h=g,i[b-e]=k,i[b]=n,b++)}else o.OriginalFilterHorLuma(b,c,d,e)}function e(a,b){for(var c in b){var d=b[c];if(d){var e=a[c];e||(e="original"),console.info(c+": "+e),assert(e in d.options);var f=d.options[e].fn;f&&(o[d.original]=Module.patch(null,d.name,f),console.info("Patching: "+d.name+", with: "+e))}}}function f(){Module._broadwayInit(),this.streamBuffer=g(Module._broadwayCreateStream(h),h),this.pictureBuffers={},this.onPictureDecoded=function(){},Module.patch(null,"_broadwayOnHeadersDecoded",function(){}),Module.patch(null,"_broadwayOnPictureDecoded",function(a,b,c){var d=this.pictureBuffers[a];d||(d=this.pictureBuffers[a]=g(a,3*b*c/2)),this.onPictureDecoded(d,b,c)}.bind(this))}function g(a,b){return j.subarray(a,a+b)}var h=1048576,i=Module.HEAP8,j=Module.HEAPU8,k=Module.HEAP16,l=Module.HEAP32,m=Module._get_h264bsdClip(),n={filter:{name:"_h264bsdFilterPicture",display:"Filter Picture",original:"Original_h264bsdFilterPicture",options:{none:{display:"None",fn:function(){}},original:{display:"Original",fn:null}}},filterHorLuma:{name:"_FilterHorLuma",display:"Filter Hor Luma",original:"OriginalFilterHorLuma",options:{none:{display:"None",fn:function(){}},original:{display:"Original",fn:null},optimized:{display:"Optimized",fn:d}}},filterVerLumaEdge:{name:"_FilterVerLumaEdge",display:"Filter Ver Luma Edge",original:"OriginalFilterVerLumaEdge",options:{none:{display:"None",fn:function(){}},original:{display:"Original",fn:null},optimized:{display:"Optimized",fn:c}}},getBoundaryStrengthsA:{name:"_GetBoundaryStrengthsA",display:"Get Boundary Strengths",original:"OriginalGetBoundaryStrengthsA",options:{none:{display:"None",fn:function(){}},original:{display:"Original",fn:null},optimized:{display:"Optimized",fn:b}}}},o={};return f.prototype={decode:function(a){this.streamBuffer.set(a),Module._broadwaySetStreamLength(a.length),Module._broadwayPlayStream()},configure:function(a){e(a,n),console.info("Broadway Configured: "+JSON.stringify(a))}},f}(),Script=function(){function a(){}return a.createFromElementId=function(b){var c=document.getElementById(b);assert(c,"Could not find shader with ID: "+b);for(var d="",e=c.firstChild;e;)3==e.nodeType&&(d+=e.textContent),e=e.nextSibling;var f=new a;return f.type=c.type,f.source=d,f},a.createFromSource=function(b,c){var d=new a;return d.type=b,d.source=c,d},a}(),Shader=function(){function a(a,b){if("x-shader/x-fragment"==b.type)this.shader=a.createShader(a.FRAGMENT_SHADER);else{if("x-shader/x-vertex"!=b.type)return error("Unknown shader type: "+b.type),void 0;this.shader=a.createShader(a.VERTEX_SHADER)}return a.shaderSource(this.shader,b.source),a.compileShader(this.shader),a.getShaderParameter(this.shader,a.COMPILE_STATUS)?void 0:(error("An error occurred compiling the shaders: "+a.getShaderInfoLog(this.shader)),void 0)}return a}(),Program=function(){function a(a){this.gl=a,this.program=this.gl.createProgram()}return a.prototype={attach:function(a){this.gl.attachShader(this.program,a.shader)},link:function(){this.gl.linkProgram(this.program),assert(this.gl.getProgramParameter(this.program,this.gl.LINK_STATUS),"Unable to initialize the shader program.")},use:function(){this.gl.useProgram(this.program)},getAttributeLocation:function(a){return this.gl.getAttribLocation(this.program,a)},setMatrixUniform:function(a,b){var c=this.gl.getUniformLocation(this.program,a);this.gl.uniformMatrix4fv(c,!1,b)}},a}(),Texture=function(){function a(a,b,c){this.gl=a,this.size=b,this.texture=a.createTexture(),a.bindTexture(a.TEXTURE_2D,this.texture),this.format=c?c:a.LUMINANCE,a.texImage2D(a.TEXTURE_2D,0,this.format,b.w,b.h,0,this.format,a.UNSIGNED_BYTE,null),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.NEAREST),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.NEAREST),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE)}var b=null;return a.prototype={fill:function(a,b){var c=this.gl;assert(a.length>=this.size.w*this.size.h,"Texture size mismatch, data:"+a.length+", texture: "+this.size.w*this.size.h),c.bindTexture(c.TEXTURE_2D,this.texture),b?c.texSubImage2D(c.TEXTURE_2D,0,0,0,this.size.w,this.size.h,this.format,c.UNSIGNED_BYTE,a):c.texImage2D(c.TEXTURE_2D,0,this.format,this.size.w,this.size.h,0,this.format,c.UNSIGNED_BYTE,a)},bind:function(a,c,d){var e=this.gl;b||(b=[e.TEXTURE0,e.TEXTURE1,e.TEXTURE2]),e.activeTexture(b[a]),e.bindTexture(e.TEXTURE_2D,this.texture),e.uniform1i(e.getUniformLocation(c.program,d),a)}},a}(),WebGLCanvas=function(){function a(a,d,e){this.canvas=a,this.size=d,this.canvas.width=d.w,this.canvas.height=d.h,this.onInitWebGL(),this.onInitShaders(),c.call(this),e&&b.call(this),this.onInitTextures(),h.call(this)}function b(){var a=this.gl;this.framebuffer=a.createFramebuffer(),a.bindFramebuffer(a.FRAMEBUFFER,this.framebuffer),this.framebufferTexture=new Texture(this.gl,this.size,a.RGBA);var b=a.createRenderbuffer();a.bindRenderbuffer(a.RENDERBUFFER,b),a.renderbufferStorage(a.RENDERBUFFER,a.DEPTH_COMPONENT16,this.size.w,this.size.h),a.framebufferTexture2D(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,a.TEXTURE_2D,this.framebufferTexture.texture,0),a.framebufferRenderbuffer(a.FRAMEBUFFER,a.DEPTH_ATTACHMENT,a.RENDERBUFFER,b)}function c(){var a,b=this.gl;this.quadVPBuffer=b.createBuffer(),b.bindBuffer(b.ARRAY_BUFFER,this.quadVPBuffer),a=[1,1,0,-1,1,0,1,-1,0,-1,-1,0],b.bufferData(b.ARRAY_BUFFER,new Float32Array(a),b.STATIC_DRAW),this.quadVPBuffer.itemSize=3,this.quadVPBuffer.numItems=4;var c=1,d=1;this.quadVTCBuffer=b.createBuffer(),b.bindBuffer(b.ARRAY_BUFFER,this.quadVTCBuffer),a=[c,0,0,0,c,d,0,d],b.bufferData(b.ARRAY_BUFFER,new Float32Array(a),b.STATIC_DRAW)}function d(){this.mvMatrix=Matrix.I(4)}function e(a){this.mvMatrix=this.mvMatrix.x(a)}function f(a){e.call(this,Matrix.Translation($V([a[0],a[1],a[2]])).ensure4x4())}function g(){this.program.setMatrixUniform("uPMatrix",new Float32Array(this.perspectiveMatrix.flatten())),this.program.setMatrixUniform("uMVMatrix",new Float32Array(this.mvMatrix.flatten()))}function h(){var a=this.gl;this.perspectiveMatrix=makePerspective(45,1,.1,100),d.call(this),f.call(this,[0,0,-2.4]),a.bindBuffer(a.ARRAY_BUFFER,this.quadVPBuffer),a.vertexAttribPointer(this.vertexPositionAttribute,3,a.FLOAT,!1,0,0),a.bindBuffer(a.ARRAY_BUFFER,this.quadVTCBuffer),a.vertexAttribPointer(this.textureCoordAttribute,2,a.FLOAT,!1,0,0),this.onInitSceneTextures(),g.call(this),this.framebuffer&&(console.log("Bound Frame Buffer"),a.bindFramebuffer(a.FRAMEBUFFER,this.framebuffer))}var i=Script.createFromSource("x-shader/x-vertex",text(["attribute vec3 aVertexPosition;","attribute vec2 aTextureCoord;","uniform mat4 uMVMatrix;","uniform mat4 uPMatrix;","varying highp vec2 vTextureCoord;","void main(void) {"," gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0);"," vTextureCoord = aTextureCoord;","}"])),j=Script.createFromSource("x-shader/x-fragment",text(["precision highp float;","varying highp vec2 vTextureCoord;","uniform sampler2D texture;","void main(void) {"," gl_FragColor = texture2D(texture, vTextureCoord);","}"]));return a.prototype={toString:function(){return"WebGLCanvas Size: "+this.size},checkLastError:function(a){var b=this.gl.getError();if(b!=this.gl.NO_ERROR){var c=this.glNames[b];c=void 0!==c?c+"("+b+")":"Unknown WebGL ENUM (0x"+value.toString(16)+")",a?console.log("WebGL Error: %s, %s",a,c):console.log("WebGL Error: %s",c),console.trace()}},onInitWebGL:function(){try{this.gl=this.canvas.getContext("experimental-webgl")}catch(a){}if(this.gl||error("Unable to initialize WebGL. Your browser may not support it."),!this.glNames){this.glNames={};for(var b in this.gl)"number"==typeof this.gl[b]&&(this.glNames[this.gl[b]]=b)}},onInitShaders:function(){this.program=new Program(this.gl),this.program.attach(new Shader(this.gl,i)),this.program.attach(new Shader(this.gl,j)),this.program.link(),this.program.use(),this.vertexPositionAttribute=this.program.getAttributeLocation("aVertexPosition"),this.gl.enableVertexAttribArray(this.vertexPositionAttribute),this.textureCoordAttribute=this.program.getAttributeLocation("aTextureCoord"),this.gl.enableVertexAttribArray(this.textureCoordAttribute)},onInitTextures:function(){var a=this.gl;this.texture=new Texture(a,this.size,a.RGBA)},onInitSceneTextures:function(){this.texture.bind(0,this.program,"texture")},drawScene:function(){this.gl.drawArrays(this.gl.TRIANGLE_STRIP,0,4)},readPixels:function(a){var b=this.gl;b.readPixels(0,0,this.size.w,this.size.h,b.RGBA,b.UNSIGNED_BYTE,a)}},a}(),YUVWebGLCanvas=function(){function a(a,b){WebGLCanvas.call(this,a,b)}var b=Script.createFromSource("x-shader/x-vertex",text(["attribute vec3 aVertexPosition;","attribute vec2 aTextureCoord;","uniform mat4 uMVMatrix;","uniform mat4 uPMatrix;","varying highp vec2 vTextureCoord;","void main(void) {"," gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0);"," vTextureCoord = aTextureCoord;","}"]));Script.createFromSource("x-shader/x-fragment",text(["precision highp float;","varying highp vec2 vTextureCoord;","uniform sampler2D YTexture;","uniform sampler2D UTexture;","uniform sampler2D VTexture;","void main(void) {"," vec3 YUV = vec3"," ("," texture2D(YTexture, vTextureCoord).x * 1.1643828125, // premultiply Y"," texture2D(UTexture, vTextureCoord).x,"," texture2D(VTexture, vTextureCoord).x"," );"," gl_FragColor = vec4"," ("," YUV.x + 1.59602734375 * YUV.z - 0.87078515625,"," YUV.x - 0.39176171875 * YUV.y - 0.81296875 * YUV.z + 0.52959375,"," YUV.x + 2.017234375 * YUV.y - 1.081390625,"," 1"," );","}"])),Script.createFromSource("x-shader/x-fragment",text(["precision highp float;","varying highp vec2 vTextureCoord;","uniform sampler2D YTexture;","uniform sampler2D UTexture;","uniform sampler2D VTexture;","void main(void) {"," gl_FragColor = texture2D(YTexture, vTextureCoord);","}"]));var c=Script.createFromSource("x-shader/x-fragment",text(["precision highp float;","varying highp vec2 vTextureCoord;","uniform sampler2D YTexture;","uniform sampler2D UTexture;","uniform sampler2D VTexture;","const mat4 YUV2RGB = mat4","("," 1.1643828125, 0, 1.59602734375, -.87078515625,"," 1.1643828125, -.39176171875, -.81296875, .52959375,"," 1.1643828125, 2.017234375, 0, -1.081390625,"," 0, 0, 0, 1",");","void main(void) {"," gl_FragColor = vec4( texture2D(YTexture, vTextureCoord).x, texture2D(UTexture, vTextureCoord).x, texture2D(VTexture, vTextureCoord).x, 1) * YUV2RGB;","}"]));return a.prototype=inherit(WebGLCanvas,{onInitShaders:function(){this.program=new Program(this.gl),this.program.attach(new Shader(this.gl,b)),this.program.attach(new Shader(this.gl,c)),this.program.link(),this.program.use(),this.vertexPositionAttribute=this.program.getAttributeLocation("aVertexPosition"),this.gl.enableVertexAttribArray(this.vertexPositionAttribute),this.textureCoordAttribute=this.program.getAttributeLocation("aTextureCoord"),this.gl.enableVertexAttribArray(this.textureCoordAttribute)},onInitTextures:function(){console.log("creatingTextures: size: "+this.size),this.YTexture=new Texture(this.gl,this.size),this.UTexture=new Texture(this.gl,this.size.getHalfSize()),this.VTexture=new Texture(this.gl,this.size.getHalfSize())},onInitSceneTextures:function(){this.YTexture.bind(0,this.program,"YTexture"),this.UTexture.bind(1,this.program,"UTexture"),this.VTexture.bind(2,this.program,"VTexture")},fillYUVTextures:function(a,b,c){this.YTexture.fill(a),this.UTexture.fill(b),this.VTexture.fill(c)},toString:function(){return"YUVCanvas Size: "+this.size}}),a}(),FilterWebGLCanvas=function(){function a(a,b,c){WebGLCanvas.call(this,a,b,c)}var b=Script.createFromSource("x-shader/x-vertex",text(["attribute vec3 aVertexPosition;","attribute vec2 aTextureCoord;","uniform mat4 uMVMatrix;","uniform mat4 uPMatrix;","varying highp vec2 vTextureCoord;","void main(void) {"," gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0);"," vTextureCoord = aTextureCoord;","}"])),c=Script.createFromSource("x-shader/x-fragment",text(["precision highp float;","varying highp vec2 vTextureCoord;","uniform sampler2D FTexture;","void main(void) {"," gl_FragColor = texture2D(FTexture, vTextureCoord);","}"]));return a.prototype=inherit(WebGLCanvas,{onInitShaders:function(){this.program=new Program(this.gl),this.program.attach(new Shader(this.gl,b)),this.program.attach(new Shader(this.gl,c)),this.program.link(),this.program.use(),this.vertexPositionAttribute=this.program.getAttributeLocation("aVertexPosition"),this.gl.enableVertexAttribArray(this.vertexPositionAttribute),this.textureCoordAttribute=this.program.getAttributeLocation("aTextureCoord"),this.gl.enableVertexAttribArray(this.textureCoordAttribute)},onInitTextures:function(){console.log("creatingTextures: size: "+this.size),this.FTexture=new Texture(this.gl,this.size,this.gl.RGBA)},onInitSceneTextures:function(){this.FTexture.bind(0,this.program,"FTexture")},process:function(a,b){this.FTexture.fill(a),this.drawScene(),this.readPixels(b)},toString:function(){return"FilterWebGLCanvas Size: "+this.size}}),a}();!function(a){var b,c,d,e,f=0,g=["ms","moz","webkit","o"];for(b=0,c=g.length;c>b&&!a.requestAnimationFrame;++b)a.requestAnimationFrame=a[g[b]+"RequestAnimationFrame"],a.cancelAnimationFrame=a[g[b]+"CancelAnimationFrame"]||a[g[b]+"CancelRequestAnimationFrame"];a.requestAnimationFrame||(a.requestAnimationFrame=function(b){return d=(new Date).getTime(),e=Math.max(0,16-(d-f)),f=d+e,a.setTimeout(function(){b(d+e)},e)}),a.cancelAnimationFrame||(a.cancelAnimationFrame=function(a){clearTimeout(a)})}(window),function(a,b){function c(){i=new Avc,i.configure({filter:"original",filterHorLuma:"optimized",filterVerLumaEdge:"optimized",getBoundaryStrengthsA:"optimized"}),i.onPictureDecoded=e}function d(a){i.decode(new Uint8Array(a.data))}function e(a,b,c){var d;requestAnimationFrame(function(){var d=b*c,e=d>>2;j.YTexture.fill(a.subarray(0,d)),j.UTexture.fill(a.subarray(d,d+e)),j.VTexture.fill(a.subarray(d+e,d+2*e)),j.drawScene()}),null!==m&&k&&(d=m,m=null,d(a.subarray(0,k*l)))}function f(a){var c=b.createElement("canvas");k=a.attributes.width?a.attributes.width.value:640,l=a.attributes.height?a.attributes.height.value:360,c.width=k,c.height=l,c.style.backgroundColor="#333333",a.appendChild(c),j=new YUVWebGLCanvas(c,new Size(k,l))}var g,h,i,j,k,l,m=null;g=function(b,e){var g,i;e=e||{},g=e.hostname||a.document.location.hostname,i=e.port||a.document.location.port,f(b),c(),h=new WebSocket("ws://"+g+":"+i+"/dronestream"),h.binaryType="arraybuffer",h.onmessage=d},g.prototype.onNextFrame=function(a){m=a},a.NodecopterStream=g}(window,document,void 0);
\ No newline at end of file
diff --git a/public/stylesheets/bootstrap.min.css b/public/stylesheets/bootstrap.min.css
new file mode 100644
index 0000000..a9f35ce
--- /dev/null
+++ b/public/stylesheets/bootstrap.min.css
@@ -0,0 +1,5 @@
+/*!
+ * Bootstrap v3.2.0 (http://getbootstrap.com)
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ *//*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:before,:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;width:100% \9;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;width:100% \9;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}cite{font-style:normal}mark,.mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#428bca}a.text-primary:hover{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#777;opacity:1}.form-control:-ms-input-placeholder{color:#777}.form-control::-webkit-input-placeholder{color:#777}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px;line-height:1.42857143 \0}input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;min-height:20px;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type=radio][disabled],input[type=checkbox][disabled],input[type=radio].disabled,input[type=checkbox].disabled,fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm,.form-horizontal .form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.input-lg,.form-horizontal .form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:25px;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#3071a9;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn>input[type=radio],[data-toggle=buttons]>.btn>input[type=checkbox]{position:absolute;z-index:-1;filter:alpha(opacity=0);opacity:0}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#777}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#777}.navbar-inverse .navbar-nav>li>a{color:#777}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#777}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#777}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#428bca;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar[aria-valuenow="1"],.progress-bar[aria-valuenow="2"]{min-width:30px}.progress-bar[aria-valuenow="0"]{min-width:30px;color:#777;background-color:transparent;background-image:none;-webkit-box-shadow:none;box-shadow:none}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#428bca}.panel-primary>.panel-heading .badge{color:#428bca;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate3d(0,-25%,0);-o-transform:translate3d(0,-25%,0);transform:translate3d(0,-25%,0)}.modal.in .modal-dialog{-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-size:12px;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}
\ No newline at end of file
diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css
new file mode 100644
index 0000000..5e3eab3
--- /dev/null
+++ b/public/stylesheets/style.css
@@ -0,0 +1,67 @@
+#header {
+ background: no-repeat url("../img/logo.png") right 0 top 0;
+ padding: 0;
+ margin: 0 0 10px;
+ height: 75px;
+}
+
+#header h1 {
+ padding: 10px;
+ margin: 0;
+}
+
+#menu {
+ float: right;
+ width: 200px;
+}
+
+#content {
+ padding-left: 50px;
+}
+
+.buttons .btn {
+ width: 125px;
+}
+
+.buttons .wide .btn-danger,
+.buttons .wide .btn-primary {
+ width: 250px;
+}
+
+.buttons .row {
+ margin-bottom: 5px;
+}
+
+.feedback {
+ overflow: hidden;
+}
+
+.status {
+ height: 100px;
+ overflow-y: scroll;
+}
+
+.battery-ok {
+ background-color: lawngreen;
+}
+
+.battery-low {
+ background-color: red;
+}
+
+li.battery-low {
+ color: white;
+ font-weight: bold;
+}
+
+div.buttons {
+ text-align: center;
+}
+
+div.stream {
+ text-align: center;
+}
+
+div.status table {
+ width: 100%;
+}
\ No newline at end of file
diff --git a/public/views/button.html b/public/views/button.html
new file mode 100644
index 0000000..326dec8
--- /dev/null
+++ b/public/views/button.html
@@ -0,0 +1,2 @@
+
+
diff --git a/src/node_control.js b/src/node_control.js
new file mode 100644
index 0000000..c431db2
--- /dev/null
+++ b/src/node_control.js
@@ -0,0 +1,138 @@
+var path = require('path');
+
+var express = require('express');
+
+var arDrone = require('ar-drone');
+var droneStream = require('dronestream');
+
+var app = express();
+var port = 1337;
+
+app.set('views', path.join(__dirname, '../views'));
+app.set('view engine', 'jade');
+
+app.use(express.static(path.join(__dirname, '../public')));
+
+var client = arDrone.createClient();
+client.config('general:navdata_demo', 'TRUE');
+
+droneStream.listen(13337, {tcpVideoStream: client.getVideoStream()});
+
+var statusData = {
+ 'height': client._lastAltitude,
+ 'battery': client._lastBattery,
+ 'state': client._lastState,
+ 'lowBattery': false
+};
+
+client.on('altitudeChange', function(alt) {
+ statusData['height'] = alt;
+});
+
+client.on('batteryChange', function(batt) {
+ statusData['battery'] = batt;
+});
+
+client.on('lowBattery', function(batt) {
+ statusData['battery'] = batt;
+ statusData['lowBattery'] = true;
+});
+
+app.get('/', function (request, response) {
+ response.render('control', {
+ title: 'AR Drone'
+ });
+});
+
+app.get('/takeoff', function (request, response) {
+ client.disableEmergency();
+ client.takeoff();
+ response.status(200).end();
+});
+
+app.get('/land', function (request, response) {
+ client.stop();
+ client.land();
+ response.status(200).end();
+});
+
+app.get('/flipLeft', function (request, response) {
+ client.animate('flipLeft', 1000);
+ response.status(200).end();
+});
+
+app.get('/flipRight', function (request, response) {
+ client.animate('flipRight', 1000);
+ response.status(200).end();
+});
+
+app.get('/flipAhead', function (request, response) {
+ client.animate('flipAhead', 1000);
+ response.status(200).end();
+});
+
+app.get('/flipBehind', function (request, response) {
+ client.animate('flipBehind', 1000);
+ response.status(200).end();
+});
+
+app.get('/up', function (request, response) {
+ client.up(0.5);
+ response.status(200).end();
+});
+
+app.get('/down', function (request, response) {
+ client.down(0.5);
+ response.status(200).end();
+});
+
+app.get('/left', function (request, response) {
+ client.left(0.1);
+ response.status(200).end();
+});
+
+app.get('/right', function (request, response) {
+ client.right(0.1);
+ response.status(200).end();
+});
+
+app.get('/forward', function (request, response) {
+ client.front(0.1);
+ response.status(200).end();
+});
+
+app.get('/back', function (request, response) {
+ client.back(0.1);
+ response.status(200).end();
+});
+
+app.get('/cw', function (request, response) {
+ client.clockwise(0.5);
+ response.status(200).end();
+});
+
+app.get('/ccw', function (request, response) {
+ client.counterClockwise(0.5);
+ response.status(200).end();
+});
+
+app.get('/stop', function (request, response) {
+ client.stop();
+ response.status(200).end();
+});
+
+app.get('/reset', function (request, response) {
+ client.disableEmergency();
+ response.status(200).end();
+});
+
+app.get('/status', function (request, response) {
+ statusData['state'] = client._lastState;
+
+ response.json(statusData);
+});
+
+app.listen(port, function() {
+ console.log('Node.js express server started on port %s', port);
+});
+
diff --git a/src/node_server.js b/src/node_server.js
index 805cc78..ce1330b 100644
--- a/src/node_server.js
+++ b/src/node_server.js
@@ -1,78 +1,102 @@
/**
* Created by Sirar on 10.08.2014.
+ * Modified by Thuc Hoang on 28.08.2014.
*/
+var path = require('path');
+
var express = require('express');
-var app = express();
-var port = 1337;
+
var arDrone = require('ar-drone');
-var client = arDrone.createClient();
var autonomy = require('ardrone-autonomy');
-app.get('/', function(request, response){
- response.send("Welcome to my Parrot AR node server!");
+var app = express();
+var port = 1337;
+
+app.set('views', path.join(__dirname, '../views'));
+app.set('view engine', 'jade');
+
+app.use(express.static(path.join(__dirname, '../public')));
+
+var client = arDrone.createClient();
+
+var stopAndLand = function () {
+ console.log("Stop and land");
+ this.stop();
+ this.land();
+};
+
+function renderStatus(response, subtitle) {
+ response.render('status', {
+ title: 'AR Drone',
+ subTitle: subtitle
+ });
+}
+
+app.get('/', function (request, response) {
+ client.disableEmergency();
+ renderStatus(response, 'Welcome to my Parrot AR node server!');
});
-app.get('/takeoff', function(request, response){
+app.get('/takeoff', function (request, response) {
console.log("Taking off...");
client.takeoff();
- client.after(5000, function(){
- console.log("Landing...");
- this.land();
+
+ client.after(8000, stopAndLand).after(100, function () {
+ renderStatus(response, 'Take off - done!');
});
- response.send("Done!");
});
-app.get('/takeoffAndSpin', function(request, response){
+app.get('/takeoffAndSpin', function (request, response) {
console.log("Taking off...");
+
client.takeoff();
- client.after(4000, function(){
+
+ client.after(4000, function () {
console.log("Spinning clockwise...");
- this.clockwise(0.5);
+ this.clockwise(3);
+ }).after(1000, stopAndLand).after(100, function () {
+ renderStatus(response, 'Take off and spin - done!');
});
- client.after(1000, function(){
- console.log("Stopping activites and landing...");
- this.stop();
- this.land();
+});
+
+app.get('/mission', function (request, response) {
+ var controller = new autonomy.Controller(client, {debug: false});
+
+ var mission = new autonomy.Mission(client, controller, {});
+
+ mission.takeoff()
+ .zero() // Sets the current state as the reference
+ .altitude(2) // Climb to altitude = 1 meter
+ .forward(1)
+ .right(1)
+ .backward(1)
+ .left(1)
+ .hover(1000) // Hover in place for 1 second
+ .land();
+
+ mission.run(function (err) {
+ if (err) {
+ console.log("Oops, something bad happened: %s", err.message);
+ mission.client().stop();
+ mission.client().land();
+
+ renderStatus(response, 'Mission - failed!');
+ } else {
+ console.log("Mission success!");
+
+ renderStatus(response, 'Mission - done!');
+ }
});
- response.send("Done!");
});
-app.get('/takeoffAndFly', function(request, response){
- var coordinates = request.query.c;
- if(coordinates != undefined) {
- var controller = new autonomy.Controller(client, {debug: false});
- console.log("Taking off...");
- client.takeoff();
- client.after(8000, function() {
- var xy;
- if (typeof coordinates === 'object') {
- for (var i = 0; i < coordinates.length; i++) {
- var coordinate = coordinates[i];
- xy = coordinate.split(",");
- console.log("Flying to x=" + xy[0] + " " + "y=" + xy[1]);
- controller.go({x: xy[0], y: xy[1]});
- }
- } else {
- xy = coordinates.split(",");
- console.log("Flying to x=" + xy[0] + " " + "y=" + xy[1]);
- controller.go({x: xy[0], y: xy[1]});
- }
- });
- client.after(1000, function(){
- console.log("Landing...");
- this.land();
- });
- }
- response.send("Done!");
+app.get('/land', function (request, response) {
+ stopAndLand.bind(client)();
+
+ renderStatus(response, 'Land - done!');
});
-app.get('/land', function(request, response){
- console.log("Stopping activites and landing...");
- client.stop();
- client.land();
- response.send("Done!");
+app.listen(port, function () {
+ console.log('Node.js express server started on port %s', port);
});
-app.listen(port);
-console.log('Node.js express server started on port %s', port);
diff --git a/views/control.jade b/views/control.jade
new file mode 100644
index 0000000..19255c3
--- /dev/null
+++ b/views/control.jade
@@ -0,0 +1,50 @@
+extends layout
+
+block content
+ .container
+ .row(ng-controller="StatusController as sc")
+ .col-md-3
+ ul.list-group
+ li.list-group-item
+ | Height
+ span.badge
+ | {{ sc.statusData.height }}
+ .col-md-3
+ ul.list-group
+ li.list-group-item
+ | Battery
+ span.badge
+ | {{ sc.statusData.battery }}
+ .col-md-3
+ ul.list-group
+ li.list-group-item
+ | Status
+ span.badge
+ | {{ sc.statusData.state }}
+ .col-md-3
+ ul.list-group
+ li.list-group-item.battery-low(ng-show="sc.statusData.lowBattery")
+ | LOW BATTERY
+ li.list-group-item.battery-ok(ng-hide="sc.statusData.lowBattery")
+ | OK
+
+ .row
+ .col-md-9
+ .row.stream(ng-controller="VideoController as vc")
+ #droneStream
+ .row.feedback
+ .status(ng-controller="ResponseController as rc")
+ table.table-bordered.table-striped.table-hover.table-condensed
+ tr(ng-repeat="response in rc.data | reverse")
+ td
+ | {{ response.command }}
+ td
+ | {{ response.status }}
+
+ .col-md-3.buttons(ng-controller="CommandController as cc")
+ .row(ng-repeat="row in cc.rows" ng-class="row.rowClass")
+ .btn-group
+ .button(ng-repeat="button in row.buttons" control-button name="{{ button.name }}" command-name="{{ button.commandName }}" button-class="{{ button.buttonClass }}" send-command="cc.sendCommand(cmd)")
+
+ script(type='text/javascript' src='/js/angular.min.js')
+ script(type='text/javascript' src='/js/app.js')
\ No newline at end of file
diff --git a/views/layout.jade b/views/layout.jade
new file mode 100644
index 0000000..ee0130a
--- /dev/null
+++ b/views/layout.jade
@@ -0,0 +1,17 @@
+doctype html
+html(ng-app="droneApp")
+ head
+ title= title
+ meta(http-equiv="X-UA-Compatible", content="IE=edge")
+ meta(name="viewport", content="width=device-width, initial-scale=1")
+ link(rel='stylesheet', href='/stylesheets/bootstrap.min.css')
+ link(rel='stylesheet', href='/stylesheets/style.css')
+ script(type='text/javascript' src='/js/jquery-1.11.1.min.js')
+ script(type='text/javascript' src='/js/nodecopter-client.js')
+ body(class="{{ bodyClass }}")
+ #header
+ h1= title
+ #content
+ block content
+
+ script(type='text/javascript' src='/js/bootstrap.min.js')
diff --git a/views/status.jade b/views/status.jade
new file mode 100644
index 0000000..795d498
--- /dev/null
+++ b/views/status.jade
@@ -0,0 +1,23 @@
+extends layout
+
+block content
+ .container
+ .row
+ .col-md-8
+ .jumbotron
+ h2= subTitle
+ .col-md-4
+ .panel.panel-default
+ .panel-heading Controls
+ .panel-body
+ ul.nav.nav-pills.nav-stacked
+ li
+ a(href='/') Home
+ li
+ a(href='/takeoff') Take Off
+ li
+ a(href='/takeoffAndSpin') Take Off And Spin
+ li
+ a(href='/mission') Take Off And Fly Mission
+ li
+ a(href='/land') Land
\ No newline at end of file