UNPKG

js-hqx

Version:

javascript & canvas pixel art scaling algorithm

1 lines 135 kB
!function(e,a){"object"==typeof exports&&"object"==typeof module?module.exports=a():"function"==typeof define&&define.amd?define("hqx",[],a):"object"==typeof exports?exports.hqx=a():e.hqx=a()}(this,function(){return function(e){function a(s){if(c[s])return c[s].exports;var r=c[s]={i:s,l:!1,exports:{}};return e[s].call(r.exports,r,r.exports,a),r.l=!0,r.exports}var c={};return a.m=e,a.c=c,a.i=function(e){return e},a.d=function(e,c,s){a.o(e,c)||Object.defineProperty(e,c,{configurable:!1,enumerable:!0,get:s})},a.n=function(e){var c=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(c,"a",c),c},a.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},a.p="",a(a.s=0)}([function(e,a,c){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.default=function(e,a){if(-1===[2,3,4].indexOf(a))return e;var c,b,k,t;e instanceof HTMLCanvasElement?(c=e,b=c.getContext("2d"),k=c,t=b.getImageData(0,0,c.width,c.height).data):(t=p(e,0,0,e.width,e.height).data,k=document.createElement("canvas"));for(var n,o=e.width*e.height,i=s=new Array(o),u=r=new Array(o*a*a),f=0;f<o;f++)i[f]=(t[3+(n=f<<2)]<<24)+(t[n+2]<<16)+(t[n+1]<<8)+t[n];2===a?m(e.width,e.height):3===a?w(e.width,e.height):4===a&&x(e.width,e.height),k.width=e.width*a,k.height=e.height*a;for(var h,d,g=k.getContext("2d"),l=g.getImageData(0,0,k.width,k.height),v=l.data,y=u.length,D=0;D<y;D++)d=(4278190080&(h=u[D]))>>24,v[3+(n=D<<2)]=d<0?d+256:0,v[n+2]=(16711680&h)>>16,v[n+1]=(65280&h)>>8,v[n]=255&h;return s=i=null,r=u=null,g.putImageData(l,0,0),k};var s=null,r=null,b=Math,k=function(e){var a=(16711680&e)>>16,c=(65280&e)>>8,s=255&e;return((.299*a+.587*c+.114*s|0)<<16)+((-.169*a-.331*c+.5*s+128|0)<<8)+(.5*a-.419*c-.081*s+128|0)},t=function(e,a){var c=k(e),s=k(a);return b.abs((16711680&c)-(16711680&s))>3145728||b.abs((65280&c)-(65280&s))>1792||b.abs((255&c)-(255&s))>6},n=function(e,a,c){if(a===c)return void(r[e]=a);r[e]=(3*(65280&a)+(65280&c)>>2&65280)+(3*(16711935&a)+(16711935&c)>>2&16711935),r[e]|=4278190080&a},o=function(e,a,c,s){r[e]=(((65280&a)<<1)+(65280&c)+(65280&s)>>2&65280)+(((16711935&a)<<1)+(16711935&c)+(16711935&s)>>2&16711935),r[e]|=4278190080&a},i=function(e,a,c){if(a===c)return void(r[e]=a);r[e]=(7*(65280&a)+(65280&c)>>3&65280)+(7*(16711935&a)+(16711935&c)>>3&16711935),r[e]|=4278190080&a},u=function(e,a,c,s){r[e]=(((65280&a)<<1)+7*(65280&c)+7*(65280&s)>>4&65280)+(((16711935&a)<<1)+7*(16711935&c)+7*(16711935&s)>>4&16711935),r[e]|=4278190080&a},f=function(e,a,c){if(a===c)return void(r[e]=a);r[e]=((65280&a)+(65280&c)>>1&65280)+((16711935&a)+(16711935&c)>>1&16711935),r[e]|=4278190080&a},h=function(e,a,c,s){r[e]=(5*(65280&a)+((65280&c)<<1)+(65280&s)>>3&65280)+(5*(16711935&a)+((16711935&c)<<1)+(16711935&s)>>3&16711935),r[e]|=4278190080&a},d=function(e,a,c,s){r[e]=(6*(65280&a)+(65280&c)+(65280&s)>>3&65280)+(6*(16711935&a)+(16711935&c)+(16711935&s)>>3&16711935),r[e]|=4278190080&a},g=function(e,a,c){if(a===c)return void(r[e]=a);r[e]=(5*(65280&a)+3*(65280&c)>>3&65280)+(5*(16711935&a)+3*(16711935&c)>>3&16711935),r[e]|=4278190080&a},l=function(e,a,c,s){r[e]=(((65280&a)<<1)+3*(65280&c)+3*(65280&s)>>3&65280)+(((16711935&a)<<1)+3*(16711935&c)+3*(16711935&s)>>3&16711935),r[e]|=4278190080&a},v=function(e,a){var c=a.charAt(0).toUpperCase()+a.substr(1);return e[a]||e["ms"+c]||e["moz"+c]||e["webkit"+c]||e["o"+c]},p=function(e,a,c,s,r){var b=document.createElement("canvas"),k=b.getContext("2d"),t=v(k,"backingStorePixelRatio")||1;k.getImageDataHD=v(k,"getImageDataHD");var n=e.width/t,o=e.height/t;return b.width=Math.ceil(n),b.height=Math.ceil(o),k.drawImage(e,0,0,n,o),1===t?k.getImageData(a,c,s,r):k.getImageDataHD(a,c,s,r)},m=function(e,a){var c,i,u,f,g,v,p,m=[],w=e<<1,x=0,y=0,D=t,I=b,j=k,M=n,C=o,O=h,H=d,P=l,_=s,q=r;for(i=0;i<a;i++){for(f=i>0?-e:0,g=i<a-1?e:0,c=0;c<e;c++){m[2]=_[y+f],m[5]=_[y],m[8]=_[y+g],c>0?(m[1]=_[y+f-1],m[4]=_[y-1],m[7]=_[y+g-1]):(m[1]=m[2],m[4]=m[5],m[7]=m[8]),c<e-1?(m[3]=_[y+f+1],m[6]=_[y+1],m[9]=_[y+g+1]):(m[3]=m[2],m[6]=m[5],m[9]=m[8]);var A=0,E=1;for(v=j(m[5]),u=1;u<10;u++)5!==u&&(m[u]!==m[5]&&(p=j(m[u]),(I.abs((16711680&v)-(16711680&p))>3145728||I.abs((65280&v)-(65280&p))>1792||I.abs((255&v)-(255&p))>6)&&(A|=E)),E<<=1);switch(A){case 0:case 1:case 4:case 32:case 128:case 5:case 132:case 160:case 33:case 129:case 36:case 133:case 164:case 161:case 37:case 165:C(x,m[5],m[4],m[2]),C(x+1,m[5],m[2],m[6]),C(x+w,m[5],m[8],m[4]),C(x+w+1,m[5],m[6],m[8]);break;case 2:case 34:case 130:case 162:C(x,m[5],m[1],m[4]),C(x+1,m[5],m[3],m[6]),C(x+w,m[5],m[8],m[4]),C(x+w+1,m[5],m[6],m[8]);break;case 16:case 17:case 48:case 49:C(x,m[5],m[4],m[2]),C(x+1,m[5],m[3],m[2]),C(x+w,m[5],m[8],m[4]),C(x+w+1,m[5],m[9],m[8]);break;case 64:case 65:case 68:case 69:C(x,m[5],m[4],m[2]),C(x+1,m[5],m[2],m[6]),C(x+w,m[5],m[7],m[4]),C(x+w+1,m[5],m[9],m[6]);break;case 8:case 12:case 136:case 140:C(x,m[5],m[1],m[2]),C(x+1,m[5],m[2],m[6]),C(x+w,m[5],m[7],m[8]),C(x+w+1,m[5],m[6],m[8]);break;case 3:case 35:case 131:case 163:M(x,m[5],m[4]),C(x+1,m[5],m[3],m[6]),C(x+w,m[5],m[8],m[4]),C(x+w+1,m[5],m[6],m[8]);break;case 6:case 38:case 134:case 166:C(x,m[5],m[1],m[4]),M(x+1,m[5],m[6]),C(x+w,m[5],m[8],m[4]),C(x+w+1,m[5],m[6],m[8]);break;case 20:case 21:case 52:case 53:C(x,m[5],m[4],m[2]),M(x+1,m[5],m[2]),C(x+w,m[5],m[8],m[4]),C(x+w+1,m[5],m[9],m[8]);break;case 144:case 145:case 176:case 177:C(x,m[5],m[4],m[2]),C(x+1,m[5],m[3],m[2]),C(x+w,m[5],m[8],m[4]),M(x+w+1,m[5],m[8]);break;case 192:case 193:case 196:case 197:C(x,m[5],m[4],m[2]),C(x+1,m[5],m[2],m[6]),C(x+w,m[5],m[7],m[4]),M(x+w+1,m[5],m[6]);break;case 96:case 97:case 100:case 101:C(x,m[5],m[4],m[2]),C(x+1,m[5],m[2],m[6]),M(x+w,m[5],m[4]),C(x+w+1,m[5],m[9],m[6]);break;case 40:case 44:case 168:case 172:C(x,m[5],m[1],m[2]),C(x+1,m[5],m[2],m[6]),M(x+w,m[5],m[8]),C(x+w+1,m[5],m[6],m[8]);break;case 9:case 13:case 137:case 141:M(x,m[5],m[2]),C(x+1,m[5],m[2],m[6]),C(x+w,m[5],m[7],m[8]),C(x+w+1,m[5],m[6],m[8]);break;case 18:case 50:C(x,m[5],m[1],m[4]),D(m[2],m[6])?M(x+1,m[5],m[3]):C(x+1,m[5],m[2],m[6]),C(x+w,m[5],m[8],m[4]),C(x+w+1,m[5],m[9],m[8]);break;case 80:case 81:C(x,m[5],m[4],m[2]),C(x+1,m[5],m[3],m[2]),C(x+w,m[5],m[7],m[4]),D(m[6],m[8])?M(x+w+1,m[5],m[9]):C(x+w+1,m[5],m[6],m[8]);break;case 72:case 76:C(x,m[5],m[1],m[2]),C(x+1,m[5],m[2],m[6]),D(m[8],m[4])?M(x+w,m[5],m[7]):C(x+w,m[5],m[8],m[4]),C(x+w+1,m[5],m[9],m[6]);break;case 10:case 138:D(m[4],m[2])?M(x,m[5],m[4]):C(x,m[5],m[4],m[2]),C(x+1,m[5],m[3],m[6]),C(x+w,m[5],m[7],m[8]),C(x+w+1,m[5],m[6],m[8]);break;case 66:C(x,m[5],m[1],m[4]),C(x+1,m[5],m[3],m[6]),C(x+w,m[5],m[7],m[4]),C(x+w+1,m[5],m[9],m[6]);break;case 24:C(x,m[5],m[1],m[2]),C(x+1,m[5],m[3],m[2]),C(x+w,m[5],m[7],m[8]),C(x+w+1,m[5],m[9],m[8]);break;case 7:case 39:case 135:M(x,m[5],m[4]),M(x+1,m[5],m[6]),C(x+w,m[5],m[8],m[4]),C(x+w+1,m[5],m[6],m[8]);break;case 148:case 149:case 180:C(x,m[5],m[4],m[2]),M(x+1,m[5],m[2]),C(x+w,m[5],m[8],m[4]),M(x+w+1,m[5],m[8]);break;case 224:case 228:case 225:C(x,m[5],m[4],m[2]),C(x+1,m[5],m[2],m[6]),M(x+w,m[5],m[4]),M(x+w+1,m[5],m[6]);break;case 41:case 169:case 45:M(x,m[5],m[2]),C(x+1,m[5],m[2],m[6]),M(x+w,m[5],m[8]),C(x+w+1,m[5],m[6],m[8]);break;case 22:case 54:C(x,m[5],m[1],m[4]),D(m[2],m[6])?q[x+1]=m[5]:C(x+1,m[5],m[2],m[6]),C(x+w,m[5],m[8],m[4]),C(x+w+1,m[5],m[9],m[8]);break;case 208:case 209:C(x,m[5],m[4],m[2]),C(x+1,m[5],m[3],m[2]),C(x+w,m[5],m[7],m[4]),D(m[6],m[8])?q[x+w+1]=m[5]:C(x+w+1,m[5],m[6],m[8]);break;case 104:case 108:C(x,m[5],m[1],m[2]),C(x+1,m[5],m[2],m[6]),D(m[8],m[4])?q[x+w]=m[5]:C(x+w,m[5],m[8],m[4]),C(x+w+1,m[5],m[9],m[6]);break;case 11:case 139:D(m[4],m[2])?q[x]=m[5]:C(x,m[5],m[4],m[2]),C(x+1,m[5],m[3],m[6]),C(x+w,m[5],m[7],m[8]),C(x+w+1,m[5],m[6],m[8]);break;case 19:case 51:D(m[2],m[6])?(M(x,m[5],m[4]),M(x+1,m[5],m[3])):(O(x,m[5],m[2],m[4]),P(x+1,m[5],m[2],m[6])),C(x+w,m[5],m[8],m[4]),C(x+w+1,m[5],m[9],m[8]);break;case 146:case 178:C(x,m[5],m[1],m[4]),D(m[2],m[6])?(M(x+1,m[5],m[3]),M(x+w+1,m[5],m[8])):(P(x+1,m[5],m[2],m[6]),O(x+w+1,m[5],m[6],m[8])),C(x+w,m[5],m[8],m[4]);break;case 84:case 85:C(x,m[5],m[4],m[2]),D(m[6],m[8])?(M(x+1,m[5],m[2]),M(x+w+1,m[5],m[9])):(O(x+1,m[5],m[6],m[2]),P(x+w+1,m[5],m[6],m[8])),C(x+w,m[5],m[7],m[4]);break;case 112:case 113:C(x,m[5],m[4],m[2]),C(x+1,m[5],m[3],m[2]),D(m[6],m[8])?(M(x+w,m[5],m[4]),M(x+w+1,m[5],m[9])):(O(x+w,m[5],m[8],m[4]),P(x+w+1,m[5],m[6],m[8]));break;case 200:case 204:C(x,m[5],m[1],m[2]),C(x+1,m[5],m[2],m[6]),D(m[8],m[4])?(M(x+w,m[5],m[7]),M(x+w+1,m[5],m[6])):(P(x+w,m[5],m[8],m[4]),O(x+w+1,m[5],m[8],m[6]));break;case 73:case 77:D(m[8],m[4])?(M(x,m[5],m[2]),M(x+w,m[5],m[7])):(O(x,m[5],m[4],m[2]),P(x+w,m[5],m[8],m[4])),C(x+1,m[5],m[2],m[6]),C(x+w+1,m[5],m[9],m[6]);break;case 42:case 170:D(m[4],m[2])?(M(x,m[5],m[4]),M(x+w,m[5],m[8])):(P(x,m[5],m[4],m[2]),O(x+w,m[5],m[4],m[8])),C(x+1,m[5],m[3],m[6]),C(x+w+1,m[5],m[6],m[8]);break;case 14:case 142:D(m[4],m[2])?(M(x,m[5],m[4]),M(x+1,m[5],m[6])):(P(x,m[5],m[4],m[2]),O(x+1,m[5],m[2],m[6])),C(x+w,m[5],m[7],m[8]),C(x+w+1,m[5],m[6],m[8]);break;case 67:M(x,m[5],m[4]),C(x+1,m[5],m[3],m[6]),C(x+w,m[5],m[7],m[4]),C(x+w+1,m[5],m[9],m[6]);break;case 70:C(x,m[5],m[1],m[4]),M(x+1,m[5],m[6]),C(x+w,m[5],m[7],m[4]),C(x+w+1,m[5],m[9],m[6]);break;case 28:C(x,m[5],m[1],m[2]),M(x+1,m[5],m[2]),C(x+w,m[5],m[7],m[8]),C(x+w+1,m[5],m[9],m[8]);break;case 152:C(x,m[5],m[1],m[2]),C(x+1,m[5],m[3],m[2]),C(x+w,m[5],m[7],m[8]),M(x+w+1,m[5],m[8]);break;case 194:C(x,m[5],m[1],m[4]),C(x+1,m[5],m[3],m[6]),C(x+w,m[5],m[7],m[4]),M(x+w+1,m[5],m[6]);break;case 98:C(x,m[5],m[1],m[4]),C(x+1,m[5],m[3],m[6]),M(x+w,m[5],m[4]),C(x+w+1,m[5],m[9],m[6]);break;case 56:C(x,m[5],m[1],m[2]),C(x+1,m[5],m[3],m[2]),M(x+w,m[5],m[8]),C(x+w+1,m[5],m[9],m[8]);break;case 25:M(x,m[5],m[2]),C(x+1,m[5],m[3],m[2]),C(x+w,m[5],m[7],m[8]),C(x+w+1,m[5],m[9],m[8]);break;case 26:case 31:D(m[4],m[2])?q[x]=m[5]:C(x,m[5],m[4],m[2]),D(m[2],m[6])?q[x+1]=m[5]:C(x+1,m[5],m[2],m[6]),C(x+w,m[5],m[7],m[8]),C(x+w+1,m[5],m[9],m[8]);break;case 82:case 214:C(x,m[5],m[1],m[4]),D(m[2],m[6])?q[x+1]=m[5]:C(x+1,m[5],m[2],m[6]),C(x+w,m[5],m[7],m[4]),D(m[6],m[8])?q[x+w+1]=m[5]:C(x+w+1,m[5],m[6],m[8]);break;case 88:case 248:C(x,m[5],m[1],m[2]),C(x+1,m[5],m[3],m[2]),D(m[8],m[4])?q[x+w]=m[5]:C(x+w,m[5],m[8],m[4]),D(m[6],m[8])?q[x+w+1]=m[5]:C(x+w+1,m[5],m[6],m[8]);break;case 74:case 107:D(m[4],m[2])?q[x]=m[5]:C(x,m[5],m[4],m[2]),C(x+1,m[5],m[3],m[6]),D(m[8],m[4])?q[x+w]=m[5]:C(x+w,m[5],m[8],m[4]),C(x+w+1,m[5],m[9],m[6]);break;case 27:D(m[4],m[2])?q[x]=m[5]:C(x,m[5],m[4],m[2]),M(x+1,m[5],m[3]),C(x+w,m[5],m[7],m[8]),C(x+w+1,m[5],m[9],m[8]);break;case 86:C(x,m[5],m[1],m[4]),D(m[2],m[6])?q[x+1]=m[5]:C(x+1,m[5],m[2],m[6]),C(x+w,m[5],m[7],m[4]),M(x+w+1,m[5],m[9]);break;case 216:C(x,m[5],m[1],m[2]),C(x+1,m[5],m[3],m[2]),M(x+w,m[5],m[7]),D(m[6],m[8])?q[x+w+1]=m[5]:C(x+w+1,m[5],m[6],m[8]);break;case 106:M(x,m[5],m[4]),C(x+1,m[5],m[3],m[6]),D(m[8],m[4])?q[x+w]=m[5]:C(x+w,m[5],m[8],m[4]),C(x+w+1,m[5],m[9],m[6]);break;case 30:M(x,m[5],m[4]),D(m[2],m[6])?q[x+1]=m[5]:C(x+1,m[5],m[2],m[6]),C(x+w,m[5],m[7],m[8]),C(x+w+1,m[5],m[9],m[8]);break;case 210:C(x,m[5],m[1],m[4]),M(x+1,m[5],m[3]),C(x+w,m[5],m[7],m[4]),D(m[6],m[8])?q[x+w+1]=m[5]:C(x+w+1,m[5],m[6],m[8]);break;case 120:C(x,m[5],m[1],m[2]),C(x+1,m[5],m[3],m[2]),D(m[8],m[4])?q[x+w]=m[5]:C(x+w,m[5],m[8],m[4]),M(x+w+1,m[5],m[9]);break;case 75:D(m[4],m[2])?q[x]=m[5]:C(x,m[5],m[4],m[2]),C(x+1,m[5],m[3],m[6]),M(x+w,m[5],m[7]),C(x+w+1,m[5],m[9],m[6]);break;case 29:M(x,m[5],m[2]),M(x+1,m[5],m[2]),C(x+w,m[5],m[7],m[8]),C(x+w+1,m[5],m[9],m[8]);break;case 198:C(x,m[5],m[1],m[4]),M(x+1,m[5],m[6]),C(x+w,m[5],m[7],m[4]),M(x+w+1,m[5],m[6]);break;case 184:C(x,m[5],m[1],m[2]),C(x+1,m[5],m[3],m[2]),M(x+w,m[5],m[8]),M(x+w+1,m[5],m[8]);break;case 99:M(x,m[5],m[4]),C(x+1,m[5],m[3],m[6]),M(x+w,m[5],m[4]),C(x+w+1,m[5],m[9],m[6]);break;case 57:M(x,m[5],m[2]),C(x+1,m[5],m[3],m[2]),M(x+w,m[5],m[8]),C(x+w+1,m[5],m[9],m[8]);break;case 71:M(x,m[5],m[4]),M(x+1,m[5],m[6]),C(x+w,m[5],m[7],m[4]),C(x+w+1,m[5],m[9],m[6]);break;case 156:C(x,m[5],m[1],m[2]),M(x+1,m[5],m[2]),C(x+w,m[5],m[7],m[8]),M(x+w+1,m[5],m[8]);break;case 226:C(x,m[5],m[1],m[4]),C(x+1,m[5],m[3],m[6]),M(x+w,m[5],m[4]),M(x+w+1,m[5],m[6]);break;case 60:C(x,m[5],m[1],m[2]),M(x+1,m[5],m[2]),M(x+w,m[5],m[8]),C(x+w+1,m[5],m[9],m[8]);break;case 195:M(x,m[5],m[4]),C(x+1,m[5],m[3],m[6]),C(x+w,m[5],m[7],m[4]),M(x+w+1,m[5],m[6]);break;case 102:C(x,m[5],m[1],m[4]),M(x+1,m[5],m[6]),M(x+w,m[5],m[4]),C(x+w+1,m[5],m[9],m[6]);break;case 153:M(x,m[5],m[2]),C(x+1,m[5],m[3],m[2]),C(x+w,m[5],m[7],m[8]),M(x+w+1,m[5],m[8]);break;case 58:D(m[4],m[2])?M(x,m[5],m[4]):H(x,m[5],m[4],m[2]),D(m[2],m[6])?M(x+1,m[5],m[3]):H(x+1,m[5],m[2],m[6]),M(x+w,m[5],m[8]),C(x+w+1,m[5],m[9],m[8]);break;case 83:M(x,m[5],m[4]),D(m[2],m[6])?M(x+1,m[5],m[3]):H(x+1,m[5],m[2],m[6]),C(x+w,m[5],m[7],m[4]),D(m[6],m[8])?M(x+w+1,m[5],m[9]):H(x+w+1,m[5],m[6],m[8]);break;case 92:C(x,m[5],m[1],m[2]),M(x+1,m[5],m[2]),D(m[8],m[4])?M(x+w,m[5],m[7]):H(x+w,m[5],m[8],m[4]),D(m[6],m[8])?M(x+w+1,m[5],m[9]):H(x+w+1,m[5],m[6],m[8]);break;case 202:D(m[4],m[2])?M(x,m[5],m[4]):H(x,m[5],m[4],m[2]),C(x+1,m[5],m[3],m[6]),D(m[8],m[4])?M(x+w,m[5],m[7]):H(x+w,m[5],m[8],m[4]),M(x+w+1,m[5],m[6]);break;case 78:D(m[4],m[2])?M(x,m[5],m[4]):H(x,m[5],m[4],m[2]),M(x+1,m[5],m[6]),D(m[8],m[4])?M(x+w,m[5],m[7]):H(x+w,m[5],m[8],m[4]),C(x+w+1,m[5],m[9],m[6]);break;case 154:D(m[4],m[2])?M(x,m[5],m[4]):H(x,m[5],m[4],m[2]),D(m[2],m[6])?M(x+1,m[5],m[3]):H(x+1,m[5],m[2],m[6]),C(x+w,m[5],m[7],m[8]),M(x+w+1,m[5],m[8]);break;case 114:C(x,m[5],m[1],m[4]),D(m[2],m[6])?M(x+1,m[5],m[3]):H(x+1,m[5],m[2],m[6]),M(x+w,m[5],m[4]),D(m[6],m[8])?M(x+w+1,m[5],m[9]):H(x+w+1,m[5],m[6],m[8]);break;case 89:M(x,m[5],m[2]),C(x+1,m[5],m[3],m[2]),D(m[8],m[4])?M(x+w,m[5],m[7]):H(x+w,m[5],m[8],m[4]),D(m[6],m[8])?M(x+w+1,m[5],m[9]):H(x+w+1,m[5],m[6],m[8]);break;case 90:D(m[4],m[2])?M(x,m[5],m[4]):H(x,m[5],m[4],m[2]),D(m[2],m[6])?M(x+1,m[5],m[3]):H(x+1,m[5],m[2],m[6]),D(m[8],m[4])?M(x+w,m[5],m[7]):H(x+w,m[5],m[8],m[4]),D(m[6],m[8])?M(x+w+1,m[5],m[9]):H(x+w+1,m[5],m[6],m[8]);break;case 55:case 23:D(m[2],m[6])?(M(x,m[5],m[4]),q[x+1]=m[5]):(O(x,m[5],m[2],m[4]),P(x+1,m[5],m[2],m[6])),C(x+w,m[5],m[8],m[4]),C(x+w+1,m[5],m[9],m[8]);break;case 182:case 150:C(x,m[5],m[1],m[4]),D(m[2],m[6])?(q[x+1]=m[5],M(x+w+1,m[5],m[8])):(P(x+1,m[5],m[2],m[6]),O(x+w+1,m[5],m[6],m[8])),C(x+w,m[5],m[8],m[4]);break;case 213:case 212:C(x,m[5],m[4],m[2]),D(m[6],m[8])?(M(x+1,m[5],m[2]),q[x+w+1]=m[5]):(O(x+1,m[5],m[6],m[2]),P(x+w+1,m[5],m[6],m[8])),C(x+w,m[5],m[7],m[4]);break;case 241:case 240:C(x,m[5],m[4],m[2]),C(x+1,m[5],m[3],m[2]),D(m[6],m[8])?(M(x+w,m[5],m[4]),q[x+w+1]=m[5]):(O(x+w,m[5],m[8],m[4]),P(x+w+1,m[5],m[6],m[8]));break;case 236:case 232:C(x,m[5],m[1],m[2]),C(x+1,m[5],m[2],m[6]),D(m[8],m[4])?(q[x+w]=m[5],M(x+w+1,m[5],m[6])):(P(x+w,m[5],m[8],m[4]),O(x+w+1,m[5],m[8],m[6]));break;case 109:case 105:D(m[8],m[4])?(M(x,m[5],m[2]),q[x+w]=m[5]):(O(x,m[5],m[4],m[2]),P(x+w,m[5],m[8],m[4])),C(x+1,m[5],m[2],m[6]),C(x+w+1,m[5],m[9],m[6]);break;case 171:case 43:D(m[4],m[2])?(q[x]=m[5],M(x+w,m[5],m[8])):(P(x,m[5],m[4],m[2]),O(x+w,m[5],m[4],m[8])),C(x+1,m[5],m[3],m[6]),C(x+w+1,m[5],m[6],m[8]);break;case 143:case 15:D(m[4],m[2])?(q[x]=m[5],M(x+1,m[5],m[6])):(P(x,m[5],m[4],m[2]),O(x+1,m[5],m[2],m[6])),C(x+w,m[5],m[7],m[8]),C(x+w+1,m[5],m[6],m[8]);break;case 124:C(x,m[5],m[1],m[2]),M(x+1,m[5],m[2]),D(m[8],m[4])?q[x+w]=m[5]:C(x+w,m[5],m[8],m[4]),M(x+w+1,m[5],m[9]);break;case 203:D(m[4],m[2])?q[x]=m[5]:C(x,m[5],m[4],m[2]),C(x+1,m[5],m[3],m[6]),M(x+w,m[5],m[7]),M(x+w+1,m[5],m[6]);break;case 62:M(x,m[5],m[4]),D(m[2],m[6])?q[x+1]=m[5]:C(x+1,m[5],m[2],m[6]),M(x+w,m[5],m[8]),C(x+w+1,m[5],m[9],m[8]);break;case 211:M(x,m[5],m[4]),M(x+1,m[5],m[3]),C(x+w,m[5],m[7],m[4]),D(m[6],m[8])?q[x+w+1]=m[5]:C(x+w+1,m[5],m[6],m[8]);break;case 118:C(x,m[5],m[1],m[4]),D(m[2],m[6])?q[x+1]=m[5]:C(x+1,m[5],m[2],m[6]),M(x+w,m[5],m[4]),M(x+w+1,m[5],m[9]);break;case 217:M(x,m[5],m[2]),C(x+1,m[5],m[3],m[2]),M(x+w,m[5],m[7]),D(m[6],m[8])?q[x+w+1]=m[5]:C(x+w+1,m[5],m[6],m[8]);break;case 110:M(x,m[5],m[4]),M(x+1,m[5],m[6]),D(m[8],m[4])?q[x+w]=m[5]:C(x+w,m[5],m[8],m[4]),C(x+w+1,m[5],m[9],m[6]);break;case 155:D(m[4],m[2])?q[x]=m[5]:C(x,m[5],m[4],m[2]),M(x+1,m[5],m[3]),C(x+w,m[5],m[7],m[8]),M(x+w+1,m[5],m[8]);break;case 188:C(x,m[5],m[1],m[2]),M(x+1,m[5],m[2]),M(x+w,m[5],m[8]),M(x+w+1,m[5],m[8]);break;case 185:M(x,m[5],m[2]),C(x+1,m[5],m[3],m[2]),M(x+w,m[5],m[8]),M(x+w+1,m[5],m[8]);break;case 61:M(x,m[5],m[2]),M(x+1,m[5],m[2]),M(x+w,m[5],m[8]),C(x+w+1,m[5],m[9],m[8]);break;case 157:M(x,m[5],m[2]),M(x+1,m[5],m[2]),C(x+w,m[5],m[7],m[8]),M(x+w+1,m[5],m[8]);break;case 103:M(x,m[5],m[4]),M(x+1,m[5],m[6]),M(x+w,m[5],m[4]),C(x+w+1,m[5],m[9],m[6]);break;case 227:M(x,m[5],m[4]),C(x+1,m[5],m[3],m[6]),M(x+w,m[5],m[4]),M(x+w+1,m[5],m[6]);break;case 230:C(x,m[5],m[1],m[4]),M(x+1,m[5],m[6]),M(x+w,m[5],m[4]),M(x+w+1,m[5],m[6]);break;case 199:M(x,m[5],m[4]),M(x+1,m[5],m[6]),C(x+w,m[5],m[7],m[4]),M(x+w+1,m[5],m[6]);break;case 220:C(x,m[5],m[1],m[2]),M(x+1,m[5],m[2]),D(m[8],m[4])?M(x+w,m[5],m[7]):H(x+w,m[5],m[8],m[4]),D(m[6],m[8])?q[x+w+1]=m[5]:C(x+w+1,m[5],m[6],m[8]);break;case 158:D(m[4],m[2])?M(x,m[5],m[4]):H(x,m[5],m[4],m[2]),D(m[2],m[6])?q[x+1]=m[5]:C(x+1,m[5],m[2],m[6]),C(x+w,m[5],m[7],m[8]),M(x+w+1,m[5],m[8]);break;case 234:D(m[4],m[2])?M(x,m[5],m[4]):H(x,m[5],m[4],m[2]),C(x+1,m[5],m[3],m[6]),D(m[8],m[4])?q[x+w]=m[5]:C(x+w,m[5],m[8],m[4]),M(x+w+1,m[5],m[6]);break;case 242:C(x,m[5],m[1],m[4]),D(m[2],m[6])?M(x+1,m[5],m[3]):H(x+1,m[5],m[2],m[6]),M(x+w,m[5],m[4]),D(m[6],m[8])?q[x+w+1]=m[5]:C(x+w+1,m[5],m[6],m[8]);break;case 59:D(m[4],m[2])?q[x]=m[5]:C(x,m[5],m[4],m[2]),D(m[2],m[6])?M(x+1,m[5],m[3]):H(x+1,m[5],m[2],m[6]),M(x+w,m[5],m[8]),C(x+w+1,m[5],m[9],m[8]);break;case 121:M(x,m[5],m[2]),C(x+1,m[5],m[3],m[2]),D(m[8],m[4])?q[x+w]=m[5]:C(x+w,m[5],m[8],m[4]),D(m[6],m[8])?M(x+w+1,m[5],m[9]):H(x+w+1,m[5],m[6],m[8]);break;case 87:M(x,m[5],m[4]),D(m[2],m[6])?q[x+1]=m[5]:C(x+1,m[5],m[2],m[6]),C(x+w,m[5],m[7],m[4]),D(m[6],m[8])?M(x+w+1,m[5],m[9]):H(x+w+1,m[5],m[6],m[8]);break;case 79:D(m[4],m[2])?q[x]=m[5]:C(x,m[5],m[4],m[2]),M(x+1,m[5],m[6]),D(m[8],m[4])?M(x+w,m[5],m[7]):H(x+w,m[5],m[8],m[4]),C(x+w+1,m[5],m[9],m[6]);break;case 122:D(m[4],m[2])?M(x,m[5],m[4]):H(x,m[5],m[4],m[2]),D(m[2],m[6])?M(x+1,m[5],m[3]):H(x+1,m[5],m[2],m[6]),D(m[8],m[4])?q[x+w]=m[5]:C(x+w,m[5],m[8],m[4]),D(m[6],m[8])?M(x+w+1,m[5],m[9]):H(x+w+1,m[5],m[6],m[8]);break;case 94:D(m[4],m[2])?M(x,m[5],m[4]):H(x,m[5],m[4],m[2]),D(m[2],m[6])?q[x+1]=m[5]:C(x+1,m[5],m[2],m[6]),D(m[8],m[4])?M(x+w,m[5],m[7]):H(x+w,m[5],m[8],m[4]),D(m[6],m[8])?M(x+w+1,m[5],m[9]):H(x+w+1,m[5],m[6],m[8]);break;case 218:D(m[4],m[2])?M(x,m[5],m[4]):H(x,m[5],m[4],m[2]),D(m[2],m[6])?M(x+1,m[5],m[3]):H(x+1,m[5],m[2],m[6]),D(m[8],m[4])?M(x+w,m[5],m[7]):H(x+w,m[5],m[8],m[4]),D(m[6],m[8])?q[x+w+1]=m[5]:C(x+w+1,m[5],m[6],m[8]);break;case 91:D(m[4],m[2])?q[x]=m[5]:C(x,m[5],m[4],m[2]),D(m[2],m[6])?M(x+1,m[5],m[3]):H(x+1,m[5],m[2],m[6]),D(m[8],m[4])?M(x+w,m[5],m[7]):H(x+w,m[5],m[8],m[4]),D(m[6],m[8])?M(x+w+1,m[5],m[9]):H(x+w+1,m[5],m[6],m[8]);break;case 229:C(x,m[5],m[4],m[2]),C(x+1,m[5],m[2],m[6]),M(x+w,m[5],m[4]),M(x+w+1,m[5],m[6]);break;case 167:M(x,m[5],m[4]),M(x+1,m[5],m[6]),C(x+w,m[5],m[8],m[4]),C(x+w+1,m[5],m[6],m[8]);break;case 173:M(x,m[5],m[2]),C(x+1,m[5],m[2],m[6]),M(x+w,m[5],m[8]),C(x+w+1,m[5],m[6],m[8]);break;case 181:C(x,m[5],m[4],m[2]),M(x+1,m[5],m[2]),C(x+w,m[5],m[8],m[4]),M(x+w+1,m[5],m[8]);break;case 186:D(m[4],m[2])?M(x,m[5],m[4]):H(x,m[5],m[4],m[2]),D(m[2],m[6])?M(x+1,m[5],m[3]):H(x+1,m[5],m[2],m[6]),M(x+w,m[5],m[8]),M(x+w+1,m[5],m[8]);break;case 115:M(x,m[5],m[4]),D(m[2],m[6])?M(x+1,m[5],m[3]):H(x+1,m[5],m[2],m[6]),M(x+w,m[5],m[4]),D(m[6],m[8])?M(x+w+1,m[5],m[9]):H(x+w+1,m[5],m[6],m[8]);break;case 93:M(x,m[5],m[2]),M(x+1,m[5],m[2]),D(m[8],m[4])?M(x+w,m[5],m[7]):H(x+w,m[5],m[8],m[4]),D(m[6],m[8])?M(x+w+1,m[5],m[9]):H(x+w+1,m[5],m[6],m[8]);break;case 206:D(m[4],m[2])?M(x,m[5],m[4]):H(x,m[5],m[4],m[2]),M(x+1,m[5],m[6]),D(m[8],m[4])?M(x+w,m[5],m[7]):H(x+w,m[5],m[8],m[4]),M(x+w+1,m[5],m[6]);break;case 205:case 201:M(x,m[5],m[2]),C(x+1,m[5],m[2],m[6]),D(m[8],m[4])?M(x+w,m[5],m[7]):H(x+w,m[5],m[8],m[4]),M(x+w+1,m[5],m[6]);break;case 174:case 46:D(m[4],m[2])?M(x,m[5],m[4]):H(x,m[5],m[4],m[2]),M(x+1,m[5],m[6]),M(x+w,m[5],m[8]),C(x+w+1,m[5],m[6],m[8]);break;case 179:case 147:M(x,m[5],m[4]),D(m[2],m[6])?M(x+1,m[5],m[3]):H(x+1,m[5],m[2],m[6]),C(x+w,m[5],m[8],m[4]),M(x+w+1,m[5],m[8]);break;case 117:case 116:C(x,m[5],m[4],m[2]),M(x+1,m[5],m[2]),M(x+w,m[5],m[4]),D(m[6],m[8])?M(x+w+1,m[5],m[9]):H(x+w+1,m[5],m[6],m[8]);break;case 189:M(x,m[5],m[2]),M(x+1,m[5],m[2]),M(x+w,m[5],m[8]),M(x+w+1,m[5],m[8]);break;case 231:M(x,m[5],m[4]),M(x+1,m[5],m[6]),M(x+w,m[5],m[4]),M(x+w+1,m[5],m[6]);break;case 126:M(x,m[5],m[4]),D(m[2],m[6])?q[x+1]=m[5]:C(x+1,m[5],m[2],m[6]),D(m[8],m[4])?q[x+w]=m[5]:C(x+w,m[5],m[8],m[4]),M(x+w+1,m[5],m[9]);break;case 219:D(m[4],m[2])?q[x]=m[5]:C(x,m[5],m[4],m[2]),M(x+1,m[5],m[3]),M(x+w,m[5],m[7]),D(m[6],m[8])?q[x+w+1]=m[5]:C(x+w+1,m[5],m[6],m[8]);break;case 125:D(m[8],m[4])?(M(x,m[5],m[2]),q[x+w]=m[5]):(O(x,m[5],m[4],m[2]),P(x+w,m[5],m[8],m[4])),M(x+1,m[5],m[2]),M(x+w+1,m[5],m[9]);break;case 221:M(x,m[5],m[2]),D(m[6],m[8])?(M(x+1,m[5],m[2]),q[x+w+1]=m[5]):(O(x+1,m[5],m[6],m[2]),P(x+w+1,m[5],m[6],m[8])),M(x+w,m[5],m[7]);break;case 207:D(m[4],m[2])?(q[x]=m[5],M(x+1,m[5],m[6])):(P(x,m[5],m[4],m[2]),O(x+1,m[5],m[2],m[6])),M(x+w,m[5],m[7]),M(x+w+1,m[5],m[6]);break;case 238:M(x,m[5],m[4]),M(x+1,m[5],m[6]),D(m[8],m[4])?(q[x+w]=m[5],M(x+w+1,m[5],m[6])):(P(x+w,m[5],m[8],m[4]),O(x+w+1,m[5],m[8],m[6]));break;case 190:M(x,m[5],m[4]),D(m[2],m[6])?(q[x+1]=m[5],M(x+w+1,m[5],m[8])):(P(x+1,m[5],m[2],m[6]),O(x+w+1,m[5],m[6],m[8])),M(x+w,m[5],m[8]);break;case 187:D(m[4],m[2])?(q[x]=m[5],M(x+w,m[5],m[8])):(P(x,m[5],m[4],m[2]),O(x+w,m[5],m[4],m[8])),M(x+1,m[5],m[3]),M(x+w+1,m[5],m[8]);break;case 243:M(x,m[5],m[4]),M(x+1,m[5],m[3]),D(m[6],m[8])?(M(x+w,m[5],m[4]),q[x+w+1]=m[5]):(O(x+w,m[5],m[8],m[4]),P(x+w+1,m[5],m[6],m[8]));break;case 119:D(m[2],m[6])?(M(x,m[5],m[4]),q[x+1]=m[5]):(O(x,m[5],m[2],m[4]),P(x+1,m[5],m[2],m[6])),M(x+w,m[5],m[4]),M(x+w+1,m[5],m[9]);break;case 237:case 233:M(x,m[5],m[2]),C(x+1,m[5],m[2],m[6]),D(m[8],m[4])?q[x+w]=m[5]:M(x+w,m[5],m[7]),M(x+w+1,m[5],m[6]);break;case 175:case 47:D(m[4],m[2])?q[x]=m[5]:M(x,m[5],m[4]),M(x+1,m[5],m[6]),M(x+w,m[5],m[8]),C(x+w+1,m[5],m[6],m[8]);break;case 183:case 151:M(x,m[5],m[4]),D(m[2],m[6])?q[x+1]=m[5]:M(x+1,m[5],m[3]),C(x+w,m[5],m[8],m[4]),M(x+w+1,m[5],m[8]);break;case 245:case 244:C(x,m[5],m[4],m[2]),M(x+1,m[5],m[2]),M(x+w,m[5],m[4]),D(m[6],m[8])?q[x+w+1]=m[5]:M(x+w+1,m[5],m[9]);break;case 250:M(x,m[5],m[4]),M(x+1,m[5],m[3]),D(m[8],m[4])?q[x+w]=m[5]:C(x+w,m[5],m[8],m[4]),D(m[6],m[8])?q[x+w+1]=m[5]:C(x+w+1,m[5],m[6],m[8]);break;case 123:D(m[4],m[2])?q[x]=m[5]:C(x,m[5],m[4],m[2]),M(x+1,m[5],m[3]),D(m[8],m[4])?q[x+w]=m[5]:C(x+w,m[5],m[8],m[4]),M(x+w+1,m[5],m[9]);break;case 95:D(m[4],m[2])?q[x]=m[5]:C(x,m[5],m[4],m[2]),D(m[2],m[6])?q[x+1]=m[5]:C(x+1,m[5],m[2],m[6]),M(x+w,m[5],m[7]),M(x+w+1,m[5],m[9]);break;case 222:M(x,m[5],m[4]),D(m[2],m[6])?q[x+1]=m[5]:C(x+1,m[5],m[2],m[6]),M(x+w,m[5],m[7]),D(m[6],m[8])?q[x+w+1]=m[5]:C(x+w+1,m[5],m[6],m[8]);break;case 252:C(x,m[5],m[1],m[2]),M(x+1,m[5],m[2]),D(m[8],m[4])?q[x+w]=m[5]:C(x+w,m[5],m[8],m[4]),D(m[6],m[8])?q[x+w+1]=m[5]:M(x+w+1,m[5],m[9]);break;case 249:M(x,m[5],m[2]),C(x+1,m[5],m[3],m[2]),D(m[8],m[4])?q[x+w]=m[5]:M(x+w,m[5],m[7]),D(m[6],m[8])?q[x+w+1]=m[5]:C(x+w+1,m[5],m[6],m[8]);break;case 235:D(m[4],m[2])?q[x]=m[5]:C(x,m[5],m[4],m[2]),C(x+1,m[5],m[3],m[6]),D(m[8],m[4])?q[x+w]=m[5]:M(x+w,m[5],m[7]),M(x+w+1,m[5],m[6]);break;case 111:D(m[4],m[2])?q[x]=m[5]:M(x,m[5],m[4]),M(x+1,m[5],m[6]),D(m[8],m[4])?q[x+w]=m[5]:C(x+w,m[5],m[8],m[4]),C(x+w+1,m[5],m[9],m[6]);break;case 63:D(m[4],m[2])?q[x]=m[5]:M(x,m[5],m[4]),D(m[2],m[6])?q[x+1]=m[5]:C(x+1,m[5],m[2],m[6]),M(x+w,m[5],m[8]),C(x+w+1,m[5],m[9],m[8]);break;case 159:D(m[4],m[2])?q[x]=m[5]:C(x,m[5],m[4],m[2]),D(m[2],m[6])?q[x+1]=m[5]:M(x+1,m[5],m[3]),C(x+w,m[5],m[7],m[8]),M(x+w+1,m[5],m[8]);break;case 215:M(x,m[5],m[4]),D(m[2],m[6])?q[x+1]=m[5]:M(x+1,m[5],m[3]),C(x+w,m[5],m[7],m[4]),D(m[6],m[8])?q[x+w+1]=m[5]:C(x+w+1,m[5],m[6],m[8]);break;case 246:C(x,m[5],m[1],m[4]),D(m[2],m[6])?q[x+1]=m[5]:C(x+1,m[5],m[2],m[6]),M(x+w,m[5],m[4]),D(m[6],m[8])?q[x+w+1]=m[5]:M(x+w+1,m[5],m[9]);break;case 254:M(x,m[5],m[4]),D(m[2],m[6])?q[x+1]=m[5]:C(x+1,m[5],m[2],m[6]),D(m[8],m[4])?q[x+w]=m[5]:C(x+w,m[5],m[8],m[4]),D(m[6],m[8])?q[x+w+1]=m[5]:M(x+w+1,m[5],m[9]);break;case 253:M(x,m[5],m[2]),M(x+1,m[5],m[2]),D(m[8],m[4])?q[x+w]=m[5]:M(x+w,m[5],m[7]),D(m[6],m[8])?q[x+w+1]=m[5]:M(x+w+1,m[5],m[9]);break;case 251:D(m[4],m[2])?q[x]=m[5]:C(x,m[5],m[4],m[2]),M(x+1,m[5],m[3]),D(m[8],m[4])?q[x+w]=m[5]:M(x+w,m[5],m[7]),D(m[6],m[8])?q[x+w+1]=m[5]:C(x+w+1,m[5],m[6],m[8]);break;case 239:D(m[4],m[2])?q[x]=m[5]:M(x,m[5],m[4]),M(x+1,m[5],m[6]),D(m[8],m[4])?q[x+w]=m[5]:M(x+w,m[5],m[7]),M(x+w+1,m[5],m[6]);break;case 127:D(m[4],m[2])?q[x]=m[5]:M(x,m[5],m[4]),D(m[2],m[6])?q[x+1]=m[5]:C(x+1,m[5],m[2],m[6]),D(m[8],m[4])?q[x+w]=m[5]:C(x+w,m[5],m[8],m[4]),M(x+w+1,m[5],m[9]);break;case 191:D(m[4],m[2])?q[x]=m[5]:M(x,m[5],m[4]),D(m[2],m[6])?q[x+1]=m[5]:M(x+1,m[5],m[3]),M(x+w,m[5],m[8]),M(x+w+1,m[5],m[8]);break;case 223:D(m[4],m[2])?q[x]=m[5]:C(x,m[5],m[4],m[2]),D(m[2],m[6])?q[x+1]=m[5]:M(x+1,m[5],m[3]),M(x+w,m[5],m[7]),D(m[6],m[8])?q[x+w+1]=m[5]:C(x+w+1,m[5],m[6],m[8]);break;case 247:M(x,m[5],m[4]),D(m[2],m[6])?q[x+1]=m[5]:M(x+1,m[5],m[3]),M(x+w,m[5],m[4]),D(m[6],m[8])?q[x+w+1]=m[5]:M(x+w+1,m[5],m[9]);break;case 255:D(m[4],m[2])?q[x]=m[5]:M(x,m[5],m[4]),D(m[2],m[6])?q[x+1]=m[5]:M(x+1,m[5],m[3]),D(m[8],m[4])?q[x+w]=m[5]:M(x+w,m[5],m[7]),D(m[6],m[8])?q[x+w+1]=m[5]:M(x+w+1,m[5],m[9])}y++,x+=2}x+=w}},w=function(e,a){var c,h,d,g,l,v,p,m=[],w=3*e,x=0,y=0,D=t,I=b,j=k,M=n,C=o,O=i,H=u,P=f,_=s,q=r;for(h=0;h<a;h++){for(g=h>0?-e:0,l=h<a-1?e:0,c=0;c<e;c++){m[2]=_[y+g],m[5]=_[y],m[8]=_[y+l],c>0?(m[1]=_[y+g-1],m[4]=_[y-1],m[7]=_[y+l-1]):(m[1]=m[2],m[4]=m[5],m[7]=m[8]),c<e-1?(m[3]=_[y+g+1],m[6]=_[y+1],m[9]=_[y+l+1]):(m[3]=m[2],m[6]=m[5],m[9]=m[8]);var A=0,E=1;for(v=j(m[5]),d=1;d<10;d++)5!==d&&(m[d]!==m[5]&&(p=j(m[d]),(I.abs((16711680&v)-(16711680&p))>3145728||I.abs((65280&v)-(65280&p))>1792||I.abs((255&v)-(255&p))>6)&&(A|=E)),E<<=1);switch(A){case 0:case 1:case 4:case 32:case 128:case 5:case 132:case 160:case 33:case 129:case 36:case 133:case 164:case 161:case 37:case 165:C(x,m[5],m[4],m[2]),M(x+1,m[5],m[2]),C(x+2,m[5],m[2],m[6]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),C(x+(w<<1),m[5],m[8],m[4]),M(x+(w<<1)+1,m[5],m[8]),C(x+(w<<1)+2,m[5],m[6],m[8]);break;case 2:case 34:case 130:case 162:M(x,m[5],m[1]),q[x+1]=m[5],M(x+2,m[5],m[3]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),C(x+(w<<1),m[5],m[8],m[4]),M(x+(w<<1)+1,m[5],m[8]),C(x+(w<<1)+2,m[5],m[6],m[8]);break;case 16:case 17:case 48:case 49:C(x,m[5],m[4],m[2]),M(x+1,m[5],m[2]),M(x+2,m[5],m[3]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],q[x+w+2]=m[5],C(x+(w<<1),m[5],m[8],m[4]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[9]);break;case 64:case 65:case 68:case 69:C(x,m[5],m[4],m[2]),M(x+1,m[5],m[2]),C(x+2,m[5],m[2],m[6]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[7]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[9]);break;case 8:case 12:case 136:case 140:M(x,m[5],m[1]),M(x+1,m[5],m[2]),C(x+2,m[5],m[2],m[6]),q[x+w]=m[5],q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[7]),M(x+(w<<1)+1,m[5],m[8]),C(x+(w<<1)+2,m[5],m[6],m[8]);break;case 3:case 35:case 131:case 163:M(x,m[5],m[4]),q[x+1]=m[5],M(x+2,m[5],m[3]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),C(x+(w<<1),m[5],m[8],m[4]),M(x+(w<<1)+1,m[5],m[8]),C(x+(w<<1)+2,m[5],m[6],m[8]);break;case 6:case 38:case 134:case 166:M(x,m[5],m[1]),q[x+1]=m[5],M(x+2,m[5],m[6]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),C(x+(w<<1),m[5],m[8],m[4]),M(x+(w<<1)+1,m[5],m[8]),C(x+(w<<1)+2,m[5],m[6],m[8]);break;case 20:case 21:case 52:case 53:C(x,m[5],m[4],m[2]),M(x+1,m[5],m[2]),M(x+2,m[5],m[2]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],q[x+w+2]=m[5],C(x+(w<<1),m[5],m[8],m[4]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[9]);break;case 144:case 145:case 176:case 177:C(x,m[5],m[4],m[2]),M(x+1,m[5],m[2]),M(x+2,m[5],m[3]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],q[x+w+2]=m[5],C(x+(w<<1),m[5],m[8],m[4]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[8]);break;case 192:case 193:case 196:case 197:C(x,m[5],m[4],m[2]),M(x+1,m[5],m[2]),C(x+2,m[5],m[2],m[6]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[7]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[6]);break;case 96:case 97:case 100:case 101:C(x,m[5],m[4],m[2]),M(x+1,m[5],m[2]),C(x+2,m[5],m[2],m[6]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[4]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[9]);break;case 40:case 44:case 168:case 172:M(x,m[5],m[1]),M(x+1,m[5],m[2]),C(x+2,m[5],m[2],m[6]),q[x+w]=m[5],q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[8]),M(x+(w<<1)+1,m[5],m[8]),C(x+(w<<1)+2,m[5],m[6],m[8]);break;case 9:case 13:case 137:case 141:M(x,m[5],m[2]),M(x+1,m[5],m[2]),C(x+2,m[5],m[2],m[6]),q[x+w]=m[5],q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[7]),M(x+(w<<1)+1,m[5],m[8]),C(x+(w<<1)+2,m[5],m[6],m[8]);break;case 18:case 50:M(x,m[5],m[1]),D(m[2],m[6])?(q[x+1]=m[5],M(x+2,m[5],m[3]),q[x+w+2]=m[5]):(O(x+1,m[5],m[2]),H(x+2,m[5],m[2],m[6]),O(x+w+2,m[5],m[6])),M(x+w,m[5],m[4]),q[x+w+1]=m[5],C(x+(w<<1),m[5],m[8],m[4]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[9]);break;case 80:case 81:C(x,m[5],m[4],m[2]),M(x+1,m[5],m[2]),M(x+2,m[5],m[3]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+(w<<1),m[5],m[7]),D(m[6],m[8])?(q[x+w+2]=m[5],q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[9])):(O(x+w+2,m[5],m[6]),O(x+(w<<1)+1,m[5],m[8]),H(x+(w<<1)+2,m[5],m[6],m[8]));break;case 72:case 76:M(x,m[5],m[1]),M(x+1,m[5],m[2]),C(x+2,m[5],m[2],m[6]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),D(m[8],m[4])?(q[x+w]=m[5],M(x+(w<<1),m[5],m[7]),q[x+(w<<1)+1]=m[5]):(O(x+w,m[5],m[4]),H(x+(w<<1),m[5],m[8],m[4]),O(x+(w<<1)+1,m[5],m[8])),M(x+(w<<1)+2,m[5],m[9]);break;case 10:case 138:D(m[4],m[2])?(M(x,m[5],m[1]),q[x+1]=m[5],q[x+w]=m[5]):(H(x,m[5],m[4],m[2]),O(x+1,m[5],m[2]),O(x+w,m[5],m[4])),M(x+2,m[5],m[3]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[7]),M(x+(w<<1)+1,m[5],m[8]),C(x+(w<<1)+2,m[5],m[6],m[8]);break;case 66:M(x,m[5],m[1]),q[x+1]=m[5],M(x+2,m[5],m[3]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[7]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[9]);break;case 24:M(x,m[5],m[1]),M(x+1,m[5],m[2]),M(x+2,m[5],m[3]),q[x+w]=m[5],q[x+w+1]=m[5],q[x+w+2]=m[5],M(x+(w<<1),m[5],m[7]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[9]);break;case 7:case 39:case 135:M(x,m[5],m[4]),q[x+1]=m[5],M(x+2,m[5],m[6]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),C(x+(w<<1),m[5],m[8],m[4]),M(x+(w<<1)+1,m[5],m[8]),C(x+(w<<1)+2,m[5],m[6],m[8]);break;case 148:case 149:case 180:C(x,m[5],m[4],m[2]),M(x+1,m[5],m[2]),M(x+2,m[5],m[2]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],q[x+w+2]=m[5],C(x+(w<<1),m[5],m[8],m[4]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[8]);break;case 224:case 228:case 225:C(x,m[5],m[4],m[2]),M(x+1,m[5],m[2]),C(x+2,m[5],m[2],m[6]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[4]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[6]);break;case 41:case 169:case 45:M(x,m[5],m[2]),M(x+1,m[5],m[2]),C(x+2,m[5],m[2],m[6]),q[x+w]=m[5],q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[8]),M(x+(w<<1)+1,m[5],m[8]),C(x+(w<<1)+2,m[5],m[6],m[8]);break;case 22:case 54:M(x,m[5],m[1]),D(m[2],m[6])?(q[x+1]=m[5],q[x+2]=m[5],q[x+w+2]=m[5]):(O(x+1,m[5],m[2]),H(x+2,m[5],m[2],m[6]),O(x+w+2,m[5],m[6])),M(x+w,m[5],m[4]),q[x+w+1]=m[5],C(x+(w<<1),m[5],m[8],m[4]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[9]);break;case 208:case 209:C(x,m[5],m[4],m[2]),M(x+1,m[5],m[2]),M(x+2,m[5],m[3]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+(w<<1),m[5],m[7]),D(m[6],m[8])?(q[x+w+2]=m[5],q[x+(w<<1)+1]=m[5],q[x+(w<<1)+2]=m[5]):(O(x+w+2,m[5],m[6]),O(x+(w<<1)+1,m[5],m[8]),H(x+(w<<1)+2,m[5],m[6],m[8]));break;case 104:case 108:M(x,m[5],m[1]),M(x+1,m[5],m[2]),C(x+2,m[5],m[2],m[6]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),D(m[8],m[4])?(q[x+w]=m[5],q[x+(w<<1)]=m[5],q[x+(w<<1)+1]=m[5]):(O(x+w,m[5],m[4]),H(x+(w<<1),m[5],m[8],m[4]),O(x+(w<<1)+1,m[5],m[8])),M(x+(w<<1)+2,m[5],m[9]);break;case 11:case 139:D(m[4],m[2])?(q[x]=m[5],q[x+1]=m[5],q[x+w]=m[5]):(H(x,m[5],m[4],m[2]),O(x+1,m[5],m[2]),O(x+w,m[5],m[4])),M(x+2,m[5],m[3]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[7]),M(x+(w<<1)+1,m[5],m[8]),C(x+(w<<1)+2,m[5],m[6],m[8]);break;case 19:case 51:D(m[2],m[6])?(M(x,m[5],m[4]),q[x+1]=m[5],M(x+2,m[5],m[3]),q[x+w+2]=m[5]):(C(x,m[5],m[4],m[2]),M(x+1,m[2],m[5]),P(x+2,m[2],m[6]),M(x+w+2,m[5],m[6])),M(x+w,m[5],m[4]),q[x+w+1]=m[5],C(x+(w<<1),m[5],m[8],m[4]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[9]);break;case 146:case 178:D(m[2],m[6])?(q[x+1]=m[5],M(x+2,m[5],m[3]),q[x+w+2]=m[5],M(x+(w<<1)+2,m[5],m[8])):(M(x+1,m[5],m[2]),P(x+2,m[2],m[6]),M(x+w+2,m[6],m[5]),C(x+(w<<1)+2,m[5],m[6],m[8])),M(x,m[5],m[1]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],C(x+(w<<1),m[5],m[8],m[4]),M(x+(w<<1)+1,m[5],m[8]);break;case 84:case 85:D(m[6],m[8])?(M(x+2,m[5],m[2]),q[x+w+2]=m[5],q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[9])):(C(x+2,m[5],m[2],m[6]),M(x+w+2,m[6],m[5]),M(x+(w<<1)+1,m[5],m[8]),P(x+(w<<1)+2,m[6],m[8])),C(x,m[5],m[4],m[2]),M(x+1,m[5],m[2]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+(w<<1),m[5],m[7]);break;case 112:case 113:D(m[6],m[8])?(q[x+w+2]=m[5],M(x+(w<<1),m[5],m[4]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[9])):(M(x+w+2,m[5],m[6]),C(x+(w<<1),m[5],m[8],m[4]),M(x+(w<<1)+1,m[8],m[5]),P(x+(w<<1)+2,m[6],m[8])),C(x,m[5],m[4],m[2]),M(x+1,m[5],m[2]),M(x+2,m[5],m[3]),M(x+w,m[5],m[4]),q[x+w+1]=m[5];break;case 200:case 204:D(m[8],m[4])?(q[x+w]=m[5],M(x+(w<<1),m[5],m[7]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[6])):(M(x+w,m[5],m[4]),P(x+(w<<1),m[8],m[4]),M(x+(w<<1)+1,m[8],m[5]),C(x+(w<<1)+2,m[5],m[6],m[8])),M(x,m[5],m[1]),M(x+1,m[5],m[2]),C(x+2,m[5],m[2],m[6]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]);break;case 73:case 77:D(m[8],m[4])?(M(x,m[5],m[2]),q[x+w]=m[5],M(x+(w<<1),m[5],m[7]),q[x+(w<<1)+1]=m[5]):(C(x,m[5],m[4],m[2]),M(x+w,m[4],m[5]),P(x+(w<<1),m[8],m[4]),M(x+(w<<1)+1,m[5],m[8])),M(x+1,m[5],m[2]),C(x+2,m[5],m[2],m[6]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1)+2,m[5],m[9]);break;case 42:case 170:D(m[4],m[2])?(M(x,m[5],m[1]),q[x+1]=m[5],q[x+w]=m[5],M(x+(w<<1),m[5],m[8])):(P(x,m[4],m[2]),M(x+1,m[5],m[2]),M(x+w,m[4],m[5]),C(x+(w<<1),m[5],m[8],m[4])),M(x+2,m[5],m[3]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1)+1,m[5],m[8]),C(x+(w<<1)+2,m[5],m[6],m[8]);break;case 14:case 142:D(m[4],m[2])?(M(x,m[5],m[1]),q[x+1]=m[5],M(x+2,m[5],m[6]),q[x+w]=m[5]):(P(x,m[4],m[2]),M(x+1,m[2],m[5]),C(x+2,m[5],m[2],m[6]),M(x+w,m[5],m[4])),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[7]),M(x+(w<<1)+1,m[5],m[8]),C(x+(w<<1)+2,m[5],m[6],m[8]);break;case 67:M(x,m[5],m[4]),q[x+1]=m[5],M(x+2,m[5],m[3]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[7]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[9]);break;case 70:M(x,m[5],m[1]),q[x+1]=m[5],M(x+2,m[5],m[6]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[7]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[9]);break;case 28:M(x,m[5],m[1]),M(x+1,m[5],m[2]),M(x+2,m[5],m[2]),q[x+w]=m[5],q[x+w+1]=m[5],q[x+w+2]=m[5],M(x+(w<<1),m[5],m[7]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[9]);break;case 152:M(x,m[5],m[1]),M(x+1,m[5],m[2]),M(x+2,m[5],m[3]),q[x+w]=m[5],q[x+w+1]=m[5],q[x+w+2]=m[5],M(x+(w<<1),m[5],m[7]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[8]);break;case 194:M(x,m[5],m[1]),q[x+1]=m[5],M(x+2,m[5],m[3]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[7]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[6]);break;case 98:M(x,m[5],m[1]),q[x+1]=m[5],M(x+2,m[5],m[3]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[4]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[9]);break;case 56:M(x,m[5],m[1]),M(x+1,m[5],m[2]),M(x+2,m[5],m[3]),q[x+w]=m[5],q[x+w+1]=m[5],q[x+w+2]=m[5],M(x+(w<<1),m[5],m[8]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[9]);break;case 25:M(x,m[5],m[2]),M(x+1,m[5],m[2]),M(x+2,m[5],m[3]),q[x+w]=m[5],q[x+w+1]=m[5],q[x+w+2]=m[5],M(x+(w<<1),m[5],m[7]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[9]);break;case 26:case 31:D(m[4],m[2])?(q[x]=m[5],q[x+w]=m[5]):(H(x,m[5],m[4],m[2]),O(x+w,m[5],m[4])),q[x+1]=m[5],D(m[2],m[6])?(q[x+2]=m[5],q[x+w+2]=m[5]):(H(x+2,m[5],m[2],m[6]),O(x+w+2,m[5],m[6])),q[x+w+1]=m[5],M(x+(w<<1),m[5],m[7]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[9]);break;case 82:case 214:M(x,m[5],m[1]),D(m[2],m[6])?(q[x+1]=m[5],q[x+2]=m[5]):(O(x+1,m[5],m[2]),H(x+2,m[5],m[2],m[6])),M(x+w,m[5],m[4]),q[x+w+1]=m[5],q[x+w+2]=m[5],M(x+(w<<1),m[5],m[7]),D(m[6],m[8])?(q[x+(w<<1)+1]=m[5],q[x+(w<<1)+2]=m[5]):(O(x+(w<<1)+1,m[5],m[8]),H(x+(w<<1)+2,m[5],m[6],m[8]));break;case 88:case 248:M(x,m[5],m[1]),M(x+1,m[5],m[2]),M(x+2,m[5],m[3]),q[x+w+1]=m[5],D(m[8],m[4])?(q[x+w]=m[5],q[x+(w<<1)]=m[5]):(O(x+w,m[5],m[4]),H(x+(w<<1),m[5],m[8],m[4])),q[x+(w<<1)+1]=m[5],D(m[6],m[8])?(q[x+w+2]=m[5],q[x+(w<<1)+2]=m[5]):(O(x+w+2,m[5],m[6]),H(x+(w<<1)+2,m[5],m[6],m[8]));break;case 74:case 107:D(m[4],m[2])?(q[x]=m[5],q[x+1]=m[5]):(H(x,m[5],m[4],m[2]),O(x+1,m[5],m[2])),M(x+2,m[5],m[3]),q[x+w]=m[5],q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),D(m[8],m[4])?(q[x+(w<<1)]=m[5],q[x+(w<<1)+1]=m[5]):(H(x+(w<<1),m[5],m[8],m[4]),O(x+(w<<1)+1,m[5],m[8])),M(x+(w<<1)+2,m[5],m[9]);break;case 27:D(m[4],m[2])?(q[x]=m[5],q[x+1]=m[5],q[x+w]=m[5]):(H(x,m[5],m[4],m[2]),O(x+1,m[5],m[2]),O(x+w,m[5],m[4])),M(x+2,m[5],m[3]),q[x+w+1]=m[5],q[x+w+2]=m[5],M(x+(w<<1),m[5],m[7]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[9]);break;case 86:M(x,m[5],m[1]),D(m[2],m[6])?(q[x+1]=m[5],q[x+2]=m[5],q[x+w+2]=m[5]):(O(x+1,m[5],m[2]),H(x+2,m[5],m[2],m[6]),O(x+w+2,m[5],m[6])),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+(w<<1),m[5],m[7]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[9]);break;case 216:M(x,m[5],m[1]),M(x+1,m[5],m[2]),M(x+2,m[5],m[3]),q[x+w]=m[5],q[x+w+1]=m[5],M(x+(w<<1),m[5],m[7]),D(m[6],m[8])?(q[x+w+2]=m[5],q[x+(w<<1)+1]=m[5],q[x+(w<<1)+2]=m[5]):(O(x+w+2,m[5],m[6]),O(x+(w<<1)+1,m[5],m[8]),H(x+(w<<1)+2,m[5],m[6],m[8]));break;case 106:M(x,m[5],m[1]),q[x+1]=m[5],M(x+2,m[5],m[3]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),D(m[8],m[4])?(q[x+w]=m[5],q[x+(w<<1)]=m[5],q[x+(w<<1)+1]=m[5]):(O(x+w,m[5],m[4]),H(x+(w<<1),m[5],m[8],m[4]),O(x+(w<<1)+1,m[5],m[8])),M(x+(w<<1)+2,m[5],m[9]);break;case 30:M(x,m[5],m[1]),D(m[2],m[6])?(q[x+1]=m[5],q[x+2]=m[5],q[x+w+2]=m[5]):(O(x+1,m[5],m[2]),H(x+2,m[5],m[2],m[6]),O(x+w+2,m[5],m[6])),q[x+w]=m[5],q[x+w+1]=m[5],M(x+(w<<1),m[5],m[7]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[9]);break;case 210:M(x,m[5],m[1]),q[x+1]=m[5],M(x+2,m[5],m[3]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+(w<<1),m[5],m[7]),D(m[6],m[8])?(q[x+w+2]=m[5],q[x+(w<<1)+1]=m[5],q[x+(w<<1)+2]=m[5]):(O(x+w+2,m[5],m[6]),O(x+(w<<1)+1,m[5],m[8]),H(x+(w<<1)+2,m[5],m[6],m[8]));break;case 120:M(x,m[5],m[1]),M(x+1,m[5],m[2]),M(x+2,m[5],m[3]),q[x+w+1]=m[5],q[x+w+2]=m[5],D(m[8],m[4])?(q[x+w]=m[5],q[x+(w<<1)]=m[5],q[x+(w<<1)+1]=m[5]):(O(x+w,m[5],m[4]),H(x+(w<<1),m[5],m[8],m[4]),O(x+(w<<1)+1,m[5],m[8])),M(x+(w<<1)+2,m[5],m[9]);break;case 75:D(m[4],m[2])?(q[x]=m[5],q[x+1]=m[5],q[x+w]=m[5]):(H(x,m[5],m[4],m[2]),O(x+1,m[5],m[2]),O(x+w,m[5],m[4])),M(x+2,m[5],m[3]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[7]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[9]);break;case 29:M(x,m[5],m[2]),M(x+1,m[5],m[2]),M(x+2,m[5],m[2]),q[x+w]=m[5],q[x+w+1]=m[5],q[x+w+2]=m[5],M(x+(w<<1),m[5],m[7]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[9]);break;case 198:M(x,m[5],m[1]),q[x+1]=m[5],M(x+2,m[5],m[6]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[7]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[6]);break;case 184:M(x,m[5],m[1]),M(x+1,m[5],m[2]),M(x+2,m[5],m[3]),q[x+w]=m[5],q[x+w+1]=m[5],q[x+w+2]=m[5],M(x+(w<<1),m[5],m[8]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[8]);break;case 99:M(x,m[5],m[4]),q[x+1]=m[5],M(x+2,m[5],m[3]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[4]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[9]);break;case 57:M(x,m[5],m[2]),M(x+1,m[5],m[2]),M(x+2,m[5],m[3]),q[x+w]=m[5],q[x+w+1]=m[5],q[x+w+2]=m[5],M(x+(w<<1),m[5],m[8]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[9]);break;case 71:M(x,m[5],m[4]),q[x+1]=m[5],M(x+2,m[5],m[6]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[7]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[9]);break;case 156:M(x,m[5],m[1]),M(x+1,m[5],m[2]),M(x+2,m[5],m[2]),q[x+w]=m[5],q[x+w+1]=m[5],q[x+w+2]=m[5],M(x+(w<<1),m[5],m[7]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[8]);break;case 226:M(x,m[5],m[1]),q[x+1]=m[5],M(x+2,m[5],m[3]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[4]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[6]);break;case 60:M(x,m[5],m[1]),M(x+1,m[5],m[2]),M(x+2,m[5],m[2]),q[x+w]=m[5],q[x+w+1]=m[5],q[x+w+2]=m[5],M(x+(w<<1),m[5],m[8]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[9]);break;case 195:M(x,m[5],m[4]),q[x+1]=m[5],M(x+2,m[5],m[3]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[7]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[6]);break;case 102:M(x,m[5],m[1]),q[x+1]=m[5],M(x+2,m[5],m[6]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[4]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[9]);break;case 153:M(x,m[5],m[2]),M(x+1,m[5],m[2]),M(x+2,m[5],m[3]),q[x+w]=m[5],q[x+w+1]=m[5],q[x+w+2]=m[5],M(x+(w<<1),m[5],m[7]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[8]);break;case 58:D(m[4],m[2])?M(x,m[5],m[1]):C(x,m[5],m[4],m[2]),q[x+1]=m[5],D(m[2],m[6])?M(x+2,m[5],m[3]):C(x+2,m[5],m[2],m[6]),q[x+w]=m[5],q[x+w+1]=m[5],q[x+w+2]=m[5],M(x+(w<<1),m[5],m[8]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[9]);break;case 83:M(x,m[5],m[4]),q[x+1]=m[5],D(m[2],m[6])?M(x+2,m[5],m[3]):C(x+2,m[5],m[2],m[6]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],q[x+w+2]=m[5],M(x+(w<<1),m[5],m[7]),q[x+(w<<1)+1]=m[5],D(m[6],m[8])?M(x+(w<<1)+2,m[5],m[9]):C(x+(w<<1)+2,m[5],m[6],m[8]);break;case 92:M(x,m[5],m[1]),M(x+1,m[5],m[2]),M(x+2,m[5],m[2]),q[x+w]=m[5],q[x+w+1]=m[5],q[x+w+2]=m[5],D(m[8],m[4])?M(x+(w<<1),m[5],m[7]):C(x+(w<<1),m[5],m[8],m[4]),q[x+(w<<1)+1]=m[5],D(m[6],m[8])?M(x+(w<<1)+2,m[5],m[9]):C(x+(w<<1)+2,m[5],m[6],m[8]);break;case 202:D(m[4],m[2])?M(x,m[5],m[1]):C(x,m[5],m[4],m[2]),q[x+1]=m[5],M(x+2,m[5],m[3]),q[x+w]=m[5],q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),D(m[8],m[4])?M(x+(w<<1),m[5],m[7]):C(x+(w<<1),m[5],m[8],m[4]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[6]);break;case 78:D(m[4],m[2])?M(x,m[5],m[1]):C(x,m[5],m[4],m[2]),q[x+1]=m[5],M(x+2,m[5],m[6]),q[x+w]=m[5],q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),D(m[8],m[4])?M(x+(w<<1),m[5],m[7]):C(x+(w<<1),m[5],m[8],m[4]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[9]);break;case 154:D(m[4],m[2])?M(x,m[5],m[1]):C(x,m[5],m[4],m[2]),q[x+1]=m[5],D(m[2],m[6])?M(x+2,m[5],m[3]):C(x+2,m[5],m[2],m[6]),q[x+w]=m[5],q[x+w+1]=m[5],q[x+w+2]=m[5],M(x+(w<<1),m[5],m[7]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[8]);break;case 114:M(x,m[5],m[1]),q[x+1]=m[5],D(m[2],m[6])?M(x+2,m[5],m[3]):C(x+2,m[5],m[2],m[6]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],q[x+w+2]=m[5],M(x+(w<<1),m[5],m[4]),q[x+(w<<1)+1]=m[5],D(m[6],m[8])?M(x+(w<<1)+2,m[5],m[9]):C(x+(w<<1)+2,m[5],m[6],m[8]);break;case 89:M(x,m[5],m[2]),M(x+1,m[5],m[2]),M(x+2,m[5],m[3]),q[x+w]=m[5],q[x+w+1]=m[5],q[x+w+2]=m[5],D(m[8],m[4])?M(x+(w<<1),m[5],m[7]):C(x+(w<<1),m[5],m[8],m[4]),q[x+(w<<1)+1]=m[5],D(m[6],m[8])?M(x+(w<<1)+2,m[5],m[9]):C(x+(w<<1)+2,m[5],m[6],m[8]);break;case 90:D(m[4],m[2])?M(x,m[5],m[1]):C(x,m[5],m[4],m[2]),q[x+1]=m[5],D(m[2],m[6])?M(x+2,m[5],m[3]):C(x+2,m[5],m[2],m[6]),q[x+w]=m[5],q[x+w+1]=m[5],q[x+w+2]=m[5],D(m[8],m[4])?M(x+(w<<1),m[5],m[7]):C(x+(w<<1),m[5],m[8],m[4]),q[x+(w<<1)+1]=m[5],D(m[6],m[8])?M(x+(w<<1)+2,m[5],m[9]):C(x+(w<<1)+2,m[5],m[6],m[8]);break;case 55:case 23:D(m[2],m[6])?(M(x,m[5],m[4]),q[x+1]=m[5],q[x+2]=m[5],q[x+w+2]=m[5]):(C(x,m[5],m[4],m[2]),M(x+1,m[2],m[5]),P(x+2,m[2],m[6]),M(x+w+2,m[5],m[6])),M(x+w,m[5],m[4]),q[x+w+1]=m[5],C(x+(w<<1),m[5],m[8],m[4]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[9]);break;case 182:case 150:D(m[2],m[6])?(q[x+1]=m[5],q[x+2]=m[5],q[x+w+2]=m[5],M(x+(w<<1)+2,m[5],m[8])):(M(x+1,m[5],m[2]),P(x+2,m[2],m[6]),M(x+w+2,m[6],m[5]),C(x+(w<<1)+2,m[5],m[6],m[8])),M(x,m[5],m[1]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],C(x+(w<<1),m[5],m[8],m[4]),M(x+(w<<1)+1,m[5],m[8]);break;case 213:case 212:D(m[6],m[8])?(M(x+2,m[5],m[2]),q[x+w+2]=m[5],q[x+(w<<1)+1]=m[5],q[x+(w<<1)+2]=m[5]):(C(x+2,m[5],m[2],m[6]),M(x+w+2,m[6],m[5]),M(x+(w<<1)+1,m[5],m[8]),P(x+(w<<1)+2,m[6],m[8])),C(x,m[5],m[4],m[2]),M(x+1,m[5],m[2]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+(w<<1),m[5],m[7]);break;case 241:case 240:D(m[6],m[8])?(q[x+w+2]=m[5],M(x+(w<<1),m[5],m[4]),q[x+(w<<1)+1]=m[5],q[x+(w<<1)+2]=m[5]):(M(x+w+2,m[5],m[6]),C(x+(w<<1),m[5],m[8],m[4]),M(x+(w<<1)+1,m[8],m[5]),P(x+(w<<1)+2,m[6],m[8])),C(x,m[5],m[4],m[2]),M(x+1,m[5],m[2]),M(x+2,m[5],m[3]),M(x+w,m[5],m[4]),q[x+w+1]=m[5];break;case 236:case 232:D(m[8],m[4])?(q[x+w]=m[5],q[x+(w<<1)]=m[5],q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[6])):(M(x+w,m[5],m[4]),P(x+(w<<1),m[8],m[4]),M(x+(w<<1)+1,m[8],m[5]),C(x+(w<<1)+2,m[5],m[6],m[8])),M(x,m[5],m[1]),M(x+1,m[5],m[2]),C(x+2,m[5],m[2],m[6]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]);break;case 109:case 105:D(m[8],m[4])?(M(x,m[5],m[2]),q[x+w]=m[5],q[x+(w<<1)]=m[5],q[x+(w<<1)+1]=m[5]):(C(x,m[5],m[4],m[2]),M(x+w,m[4],m[5]),P(x+(w<<1),m[8],m[4]),M(x+(w<<1)+1,m[5],m[8])),M(x+1,m[5],m[2]),C(x+2,m[5],m[2],m[6]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1)+2,m[5],m[9]);break;case 171:case 43:D(m[4],m[2])?(q[x]=m[5],q[x+1]=m[5],q[x+w]=m[5],M(x+(w<<1),m[5],m[8])):(P(x,m[4],m[2]),M(x+1,m[5],m[2]),M(x+w,m[4],m[5]),C(x+(w<<1),m[5],m[8],m[4])),M(x+2,m[5],m[3]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1)+1,m[5],m[8]),C(x+(w<<1)+2,m[5],m[6],m[8]);break;case 143:case 15:D(m[4],m[2])?(q[x]=m[5],q[x+1]=m[5],M(x+2,m[5],m[6]),q[x+w]=m[5]):(P(x,m[4],m[2]),M(x+1,m[2],m[5]),C(x+2,m[5],m[2],m[6]),M(x+w,m[5],m[4])),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[7]),M(x+(w<<1)+1,m[5],m[8]),C(x+(w<<1)+2,m[5],m[6],m[8]);break;case 124:M(x,m[5],m[1]),M(x+1,m[5],m[2]),M(x+2,m[5],m[2]),q[x+w+1]=m[5],q[x+w+2]=m[5],D(m[8],m[4])?(q[x+w]=m[5],q[x+(w<<1)]=m[5],q[x+(w<<1)+1]=m[5]):(O(x+w,m[5],m[4]),H(x+(w<<1),m[5],m[8],m[4]),O(x+(w<<1)+1,m[5],m[8])),M(x+(w<<1)+2,m[5],m[9]);break;case 203:D(m[4],m[2])?(q[x]=m[5],q[x+1]=m[5],q[x+w]=m[5]):(H(x,m[5],m[4],m[2]),O(x+1,m[5],m[2]),O(x+w,m[5],m[4])),M(x+2,m[5],m[3]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[7]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[6]);break;case 62:M(x,m[5],m[1]),D(m[2],m[6])?(q[x+1]=m[5],q[x+2]=m[5],q[x+w+2]=m[5]):(O(x+1,m[5],m[2]),H(x+2,m[5],m[2],m[6]),O(x+w+2,m[5],m[6])),q[x+w]=m[5],q[x+w+1]=m[5],M(x+(w<<1),m[5],m[8]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[9]);break;case 211:M(x,m[5],m[4]),q[x+1]=m[5],M(x+2,m[5],m[3]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+(w<<1),m[5],m[7]),D(m[6],m[8])?(q[x+w+2]=m[5],q[x+(w<<1)+1]=m[5],q[x+(w<<1)+2]=m[5]):(O(x+w+2,m[5],m[6]),O(x+(w<<1)+1,m[5],m[8]),H(x+(w<<1)+2,m[5],m[6],m[8]));break;case 118:M(x,m[5],m[1]),D(m[2],m[6])?(q[x+1]=m[5],q[x+2]=m[5],q[x+w+2]=m[5]):(O(x+1,m[5],m[2]),H(x+2,m[5],m[2],m[6]),O(x+w+2,m[5],m[6])),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+(w<<1),m[5],m[4]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[9]);break;case 217:M(x,m[5],m[2]),M(x+1,m[5],m[2]),M(x+2,m[5],m[3]),q[x+w]=m[5],q[x+w+1]=m[5],M(x+(w<<1),m[5],m[7]),D(m[6],m[8])?(q[x+w+2]=m[5],q[x+(w<<1)+1]=m[5],q[x+(w<<1)+2]=m[5]):(O(x+w+2,m[5],m[6]),O(x+(w<<1)+1,m[5],m[8]),H(x+(w<<1)+2,m[5],m[6],m[8]));break;case 110:M(x,m[5],m[1]),q[x+1]=m[5],M(x+2,m[5],m[6]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),D(m[8],m[4])?(q[x+w]=m[5],q[x+(w<<1)]=m[5],q[x+(w<<1)+1]=m[5]):(O(x+w,m[5],m[4]),H(x+(w<<1),m[5],m[8],m[4]),O(x+(w<<1)+1,m[5],m[8])),M(x+(w<<1)+2,m[5],m[9]);break;case 155:D(m[4],m[2])?(q[x]=m[5],q[x+1]=m[5],q[x+w]=m[5]):(H(x,m[5],m[4],m[2]),O(x+1,m[5],m[2]),O(x+w,m[5],m[4])),M(x+2,m[5],m[3]),q[x+w+1]=m[5],q[x+w+2]=m[5],M(x+(w<<1),m[5],m[7]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[8]);break;case 188:M(x,m[5],m[1]),M(x+1,m[5],m[2]),M(x+2,m[5],m[2]),q[x+w]=m[5],q[x+w+1]=m[5],q[x+w+2]=m[5],M(x+(w<<1),m[5],m[8]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[8]);break;case 185:M(x,m[5],m[2]),M(x+1,m[5],m[2]),M(x+2,m[5],m[3]),q[x+w]=m[5],q[x+w+1]=m[5],q[x+w+2]=m[5],M(x+(w<<1),m[5],m[8]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[8]);break;case 61:M(x,m[5],m[2]),M(x+1,m[5],m[2]),M(x+2,m[5],m[2]),q[x+w]=m[5],q[x+w+1]=m[5],q[x+w+2]=m[5],M(x+(w<<1),m[5],m[8]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[9]);break;case 157:M(x,m[5],m[2]),M(x+1,m[5],m[2]),M(x+2,m[5],m[2]),q[x+w]=m[5],q[x+w+1]=m[5],q[x+w+2]=m[5],M(x+(w<<1),m[5],m[7]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[8]);break;case 103:M(x,m[5],m[4]),q[x+1]=m[5],M(x+2,m[5],m[6]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[4]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[9]);break;case 227:M(x,m[5],m[4]),q[x+1]=m[5],M(x+2,m[5],m[3]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[4]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[6]);break;case 230:M(x,m[5],m[1]),q[x+1]=m[5],M(x+2,m[5],m[6]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[4]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[6]);break;case 199:M(x,m[5],m[4]),q[x+1]=m[5],M(x+2,m[5],m[6]),M(x+w,m[5],m[4]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),M(x+(w<<1),m[5],m[7]),q[x+(w<<1)+1]=m[5],M(x+(w<<1)+2,m[5],m[6]);break;case 220:M(x,m[5],m[1]),M(x+1,m[5],m[2]),M(x+2,m[5],m[2]),q[x+w]=m[5],q[x+w+1]=m[5],D(m[8],m[4])?M(x+(w<<1),m[5],m[7]):C(x+(w<<1),m[5],m[8],m[4]),D(m[6],m[8])?(q[x+w+2]=m[5],q[x+(w<<1)+1]=m[5],q[x+(w<<1)+2]=m[5]):(O(x+w+2,m[5],m[6]),O(x+(w<<1)+1,m[5],m[8]),H(x+(w<<1)+2,m[5],m[6],m[8]));break;case 158:D(m[4],m[2])?M(x,m[5],m[1]):C(x,m[5],m[4],m[2]),D(m[2],m[6])?(q[x+1]=m[5],q[x+2]=m[5],q[x+w+2]=m[5]):(O(x+1,m[5],m[2]),H(x+2,m[5],m[2],m[6]),O(x+w+2,m[5],m[6])),q[x+w]=m[5],q[x+w+1]=m[5],M(x+(w<<1),m[5],m[7]),M(x+(w<<1)+1,m[5],m[8]),M(x+(w<<1)+2,m[5],m[8]);break;case 234:D(m[4],m[2])?M(x,m[5],m[1]):C(x,m[5],m[4],m[2]),q[x+1]=m[5],M(x+2,m[5],m[3]),q[x+w+1]=m[5],M(x+w+2,m[5],m[6]),D(m[8],m[4])?(q[x+w]=m[5],q[x+(w<<1)]=m[5],q[x+(w<<1)+1]=m[5]):(O(x+w,m[5],m[4]),H(x+(w<<1),m[5],m[8],m[4]),O(x+(w<<1)+1,m[5],m[8])),M(x+(w<<1)+2,m[5],m[6]);break;case 242:M(x,m[5],m[1]),q[x+1]=m[5],D(m[2],m[6])?M(x+2,m[5],m[3]):C(x+2,m[5],m[2],m[6]),M(x+w,m[5],m