FAILURE MAP
← Case archive

FA-85251 / Fantasy sports scoring / Open access

Bench priority ignored in favor of most minutes · case 01

The manager's first bench choice is skipped for a player with more minutes.

Verified by executionVariant 1 · 7 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

Outfield candidates are ordered by minutes played rather than bench order.

VERIFIED REPAIR

Walk outfield bench players in their listed order.

Unsuccessful approach: Walking the bench in reverse still ignores the manager's priority.

Case contract

Starters who played 0 minutes are replaced in starter order. A goalkeeper can only be replaced by the bench goalkeeper (bench[0]) and only if he played. An outfield starter is replaced by the first outfield bench player in bench order who played and is not already used, provided the XI with the candidate in place keeps at least 3 DEF, 2 MID and 1 FWD. Return the final XI in starter-slot order.

Why this case matters

Automatic substitutions decide which bench points count; order, goalkeeper and formation rules are frequently misapplied.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(starters, bench, minutes, pos):
    xi = list(starters)
    used = set()
    def valid(team):
        c = {'DEF': 0, 'MID': 0, 'FWD': 0}
        for n in team:
            if pos[n] in c:
                c[pos[n]] += 1
        return c['DEF'] >= 3 and c['MID'] >= 2 and c['FWD'] >= 1
    for i, s in enumerate(starters):
        if minutes[s] > 0:
            continue
        if pos[s] == 'GK':
            g = bench[0]
            if minutes[g] > 0:
                xi[i] = g
                used.add(g)
            continue
        for b in sorted(bench[1:], key=lambda b: -minutes[b]):
            if b in used or minutes[b] == 0:
                continue
            trial = xi[:i] + [b] + xi[i + 1:]
            if valid(trial):
                xi[i] = b
                used.add(b)
                break
    return xi
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 30,
     'b2': 90,
     'def0': 1,
     'def1': 0,
     'def2': 0,
     'fwd0': 30,
     'fwd1': 90,
     'fwd2': 90,
     'gk1': 90,
     'gk2': 90,
     'mid0': 90,
     'mid1': 90,
     'mid2': 30,
     'mid3': 0},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'b1', 'def2', 'mid0', 'mid1', 'mid2', 'b0', 'fwd0', 'fwd1', 'fwd2']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 90,
     'b2': 0,
     'def0': 30,
     'def1': 1,
     'def2': 0,
     'def3': 30,
     'def4': 0,
     'fwd0': 30,
     'fwd1': 0,
     'gk1': 30,
     'gk2': 0,
     'mid0': 30,
     'mid1': 30,
     'mid2': 30},
    {'b0': 'FWD',
     'b1': 'MID',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 1,
     'def0': 0,
     'def1': 90,
     'def2': 0,
     'def3': 30,
     'def4': 90,
     'fwd0': 0,
     'fwd1': 1,
     'gk1': 30,
     'gk2': 30,
     'mid0': 90,
     'mid1': 30,
     'mid2': 1},
    {'b0': 'DEF',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'b0', 'def1', 'b2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 30,
     'def0': 30,
     'def1': 90,
     'def2': 30,
     'def3': 30,
     'fwd0': 1,
     'gk1': 1,
     'gk2': 0,
     'mid0': 0,
     'mid1': 30,
     'mid2': 0,
     'mid3': 30,
     'mid4': 0},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 90,
     'def0': 0,
     'def1': 1,
     'def2': 90,
     'fwd0': 30,
     'fwd1': 90,
     'gk1': 1,
     'gk2': 1,
     'mid0': 30,
     'mid1': 90,
     'mid2': 0,
     'mid3': 90,
     'mid4': 90},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'b2', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'mid3', 'mid4', 'fwd0', 'fwd1']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 90,
     'b2': 90,
     'def0': 1,
     'def1': 0,
     'def2': 0,
     'fwd0': 30,
     'fwd1': 30,
     'fwd2': 1,
     'gk1': 0,
     'gk2': 0,
     'mid0': 1,
     'mid1': 90,
     'mid2': 30,
     'mid3': 90},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 90,
     'b2': 30,
     'def0': 90,
     'def1': 90,
     'def2': 90,
     'def3': 30,
     'def4': 1,
     'fwd0': 1,
     'fwd1': 90,
     'gk1': 0,
     'gk2': 0,
     'mid0': 1,
     'mid1': 30,
     'mid2': 1},
    {'b0': 'FWD',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'])],
 [('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 90,
     'b2': 1,
     'def0': 90,
     'def1': 0,
     'def2': 90,
     'def3': 1,
     'fwd0': 30,
     'gk1': 1,
     'gk2': 30,
     'mid0': 30,
     'mid1': 1,
     'mid2': 1,
     'mid3': 90,
     'mid4': 0},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'b0', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'b1', 'fwd0']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 90,
     'b2': 1,
     'def0': 30,
     'def1': 1,
     'def2': 0,
     'fwd0': 1,
     'fwd1': 90,
     'fwd2': 1,
     'gk1': 1,
     'gk2': 1,
     'mid0': 0,
     'mid1': 30,
     'mid2': 30,
     'mid3': 90},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'b2', 'b0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 1,
     'b2': 30,
     'def0': 30,
     'def1': 90,
     'def2': 30,
     'def3': 90,
     'def4': 90,
     'fwd0': 0,
     'fwd1': 90,
     'gk1': 30,
     'gk2': 1,
     'mid0': 0,
     'mid1': 0,
     'mid2': 0},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'b0', 'b2', 'mid2', 'b1', 'fwd1']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 0,
     'def0': 30,
     'def1': 1,
     'def2': 1,
     'fwd0': 30,
     'fwd1': 1,
     'fwd2': 0,
     'gk1': 0,
     'gk2': 1,
     'mid0': 0,
     'mid1': 30,
     'mid2': 90,
     'mid3': 1},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk2', 'def0', 'def1', 'def2', 'b0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 0,
     'b2': 0,
     'def0': 90,
     'def1': 90,
     'def2': 0,
     'def3': 1,
     'def4': 90,
     'fwd0': 1,
     'fwd1': 0,
     'gk1': 0,
     'gk2': 90,
     'mid0': 30,
     'mid1': 30,
     'mid2': 0},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk2', 'def0', 'def1', 'b0', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 30,
     'b2': 0,
     'def0': 0,
     'def1': 0,
     'def2': 30,
     'def3': 0,
     'fwd0': 0,
     'fwd1': 1,
     'gk1': 90,
     'gk2': 30,
     'mid0': 90,
     'mid1': 1,
     'mid2': 1,
     'mid3': 1},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'b1', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 0,
     'b2': 0,
     'def0': 0,
     'def1': 90,
     'def2': 90,
     'fwd0': 1,
     'fwd1': 0,
     'gk1': 90,
     'gk2': 0,
     'mid0': 90,
     'mid1': 0,
     'mid2': 30,
     'mid3': 1,
     'mid4': 1},
    {'b0': 'FWD',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'b0', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'])],
 [('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 90,
     'def0': 30,
     'def1': 30,
     'def2': 30,
     'fwd0': 30,
     'fwd1': 0,
     'gk1': 30,
     'gk2': 90,
     'mid0': 1,
     'mid1': 90,
     'mid2': 0,
     'mid3': 0,
     'mid4': 90},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'b2', 'mid4', 'fwd0', 'fwd1']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 1,
     'b2': 0,
     'def0': 30,
     'def1': 90,
     'def2': 90,
     'def3': 0,
     'fwd0': 90,
     'gk1': 30,
     'gk2': 30,
     'mid0': 90,
     'mid1': 90,
     'mid2': 30,
     'mid3': 0,
     'mid4': 1},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b0', 'mid0', 'mid1', 'mid2', 'b1', 'mid4', 'fwd0']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 1,
     'b2': 90,
     'def0': 30,
     'def1': 1,
     'def2': 1,
     'def3': 30,
     'fwd0': 30,
     'gk1': 1,
     'gk2': 1,
     'mid0': 90,
     'mid1': 0,
     'mid2': 0,
     'mid3': 90,
     'mid4': 90},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'b0', 'b1', 'mid3', 'mid4', 'fwd0']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 0,
     'b2': 90,
     'def0': 0,
     'def1': 1,
     'def2': 0,
     'fwd0': 1,
     'fwd1': 0,
     'gk1': 30,
     'gk2': 90,
     'mid0': 90,
     'mid1': 30,
     'mid2': 1,
     'mid3': 90,
     'mid4': 1},
    {'b0': 'DEF',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'b0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'b2']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 90,
     'b2': 0,
     'def0': 90,
     'def1': 0,
     'def2': 0,
     'def3': 0,
     'fwd0': 0,
     'gk1': 90,
     'gk2': 0,
     'mid0': 0,
     'mid1': 30,
     'mid2': 1,
     'mid3': 1,
     'mid4': 1},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'b1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 1,
     'b2': 0,
     'def0': 30,
     'def1': 0,
     'def2': 30,
     'def3': 0,
     'fwd0': 1,
     'gk1': 1,
     'gk2': 30,
     'mid0': 0,
     'mid1': 90,
     'mid2': 1,
     'mid3': 30,
     'mid4': 30},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'b1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 30,
     'def0': 0,
     'def1': 1,
     'def2': 1,
     'fwd0': 1,
     'fwd1': 0,
     'fwd2': 90,
     'gk1': 1,
     'gk2': 90,
     'mid0': 30,
     'mid1': 1,
     'mid2': 0,
     'mid3': 90},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'b2', 'mid3', 'fwd0', 'fwd1', 'fwd2'])],
 [('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 30,
     'b2': 90,
     'def0': 90,
     'def1': 1,
     'def2': 1,
     'def3': 90,
     'def4': 90,
     'fwd0': 0,
     'fwd1': 30,
     'gk1': 1,
     'gk2': 30,
     'mid0': 90,
     'mid1': 1,
     'mid2': 90},
    {'b0': 'FWD',
     'b1': 'MID',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'b0', 'fwd1']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 1,
     'def0': 30,
     'def1': 30,
     'def2': 30,
     'fwd0': 30,
     'fwd1': 90,
     'fwd2': 90,
     'gk1': 1,
     'gk2': 1,
     'mid0': 30,
     'mid1': 30,
     'mid2': 1,
     'mid3': 0},
    {'b0': 'FWD',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'b0', 'fwd0', 'fwd1', 'fwd2']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 90,
     'b2': 30,
     'def0': 90,
     'def1': 90,
     'def2': 90,
     'fwd0': 0,
     'fwd1': 0,
     'fwd2': 30,
     'gk1': 1,
     'gk2': 90,
     'mid0': 0,
     'mid1': 1,
     'mid2': 90,
     'mid3': 30},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b1', 'mid1', 'mid2', 'mid3', 'b2', 'fwd1', 'fwd2']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 0,
     'b2': 0,
     'def0': 0,
     'def1': 1,
     'def2': 0,
     'fwd0': 30,
     'fwd1': 30,
     'fwd2': 0,
     'gk1': 1,
     'gk2': 90,
     'mid0': 0,
     'mid1': 30,
     'mid2': 30,
     'mid3': 30},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 1,
     'b2': 30,
     'def0': 90,
     'def1': 0,
     'def2': 1,
     'fwd0': 30,
     'fwd1': 0,
     'gk1': 30,
     'gk2': 90,
     'mid0': 1,
     'mid1': 0,
     'mid2': 30,
     'mid3': 30,
     'mid4': 30},
    {'b0': 'FWD',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'b1', 'def2', 'mid0', 'b2', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 0,
     'def0': 30,
     'def1': 30,
     'def2': 0,
     'fwd0': 30,
     'fwd1': 0,
     'gk1': 0,
     'gk2': 30,
     'mid0': 90,
     'mid1': 30,
     'mid2': 30,
     'mid3': 90,
     'mid4': 1},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk2', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 0,
     'b2': 0,
     'def0': 90,
     'def1': 30,
     'def2': 90,
     'def3': 90,
     'fwd0': 1,
     'gk1': 90,
     'gk2': 1,
     'mid0': 30,
     'mid1': 90,
     'mid2': 1,
     'mid3': 30,
     'mid4': 90},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'])],
 [('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 30,
     'b2': 30,
     'def0': 90,
     'def1': 30,
     'def2': 1,
     'def3': 1,
     'fwd0': 1,
     'fwd1': 1,
     'gk1': 1,
     'gk2': 0,
     'mid0': 0,
     'mid1': 1,
     'mid2': 0,
     'mid3': 30},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'b0', 'mid1', 'b1', 'mid3', 'fwd0', 'fwd1']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 1,
     'b2': 1,
     'def0': 30,
     'def1': 30,
     'def2': 90,
     'fwd0': 30,
     'fwd1': 90,
     'fwd2': 0,
     'gk1': 1,
     'gk2': 30,
     'mid0': 0,
     'mid1': 0,
     'mid2': 1,
     'mid3': 0},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b0', 'b1', 'mid2', 'b2', 'fwd0', 'fwd1', 'fwd2']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 1,
     'b2': 30,
     'def0': 90,
     'def1': 90,
     'def2': 0,
     'def3': 90,
     'def4': 0,
     'fwd0': 0,
     'fwd1': 1,
     'gk1': 1,
     'gk2': 30,
     'mid0': 1,
     'mid1': 30,
     'mid2': 0},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'b2', 'fwd0', 'fwd1']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 0,
     'b2': 0,
     'def0': 0,
     'def1': 0,
     'def2': 30,
     'fwd0': 90,
     'fwd1': 30,
     'gk1': 90,
     'gk2': 0,
     'mid0': 0,
     'mid1': 1,
     'mid2': 90,
     'mid3': 0,
     'mid4': 90},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 0,
     'def0': 1,
     'def1': 30,
     'def2': 30,
     'def3': 90,
     'fwd0': 0,
     'fwd1': 30,
     'gk1': 0,
     'gk2': 30,
     'mid0': 1,
     'mid1': 30,
     'mid2': 30,
     'mid3': 0},
    {'b0': 'FWD',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk2', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 30,
     'b2': 0,
     'def0': 30,
     'def1': 1,
     'def2': 0,
     'def3': 90,
     'fwd0': 0,
     'fwd1': 1,
     'gk1': 0,
     'gk2': 90,
     'mid0': 30,
     'mid1': 90,
     'mid2': 1,
     'mid3': 0},
    {'b0': 'DEF',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk2', 'def0', 'def1', 'b1', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 30,
     'def0': 0,
     'def1': 1,
     'def2': 1,
     'fwd0': 30,
     'fwd1': 30,
     'gk1': 0,
     'gk2': 30,
     'mid0': 0,
     'mid1': 30,
     'mid2': 30,
     'mid3': 0,
     'mid4': 0},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk2', 'def0', 'def1', 'def2', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'])]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression: bench priority order['gk1', 'def0', 'b1', 'def2', 'mid0', 'mid1', 'mid2', 'b2', 'fwd0', 'fwd1', 'fwd2']['gk1', 'def0', 'b1', 'def2', 'mid0', 'mid1', 'mid2', 'b0', 'fwd0', 'fwd1', 'fwd2']Failed
