broken_source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(p):
    p = dict(p)
    channel_offsets = [sum(p["widths"][:i]) for i in range(4)]
    pixel_pitch = sum(p["widths"])+2
    physical_channel = p["remap"][p["channel"]]
    row_pitch = p["w"]*pixel_pitch+3
    pixel_origin = p["base"]+p["y"]*row_pitch+p["x"]*pixel_pitch
    channel_start = pixel_origin+channel_offsets[physical_channel]
    channel_size = p["widths"][p["channel"]]
    channel_end = channel_start+channel_size
    footer_start = pixel_origin+sum(p["widths"])
    other_channel_ranges = [[pixel_origin+channel_offsets[i],pixel_origin+channel_offsets[i]+p["widths"][i]] for i in range(4) if i!=physical_channel]
    return {'channel_offsets': channel_offsets, 'pixel_pitch': pixel_pitch, 'physical_channel': physical_channel, 'row_pitch': row_pitch, 'pixel_origin': pixel_origin, 'channel_start': channel_start, 'channel_size': channel_size, 'channel_end': channel_end, 'footer_start': footer_start, 'other_channel_ranges': other_channel_ranges}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 11, 'channel_start': 14, 'channel_size': 1, 'channel_end': 15, 'footer_start': 19, 'other_channel_ranges': [[11, 12], [12, 14], [15, 19]]}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 63, 'pixel_origin': 147, 'channel_start': 147, 'channel_size': 1, 'channel_end': 148, 'footer_start': 155, 'other_channel_ranges': [[148, 150], [150, 151], [151, 155]]}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 103, 'pixel_origin': 709, 'channel_start': 713, 'channel_size': 4, 'channel_end': 717, 'footer_start': 717, 'other_channel_ranges': [[709, 710], [710, 712], [712, 713]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1302, 'channel_start': 1303, 'channel_size': 2, 'channel_end': 1305, 'footer_start': 1310, 'other_channel_ranges': [[1302, 1303], [1305, 1306], [1306, 1310]]}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 183, 'pixel_origin': 1635, 'channel_start': 1638, 'channel_size': 1, 'channel_end': 1639, 'footer_start': 1643, 'other_channel_ranges': [[1635, 1636], [1636, 1638], [1639, 1643]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 917, 'channel_start': 917, 'channel_size': 1, 'channel_end': 918, 'footer_start': 925, 'other_channel_ranges': [[918, 920], [920, 921], [921, 925]]})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 22, 'channel_start': 25, 'channel_size': 1, 'channel_end': 26, 'footer_start': 30, 'other_channel_ranges': [[22, 23], [23, 25], [26, 30]]}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 178, 'channel_start': 178, 'channel_size': 1, 'channel_end': 179, 'footer_start': 186, 'other_channel_ranges': [[179, 181], [181, 182], [182, 186]]}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 113, 'pixel_origin': 780, 'channel_start': 784, 'channel_size': 4, 'channel_end': 788, 'footer_start': 788, 'other_channel_ranges': [[780, 781], [781, 783], [783, 784]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1313, 'channel_start': 1314, 'channel_size': 2, 'channel_end': 1316, 'footer_start': 1321, 'other_channel_ranges': [[1313, 1314], [1316, 1317], [1317, 1321]]}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 193, 'pixel_origin': 1726, 'channel_start': 1729, 'channel_size': 1, 'channel_end': 1730, 'footer_start': 1734, 'other_channel_ranges': [[1726, 1727], [1727, 1729], [1730, 1734]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 928, 'channel_start': 928, 'channel_size': 1, 'channel_end': 929, 'footer_start': 936, 'other_channel_ranges': [[929, 931], [931, 932], [932, 936]]})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 33, 'channel_start': 36, 'channel_size': 1, 'channel_end': 37, 'footer_start': 41, 'other_channel_ranges': [[33, 34], [34, 36], [37, 41]]}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 83, 'pixel_origin': 209, 'channel_start': 209, 'channel_size': 1, 'channel_end': 210, 'footer_start': 217, 'other_channel_ranges': [[210, 212], [212, 213], [213, 217]]}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 123, 'pixel_origin': 851, 'channel_start': 855, 'channel_size': 4, 'channel_end': 859, 'footer_start': 859, 'other_channel_ranges': [[851, 852], [852, 854], [854, 855]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1324, 'channel_start': 1325, 'channel_size': 2, 'channel_end': 1327, 'footer_start': 1332, 'other_channel_ranges': [[1324, 1325], [1327, 1328], [1328, 1332]]}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 203, 'pixel_origin': 1817, 'channel_start': 1820, 'channel_size': 1, 'channel_end': 1821, 'footer_start': 1825, 'other_channel_ranges': [[1817, 1818], [1818, 1820], [1821, 1825]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 939, 'channel_start': 939, 'channel_size': 1, 'channel_end': 940, 'footer_start': 947, 'other_channel_ranges': [[940, 942], [942, 943], [943, 947]]})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 44, 'channel_start': 47, 'channel_size': 1, 'channel_end': 48, 'footer_start': 52, 'other_channel_ranges': [[44, 45], [45, 47], [48, 52]]}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 93, 'pixel_origin': 240, 'channel_start': 240, 'channel_size': 1, 'channel_end': 241, 'footer_start': 248, 'other_channel_ranges': [[241, 243], [243, 244], [244, 248]]}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 133, 'pixel_origin': 922, 'channel_start': 926, 'channel_size': 4, 'channel_end': 930, 'footer_start': 930, 'other_channel_ranges': [[922, 923], [923, 925], [925, 926]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1335, 'channel_start': 1336, 'channel_size': 2, 'channel_end': 1338, 'footer_start': 1343, 'other_channel_ranges': [[1335, 1336], [1338, 1339], [1339, 1343]]}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 213, 'pixel_origin': 1908, 'channel_start': 1911, 'channel_size': 1, 'channel_end': 1912, 'footer_start': 1916, 'other_channel_ranges': [[1908, 1909], [1909, 1911], [1912, 1916]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 950, 'channel_start': 950, 'channel_size': 1, 'channel_end': 951, 'footer_start': 958, 'other_channel_ranges': [[951, 953], [953, 954], [954, 958]]})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 55, 'channel_start': 58, 'channel_size': 1, 'channel_end': 59, 'footer_start': 63, 'other_channel_ranges': [[55, 56], [56, 58], [59, 63]]}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 103, 'pixel_origin': 271, 'channel_start': 271, 'channel_size': 1, 'channel_end': 272, 'footer_start': 279, 'other_channel_ranges': [[272, 274], [274, 275], [275, 279]]}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 143, 'pixel_origin': 993, 'channel_start': 997, 'channel_size': 4, 'channel_end': 1001, 'footer_start': 1001, 'other_channel_ranges': [[993, 994], [994, 996], [996, 997]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1346, 'channel_start': 1347, 'channel_size': 2, 'channel_end': 1349, 'footer_start': 1354, 'other_channel_ranges': [[1346, 1347], [1349, 1350], [1350, 1354]]}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 223, 'pixel_origin': 1999, 'channel_start': 2002, 'channel_size': 1, 'channel_end': 2003, 'footer_start': 2007, 'other_channel_ranges': [[1999, 2000], [2000, 2002], [2003, 2007]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 961, 'channel_start': 961, 'channel_size': 1, 'channel_end': 962, 'footer_start': 969, 'other_channel_ranges': [[962, 964], [964, 965], [965, 969]]})]}
