<commit_before>eps = 0.01;
N = 2;
M = 1;

module ecd_holder()
{
  difference()
  {
    translate([-8/2, -40/2, 0])
    {
      cube([8, 40, 5+1.5]);
      for(dy=[0, 40-9])
        translate([8, dy, 0])
          cube([9, 9, 1.5]);
    }
    // screw hole
    translate([0, 0, -eps])
      cylinder(d=3.5, h=10, $fn=40);
  }
}

for(iy=[0:M-1])
for(ix=[0:N-1])
  translate([ix*20, iy*45, 0])
    ecd_holder();<commit_msg>fixed indentation<commit_after>eps = 0.01;
N = 2;
M = 1;

module ecd_holder()
{
  difference()
  {
    translate([-8/2, -40/2, 0])
    {
      cube([8, 40, 5+1.5]);
      for(dy=[0, 40-9])
        translate([8, dy, 0])
          cube([9, 9, 1.5]);
    }
    // screw hole
    translate([0, 0, -eps])
      cylinder(d=3.5, h=10, $fn=40);
  }
}

for(iy=[0:M-1])
  for(ix=[0:N-1])
    translate([ix*20, iy*45, 0])
      ecd_holder();
{'fraction_non_alphanumeric': 0.2447058823529412, 'fraction_numerical': 0.10352941176470588, 'mean_word_length': 2.175373134328358, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3308799', 'n_tokens_mistral': 442, 'n_tokens_neox': 403, 'n_words': 74}