chiark / gitweb /
scaffold-clamp: wip straphook
[reprap-play.git] / quacks-ingredients-counts.scad
index 3b0e28f29270b634d2e7feaf0dfc204b602d9482..c2a8d084f9e9d770ad9b8feeaf81db8ef3565934 100644 (file)
@@ -3,6 +3,10 @@
 //   source is quacks-ingredients-counts
 module Base_1xFour(){ ////toplevel
 // Base  1xFour      total= 1  rowsz=1  nrows=1
+  union(){
+    Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
     $nspots = 1;
@@ -23,6 +27,10 @@ module Base_1xFour(){ ////toplevel
 }
 module Base_1xOne(){ ////toplevel
 // Base  1xOne       total= 1  rowsz=1  nrows=1
+  union(){
+    Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
     $nspots = 1;
@@ -43,6 +51,10 @@ module Base_1xOne(){ ////toplevel
 }
 module Base_1xThree(){ ////toplevel
 // Base  1xThree     total= 1  rowsz=1  nrows=1
+  union(){
+    Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
     $nspots = 1;
@@ -63,6 +75,10 @@ module Base_1xThree(){ ////toplevel
 }
 module Base_1xTwo(){ ////toplevel
 // Base  1xTwo       total= 1  rowsz=1  nrows=1
+  union(){
+    Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
     $nspots = 1;
@@ -81,8 +97,36 @@ module Base_1xTwo(){ ////toplevel
     $nspots = 4;
   };
 }
+module Base_1xZero(){ ////toplevel
+// Base  1xZero      total= 1  rowsz=1  nrows=1
+  union(){
+    Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+    $nspots = 0;
+    translate(token_pitch * [   0.0,   0.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+    $nspots = 1;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 1 + 1.00, 1 + 0.50 ]);
+    $nspots = 4;
+  };
+}
 module Base_2xFour(){ ////toplevel
 // Base  2xFour      total= 2  rowsz=2  nrows=1
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
     $nspots = 1;
@@ -104,6 +148,10 @@ module Base_2xFour(){ ////toplevel
 }
 module Base_2xOne(){ ////toplevel
 // Base  2xOne       total= 2  rowsz=2  nrows=1
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
     $nspots = 1;
@@ -125,6 +173,10 @@ module Base_2xOne(){ ////toplevel
 }
 module Base_2xThree(){ ////toplevel
 // Base  2xThree     total= 2  rowsz=2  nrows=1
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
     $nspots = 1;
@@ -146,6 +198,10 @@ module Base_2xThree(){ ////toplevel
 }
 module Base_2xTwo(){ ////toplevel
 // Base  2xTwo       total= 2  rowsz=2  nrows=1
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
     $nspots = 1;
@@ -165,8 +221,37 @@ module Base_2xTwo(){ ////toplevel
     $nspots = 4;
   };
 }
+module Base_2xZero(){ ////toplevel
+// Base  2xZero      total= 2  rowsz=2  nrows=1
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+    $nspots = 0;
+    translate(token_pitch * [  -0.5,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.5,   0.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+    $nspots = 1;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 1 + 0.50 ]);
+    $nspots = 4;
+  };
+}
 module Base_3xFour(){ ////toplevel
 // Base  3xFour      total= 3  rowsz=2  nrows=2
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
     $nspots = 1;
@@ -189,6 +274,10 @@ module Base_3xFour(){ ////toplevel
 }
 module Base_3xOne(){ ////toplevel
 // Base  3xOne       total= 3  rowsz=2  nrows=2
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
     $nspots = 1;
@@ -211,6 +300,10 @@ module Base_3xOne(){ ////toplevel
 }
 module Base_3xThree(){ ////toplevel
 // Base  3xThree     total= 3  rowsz=2  nrows=2
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
     $nspots = 1;
@@ -233,6 +326,10 @@ module Base_3xThree(){ ////toplevel
 }
 module Base_3xTwo(){ ////toplevel
 // Base  3xTwo       total= 3  rowsz=2  nrows=2
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
     $nspots = 1;
@@ -253,8 +350,38 @@ module Base_3xTwo(){ ////toplevel
     $nspots = 4;
   };
 }
+module Base_3xZero(){ ////toplevel
+// Base  3xZero      total= 3  rowsz=2  nrows=2
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 0;
+    translate(token_pitch * [  -0.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,   0.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 1;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 4;
+  };
+}
 module Base_Black(){ ////toplevel
 // Base  Black       total=18  rowsz=5  nrows=4
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
     $nspots = 1;
@@ -292,6 +419,10 @@ module Base_Black(){ ////toplevel
 }
 module Base_Blue(){ ////toplevel
 // Base  Blue        total=34  rowsz=6  nrows=6
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
     $nspots = 1;
@@ -345,6 +476,10 @@ module Base_Blue(){ ////toplevel
 }
 module Base_Green(){ ////toplevel
 // Base  Green       total=38  rowsz=7  nrows=6
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 6 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 7 + 1.00, 6 + 0.50 ]);
     $nspots = 1;
@@ -402,6 +537,10 @@ module Base_Green(){ ////toplevel
 }
 module Base_Orange(){ ////toplevel
 // Base  Orange      total=20  rowsz=5  nrows=4
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
     $nspots = 1;
@@ -441,6 +580,10 @@ module Base_Orange(){ ////toplevel
 }
 module Base_Purple(){ ////toplevel
 // Base  Purple      total=15  rowsz=4  nrows=4
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
     $nspots = 1;
@@ -475,6 +618,10 @@ module Base_Purple(){ ////toplevel
 }
 module Base_Red(){ ////toplevel
 // Base  Red         total=30  rowsz=6  nrows=5
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
     $nspots = 1;
@@ -523,7 +670,11 @@ module Base_Red(){ ////toplevel
   };
 }
 module Base_White(){ ////toplevel
-// Base  White       total=32  rowsz=6  nrows=6
+// Base  White       total=35  rowsz=6  nrows=6
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
     $nspots = 1;
@@ -547,11 +698,11 @@ module Base_White(){ ////toplevel
     translate(token_pitch * [  -0.5,   2.5 ]) Token_L();
     translate(token_pitch * [   0.5,  -2.5 ]) Token_L();
     translate(token_pitch * [   0.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -0.5 ]) Token_L();
   };
   union(){
     Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
     $nspots = 2;
-    translate(token_pitch * [   0.5,  -0.5 ]) Token_L();
     translate(token_pitch * [   0.5,   0.5 ]) Token_L();
     translate(token_pitch * [   0.5,   1.5 ]) Token_L();
     translate(token_pitch * [   0.5,   2.5 ]) Token_L();
@@ -559,22 +710,55 @@ module Base_White(){ ////toplevel
     translate(token_pitch * [   1.5,  -1.5 ]) Token_L();
     translate(token_pitch * [   1.5,  -0.5 ]) Token_L();
     translate(token_pitch * [   1.5,   0.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   1.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   2.5 ]) Token_L();
   };
   union(){
     Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
     $nspots = 3;
-    translate(token_pitch * [   1.5,   1.5 ]) Token_L();
-    translate(token_pitch * [   1.5,   2.5 ]) Token_L();
     translate(token_pitch * [   2.5,  -2.5 ]) Token_L();
     translate(token_pitch * [   2.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [   2.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [   2.5,   0.5 ]) Token_L();
+    translate(token_pitch * [   2.5,   1.5 ]) Token_L();
   };
   union(){
     Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
     $nspots = 4;
   };
 }
+module Base_WhiteSpare(){ ////toplevel
+// Base  WhiteSpare  total= 3  rowsz=2  nrows=2
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -0.5,  -0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 2;
+    translate(token_pitch * [  -0.5,   0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 3;
+    translate(token_pitch * [   0.5,  -0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 4;
+  };
+}
 module Base_Yellow(){ ////toplevel
 // Base  Yellow      total=29  rowsz=6  nrows=5
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+    $nspots = 0;
+  };
   union(){
     Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
     $nspots = 1;
@@ -621,5 +805,1022 @@ module Base_Yellow(){ ////toplevel
     translate(token_pitch * [   2.5,   1.0 ]) Token_L();
   };
 }
-// Base  total_count=240   total_real_count=216
+// Base  total_count=252   total_real_count=219
 // Base  max_rowsz=7       max_nrows=6
+module All_Black(){ ////toplevel
+// All  Black       total=26  rowsz=6  nrows=5
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -2.5,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -2.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -2.5,   0.0 ]) Token_L();
+    translate(token_pitch * [  -2.5,   1.0 ]) Token_L();
+    translate(token_pitch * [  -2.5,   2.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,   0.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,   1.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,   2.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,   0.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,   1.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,   2.0 ]) Token_L();
+    translate(token_pitch * [   0.5,  -2.0 ]) Token_L();
+    translate(token_pitch * [   0.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [   0.5,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.5,   1.0 ]) Token_L();
+    translate(token_pitch * [   0.5,   2.0 ]) Token_L();
+    translate(token_pitch * [   1.5,  -2.0 ]) Token_L();
+    translate(token_pitch * [   1.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [   1.5,   0.0 ]) Token_L();
+    translate(token_pitch * [   1.5,   1.0 ]) Token_L();
+    translate(token_pitch * [   1.5,   2.0 ]) Token_L();
+    translate(token_pitch * [   2.5,  -2.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module All_Blue(){ ////toplevel
+// All  Blue        total=52  rowsz=8  nrows=7
+  union(){
+    Frame($phase, token_pitch * [ 8 + 1.00, 7 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 8 + 1.00, 7 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -3.5,  -3.0 ]) Token_L();
+    translate(token_pitch * [  -3.5,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -3.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -3.5,   0.0 ]) Token_L();
+    translate(token_pitch * [  -3.5,   1.0 ]) Token_L();
+    translate(token_pitch * [  -3.5,   2.0 ]) Token_L();
+    translate(token_pitch * [  -3.5,   3.0 ]) Token_L();
+    translate(token_pitch * [  -2.5,  -3.0 ]) Token_L();
+    translate(token_pitch * [  -2.5,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -2.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -2.5,   0.0 ]) Token_L();
+    translate(token_pitch * [  -2.5,   1.0 ]) Token_L();
+    translate(token_pitch * [  -2.5,   2.0 ]) Token_L();
+    translate(token_pitch * [  -2.5,   3.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -3.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,   0.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,   1.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,   2.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,   3.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -3.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 8 + 1.00, 7 + 0.50 ]);
+    $nspots = 2;
+    translate(token_pitch * [  -0.5,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,   0.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,   1.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,   2.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,   3.0 ]) Token_L();
+    translate(token_pitch * [   0.5,  -3.0 ]) Token_L();
+    translate(token_pitch * [   0.5,  -2.0 ]) Token_L();
+    translate(token_pitch * [   0.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [   0.5,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.5,   1.0 ]) Token_L();
+    translate(token_pitch * [   0.5,   2.0 ]) Token_L();
+    translate(token_pitch * [   0.5,   3.0 ]) Token_L();
+    translate(token_pitch * [   1.5,  -3.0 ]) Token_L();
+    translate(token_pitch * [   1.5,  -2.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 8 + 1.00, 7 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 8 + 1.00, 7 + 0.50 ]);
+    $nspots = 4;
+    translate(token_pitch * [   1.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [   1.5,   0.0 ]) Token_L();
+    translate(token_pitch * [   1.5,   1.0 ]) Token_L();
+    translate(token_pitch * [   1.5,   2.0 ]) Token_L();
+    translate(token_pitch * [   1.5,   3.0 ]) Token_L();
+    translate(token_pitch * [   2.5,  -3.0 ]) Token_L();
+    translate(token_pitch * [   2.5,  -2.0 ]) Token_L();
+    translate(token_pitch * [   2.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [   2.5,   0.0 ]) Token_L();
+    translate(token_pitch * [   2.5,   1.0 ]) Token_L();
+    translate(token_pitch * [   2.5,   2.0 ]) Token_L();
+    translate(token_pitch * [   2.5,   3.0 ]) Token_L();
+    translate(token_pitch * [   3.5,  -3.0 ]) Token_L();
+    translate(token_pitch * [   3.5,  -2.0 ]) Token_L();
+    translate(token_pitch * [   3.5,  -1.0 ]) Token_L();
+  };
+}
+module All_Green(){ ////toplevel
+// All  Green       total=58  rowsz=8  nrows=8
+  union(){
+    Frame($phase, token_pitch * [ 8 + 1.00, 8 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 8 + 1.00, 8 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -3.5,  -3.5 ]) Token_L();
+    translate(token_pitch * [  -3.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [  -3.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -3.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -3.5,   0.5 ]) Token_L();
+    translate(token_pitch * [  -3.5,   1.5 ]) Token_L();
+    translate(token_pitch * [  -3.5,   2.5 ]) Token_L();
+    translate(token_pitch * [  -3.5,   3.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,  -3.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,   0.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,   1.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,   2.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,   3.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -3.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,   0.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,   1.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,   2.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,   3.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -3.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 8 + 1.00, 8 + 0.50 ]);
+    $nspots = 2;
+    translate(token_pitch * [  -0.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,   0.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,   1.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,   2.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,   3.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -3.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [   0.5,   0.5 ]) Token_L();
+    translate(token_pitch * [   0.5,   1.5 ]) Token_L();
+    translate(token_pitch * [   0.5,   2.5 ]) Token_L();
+    translate(token_pitch * [   0.5,   3.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 8 + 1.00, 8 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 8 + 1.00, 8 + 0.50 ]);
+    $nspots = 4;
+    translate(token_pitch * [   1.5,  -3.5 ]) Token_L();
+    translate(token_pitch * [   1.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [   1.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [   1.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   0.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   1.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   2.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   3.5 ]) Token_L();
+    translate(token_pitch * [   2.5,  -3.5 ]) Token_L();
+    translate(token_pitch * [   2.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [   2.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [   2.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [   2.5,   0.5 ]) Token_L();
+    translate(token_pitch * [   2.5,   1.5 ]) Token_L();
+    translate(token_pitch * [   2.5,   2.5 ]) Token_L();
+    translate(token_pitch * [   2.5,   3.5 ]) Token_L();
+    translate(token_pitch * [   3.5,  -3.5 ]) Token_L();
+    translate(token_pitch * [   3.5,  -2.5 ]) Token_L();
+  };
+}
+module All_Loco(){ ////toplevel
+// All  Loco        total=25  rowsz=5  nrows=5
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 0;
+    translate(token_pitch * [  -2.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   2.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   2.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 1;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module All_Orange(){ ////toplevel
+// All  Orange      total=32  rowsz=6  nrows=6
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -2.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,   0.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,   1.5 ]) Token_L();
+    translate(token_pitch * [  -2.5,   2.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,   0.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,   1.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,   2.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,   0.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,   1.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,   2.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [   0.5,   0.5 ]) Token_L();
+    translate(token_pitch * [   0.5,   1.5 ]) Token_L();
+    translate(token_pitch * [   0.5,   2.5 ]) Token_L();
+    translate(token_pitch * [   1.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [   1.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [   1.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   0.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   1.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   2.5 ]) Token_L();
+    translate(token_pitch * [   2.5,  -2.5 ]) Token_L();
+    translate(token_pitch * [   2.5,  -1.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module All_Orange6(){ ////toplevel
+// All  Orange6     total=20  rowsz=5  nrows=4
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 0;
+    translate(token_pitch * [  -2.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -2.0,   0.5 ]) Token_L();
+    translate(token_pitch * [  -2.0,   1.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,   0.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,   1.5 ]) Token_L();
+    translate(token_pitch * [   0.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [   0.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [   0.0,   0.5 ]) Token_L();
+    translate(token_pitch * [   0.0,   1.5 ]) Token_L();
+    translate(token_pitch * [   1.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [   1.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [   1.0,   0.5 ]) Token_L();
+    translate(token_pitch * [   1.0,   1.5 ]) Token_L();
+    translate(token_pitch * [   2.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [   2.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [   2.0,   0.5 ]) Token_L();
+    translate(token_pitch * [   2.0,   1.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 1;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module All_Purple(){ ////toplevel
+// All  Purple      total=23  rowsz=5  nrows=5
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -2.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   2.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   0.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module All_Red(){ ////toplevel
+// All  Red         total=46  rowsz=7  nrows=7
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -3.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,   2.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,   3.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   2.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   3.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   0.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 2;
+    translate(token_pitch * [  -1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   2.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   3.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   3.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -1.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 4;
+    translate(token_pitch * [   1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   3.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   3.0 ]) Token_L();
+    translate(token_pitch * [   3.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [   3.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   3.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   3.0,   0.0 ]) Token_L();
+  };
+}
+module All_White(){ ////toplevel
+// All  White       total=46  rowsz=7  nrows=7
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -3.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,   2.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,   3.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   2.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   3.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   2.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   3.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   2.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 2;
+    translate(token_pitch * [   0.0,   3.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   3.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   0.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 3;
+    translate(token_pitch * [   2.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   3.0 ]) Token_L();
+    translate(token_pitch * [   3.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [   3.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   3.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   3.0,   0.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module All_WhiteSpare(){ ////toplevel
+// All  WhiteSpare  total= 3  rowsz=2  nrows=2
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -0.5,  -0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 2;
+    translate(token_pitch * [  -0.5,   0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 3;
+    translate(token_pitch * [   0.5,  -0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module All_Yellow(){ ////toplevel
+// All  Yellow      total=45  rowsz=7  nrows=7
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -3.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,   2.0 ]) Token_L();
+    translate(token_pitch * [  -3.0,   3.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   2.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   3.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   1.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 2;
+    translate(token_pitch * [  -1.0,   2.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   3.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   3.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -2.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 7 + 1.00, 7 + 0.50 ]);
+    $nspots = 4;
+    translate(token_pitch * [   1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   3.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   3.0 ]) Token_L();
+    translate(token_pitch * [   3.0,  -3.0 ]) Token_L();
+    translate(token_pitch * [   3.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   3.0,  -1.0 ]) Token_L();
+  };
+}
+// All  total_count=376   total_real_count=353
+// All  max_rowsz=8       max_nrows=8
+module Witches_Black(){ ////toplevel
+// Witches  Black       total= 8  rowsz=3  nrows=3
+  union(){
+    Frame($phase, token_pitch * [ 3 + 1.00, 3 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 3 + 1.00, 3 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   0.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 3 + 1.00, 3 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 3 + 1.00, 3 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 3 + 1.00, 3 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module Witches_Blue(){ ////toplevel
+// Witches  Blue        total=18  rowsz=5  nrows=4
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -2.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -2.0,   0.5 ]) Token_L();
+    translate(token_pitch * [  -2.0,   1.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,   0.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,   1.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 2;
+    translate(token_pitch * [   0.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [   0.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [   0.0,   0.5 ]) Token_L();
+    translate(token_pitch * [   0.0,   1.5 ]) Token_L();
+    translate(token_pitch * [   1.0,  -1.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 4;
+    translate(token_pitch * [   1.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [   1.0,   0.5 ]) Token_L();
+    translate(token_pitch * [   1.0,   1.5 ]) Token_L();
+    translate(token_pitch * [   2.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [   2.0,  -0.5 ]) Token_L();
+  };
+}
+module Witches_Green(){ ////toplevel
+// Witches  Green       total=20  rowsz=5  nrows=4
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -2.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -2.0,   0.5 ]) Token_L();
+    translate(token_pitch * [  -2.0,   1.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,   0.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,   1.5 ]) Token_L();
+    translate(token_pitch * [   0.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [   0.0,  -0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 2;
+    translate(token_pitch * [   0.0,   0.5 ]) Token_L();
+    translate(token_pitch * [   0.0,   1.5 ]) Token_L();
+    translate(token_pitch * [   1.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [   1.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [   1.0,   0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 4;
+    translate(token_pitch * [   1.0,   1.5 ]) Token_L();
+    translate(token_pitch * [   2.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [   2.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [   2.0,   0.5 ]) Token_L();
+    translate(token_pitch * [   2.0,   1.5 ]) Token_L();
+  };
+}
+module Witches_Loco(){ ////toplevel
+// Witches  Loco        total=25  rowsz=5  nrows=5
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 0;
+    translate(token_pitch * [  -2.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -2.0,   2.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   2.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -2.0 ]) Token_L();
+    translate(token_pitch * [   2.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   2.0,   2.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 1;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module Witches_Orange(){ ////toplevel
+// Witches  Orange      total=12  rowsz=4  nrows=3
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 3 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 3 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -1.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,   0.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,   1.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,   0.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,   1.0 ]) Token_L();
+    translate(token_pitch * [   0.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [   0.5,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.5,   1.0 ]) Token_L();
+    translate(token_pitch * [   1.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [   1.5,   0.0 ]) Token_L();
+    translate(token_pitch * [   1.5,   1.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 3 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 3 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 3 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module Witches_Orange6(){ ////toplevel
+// Witches  Orange6     total=20  rowsz=5  nrows=4
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 0;
+    translate(token_pitch * [  -2.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -2.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -2.0,   0.5 ]) Token_L();
+    translate(token_pitch * [  -2.0,   1.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,   0.5 ]) Token_L();
+    translate(token_pitch * [  -1.0,   1.5 ]) Token_L();
+    translate(token_pitch * [   0.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [   0.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [   0.0,   0.5 ]) Token_L();
+    translate(token_pitch * [   0.0,   1.5 ]) Token_L();
+    translate(token_pitch * [   1.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [   1.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [   1.0,   0.5 ]) Token_L();
+    translate(token_pitch * [   1.0,   1.5 ]) Token_L();
+    translate(token_pitch * [   2.0,  -1.5 ]) Token_L();
+    translate(token_pitch * [   2.0,  -0.5 ]) Token_L();
+    translate(token_pitch * [   2.0,   0.5 ]) Token_L();
+    translate(token_pitch * [   2.0,   1.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 1;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 5 + 1.00, 4 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module Witches_Purple(){ ////toplevel
+// Witches  Purple      total= 8  rowsz=3  nrows=3
+  union(){
+    Frame($phase, token_pitch * [ 3 + 1.00, 3 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 3 + 1.00, 3 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   0.0 ]) Token_L();
+    translate(token_pitch * [  -1.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.0,   1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,  -1.0 ]) Token_L();
+    translate(token_pitch * [   1.0,   0.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 3 + 1.00, 3 + 0.50 ]);
+    $nspots = 2;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 3 + 1.00, 3 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 3 + 1.00, 3 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module Witches_Red(){ ////toplevel
+// Witches  Red         total=16  rowsz=4  nrows=4
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -1.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,   0.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,   1.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+    $nspots = 2;
+    translate(token_pitch * [  -0.5,   0.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,   1.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [   0.5,   0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+    $nspots = 4;
+    translate(token_pitch * [   0.5,   1.5 ]) Token_L();
+    translate(token_pitch * [   1.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [   1.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   0.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   1.5 ]) Token_L();
+  };
+}
+module Witches_White(){ ////toplevel
+// Witches  White       total=11  rowsz=4  nrows=3
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 3 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 3 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -1.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,   0.0 ]) Token_L();
+    translate(token_pitch * [  -1.5,   1.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,   0.0 ]) Token_L();
+    translate(token_pitch * [  -0.5,   1.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 3 + 0.50 ]);
+    $nspots = 2;
+    translate(token_pitch * [   0.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [   0.5,   0.0 ]) Token_L();
+    translate(token_pitch * [   0.5,   1.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 3 + 0.50 ]);
+    $nspots = 3;
+    translate(token_pitch * [   1.5,  -1.0 ]) Token_L();
+    translate(token_pitch * [   1.5,   0.0 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 3 + 0.50 ]);
+    $nspots = 4;
+  };
+}
+module Witches_Yellow(){ ////toplevel
+// Witches  Yellow      total=16  rowsz=4  nrows=4
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+    $nspots = 0;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+    $nspots = 1;
+    translate(token_pitch * [  -1.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,   0.5 ]) Token_L();
+    translate(token_pitch * [  -1.5,   1.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,  -0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+    $nspots = 2;
+    translate(token_pitch * [  -0.5,   0.5 ]) Token_L();
+    translate(token_pitch * [  -0.5,   1.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [   0.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [   0.5,   0.5 ]) Token_L();
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+    $nspots = 3;
+  };
+  union(){
+    Frame($phase, token_pitch * [ 4 + 1.00, 4 + 0.50 ]);
+    $nspots = 4;
+    translate(token_pitch * [   0.5,   1.5 ]) Token_L();
+    translate(token_pitch * [   1.5,  -1.5 ]) Token_L();
+    translate(token_pitch * [   1.5,  -0.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   0.5 ]) Token_L();
+    translate(token_pitch * [   1.5,   1.5 ]) Token_L();
+  };
+}
+// Witches  total_count=154   total_real_count=134
+// Witches  max_rowsz=5       max_nrows=5