for i, (p, expected) in enumerate(cases[N]):
    check("layout fixture " + str(i + 1), solve(p), 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)

source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(p):
    p = dict(p)
    channel_offsets = [sum(p["widths"][:i]) for i in range(4)]
    pixel_pitch = sum(p["widths"])+2
    physical_channel = p["remap"][p["channel"]]
    row_pitch = p["w"]*pixel_pitch+3
    pixel_origin = p["base"]+p["y"]*row_pitch+p["x"]*pixel_pitch
    channel_start = pixel_origin+channel_offsets[physical_channel]
    channel_size = max(p["widths"])
    channel_end = channel_start+channel_size
    footer_start = pixel_origin+sum(p["widths"])
    other_channel_ranges = [[pixel_origin+channel_offsets[i],pixel_origin+channel_offsets[i]+p["widths"][i]] for i in range(4) if i!=physical_channel]
    return {'channel_offsets': channel_offsets, 'pixel_pitch': pixel_pitch, 'physical_channel': physical_channel, 'row_pitch': row_pitch, 'pixel_origin': pixel_origin, 'channel_start': channel_start, 'channel_size': channel_size, 'channel_end': channel_end, 'footer_start': footer_start, 'other_channel_ranges': other_channel_ranges}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 11, 'channel_start': 14, 'channel_size': 1, 'channel_end': 15, 'footer_start': 19, 'other_channel_ranges': [[11, 12], [12, 14], [15, 19]]}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 63, 'pixel_origin': 147, 'channel_start': 147, 'channel_size': 1, 'channel_end': 148, 'footer_start': 155, 'other_channel_ranges': [[148, 150], [150, 151], [151, 155]]}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 103, 'pixel_origin': 709, 'channel_start': 713, 'channel_size': 4, 'channel_end': 717, 'footer_start': 717, 'other_channel_ranges': [[709, 710], [710, 712], [712, 713]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1302, 'channel_start': 1303, 'channel_size': 2, 'channel_end': 1305, 'footer_start': 1310, 'other_channel_ranges': [[1302, 1303], [1305, 1306], [1306, 1310]]}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 183, 'pixel_origin': 1635, 'channel_start': 1638, 'channel_size': 1, 'channel_end': 1639, 'footer_start': 1643, 'other_channel_ranges': [[1635, 1636], [1636, 1638], [1639, 1643]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 917, 'channel_start': 917, 'channel_size': 1, 'channel_end': 918, 'footer_start': 925, 'other_channel_ranges': [[918, 920], [920, 921], [921, 925]]})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 22, 'channel_start': 25, 'channel_size': 1, 'channel_end': 26, 'footer_start': 30, 'other_channel_ranges': [[22, 23], [23, 25], [26, 30]]}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 178, 'channel_start': 178, 'channel_size': 1, 'channel_end': 179, 'footer_start': 186, 'other_channel_ranges': [[179, 181], [181, 182], [182, 186]]}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 113, 'pixel_origin': 780, 'channel_start': 784, 'channel_size': 4, 'channel_end': 788, 'footer_start': 788, 'other_channel_ranges': [[780, 781], [781, 783], [783, 784]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1313, 'channel_start': 1314, 'channel_size': 2, 'channel_end': 1316, 'footer_start': 1321, 'other_channel_ranges': [[1313, 1314], [1316, 1317], [1317, 1321]]}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 193, 'pixel_origin': 1726, 'channel_start': 1729, 'channel_size': 1, 'channel_end': 1730, 'footer_start': 1734, 'other_channel_ranges': [[1726, 1727], [1727, 1729], [1730, 1734]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 928, 'channel_start': 928, 'channel_size': 1, 'channel_end': 929, 'footer_start': 936, 'other_channel_ranges': [[929, 931], [931, 932], [932, 936]]})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 33, 'channel_start': 36, 'channel_size': 1, 'channel_end': 37, 'footer_start': 41, 'other_channel_ranges': [[33, 34], [34, 36], [37, 41]]}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 83, 'pixel_origin': 209, 'channel_start': 209, 'channel_size': 1, 'channel_end': 210, 'footer_start': 217, 'other_channel_ranges': [[210, 212], [212, 213], [213, 217]]}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 123, 'pixel_origin': 851, 'channel_start': 855, 'channel_size': 4, 'channel_end': 859, 'footer_start': 859, 'other_channel_ranges': [[851, 852], [852, 854], [854, 855]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1324, 'channel_start': 1325, 'channel_size': 2, 'channel_end': 1327, 'footer_start': 1332, 'other_channel_ranges': [[1324, 1325], [1327, 1328], [1328, 1332]]}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 203, 'pixel_origin': 1817, 'channel_start': 1820, 'channel_size': 1, 'channel_end': 1821, 'footer_start': 1825, 'other_channel_ranges': [[1817, 1818], [1818, 1820], [1821, 1825]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 939, 'channel_start': 939, 'channel_size': 1, 'channel_end': 940, 'footer_start': 947, 'other_channel_ranges': [[940, 942], [942, 943], [943, 947]]})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 44, 'channel_start': 47, 'channel_size': 1, 'channel_end': 48, 'footer_start': 52, 'other_channel_ranges': [[44, 45], [45, 47], [48, 52]]}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 93, 'pixel_origin': 240, 'channel_start': 240, 'channel_size': 1, 'channel_end': 241, 'footer_start': 248, 'other_channel_ranges': [[241, 243], [243, 244], [244, 248]]}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 133, 'pixel_origin': 922, 'channel_start': 926, 'channel_size': 4, 'channel_end': 930, 'footer_start': 930, 'other_channel_ranges': [[922, 923], [923, 925], [925, 926]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1335, 'channel_start': 1336, 'channel_size': 2, 'channel_end': 1338, 'footer_start': 1343, 'other_channel_ranges': [[1335, 1336], [1338, 1339], [1339, 1343]]}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 213, 'pixel_origin': 1908, 'channel_start': 1911, 'channel_size': 1, 'channel_end': 1912, 'footer_start': 1916, 'other_channel_ranges': [[1908, 1909], [1909, 1911], [1912, 1916]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 950, 'channel_start': 950, 'channel_size': 1, 'channel_end': 951, 'footer_start': 958, 'other_channel_ranges': [[951, 953], [953, 954], [954, 958]]})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 55, 'channel_start': 58, 'channel_size': 1, 'channel_end': 59, 'footer_start': 63, 'other_channel_ranges': [[55, 56], [56, 58], [59, 63]]}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 103, 'pixel_origin': 271, 'channel_start': 271, 'channel_size': 1, 'channel_end': 272, 'footer_start': 279, 'other_channel_ranges': [[272, 274], [274, 275], [275, 279]]}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 143, 'pixel_origin': 993, 'channel_start': 997, 'channel_size': 4, 'channel_end': 1001, 'footer_start': 1001, 'other_channel_ranges': [[993, 994], [994, 996], [996, 997]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1346, 'channel_start': 1347, 'channel_size': 2, 'channel_end': 1349, 'footer_start': 1354, 'other_channel_ranges': [[1346, 1347], [1349, 1350], [1350, 1354]]}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 223, 'pixel_origin': 1999, 'channel_start': 2002, 'channel_size': 1, 'channel_end': 2003, 'footer_start': 2007, 'other_channel_ranges': [[1999, 2000], [2000, 2002], [2003, 2007]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 961, 'channel_start': 961, 'channel_size': 1, 'channel_end': 962, 'footer_start': 969, 'other_channel_ranges': [[962, 964], [964, 965], [965, 969]]})]}
