eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}(';P=M 7F();P.5R=M S(" 6Y"," ew"," ev"," *&%=@>!?/");P.29=P.5R[0];P.7b=0;C eu(2S){2S=1E(2S);f(2S<0||2S>P.5R.A)E;P.29=P.5R[2S];P.7b=2S;I.1W(F);I.3f();f(2S>0){G.H("7g").1i="et: "+P.29.41(1);G.H("7g").K.1j=""}J{G.H("7g").K.1j="1N"}}C es(O){7.O=O;7.65=7I;7.65("L");7.N=M S();7.W=M S();7.2E=M S();7.5Q=M S();7.4P=B;7.3U=B;7.7a=\'u\';7.78=0;7.1s=M S();7.er=M S();7.1U=M S();7.3j=M S();7.2e=M S();7.2M=M S();7.2r=M S();7.1T=B;7.2n=36;7.1S="9W 9V";7.9P=0;7.4b=M S();7.eq=M S();7.n=M S();o(i=0;i<9;i++){7.N[i]=M S();7.W[i]=M S();7.2E[i]=M S()}7.5r=8P;7.1I=8Y;7.1D=8X;7.6I=8W;7.ep=8t;7.4l=8p;7.6P=8o;7.1W=88;7.au=9O;7.eo=82;7.6i=7R;7.5C=7Q;7.en=7P;7.2c=9X;7.ai=9e;7.6B=93;7.em=a3;7.34=a0;7.el=9Z;7.2j=9R;7.1p=9G;7.ek=a4;7.9Q=9T;7.9U=9S;7.5x=a7;7.5g=8s;7.8r=8q;7.ej=a9;7.ei=a8;7.aa=ab;7.3f=ac;7.77=ag;7.eh=ar;7.eg=ap;7.5U=aj;7.6n=8a;7.3e=ae;7.6L=ad;7.8O=8N;7.2G=8K;7.6G=9p;7.2L=9o;7.6J=9k;7.6R=a5;7.8M=8B;7.8A=8x;7.8z=8w;7.8y=8v;7.5B=9E;7.7Z=86;7.49=a2;7.4G=a1;7.67=7J;7.ef=9h;7.7c=am;7.3O=9C;7.70=9B;7.4H=9A;7.4I=9x;7.9w=9q;7.au()}C ar(){2U();D p=G.H("7e");p.K.1J=2x(7.1r);p.K.1K=2y(7.1r);G.H("ee").Z="";aq(7);p.K.1j=""}C ed(T){D i;T.3r=M S();o(i=1;i<3v.A;i++){T.3r[T.3r.A]=G.H(3v[i])}}C aq(T){D i;o(i=0;i<T.3r.A;i++){T.3r[i].K.1j="1N"}}C 7d(T){D i;o(i=0;i<T.3r.A;i++){T.3r[i].K.1j=""}}C ec(){7d(I);G.H("7e").K.1j="1N"}C ap(){D x,y,a="",b="",i=0,3V="";D 7f=G.H("eb").4h;o(x=0;x<9;x++){o(y=0;y<9;y++){3V+=(7.N[x][y]==0)?" .":" "+P.29.V(7.N[x][y],1);f(7f&&(y==2|y==5)){3V+=" |"}f(y==8){3V+=" \\n"}}f(7f&&(x==2|x==5)){3V+="-------+-------+------\\n"}}E 3V}C ea(t){f(t==""){1h("9d e9 a 3m e8 3A a I e7 1B 6F 9c e6 ao.\\e5 an e4 3A 1B 3m I e3, 5v \'e2\'");E}D s=ah(t);f(s.A!=81){1h("2D - 6h 1G e1 e0 5y 1B 3m 2T 1B 6F. a6 2z\'t be dZ 1v ao a I.");E""}f(!5w("dY 1A 9a 1A 99 1v dX 1B dW I 5y 7 3y?")){E}G.H("7e").K.1j="1N";7d(I);f(G.H("7c").4h){1c(\'I.7c("\'+s+\'")\',0)}J{5V();I.2c();1c(\'I.5U("\'+s+\'")\',0)}}C 5V(){G.H("3s").K.1K=2y(I.1r)+((I.1o/2)-2O);G.H("3s").K.1J=2x(I.1r)+((I.1o/2)-30);G.H("3s").K.1j="";I.1p("")}C am(s){D x,y,i=0;5a();7.2c();o(x=0;x<9;x++){o(y=0;y<9;y++){7.N[x][y]=(1E(s.V(i,1))==0)?0:1;i++}}7.1T=B;7.1W(F);7.1T=F;1h(\'dV I 5N 2u 6E dU.\\dT "al ak" 1v 9g a I 97 7 5N,\\dS 7t 1B 5N dR 5v "al ak".\')}C aj(s,4R){4R=(4R==Q)?B:4R;D 2V;G.H("3s").K.1j="";5a();7.2c();7.1D(s);7.1W(F);f(!7.ai(B)){7.2c()}f(4R){2V=4V.4U.1u("dQ=");f(2V>=0){s=4V.4U.41(2V+3);G.H("2B").1i="dP: "+I.1S+" dO, 5i "+s+". "}}G.H("3s").K.1j="1N"}C ah(t){f(t==Q||t.A==0){E}D s="",i,g,k;o(i=0;i<t.A;i++){g=t.V(i,1);k=P.29.1u(g);f((k>0&&k<=9)||g=="."){s+=(g==".")?"0":k.1q()}}E s}C ag(2R,4Q){4Q=(4Q==Q)?F:4Q;f(4Q){7.7a=2R}D cp=G.H("dN");G.H("af").K.1j="1N";f(2R=="m"){7.3e(B);7.4P=F;7.3U=B}J f(2R=="a"){7.4P=B;7.3U=F;7.3f();7.3e(F,"4j")}J f(2R=="u"){7.4P=B;7.3U=B;7.3f();7.3e(F,"5k");G.H("af").K.1j=""}J f(2R=="n"){7.3e(B);7.4P=B;7.3U=B}}C ae(6l,4O,4N){D d=(6l==F)?"":"1N";4O=(4O==Q)?"5k":4O;4N=(4N==Q)?B:4N;D i,j,T;o(i=0;i<9;i++){o(j=0;j<9;j++){T=G.H(7.O+\'31\'+i+\'c\'+j);T.K.39=4O;T.K.1j=d;f(4N){T.Z=""}}}}C ad(v){D i,j,x="",y,t=M S(),a,b;o(i=0;i<9;i++){o(j=0;j<9;j++){f(7.N[i][j]==0){o(a=0;a<10;a++)t[a]=F;7.4l(i,j,t);b="";o(a=1;a<10;a++){b+=(t[a]==F)?a.1q():""}v[v.A]=b}J{v[v.A]=""}}}}C ac(){f(!7.3U){E}D i,j,x="",y,t=M S(),a,b;o(i=0;i<9;i++){o(j=0;j<9;j++){y=G.H(7.O+\'31\'+i+\'c\'+j);f(7.N[i][j]==0){o(a=0;a<10;a++){t[a]=F}7.4l(i,j,t);b="";o(a=1;a<10;a++){b+=(t[a]==F)?P.29.V(a,1):""}y.Z=b}J{y.Z=""}}}}C ab(){D s="",x,y;f(!7.2l){o(x=0;x<81;x++){s+="0"}E s}o(x=0;x<9;x++){o(y=0;y<9;y++){s+=(7.W[x][y]==1)?7.N[x][y].1q():"0"}}E s}C dM(){D s=I.aa();f(s.A!=81){E}D x="dL.dK?s="+s+"&r="+I.1S;f(P.7b>0){x+="&dJ="+dI(P.29.41(1))}4T.dH(x,"dG")}C a9(){D x,y,i=0;7.4M=7.1I();7.3q.3w=B;o(x=0;x<9;x++){o(y=0;y<9;y++){f(7.W[x][y]!=1){7.5Q[i]=G.H(7.O+"31"+x+\'c\'+y).Z}J{7.5Q[i]=""}i++}}}C a8(){f(7.4M.A<=0)E;D x,y,i=0;7.1D(7.4M);7.1W(F);o(x=0;x<9;x++){o(y=0;y<9;y++){f(7.W[x][y]!=1){G.H(7.O+"31"+x+\'c\'+y).Z=7.5Q[i]}J{G.H(7.O+"31"+x+\'c\'+y).Z=""}i++}}}C a7(Y){7.1p("6Q I");Y=(Y==Q)?F:Y;D g=7.6i(Q,0);f(g<0){1h("2D - 7 I 1G 4A (4y dF be 1b dE)");E}f(7.1s.A==1){7.2F=F;7.4k=7.1s[0];7.1p("5j I 2u a 83 2E.")}J{7.2F=B;7.4k="";7.1p("")}7.78=g;7.6R();f(Y){f(7.2F){G.H("2B").1i="dD: "+7.1S;f(7.1S=="6A"){7.1p("<br>"+G.H("dC").1i,F)}}J{G.H("2B").1i="<2Q 39=\'4j\'><b>7W - 5j I 2u 6g 6f 3y 2E, 6e dB 4B 4i a 1S. a6 5f 4B be 5e 1v 5r 4y by dA dz.</b></2Q>"}7.77(7.7a)}3t();f(13.1O){2W()}}C a5(){D i,j,79=0;f(7.4v){7.1S="6A";E}f(!7.3G){o(i=0;i<9;i++){o(j=0;j<9;j++){f(7.N[i][j]!=0)79++}}7.1S=(79<=36)?"5H":"6H 5H"}J f(7.3h<10){7.1S="dy"}J f(7.3h<15){7.1S="dx"}J{7.1S="dw dv"}}C du(Y){Y=(Y==Q)?"":Y;D a=G.H("7q");a.K.1K=2y(I.1r)+((I.1o/2)-2O);a.K.1J=2x(I.1r)+((I.1o/2)-50);a.K.1j=Y}C 2y(T){D 5P=0;f(T.3T){1C(T.3T){5P+=T.dt;T=T.3T}}J f(T.x)5P+=T.x;E 5P}C 2x(T){D 5O=0;f(T.3T){1C(T.3T){5O+=T.ds;T=T.3T}}J f(T.y)5O+=T.y;E 5O}C a4(){f(7.3i.A>0){7.1D(7.3i);7.1b=B;7.34(7.2i,"4d 1L");7.1W(F);7.1p("1L dr 1v 6D 5N")}}C a3(5M,5L,2i,5K,5J,5I,3q){7.2i=(2i==Q)?Q:G.H(2i);7.5M=(5M==Q)?Q:G.H(5M);7.5L=(5L==Q)?Q:G.H(5L);7.5K=(5K==Q)?Q:G.H(5K);7.5J=(5J==Q)?Q:G.H(5J);7.5I=(5I==Q)?Q:G.H(5I);7.3q=(3q==Q)?Q:G.H(3q);7.3S=M S();D i;o(i=0;i<3v.A;i++){7.3S[i]=G.H(3v[i])}7.4G()}C a2(){D i;o(i=0;i<7.3S.A;i++){7.3S[i].3w=B}f(7.4M.A!=81){7.3q.3w=F}}C a1(){D i;o(i=0;i<7.3S.A;i++){7.3S[i].3w=F}}C a0(T,Z){f(T!=Q){T.Z=Z}}C 9Z(){f(!7.2l){1h("6c\'s 5i I 5h, 6e 4y 2z\'t be 1b!");E}D 1M="";f(7.1b){7.1D(7.35);7.34(7.2i,"4d 1L");7.1W(F);7.1b=B;7.1p("1L dq")}J{f(!7.5g()){1h("2D, 1A\'38 5d a 4g 4f - 3y 3A 1B 27 2u a 6k Z.\\dp I 2z\'t be 1b 2T 94 dn dm.");E B}7.2j(F);f(7.1b){1M+="1L 1b - "+7.3h+" dl dk";1M+="<br>dj 9Y: "+7.5p+", di 9Y: "+7.6t;f(7.3G)1M+=", 8U 8T";f(7.4v){1M+="<br>8V 6d 6v: "+(I.2C+1);1M+="<br>6w 27: "+I.4s+", dh: "+I.4r;1M+=", 8R 8Q: "+I.4u}J{1M+="<br>6b 8S dg"}I.1p(1M);7.34(7.2i,"df 1L")}J{1h("5j I de 4B be 1b - dd 1B dc I 1G 4A, 5u 1A\'38 db an da d9.");7.1D(7.35);7.34(7.2i,"4d 1L");7.1W(F);7.1b=B}}}C 9X(3l){3l=(3l==Q)?B:3l;D i,j,k;7.3h=0;7.23=0;7.5s="";7.4M="";7.3q.3w=F;7.3i="";7.d8=B;7.1b=B;7.2J=-1;7.2C=0;7.4s=0;7.4r=0;7.4u=0;7.2l=B;7.2F=B;7.4k="";7.35="";7.78=0;7.1S="9W 9V";7.34(7.2i,"4d 1L");7.77("n",B);7.3e(B,Q,F);o(i=0;i<9;i++){o(j=0;j<9;j++){7.N[i][j]=0;f(!7.1T)7.W[i][j]=0;7.2E[i][j]=0;k=G.H(7.O+\'52\'+i+\'c\'+j);k.1i="<9L 2R=\'3m\'  Z=\'\' d7=\'1\' 9K=\'1x\' K=\'2Q-1F:"+7.2X+"\' Z=\' \' 4L=\'"+7.O+"r"+i+"c"+j+"\' d6=\'7.K.39="+\'"5k";\'+7.O+".9U(7,"+i+","+j+");"+7.O+".3f()\'>"}}}C d5(){2U();3t();f(!13.1O){2W()}5a();I.2c();I.1p("7w I 1G d4 d3 o 1A 1v d2 6D 6m");G.H("2B").1i=""}C 9T(){D x,y,z,1x;o(x=0;x<9;x++){o(y=0;y<9;y++){f(7.W[x][y]!=1){1x=G.H(7.O+"r"+x+"c"+y);z=5t(1x.Z);f(z<0||z>9){1h("3I at 4C "+(x+1)+","+(y+1)+": 4A Z "+1x.Z);E B}7.N[x][y]=z}}}E F}C 9S(T,x,y){D z=5t(T.Z),Y=G.H("6a").4h;f(z<0||z>9){1h("3I at 4C "+(x+1)+","+(y+1)+": 4A Z "+T.Z);T.Z="";E B}7.N[x][y]=z;T.Z=(z==0)?"":P.29.V(z,1);f(7.2l&&Y&&7.2F&&1E(7.4k.V((x*9)+y,1))!=7.N[x][y]){T.K.39="4j"}E F}C 9R(Y,2o,1l,d1,1R){2o=(2o==Q)?F:2o;1l=(1l==Q)?0:1l;7.1R=(1R==Q)?0:1R;f(2o){f(!7.9Q()){E}}7.3h=0;7.2J=-1;7.2C=0;7.1b=B;7.4s=0;7.4r=0;7.4u=0;7.3G=B;7.35=7.1I();7.1s.A=0;7.d0=0;7.3J=0;7.9P=0;7.4v=B;7.6t=0;7.5p=0;D 4w=M S();7.6L(4w);7.5r(Q,Q,Q,4w,Y,1l);E F}C 9O(){G.2g(\'<9H 4L="64" K="73:9M;1K:0; 1J:0; 2A:\'+7.1o+\'">\');G.2g(\'<9I 2w="1" cZ="0" cY="0" K="2w-9N: 9N; 2w-1J:3p 3o 3n;2w-1K:3p 3o 3n;2w-cX:3p 3o 3n;2w-cW:3p 3o 3n;cV-39:cU;3m-74:cT; 2Q-cS:cR; 2Q-1F:7G; 2Q-cQ:cP, cO, cN-cM" cL="#cK" 2A="\'+7.1o+\'" 4L="\'+7.O+\'1r" 3u="\'+7.1o+\'">\');D 76,75;o(i=0;i<9;i++){f(i%3==0){G.2g("<72 K=\'2w-1J:3p 3o 3n\'>")}J{G.2g("<72>")}o(j=0;j<9;j++){76=(i%3==0)?"2w-1J:3p 3o 3n;":"";75=(j%3==0)?"2w-1K:3p 3o 3n;":"";G.2g("<9J K=\'"+76+75+"\' 2A=\'11%\' 3u=\'11%\' 74=\'1K\' cJ=\'1J\'><3B K=\'73:9M;\'>");G.2g(\'<9L 2R="3m"  4L="\'+7.O+\'31\'+i+\'c\'+j+\'" 9K="cI" Z="" K="3m-74:1K;2A:\'+7.45+\';3u:\'+7.46+\';2Q-1F:\'+7.43+\'">\');G.2g(\'<3B  4L="\'+7.O+\'52\'+i+\'c\'+j+\'" K="73:cH;1K:\'+7.2Y+\';1J:\'+7.2Y+\';2Q-1F:\'+7.2X+\'">&6Z;</3B>\');G.2g("</3B></9J>")}G.2g("</72>")}G.2g(\'</9I>\');G.2g(\'</9H>\');7.1r=G.H(7.O+"1r")}C 9G(71,4K){D x,y;4K=(4K==Q)?B:4K;f(4K){7.9F.1i+=71}J{7.9F.1i=71}}C 9E(9D){f(9D){7.3k=F;E}G.H("1V").K.1j="1N";7.2c();f(7.1T){o(x=0;x<9;x++){o(y=0;y<9;y++){7.N[x][y]=(7.W[x][y]==1)?1:0;7.W[x][y]=0}}7.1W(F)}7.1T=B;7.49();7.1p("1L 9m cG")}C 9C(){;D x,y,s,i,4E=(7.1T)?"3l ":"";D 3R=0;2U();3t();f(!13.1O){2W()}7.4G();7.2c();7.5C();7.3k=B;7.2N=0;7.1R=9z;G.H("2B").1i="";7.1p("");7.3N=7.1U.A;G.H("1V").K.1K=2y(7.1r)+((7.1o/2)-2O);G.H("1V").K.1J=2x(7.1r)+((7.1o/2)-2O);G.H("6O").1i="4F "+7.2n+"-4C "+4E+"I";7.2d=G.H("6N");7.2d.1i="&6Z;";G.H("1V").K.1j="";o(x=0;x<81;x++){7.2e[x]="6Y"}do{do{x=X(0,8);y=X(0,8)}1C(7.N[x][y]!=0);s=7.2e[(x*9)+y];f(s.A<1){1c(7.O+".3O()",0);E}i=1E(s.V(X(0,s.A-1),1));7.2G(i,7.2e,x,y);3R++}1C(3R<20);7.2j(B,B,1,B,3a);f(7.1s.A==0){1c(7.O+".3O()",0);E}7.6X=7.1I();1c(7.O+".70()",0);E}C 9B(){f(7.3k){7.5B(B);E}f(++7.2N>10){1c(7.O+".3O()",0);E}7.2d.1i="cF "+"************".V(0,7.2N);D 2F=B,x,y;7.1D(7.6X);7.6P();o(x=0;x<9;x++){o(y=0;y<9;y++){f(7.W[x][y]!=1){7.N[x][y]=0}}}7.2j(B,B,1,B,61);f(7.1s.A==1&&7.3J<=7.1R){7.2d.1i="6Q I";1c(7.O+".6J()",0)}J{1c(7.O+".70()",0)}}C 9A(){D x,y,s,i,4E=(7.1T)?"3l ":"";D 3R=0;7.3P=G.H(\'cE\').Z;2U();3t();f(!13.1O){2W()}7.4G();7.2P="";7.2c();7.5C();7.3k=B;7.2N=0;7.1R=9z;G.H("2B").1i="";7.1p("");7.3N=7.1U.A;7.2t="9y";7.2t="9y";7.2t="cD";7.2t="cC";f(7.3P=="6H 5H"){7.2t="cB"}J f(7.3P=="5H"){7.2t="cA"}J{7.2t="cz"}G.H("1V").K.1K=2y(7.1r)+((7.1o/2)-2O);G.H("1V").K.1J=2x(7.1r)+((7.1o/2)-2O);G.H("6O").1i="4F "+7.3P+" cy-cx I";7.2d=G.H("6N");7.2d.1i="&6Z;";G.H("1V").K.1j="";o(x=0;x<81;x++){7.2e[x]="6Y"}do{do{x=X(0,8);y=X(0,8)}1C(7.N[x][y]!=0);s=7.2e[(x*9)+y];f(s.A<1){1c(7.O+".3O()",0);E}i=1E(s.V(X(0,s.A-1),1));7.2G(i,7.2e,x,y);3R++}1C(3R<20);7.2j(B,B,1,B,3a);f(7.1s.A==0){1c(7.O+".4H()",0);E}7.6X=7.1I();7.2f=-1;7.3Q=-1;7.5D=0;1c(7.O+".4I()",0);E}C 9x(1Y){1Y=(1Y==Q)?"M":1Y;f(7.3k){7.5B(B);E}f(++7.2N>3a||7.5D>10){1c(7.O+".4H()",0);E}D 2s="",i=0;f(1Y=="M"){f(++7.2f>=7.2t.A){7.2d.1i="4F "+2P(7,10);9t(7.N,7.W);1c(7.O+".9w()",0);E}7.3Q++;7.5D++;7.3Q=(7.3Q>=7.2t.A)?0:7.3Q;7.3j[7.2f]=7.1I()}J{--7.2f;7.1D(7.3j[7.2f]);2s=7.2M[7.2f]}7.2d.1i="4F "+2P(7,10);D 2F=B,x,y,1e,1d,9v,2b,2a,9v,4J,cw,6S=7.1I();D 5E;4J=1E(7.2t.V(7.3Q,1));D 6W=(8-4J),5G=1f.1m(4J/3)*3,5F=(4J%3)*3,6V,6U;f(1Y=="M"){o(x=5G;x<5G+3;x++){o(y=5F;y<5F+3;y++){2s+=(7.N[x][y]==0)?"":i.1q();i++}}7.2M[7.2f]=2s}f(2s.A==0){f(7.2f>0){1c(7.O+".4I(\'M\')",0)}J{1c(7.O+".4H()",0)}E}D 6T=B;do{do{i=X(0,8)}1C(2s.1u(i.1q())<0);2s=1Q(2s,i.1q());x=1f.1m(i/3);y=i%3;1e=5G+x;1d=5F+y;6V=1f.1m(6W/3)*3;6U=(6W%3)*3;2b=6V+(2-x);2a=6U+(2-y);7.N[1e][1d]=0;5E=7.1I();7.2j(B,B,1,B,61);7.1D(5E);f(7.1s.A==1&&7.3J<=7.1R){7.3j[7.2f]=5E;7.2M[7.2f]=2s;7.5D=0;1c(7.O+".4I()",0);E}J{f(2s.A>0){7.1D(6S)}J{6T=F}}}1C(!6T);7.1D(6S);7.2f--;1c(7.O+".4I(\'M\')",0);E}C 2P(T,9u){f(T.2P.A>=9u){T.2P="*"}J{T.2P+="*"}E T.2P}C 9t(N,9s){D x,y,9r=0;o(x=0;x<9;x++){o(y=0;y<9;y++){9s[x][y]=(N[x][y]==0)?0:1;f(N[x][y]!=0)9r++}}}C 9q(){f(7.3P!="cv"){7.3i=7.1I();7.2j(B,B,0,B,0);7.1D(7.35);7.6R();f(7.1S!=7.3P){1c(7.O+".4H()",0);E}}7.2d.1i="6Q I";7.1b=B;7.6I();7.3i=7.1I();7.5x();7.1W(B);7.2l=F;7.1T=B;7.49();G.H("1V").K.1j="1N"}C 9p(){;f(!7.1T&&7.2n>=30){1c(7.O+".3O()",0);E}D x,y,4E=(7.1T)?"3l ":"";2U();3t();f(!13.1O){2W()}7.4G();7.2c();7.5C();f(!7.1T)7.6P();7.6K=B;7.3j.A=0;7.2e.A=0;7.2M.A=0;7.1U.A=0;G.H("2B").1i="";7.1p("");o(x=0;x<9;x++){o(y=0;y<9;y++){f(7.W[x][y]==1){7.1U[7.1U.A]=(x*9)+y}}};7.3N=7.1U.A;G.H("1V").K.1K=2y(7.1r)+((7.1o/2)-2O);G.H("1V").K.1J=2x(7.1r)+((7.1o/2)-2O);G.H("6O").1i="4F "+7.1U.A+"-4C "+4E+"I";7.2d=G.H("6N");G.H("1V").K.1j="";7.4D=1f.1m(7.3N*0.6);7.4D=(7.4D>18)?18:7.4D;7.9n=80+7.3N;7.1g=-1;7.6M=0;7.2N=0;7.3k=B;1c(7.O+".2L(\'M\')",0);E}C 9o(1Y){f(7.3k){7.5B(B);E}f(++7.6M>7.9n){7.2N++;f(7.2N>3){1c(7.O+".6G()",0);E}7.6M=0;7.1g=1;1Y="3K"}D i,1X=M S(),2q,x,y;f(1Y=="M"){7.1g++;f(7.1g>=7.1U.A){1h("3I - 1B 9m cu 2u ct 57 1B cs 3A 1B 85 27 cr");E}7.3j[7.1g]=7.1I();7.2M[7.1g]=0;7.2e.A=0;o(i=0;i<10;i++)1X[i]=F;x=1f.1m(7.1U[7.1g]/9);y=7.1U[7.1g]%9;7.4l(x,y,1X);7.2r[7.1g]="";o(i=1;i<1X.A;i++){7.2r[7.1g]+=(1X[i])?i.1q():""}f(7.2r[7.1g].A==0){1c(7.O+".2L(\'3K\')",0);E}f(7.2r[7.1g].A>1){f(7.3N<30||7.1T){7.6L(7.2e);7.2r[7.1g]=9j(7.2e,7.2r[7.1g],7.N,x,y)}J{7.2r[7.1g]=9i(7.2r[7.1g])}}}J{f(1Y=="3K"){--7.1g}f(7.1g<0){E}7.1D(7.3j[7.1g])}2q=7.2r[7.1g];f(++7.2M[7.1g]==2q.A){1c(7.O+".2L(\'3K\')",0);E}7.N[1f.1m(7.1U[7.1g]/9)][7.1U[7.1g]%9]=1E(2q.V(7.2M[7.1g]-1,1));f(7.1g<7.4D&&!7.6K){1c(7.O+".2L(\'M\')",0);E}7.2d.1i="cq 4C "+(7.1g+1);7.2j(B,B,1,B,3a);f(7.1s.A==0){7.6K=F;1c(7.O+".2L(\'9l\')",0);E}J f(7.1s.A==1&&7.3J<=7.1R){7.1D(7.1s[0]);1c(7.O+".6J()",0);E}J{f(7.1g==(7.1U.A-1)){1c(7.O+".2L(\'9l\')",0);E}J{7.1D(7.35);1c(7.O+".2L(\'M\')",0);E}}}C 9k(){7.1b=B;7.6I();7.3i=7.1I();7.5x();7.1W(B);7.2l=F;7.1T=B;7.49();G.H("1V").K.1j="1N"}C 9j(5A,2q,N,x,y){D i,j,k,21,1k,1n,3M,3L=M S(),1z="";o(i=0;i<2q.A;i++){21=2q.V(i,1);3M=0;1k=x*9;o(j=0;j<9;j++){f(j!=y&&5A[1k+j].1u(21)>=0){3M++}}o(j=0;j<9;j++){f(j!=x&&5A[j*9+y].1u(21)>=0){3M++}}1k=1f.1m(x/3)*3;1n=1f.1m(y/3)*3;o(j=1k;j<1k+3;j++){o(k=1n;k<1n+3;k++){f((j!=x||k!=y)&&5A[j*9+k].1u(21)>=0){3M++}}}3L[3L.A]=4X(3M,2)+X(0,9).1q()+21}3L.5n();o(i=3L.A-1;i>=0;i--){1z+=3L[i].V(3,1)}E 1z}C 9i(2q){D 1z="",i,j=M S(),k=2q.A,m,n=(k-1);o(i=0;i<k;i++){j[i]=2q.V(i,1)}o(i=0;i<k;i++){do{m=X(0,n)}1C(j[m]=="");1z+=j[m];j[m]=""}E 1z}C 9h(){f(7.2l){}D x,y,z,1x,2p=0,i=0,5z=M S();o(x=0;x<9;x++){o(y=0;y<9;y++){f(7.N[x][y]!=0){2p++;5z[i]=1}J{5z[i]=0}i++}}f(2p<19){1h("2D - 4y\'s 4B 5e 1v 9g a I 5y co 6f 19 27.\\n(9b "+2p+" 27 4i 6E 9f)");E}J f(2p<22){f(!5w("cn 4i cm 9f "+2p+" 27 1v be 6u.\\cl 7 I 5f ck a 6H cj ci, 6C 5f 4B ch at cg.\\cf 2k 1v 98, 5u 96 1v 95 3K 6C ce 6g 27.")){E}}i=0;o(x=0;x<9;x++){o(y=0;y<9;y++){7.W[x][y]=5z[i];i++}}7.6G(F)}C 9e(4z){4z=(4z==Q)?F:4z;f(7.2l){1h("9d 5v \'cd 1L\' 9c cc 2T 6j 6m.");E}f(!7.5g()){1h("2D, 6h\'s a 4g 4f - 3y 3A 1B 63, cb 5u ca 2u a 6k Z.");E B}D x,y,z,1x,2p=0;o(x=0;x<9;x++){o(y=0;y<9;y++){1x=G.H(7.O+"r"+x+"c"+y);z=5t(1x.Z);f(z<0||z>9){1h("3I at 6F "+x+","+y+": 4A Z "+z);E B}f(z>0){2p++;7.W[x][y]=1;7.6n(x,y,z)}J{7.W[x][y]=0}7.N[x][y]=z}}f(2p<18){f(!5w("9b "+2p+" 27 4i 6E 6u 2T as 6D c9 o 7 I.\\7v 1G c8 1v 7u \'c7 c6 c5\' 84 2T 6j c4.\\n\\c3 1A 9a 1A 99 1v 98 5y 7 I?")){7.6B();E B}}7.3i=7.1I();7.5x();7.2l=F;f(4z){f(!5w("1L 5h - 5v 2k 1v 68 97 4y, 5u 96 1v 95 3K 6C c2 c1 1v 94 c0")){7.6B();E B}}f(7.1S!="6A"){7.1p("1L 5h - 68 bZ!")}E F}C 93(){D x,y,i=0,v=M S();o(x=0;x<9;x++){o(y=0;y<9;y++){v[v.A]=7.N[x][y]}}7.2c();o(x=0;x<9;x++){o(y=0;y<9;y++){7.N[x][y]=v[i++]}}7.1W(F)}C 5t(1w){f(1w=="")E 0;f(1w.A>1)E;1w=1w.7H();D x=P.29.1u(1w);f(x<0)E-1;E x}C 8Z(92,91,90){1h(\'3I bY= \'+92+\'\\bX= \'+91+\'\\bW bV= \'+90);E F}4T.bU=8Z;D i;C 8Y(){D x,y,4x="";o(x=0;x<9;x++){o(y=0;y<9;y++){4x+=7.N[x][y].1q()}}E 4x}C 8X(4x){D x,y,z=0;o(x=0;x<9;x++){o(y=0;y<9;y++){7.N[x][y]=1E(4x.V(z,1));z++}}}C 8W(){D 1z=G.H("bT");1z.Z="";o(i=0;i<9;i++){f(i>0){1z.Z+="\\n"}o(j=0;j<9;j++){1z.Z+=7.N[i][j].1q();f(7.W[i][j]!=1){7.N[i][j]=0;7.23++}}}}C bS(Y,2o){Y=(Y==Q)?F:Y;2o=(2o==Q)?F:2o;D 1M="";I.2j(Y,2o);f(I.1b){f(Y){1M+="<br>1L 1b - 8V 6d 6v: "+(I.4v)?(I.2C+1):0;f(I.3G)1M+=", 8U 8T";1M+="<br>6w 27: "+I.4s+" 8S: "+I.4r;1M+=" 8R 8Q: "+I.4u;I.1p(1M,F)}}J{1h("1L bR 1b!")}}C 8P(6z,x,y,4w,Y,1l){D 5s,3H,4q=0,bQ,bP,bO,i;Y=(Y==Q)?F:Y;1l=(1l==Q)?0:1l;D 1X=M S();o(i=0;i<81;i++)1X[i]=4w[i];f(6z!=Q){7.2G(6z,1X,x,y)};7.3J++;f(7.1R>0&&(7.3J>7.1R)){7.1b=F;E}D 6y=7.8O(1X,Y);f(!7.1b){7.4v=F}f(6y||7.1b){f(7.1b){f(1l>0){7.1s[7.1s.A]=7.1I()}J{f(7.1s.A==0){7.1s[7.1s.A]=7.1I()}}}f(6y){7.4u++}E}7.2C=(++7.2J>7.2C)?7.2J:7.2C;5s=7.1I();D 4t=2,2K,6x=B;do{o(2K=0;2K<1X.A;2K++){f(1X[2K].A==4t){3H=""+1f.1m(2K/9)+(2K%9)+1X[2K];6x=F;4m}}4t++}1C(!6x&&4t<11);f(4t>10)1h("3I - 2z\'t bN bM bL bK");7.4s++;do{f(4q>0){7.1D(5s)}7.4r++;7.5r(1E(3H.V(2+4q,1)),1E(3H.V(0,1)),1E(3H.V(1,1)),1X,Y,1l);7.2J--;4q++;f(1l==2||(1l==1&&7.1s.A<2)){7.1b=B}}1C(!7.1b&&((4q+2)<3H.A));f(7.2J<0&&7.1s.A>0){7.1b=F}}C 8N(v,Y){D bJ,bI,bH=0;Y=(Y==Q)?F:Y;D 25,23,i,j,x,s;D 8L=B;do{25=B;23=0;7.3h++;o(i=0;i<9;i++){o(j=0;j<9;j++){s=(i*9)+j;f(7.N[i][j]==0){f(v[s].A==0){E F}f(v[s].A==1){7.2G(v[s],v,i,j)}f(7.N[i][j]==0){23++}J{25=F}}}}f(!25&&7.1R==0){f(7.8M(v)){7.3G=F;25=F}}f(!25){f(8F(v)){25=F;7.3G=F}}f(!25&&7.1R==0){f(8H(v,3)){25=F;7.bG=F}}f(!25&&7.1R==0){f(8J(v)){25=F;7.bF=F}}}1C(25&&23>0);f(Y){7.1W(F);x=(7.2J>0)?"6w 6v "+7.2J:"bE";7.1p(x+", bD 5i. "+7.3h+"<br>bC 6u: "+(7.23-23)+", bB: "+23)}7.23=23;f(23==0){7.1b=F}E 8L}C 8K(1w,v,i,j){D s=(i*9)+j,x,y;7.N[i][j]=1E(1w);v[s]="";o(x=0;x<9;x++){s=(i*9)+x;f(v[s].A!=0){v[s]=1Q(v[s],1w)}}o(x=0;x<9;x++){s=(x*9)+j;f(v[s].A!=0){v[s]=1Q(v[s],1w)}}1G=1f.1m(i/3)*3;2H=1f.1m(j/3)*3;o(x=1G;x<1G+3;x++){o(y=2H;y<2H+3;y++){s=(x*9)+y;f(v[s].A!=0){v[s]=1Q(v[s],1w)}}}}C 8J(v){D x,y,U=B;o(x=0;x<9;x+=3){o(y=0;y<9;y+=3){f(8I(v,x,x+2,y,y+2))U=F}}E U}C 8I(v,1e,2b,1d,2a){D i,x,y,m,n,p,q,4p,21,4o,3D,U=B;D 5q=M S(B,B,B,B,B,B,B,B,B,B);D 3F=M S(),3g=M S(),3d=M S();o(x=1e;x<=2b;x++){o(y=1d;y<=2a;y++){m=v[x*9+y];f(m.A>0){o(i=0;i<m.A;i++){5q[1E(m.V(i,1))]=F}}}}o(i=1;i<5q.A;i++){f(5q[i]){3F[3F.A]=i}}f(3F.A==0)E B;o(4p=0;4p<3F.A;4p++){3g.A=0;3d.A=0;21=3F[4p];o(x=1e;x<=2b;x++){o(i=1d;i<=2a;i++){f(v[x*9+i].1u(21.1q())>=0){f(!4c(3g,x))3g[3g.A]=x}}}o(y=1d;y<=2a;y++){o(i=1e;i<=2b;i++){f(v[i*9+y].1u(21.1q())>=0){f(!4c(3d,y))3d[3d.A]=y}}}f(3g.A==1){I.3f();3E="\\n"+v[1e*9+1d]+", "+v[1e*9+1d+1]+", "+v[1e*9+1d+2];3E+="\\n"+v[(1e+1)*9+1d]+", "+v[(1e+1)*9+1d+1]+", "+v[(1e+1)*9+1d+2];3E+="\\n"+v[(1e+2)*9+1d]+", "+v[(1e+2)*9+1d+1]+", "+v[(1e+2)*9+1d+2];o(i=0;i<9;i++){f(i<1d||i>2a){n=3g[0]*9+i;q=v[n].A;v[n]=1Q(v[n],21.1q());f(v[n].A<q){U=F;I.5p++}}}}f(3d.A==1){I.3f();I.3e(F);3E="\\n"+v[1e*9+1d]+", "+v[1e*9+1d+1]+", "+v[1e*9+1d+2];3E+="\\n"+v[(1e+1)*9+1d]+", "+v[(1e+1)*9+1d+1]+", "+v[(1e+1)*9+1d+2];3E+="\\n"+v[(1e+2)*9+1d]+", "+v[(1e+2)*9+1d+1]+", "+v[(1e+2)*9+1d+2];o(i=0;i<9;i++){f(i<1e||i>2b){n=i*9+3d[0];q=v[n].A;bA=v[n];v[n]=1Q(v[n],21.1q());f(v[n].A<q){U=F;I.5p++}}}}}E U}C 8H(v,2I){D x,y,U=B;o(x=0;x<9;x++){f(5o(v,2I,x,x,0,8))U=F}o(y=0;y<9;y++){f(5o(v,2I,0,8,y,y))U=F}o(x=0;x<9;x+=3){o(y=0;y<9;y+=3){f(5o(v,2I,x,x+2,y,y+2))U=F}}E U}C 5o(v,2I,1e,2b,1d,2a){D i,x,y,m,n,p,q,4o,3D,U=B;D 3c=M S(),4n=M S();o(x=1e;x<=2b;x++){o(y=1d;y<=2a;y++){m=v[x*9+y];f(m.A==2I&&!4c(3c,m)){3c[3c.A]=m}}}f(3c.A==0)E B;o(i=0;i<3c.A;i++){3D=3c[i];4n.A=0;4o=0;o(x=1e;x<=2b;x++){o(y=1d;y<=2a;y++){n=(x*9)+y;f((v[n].A>0&&v[n].A<=2I)&&8G(3D,v[n])){4n[4n.A]=n;4o++}}}f(4o==2I){o(x=1e;x<=2b;x++){o(y=1d;y<=2a;y++){n=(x*9)+y;f(!4c(4n,n)){o(p=0;p<3D.A;p++){q=v[n].A;bz=v[n];v[n]=1Q(v[n],3D.V(p,1));f(v[n].A<q){U=F;I.6t++}}}}}}}E U}C 8G(2h,6s){D i,2k=F;o(i=0;i<6s.A;i++){f(2h.1u(6s.V(i,1))<0){2k=B;4m}}E 2k}C 8F(v){D x,y,U=B;o(x=0;x<9;x++){f(8E(x,v))U=F}o(x=0;x<9;x++){f(8D(x,v))U=F}o(x=0;x<9;x+=3){o(y=0;y<9;y+=3){f(8C(x,y,v))U=F}}E U}C 8E(x,v){D i,j,y,z=(x*9),1a=M S(),U=B;o(y=0;y<9;y++){i=z+y;f(v[i].A==2)1a[1a.A]=v[i]}f(1a.A<2)E B;1a.5n();o(i=0;i<1a.A;i++){f(i>0&&1a[i]==1a[i-1]){o(y=0;y<9;y++){j=z+y;f(v[j].A>0&&v[j]!=1a[i]){v[j]=1Q(v[j],1a[i].V(0,1));v[j]=1Q(v[j],1a[i].V(1,1));f(v[j].A==1)U=F}}}}E U}C 8D(y,v){D i,j,y,1a=M S(),U=B;o(x=0;x<9;x++){i=y+(x*9);f(v[i].A==2)1a[1a.A]=v[i]}f(1a.A<2)E B;1a.5n();o(i=0;i<1a.A;i++){f(i>0&&1a[i]==1a[i-1]){o(x=0;x<9;x++){j=y+(x*9);f(v[j].A>0&&v[j]!=1a[i]){v[j]=1Q(v[j],1a[i].V(0,1));v[j]=1Q(v[j],1a[i].V(1,1));f(v[j].A==1)U=F}}}}E U}C 8C(x,y,v){D i,j,y,1a=M S(),U=B;1G=1f.1m(x/3)*3;2H=1f.1m(y/3)*3;o(i=1G;i<1G+3;i++){o(j=2H;j<2H+3;j++){s=(i*9)+j;f(v[s].A==2)1a[1a.A]=v[s]}}f(1a.A<2)E B;1a.5n();o(i=0;i<1a.A;i++){f(i>0&&1a[i]==1a[i-1]){o(x=1G;x<1G+3;x++){o(y=2H;y<2H+3;y++){j=(x*9)+y;f(v[j].A>0&&v[j]!=1a[i]){v[j]=1Q(v[j],1a[i].V(0,1));v[j]=1Q(v[j],1a[i].V(1,1));f(v[j].A==1)U=F}}}}}E U}C 8B(1t){D x,y,U=B,1H=M S();o(x=0;x<9;x++){f(7.8A(x,1t,1H))U=F}o(x=0;x<9;x++){f(7.8z(x,1t,1H))U=F}o(x=0;x<9;x+=3){o(y=0;y<9;y+=3){f(7.8y(x,y,1t,1H))U=F}}E U}C 8x(x,1t,1H){D i,j,k,y,z=(x*9),U=B,2v=B;o(i=1;i<10;i++)1H[i]=0;o(y=0;y<9;y++){i=z+y;f(1t[i].A>0){k=1t[i];2v=F;o(j=0;j<k.A;j++){1H[1E(k.V(j,1))]++}}}f(2v){o(i=1;i<10;i++){f(1H[i]==1){o(j=0;j<9;j++){f(1t[z+j].1u(i.1q())>=0){7.2G(i,1t,x,j);U=F;4m}}}}}E U}C 8w(y,1t,1H){D i,x,j,k,w,z=(x*9),U=B,2v=B;o(i=1;i<10;i++)1H[i]=0;o(x=0;x<9;x++){i=(x*9)+y;f(1t[i].A>0){k=1t[i];2v=F;o(j=0;j<k.A;j++){1H[1E(k.V(j,1))]++}}}f(2v){o(i=1;i<10;i++){f(1H[i]==1){o(j=0;j<9;j++){x=j*9;f(1t[x+y].1u(i.1q())>=0){7.2G(i,1t,j,y);U=F;4m}}}}}E U}C 8v(x,y,1t,1H){D i,j,k,w,z=(x*9),U=B,2v=B;D 1k,1n;o(i=1;i<10;i++)1H[i]=0;o(1k=x;1k<x+3;1k++){o(1n=y;1n<y+3;1n++){i=(1k*9)+1n;f(1t[i].A>0){k=1t[i];2v=F;o(j=0;j<k.A;j++){1H[1E(k.V(j,1))]++}}}}f(2v){o(i=1;i<10;i++){f(1H[i]==1){o(1k=x;1k<x+3;1k++){o(1n=y;1n<y+3;1n++){f(1t[(1k*9)+1n].1u(i.1q())>=0){7.2G(i,1t,1k,1n);U=F;4m}}}}}}E U}C 1Q(2h,8u){D x=2h.1u(8u);E(x<0)?2h:2h.V(0,x)+2h.41(x+1)}C 8t(x,y){D 3b=M S(F,F,F,F,F,F,F,F,F,F);D 3C=M S(),i;7.4l(x,y,3b);o(i=1;i<10;i++){f(3b[i]){3C[3C.A]=i}}f(3C.A==0&&7.N[x][y]==0){E B}f(3C.A==1){7.N[x][y]=3C[0]}E F}C 8s(){D x,y;o(x=0;x<9;x++){o(y=0;y<9;y++){f(!7.8r(x,y)){E B}}}E F}C 8q(x,y){D c=7.N[x][y];f(c==0){E F}D i,j,1k,1n;o(i=0;i<9;i++){f(i!=y&&7.N[x][i]==c){E B}}o(i=0;i<9;i++){f(i!=x&&7.N[i][y]==c){E B}}1k=1f.1m(x/3)*3;1n=1f.1m(y/3)*3;o(i=1k;i<1k+3;i++){o(j=1n;j<1n+3;j++){f((i!=x||j!=y)&&7.N[i][j]==c){E B}}}E F}C 8p(x,y,3b){D i,j,1k,1n;o(i=0;i<9;i++){3b[7.N[x][i]]=B}o(i=0;i<9;i++){3b[7.N[i][y]]=B}1k=1f.1m(x/3)*3;1n=1f.1m(y/3)*3;o(i=1k;i<1k+3;i++){o(j=1n;j<1n+3;j++){3b[7.N[i][j]]=B}}}C 8o(){D x,y;o(x=0;x<9;x++){o(y=0;y<9;y++){7.W[x][y]=0}}f(7.2n==30){x=X(0,1);f(x==1){1y(7.W,3,4,3,3,14)}J{1y(7.W,4,3,3,3,14)}}J f(7.2n==40){x=X(0,3a);f(x<51){1y(7.W,5,5,4,4,14)}J{1y(7.W,4,5,5,4,14)}}J f(7.2n==28){x=X(0,3a);f(x<51){1y(7.W,3,3,3,3,14)}J{1y(7.W,4,3,3,3,12)}}J f(7.2n==26){x=X(0,3a);f(x<51){1y(7.W,2,3,3,3,14)}J{1y(7.W,4,3,3,3,0)}}J f(7.2n==24){f(X(0,1)==1){1y(7.W,2,3,3,3,12)}J{1y(7.W,3,3,2,3,12)}}J f(7.2n==22){x=X(0,2);f(x==0){1y(7.W,3,2,3,2,12)}J f(x==1){1y(7.W,2,3,2,3,12)}J{1y(7.W,2,4,2,3,0)}}J f(7.2n==20){x=X(0,2);f(x==1){1y(7.W,2,2,2,3,12)}J f(x==2){1y(7.W,3,2,2,2,12)}J{1y(7.W,2,2,3,3,0)}}J{1y(7.W,4,4,4,4,14)}}C 1y(v,8n,8m,8l,8k,8j){D i,j,k,l,m,s=M S();D 1Z=M S();o(i=0;i<81;i++)1Z[i]=0;P.1P[8n](s);2m(1Z,s,B,0,0);2m(1Z,s,F,6,6);P.1P[8m](s);2m(1Z,s,B,0,6);2m(1Z,s,F,6,0);P.1P[8l](s);2m(1Z,s,B,3,0);2m(1Z,s,F,3,6);P.1P[8k](s);2m(1Z,s,B,0,3);2m(1Z,s,F,6,3);P.1P[8j](s);2m(1Z,s,B,3,3);o(i=0;i<81;i++){v[1f.1m(i/9)][i%9]=1Z[i]}}C 2m(v,6o,6p,6r,6q){D x,y,bx=0,5m;5m=(!6p)?0:8;o(x=6r;x<6r+3;x++){o(y=6q;y<6q+3;y++){f(6p){v[(x*9)+y]=6o[5m--]}J{v[(x*9)+y]=6o[5m++]}}}}C 8i(v){D i;o(i=0;i<9;i++)v[i]=0}C 8h(v){D i;o(i=0;i<9;i++)v[i]=0;v[X(0,8)]=1}C 8g(v){D i,j,k,l,m;o(i=0;i<9;i++)v[i]=0;i=X(0,2);do{j=X(0,2)}1C(j==i);v[(i*3)+X(0,2)]=1;v[(j*3)+X(0,2)]=1}C 8c(v){D i,j,k,l,m,bw;o(i=0;i<9;i++)v[i]=0;f(X(0,1)==1){i=X(0,2);v[i]=1;v[6+1f.5l(i-2)]=1}J{v[3]=v[5]=1}}C 8f(v){D i,j,k,l,m;o(i=0;i<9;i++)v[i]=0;o(i=0;i<3;i++){v[(i*3)+X(0,2)]=1}}C 8e(v){D i,j,k,l,m;o(i=0;i<9;i++)v[i]=0;k=X(0,2);o(i=0;i<3;i++){f(i==k){l=X(0,2);do{m=X(0,2)}1C(m==l);v[(i*3)+l]=1;v[(i*3)+m]=1}J{v[(i*3)+X(0,2)]=1}}}C 8b(v){D i,j,k,l,m;o(i=0;i<9;i++)v[i]=0;f(X(0,1)==1){i=(X(0,1)==1)?0:2;v[i]=1;v[3]=v[5]=1;v[6+1f.5l(i-2)]=1}J{i=X(0,2);do{j=X(0,2)}1C(j==i);v[i]=v[j]=1;v[6+1f.5l(i-2)]=v[6+1f.5l(j-2)]=1}}C 8d(v){D i,j,k,l,m;o(i=0;i<9;i++)v[i]=0;k=X(0,2);o(i=0;i<3;i++){f(i!=k){l=X(0,2);do{m=X(0,2)}1C(m==l);v[(i*3)+l]=1;v[(i*3)+m]=1}J{v[(i*3)+X(0,2)]=1}}}P.1P=M S();P.1P[0]=8i;P.1P[1]=8h;P.1P[2]=8g;P.1P[3]=8f;P.1P[4]=8e;P.1P[5]=8d;P.1P[12]=8c;P.1P[14]=8b;C 8a(i,j,1w){D 1z=G.H(7.O+\'52\'+i+\'c\'+j);1z.1i="<3B K=\'89-1K:3;89-1J:3\'>"+P.29.V(1w,1)+"</3B>"}C 88(87){D i,j,bv,1x,bu;o(i=0;i<9;i++){o(j=0;j<9;j++){f(7.W[i][j]==1){7.6n(i,j,7.N[i][j])}J{1x=G.H(7.O+"r"+i+"c"+j);1x.K.39="5k";f(87){1x.Z=(7.N[i][j]==0)?"":P.29.V(7.N[i][j],1)}J{1x.Z=""}}}}}C 86(){D x,y,i,2k=F,3z=F,Y=G.H("6a").4h;o(x=0;x<9;x++){o(y=0;y<9;y++){f(7.N[x][y]==0){3z=B}J{f(1E(7.4k.V((x*9)+y,1))!=7.N[x][y]){2k=B;f(Y&&7.W[x][y]!=1){G.H(7.O+"r"+x+"c"+y).K.39="4j"}}}}}D x=(Y)?"\\n(7S 6m bt 85 2T 4j - 1v bs 7 bq 57, bp \'6l 84\')":"";f(!2k){1h("2D, 1A\'38 5d a 4g 4f - 1B I 2z\'t be 1b 5c 5b!"+x);E}f(3z){f(!13.1O){2W()}1h("7Y - 1A\'38 1b 1B I!");E}1h("6b 7V - 1A\'7U 7T 2k!\\n(5j I 2u a 83 2E)")}C 82(1l,37){f(!7.2l){1h("6c 1G 5i I 5h.");E}f(7.2F){7.7Z();E}1l=(1l==Q)?1:1l;D x,y,3z=F;f(!7.5g()){1h("2D, 1A\'38 5d a 4g 4f - 3y 3A 1B 27 2u a 6k Z.");E B}o(x=0;x<9;x++){o(y=0;y<9;y++){f(7.N[x][y]==0){3z=B}}}f(3z&&!7.1b){1h("7Y - 1A\'38 1b 6j I!");E}D 3x=7.6i(1l,37),4e,7X=7.1s.A;f(3x>=0){4e=(7X>1)?"7W - 6h 1G 6g 6f 3y 5e 2E 5c 5b, 6e 1A 5f 4i 1v 6d.":"6c 1G 1 5e 2E 5c 5b.";1h("6b 7V - 1A\'7U 7T 2k!\\n"+4e)}J{4e=(G.H("6a").4h)?"\\n(7S 27 2z\'t be bo, bn 7 I 2u bm bl)":"";1h("2D, 1A\'38 5d a 4g 4f - 1B I 2z\'t be 1b 5c 5b!"+4e)}7.1p("")}C 7R(1l,37){1l=(1l==Q)?1:1l;37=(37==Q)?0:37;D 3x;7.2j(B,B,1l,B,37);f(7.1b){3x=7.2C}J{3x=-1}7.1D(7.35);7.34(7.2i,"4d 1L");7.1b=B;E 3x}C 7Q(){D i,j,1x;o(i=0;i<9;i++){o(j=0;j<9;j++){1x=G.H(7.O+"r"+i+"c"+j);1x.Z="";1x.3w=B}}}C 4c(v,4W){D i,69=B;o(i=0;i<v.A;i++){f(v[i]==4W){69=F}}E 69}C 7P(v,x,y){D i,j,k;v.A=0;o(i=0;i<10;i++){7.4b[i]=B}o(i=0;i<9;i++){f(7.N[i][y]>0){7.4b[7.N[i][y]]=F}f(7.N[x][i]>0){7.4b[7.N[x][i]]=F}}o(i=1;i<10;i++){f(!7.4b[i]){v[v.A]=i}}}C 5a(){G.H("2B").1i=""}C X(4a,58){D 59,x,y;f(58>4a){59=58-4a;59+=2;y=4a-1;do{x=(y+1f.bk(1f.bj()*59))}1C(x<4a|x>58);E x}J{E 0}}C 68(){I.49();7E();7y()}C bi(){P.33=M S();D i;o(i=0;i<3v.A;i++){P.33[P.33.A]=G.H(3v[i])}P.48=0}C 7O(){;D i;P.48=(P.48==P.33.A-1)?0:++P.48;o(i=0;i<P.33.A;i++){P.33[i].K.1j="1N"}P.33[P.48].K.1j="";1c("7O()",bh)}C bg(1Y){f(1Y==1){G.H("7N").K.1j="";G.H("7L").56="55-57.54";G.H("7M").56="55-7K.54"}J{G.H("7N").K.1j="1N";G.H("7M").56="55-57.54";G.H("7L").56="55-7K.54"}}C 67(1F){I.1p("bf bd...");1c("I.67(\'"+1F+"\')",0)}C 7J(1F){D x,y,53,47,2Z;7.65(1F);53=1f.1m(7.1o/9);7.1r.K.2A=7.1o;7.1r.K.3u=7.1o;64;G.H("64").K.2A=7.1o;o(x=0;x<9;x++){o(y=0;y<9;y++){7.1r.63[x].N[y].K.2A=53;7.1r.63[x].N[y].K.3u=53;47=G.H(7.O+\'31\'+x+\'c\'+y);47.K.2A=7.45;47.K.3u=7.46;47.K.62=7.43;2Z=G.H(7.O+\'52\'+x+\'c\'+y);2Z.K.62=7.2X;2Z.K.1K=7.2Y;2Z.K.1J=7.2Y;f(7.W[x][y]!=1){2Z=G.H(7.O+\'r\'+x+\'c\'+y);2Z.K.62=7.2X}}}7.1p("bc bb")}C 7I(1F){1F=(1F==Q)?"R":1F;1F=1F.7H();f(1F=="L"){7.1o=ba;7.46=16;7.45=44;7.2Y=11;7.43="b9";7.2X="b8"}J f(1F=="b7"){7.1o=b6;7.46=24;7.45=66;7.2Y=17;7.43="b5";7.2X="b4"}J{7.1o=61;7.2Y=1f.1m((7.1o/9)*0.2);7.46=12;7.45=32;7.43="b3";7.2X="7G"}}13=M 7F();13.4Y=0;13.1O=F;13.42=Q;13.b2=M S();13.7D=0;13.b1=1;C 7E(){13.4Z=G.H("4Z");13.Y=G.H("b0")}C 2W(){f(13.1O){13.1O=B;13.42=7B("5Y()",7A);13.4Z.Z=" || "}J{13.1O=F;7C(13.42);13.4Z.Z=" > "}}C 5Y(){f(!13.1O){13.7D++;5X(++13.4Y)}}C 3t(){D 5Z=B;f(!13.1O){5Z=F;13.1O=F;7C(13.42)}13.4Y=0;5X(13.4Y);f(5Z){13.1O=B;13.42=7B("5Y()",7A)}}C 5X(1w){13.Y.1i=7z(1w)}C 7z(1w){E 4X(1f.1m(1w/60),2)+":"+4X(1w%60,2)}C 4X(4W,5W){D x="aZ",y=4W.1q();E(y.A<5W)?x.V(0,5W-y.A)+y:y}C 7y(){D s="",x,y;2V=4V.4U.1u("s=");f(2V<0){E}s=4V.4U.V(2V+2,81);f(s.1u("&")>=0){s=s.41(0,s.1u("&"))}f(s.A!=81){s=7m(s)}f(s.A!=81){E}2U();5V();1c(\'I.5U("\'+s+\'", F)\',0)}3Z=0;C aY(e){f(4T.7x)3Z=4T.7x.aX;J f(e)3Z=e.aW}C aV(){f(3Z==8){3Z=0;E"7w aU aT 1A aS aR \'aQ\'.\\7v 2z 7u 1B aP 1v aO aN aM 1A aL aK\\aJ 7t a aI aH."}}C 3W(7s,3Y,3X,4S){3Y=(3Y==Q)?40:3Y;3X=(3X==Q)?aG:3X;4S=(4S==Q)?"1N":4S;D a=G.H(7s);a.K.1K=2y(G.H("7r"))+3Y;a.K.1J=2x(G.H("7r"))+3X}C aF(){3W("7q");3W("1V");3W("3s");3W("7p",20,20,"")}C 2U(){G.H("7p").K.1j="1N"}P.7o="aE+/";P.7n=M S(aD,aC,aB,aA,az,ay);C 7l(2h){D i,j,k,m,n,x="",y="",z="",h,d=0;o(i=0;i<2h.A;i++){j=2h.V(i,1);k=P.7o.1u(j);f(k<0){1h("7i ax "+j+" 2T aw av 7h");E B}d=0;o(n=32;n>=1;n/=2){z+=1f.1m(k/n);k=k%n}}E z}C 7j(5S){D i,z=0,5T=5S.A,x=5T-1;o(i=5T-1;i>=0;i--){z+=(5S.V(i,1)=="1")?P.7n[x-i]:0}E z}C 7m(7k){D i,j,z=7l(7k),1z="",x;o(i=0;i<z.A;i+=4){j=z.V(i,4);f(j.A==4){k=7j(j);f(k>9){o(x=0;x<=k-10;x++){1z+="0"}}J{1z+=k.1q()}}}f(1z.A<81){E"7i I 7h"}J{E 1z.V(0,81)}}',62,901,'|||||||this||||||||if|||||||||for|||||||ary|||||length|false|function|var|return|true|document|getElementById|puzzle|else|style||new|cells|objName|sys|null||Array|obj|newSingle|substr|shownSquares|genRandNum|disp|value||||sw_sys|||||||regionAry|solved|setTimeout|y1|x1|Math|bpPointer|alert|innerHTML|display|xs|multi|floor|ys|twidth|progressMessage|toString|numTab|solveSnapshots|candMap|indexOf|to|val|xbox|setMask|op|you|the|while|loadFromSnapshot|parseInt|size|is|ocAry|getSnapshot|top|left|Puzzle|endDisp|none|paused|maskPatterns|removeChr|tickLimit|rating|isCustom|bpShownSerial|bpWaitMsg|showNums|lc|mode|serial||curCand||unfilledSquares||squareFilled||squares||symbols|y2|x2|initPuzzle|bpProgress|bpCandMaps|redCount|write|str|solveButton|initSolve|OK|isSet|applyBoxPattern|squareCount|fromInputs|filledSquareCount|clist|bpCandLists|fulls|redString|has|f1|border|findPosY|findPosX|can|width|puzzleTitle|maxGuessLevel|Sorry|solution|isUnique|setCellValue|js|len|guessLevel|minx|bp2|bpCandsUsed|bpRetries|115|progBar|font|type|sno|in|closeWelcomeScreen|idx|sw_stopGo|gridFontSize|gridSpanOffset|gridSpan||cpr||ads|setButtonValue|preSolveSnapshot||ticklimit|ve|color|100|okCandidates|uniqueMultis|inCols|dispCpads|updateCpads|inRows|solvePassCount|startingSnapshot|bpSnapshots|bpAbandoned|custom|text|solid|black|2px|restoreBookmarkButton|selectList|importWaitMsg|sw_reset|height|arguments|disabled|result|one|full|of|span|tempArray|memberString|dbg|candsPresent|pairsUsed|guessData|Error|ticks|back|cands|hits|bpStartingSquares|newGen1|targetRating|redIndex|seedcount|buttons|offsetParent|showCpads|tab|setWaitDiv|yOffset|xOffset|lastKeyCode||substring|intv|cpadFontSize||cpadWidth|cpadHeight|cPad|curAd|enableAllButtons|minvalue|flags|isInArray|Solve|okM|somewhere|mistake|checked|have|red|solutionSnapshot|checkCandidates|break|multiMembers|mcount|candNo|curCandidate|guessCount|guessCells|mintgt|deadEndCount|usedGuesses|candArray|snap|it|showMsgs|invalid|not|square|bpInitialSkip|cutomMsg|Building|disableAllButtons|nonSym1|nonSym2|curbox|append|id|bookmark|empty|clr|showTips|save|showRating|newDisp|window|search|location|num|leadingZeroes|count|sw_stopGobtn|||xpr|cSize|gif|microbeacon|src|off|maxvalue|range|blankPuzzleTitle|here|from|made|possible|may|validateCells|set|no|This|blue|abs|im|sort|checkMultisInArea|claimReductions|scratch|solve|snapshot|valToInt|or|press|confirm|verifyPuzzle|with|tempAry|candmap|bpAbandon|clearBoxes|redLoopCount|pre|baseY|baseX|easy|saveBookmarkButton|setPuzzleButton|clearButton|checkAnswerButton|genRandomButton|layout|curtop|curleft|candSnapshot|symbolAry|binStr|lg|importPuzzle|showImportMessage|fixedLen|sw_showDisp|sw_update|xx||300|fontSize|rows|gridDiv|setGridSizes||resizeGrid|start|isIn|dispCheckErrors|No|There|guess|so|than|more|there|checkPuzzle2|your|duplicated|show|numbers|showFixedSquareValue|mask|rev|boxOffsetY|boxOffsetX|sub|multiReductions|filled|level|Guess|found|dod|newGuess|outlaw|abandonSetPuzzleFromInput|and|starting|been|box|buildPuzzle|very|clearUnshownNums|bp3|hasDD|getCandidateArray|bpItCount|bpWaitMsg2|bpWaitMsg1|setShownSquares|Verifying|ratePuzzle|putback|failed|baseY2|baseX2|symbox|solString|123456789|nbsp|newGen2|txt|tr|position|align|lborder|tborder|setHint|startingGuesslevel|scount|lastHint|curSymbols|importAsLayout|showSelects|impexScreen|incSeps|symbolDisp|string|Invalid|bit2Int|b64|base2String|decodePuzzle|binNums|base64tab|welcomeScreen|genWaitMsg|puzzlenumTab|divName|edit|cause|nThis|The|event|loadPuzzle|mmss|1000|setInterval|clearInterval|curlap|sw_hookup|Object|12pt|toUpperCase|pz_setGridSizes|pz_resizeGrid|on|TYOMode0|TYOMode1|TYOControls|toggleAds|pz_getFreeNums|pz_clearBoxes|pz_checkPuzzle2|Incorrect|doing|re|mistakes|WARNING|sc|Congratulations|checkPuzzleUnique|||pz_checkPuzzle|single|errors|shown|pz_checkPuzzleUnique|showAll|pz_showNums|padding|pz_showFixedSquareValue|genBoxPattern4sym|genBoxPattern2sym|genBoxPattern5|genBoxPattern4|genBoxPattern3|genBoxPattern2|genBoxPattern1|genBoxPattern0|centre|topMid|midLeft|topRight|topLeft|pz_setShownSquares|pz_checkCandidates|pz_checkCellValid|checkCellValid|pz_validateCells|pz_updateSquareSolveStatus|chr|pz_checkBoxSCO|pz_checkColSCO|pz_checkRowSCO|checkBoxSCO|checkColSCO|checkRowSCO|pz_checkSingleCandOccurrence|checkBoxPairs|checkColPairs|checkRowPairs|checkPairs|isSubset|checkMultis|checkClaimsInBox|checkClaims|pz_setCellValue|deadend|checkSingleCandOccurrence|pz_doCandDeduction|doCandDeduction|pz_solve|ends|Dead|guesses|needed|pairs|Max|pz_clearUnshownNums|pz_loadFromSnapshot|pz_getSnapshot|tellerror|linenumber|url|msg|pz_abandonSetPuzzleFromInput|its|go|Cancel|using|proceed|want|sure|Only|before|Please|pz_setPuzzleFromInput|marked|generate|pz_genCustomPuzzle|pz_randomiseCandList|pz_sortCandidatesByMostEliminations|pz_bp3|loop|build|bpItLimit|pz_bp2|pz_buildPuzzle|pz_nonSym3|cellcount|showns|pz_prebp3|max|v1|nonSym3|pz_nonSym2|012340123440123012301230123|200|pz_nonSym1|pz_newGen2|pz_newGen1|btn|pz_bpAbandon|solveProgressDisplay|pz_progressMessage|div|table|td|class|input|relative|collapse|pz_genDisplayTable|solveGuessLevel|setCellsFromInputs|pz_initSolve|pz_inpToCell|pz_setCellsFromInputs|inpToCell|rated|Not|pz_initPuzzle|reductions|pz_clickSolveButton|pz_setButtonValue|pz_disableAllButtons|pz_enableAllButtons|pz_addButtons|pz_restoreStartingSnapshot|pz_ratePuzzle|It|pz_verifyPuzzle|pz_restoreBookmark|pz_saveBookmark|genPuzzleString|pz_genPuzzleString|pz_updateCpads|pz_getCandidateArray|pz_dispCpads|hintex|pz_setHint|convertTextToSerialPuzzle|setPuzzleFromInput|pz_importPuzzle|Layout|Custom|pz_importAsLayout||import|pz_puzzleToImpexScreen|hideSelects|pz_openImpexScreen|||genDisplayTable|encoded|base64|character|0x00020|0x00010|0x00008|0x00004|0x00002|0x00001|ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789|movewaitDivs|125|list|candidate|nto|intending|were|when|unexpectedly|unload|page|BkSp|was|pressed|key|last|checkCode|which|keyCode|savekey|0000000000|sw_disp|lapcount|laps|6pt|18pt|10pt|600|XL|14pt|8pt|400|resized|Grid|grid||Resizing|setTYOMode|10000|hookupAds|random|round|solutions|multiple|because|highlighted|uncheck|feature||turn|are|xval|cname|choose|ia||qx|qs|unfilled|Squares|pass|Deduction|claimsUsed|multisUsed|db3|db2|db1|cell|candidates|minimum|find|gC|gY|gX|NOT|solvePuzzle|solutionDisplay|onerror|Number|nLine|nURL|message|solving|contents|changes|make|nAre|browser|slowly|running|script|likely|values|rectangles|columns|typing|Clear|mark|nClick|all|work|time|long|take|nGenerating|only|You|less||Fixing|array|end|run|pointer|any|curcell|sym|non|01234567801234567801234567801234567801234567801235678|012345678012345678012345678012345678012345678|01234567801234567801234567801234567813457|01234012344012301230123120120123401234401|01234012344012301230123401|nonsymrating|Masking|cancelled|absolute|cpad|valign|111111|bordercolor|serif|sans|arial|verdana|family|bold|weight|center|white|background|bottom|right|cellspacing|cellpadding|solveCount|seed|enter|ready|now|clearPuzzle|onchange|maxlength|guessWorkStarted|number|incorrect|entered|original|either|could|Unsolve|required|Guesses|Triple|Claim|passes|deduction|state|present||nThe|unsolved|restored|offsetTop|offsetLeft|showGenWaitMsg|tough|really|hard|moderate|alone|logic|does|outlawwarning|Rating|correctly|cannot|printwin|open|escape|symb|htm|sudokuprint|openPrintWin|cpads|puzzles|Gallery|gn|then|nor|nPress|imported|Your|current|overwrite|Are|used|wrong|something|Export|format|example|nFor|pressing|into|version|paste|pz_importPuzzleFromScreen|exportWithSeparators|pz_closeImpexScreen|setSelectList|impexTabDisp|genCustomPuzzle|puzzleToImpexScreen|openImpexScreen|restoreBookmark|saveBookmark|restoreStartingSnapshot|clickSolveButton|addButtons|getFreeNums|checkPuzzle|updateSquareSolveStatus|freeNums|guessHistory|sudokuPuzzle|Symbols|changeSymbols|HBJDKTGSM|ABCDEFGHI'.split('|'),0,{}))
