var t,e;function n(){if(e)return t;e=1;var n=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],r=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function a(t,e,n,r,a){if("string"==typeof t)t=document.getElementById(t);else if("undefined"!=typeof HTMLCanvasElement&&!t instanceof HTMLCanvasElement)return;var o,f=t.getContext("2d");try{try{o=f.getImageData(e,n,r,a)}catch(i){throw new Error("unable to access local image data: "+i)}}catch(i){throw new Error("unable to access image data: "+i)}return o}function o(t,e,n,r,o,i){if(!(isNaN(i)||i<1)){i|=0;var g=a(t,e,n,r,o);g=f(g,e,n,r,o,i),t.getContext("2d").putImageData(g,e,n)}}function f(t,e,a,o,f,i){var g,l,s,x,c,d,b,m,v,h,y,p,w,E,I,C,B,H,L,M,N,T,D,R,G=t.data,A=i+i+1,W=o-1,j=f-1,k=i+1,q=k*(k+1)/2,z=new u,F=z;for(s=1;s>Q,0!=D?(D=255/D,G[d]=(m*P>>Q)*D,G[d+1]=(v*P>>Q)*D,G[d+2]=(h*P>>Q)*D):G[d]=G[d+1]=G[d+2]=0,m-=p,v-=w,h-=E,y-=I,p-=K.r,w-=K.g,E-=K.b,I-=K.a,x=b+((x=g+i+1)>Q,D>0?(D=255/D,G[x]=(m*P>>Q)*D,G[x+1]=(v*P>>Q)*D,G[x+2]=(h*P>>Q)*D):G[x]=G[x+1]=G[x+2]=0,m-=p,v-=w,h-=E,y-=I,p-=K.r,w-=K.g,E-=K.b,I-=K.a,x=g+((x=l+k)>J,N[d+1]=v*F>>J,N[d+2]=h*F>>J,m-=y,v-=p,h-=w,y-=q.r,p-=q.g,w-=q.b,x=b+((x=g+i+1)>J,N[x+1]=v*F>>J,N[x+2]=h*F>>J,m-=y,v-=p,h-=w,y-=q.r,p-=q.g,w-=q.b,x=g+((x=l+G)