for i, (p, expected) in enumerate(cases[N]):
    check("layout fixture " + str(i + 1), solve(p), 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)

prompt:
The returned physical layout descriptor disagrees with the declared buffer mapping at channel_size.

A toy pixel record stores channels with widths [1,2,1,4] bytes and a two-byte per-pixel footer. A view remaps logical channel indices through [2,0,3,1], and image rows have a three-byte guard. Return byte ranges without numeric interpretation. Return the named intermediate layout descriptor and final address fields; all quantities are integer byte offsets unless explicitly stated.

split: open-access


broken_source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(p):
    p = dict(p)
    channel_offsets = [sum(p["widths"][:i]) for i in range(4)]
    pixel_pitch = sum(p["widths"])+2
    physical_channel = p["remap"][p["channel"]]
    row_pitch = p["w"]*pixel_pitch+3
    pixel_origin = p["base"]+p["y"]*row_pitch+p["x"]*pixel_pitch
    channel_start = pixel_origin+channel_offsets[physical_channel]
    channel_size = p["widths"][physical_channel]
    channel_end = channel_start+pixel_pitch
    footer_start = pixel_origin+sum(p["widths"])
    other_channel_ranges = [[pixel_origin+channel_offsets[i],pixel_origin+channel_offsets[i]+p["widths"][i]] for i in range(4) if i!=physical_channel]
    return {'channel_offsets': channel_offsets, 'pixel_pitch': pixel_pitch, 'physical_channel': physical_channel, 'row_pitch': row_pitch, 'pixel_origin': pixel_origin, 'channel_start': channel_start, 'channel_size': channel_size, 'channel_end': channel_end, 'footer_start': footer_start, 'other_channel_ranges': other_channel_ranges}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 11, 'channel_start': 14, 'channel_size': 1, 'channel_end': 15, 'footer_start': 19, 'other_channel_ranges': [[11, 12], [12, 14], [15, 19]]}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 63, 'pixel_origin': 147, 'channel_start': 147, 'channel_size': 1, 'channel_end': 148, 'footer_start': 155, 'other_channel_ranges': [[148, 150], [150, 151], [151, 155]]}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 103, 'pixel_origin': 709, 'channel_start': 713, 'channel_size': 4, 'channel_end': 717, 'footer_start': 717, 'other_channel_ranges': [[709, 710], [710, 712], [712, 713]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1302, 'channel_start': 1303, 'channel_size': 2, 'channel_end': 1305, 'footer_start': 1310, 'other_channel_ranges': [[1302, 1303], [1305, 1306], [1306, 1310]]}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 183, 'pixel_origin': 1635, 'channel_start': 1638, 'channel_size': 1, 'channel_end': 1639, 'footer_start': 1643, 'other_channel_ranges': [[1635, 1636], [1636, 1638], [1639, 1643]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 917, 'channel_start': 917, 'channel_size': 1, 'channel_end': 918, 'footer_start': 925, 'other_channel_ranges': [[918, 920], [920, 921], [921, 925]]})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 22, 'channel_start': 25, 'channel_size': 1, 'channel_end': 26, 'footer_start': 30, 'other_channel_ranges': [[22, 23], [23, 25], [26, 30]]}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 178, 'channel_start': 178, 'channel_size': 1, 'channel_end': 179, 'footer_start': 186, 'other_channel_ranges': [[179, 181], [181, 182], [182, 186]]}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 113, 'pixel_origin': 780, 'channel_start': 784, 'channel_size': 4, 'channel_end': 788, 'footer_start': 788, 'other_channel_ranges': [[780, 781], [781, 783], [783, 784]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1313, 'channel_start': 1314, 'channel_size': 2, 'channel_end': 1316, 'footer_start': 1321, 'other_channel_ranges': [[1313, 1314], [1316, 1317], [1317, 1321]]}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 193, 'pixel_origin': 1726, 'channel_start': 1729, 'channel_size': 1, 'channel_end': 1730, 'footer_start': 1734, 'other_channel_ranges': [[1726, 1727], [1727, 1729], [1730, 1734]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 928, 'channel_start': 928, 'channel_size': 1, 'channel_end': 929, 'footer_start': 936, 'other_channel_ranges': [[929, 931], [931, 932], [932, 936]]})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 33, 'channel_start': 36, 'channel_size': 1, 'channel_end': 37, 'footer_start': 41, 'other_channel_ranges': [[33, 34], [34, 36], [37, 41]]}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 83, 'pixel_origin': 209, 'channel_start': 209, 'channel_size': 1, 'channel_end': 210, 'footer_start': 217, 'other_channel_ranges': [[210, 212], [212, 213], [213, 217]]}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 123, 'pixel_origin': 851, 'channel_start': 855, 'channel_size': 4, 'channel_end': 859, 'footer_start': 859, 'other_channel_ranges': [[851, 852], [852, 854], [854, 855]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1324, 'channel_start': 1325, 'channel_size': 2, 'channel_end': 1327, 'footer_start': 1332, 'other_channel_ranges': [[1324, 1325], [1327, 1328], [1328, 1332]]}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 203, 'pixel_origin': 1817, 'channel_start': 1820, 'channel_size': 1, 'channel_end': 1821, 'footer_start': 1825, 'other_channel_ranges': [[1817, 1818], [1818, 1820], [1821, 1825]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 939, 'channel_start': 939, 'channel_size': 1, 'channel_end': 940, 'footer_start': 947, 'other_channel_ranges': [[940, 942], [942, 943], [943, 947]]})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 44, 'channel_start': 47, 'channel_size': 1, 'channel_end': 48, 'footer_start': 52, 'other_channel_ranges': [[44, 45], [45, 47], [48, 52]]}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 93, 'pixel_origin': 240, 'channel_start': 240, 'channel_size': 1, 'channel_end': 241, 'footer_start': 248, 'other_channel_ranges': [[241, 243], [243, 244], [244, 248]]}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 133, 'pixel_origin': 922, 'channel_start': 926, 'channel_size': 4, 'channel_end': 930, 'footer_start': 930, 'other_channel_ranges': [[922, 923], [923, 925], [925, 926]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1335, 'channel_start': 1336, 'channel_size': 2, 'channel_end': 1338, 'footer_start': 1343, 'other_channel_ranges': [[1335, 1336], [1338, 1339], [1339, 1343]]}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 213, 'pixel_origin': 1908, 'channel_start': 1911, 'channel_size': 1, 'channel_end': 1912, 'footer_start': 1916, 'other_channel_ranges': [[1908, 1909], [1909, 1911], [1912, 1916]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 950, 'channel_start': 950, 'channel_size': 1, 'channel_end': 951, 'footer_start': 958, 'other_channel_ranges': [[951, 953], [953, 954], [954, 958]]})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 55, 'channel_start': 58, 'channel_size': 1, 'channel_end': 59, 'footer_start': 63, 'other_channel_ranges': [[55, 56], [56, 58], [59, 63]]}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 103, 'pixel_origin': 271, 'channel_start': 271, 'channel_size': 1, 'channel_end': 272, 'footer_start': 279, 'other_channel_ranges': [[272, 274], [274, 275], [275, 279]]}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 143, 'pixel_origin': 993, 'channel_start': 997, 'channel_size': 4, 'channel_end': 1001, 'footer_start': 1001, 'other_channel_ranges': [[993, 994], [994, 996], [996, 997]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1346, 'channel_start': 1347, 'channel_size': 2, 'channel_end': 1349, 'footer_start': 1354, 'other_channel_ranges': [[1346, 1347], [1349, 1350], [1350, 1354]]}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 223, 'pixel_origin': 1999, 'channel_start': 2002, 'channel_size': 1, 'channel_end': 2003, 'footer_start': 2007, 'other_channel_ranges': [[1999, 2000], [2000, 2002], [2003, 2007]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 961, 'channel_start': 961, 'channel_size': 1, 'channel_end': 962, 'footer_start': 969, 'other_channel_ranges': [[962, 964], [964, 965], [965, 969]]})]}