partial repair probe: bench priority order['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']Passed
second regression['gk1', 'b0', 'def1', 'b2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']['gk1', 'b0', 'def1', 'b2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']Passed
normal control 1['gk1', 'def0', 'def1', 'def2', 'def3', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']['gk1', 'def0', 'def1', 'def2', 'def3', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']Passed
normal control 2['gk1', 'b2', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'mid3', 'mid4', 'fwd0', 'fwd1']['gk1', 'b2', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'mid3', 'mid4', 'fwd0', 'fwd1']Passed
normal control 3['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']Passed
normal control 4['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']Passed

SHA-256 / 602754f040ec4721e54b7d02fa1250c1acb208df899db7175fa8d0c4244e0b15

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(starters, bench, minutes, pos):
    xi = list(starters)
    used = set()
    def valid(team):
        c = {'DEF': 0, 'MID': 0, 'FWD': 0}
        for n in team:
            if pos[n] in c:
                c[pos[n]] += 1
        return c['DEF'] >= 3 and c['MID'] >= 2 and c['FWD'] >= 1
    for i, s in enumerate(starters):
        if minutes[s] > 0:
            continue
        if pos[s] == 'GK':
            g = bench[0]
            if minutes[g] > 0:
                xi[i] = g
                used.add(g)
            continue
        for b in bench[:0:-1]:
            if b in used or minutes[b] == 0:
                continue
            trial = xi[:i] + [b] + xi[i + 1:]
            if valid(trial):
                xi[i] = b
                used.add(b)
                break
    return xi
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 30,
     'b2': 90,
     'def0': 1,
     'def1': 0,
     'def2': 0,
     'fwd0': 30,
     'fwd1': 90,
     'fwd2': 90,
     'gk1': 90,
     'gk2': 90,
     'mid0': 90,
     'mid1': 90,
     'mid2': 30,
     'mid3': 0},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'b1', 'def2', 'mid0', 'mid1', 'mid2', 'b0', 'fwd0', 'fwd1', 'fwd2']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 90,
     'b2': 0,
     'def0': 30,
     'def1': 1,
     'def2': 0,
     'def3': 30,
     'def4': 0,
     'fwd0': 30,
     'fwd1': 0,
     'gk1': 30,
     'gk2': 0,
     'mid0': 30,
     'mid1': 30,
     'mid2': 30},
    {'b0': 'FWD',
     'b1': 'MID',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 1,
     'def0': 0,
     'def1': 90,
     'def2': 0,
     'def3': 30,
     'def4': 90,
     'fwd0': 0,
     'fwd1': 1,
     'gk1': 30,
     'gk2': 30,
     'mid0': 90,
     'mid1': 30,
     'mid2': 1},
    {'b0': 'DEF',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'b0', 'def1', 'b2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 30,
     'def0': 30,
     'def1': 90,
     'def2': 30,
     'def3': 30,
     'fwd0': 1,
     'gk1': 1,
     'gk2': 0,
     'mid0': 0,
     'mid1': 30,
     'mid2': 0,
     'mid3': 30,
     'mid4': 0},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 90,
     'def0': 0,
     'def1': 1,
     'def2': 90,
     'fwd0': 30,
     'fwd1': 90,
     'gk1': 1,
     'gk2': 1,
     'mid0': 30,
     'mid1': 90,
     'mid2': 0,
     'mid3': 90,
     'mid4': 90},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'b2', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'mid3', 'mid4', 'fwd0', 'fwd1']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 90,
     'b2': 90,
     'def0': 1,
     'def1': 0,
     'def2': 0,
     'fwd0': 30,
     'fwd1': 30,
     'fwd2': 1,
     'gk1': 0,
     'gk2': 0,
     'mid0': 1,
     'mid1': 90,
     'mid2': 30,
     'mid3': 90},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 90,
     'b2': 30,
     'def0': 90,
     'def1': 90,
     'def2': 90,
     'def3': 30,
     'def4': 1,
     'fwd0': 1,
     'fwd1': 90,
     'gk1': 0,
     'gk2': 0,
     'mid0': 1,
     'mid1': 30,
     'mid2': 1},
    {'b0': 'FWD',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'])],
 [('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 90,
     'b2': 1,
     'def0': 90,
     'def1': 0,
     'def2': 90,
     'def3': 1,
     'fwd0': 30,
     'gk1': 1,
     'gk2': 30,
     'mid0': 30,
     'mid1': 1,
     'mid2': 1,
     'mid3': 90,
     'mid4': 0},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'b0', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'b1', 'fwd0']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 90,
     'b2': 1,
     'def0': 30,
     'def1': 1,
     'def2': 0,
     'fwd0': 1,
     'fwd1': 90,
     'fwd2': 1,
     'gk1': 1,
     'gk2': 1,
     'mid0': 0,
     'mid1': 30,
     'mid2': 30,
     'mid3': 90},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'b2', 'b0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 1,
     'b2': 30,
     'def0': 30,
     'def1': 90,
     'def2': 30,
     'def3': 90,
     'def4': 90,
     'fwd0': 0,
     'fwd1': 90,
     'gk1': 30,
     'gk2': 1,
     'mid0': 0,
     'mid1': 0,
     'mid2': 0},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'b0', 'b2', 'mid2', 'b1', 'fwd1']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 0,
     'def0': 30,
     'def1': 1,
     'def2': 1,
     'fwd0': 30,
     'fwd1': 1,
     'fwd2': 0,
     'gk1': 0,
     'gk2': 1,
     'mid0': 0,
     'mid1': 30,
     'mid2': 90,
     'mid3': 1},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk2', 'def0', 'def1', 'def2', 'b0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 0,
     'b2': 0,
     'def0': 90,
     'def1': 90,
     'def2': 0,
     'def3': 1,
     'def4': 90,
     'fwd0': 1,
     'fwd1': 0,
     'gk1': 0,
     'gk2': 90,
     'mid0': 30,
     'mid1': 30,
     'mid2': 0},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk2', 'def0', 'def1', 'b0', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 30,
     'b2': 0,
     'def0': 0,
     'def1': 0,
     'def2': 30,
     'def3': 0,
     'fwd0': 0,
     'fwd1': 1,
     'gk1': 90,
     'gk2': 30,
     'mid0': 90,
     'mid1': 1,
     'mid2': 1,
     'mid3': 1},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'b1', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 0,
     'b2': 0,
     'def0': 0,
     'def1': 90,
     'def2': 90,
     'fwd0': 1,
     'fwd1': 0,
     'gk1': 90,
     'gk2': 0,
     'mid0': 90,
     'mid1': 0,
     'mid2': 30,
     'mid3': 1,
     'mid4': 1},
    {'b0': 'FWD',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'b0', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'])],
 [('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 90,
     'def0': 30,
     'def1': 30,
     'def2': 30,
     'fwd0': 30,
     'fwd1': 0,
     'gk1': 30,
     'gk2': 90,
     'mid0': 1,
     'mid1': 90,
     'mid2': 0,
     'mid3': 0,
     'mid4': 90},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'b2', 'mid4', 'fwd0', 'fwd1']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 1,
     'b2': 0,
     'def0': 30,
     'def1': 90,
     'def2': 90,
     'def3': 0,
     'fwd0': 90,
     'gk1': 30,
     'gk2': 30,
     'mid0': 90,
     'mid1': 90,
     'mid2': 30,
     'mid3': 0,
     'mid4': 1},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b0', 'mid0', 'mid1', 'mid2', 'b1', 'mid4', 'fwd0']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 1,
     'b2': 90,
     'def0': 30,
     'def1': 1,
     'def2': 1,
     'def3': 30,
     'fwd0': 30,
     'gk1': 1,
     'gk2': 1,
     'mid0': 90,
     'mid1': 0,
     'mid2': 0,
     'mid3': 90,
     'mid4': 90},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'b0', 'b1', 'mid3', 'mid4', 'fwd0']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 0,
     'b2': 90,
     'def0': 0,
     'def1': 1,
     'def2': 0,
     'fwd0': 1,
     'fwd1': 0,
     'gk1': 30,
     'gk2': 90,
     'mid0': 90,
     'mid1': 30,
     'mid2': 1,
     'mid3': 90,
     'mid4': 1},
    {'b0': 'DEF',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'b0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'b2']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 90,
     'b2': 0,
     'def0': 90,
     'def1': 0,
     'def2': 0,
     'def3': 0,
     'fwd0': 0,
     'gk1': 90,
     'gk2': 0,
     'mid0': 0,
     'mid1': 30,
     'mid2': 1,
     'mid3': 1,
     'mid4': 1},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'b1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 1,
     'b2': 0,
     'def0': 30,
     'def1': 0,
     'def2': 30,
     'def3': 0,
     'fwd0': 1,
     'gk1': 1,
     'gk2': 30,
     'mid0': 0,
     'mid1': 90,
     'mid2': 1,
     'mid3': 30,
     'mid4': 30},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'b1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 30,
     'def0': 0,
     'def1': 1,
     'def2': 1,
     'fwd0': 1,
     'fwd1': 0,
     'fwd2': 90,
     'gk1': 1,
     'gk2': 90,
     'mid0': 30,
     'mid1': 1,
     'mid2': 0,
     'mid3': 90},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'b2', 'mid3', 'fwd0', 'fwd1', 'fwd2'])],
 [('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 30,
     'b2': 90,
     'def0': 90,
     'def1': 1,
     'def2': 1,
     'def3': 90,
     'def4': 90,
     'fwd0': 0,
     'fwd1': 30,
     'gk1': 1,
     'gk2': 30,
     'mid0': 90,
     'mid1': 1,
     'mid2': 90},
    {'b0': 'FWD',
     'b1': 'MID',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'b0', 'fwd1']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 1,
     'def0': 30,
     'def1': 30,
     'def2': 30,
     'fwd0': 30,
     'fwd1': 90,
     'fwd2': 90,
     'gk1': 1,
     'gk2': 1,
     'mid0': 30,
     'mid1': 30,
     'mid2': 1,
     'mid3': 0},
    {'b0': 'FWD',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'b0', 'fwd0', 'fwd1', 'fwd2']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 90,
     'b2': 30,
     'def0': 90,
     'def1': 90,
     'def2': 90,
     'fwd0': 0,
     'fwd1': 0,
     'fwd2': 30,
     'gk1': 1,
     'gk2': 90,
     'mid0': 0,
     'mid1': 1,
     'mid2': 90,
     'mid3': 30},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b1', 'mid1', 'mid2', 'mid3', 'b2', 'fwd1', 'fwd2']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 0,
     'b2': 0,
     'def0': 0,
     'def1': 1,
     'def2': 0,
     'fwd0': 30,
     'fwd1': 30,
     'fwd2': 0,
     'gk1': 1,
     'gk2': 90,
     'mid0': 0,
     'mid1': 30,
     'mid2': 30,
     'mid3': 30},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 1,
     'b2': 30,
     'def0': 90,
     'def1': 0,
     'def2': 1,
     'fwd0': 30,
     'fwd1': 0,
     'gk1': 30,
     'gk2': 90,
     'mid0': 1,
     'mid1': 0,
     'mid2': 30,
     'mid3': 30,
     'mid4': 30},
    {'b0': 'FWD',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'b1', 'def2', 'mid0', 'b2', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 0,
     'def0': 30,
     'def1': 30,
     'def2': 0,
     'fwd0': 30,
     'fwd1': 0,
     'gk1': 0,
     'gk2': 30,
     'mid0': 90,
     'mid1': 30,
     'mid2': 30,
     'mid3': 90,
     'mid4': 1},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk2', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 0,
     'b2': 0,
     'def0': 90,
     'def1': 30,
     'def2': 90,
     'def3': 90,
     'fwd0': 1,
     'gk1': 90,
     'gk2': 1,
     'mid0': 30,
     'mid1': 90,
     'mid2': 1,
     'mid3': 30,
     'mid4': 90},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'])],
 [('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 30,
     'b2': 30,
     'def0': 90,
     'def1': 30,
     'def2': 1,
     'def3': 1,
     'fwd0': 1,
     'fwd1': 1,
     'gk1': 1,
     'gk2': 0,
     'mid0': 0,
     'mid1': 1,
     'mid2': 0,
     'mid3': 30},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'b0', 'mid1', 'b1', 'mid3', 'fwd0', 'fwd1']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 1,
     'b2': 1,
     'def0': 30,
     'def1': 30,
     'def2': 90,
     'fwd0': 30,
     'fwd1': 90,
     'fwd2': 0,
     'gk1': 1,
     'gk2': 30,
     'mid0': 0,
     'mid1': 0,
     'mid2': 1,
     'mid3': 0},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b0', 'b1', 'mid2', 'b2', 'fwd0', 'fwd1', 'fwd2']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 1,
     'b2': 30,
     'def0': 90,
     'def1': 90,
     'def2': 0,
     'def3': 90,
     'def4': 0,
     'fwd0': 0,
     'fwd1': 1,
     'gk1': 1,
     'gk2': 30,
     'mid0': 1,
     'mid1': 30,
     'mid2': 0},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'b2', 'fwd0', 'fwd1']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 0,
     'b2': 0,
     'def0': 0,
     'def1': 0,
     'def2': 30,
     'fwd0': 90,
     'fwd1': 30,
     'gk1': 90,
     'gk2': 0,
     'mid0': 0,
     'mid1': 1,
     'mid2': 90,
     'mid3': 0,
     'mid4': 90},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 0,
     'def0': 1,
     'def1': 30,
     'def2': 30,
     'def3': 90,
     'fwd0': 0,
     'fwd1': 30,
     'gk1': 0,
     'gk2': 30,
     'mid0': 1,
     'mid1': 30,
     'mid2': 30,
     'mid3': 0},
    {'b0': 'FWD',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk2', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 30,
     'b2': 0,
     'def0': 30,
     'def1': 1,
     'def2': 0,
     'def3': 90,
     'fwd0': 0,
     'fwd1': 1,
     'gk1': 0,
     'gk2': 90,
     'mid0': 30,
     'mid1': 90,
     'mid2': 1,
     'mid3': 0},
    {'b0': 'DEF',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk2', 'def0', 'def1', 'b1', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 30,
     'def0': 0,
     'def1': 1,
     'def2': 1,
     'fwd0': 30,
     'fwd1': 30,
     'gk1': 0,
     'gk2': 30,
     'mid0': 0,
     'mid1': 30,
     'mid2': 30,
     'mid3': 0,
     'mid4': 0},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk2', 'def0', 'def1', 'def2', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'])]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression: bench priority order['gk1', 'def0', 'b1', 'def2', 'mid0', 'mid1', 'mid2', 'b2', 'fwd0', 'fwd1', 'fwd2']['gk1', 'def0', 'b1', 'def2', 'mid0', 'mid1', 'mid2', 'b0', 'fwd0', 'fwd1', 'fwd2']Failed
