Please report any bugs or errors to H.G. Muller
Syntax Error on line 1000
f1 is not a valid expression, because f1 is not a recognized piece, coordinate, command, or subroutine.
Edit the Settings File for Grand Apothecary Chess 3
For the sake of debugging, here is the full GAME Code program that this error occurred in. The lines have been properly indented to help you spot scope errors.
0 include /membergraphics/MSgame-code-generation/betza.txt 1 set legdefs (0 1 1 1 1 2 1 1 -1 1 2 1 -1 0 1 8388609 1 1 1 1 4 1 1 -1 1 4 0 1 1 -1 -1 2 1 1 1 -1 2 1 -1 0 -1 8388609 1 1 -1 -1 4 1 1 1 -1 4 0 1 -1 1 1 1 1 -1 -1 1 1 1 1 0 1 2 1 1 0 1 4 0 1 -1 -1 -1 1 1 -1 1 -1 1 1 1 0 -1 2 1 1 0 -1 4 0 1 1 0 1 3 1 1 1 1 3 1 1 1 0 3 1 1 1 -1 3 1 1 0 -1 3 1 1 -1 -1 3 1 1 -1 0 3 1 1 -1 1 3 2 99 1 0 72 1 3 0 9 2 99 -1 0 72 1 -3 0 9 2 99 1 0 72 1 4 0 9 2 99 -1 0 72 1 -4 0 9 2 99 1 0 33554504 1 2 0 9 2 99 -1 0 33554504 1 -2 0 9 2 99 1 0 33554504 1 3 0 9 2 99 -1 0 33554504 1 -3 0 9 0 1 99 0 1 3 1 99 1 0 3 1 99 0 -1 3 1 99 -1 0 3 0 1 99 0 1 3 1 99 1 1 3 1 99 1 0 3 1 99 1 -1 3 1 99 0 -1 3 1 99 -1 -1 3 1 99 -1 0 3 1 99 -1 1 3 0 1 99 1 1 3 1 99 1 -1 3 1 99 -1 -1 3 1 99 -1 1 3 0 1 1 1 2 3 1 1 2 1 3 1 1 2 -1 3 1 1 1 -2 3 1 1 -1 -2 3 1 1 -2 -1 3 1 1 -2 1 3 1 1 -1 2 3 1 1 2 3 1 1 1 3 2 1 1 1 3 -2 1 1 1 2 -3 1 1 1 -2 -3 1 1 1 -3 -2 1 1 1 -3 2 1 1 1 -2 3 1 0 1 1 0 1 3 1 1 1 0 3 1 1 0 -1 3 1 1 -1 0 3 1 1 1 3 3 1 1 3 1 3 1 1 3 -1 3 1 1 1 -3 3 1 1 -1 -3 3 1 1 -3 -1 3 1 1 -3 1 3 1 1 -1 3 3 0 1 1 1 1 3 1 1 1 -1 3 1 1 -1 -1 3 1 1 -1 1 3 1 1 2 2 3 1 1 2 -2 3 1 1 -2 -2 3 1 1 -2 2 3 1 1 0 3 3 1 1 3 0 3 1 1 0 -3 3 1 1 -3 0 3 0 1 99 0 1 1 1 99 1 0 1 1 99 0 -1 1 1 99 -1 0 1 2 99 0 1 16 99 0 1 2 2 99 1 0 16 99 1 0 2 2 99 0 -1 16 99 0 -1 2 2 99 -1 0 16 99 -1 0 2 0 1 99 1 2 3 1 99 2 1 3 1 99 2 -1 3 1 99 1 -2 3 1 99 -1 -2 3 1 99 -2 -1 3 1 99 -2 1 3 1 99 -1 2 3 0 1 99 1 1 3 1 99 1 -1 3 1 99 -1 -1 3 1 99 -1 1 3 1 1 1 3 3 1 1 3 1 3 1 1 3 -1 3 1 1 1 -3 3 1 1 -1 -3 3 1 1 -3 -1 3 1 1 -3 1 3 1 1 -1 3 3 0 4 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 3 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 3 4 1 1 0 1 1 1 0 1 1 1 0 1 1 1 -1 3 4 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 0 -1 3 4 1 0 -1 1 1 0 -1 1 1 0 -1 1 1 -1 -1 3 4 1 -1 -1 1 1 -1 -1 1 1 -1 -1 1 1 -1 0 3 4 1 -1 0 1 1 -1 0 1 1 -1 0 1 1 -1 1 3 4 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 0 1 3 4 1 0 1 1 1 0 1 1 1 0 1 1 1 -1 1 3 4 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 3 4 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 3 4 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 0 3 4 1 0 -1 1 1 0 -1 1 1 0 -1 1 1 1 -1 3 4 1 -1 -1 1 1 -1 -1 1 1 -1 -1 1 1 0 -1 3 4 1 -1 0 1 1 -1 0 1 1 -1 0 1 1 -1 -1 3 4 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 0 3 4 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 1 1 1 1 1 1 0 1 1 1 0 1 1 1 0 3 4 1 1 0 1 1 1 -1 1 1 1 -1 1 1 1 -1 3 4 1 1 -1 1 1 0 -1 1 1 0 -1 1 1 0 -1 3 4 1 0 -1 1 1 -1 -1 1 1 -1 -1 1 1 -1 -1 3 4 1 -1 -1 1 1 -1 0 1 1 -1 0 1 1 -1 0 3 4 1 -1 0 1 1 -1 1 1 1 -1 1 1 1 -1 1 3 4 1 -1 1 1 1 0 1 1 1 0 1 1 1 0 1 3 4 1 0 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 3 4 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 3 4 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 3 4 1 1 -1 1 1 1 0 1 1 1 0 1 1 1 0 3 4 1 0 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 3 4 1 -1 -1 1 1 0 -1 1 1 0 -1 1 1 0 -1 3 4 1 -1 0 1 1 -1 -1 1 1 -1 -1 1 1 -1 -1 3 4 1 -1 1 1 1 -1 0 1 1 -1 0 1 1 -1 0 3 4 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 3 4 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 3 4 1 1 0 1 1 1 0 1 1 1 -1 1 1 1 0 3 4 1 1 -1 1 1 1 -1 1 1 0 -1 1 1 1 -1 3 4 1 0 -1 1 1 0 -1 1 1 -1 -1 1 1 0 -1 3 4 1 -1 -1 1 1 -1 -1 1 1 -1 0 1 1 -1 -1 3 4 1 -1 0 1 1 -1 0 1 1 -1 1 1 1 -1 0 3 4 1 -1 1 1 1 -1 1 1 1 0 1 1 1 -1 1 3 4 1 0 1 1 1 0 1 1 1 -1 1 1 1 0 1 3 4 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 3 4 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 3 4 1 1 -1 1 1 1 -1 1 1 1 0 1 1 1 -1 3 4 1 0 -1 1 1 0 -1 1 1 1 -1 1 1 0 -1 3 4 1 -1 -1 1 1 -1 -1 1 1 0 -1 1 1 -1 -1 3 4 1 -1 0 1 1 -1 0 1 1 -1 -1 1 1 -1 0 3 4 1 -1 1 1 1 -1 1 1 1 -1 0 1 1 -1 1 3 4 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 3 4 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 3 4 1 1 0 1 1 1 -1 1 1 1 0 1 1 1 0 3 4 1 1 -1 1 1 0 -1 1 1 1 -1 1 1 1 -1 3 4 1 0 -1 1 1 -1 -1 1 1 0 -1 1 1 0 -1 3 4 1 -1 -1 1 1 -1 0 1 1 -1 -1 1 1 -1 -1 3 4 1 -1 0 1 1 -1 1 1 1 -1 0 1 1 -1 0 3 4 1 -1 1 1 1 0 1 1 1 -1 1 1 1 -1 1 3 4 1 0 1 1 1 -1 1 1 1 0 1 1 1 0 1 3 4 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 3 4 1 1 0 1 1 1 1 1 1 1 0 1 1 1 0 3 4 1 1 -1 1 1 1 0 1 1 1 -1 1 1 1 -1 3 4 1 0 -1 1 1 1 -1 1 1 0 -1 1 1 0 -1 3 4 1 -1 -1 1 1 0 -1 1 1 -1 -1 1 1 -1 -1 3 4 1 -1 0 1 1 -1 -1 1 1 -1 0 1 1 -1 0 3 4 1 -1 1 1 1 -1 0 1 1 -1 1 1 1 -1 1 3 1 1 2 2 1 1 1 2 -2 1 1 1 -2 -2 1 1 1 -2 2 1 0 1 1 0 1 16777219 0 1 1 0 -1 16777219 0 1 1 1 1 3 1 1 1 -1 3 1 1 -1 -1 3 1 1 -1 1 3 2 1 1 1 33 99 1 0 3 2 1 1 -1 33 99 0 -1 3 2 1 -1 -1 33 99 -1 0 3 2 1 -1 1 33 99 0 1 3 2 1 1 1 33 99 0 1 3 2 1 1 -1 33 99 1 0 3 2 1 -1 -1 33 99 0 -1 3 2 1 -1 1 33 99 -1 0 3 0 1 1 0 1 3 1 1 1 0 3 1 1 0 -1 3 1 1 -1 0 3 1 3 1 1 3 1 3 1 -1 3 1 3 -1 -1 3 1 3 -1 1 3 4 1 1 1 1 1 1 1 1 1 1 1 33 99 1 0 3 4 1 1 -1 1 1 1 -1 1 1 1 -1 33 99 0 -1 3 4 1 -1 -1 1 1 -1 -1 1 1 -1 -1 33 99 -1 0 3 4 1 -1 1 1 1 -1 1 1 1 -1 1 33 99 0 1 3 4 1 1 1 1 1 1 1 1 1 1 1 33 99 0 1 3 4 1 1 -1 1 1 1 -1 1 1 1 -1 33 99 1 0 3 4 1 -1 -1 1 1 -1 -1 1 1 -1 -1 33 99 0 -1 3 4 1 -1 1 1 1 -1 1 1 1 -1 1 33 99 -1 0 3 0 1 99 1 1 3 1 99 1 -1 3 1 99 -1 -1 3 1 99 -1 1 3 1 99 1 2 3 1 99 2 1 3 1 99 2 -1 3 1 99 1 -2 3 1 99 -1 -2 3 1 99 -2 -1 3 1 99 -2 1 3 1 99 -1 2 3 0 1 1 1 1 3 1 1 1 -1 3 1 1 -1 -1 3 1 1 -1 1 3 1 2 0 1 3 1 2 1 0 3 1 2 0 -1 3 1 2 -1 0 3 3 1 0 1 1 1 0 1 33 99 1 1 3 3 1 1 0 1 1 1 0 33 99 1 -1 3 3 1 0 -1 1 1 0 -1 33 99 -1 -1 3 3 1 -1 0 1 1 -1 0 33 99 -1 1 3 3 1 0 1 1 1 0 1 33 99 -1 1 3 3 1 1 0 1 1 1 0 33 99 1 1 3 3 1 0 -1 1 1 0 -1 33 99 1 -1 3 3 1 -1 0 1 1 -1 0 33 99 -1 -1 3 0) 2 def P cond #0 1 11 3 def p cond #0 27 37 4 def X cond #0 53 68 5 def x cond #0 74 89 6 def K cond #0 95 135 7 def k cond #0 95 135 8 def R cond #0 208 0 9 def r cond #0 208 0 10 def Q cond #0 229 0 11 def q cond #0 229 0 12 def B cond #0 270 0 13 def b cond #0 270 0 14 def N cond #0 291 0 15 def n cond #0 291 0 16 def .JW cond #0 372 0 17 def .jw cond #0 372 0 18 def .ET cond #0 433 0 19 def .et cond #0 433 0 20 def C cond #0 494 0 21 def c cond #0 494 0 22 def NN cond #0 551 0 23 def nn cond #0 551 0 24 def .BJ cond #0 592 0 25 def .bj cond #0 592 0 26 def BI cond #0 653 0 27 def bi cond #0 653 0 28 def FO cond #0 1762 0 29 def fo cond #0 1768 0 30 def DR cond #0 1774 0 31 def dr cond #0 1774 0 32 def TB cond #0 1867 0 33 def tb cond #0 1867 0 34 def UN cond #0 2044 0 35 def un cond #0 2044 0 36 def FB cond #0 2105 0 37 def fb cond #0 2105 0 38 set extinction 1 39 set partners (b2 k2 b13 k13) 40 set promotables (P p) 41 set supply (P p X x) 42 set promotab ( (r q b n l e z y f j d t u i) (p x r q b n l e z y f j d t u i) (p x r b n l e z y f j) (p x b n l e z) 0 0 0 0 0 0 (P X B N L E Z) (P X R B N L E Z Y F J) (P X R Q B N L E Z Y F J D T U I) (R Q B N L E Z Y F J D T U I) ) 43 set brouhaha (a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 a14 b14 c14 d14 e14 f14 g14 h14 i14 j14 k14 l14) 44 set imitators (J j) 45 include /membergraphics/MSplay-test-applet-for-chess-variants/shuffle.txt 46 set shufflespecs ( (Q T U) 0 0 (D I) 0 0 0 ) 47 gosub ShuffleSetup 48 sub postauto1 49 gosub HandleMove false 50 endsub 51 sub postauto2 52 gosub HandleMove true 53 endsub 54 gosub GameEnd true 55 end 56 57 lib /membergraphics/MSgame-code-generation/betza.txt 58 if == thismove null 59 say This rule-enforcing preset was created through the Play-Test Applet 60 endif 61 echo Please report any bugs or errors to H.G. Muller 62 setsystem maxmove 4 63 setsystem omitmoves 1 64 ban commands 65 allow pass 2 pass 3 66 set pseudo 0 67 set zonal 0 68 set repeats 3 69 set reploses 0 70 set rulemoves 100 71 set resetpieces (P p) 72 set staledraw 1 73 set checkrule 1 74 set extinction 0 75 set nullban 1 76 set wroyal (K) 77 set broyal (k) 78 set iron array 79 set protected array 80 set restricted array 81 set counterstrike array 82 set negligible array 83 set opaque array 84 set brouhaha array 85 set imitators array 86 set inducers array 87 set shooters array 88 set morphers array 89 set promotables array 90 set inocheck (K k) 91 set conversion array 92 set method 1 93 set dropdown 1 94 set crappy 0 95 set cap array 96 set tempiron array 97 set epsqrs 0 98 set strike 0 99 set traded 0 100 set nopvc 0 101 set toimitate p 102 set lastfen 0 103 set epmask 4 104 set many ep 0 suicide 0 freedrop 0 105 set converted 0 106 set hist . "zzz," fencode 107 def friends cond #0 (onlylower) (onlyupper) 108 sub FastCastle start dx dy 109 verify not flag #start 110 my k r sqr cornr rook 111 set r ray #start #dx #dy 112 set k dec count #r 113 set cornr elem #k #r 114 set rook space #cornr 115 verify != @ #rook and not flag #cornr 116 do while #k 117 dec k 118 set sqr elem #k #r 119 if == @ space #sqr 120 if == 0 #k 121 set realto #sqr 122 set sqr #cornr 123 endif 124 gosub GotMove #start #sqr #cornr #start #rook 1 125 endif 126 loop 127 endsub 128 sub Promote player piece desti 129 my choice r across 130 verify mln 131 set r rank #desti 132 set across - lastrank * 2 #r 133 if == #player < #across 0 134 return 135 endif 136 if match #piece #promotables 137 set choice elem #r #promotab 138 if #choice 139 if match self #choice 140 push choice #piece 141 endif 142 set cap mergeall #cap #supply 143 set choice intersection #cap #choice 144 endif 145 else 146 set choice 0 147 endif 148 if #promo 149 if not #choice 150 die "You cannot promote on this move" 151 elseif not match #promo #choice 152 die "You cannot promote to such a piece" 153 endif 154 elseif #choice and not $answered 155 askpromote #choice 156 endif 157 endsub 158 sub GotMove orisqr destsqr locustsqr dropsqr unload implied 159 if == 2 #zonal 160 set k space #orisqr 161 gosub GetMorph #k #destsqr 162 verify != barred #k 163 endif 164 switch #task 165 case 1 166 set halfhit or #halfhit and #crappy and == #orisqr #ori == #locustsqr #desti 167 verify == #orisqr #ori and == #destsqr #desti 168 if == 1 #zonal 169 verify not fn BadZone #orisqr #destsqr #locustsqr #dropsqr #unload 170 endif 171 if != 1 #implied 172 if #firstpart 173 set pseudohit + #pseudohit #crappy 174 set autolocust #locustsqr 175 set autodrop #dropsqr 176 set dropped #unload 177 endif 178 if #sideeffect 179 verify == #sideeffect #dropsqr or == #sideeffect #locustsqr 180 set suicide #locustsqr 181 set freedrop #dropsqr 182 set dropped #unload 183 else 184 verify == #locustsqr #suicide 185 verify == #dropsqr #freedrop 186 verify == #unload #dropped or not #dropsqr 187 endif 188 else 189 verify not #suicide and not #freedrop 190 if #locustsqr 191 capture #locustsqr 192 set imp 1 193 endif 194 set impliedkill #locustsqr 195 set implieddrop #dropsqr 196 set dropped #unload 197 endif 198 set neweps #eps 199 set ep #destsqr 200 set ok 1 201 set desc #mv 202 break 203 case 2 204 if == 1 #zonal 205 verify not fn BadZone #orisqr #destsqr #locustsqr #dropsqr #unload 206 endif 207 if #locustsqr or #dropsqr and #dropdown and not #implied 208 set m . space #orisqr . ws . #orisqr . chr 45 . #destsqr . chr 59 ws 209 if #locustsqr 210 set m . #m . "@-" #locustsqr 211 elseif #dropsqr 212 set m . #m . #unload . chr 45 #dropsqr 213 endif 214 push xtl #m 215 else 216 setlegal #orisqr #destsqr 217 endif 218 break 219 case 9 220 if == #locustsqr #kpos 221 push checks #ss 222 push checks #mv 223 setelem #locustsqr 0 1 224 endif 225 break 226 case 10 227 case 7 228 case 3 229 set hit cond match space #destsqr #royal #orisqr #hit 230 if != Xdummy space #locustsqr and #locustsqr 231 set hit cond match space #locustsqr #royal Ughh #hit 232 endif 233 break 234 case 12 235 verify count var #orisqr 236 case 11 237 if & 1 elem 0 var #destsqr and == #orisqr #kpos 238 break 239 endif 240 case 4 241 case 8 242 if == 1 #zonal 243 verify not fn BadZone #orisqr #destsqr #locustsqr #dropsqr #unload 244 endif 245 my victim locustvictim 246 set victim space #destsqr 247 set locustvictim space #locustsqr 248 if #locustsqr 249 empty #locustsqr 250 endif 251 move #orisqr #destsqr 252 if #dropsqr 253 add #unload #dropsqr 254 endif 255 dec task 256 set hit 0 257 if == 10 #task 258 if #checked 259 gosub GenAttacks checks 260 endif 261 gosub GenAttacks #orisqr 262 gosub GenAttacks #destsqr 263 if #locustsqr 264 gosub GenAttacks #locustsqr 265 endif 266 if #dropsqr 267 gosub GenAttacks #dropsqr 268 endif 269 else 270 if #threat and != #threat Ughh 271 set checker space #threat 272 if cond #xside islower #checker isupper #checker 273 gosub GenMoves #checker #threat 1 274 endif 275 endif 276 if not #hit 277 gosub GenAll #xside 278 endif 279 endif 280 inc task 281 move #destsqr #orisqr 282 if != #dropsqr #orisqr and #dropsqr 283 empty #dropsqr 284 endif 285 if #locustsqr 286 add #locustvictim #locustsqr 287 endif 288 add #victim #destsqr 289 if == 4 #task 290 set threat #hit 291 set hit not #hit 292 elseif #hit 293 set hit 0 294 elseif #locustsqr or #dropsqr and #dropdown and not #implied 295 set m . space #orisqr . ws . #orisqr . chr 45 . #destsqr . chr 59 ws 296 if #locustsqr 297 if match #mover #shooters 298 set m . #m . "@-" #locustsqr 299 else 300 set m . space #orisqr . ws . #orisqr . chr 45 . #locustsqr . chr 59 ws 301 set m . #m . space #orisqr . ws . #locustsqr . chr 45 #destsqr 302 endif 303 elseif #dropsqr 304 set m . #m . #unload . chr 45 #dropsqr 305 endif 306 push xtl #m 307 else 308 setlegal #orisqr #destsqr 309 endif 310 break 311 case 5 312 verify == #locustsqr #desti 313 setlegal #locustsqr #destsqr 314 break 315 case 6 316 verify == #ori #orisqr and == #desti #destsqr 317 if #dropsqr 318 setlegal #desti #dropsqr 319 elseif #locustsqr 320 setlegal #desti #locustsqr 321 endif 322 break 323 case 13 324 verify not #dropsqr and #locustsqr or not empty #destsqr 325 set hit 1 326 break 327 endswitch 328 endsub 329 sub NextLeg togo legindex startsqr cursqr locustsqr dropsqr iso 330 my rng dx dy mode to tosqrs k len newindex hx hy side r fratricide stopper 331 set rng elem #legindex #legdefs 332 set dx elem + 1 #legindex #legdefs 333 set dy elem + 2 #legindex #legdefs 334 set mode elem + 3 #legindex #legdefs 335 if & 64 #mode 336 verify not flag #startsqr 337 if match space #startsqr #inocheck 338 verify != #task 11 or not #checked 339 push eps #startsqr 340 endif 341 endif 342 if > 0 #rng 343 switch #rng 344 case -1 345 set rng cond < 0 #dy rank #cursqr - lastrank rank #cursqr 346 set rng - >> lastrank 1 #rng 347 set rng max 1 #rng 348 set eps array 349 set mode | << 1 23 #mode 350 break 351 case -2 352 gosub GenMoves #toimitate #startsqr 1 353 return 354 case -3 355 gosub #mode #startsqr #dx #dy 356 return 357 endswitch 358 endif 359 set tosqrs ride #cursqr #dx #dy 360 set r count #tosqrs 361 if not #r 362 if & #mode << 1 27 363 gosub GotMove #startsqr #cursqr #locustsqr #dropsqr 0 0 364 else 365 return 366 endif 367 endif 368 set r min #rng #r 369 if & 128 #mode 370 set hx >> + 8 * 5 #dx 4 371 set hy >> + 8 * 5 #dy 4 372 set k ride #startsqr #hx #hy 373 set len count #k 374 set len * #len + abs #hx abs #hy 375 set len / #len + abs #dx abs #dy 376 if < #len #r 377 set r #len 378 if == 9 #task 379 pop k to 380 push #to #ss 381 push #to #mv 382 endif 383 endif 384 verify #len 385 if & << 1 14 #mode 386 set eps array 387 set to where #cursqr #dx #dy 388 set k #cursqr 389 do while != #to #k and onboard #k 390 set k where #k #hx #hy 391 if != #k #to 392 push eps #k 393 endif 394 loop 395 endif 396 endif 397 dec togo 398 if & << 1 21 #mode 399 set dropsqr #cursqr 400 endif 401 if & << 1 15 #mode 402 verify >= #r #iso 403 set r #iso 404 elseif < 1 #r 405 if & 1 #mode 406 set k 1 407 do while < #k #r 408 set to elem dec #k #tosqrs 409 if #togo 410 set newindex + 4 #legindex 411 gosub NextLeg #togo #newindex #startsqr #to #locustsqr #dropsqr #k 412 else 413 gosub GotMove #startsqr #to #locustsqr #dropsqr 0 0 414 endif 415 if & << 1 23 #mode 416 push eps #to 417 endif 418 inc k 419 verify not #hit 420 loop 421 endif 422 if & #epmask #mode 423 set k 1 424 do while < #k #r 425 set to elem dec #k #tosqrs 426 if match #to #epsqrs 427 if #togo 428 set newindex + 4 #legindex 429 gosub NextLeg #togo #newindex #startsqr #to #ep #dropsqr #k 430 else 431 gosub GotMove #startsqr #to #ep #dropsqr 0 1 432 endif 433 endif 434 inc k 435 loop 436 endif 437 if & 18 #mode and == 9 #task 438 set k 1 439 do while < #k #r 440 set to elem dec #k #tosqrs 441 if #togo 442 push #to #ss 443 push #to #mv 444 endif 445 if & 2 #mode 446 if #togo 447 if == #to #kpos 448 set newindex + 4 #legindex 449 gosub NextLeg #togo #newindex #startsqr #to #to #dropsqr #k 450 endif 451 else 452 setelem #to 0 | 1 elem 0 var #to 453 if == #to #kpos 454 push checks #ss 455 push checks #mv 456 endif 457 endif 458 endif 459 inc k 460 loop 461 endif 462 endif 463 set len cond == 1 #rng #iso #r 464 set to elem dec #r #tosqrs 465 if == 9 #task 466 if cond empty #to (& 18 #mode and #togo) (not & << 1 15 #mode and != #r #rng and or & 2 #mode #togo or and & 1 #mode #togo) 467 push #to #ss 468 push #to #mv 469 endif 470 if & + 2 << 1 13 #mode and == #to #kpos 471 if #togo 472 set newindex + 4 #legindex 473 gosub NextLeg #togo #newindex #startsqr #to #to #dropsqr #len 474 else 475 push checks #ss 476 push checks #mv 477 endif 478 endif 479 if & 2 #mode and not #togo 480 setelem #to 0 | 1 elem 0 var #to 481 endif 482 endif 483 if match #to #epsqrs and & #epmask #mode 484 if #togo 485 set newindex + 4 #legindex 486 gosub NextLeg #togo #newindex #startsqr #to #ep #dropsqr #len 487 else 488 gosub GotMove #startsqr #to #ep 0 0 1 489 endif 490 endif 491 set stopper cond != #to #startsqr space #to @ 492 if == @ #stopper 493 verify & 1 #mode 494 else 495 if & 16 #mode 496 if not match #stopper #opaque or not match space #startsqr #opaque 497 set newindex + 4 #legindex 498 gosub NextLeg #togo #newindex #startsqr #to #locustsqr #dropsqr #len 499 endif 500 endif 501 set side islower space #startsqr 502 set fratricide cond #side islower #stopper isupper #stopper 503 if #fratricide 504 if & 8 #mode 505 verify match #to #partners 506 verify not flag #to 507 set locustsqr #to 508 set to where #startsqr elem + 5 #legindex #legdefs 0 509 set dropsqr where #to - 0 #dx #dy 510 set eps array 511 set k #startsqr 512 do while != #k #to 513 push eps #k 514 set k where #k #dx 0 515 loop 516 set realto #to 517 gosub GotMove #startsqr #to #locustsqr #dropsqr #stopper 1 518 return 519 elseif & 2048 #mode 520 if #togo 521 set newindex + 4 #legindex 522 gosub NextLeg #togo #newindex #to #to 0 0 #len 523 elseif != #stopper space #startsqr 524 gosub GenMoves #stopper #startsqr 1 525 endif 526 endif 527 verify & 4096 #mode 528 else 529 verify match #stopper #royal and & << 1 13 #mode or & 2 #mode 530 verify not match #stopper #tempiron 531 endif 532 if #togo 533 set locustsqr #to 534 endif 535 endif 536 if #togo 537 set newindex + 4 #legindex 538 gosub NextLeg #togo #newindex #startsqr #to #locustsqr #dropsqr #len 539 else 540 gosub GotMove #startsqr #to #locustsqr #dropsqr #stopper 0 541 endif 542 endsub 543 sub GenMoves piece sqr all 544 my index legcount startindex 545 set side islower #piece 546 set ss #sqr 547 set index fn #piece #all 548 do 549 set legcount elem #index #legdefs 550 verify #legcount 551 set mv #index 552 inc index 553 if flag #sqr or not match #piece #conversion or not & cond #side #converted << #converted 2 + 64 & 64 elem + 3 #index #legdefs 554 set eps 0 555 gosub NextLeg #legcount #index #sqr #sqr 0 0 1 556 endif 557 set index + #index * 4 #legcount 558 loop until #hit 559 endsub 560 sub GenAttacks sqr 561 my k n togo leg piece 562 set k 1 563 set n count var #sqr 564 do while < #k #n 565 set start elem #k var #sqr 566 inc k 567 set leg elem #k var #sqr 568 inc k 569 set piece space #start 570 if not cond #xside (islower #piece) (isupper #piece) 571 continue 572 endif 573 set togo elem #leg #legdefs 574 inc leg 575 gosub NextLeg #togo #leg #start #start 0 0 1 576 loop 577 endsub 578 sub GenAll player 579 my from piece 580 set hit false 581 for (from piece) fn friends #player 582 gosub GenMoves #piece #from 1 583 verify not #hit 584 next 585 endsub 586 sub GetRoyals player 587 my i nr type myroyal cnt 588 set myroyal cond #player (#broyal) (#wroyal) 589 set many i 0 nr 0 hit 0 590 set royal array 591 set troy array 592 do while < #i count #myroyal 593 set type elem #i #myroyal 594 set cnt elem #type piececount 595 if + 0 #cnt 596 set nr + #nr #cnt 597 push royal #type 598 push troy #cnt 599 endif 600 inc i 601 loop 602 set dead count #royal and not #nr 603 if < 1 #nr and #extinction 604 set royal array 605 endif 606 endsub 607 sub InCheck player 608 GetRoyals #player 609 set task 3 610 verify count #royal 611 if #traded 612 add Xdummy #desti 613 push royal Xdummy 614 endif 615 if count #epsqrs and match space #ep #royal 616 set epmask 6 617 endif 618 set player not #player 619 gosub GenAll #player 620 set epmask 4 621 if #traded 622 add #traded #desti 623 endif 624 endsub 625 sub ParseMove player 626 my i j parts sqrs sqr 627 set many suicide 0 freedrop 0 promo 0 sideeffect 0 628 set mvs explode chr 59 thismove 629 set parts explode ws trim elem 0 #mvs 630 set i count #parts 631 if > #i 2 632 die "move must be piece ID plus board step" 633 endif 634 set sqrs explode chr 45 trim elem dec #i #parts 635 if != 2 count #sqrs 636 if == resign thismove 637 resign 638 elseif == drawn thismove 639 drawn 640 endif 641 die "board step does not mention two squares" 642 endif 643 set ori elem 0 #sqrs 644 set desti elem 1 #sqrs 645 if not onboard #desti 646 set msg join #desti " is not a valid square" 647 die #msg 648 endif 649 if not onboard #ori 650 set msg join #ori " is not a valid square" 651 die #msg 652 endif 653 set mover space #ori 654 if not cond #player islower #mover isupper #mover 655 set msg cond == @ #mover (. #ori " is empty") ("you cannot move opponent pieces") 656 die #msg 657 endif 658 set firstpart 1 659 set j 1 660 do while < #j count #mvs 661 set parts trim elem #j #mvs 662 if == "pass" #parts or == "skip" #parts 663 set firstpart 0 664 inc j 665 continue 666 endif 667 set parts explode ws trim #parts 668 set i dec count #parts 669 set sqrs explode chr 45 trim elem #i #parts 670 if != 2 count #sqrs 671 set msg join elem #i #parts " is malformed" 672 die #msg 673 endif 674 set sqr elem 1 #sqrs 675 set sqr cond == "dest" #sqr #desti #sqr 676 if not onboard #sqr 677 set msg join #sqr " is not a valid square" 678 die #msg 679 elseif onboard elem 0 #sqrs 680 if != #desti elem 0 #sqrs 681 die "you can only continue with same piece" 682 endif 683 set firstpart 0 684 if match #mover #shooters 685 set sideeffect #sqr 686 return 687 endif 688 if #suicide 689 die "cannot have more than one locust victim" 690 endif 691 set suicide #desti 692 set desti #sqr 693 elseif == #desti #sqr 694 set promo elem 0 #sqrs 695 elseif == @ elem 0 #sqrs 696 if empty #sqr 697 set msg . "there is nothing on " . #sqr " to capture" 698 die #msg 699 endif 700 if #suicide 701 die "cannot have more than one locust victim" 702 endif 703 set suicide #sqr 704 set firstpart 0 705 else 706 if #freedrop 707 die "cannot kick more than one piece" 708 endif 709 set dropped elem 0 #sqrs 710 set freedrop #sqr 711 set firstpart 0 712 endif 713 inc j 714 loop 715 endsub 716 sub HandleMove player 717 set stm #player 718 gosub ParseMove #player 719 set all == mln $maxmln 720 set many ok 0 hit 0 task 1 halfhit 0 implieddrop 0 imp 0 neweps 0 721 set pseudohit 0 722 set realto 0 723 set k #all or not flag #ori and match #mover #conversion 724 gosub GenMoves #mover #ori #k 725 if not match #mover #shooters and #firstpart and #halfhit 726 set ok 2 727 set task 5 728 gosub GenMoves #mover #ori 1 729 set msg . "Enter second leg or pass" 730 remind #msg 731 elseif #all 732 set cap unique keys capturedpieces 733 set lastfen fencode 734 if not #ok 735 set pseudohit 0 736 gosub GenAll #player 737 endif 738 if #sideeffect 739 rewritemove . elem 0 #mvs . "; " . cond #freedrop #dropped @ . chr 45 #sideeffect 740 set sideeffect 0 741 gosub ParseMove #player 742 endif 743 if match #mover #shooters and < 1 #pseudohit 744 set ok 2 745 set task 6 746 gosub GenAll #player 747 if #hit 748 set msg . "Type side effect of move, or pass" 749 else 750 set msg . "Type side effect of move" 751 endif 752 remind #msg 753 elseif not #ok 754 if == 1 #pseudohit 755 if #autolocust 756 appendmove join "@-" #autolocust 757 endif 758 if #autodrop 759 appendmove join #dropped join chr 45 #autodrop 760 endif 761 gosub ParseMove #player 762 elseif #pseudohit 763 set msg . "Type side effects of move" 764 remind #msg 765 continuemove 766 return 767 else 768 set msg . thismove . " is not even pseudo-legal for a " toupper #mover 769 die #msg 770 endif 771 endif 772 endif 773 set victim cond != #desti #ori space #desti @ 774 set traded cond and or match space #suicide #negligible not #suicide and match #victim #protected match #mover #restricted #mover 0 775 set strike and match #victim #counterstrike not match #mover #counterstrike 776 set k 0 777 do while < var k count var mvs 778 eval join "MOVE: " trim elem var k var mvs 779 inc k 780 loop 781 if != #ori #freedrop and match #ori #brouhaha 782 delete #ori 783 endif 784 if #implieddrop 785 add #dropped #implieddrop 786 if == #desti #impliedkill 787 move #desti #realto 788 endif 789 endif 790 set tempiron #iron 791 if #strike 792 set tempiron mergeall #tempiron #counterstrike 793 endif 794 set toimitate flipcase cond match #mover #imitators #toimitate #mover 795 setflag #desti 796 set posvar join cond #player "w" "b" fencode 797 inc #posvar 798 inc nopvc 799 if #imp 800 set hist . #hist . "," mln 801 endif 802 if #suicide and not #freedrop or #promo or != @ #victim or match #mover #resetpieces 803 set nopvc 0 804 endif 805 set epsqrs #neweps 806 if not flag #ori and match #mover #conversion 807 set k + 64 & 64 elem + 4 #desc #legdefs 808 set k cond #player #k >> #k 2 809 if & #k #converted 810 die This move violates the conversion rule that applies to this piece. 811 endif 812 set converted + #converted #k 813 endif 814 gosub GetMorph #mover #desti 815 if #k 816 add #k #desti 817 endif 818 endsub 819 sub GetMorph piece sqr 820 set k 0 821 if match #piece #morphers 822 set i elem #piece #morphs 823 set j rank #sqr 824 if not islower #piece 825 set j - lastrank #j 826 endif 827 if >= #j count #i 828 return 829 endif 830 set i elem #j #i 831 if #i 832 if == All elem 0 #i 833 set k elem 1 #i 834 else 835 set k elem file #sqr #i 836 endif 837 endif 838 endif 839 endsub 840 sub GameEnd player 841 my side 842 if == 2 #ok 843 continuemove 844 return 845 endif 846 set side not #player 847 gosub GetRoyals #side 848 if #dead 849 set msg join cond #player "White" "Black" " lost by absence of royalty!" 850 say #msg 851 won 852 elseif == #lastfen fencode and #nullban 853 die "This is a null move!" 854 endif 855 gosub InCheck #player 856 if == #hit Xdummy 857 die "Trading of this piece is not allowed" 858 elseif #checkrule and #hit 859 if == #hit Ughh 860 die "That moves through or out of check" 861 else 862 die "This exposes your royal piece to capture" 863 endif 864 endif 865 if >= 1 count fn friends #player and #baring 866 if >= 1 count fn friends #side 867 say Draw by mutual baring 868 drawn 869 else 870 set msg . cond #player "Black" "White" " loses by baring" 871 say #msg 872 lost 873 endif 874 return 875 endif 876 gosub Promote #player #mover #desti 877 gosub GetRoyals #side 878 if count #royal and #checkrule 879 set task 4 880 set xside #player 881 set threat 0 882 gosub GenAll #side 883 if not #hit 884 if #staledraw 885 dec task 886 gosub GenAll #player 887 if #hit 888 say Checkmate! 889 won 890 else 891 say Stalemate! 892 drawn 893 endif 894 else 895 say Mate! 896 won 897 endif 898 return 899 endif 900 endif 901 set posvar join cond #player "w" "b" fencode 902 if >= var #posvar #repeats 903 if #reploses 904 set msg join cond #player "Black" "White" " loses by repetition!" 905 say #msg 906 lost 907 else 908 say "Draw by repetition!" 909 drawn 910 endif 911 elseif >= #nopvc #rulemoves 912 say "Game declared draw due to prolongued lack of progress!" 913 drawn 914 endif 915 set ltst #checkrule and count #royal and not #pseudo 916 set xtl array 917 if == 1 #method and #ltst 918 for sqr spaces 919 set #sqr array 0 920 next 921 set task 9 922 set king elem 0 #royal 923 set kpos search #king $space 924 empty #kpos 925 set checks array 0 926 gosub GenAll #player 927 add #king #kpos 928 set checked & 1 elem 0 var #kpos 929 if #checked 930 say "check!" 931 endif 932 set task 11 933 gosub GenAll #side 934 else 935 set task cond #ltst 8 2 936 gosub GenAll #side 937 endif 938 setjsvar impmoves #hist 939 setsystem legalmoves merge $legalmoves #xtl 940 endsub 941 set posvar join "w" fencode 942 inc #posvar 943 endlib 944 lib /membergraphics/MSplay-test-applet-for-chess-variants/shuffle.txt 945 sub GetSquares toshuffle 946 my sqr piece 947 set left array 948 set light array 949 set dark array 950 for (sqr piece) $space 951 if match var piece #toshuffle 952 if < * 2 file #sqr lastfile 953 push left #sqr 954 endif 955 if & 1 + file #sqr rank #sqr 956 push dark #sqr 957 else 958 push light #sqr 959 endif 960 endif 961 next 962 endsub 963 sub ShuffleWings sym others 964 my toshuffle sqr piece rsqr p s allsqrs 965 set toshuffle mergeall #sym #others 966 gosub GetSquares #toshuffle 967 verify < 1 count #left 968 set allsqrs mergeall #dark #light 969 eval merge #left "shuffle" 970 for sqr #left 971 set piece space #sqr 972 if match #piece #sym 973 set rsqr join chr + 97 - lastfile file #sqr substr #sqr 1 0 974 verify match #rsqr #allsqrs 975 set p space #rsqr 976 if != #p #piece 977 for s #allsqrs 978 if not match #s #left and == #piece space #s 979 swap #s #rsqr 980 break 981 endif 982 next 983 endif 984 endif 985 next 986 gosub GetSquares #others 987 set dark mergeall #dark #light 988 eval merge #dark "shuffle" 989 endsub 990 sub ShuffleOne shaded others 991 my toshuffle 992 set toshuffle mergeall #shaded #others 993 gosub GetSquares #toshuffle 994 if count #shaded 995 eval merge #light "shuffle" 996 eval merge #dark "shuffle" 997 gosub GetSquares #others 998 endif 999 set dark mergeall #dark #light 1000 eval merge #dark "shuffle" 1001 endsub 1002 sub CenterKing types 1003 verify count #types 1004 my mid s royal right 1005 gosub GetSquares #types 1006 set dark sort merge #dark #light 1007 set royal elem 0 #types 1008 pop dark right 1009 pop dark mid 1010 pop dark left 1011 if != #royal space #mid 1012 set s cond == #royal space #left #left #right 1013 swap #s #mid 1014 endif 1015 endsub 1016 sub Symmetrize 1017 my sqr piece 1018 for (sqr piece) onlyupper 1019 set s join substr #sqr 0 1 + - 1 rank "a1" - lastrank rank #sqr 1020 copy #sqr #s 1021 flip #s 1022 next 1023 endsub 1024 sub ShuffleOnePlayer otherset symset shadeset 1025 if count #symset 1026 gosub ShuffleWings #symset #otherset 1027 else 1028 gosub ShuffleOne #shadeset #otherset 1029 endif 1030 endsub 1031 set shaded array 1032 set symmetrized array 1033 set centralize array 1034 set blackset array 1035 set blacksym array 1036 set blackshaded array 1037 set shufflespecs 0 1038 sub ShuffleSetup 1039 if isconst startshuffle 1040 setsystem space @startshuffle 1041 else 1042 if #shufflespecs 1043 my i a b c 1044 set i 0 1045 do while < #i count #shufflespecs 1046 set a elem #i #shufflespecs 1047 if not #a 1048 gosub Symmetrize 1049 break 1050 endif 1051 set b elem inc #i #shufflespecs 1052 set c elem + 2 #i #shufflespecs 1053 if not #b 1054 set b array 1055 endif 1056 if not #c 1057 set c array 1058 endif 1059 gosub ShuffleOnePlayer #a #b #c 1060 set i + 3 #i 1061 loop 1062 else 1063 gosub ShuffleOnePlayer #shuffleset #symmetrized #shaded 1064 if count #blackset 1065 gosub ShuffleOnePlayer #blackset #blacksym #blackshaded 1066 else 1067 gosub CenterKing #centralize 1068 gosub Symmetrize 1069 endif 1070 endif 1071 setconst startshuffle $space 1072 endif 1073 endsub 1074 endlibfunctions
Array ( [friends] => Array ( [0] => cond [1] => #0 [2] => Array ( [0] => onlylower ) [3] => Array ( [0] => onlyupper ) ) [P] => Array ( [0] => cond [1] => #0 [2] => 1 [3] => 11 ) [p] => Array ( [0] => cond [1] => #0 [2] => 27 [3] => 37 ) [X] => Array ( [0] => cond [1] => #0 [2] => 53 [3] => 68 ) [x] => Array ( [0] => cond [1] => #0 [2] => 74 [3] => 89 ) [K] => Array ( [0] => cond [1] => #0 [2] => 95 [3] => 135 ) [k] => Array ( [0] => cond [1] => #0 [2] => 95 [3] => 135 ) [R] => Array ( [0] => cond [1] => #0 [2] => 208 [3] => 0 ) [r] => Array ( [0] => cond [1] => #0 [2] => 208 [3] => 0 ) [Q] => Array ( [0] => cond [1] => #0 [2] => 229 [3] => 0 ) [q] => Array ( [0] => cond [1] => #0 [2] => 229 [3] => 0 ) [B] => Array ( [0] => cond [1] => #0 [2] => 270 [3] => 0 ) [b] => Array ( [0] => cond [1] => #0 [2] => 270 [3] => 0 ) [N] => Array ( [0] => cond [1] => #0 [2] => 291 [3] => 0 ) [n] => Array ( [0] => cond [1] => #0 [2] => 291 [3] => 0 ) [.JW] => Array ( [0] => cond [1] => #0 [2] => 372 [3] => 0 ) [.jw] => Array ( [0] => cond [1] => #0 [2] => 372 [3] => 0 ) [.ET] => Array ( [0] => cond [1] => #0 [2] => 433 [3] => 0 ) [.et] => Array ( [0] => cond [1] => #0 [2] => 433 [3] => 0 ) [C] => Array ( [0] => cond [1] => #0 [2] => 494 [3] => 0 ) [c] => Array ( [0] => cond [1] => #0 [2] => 494 [3] => 0 ) [NN] => Array ( [0] => cond [1] => #0 [2] => 551 [3] => 0 ) [nn] => Array ( [0] => cond [1] => #0 [2] => 551 [3] => 0 ) [.BJ] => Array ( [0] => cond [1] => #0 [2] => 592 [3] => 0 ) [.bj] => Array ( [0] => cond [1] => #0 [2] => 592 [3] => 0 ) [BI] => Array ( [0] => cond [1] => #0 [2] => 653 [3] => 0 ) [bi] => Array ( [0] => cond [1] => #0 [2] => 653 [3] => 0 ) [FO] => Array ( [0] => cond [1] => #0 [2] => 1762 [3] => 0 ) [fo] => Array ( [0] => cond [1] => #0 [2] => 1768 [3] => 0 ) [DR] => Array ( [0] => cond [1] => #0 [2] => 1774 [3] => 0 ) [dr] => Array ( [0] => cond [1] => #0 [2] => 1774 [3] => 0 ) [TB] => Array ( [0] => cond [1] => #0 [2] => 1867 [3] => 0 ) [tb] => Array ( [0] => cond [1] => #0 [2] => 1867 [3] => 0 ) [UN] => Array ( [0] => cond [1] => #0 [2] => 2044 [3] => 0 ) [un] => Array ( [0] => cond [1] => #0 [2] => 2044 [3] => 0 ) [FB] => Array ( [0] => cond [1] => #0 [2] => 2105 [3] => 0 ) [fb] => Array ( [0] => cond [1] => #0 [2] => 2105 [3] => 0 ) )uservar
Array ( [0] => Array ( [main] => Array ( [pseudo] => 0 [zonal] => 0 [repeats] => 3 [reploses] => 0 [rulemoves] => 100 [resetpieces] => Array ( [0] => P [1] => p ) [staledraw] => 1 [checkrule] => 1 [extinction] => 1 [nullban] => 1 [wroyal] => Array ( [0] => K ) [broyal] => Array ( [0] => k ) [iron] => Array ( ) [protected] => Array ( ) [restricted] => Array ( ) [counterstrike] => Array ( ) [negligible] => Array ( ) [opaque] => Array ( ) [brouhaha] => Array ( [0] => a1 [1] => b1 [2] => c1 [3] => d1 [4] => e1 [5] => f1 [6] => g1 [7] => h1 [8] => i1 [9] => j1 [10] => k1 [11] => l1 [12] => a14 [13] => b14 [14] => c14 [15] => d14 [16] => e14 [17] => f14 [18] => g14 [19] => h14 [20] => i14 [21] => j14 [22] => k14 [23] => l14 ) [imitators] => Array ( [0] => J [1] => j ) [inducers] => Array ( ) [shooters] => Array ( ) [morphers] => Array ( ) [promotables] => Array ( [0] => P [1] => p ) [inocheck] => Array ( [0] => K [1] => k ) [conversion] => Array ( ) [method] => 1 [dropdown] => 1 [crappy] => 0 [cap] => Array ( ) [tempiron] => Array ( ) [epsqrs] => 0 [strike] => 0 [traded] => 0 [nopvc] => 0 [toimitate] => p [lastfen] => 0 [epmask] => 4 [ep] => 0 [suicide] => 0 [freedrop] => 0 [converted] => 0 [hist] => zzz,----{fo}{.bj}{.bj}{fo}----cr{nn}{.jw}{un}qk{tb}{.jw}{nn}rcr{bi}{.et}nb{dr}{fb}bn{.et}{bi}rxppppppppppx2x2pp2x52X2PP2X2XPPPPPPPPPPXR{BI}{.ET}NB{DR}{FB}BN{.ET}{BI}RCR{NN}{.JW}{UN}QK{TB}{.JW}{NN}RC----{FO}{.BJ}{.BJ}{FO}---- [posvar] => w----{fo}{.bj}{.bj}{fo}----cr{nn}{.jw}{un}qk{tb}{.jw}{nn}rcr{bi}{.et}nb{dr}{fb}bn{.et}{bi}rxppppppppppx2x2pp2x52X2PP2X2XPPPPPPPPPPXR{BI}{.ET}NB{DR}{FB}BN{.ET}{BI}RCR{NN}{.JW}{UN}QK{TB}{.JW}{NN}RC----{FO}{.BJ}{.BJ}{FO}---- [w----{fo}{] => Array ( [bj}{] => Array ( [bj}{fo}----cr{nn}{] => Array ( [jw}{un}qk{tb}{] => Array ( [jw}{nn}rcr{bi}{] => Array ( [et}nb{dr}{fb}bn{] => Array ( [et}{bi}rxppppppppppx2x2pp2x52X2PP2X2XPPPPPPPPPPXR{BI}{] => Array ( [ET}NB{DR}{FB}BN{] => Array ( [ET}{BI}RCR{NN}{] => Array ( [JW}{UN}QK{TB}{] => Array ( [JW}{NN}RC----{FO}{] => Array ( [BJ}{] => Array ( [BJ}{FO}----] => 1 ) ) ) ) ) ) ) ) ) ) ) ) [legdefs] => Array ( [0] => 0 [1] => 1 [2] => 1 [3] => 1 [4] => 1 [5] => 2 [6] => 1 [7] => 1 [8] => -1 [9] => 1 [10] => 2 [11] => 1 [12] => -1 [13] => 0 [14] => 1 [15] => 8388609 [16] => 1 [17] => 1 [18] => 1 [19] => 1 [20] => 4 [21] => 1 [22] => 1 [23] => -1 [24] => 1 [25] => 4 [26] => 0 [27] => 1 [28] => 1 [29] => -1 [30] => -1 [31] => 2 [32] => 1 [33] => 1 [34] => 1 [35] => -1 [36] => 2 [37] => 1 [38] => -1 [39] => 0 [40] => -1 [41] => 8388609 [42] => 1 [43] => 1 [44] => -1 [45] => -1 [46] => 4 [47] => 1 [48] => 1 [49] => 1 [50] => -1 [51] => 4 [52] => 0 [53] => 1 [54] => -1 [55] => 1 [56] => 1 [57] => 1 [58] => 1 [59] => -1 [60] => -1 [61] => 1 [62] => 1 [63] => 1 [64] => 1 [65] => 0 [66] => 1 [67] => 2 [68] => 1 [69] => 1 [70] => 0 [71] => 1 [72] => 4 [73] => 0 [74] => 1 [75] => -1 [76] => -1 [77] => -1 [78] => 1 [79] => 1 [80] => -1 [81] => 1 [82] => -1 [83] => 1 [84] => 1 [85] => 1 [86] => 0 [87] => -1 [88] => 2 [89] => 1 [90] => 1 [91] => 0 [92] => -1 [93] => 4 [94] => 0 [95] => 1 [96] => 1 [97] => 0 [98] => 1 [99] => 3 [100] => 1 [101] => 1 [102] => 1 [103] => 1 [104] => 3 [105] => 1 [106] => 1 [107] => 1 [108] => 0 [109] => 3 [110] => 1 [111] => 1 [112] => 1 [113] => -1 [114] => 3 [115] => 1 [116] => 1 [117] => 0 [118] => -1 [119] => 3 [120] => 1 [121] => 1 [122] => -1 [123] => -1 [124] => 3 [125] => 1 [126] => 1 [127] => -1 [128] => 0 [129] => 3 [130] => 1 [131] => 1 [132] => -1 [133] => 1 [134] => 3 [135] => 2 [136] => 99 [137] => 1 [138] => 0 [139] => 72 [140] => 1 [141] => 3 [142] => 0 [143] => 9 [144] => 2 [145] => 99 [146] => -1 [147] => 0 [148] => 72 [149] => 1 [150] => -3 [151] => 0 [152] => 9 [153] => 2 [154] => 99 [155] => 1 [156] => 0 [157] => 72 [158] => 1 [159] => 4 [160] => 0 [161] => 9 [162] => 2 [163] => 99 [164] => -1 [165] => 0 [166] => 72 [167] => 1 [168] => -4 [169] => 0 [170] => 9 [171] => 2 [172] => 99 [173] => 1 [174] => 0 [175] => 33554504 [176] => 1 [177] => 2 [178] => 0 [179] => 9 [180] => 2 [181] => 99 [182] => -1 [183] => 0 [184] => 33554504 [185] => 1 [186] => -2 [187] => 0 [188] => 9 [189] => 2 [190] => 99 [191] => 1 [192] => 0 [193] => 33554504 [194] => 1 [195] => 3 [196] => 0 [197] => 9 [198] => 2 [199] => 99 [200] => -1 [201] => 0 [202] => 33554504 [203] => 1 [204] => -3 [205] => 0 [206] => 9 [207] => 0 [208] => 1 [209] => 99 [210] => 0 [211] => 1 [212] => 3 [213] => 1 [214] => 99 [215] => 1 [216] => 0 [217] => 3 [218] => 1 [219] => 99 [220] => 0 [221] => -1 [222] => 3 [223] => 1 [224] => 99 [225] => -1 [226] => 0 [227] => 3 [228] => 0 [229] => 1 [230] => 99 [231] => 0 [232] => 1 [233] => 3 [234] => 1 [235] => 99 [236] => 1 [237] => 1 [238] => 3 [239] => 1 [240] => 99 [241] => 1 [242] => 0 [243] => 3 [244] => 1 [245] => 99 [246] => 1 [247] => -1 [248] => 3 [249] => 1 [250] => 99 [251] => 0 [252] => -1 [253] => 3 [254] => 1 [255] => 99 [256] => -1 [257] => -1 [258] => 3 [259] => 1 [260] => 99 [261] => -1 [262] => 0 [263] => 3 [264] => 1 [265] => 99 [266] => -1 [267] => 1 [268] => 3 [269] => 0 [270] => 1 [271] => 99 [272] => 1 [273] => 1 [274] => 3 [275] => 1 [276] => 99 [277] => 1 [278] => -1 [279] => 3 [280] => 1 [281] => 99 [282] => -1 [283] => -1 [284] => 3 [285] => 1 [286] => 99 [287] => -1 [288] => 1 [289] => 3 [290] => 0 [291] => 1 [292] => 1 [293] => 1 [294] => 2 [295] => 3 [296] => 1 [297] => 1 [298] => 2 [299] => 1 [300] => 3 [301] => 1 [302] => 1 [303] => 2 [304] => -1 [305] => 3 [306] => 1 [307] => 1 [308] => 1 [309] => -2 [310] => 3 [311] => 1 [312] => 1 [313] => -1 [314] => -2 [315] => 3 [316] => 1 [317] => 1 [318] => -2 [319] => -1 [320] => 3 [321] => 1 [322] => 1 [323] => -2 [324] => 1 [325] => 3 [326] => 1 [327] => 1 [328] => -1 [329] => 2 [330] => 3 [331] => 1 [332] => 1 [333] => 2 [334] => 3 [335] => 1 [336] => 1 [337] => 1 [338] => 3 [339] => 2 [340] => 1 [341] => 1 [342] => 1 [343] => 3 [344] => -2 [345] => 1 [346] => 1 [347] => 1 [348] => 2 [349] => -3 [350] => 1 [351] => 1 [352] => 1 [353] => -2 [354] => -3 [355] => 1 [356] => 1 [357] => 1 [358] => -3 [359] => -2 [360] => 1 [361] => 1 [362] => 1 [363] => -3 [364] => 2 [365] => 1 [366] => 1 [367] => 1 [368] => -2 [369] => 3 [370] => 1 [371] => 0 [372] => 1 [373] => 1 [374] => 0 [375] => 1 [376] => 3 [377] => 1 [378] => 1 [379] => 1 [380] => 0 [381] => 3 [382] => 1 [383] => 1 [384] => 0 [385] => -1 [386] => 3 [387] => 1 [388] => 1 [389] => -1 [390] => 0 [391] => 3 [392] => 1 [393] => 1 [394] => 1 [395] => 3 [396] => 3 [397] => 1 [398] => 1 [399] => 3 [400] => 1 [401] => 3 [402] => 1 [403] => 1 [404] => 3 [405] => -1 [406] => 3 [407] => 1 [408] => 1 [409] => 1 [410] => -3 [411] => 3 [412] => 1 [413] => 1 [414] => -1 [415] => -3 [416] => 3 [417] => 1 [418] => 1 [419] => -3 [420] => -1 [421] => 3 [422] => 1 [423] => 1 [424] => -3 [425] => 1 [426] => 3 [427] => 1 [428] => 1 [429] => -1 [430] => 3 [431] => 3 [432] => 0 [433] => 1 [434] => 1 [435] => 1 [436] => 1 [437] => 3 [438] => 1 [439] => 1 [440] => 1 [441] => -1 [442] => 3 [443] => 1 [444] => 1 [445] => -1 [446] => -1 [447] => 3 [448] => 1 [449] => 1 [450] => -1 [451] => 1 [452] => 3 [453] => 1 [454] => 1 [455] => 2 [456] => 2 [457] => 3 [458] => 1 [459] => 1 [460] => 2 [461] => -2 [462] => 3 [463] => 1 [464] => 1 [465] => -2 [466] => -2 [467] => 3 [468] => 1 [469] => 1 [470] => -2 [471] => 2 [472] => 3 [473] => 1 [474] => 1 [475] => 0 [476] => 3 [477] => 3 [478] => 1 [479] => 1 [480] => 3 [481] => 0 [482] => 3 [483] => 1 [484] => 1 [485] => 0 [486] => -3 [487] => 3 [488] => 1 [489] => 1 [490] => -3 [491] => 0 [492] => 3 [493] => 0 [494] => 1 [495] => 99 [496] => 0 [497] => 1 [498] => 1 [499] => 1 [500] => 99 [501] => 1 [502] => 0 [503] => 1 [504] => 1 [505] => 99 [506] => 0 [507] => -1 [508] => 1 [509] => 1 [510] => 99 [511] => -1 [512] => 0 [513] => 1 [514] => 2 [515] => 99 [516] => 0 [517] => 1 [518] => 16 [519] => 99 [520] => 0 [521] => 1 [522] => 2 [523] => 2 [524] => 99 [525] => 1 [526] => 0 [527] => 16 [528] => 99 [529] => 1 [530] => 0 [531] => 2 [532] => 2 [533] => 99 [534] => 0 [535] => -1 [536] => 16 [537] => 99 [538] => 0 [539] => -1 [540] => 2 [541] => 2 [542] => 99 [543] => -1 [544] => 0 [545] => 16 [546] => 99 [547] => -1 [548] => 0 [549] => 2 [550] => 0 [551] => 1 [552] => 99 [553] => 1 [554] => 2 [555] => 3 [556] => 1 [557] => 99 [558] => 2 [559] => 1 [560] => 3 [561] => 1 [562] => 99 [563] => 2 [564] => -1 [565] => 3 [566] => 1 [567] => 99 [568] => 1 [569] => -2 [570] => 3 [571] => 1 [572] => 99 [573] => -1 [574] => -2 [575] => 3 [576] => 1 [577] => 99 [578] => -2 [579] => -1 [580] => 3 [581] => 1 [582] => 99 [583] => -2 [584] => 1 [585] => 3 [586] => 1 [587] => 99 [588] => -1 [589] => 2 [590] => 3 [591] => 0 [592] => 1 [593] => 99 [594] => 1 [595] => 1 [596] => 3 [597] => 1 [598] => 99 [599] => 1 [600] => -1 [601] => 3 [602] => 1 [603] => 99 [604] => -1 [605] => -1 [606] => 3 [607] => 1 [608] => 99 [609] => -1 [610] => 1 [611] => 3 [612] => 1 [613] => 1 [614] => 1 [615] => 3 [616] => 3 [617] => 1 [618] => 1 [619] => 3 [620] => 1 [621] => 3 [622] => 1 [623] => 1 [624] => 3 [625] => -1 [626] => 3 [627] => 1 [628] => 1 [629] => 1 [630] => -3 [631] => 3 [632] => 1 [633] => 1 [634] => -1 [635] => -3 [636] => 3 [637] => 1 [638] => 1 [639] => -3 [640] => -1 [641] => 3 [642] => 1 [643] => 1 [644] => -3 [645] => 1 [646] => 3 [647] => 1 [648] => 1 [649] => -1 [650] => 3 [651] => 3 [652] => 0 [653] => 4 [654] => 1 [655] => 0 [656] => 1 [657] => 1 [658] => 1 [659] => 0 [660] => 1 [661] => 1 [662] => 1 [663] => 0 [664] => 1 [665] => 1 [666] => 1 [667] => 1 [668] => 1 [669] => 3 [670] => 4 [671] => 1 [672] => 1 [673] => 1 [674] => 1 [675] => 1 [676] => 1 [677] => 1 [678] => 1 [679] => 1 [680] => 1 [681] => 1 [682] => 1 [683] => 1 [684] => 1 [685] => 0 [686] => 3 [687] => 4 [688] => 1 [689] => 1 [690] => 0 [691] => 1 [692] => 1 [693] => 1 [694] => 0 [695] => 1 [696] => 1 [697] => 1 [698] => 0 [699] => 1 [700] => 1 [701] => 1 [702] => -1 [703] => 3 [704] => 4 [705] => 1 [706] => 1 [707] => -1 [708] => 1 [709] => 1 [710] => 1 [711] => -1 [712] => 1 [713] => 1 [714] => 1 [715] => -1 [716] => 1 [717] => 1 [718] => 0 [719] => -1 [720] => 3 [721] => 4 [722] => 1 [723] => 0 [724] => -1 [725] => 1 [726] => 1 [727] => 0 [728] => -1 [729] => 1 [730] => 1 [731] => 0 [732] => -1 [733] => 1 [734] => 1 [735] => -1 [736] => -1 [737] => 3 [738] => 4 [739] => 1 [740] => -1 [741] => -1 [742] => 1 [743] => 1 [744] => -1 [745] => -1 [746] => 1 [747] => 1 [748] => -1 [749] => -1 [750] => 1 [751] => 1 [752] => -1 [753] => 0 [754] => 3 [755] => 4 [756] => 1 [757] => -1 [758] => 0 [759] => 1 [760] => 1 [761] => -1 [762] => 0 [763] => 1 [764] => 1 [765] => -1 [766] => 0 [767] => 1 [768] => 1 [769] => -1 [770] => 1 [771] => 3 [772] => 4 [773] => 1 [774] => -1 [775] => 1 [776] => 1 [777] => 1 [778] => -1 [779] => 1 [780] => 1 [781] => 1 [782] => -1 [783] => 1 [784] => 1 [785] => 1 [786] => 0 [787] => 1 [788] => 3 [789] => 4 [790] => 1 [791] => 0 [792] => 1 [793] => 1 [794] => 1 [795] => 0 [796] => 1 [797] => 1 [798] => 1 [799] => 0 [800] => 1 [801] => 1 [802] => 1 [803] => -1 [804] => 1 [805] => 3 [806] => 4 [807] => 1 [808] => 1 [809] => 1 [810] => 1 [811] => 1 [812] => 1 [813] => 1 [814] => 1 [815] => 1 [816] => 1 [817] => 1 [818] => 1 [819] => 1 [820] => 0 [821] => 1 [822] => 3 [823] => 4 [824] => 1 [825] => 1 [826] => 0 [827] => 1 [828] => 1 [829] => 1 [830] => 0 [831] => 1 [832] => 1 [833] => 1 [834] => 0 [835] => 1 [836] => 1 [837] => 1 [838] => 1 [839] => 3 [840] => 4 [841] => 1 [842] => 1 [843] => -1 [844] => 1 [845] => 1 [846] => 1 [847] => -1 [848] => 1 [849] => 1 [850] => 1 [851] => -1 [852] => 1 [853] => 1 [854] => 1 [855] => 0 [856] => 3 [857] => 4 [858] => 1 [859] => 0 [860] => -1 [861] => 1 [862] => 1 [863] => 0 [864] => -1 [865] => 1 [866] => 1 [867] => 0 [868] => -1 [869] => 1 [870] => 1 [871] => 1 [872] => -1 [873] => 3 [874] => 4 [875] => 1 [876] => -1 [877] => -1 [878] => 1 [879] => 1 [880] => -1 [881] => -1 [882] => 1 [883] => 1 [884] => -1 [885] => -1 [886] => 1 [887] => 1 [888] => 0 [889] => -1 [890] => 3 [891] => 4 [892] => 1 [893] => -1 [894] => 0 [895] => 1 [896] => 1 [897] => -1 [898] => 0 [899] => 1 [900] => 1 [901] => -1 [902] => 0 [903] => 1 [904] => 1 [905] => -1 [906] => -1 [907] => 3 [908] => 4 [909] => 1 [910] => -1 [911] => 1 [912] => 1 [913] => 1 [914] => -1 [915] => 1 [916] => 1 [917] => 1 [918] => -1 [919] => 1 [920] => 1 [921] => 1 [922] => -1 [923] => 0 [924] => 3 [925] => 4 [926] => 1 [927] => 0 [928] => 1 [929] => 1 [930] => 1 [931] => 1 [932] => 1 [933] => 1 [934] => 1 [935] => 1 [936] => 1 [937] => 1 [938] => 1 [939] => 1 [940] => 1 [941] => 3 [942] => 4 [943] => 1 [944] => 1 [945] => 1 [946] => 1 [947] => 1 [948] => 1 [949] => 0 [950] => 1 [951] => 1 [952] => 1 [953] => 0 [954] => 1 [955] => 1 [956] => 1 [957] => 0 [958] => 3 [959] => 4 [960] => 1 [961] => 1 [962] => 0 [963] => 1 [964] => 1 [965] => 1 [966] => -1 [967] => 1 [968] => 1 [969] => 1 [970] => -1 [971] => 1 [972] => 1 [973] => 1 [974] => -1 [975] => 3 [976] => 4 [977] => 1 [978] => 1 [979] => -1 [980] => 1 [981] => 1 [982] => 0 [983] => -1 [984] => 1 [985] => 1 [986] => 0 [987] => -1 [988] => 1 [989] => 1 [990] => 0 [991] => -1 [992] => 3 [993] => 4 [994] => 1 [995] => 0 [996] => -1 [997] => 1 [998] => 1 [999] => -1 [1000] => -1 [1001] => 1 [1002] => 1 [1003] => -1 [1004] => -1 [1005] => 1 [1006] => 1 [1007] => -1 [1008] => -1 [1009] => 3 [1010] => 4 [1011] => 1 [1012] => -1 [1013] => -1 [1014] => 1 [1015] => 1 [1016] => -1 [1017] => 0 [1018] => 1 [1019] => 1 [1020] => -1 [1021] => 0 [1022] => 1 [1023] => 1 [1024] => -1 [1025] => 0 [1026] => 3 [1027] => 4 [1028] => 1 [1029] => -1 [1030] => 0 [1031] => 1 [1032] => 1 [1033] => -1 [1034] => 1 [1035] => 1 [1036] => 1 [1037] => -1 [1038] => 1 [1039] => 1 [1040] => 1 [1041] => -1 [1042] => 1 [1043] => 3 [1044] => 4 [1045] => 1 [1046] => -1 [1047] => 1 [1048] => 1 [1049] => 1 [1050] => 0 [1051] => 1 [1052] => 1 [1053] => 1 [1054] => 0 [1055] => 1 [1056] => 1 [1057] => 1 [1058] => 0 [1059] => 1 [1060] => 3 [1061] => 4 [1062] => 1 [1063] => 0 [1064] => 1 [1065] => 1 [1066] => 1 [1067] => -1 [1068] => 1 [1069] => 1 [1070] => 1 [1071] => -1 [1072] => 1 [1073] => 1 [1074] => 1 [1075] => -1 [1076] => 1 [1077] => 3 [1078] => 4 [1079] => 1 [1080] => 1 [1081] => 1 [1082] => 1 [1083] => 1 [1084] => 0 [1085] => 1 [1086] => 1 [1087] => 1 [1088] => 0 [1089] => 1 [1090] => 1 [1091] => 1 [1092] => 0 [1093] => 1 [1094] => 3 [1095] => 4 [1096] => 1 [1097] => 1 [1098] => 0 [1099] => 1 [1100] => 1 [1101] => 1 [1102] => 1 [1103] => 1 [1104] => 1 [1105] => 1 [1106] => 1 [1107] => 1 [1108] => 1 [1109] => 1 [1110] => 1 [1111] => 3 [1112] => 4 [1113] => 1 [1114] => 1 [1115] => -1 [1116] => 1 [1117] => 1 [1118] => 1 [1119] => 0 [1120] => 1 [1121] => 1 [1122] => 1 [1123] => 0 [1124] => 1 [1125] => 1 [1126] => 1 [1127] => 0 [1128] => 3 [1129] => 4 [1130] => 1 [1131] => 0 [1132] => -1 [1133] => 1 [1134] => 1 [1135] => 1 [1136] => -1 [1137] => 1 [1138] => 1 [1139] => 1 [1140] => -1 [1141] => 1 [1142] => 1 [1143] => 1 [1144] => -1 [1145] => 3 [1146] => 4 [1147] => 1 [1148] => -1 [1149] => -1 [1150] => 1 [1151] => 1 [1152] => 0 [1153] => -1 [1154] => 1 [1155] => 1 [1156] => 0 [1157] => -1 [1158] => 1 [1159] => 1 [1160] => 0 [1161] => -1 [1162] => 3 [1163] => 4 [1164] => 1 [1165] => -1 [1166] => 0 [1167] => 1 [1168] => 1 [1169] => -1 [1170] => -1 [1171] => 1 [1172] => 1 [1173] => -1 [1174] => -1 [1175] => 1 [1176] => 1 [1177] => -1 [1178] => -1 [1179] => 3 [1180] => 4 [1181] => 1 [1182] => -1 [1183] => 1 [1184] => 1 [1185] => 1 [1186] => -1 [1187] => 0 [1188] => 1 [1189] => 1 [1190] => -1 [1191] => 0 [1192] => 1 [1193] => 1 [1194] => -1 [1195] => 0 [1196] => 3 [1197] => 4 [1198] => 1 [1199] => 0 [1200] => 1 [1201] => 1 [1202] => 1 [1203] => 0 [1204] => 1 [1205] => 1 [1206] => 1 [1207] => 1 [1208] => 1 [1209] => 1 [1210] => 1 [1211] => 0 [1212] => 1 [1213] => 3 [1214] => 4 [1215] => 1 [1216] => 1 [1217] => 1 [1218] => 1 [1219] => 1 [1220] => 1 [1221] => 1 [1222] => 1 [1223] => 1 [1224] => 1 [1225] => 0 [1226] => 1 [1227] => 1 [1228] => 1 [1229] => 1 [1230] => 3 [1231] => 4 [1232] => 1 [1233] => 1 [1234] => 0 [1235] => 1 [1236] => 1 [1237] => 1 [1238] => 0 [1239] => 1 [1240] => 1 [1241] => 1 [1242] => -1 [1243] => 1 [1244] => 1 [1245] => 1 [1246] => 0 [1247] => 3 [1248] => 4 [1249] => 1 [1250] => 1 [1251] => -1 [1252] => 1 [1253] => 1 [1254] => 1 [1255] => -1 [1256] => 1 [1257] => 1 [1258] => 0 [1259] => -1 [1260] => 1 [1261] => 1 [1262] => 1 [1263] => -1 [1264] => 3 [1265] => 4 [1266] => 1 [1267] => 0 [1268] => -1 [1269] => 1 [1270] => 1 [1271] => 0 [1272] => -1 [1273] => 1 [1274] => 1 [1275] => -1 [1276] => -1 [1277] => 1 [1278] => 1 [1279] => 0 [1280] => -1 [1281] => 3 [1282] => 4 [1283] => 1 [1284] => -1 [1285] => -1 [1286] => 1 [1287] => 1 [1288] => -1 [1289] => -1 [1290] => 1 [1291] => 1 [1292] => -1 [1293] => 0 [1294] => 1 [1295] => 1 [1296] => -1 [1297] => -1 [1298] => 3 [1299] => 4 [1300] => 1 [1301] => -1 [1302] => 0 [1303] => 1 [1304] => 1 [1305] => -1 [1306] => 0 [1307] => 1 [1308] => 1 [1309] => -1 [1310] => 1 [1311] => 1 [1312] => 1 [1313] => -1 [1314] => 0 [1315] => 3 [1316] => 4 [1317] => 1 [1318] => -1 [1319] => 1 [1320] => 1 [1321] => 1 [1322] => -1 [1323] => 1 [1324] => 1 [1325] => 1 [1326] => 0 [1327] => 1 [1328] => 1 [1329] => 1 [1330] => -1 [1331] => 1 [1332] => 3 [1333] => 4 [1334] => 1 [1335] => 0 [1336] => 1 [1337] => 1 [1338] => 1 [1339] => 0 [1340] => 1 [1341] => 1 [1342] => 1 [1343] => -1 [1344] => 1 [1345] => 1 [1346] => 1 [1347] => 0 [1348] => 1 [1349] => 3 [1350] => 4 [1351] => 1 [1352] => 1 [1353] => 1 [1354] => 1 [1355] => 1 [1356] => 1 [1357] => 1 [1358] => 1 [1359] => 1 [1360] => 0 [1361] => 1 [1362] => 1 [1363] => 1 [1364] => 1 [1365] => 1 [1366] => 3 [1367] => 4 [1368] => 1 [1369] => 1 [1370] => 0 [1371] => 1 [1372] => 1 [1373] => 1 [1374] => 0 [1375] => 1 [1376] => 1 [1377] => 1 [1378] => 1 [1379] => 1 [1380] => 1 [1381] => 1 [1382] => 0 [1383] => 3 [1384] => 4 [1385] => 1 [1386] => 1 [1387] => -1 [1388] => 1 [1389] => 1 [1390] => 1 [1391] => -1 [1392] => 1 [1393] => 1 [1394] => 1 [1395] => 0 [1396] => 1 [1397] => 1 [1398] => 1 [1399] => -1 [1400] => 3 [1401] => 4 [1402] => 1 [1403] => 0 [1404] => -1 [1405] => 1 [1406] => 1 [1407] => 0 [1408] => -1 [1409] => 1 [1410] => 1 [1411] => 1 [1412] => -1 [1413] => 1 [1414] => 1 [1415] => 0 [1416] => -1 [1417] => 3 [1418] => 4 [1419] => 1 [1420] => -1 [1421] => -1 [1422] => 1 [1423] => 1 [1424] => -1 [1425] => -1 [1426] => 1 [1427] => 1 [1428] => 0 [1429] => -1 [1430] => 1 [1431] => 1 [1432] => -1 [1433] => -1 [1434] => 3 [1435] => 4 [1436] => 1 [1437] => -1 [1438] => 0 [1439] => 1 [1440] => 1 [1441] => -1 [1442] => 0 [1443] => 1 [1444] => 1 [1445] => -1 [1446] => -1 [1447] => 1 [1448] => 1 [1449] => -1 [1450] => 0 [1451] => 3 [1452] => 4 [1453] => 1 [1454] => -1 [1455] => 1 [1456] => 1 [1457] => 1 [1458] => -1 [1459] => 1 [1460] => 1 [1461] => 1 [1462] => -1 [1463] => 0 [1464] => 1 [1465] => 1 [1466] => -1 [1467] => 1 [1468] => 3 [1469] => 4 [1470] => 1 [1471] => 0 [1472] => 1 [1473] => 1 [1474] => 1 [1475] => 1 [1476] => 1 [1477] => 1 [1478] => 1 [1479] => 0 [1480] => 1 [1481] => 1 [1482] => 1 [1483] => 0 [1484] => 1 [1485] => 3 [1486] => 4 [1487] => 1 [1488] => 1 [1489] => 1 [1490] => 1 [1491] => 1 [1492] => 1 [1493] => 0 [1494] => 1 [1495] => 1 [1496] => 1 [1497] => 1 [1498] => 1 [1499] => 1 [1500] => 1 [1501] => 1 [1502] => 3 [1503] => 4 [1504] => 1 [1505] => 1 [1506] => 0 [1507] => 1 [1508] => 1 [1509] => 1 [1510] => -1 [1511] => 1 [1512] => 1 [1513] => 1 [1514] => 0 [1515] => 1 [1516] => 1 [1517] => 1 [1518] => 0 [1519] => 3 [1520] => 4 [1521] => 1 [1522] => 1 [1523] => -1 [1524] => 1 [1525] => 1 [1526] => 0 [1527] => -1 [1528] => 1 [1529] => 1 [1530] => 1 [1531] => -1 [1532] => 1 [1533] => 1 [1534] => 1 [1535] => -1 [1536] => 3 [1537] => 4 [1538] => 1 [1539] => 0 [1540] => -1 [1541] => 1 [1542] => 1 [1543] => -1 [1544] => -1 [1545] => 1 [1546] => 1 [1547] => 0 [1548] => -1 [1549] => 1 [1550] => 1 [1551] => 0 [1552] => -1 [1553] => 3 [1554] => 4 [1555] => 1 [1556] => -1 [1557] => -1 [1558] => 1 [1559] => 1 [1560] => -1 [1561] => 0 [1562] => 1 [1563] => 1 [1564] => -1 [1565] => -1 [1566] => 1 [1567] => 1 [1568] => -1 [1569] => -1 [1570] => 3 [1571] => 4 [1572] => 1 [1573] => -1 [1574] => 0 [1575] => 1 [1576] => 1 [1577] => -1 [1578] => 1 [1579] => 1 [1580] => 1 [1581] => -1 [1582] => 0 [1583] => 1 [1584] => 1 [1585] => -1 [1586] => 0 [1587] => 3 [1588] => 4 [1589] => 1 [1590] => -1 [1591] => 1 [1592] => 1 [1593] => 1 [1594] => 0 [1595] => 1 [1596] => 1 [1597] => 1 [1598] => -1 [1599] => 1 [1600] => 1 [1601] => 1 [1602] => -1 [1603] => 1 [1604] => 3 [1605] => 4 [1606] => 1 [1607] => 0 [1608] => 1 [1609] => 1 [1610] => 1 [1611] => -1 [1612] => 1 [1613] => 1 [1614] => 1 [1615] => 0 [1616] => 1 [1617] => 1 [1618] => 1 [1619] => 0 [1620] => 1 [1621] => 3 [1622] => 4 [1623] => 1 [1624] => 1 [1625] => 1 [1626] => 1 [1627] => 1 [1628] => 0 [1629] => 1 [1630] => 1 [1631] => 1 [1632] => 1 [1633] => 1 [1634] => 1 [1635] => 1 [1636] => 1 [1637] => 1 [1638] => 3 [1639] => 4 [1640] => 1 [1641] => 1 [1642] => 0 [1643] => 1 [1644] => 1 [1645] => 1 [1646] => 1 [1647] => 1 [1648] => 1 [1649] => 1 [1650] => 0 [1651] => 1 [1652] => 1 [1653] => 1 [1654] => 0 [1655] => 3 [1656] => 4 [1657] => 1 [1658] => 1 [1659] => -1 [1660] => 1 [1661] => 1 [1662] => 1 [1663] => 0 [1664] => 1 [1665] => 1 [1666] => 1 [1667] => -1 [1668] => 1 [1669] => 1 [1670] => 1 [1671] => -1 [1672] => 3 [1673] => 4 [1674] => 1 [1675] => 0 [1676] => -1 [1677] => 1 [1678] => 1 [1679] => 1 [1680] => -1 [1681] => 1 [1682] => 1 [1683] => 0 [1684] => -1 [1685] => 1 [1686] => 1 [1687] => 0 [1688] => -1 [1689] => 3 [1690] => 4 [1691] => 1 [1692] => -1 [1693] => -1 [1694] => 1 [1695] => 1 [1696] => 0 [1697] => -1 [1698] => 1 [1699] => 1 [1700] => -1 [1701] => -1 [1702] => 1 [1703] => 1 [1704] => -1 [1705] => -1 [1706] => 3 [1707] => 4 [1708] => 1 [1709] => -1 [1710] => 0 [1711] => 1 [1712] => 1 [1713] => -1 [1714] => -1 [1715] => 1 [1716] => 1 [1717] => -1 [1718] => 0 [1719] => 1 [1720] => 1 [1721] => -1 [1722] => 0 [1723] => 3 [1724] => 4 [1725] => 1 [1726] => -1 [1727] => 1 [1728] => 1 [1729] => 1 [1730] => -1 [1731] => 0 [1732] => 1 [1733] => 1 [1734] => -1 [1735] => 1 [1736] => 1 [1737] => 1 [1738] => -1 [1739] => 1 [1740] => 3 [1741] => 1 [1742] => 1 [1743] => 2 [1744] => 2 [1745] => 1 [1746] => 1 [1747] => 1 [1748] => 2 [1749] => -2 [1750] => 1 [1751] => 1 [1752] => 1 [1753] => -2 [1754] => -2 [1755] => 1 [1756] => 1 [1757] => 1 [1758] => -2 [1759] => 2 [1760] => 1 [1761] => 0 [1762] => 1 [1763] => 1 [1764] => 0 [1765] => 1 [1766] => 16777219 [1767] => 0 [1768] => 1 [1769] => 1 [1770] => 0 [1771] => -1 [1772] => 16777219 [1773] => 0 [1774] => 1 [1775] => 1 [1776] => 1 [1777] => 1 [1778] => 3 [1779] => 1 [1780] => 1 [1781] => 1 [1782] => -1 [1783] => 3 [1784] => 1 [1785] => 1 [1786] => -1 [1787] => -1 [1788] => 3 [1789] => 1 [1790] => 1 [1791] => -1 [1792] => 1 [1793] => 3 [1794] => 2 [1795] => 1 [1796] => 1 [1797] => 1 [1798] => 33 [1799] => 99 [1800] => 1 [1801] => 0 [1802] => 3 [1803] => 2 [1804] => 1 [1805] => 1 [1806] => -1 [1807] => 33 [1808] => 99 [1809] => 0 [1810] => -1 [1811] => 3 [1812] => 2 [1813] => 1 [1814] => -1 [1815] => -1 [1816] => 33 [1817] => 99 [1818] => -1 [1819] => 0 [1820] => 3 [1821] => 2 [1822] => 1 [1823] => -1 [1824] => 1 [1825] => 33 [1826] => 99 [1827] => 0 [1828] => 1 [1829] => 3 [1830] => 2 [1831] => 1 [1832] => 1 [1833] => 1 [1834] => 33 [1835] => 99 [1836] => 0 [1837] => 1 [1838] => 3 [1839] => 2 [1840] => 1 [1841] => 1 [1842] => -1 [1843] => 33 [1844] => 99 [1845] => 1 [1846] => 0 [1847] => 3 [1848] => 2 [1849] => 1 [1850] => -1 [1851] => -1 [1852] => 33 [1853] => 99 [1854] => 0 [1855] => -1 [1856] => 3 [1857] => 2 [1858] => 1 [1859] => -1 [1860] => 1 [1861] => 33 [1862] => 99 [1863] => -1 [1864] => 0 [1865] => 3 [1866] => 0 [1867] => 1 [1868] => 1 [1869] => 0 [1870] => 1 [1871] => 3 [1872] => 1 [1873] => 1 [1874] => 1 [1875] => 0 [1876] => 3 [1877] => 1 [1878] => 1 [1879] => 0 [1880] => -1 [1881] => 3 [1882] => 1 [1883] => 1 [1884] => -1 [1885] => 0 [1886] => 3 [1887] => 1 [1888] => 3 [1889] => 1 [1890] => 1 [1891] => 3 [1892] => 1 [1893] => 3 [1894] => 1 [1895] => -1 [1896] => 3 [1897] => 1 [1898] => 3 [1899] => -1 [1900] => -1 [1901] => 3 [1902] => 1 [1903] => 3 [1904] => -1 [1905] => 1 [1906] => 3 [1907] => 4 [1908] => 1 [1909] => 1 [1910] => 1 [1911] => 1 [1912] => 1 [1913] => 1 [1914] => 1 [1915] => 1 [1916] => 1 [1917] => 1 [1918] => 1 [1919] => 33 [1920] => 99 [1921] => 1 [1922] => 0 [1923] => 3 [1924] => 4 [1925] => 1 [1926] => 1 [1927] => -1 [1928] => 1 [1929] => 1 [1930] => 1 [1931] => -1 [1932] => 1 [1933] => 1 [1934] => 1 [1935] => -1 [1936] => 33 [1937] => 99 [1938] => 0 [1939] => -1 [1940] => 3 [1941] => 4 [1942] => 1 [1943] => -1 [1944] => -1 [1945] => 1 [1946] => 1 [1947] => -1 [1948] => -1 [1949] => 1 [1950] => 1 [1951] => -1 [1952] => -1 [1953] => 33 [1954] => 99 [1955] => -1 [1956] => 0 [1957] => 3 [1958] => 4 [1959] => 1 [1960] => -1 [1961] => 1 [1962] => 1 [1963] => 1 [1964] => -1 [1965] => 1 [1966] => 1 [1967] => 1 [1968] => -1 [1969] => 1 [1970] => 33 [1971] => 99 [1972] => 0 [1973] => 1 [1974] => 3 [1975] => 4 [1976] => 1 [1977] => 1 [1978] => 1 [1979] => 1 [1980] => 1 [1981] => 1 [1982] => 1 [1983] => 1 [1984] => 1 [1985] => 1 [1986] => 1 [1987] => 33 [1988] => 99 [1989] => 0 [1990] => 1 [1991] => 3 [1992] => 4 [1993] => 1 [1994] => 1 [1995] => -1 [1996] => 1 [1997] => 1 [1998] => 1 [1999] => -1 [2000] => 1 [2001] => 1 [2002] => 1 [2003] => -1 [2004] => 33 [2005] => 99 [2006] => 1 [2007] => 0 [2008] => 3 [2009] => 4 [2010] => 1 [2011] => -1 [2012] => -1 [2013] => 1 [2014] => 1 [2015] => -1 [2016] => -1 [2017] => 1 [2018] => 1 [2019] => -1 [2020] => -1 [2021] => 33 [2022] => 99 [2023] => 0 [2024] => -1 [2025] => 3 [2026] => 4 [2027] => 1 [2028] => -1 [2029] => 1 [2030] => 1 [2031] => 1 [2032] => -1 [2033] => 1 [2034] => 1 [2035] => 1 [2036] => -1 [2037] => 1 [2038] => 33 [2039] => 99 [2040] => -1 [2041] => 0 [2042] => 3 [2043] => 0 [2044] => 1 [2045] => 99 [2046] => 1 [2047] => 1 [2048] => 3 [2049] => 1 [2050] => 99 [2051] => 1 [2052] => -1 [2053] => 3 [2054] => 1 [2055] => 99 [2056] => -1 [2057] => -1 [2058] => 3 [2059] => 1 [2060] => 99 [2061] => -1 [2062] => 1 [2063] => 3 [2064] => 1 [2065] => 99 [2066] => 1 [2067] => 2 [2068] => 3 [2069] => 1 [2070] => 99 [2071] => 2 [2072] => 1 [2073] => 3 [2074] => 1 [2075] => 99 [2076] => 2 [2077] => -1 [2078] => 3 [2079] => 1 [2080] => 99 [2081] => 1 [2082] => -2 [2083] => 3 [2084] => 1 [2085] => 99 [2086] => -1 [2087] => -2 [2088] => 3 [2089] => 1 [2090] => 99 [2091] => -2 [2092] => -1 [2093] => 3 [2094] => 1 [2095] => 99 [2096] => -2 [2097] => 1 [2098] => 3 [2099] => 1 [2100] => 99 [2101] => -1 [2102] => 2 [2103] => 3 [2104] => 0 [2105] => 1 [2106] => 1 [2107] => 1 [2108] => 1 [2109] => 3 [2110] => 1 [2111] => 1 [2112] => 1 [2113] => -1 [2114] => 3 [2115] => 1 [2116] => 1 [2117] => -1 [2118] => -1 [2119] => 3 [2120] => 1 [2121] => 1 [2122] => -1 [2123] => 1 [2124] => 3 [2125] => 1 [2126] => 2 [2127] => 0 [2128] => 1 [2129] => 3 [2130] => 1 [2131] => 2 [2132] => 1 [2133] => 0 [2134] => 3 [2135] => 1 [2136] => 2 [2137] => 0 [2138] => -1 [2139] => 3 [2140] => 1 [2141] => 2 [2142] => -1 [2143] => 0 [2144] => 3 [2145] => 3 [2146] => 1 [2147] => 0 [2148] => 1 [2149] => 1 [2150] => 1 [2151] => 0 [2152] => 1 [2153] => 33 [2154] => 99 [2155] => 1 [2156] => 1 [2157] => 3 [2158] => 3 [2159] => 1 [2160] => 1 [2161] => 0 [2162] => 1 [2163] => 1 [2164] => 1 [2165] => 0 [2166] => 33 [2167] => 99 [2168] => 1 [2169] => -1 [2170] => 3 [2171] => 3 [2172] => 1 [2173] => 0 [2174] => -1 [2175] => 1 [2176] => 1 [2177] => 0 [2178] => -1 [2179] => 33 [2180] => 99 [2181] => -1 [2182] => -1 [2183] => 3 [2184] => 3 [2185] => 1 [2186] => -1 [2187] => 0 [2188] => 1 [2189] => 1 [2190] => -1 [2191] => 0 [2192] => 33 [2193] => 99 [2194] => -1 [2195] => 1 [2196] => 3 [2197] => 3 [2198] => 1 [2199] => 0 [2200] => 1 [2201] => 1 [2202] => 1 [2203] => 0 [2204] => 1 [2205] => 33 [2206] => 99 [2207] => -1 [2208] => 1 [2209] => 3 [2210] => 3 [2211] => 1 [2212] => 1 [2213] => 0 [2214] => 1 [2215] => 1 [2216] => 1 [2217] => 0 [2218] => 33 [2219] => 99 [2220] => 1 [2221] => 1 [2222] => 3 [2223] => 3 [2224] => 1 [2225] => 0 [2226] => -1 [2227] => 1 [2228] => 1 [2229] => 0 [2230] => -1 [2231] => 33 [2232] => 99 [2233] => 1 [2234] => -1 [2235] => 3 [2236] => 3 [2237] => 1 [2238] => -1 [2239] => 0 [2240] => 1 [2241] => 1 [2242] => -1 [2243] => 0 [2244] => 33 [2245] => 99 [2246] => -1 [2247] => -1 [2248] => 3 [2249] => 0 ) [partners] => Array ( [0] => b2 [1] => k2 [2] => b13 [3] => k13 ) [supply] => Array ( [0] => P [1] => p [2] => X [3] => x ) [promotab] => Array ( [0] => Array ( [0] => r [1] => q [2] => b [3] => n [4] => l [5] => e [6] => z [7] => y [8] => f [9] => j [10] => d [11] => t [12] => u [13] => i ) [1] => Array ( [0] => p [1] => x [2] => r [3] => q [4] => b [5] => n [6] => l [7] => e [8] => z [9] => y [10] => f [11] => j [12] => d [13] => t [14] => u [15] => i ) [2] => Array ( [0] => p [1] => x [2] => r [3] => b [4] => n [5] => l [6] => e [7] => z [8] => y [9] => f [10] => j ) [3] => Array ( [0] => p [1] => x [2] => b [3] => n [4] => l [5] => e [6] => z ) [4] => 0 [5] => 0 [6] => 0 [7] => 0 [8] => 0 [9] => 0 [10] => Array ( [0] => P [1] => X [2] => B [3] => N [4] => L [5] => E [6] => Z ) [11] => Array ( [0] => P [1] => X [2] => R [3] => B [4] => N [5] => L [6] => E [7] => Z [8] => Y [9] => F [10] => J ) [12] => Array ( [0] => P [1] => X [2] => R [3] => Q [4] => B [5] => N [6] => L [7] => E [8] => Z [9] => Y [10] => F [11] => J [12] => D [13] => T [14] => U [15] => I ) [13] => Array ( [0] => R [1] => Q [2] => B [3] => N [4] => L [5] => E [6] => Z [7] => Y [8] => F [9] => J [10] => D [11] => T [12] => U [13] => I ) ) [shaded] => Array ( ) [symmetrized] => Array ( ) [centralize] => Array ( ) [blackset] => Array ( ) [blacksym] => Array ( ) [blackshaded] => Array ( ) [shufflespecs] => Array ( [0] => Array ( [0] => Q [1] => T [2] => U ) [1] => 0 [2] => 0 [3] => Array ( [0] => D [1] => I ) [4] => 0 [5] => 0 [6] => 0 ) [left] => Array ( [0] => f1 ) [light] => Array ( [0] => f1 ) [dark] => Array ( [0] => f1 ) [RESULT] => ) ) [1] => Array ( [ShuffleSetup] => Array ( [subargs] => Array ( ) ) ) [3] => Array ( [ShuffleSetup] => Array ( [i] => 0 [a] => Array ( [0] => Q [1] => T [2] => U ) [b] => Array ( ) [c] => Array ( ) ) ) [5] => Array ( [ShuffleOnePlayer] => Array ( [subargs] => Array ( [0] => Array ( [0] => Q [1] => T [2] => U ) [1] => Array ( ) [2] => Array ( ) ) ) [main] => Array ( [otherset] => Array ( [0] => Q [1] => T [2] => U ) [symset] => Array ( ) [shadeset] => Array ( ) ) ) [7] => Array ( [ShuffleOne] => Array ( [subargs] => Array ( [0] => Array ( ) [1] => Array ( [0] => Q [1] => T [2] => U ) ) [toshuffle] => Array ( [0] => Q [1] => T [2] => U ) ) [main] => Array ( [shaded] => Array ( ) [others] => Array ( [0] => Q [1] => T [2] => U ) ) ) )mline
Array ( [0] => MoveLine Object ( [movenum] => 0 [move] => [level] => 0 [comment] => [length] => 0 [newturn] => [turn] => 0 ) )allmoves
Array ( )movelist
constants
Array ( )