for i, (p, expected) in enumerate(cases[N]):
    check("layout fixture " + str(i + 1), solve(p), 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)

meaning: Fixture-count band, not measured model difficulty

deps: stdlib

source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(p):
    p = dict(p)
    channel_offsets = [sum(p["widths"][:i]) for i in range(4)]
    pixel_pitch = sum(p["widths"])+2
    physical_channel = p["remap"][p["channel"]]
    row_pitch = p["w"]*pixel_pitch+3
    pixel_origin = p["base"]+p["y"]*row_pitch+p["x"]*pixel_pitch
    channel_start = pixel_origin+channel_offsets[physical_channel]
    channel_size = p["widths"][physical_channel]
    channel_end = channel_start+channel_size-1
    footer_start = pixel_origin+sum(p["widths"])
    other_channel_ranges = [[pixel_origin+channel_offsets[i],pixel_origin+channel_offsets[i]+p["widths"][i]] for i in range(4) if i!=physical_channel]
    return {'channel_offsets': channel_offsets, 'pixel_pitch': pixel_pitch, 'physical_channel': physical_channel, 'row_pitch': row_pitch, 'pixel_origin': pixel_origin, 'channel_start': channel_start, 'channel_size': channel_size, 'channel_end': channel_end, 'footer_start': footer_start, 'other_channel_ranges': other_channel_ranges}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 11, 'channel_start': 14, 'channel_size': 1, 'channel_end': 15, 'footer_start': 19, 'other_channel_ranges': [[11, 12], [12, 14], [15, 19]]}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 63, 'pixel_origin': 147, 'channel_start': 147, 'channel_size': 1, 'channel_end': 148, 'footer_start': 155, 'other_channel_ranges': [[148, 150], [150, 151], [151, 155]]}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 103, 'pixel_origin': 709, 'channel_start': 713, 'channel_size': 4, 'channel_end': 717, 'footer_start': 717, 'other_channel_ranges': [[709, 710], [710, 712], [712, 713]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1302, 'channel_start': 1303, 'channel_size': 2, 'channel_end': 1305, 'footer_start': 1310, 'other_channel_ranges': [[1302, 1303], [1305, 1306], [1306, 1310]]}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 183, 'pixel_origin': 1635, 'channel_start': 1638, 'channel_size': 1, 'channel_end': 1639, 'footer_start': 1643, 'other_channel_ranges': [[1635, 1636], [1636, 1638], [1639, 1643]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 917, 'channel_start': 917, 'channel_size': 1, 'channel_end': 918, 'footer_start': 925, 'other_channel_ranges': [[918, 920], [920, 921], [921, 925]]})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 22, 'channel_start': 25, 'channel_size': 1, 'channel_end': 26, 'footer_start': 30, 'other_channel_ranges': [[22, 23], [23, 25], [26, 30]]}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 178, 'channel_start': 178, 'channel_size': 1, 'channel_end': 179, 'footer_start': 186, 'other_channel_ranges': [[179, 181], [181, 182], [182, 186]]}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 113, 'pixel_origin': 780, 'channel_start': 784, 'channel_size': 4, 'channel_end': 788, 'footer_start': 788, 'other_channel_ranges': [[780, 781], [781, 783], [783, 784]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1313, 'channel_start': 1314, 'channel_size': 2, 'channel_end': 1316, 'footer_start': 1321, 'other_channel_ranges': [[1313, 1314], [1316, 1317], [1317, 1321]]}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 193, 'pixel_origin': 1726, 'channel_start': 1729, 'channel_size': 1, 'channel_end': 1730, 'footer_start': 1734, 'other_channel_ranges': [[1726, 1727], [1727, 1729], [1730, 1734]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 928, 'channel_start': 928, 'channel_size': 1, 'channel_end': 929, 'footer_start': 936, 'other_channel_ranges': [[929, 931], [931, 932], [932, 936]]})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 33, 'channel_start': 36, 'channel_size': 1, 'channel_end': 37, 'footer_start': 41, 'other_channel_ranges': [[33, 34], [34, 36], [37, 41]]}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 83, 'pixel_origin': 209, 'channel_start': 209, 'channel_size': 1, 'channel_end': 210, 'footer_start': 217, 'other_channel_ranges': [[210, 212], [212, 213], [213, 217]]}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 123, 'pixel_origin': 851, 'channel_start': 855, 'channel_size': 4, 'channel_end': 859, 'footer_start': 859, 'other_channel_ranges': [[851, 852], [852, 854], [854, 855]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1324, 'channel_start': 1325, 'channel_size': 2, 'channel_end': 1327, 'footer_start': 1332, 'other_channel_ranges': [[1324, 1325], [1327, 1328], [1328, 1332]]}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 203, 'pixel_origin': 1817, 'channel_start': 1820, 'channel_size': 1, 'channel_end': 1821, 'footer_start': 1825, 'other_channel_ranges': [[1817, 1818], [1818, 1820], [1821, 1825]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 939, 'channel_start': 939, 'channel_size': 1, 'channel_end': 940, 'footer_start': 947, 'other_channel_ranges': [[940, 942], [942, 943], [943, 947]]})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 44, 'channel_start': 47, 'channel_size': 1, 'channel_end': 48, 'footer_start': 52, 'other_channel_ranges': [[44, 45], [45, 47], [48, 52]]}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 93, 'pixel_origin': 240, 'channel_start': 240, 'channel_size': 1, 'channel_end': 241, 'footer_start': 248, 'other_channel_ranges': [[241, 243], [243, 244], [244, 248]]}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 133, 'pixel_origin': 922, 'channel_start': 926, 'channel_size': 4, 'channel_end': 930, 'footer_start': 930, 'other_channel_ranges': [[922, 923], [923, 925], [925, 926]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1335, 'channel_start': 1336, 'channel_size': 2, 'channel_end': 1338, 'footer_start': 1343, 'other_channel_ranges': [[1335, 1336], [1338, 1339], [1339, 1343]]}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 213, 'pixel_origin': 1908, 'channel_start': 1911, 'channel_size': 1, 'channel_end': 1912, 'footer_start': 1916, 'other_channel_ranges': [[1908, 1909], [1909, 1911], [1912, 1916]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 950, 'channel_start': 950, 'channel_size': 1, 'channel_end': 951, 'footer_start': 958, 'other_channel_ranges': [[951, 953], [953, 954], [954, 958]]})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 55, 'channel_start': 58, 'channel_size': 1, 'channel_end': 59, 'footer_start': 63, 'other_channel_ranges': [[55, 56], [56, 58], [59, 63]]}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 103, 'pixel_origin': 271, 'channel_start': 271, 'channel_size': 1, 'channel_end': 272, 'footer_start': 279, 'other_channel_ranges': [[272, 274], [274, 275], [275, 279]]}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 143, 'pixel_origin': 993, 'channel_start': 997, 'channel_size': 4, 'channel_end': 1001, 'footer_start': 1001, 'other_channel_ranges': [[993, 994], [994, 996], [996, 997]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1346, 'channel_start': 1347, 'channel_size': 2, 'channel_end': 1349, 'footer_start': 1354, 'other_channel_ranges': [[1346, 1347], [1349, 1350], [1350, 1354]]}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 223, 'pixel_origin': 1999, 'channel_start': 2002, 'channel_size': 1, 'channel_end': 2003, 'footer_start': 2007, 'other_channel_ranges': [[1999, 2000], [2000, 2002], [2003, 2007]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 961, 'channel_start': 961, 'channel_size': 1, 'channel_end': 962, 'footer_start': 969, 'other_channel_ranges': [[962, 964], [964, 965], [965, 969]]})]}