partial repair probe: bench priority order['gk1', 'def0', 'def1', 'b1', 'def3', 'b0', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']Failed
second regression['gk1', 'b2', 'def1', 'b0', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']['gk1', 'b0', 'def1', 'b2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']Failed
normal control 1['gk1', 'def0', 'def1', 'def2', 'def3', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']['gk1', 'def0', 'def1', 'def2', 'def3', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']Passed
normal control 2['gk1', 'b2', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'mid3', 'mid4', 'fwd0', 'fwd1']['gk1', 'b2', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'mid3', 'mid4', 'fwd0', 'fwd1']Passed
normal control 3['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']Passed
normal control 4['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']Passed

SHA-256 / 9a56db28d2246d5d79a266660c2231347d45c0ef0c02feb3f233fb9404fc4040

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(starters, bench, minutes, pos):
    xi = list(starters)
    used = set()
    def valid(team):
        c = {'DEF': 0, 'MID': 0, 'FWD': 0}
        for n in team:
            if pos[n] in c:
                c[pos[n]] += 1
        return c['DEF'] >= 3 and c['MID'] >= 2 and c['FWD'] >= 1
    for i, s in enumerate(starters):
        if minutes[s] > 0:
            continue
        if pos[s] == 'GK':
            g = bench[0]
            if minutes[g] > 0:
                xi[i] = g
                used.add(g)
            continue
        for b in bench[1:]:
            if b in used or minutes[b] == 0:
                continue
            trial = xi[:i] + [b] + xi[i + 1:]
            if valid(trial):
                xi[i] = b
                used.add(b)
                break
    return xi
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 30,
     'b2': 90,
     'def0': 1,
     'def1': 0,
     'def2': 0,
     'fwd0': 30,
     'fwd1': 90,
     'fwd2': 90,
     'gk1': 90,
     'gk2': 90,
     'mid0': 90,
     'mid1': 90,
     'mid2': 30,
     'mid3': 0},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'b1', 'def2', 'mid0', 'mid1', 'mid2', 'b0', 'fwd0', 'fwd1', 'fwd2']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 90,
     'b2': 0,
     'def0': 30,
     'def1': 1,
     'def2': 0,
     'def3': 30,
     'def4': 0,
     'fwd0': 30,
     'fwd1': 0,
     'gk1': 30,
     'gk2': 0,
     'mid0': 30,
     'mid1': 30,
     'mid2': 30},
    {'b0': 'FWD',
     'b1': 'MID',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 1,
     'def0': 0,
     'def1': 90,
     'def2': 0,
     'def3': 30,
     'def4': 90,
     'fwd0': 0,
     'fwd1': 1,
     'gk1': 30,
     'gk2': 30,
     'mid0': 90,
     'mid1': 30,
     'mid2': 1},
    {'b0': 'DEF',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'b0', 'def1', 'b2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 30,
     'def0': 30,
     'def1': 90,
     'def2': 30,
     'def3': 30,
     'fwd0': 1,
     'gk1': 1,
     'gk2': 0,
     'mid0': 0,
     'mid1': 30,
     'mid2': 0,
     'mid3': 30,
     'mid4': 0},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 90,
     'def0': 0,
     'def1': 1,
     'def2': 90,
     'fwd0': 30,
     'fwd1': 90,
     'gk1': 1,
     'gk2': 1,
     'mid0': 30,
     'mid1': 90,
     'mid2': 0,
     'mid3': 90,
     'mid4': 90},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'b2', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'mid3', 'mid4', 'fwd0', 'fwd1']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 90,
     'b2': 90,
     'def0': 1,
     'def1': 0,
     'def2': 0,
     'fwd0': 30,
     'fwd1': 30,
     'fwd2': 1,
     'gk1': 0,
     'gk2': 0,
     'mid0': 1,
     'mid1': 90,
     'mid2': 30,
     'mid3': 90},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 90,
     'b2': 30,
     'def0': 90,
     'def1': 90,
     'def2': 90,
     'def3': 30,
     'def4': 1,
     'fwd0': 1,
     'fwd1': 90,
     'gk1': 0,
     'gk2': 0,
     'mid0': 1,
     'mid1': 30,
     'mid2': 1},
    {'b0': 'FWD',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'])],
 [('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 90,
     'b2': 1,
     'def0': 90,
     'def1': 0,
     'def2': 90,
     'def3': 1,
     'fwd0': 30,
     'gk1': 1,
     'gk2': 30,
     'mid0': 30,
     'mid1': 1,
     'mid2': 1,
     'mid3': 90,
     'mid4': 0},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'b0', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'b1', 'fwd0']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 90,
     'b2': 1,
     'def0': 30,
     'def1': 1,
     'def2': 0,
     'fwd0': 1,
     'fwd1': 90,
     'fwd2': 1,
     'gk1': 1,
     'gk2': 1,
     'mid0': 0,
     'mid1': 30,
     'mid2': 30,
     'mid3': 90},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'b2', 'b0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 1,
     'b2': 30,
     'def0': 30,
     'def1': 90,
     'def2': 30,
     'def3': 90,
     'def4': 90,
     'fwd0': 0,
     'fwd1': 90,
     'gk1': 30,
     'gk2': 1,
     'mid0': 0,
     'mid1': 0,
     'mid2': 0},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'b0', 'b2', 'mid2', 'b1', 'fwd1']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 0,
     'def0': 30,
     'def1': 1,
     'def2': 1,
     'fwd0': 30,
     'fwd1': 1,
     'fwd2': 0,
     'gk1': 0,
     'gk2': 1,
     'mid0': 0,
     'mid1': 30,
     'mid2': 90,
     'mid3': 1},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk2', 'def0', 'def1', 'def2', 'b0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 0,
     'b2': 0,
     'def0': 90,
     'def1': 90,
     'def2': 0,
     'def3': 1,
     'def4': 90,
     'fwd0': 1,
     'fwd1': 0,
     'gk1': 0,
     'gk2': 90,
     'mid0': 30,
     'mid1': 30,
     'mid2': 0},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk2', 'def0', 'def1', 'b0', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 30,
     'b2': 0,
     'def0': 0,
     'def1': 0,
     'def2': 30,
     'def3': 0,
     'fwd0': 0,
     'fwd1': 1,
     'gk1': 90,
     'gk2': 30,
     'mid0': 90,
     'mid1': 1,
     'mid2': 1,
     'mid3': 1},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'b1', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 0,
     'b2': 0,
     'def0': 0,
     'def1': 90,
     'def2': 90,
     'fwd0': 1,
     'fwd1': 0,
     'gk1': 90,
     'gk2': 0,
     'mid0': 90,
     'mid1': 0,
     'mid2': 30,
     'mid3': 1,
     'mid4': 1},
    {'b0': 'FWD',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'b0', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'])],
 [('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 90,
     'def0': 30,
     'def1': 30,
     'def2': 30,
     'fwd0': 30,
     'fwd1': 0,
     'gk1': 30,
     'gk2': 90,
     'mid0': 1,
     'mid1': 90,
     'mid2': 0,
     'mid3': 0,
     'mid4': 90},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'b2', 'mid4', 'fwd0', 'fwd1']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 1,
     'b2': 0,
     'def0': 30,
     'def1': 90,
     'def2': 90,
     'def3': 0,
     'fwd0': 90,
     'gk1': 30,
     'gk2': 30,
     'mid0': 90,
     'mid1': 90,
     'mid2': 30,
     'mid3': 0,
     'mid4': 1},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b0', 'mid0', 'mid1', 'mid2', 'b1', 'mid4', 'fwd0']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 1,
     'b2': 90,
     'def0': 30,
     'def1': 1,
     'def2': 1,
     'def3': 30,
     'fwd0': 30,
     'gk1': 1,
     'gk2': 1,
     'mid0': 90,
     'mid1': 0,
     'mid2': 0,
     'mid3': 90,
     'mid4': 90},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'b0', 'b1', 'mid3', 'mid4', 'fwd0']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 0,
     'b2': 90,
     'def0': 0,
     'def1': 1,
     'def2': 0,
     'fwd0': 1,
     'fwd1': 0,
     'gk1': 30,
     'gk2': 90,
     'mid0': 90,
     'mid1': 30,
     'mid2': 1,
     'mid3': 90,
     'mid4': 1},
    {'b0': 'DEF',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'b0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'b2']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 90,
     'b2': 0,
     'def0': 90,
     'def1': 0,
     'def2': 0,
     'def3': 0,
     'fwd0': 0,
     'gk1': 90,
     'gk2': 0,
     'mid0': 0,
     'mid1': 30,
     'mid2': 1,
     'mid3': 1,
     'mid4': 1},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'b1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 1,
     'b2': 0,
     'def0': 30,
     'def1': 0,
     'def2': 30,
     'def3': 0,
     'fwd0': 1,
     'gk1': 1,
     'gk2': 30,
     'mid0': 0,
     'mid1': 90,
     'mid2': 1,
     'mid3': 30,
     'mid4': 30},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'b1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 30,
     'def0': 0,
     'def1': 1,
     'def2': 1,
     'fwd0': 1,
     'fwd1': 0,
     'fwd2': 90,
     'gk1': 1,
     'gk2': 90,
     'mid0': 30,
     'mid1': 1,
     'mid2': 0,
     'mid3': 90},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'b2', 'mid3', 'fwd0', 'fwd1', 'fwd2'])],
 [('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 30,
     'b2': 90,
     'def0': 90,
     'def1': 1,
     'def2': 1,
     'def3': 90,
     'def4': 90,
     'fwd0': 0,
     'fwd1': 30,
     'gk1': 1,
     'gk2': 30,
     'mid0': 90,
     'mid1': 1,
     'mid2': 90},
    {'b0': 'FWD',
     'b1': 'MID',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'b0', 'fwd1']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 0,
     'b2': 1,
     'def0': 30,
     'def1': 30,
     'def2': 30,
     'fwd0': 30,
     'fwd1': 90,
     'fwd2': 90,
     'gk1': 1,
     'gk2': 1,
     'mid0': 30,
     'mid1': 30,
     'mid2': 1,
     'mid3': 0},
    {'b0': 'FWD',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'b0', 'fwd0', 'fwd1', 'fwd2']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 90,
     'b2': 30,
     'def0': 90,
     'def1': 90,
     'def2': 90,
     'fwd0': 0,
     'fwd1': 0,
     'fwd2': 30,
     'gk1': 1,
     'gk2': 90,
     'mid0': 0,
     'mid1': 1,
     'mid2': 90,
     'mid3': 30},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b1', 'mid1', 'mid2', 'mid3', 'b2', 'fwd1', 'fwd2']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 0,
     'b2': 0,
     'def0': 0,
     'def1': 1,
     'def2': 0,
     'fwd0': 30,
     'fwd1': 30,
     'fwd2': 0,
     'gk1': 1,
     'gk2': 90,
     'mid0': 0,
     'mid1': 30,
     'mid2': 30,
     'mid3': 30},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 1,
     'b2': 30,
     'def0': 90,
     'def1': 0,
     'def2': 1,
     'fwd0': 30,
     'fwd1': 0,
     'gk1': 30,
     'gk2': 90,
     'mid0': 1,
     'mid1': 0,
     'mid2': 30,
     'mid3': 30,
     'mid4': 30},
    {'b0': 'FWD',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'b1', 'def2', 'mid0', 'b2', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 0,
     'def0': 30,
     'def1': 30,
     'def2': 0,
     'fwd0': 30,
     'fwd1': 0,
     'gk1': 0,
     'gk2': 30,
     'mid0': 90,
     'mid1': 30,
     'mid2': 30,
     'mid3': 90,
     'mid4': 1},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk2', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 0,
     'b2': 0,
     'def0': 90,
     'def1': 30,
     'def2': 90,
     'def3': 90,
     'fwd0': 1,
     'gk1': 90,
     'gk2': 1,
     'mid0': 30,
     'mid1': 90,
     'mid2': 1,
     'mid3': 30,
     'mid4': 90},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0'])],
 [('regression: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 30,
     'b2': 30,
     'def0': 90,
     'def1': 30,
     'def2': 1,
     'def3': 1,
     'fwd0': 1,
     'fwd1': 1,
     'gk1': 1,
     'gk2': 0,
     'mid0': 0,
     'mid1': 1,
     'mid2': 0,
     'mid3': 30},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'def3', 'b0', 'mid1', 'b1', 'mid3', 'fwd0', 'fwd1']),
  ('partial repair probe: bench priority order',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 30,
     'b1': 1,
     'b2': 1,
     'def0': 30,
     'def1': 30,
     'def2': 90,
     'fwd0': 30,
     'fwd1': 90,
     'fwd2': 0,
     'gk1': 1,
     'gk2': 30,
     'mid0': 0,
     'mid1': 0,
     'mid2': 1,
     'mid3': 0},
    {'b0': 'MID',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'fwd2': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b0', 'b1', 'mid2', 'b2', 'fwd0', 'fwd1', 'fwd2']),
  ('second regression',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 1,
     'b1': 1,
     'b2': 30,
     'def0': 90,
     'def1': 90,
     'def2': 0,
     'def3': 90,
     'def4': 0,
     'fwd0': 0,
     'fwd1': 1,
     'gk1': 1,
     'gk2': 30,
     'mid0': 1,
     'mid1': 30,
     'mid2': 0},
    {'b0': 'DEF',
     'b1': 'FWD',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'def4': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID'}],
   ['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'b2', 'fwd0', 'fwd1']),
  ('normal control 1',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 90,
     'b1': 0,
     'b2': 0,
     'def0': 0,
     'def1': 0,
     'def2': 30,
     'fwd0': 90,
     'fwd1': 30,
     'gk1': 90,
     'gk2': 0,
     'mid0': 0,
     'mid1': 1,
     'mid2': 90,
     'mid3': 0,
     'mid4': 90},
    {'b0': 'MID',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk1', 'def0', 'def1', 'def2', 'b0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1']),
  ('normal control 2',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 0,
     'def0': 1,
     'def1': 30,
     'def2': 30,
     'def3': 90,
     'fwd0': 0,
     'fwd1': 30,
     'gk1': 0,
     'gk2': 30,
     'mid0': 1,
     'mid1': 30,
     'mid2': 30,
     'mid3': 0},
    {'b0': 'FWD',
     'b1': 'DEF',
     'b2': 'FWD',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk2', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1']),
  ('normal control 3',
   [['gk1', 'def0', 'def1', 'def2', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 30,
     'b2': 0,
     'def0': 30,
     'def1': 1,
     'def2': 0,
     'def3': 90,
     'fwd0': 0,
     'fwd1': 1,
     'gk1': 0,
     'gk2': 90,
     'mid0': 30,
     'mid1': 90,
     'mid2': 1,
     'mid3': 0},
    {'b0': 'DEF',
     'b1': 'DEF',
     'b2': 'DEF',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'def3': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID'}],
   ['gk2', 'def0', 'def1', 'b1', 'def3', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1']),
  ('normal control 4',
   [['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'],
    ['gk2', 'b0', 'b1', 'b2'],
    {'b0': 0,
     'b1': 0,
     'b2': 30,
     'def0': 0,
     'def1': 1,
     'def2': 1,
     'fwd0': 30,
     'fwd1': 30,
     'gk1': 0,
     'gk2': 30,
     'mid0': 0,
     'mid1': 30,
     'mid2': 30,
     'mid3': 0,
     'mid4': 0},
    {'b0': 'MID',
     'b1': 'MID',
     'b2': 'MID',
     'def0': 'DEF',
     'def1': 'DEF',
     'def2': 'DEF',
     'fwd0': 'FWD',
     'fwd1': 'FWD',
     'gk1': 'GK',
     'gk2': 'GK',
     'mid0': 'MID',
     'mid1': 'MID',
     'mid2': 'MID',
     'mid3': 'MID',
     'mid4': 'MID'}],
   ['gk2', 'def0', 'def1', 'def2', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0', 'fwd1'])]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression: bench priority order['gk1', 'def0', 'b1', 'def2', 'mid0', 'mid1', 'mid2', 'b0', 'fwd0', 'fwd1', 'fwd2']['gk1', 'def0', 'b1', 'def2', 'mid0', 'mid1', 'mid2', 'b0', 'fwd0', 'fwd1', 'fwd2']Passed
partial repair probe: bench priority order['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']['gk1', 'def0', 'def1', 'b0', 'def3', 'b1', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']Passed
second regression['gk1', 'b0', 'def1', 'b2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']['gk1', 'b0', 'def1', 'b2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']Passed
normal control 1['gk1', 'def0', 'def1', 'def2', 'def3', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']['gk1', 'def0', 'def1', 'def2', 'def3', 'b2', 'mid1', 'mid2', 'mid3', 'mid4', 'fwd0']Passed
normal control 2['gk1', 'b2', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'mid3', 'mid4', 'fwd0', 'fwd1']['gk1', 'b2', 'def1', 'def2', 'mid0', 'mid1', 'b0', 'mid3', 'mid4', 'fwd0', 'fwd1']Passed
normal control 3['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']['gk1', 'def0', 'def1', 'def2', 'mid0', 'mid1', 'mid2', 'mid3', 'fwd0', 'fwd1', 'fwd2']Passed
normal control 4['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']['gk1', 'def0', 'def1', 'def2', 'def3', 'def4', 'mid0', 'mid1', 'mid2', 'fwd0', 'fwd1']Passed

SHA-256 / a56c1b28ec8368089d7945db204e6207ec296b9b00165f1b352b37b4674a6bcd

Verification & scope

A deterministic toy scoring contract stipulated for this example; it is not the rulebook of any real fantasy platform. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.

Observations recorded using Python 3.12.14 at 2026-09-29T14:50:38.595440+00:00.

Case digest / d7e33d134abad225f7f26b317fe78af1177ab264566e7bbab47c191c82b894c9