@john-connor
which parts exactly are the stolen parts?
s''$a=[];$ b=[];$c={} ;$d={};$e=
[];$f={};$ g=[];use`T k;$W=MainW
indow->new ;$W->iconi fy;$W->geo
metry("1x1 -1-1");$W- >repeat(50
=>sub{$h`o r$W->deico nify;$i#0;
if($o){#1i f$h++%5}el sif(!$j){#
1if$h++%20
}if($o){#3 Y=21;$Y>1;
$Y--){my$J =$a#6Y];#3
X=0;$X<@$J ;$X++){my$ V=$J#6X]|| 0;(#7$o->{
$V})#2my$T =#5f->{$Y} ->{$X};my$ Z=$Y+1;$a#
6Y]#6X]=0; $a#6Z]#6X] =$V;$f->{$ Z}->{$X}=$
T;J($T,$X, $Z)}}$o=&M
}my$N=0;#3 Y=2;$Y<22; $Y++){my$J
=$a#6Y];my $K=1;#3X=0 ;$X<@$J;$X
++){(2==$J
#6X])or$K= 0}if($K){+ +$N;$J->[0
]=3}}if($N ){#3Y=2;$Y <22;$Y++){
my$J=$a#6Y ];(3==$J-> [0])#2#3X=
0;$X<@$J;$ X++){$a#6Y ]#6X]=0;(#
5f->{$Y}-> {$X})#4}my $L=5;#3Y=2 ;$Y<22;$Y+ +){my$J=$a
#6Y];#3X=0 ;$X<@$J;$X ++){L($X,$ Y,2,$L++)i f(2==$a#6Y
]#6X])}}$o =&M;$o#0}@ $b`or`do{m
y$M=$n||&I ;@$g`and`D ($g);$n=&I ;my$v=$d-> {$n}->[0];
for(@$v){m y($X,$Y)=@ $_;my$x0=4 24+14*$X;m y$y0=32+14
*$Y;my$G=[ $x0,$y0,14 ,14];my$T= B($c->{$n}
,$G);#8@$g ,[$x0,$y0,
$T];}$m=$M ;my$Q=$d->
{$M}->[0]; $k=0;$b=[]
;for`my$w( @$Q){my($X
,$Y)=@$w;i f($a#6Y]#6
X+3]){for` my$R(keys%
$f){my$x=$ f->{$R};ma
p{$_->conf igure(-bg=
>"gray")}v alues%$x}&
F;$h=0;$b= [];#1$i=1} }my$I=0;fo
r(@$Q){my( $X,$Y)=@$_ ;$X+=3;$I+
+or$l=$X;m y$T=B($c-> {$M},0);#8
@$b,[$X,$Y ,$T];J($T, $X,$Y);$a#
6Y]#6X]=1} #1&N};for( @$b){my($x
1,$Z)=($_- >[0],1+$_- >[1]);($Z<
22)or`goto `N;my$V=$a
#6Z]#6x1]| |0;($V>1)a
nd`goto`N} for(@$b){m
y($X,$Y)=@ $_;$a#6Y]#
6X]=0;}for (@$b){++$_
->[1];my($ X,$Y,$T)=@
$_;J($T,$X ,$Y);$a#6Y ]#6X]=1}#1
;N:$j=0;wh ile(@$b){m y$w=shift@
$b;my($X,$ Y,$T)=@$w; $a#6Y]#6X]
=2;$f->{$Y }->{$X}=$T }$b=[];&N;
});$W->bin d(""=>sub {exit});$W
->bind(""= >sub{my$E= shift;my$F
=lc($E->XE
vent->K);( $F`eq"n")#
0&E;@$b#0( $F=~/\Ah|l
eft/)?G(-1 ):($F=~/\A
l|right/)?
G(1):($F=~ /\Aj|down/
)?H(-1):($ F=~/\Ak|up
/)?H(1):("
space"eq$F )?$j=1:0})
;&A;for`my $P([qw[I`1
59d`89ab`e a62`7654`c
yan]],[qw[
J`159`8456 `a951`2654
`blue]],[q w[L`1598`4
56a`9512`6
540`orange
]],[qw[O`4 589`4589`4 589`4589`y
ellow]],[q w[S`4158`4 59a`9562`6
510`green] ],[qw[T`14
59`4956`96 51`6154`pl um]],[qw[Z
`459`8956` a651`2154` red]],){my
$R=shift@$ P;my$O=$d- >{$R}=[];$
c->{$R}=po
p@$P;map{m y$Q=[];my$ V=hex($_);
for(1..4){ my$Y=$V&0x 03;$V>>=2;
my$X=$V&0x 03;$V>>=2;
unshift@$Q ,[$X,$Y]}# 8@$O,$Q}@$
P}map{B("b lack",$_)} ([128,648, 280,8],[12 0,620,8,36
],[408,620 ,8,36]);Tk ::MainLoop ;^A{#9Y=0; $Y<22;$Y++
){map{$a#6 Y]#6_]=0}( 0..9)}}^B{
my($B,$G)= @_;my$T=$W ->Toplevel ;$T->overr ideredirec
t(1);$T->c onfigure(- highlightt =>1,-highl ightb=>"bl
ack",-back ground=>$B );#1$G?K($ T,@$G):$T}
^C{my($X,$ Y)=@_;#1($
X<0or$X>9o r$Y<0or$Y> 21)?0:1}^D {my$t=pop;
while(my$P =shift@$t) {$P->[2]#4 }^E{&A;D($
b);D($g);$ b=[];for(k
eys%$f){my $S=#5f->{$ _};map{(#5 S->{$_})#4
keys%$S}&F ;$i=$j=$h= 0}^F{map{$ _->[0]#4@$
e;$e=[]}^G {my$D=pop; for`my$u(@ $b){my($X,
$Y)=@$u;($ a#6Y]#6X+$
D]>1)#0;C( $X+$D,$Y)o
r#1}my$I=0 ;for(@$b){
my($X,$Y,$ T)=@$_;--$
a#6Y]#6X]; ++$a#6Y]#6
X+=$D];J($ T,$X,$Y);$
I++or$l=$X ;$_->[0]=$
X}&N}^H{my $p=pop;($m
`eq"O")#0; my$N1=($k+
$p)%4;my$A r=$d->{$m} ;my$As=$Ar #6k];my$At
=$Ar#6N1]; my$O=[];my $N=[];#9I= 0;$I<@$b;$
I++){my$u= $b#6I];my( $X,$Y,$T)= @$u;my($x0
,$y0)=@{$A s#6I]};my( $x1,$Z)=@{ $At#6I]};m
y$D=$x1-$x 0;my$s=$Z- $y0;#8@$O, [$X,$Y];C(
$X+=$D,$Y+ =$s)or#1;# 8@$N,[$X,$ Y,$T];}$b=
$N;$k=$N1; #9I=0;$I<@
$O;$I++){m y($x0,$y0) =@{$O#6I]}
;my($x1,$Z ,$T)=@{$N# 6I]};--$a#
6y0]#6x0]; ++$a#6Z]#6 x1];J($T,$
x1,$Z);$I` or$l=$x1}& N}^I{@r=ke
ys%$c;$r[r and@r]}^J{ my($T,$X,$
Y)=@_;K($T
,128+28*$X ,32+28*$Y) }^K{my($T,
$X,$Y,$W,$ H)=@_;$W|| =28;$H||=2
8;$T->geom etry("${W} x$H+$X+$Y"
);$T}^L{my ($X,$Y,$U, $V)=@_;#1i
f$X<0or$X> 9or$Y<0or$ Y>21;if($U
!=$V){($U= =$a#6Y]#6X ])or#1;$a#
6Y]#6X]=$V ;L($X-1,$Y ,$U,$V);L( $X+1,$Y,$U
,$V);L($X, $Y-1,$U,$V );L($X,$Y+ 1,$U,$V)}}
^M{my$E={} ;my$F={};# 9Y=2;$Y<22 ;$Y++){my$
J=$a#6Y];# 9X=0;$X<@$ J;$X++){my $V=$J#6X]|
|0;($V>4)# 2++$F->{$V };next`if( #7$E->{$V}
);my$Z=$Y+ 1;my$G=($Z >21)?4:$a# 6Z]#6X];($
G>0and$G!= $V)and++$E
->{$V}}}#9 Y=2;$Y<22;
$Y++){my$J =$a#6Y];#9
X=0;$X<@$J ;$X++){my$
V=$J#6X]|| 0;(#7$E->{
$V})#2#5F- >{$V};$J#6
X]=2}}(key s%$F)?$F:0
}^N{&F;for `my$u(@$b)
{my$X=128+ 28*$u->[0]
;my$G=[$X, 664,28,14]
;my$T=B("p urple",$G)
;push@$e,[ $T,$G]}}';
s+\s*++g;$o=0;for$l(' and return ',' return ',' or next;',###########
' for(my$','->destroy}','delete$','->[$','exists','push',# by golux #
'for(my$'){s$o&$l&g&&++$o}eval if s&\^&sub &g&&s&`&$"&g#2015-10-12#