for i, (p, expected) in enumerate(cases[N]):
    check("layout fixture " + str(i + 1), solve(p), 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)

prompt:
The returned physical layout descriptor disagrees with the declared buffer mapping at channel_end.

A toy pixel record stores channels with widths [1,2,1,4] bytes and a two-byte per-pixel footer. A view remaps logical channel indices through [2,0,3,1], and image rows have a three-byte guard. Return byte ranges without numeric interpretation. Return the named intermediate layout descriptor and final address fields; all quantities are integer byte offsets unless explicitly stated.

split: open-access


broken_source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(p):
    p = dict(p)
    channel_offsets = [sum(p["widths"][:i]) for i in range(4)]
    pixel_pitch = sum(p["widths"])+2
    physical_channel = p["remap"][p["channel"]]
    row_pitch = p["w"]*pixel_pitch+3
    pixel_origin = p["base"]+p["y"]*row_pitch+p["x"]*pixel_pitch
    channel_start = pixel_origin+channel_offsets[physical_channel]
    channel_size = p["widths"][physical_channel]
    channel_end = channel_start+channel_size
    footer_start = pixel_origin+pixel_pitch
    other_channel_ranges = [[pixel_origin+channel_offsets[i],pixel_origin+channel_offsets[i]+p["widths"][i]] for i in range(4) if i!=physical_channel]
    return {'channel_offsets': channel_offsets, 'pixel_pitch': pixel_pitch, 'physical_channel': physical_channel, 'row_pitch': row_pitch, 'pixel_origin': pixel_origin, 'channel_start': channel_start, 'channel_size': channel_size, 'channel_end': channel_end, 'footer_start': footer_start, 'other_channel_ranges': other_channel_ranges}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 11, 'channel_start': 14, 'channel_size': 1, 'channel_end': 15, 'footer_start': 19, 'other_channel_ranges': [[11, 12], [12, 14], [15, 19]]}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 63, 'pixel_origin': 147, 'channel_start': 147, 'channel_size': 1, 'channel_end': 148, 'footer_start': 155, 'other_channel_ranges': [[148, 150], [150, 151], [151, 155]]}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 103, 'pixel_origin': 709, 'channel_start': 713, 'channel_size': 4, 'channel_end': 717, 'footer_start': 717, 'other_channel_ranges': [[709, 710], [710, 712], [712, 713]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1302, 'channel_start': 1303, 'channel_size': 2, 'channel_end': 1305, 'footer_start': 1310, 'other_channel_ranges': [[1302, 1303], [1305, 1306], [1306, 1310]]}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 183, 'pixel_origin': 1635, 'channel_start': 1638, 'channel_size': 1, 'channel_end': 1639, 'footer_start': 1643, 'other_channel_ranges': [[1635, 1636], [1636, 1638], [1639, 1643]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 917, 'channel_start': 917, 'channel_size': 1, 'channel_end': 918, 'footer_start': 925, 'other_channel_ranges': [[918, 920], [920, 921], [921, 925]]})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 22, 'channel_start': 25, 'channel_size': 1, 'channel_end': 26, 'footer_start': 30, 'other_channel_ranges': [[22, 23], [23, 25], [26, 30]]}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 178, 'channel_start': 178, 'channel_size': 1, 'channel_end': 179, 'footer_start': 186, 'other_channel_ranges': [[179, 181], [181, 182], [182, 186]]}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 113, 'pixel_origin': 780, 'channel_start': 784, 'channel_size': 4, 'channel_end': 788, 'footer_start': 788, 'other_channel_ranges': [[780, 781], [781, 783], [783, 784]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1313, 'channel_start': 1314, 'channel_size': 2, 'channel_end': 1316, 'footer_start': 1321, 'other_channel_ranges': [[1313, 1314], [1316, 1317], [1317, 1321]]}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 193, 'pixel_origin': 1726, 'channel_start': 1729, 'channel_size': 1, 'channel_end': 1730, 'footer_start': 1734, 'other_channel_ranges': [[1726, 1727], [1727, 1729], [1730, 1734]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 928, 'channel_start': 928, 'channel_size': 1, 'channel_end': 929, 'footer_start': 936, 'other_channel_ranges': [[929, 931], [931, 932], [932, 936]]})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 33, 'channel_start': 36, 'channel_size': 1, 'channel_end': 37, 'footer_start': 41, 'other_channel_ranges': [[33, 34], [34, 36], [37, 41]]}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 83, 'pixel_origin': 209, 'channel_start': 209, 'channel_size': 1, 'channel_end': 210, 'footer_start': 217, 'other_channel_ranges': [[210, 212], [212, 213], [213, 217]]}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 123, 'pixel_origin': 851, 'channel_start': 855, 'channel_size': 4, 'channel_end': 859, 'footer_start': 859, 'other_channel_ranges': [[851, 852], [852, 854], [854, 855]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1324, 'channel_start': 1325, 'channel_size': 2, 'channel_end': 1327, 'footer_start': 1332, 'other_channel_ranges': [[1324, 1325], [1327, 1328], [1328, 1332]]}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 203, 'pixel_origin': 1817, 'channel_start': 1820, 'channel_size': 1, 'channel_end': 1821, 'footer_start': 1825, 'other_channel_ranges': [[1817, 1818], [1818, 1820], [1821, 1825]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 939, 'channel_start': 939, 'channel_size': 1, 'channel_end': 940, 'footer_start': 947, 'other_channel_ranges': [[940, 942], [942, 943], [943, 947]]})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 44, 'channel_start': 47, 'channel_size': 1, 'channel_end': 48, 'footer_start': 52, 'other_channel_ranges': [[44, 45], [45, 47], [48, 52]]}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 93, 'pixel_origin': 240, 'channel_start': 240, 'channel_size': 1, 'channel_end': 241, 'footer_start': 248, 'other_channel_ranges': [[241, 243], [243, 244], [244, 248]]}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 133, 'pixel_origin': 922, 'channel_start': 926, 'channel_size': 4, 'channel_end': 930, 'footer_start': 930, 'other_channel_ranges': [[922, 923], [923, 925], [925, 926]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1335, 'channel_start': 1336, 'channel_size': 2, 'channel_end': 1338, 'footer_start': 1343, 'other_channel_ranges': [[1335, 1336], [1338, 1339], [1339, 1343]]}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 213, 'pixel_origin': 1908, 'channel_start': 1911, 'channel_size': 1, 'channel_end': 1912, 'footer_start': 1916, 'other_channel_ranges': [[1908, 1909], [1909, 1911], [1912, 1916]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 950, 'channel_start': 950, 'channel_size': 1, 'channel_end': 951, 'footer_start': 958, 'other_channel_ranges': [[951, 953], [953, 954], [954, 958]]})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 55, 'channel_start': 58, 'channel_size': 1, 'channel_end': 59, 'footer_start': 63, 'other_channel_ranges': [[55, 56], [56, 58], [59, 63]]}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 103, 'pixel_origin': 271, 'channel_start': 271, 'channel_size': 1, 'channel_end': 272, 'footer_start': 279, 'other_channel_ranges': [[272, 274], [274, 275], [275, 279]]}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 143, 'pixel_origin': 993, 'channel_start': 997, 'channel_size': 4, 'channel_end': 1001, 'footer_start': 1001, 'other_channel_ranges': [[993, 994], [994, 996], [996, 997]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1346, 'channel_start': 1347, 'channel_size': 2, 'channel_end': 1349, 'footer_start': 1354, 'other_channel_ranges': [[1346, 1347], [1349, 1350], [1350, 1354]]}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 223, 'pixel_origin': 1999, 'channel_start': 2002, 'channel_size': 1, 'channel_end': 2003, 'footer_start': 2007, 'other_channel_ranges': [[1999, 2000], [2000, 2002], [2003, 2007]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 961, 'channel_start': 961, 'channel_size': 1, 'channel_end': 962, 'footer_start': 969, 'other_channel_ranges': [[962, 964], [964, 965], [965, 969]]})]}
for i, (p, expected) in enumerate(cases[N]):
    check("layout fixture " + str(i + 1), solve(p), 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)

source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(p):
    p = dict(p)
    channel_offsets = [sum(p["widths"][:i]) for i in range(4)]
    pixel_pitch = sum(p["widths"])+2
    physical_channel = p["remap"][p["channel"]]
    row_pitch = p["w"]*pixel_pitch+3
    pixel_origin = p["base"]+p["y"]*row_pitch+p["x"]*pixel_pitch
    channel_start = pixel_origin+channel_offsets[physical_channel]
    channel_size = p["widths"][physical_channel]
    channel_end = channel_start+channel_size
    footer_start = channel_end
    other_channel_ranges = [[pixel_origin+channel_offsets[i],pixel_origin+channel_offsets[i]+p["widths"][i]] for i in range(4) if i!=physical_channel]
    return {'channel_offsets': channel_offsets, 'pixel_pitch': pixel_pitch, 'physical_channel': physical_channel, 'row_pitch': row_pitch, 'pixel_origin': pixel_origin, 'channel_start': channel_start, 'channel_size': channel_size, 'channel_end': channel_end, 'footer_start': footer_start, 'other_channel_ranges': other_channel_ranges}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 11, 'channel_start': 14, 'channel_size': 1, 'channel_end': 15, 'footer_start': 19, 'other_channel_ranges': [[11, 12], [12, 14], [15, 19]]}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 63, 'pixel_origin': 147, 'channel_start': 147, 'channel_size': 1, 'channel_end': 148, 'footer_start': 155, 'other_channel_ranges': [[148, 150], [150, 151], [151, 155]]}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 103, 'pixel_origin': 709, 'channel_start': 713, 'channel_size': 4, 'channel_end': 717, 'footer_start': 717, 'other_channel_ranges': [[709, 710], [710, 712], [712, 713]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1302, 'channel_start': 1303, 'channel_size': 2, 'channel_end': 1305, 'footer_start': 1310, 'other_channel_ranges': [[1302, 1303], [1305, 1306], [1306, 1310]]}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 183, 'pixel_origin': 1635, 'channel_start': 1638, 'channel_size': 1, 'channel_end': 1639, 'footer_start': 1643, 'other_channel_ranges': [[1635, 1636], [1636, 1638], [1639, 1643]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 917, 'channel_start': 917, 'channel_size': 1, 'channel_end': 918, 'footer_start': 925, 'other_channel_ranges': [[918, 920], [920, 921], [921, 925]]})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 22, 'channel_start': 25, 'channel_size': 1, 'channel_end': 26, 'footer_start': 30, 'other_channel_ranges': [[22, 23], [23, 25], [26, 30]]}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 178, 'channel_start': 178, 'channel_size': 1, 'channel_end': 179, 'footer_start': 186, 'other_channel_ranges': [[179, 181], [181, 182], [182, 186]]}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 113, 'pixel_origin': 780, 'channel_start': 784, 'channel_size': 4, 'channel_end': 788, 'footer_start': 788, 'other_channel_ranges': [[780, 781], [781, 783], [783, 784]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1313, 'channel_start': 1314, 'channel_size': 2, 'channel_end': 1316, 'footer_start': 1321, 'other_channel_ranges': [[1313, 1314], [1316, 1317], [1317, 1321]]}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 193, 'pixel_origin': 1726, 'channel_start': 1729, 'channel_size': 1, 'channel_end': 1730, 'footer_start': 1734, 'other_channel_ranges': [[1726, 1727], [1727, 1729], [1730, 1734]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 928, 'channel_start': 928, 'channel_size': 1, 'channel_end': 929, 'footer_start': 936, 'other_channel_ranges': [[929, 931], [931, 932], [932, 936]]})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 33, 'channel_start': 36, 'channel_size': 1, 'channel_end': 37, 'footer_start': 41, 'other_channel_ranges': [[33, 34], [34, 36], [37, 41]]}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 83, 'pixel_origin': 209, 'channel_start': 209, 'channel_size': 1, 'channel_end': 210, 'footer_start': 217, 'other_channel_ranges': [[210, 212], [212, 213], [213, 217]]}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 123, 'pixel_origin': 851, 'channel_start': 855, 'channel_size': 4, 'channel_end': 859, 'footer_start': 859, 'other_channel_ranges': [[851, 852], [852, 854], [854, 855]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1324, 'channel_start': 1325, 'channel_size': 2, 'channel_end': 1327, 'footer_start': 1332, 'other_channel_ranges': [[1324, 1325], [1327, 1328], [1328, 1332]]}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 203, 'pixel_origin': 1817, 'channel_start': 1820, 'channel_size': 1, 'channel_end': 1821, 'footer_start': 1825, 'other_channel_ranges': [[1817, 1818], [1818, 1820], [1821, 1825]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 939, 'channel_start': 939, 'channel_size': 1, 'channel_end': 940, 'footer_start': 947, 'other_channel_ranges': [[940, 942], [942, 943], [943, 947]]})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 44, 'channel_start': 47, 'channel_size': 1, 'channel_end': 48, 'footer_start': 52, 'other_channel_ranges': [[44, 45], [45, 47], [48, 52]]}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 93, 'pixel_origin': 240, 'channel_start': 240, 'channel_size': 1, 'channel_end': 241, 'footer_start': 248, 'other_channel_ranges': [[241, 243], [243, 244], [244, 248]]}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 133, 'pixel_origin': 922, 'channel_start': 926, 'channel_size': 4, 'channel_end': 930, 'footer_start': 930, 'other_channel_ranges': [[922, 923], [923, 925], [925, 926]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1335, 'channel_start': 1336, 'channel_size': 2, 'channel_end': 1338, 'footer_start': 1343, 'other_channel_ranges': [[1335, 1336], [1338, 1339], [1339, 1343]]}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 213, 'pixel_origin': 1908, 'channel_start': 1911, 'channel_size': 1, 'channel_end': 1912, 'footer_start': 1916, 'other_channel_ranges': [[1908, 1909], [1909, 1911], [1912, 1916]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 950, 'channel_start': 950, 'channel_size': 1, 'channel_end': 951, 'footer_start': 958, 'other_channel_ranges': [[951, 953], [953, 954], [954, 958]]})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 13, 'pixel_origin': 55, 'channel_start': 58, 'channel_size': 1, 'channel_end': 59, 'footer_start': 63, 'other_channel_ranges': [[55, 56], [56, 58], [59, 63]]}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 103, 'pixel_origin': 271, 'channel_start': 271, 'channel_size': 1, 'channel_end': 272, 'footer_start': 279, 'other_channel_ranges': [[272, 274], [274, 275], [275, 279]]}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55, 'channel': 2, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 3, 'row_pitch': 143, 'pixel_origin': 993, 'channel_start': 997, 'channel_size': 4, 'channel_end': 1001, 'footer_start': 1001, 'other_channel_ranges': [[993, 994], [994, 996], [996, 997]]}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55, 'channel': 3, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 1, 'row_pitch': 163, 'pixel_origin': 1346, 'channel_start': 1347, 'channel_size': 2, 'channel_end': 1349, 'footer_start': 1354, 'other_channel_ranges': [[1346, 1347], [1349, 1350], [1350, 1354]]}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55, 'channel': 0, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 2, 'row_pitch': 223, 'pixel_origin': 1999, 'channel_start': 2002, 'channel_size': 1, 'channel_end': 2003, 'footer_start': 2007, 'other_channel_ranges': [[1999, 2000], [2000, 2002], [2003, 2007]]}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55, 'channel': 1, 'remap': [2, 0, 3, 1], 'widths': [1, 2, 1, 4]}, {'channel_offsets': [0, 1, 3, 4], 'pixel_pitch': 10, 'physical_channel': 0, 'row_pitch': 73, 'pixel_origin': 961, 'channel_start': 961, 'channel_size': 1, 'channel_end': 962, 'footer_start': 969, 'other_channel_ranges': [[962, 964], [964, 965], [965, 969]]})]}
for i, (p, expected) in enumerate(cases[N]):
    check("layout fixture " + str(i + 1), solve(p), 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)

prompt:
The returned physical layout descriptor disagrees with the declared buffer mapping at footer_start.

A toy pixel record stores channels with widths [1,2,1,4] bytes and a two-byte per-pixel footer. A view remaps logical channel indices through [2,0,3,1], and image rows have a three-byte guard. Return byte ranges without numeric interpretation. Return the named intermediate layout descriptor and final address fields; all quantities are integer byte offsets unless explicitly stated.

split: open-access