{"abstract":"A pair containing both directions resolves to the opposite direction.","category":"Bidirectional text layout","checks":8,"contract":"Input [classes, bracket pairs, embedding level, sos]. Process pairs in opener order. Strong types inside (EN/AN count as R) matching the embedding direction set both brackets to it; if only the opposite direction is inside, use the first strong type before the opener (checking already-updated brackets; sos if none); with no strong type inside leave them. Return classes.","evaluation_group":"w2-bidirectional-text-layout-bracket-resolution","failed_approach":"A majority vote is still not the rule.","family":"w2-bidirectional-text-layout-bracket-resolution-embedding-match-test","id":"FA-80616","implementations":{"attempt":{"sha256":"95dff106afc195e9ead91cf74c285ec2dc200454abf7ff7d41d057d07190c1d9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    types, pairs, level, sos = x\n    t = list(types)\n    e = 'L' if level % 2 == 0 else 'R'\n    def dirof(c):\n        if c == 'L':\n            return 'L'\n        if c in ('R', 'EN', 'AN'):\n            return 'R'\n        return None\n    for o, c in sorted(pairs):\n        inside = [dirof(t[k]) for k in range(o + 1, c)]\n        inside = [d for d in inside if d]\n        if not inside:\n            continue\n        if inside.count(e) > len(inside) // 2:\n            new = e\n        else:\n            ctx = sos\n            for k in range(o - 1, -1, -1):\n                d = dirof(t[k])\n                if d:\n                    ctx = d\n                    break\n            new = ctx\n        t[o] = new\n        t[c] = new\n    return t\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('nested pair uses updated outer bracket', [['R', 'ON', 'ON', 'R', 'ON', 'L', 'ON'], [[1, 6], [2, 4]], 0, 'L'], ['R', 'L', 'L', 'R', 'L', 'L', 'L']), ('regression: embedding match test', [['R', 'ON', 'ON', 'R', 'L', 'ON', 'ON', 'R', 'ON'], [[1, 8], [2, 5]], 0, 'R'], ['R', 'L', 'L', 'R', 'L', 'L', 'ON', 'R', 'L']), ('regression: embedding match test', [['ON', 'R', 'ON', 'L', 'ON', 'ON', 'L', 'ON', 'ON', 'R', 'R'], [[2, 4], [0, 5]], 2, 'R'], ['L', 'R', 'L', 'L', 'L', 'L', 'L', 'ON', 'ON', 'R', 'R']), ('regression: embedding match test', [['EN', 'ON', 'ON', 'R', 'ON', 'EN', 'L', 'ON', 'L', 'L'], [[1, 7], [2, 4]], 0, 'R'], ['EN', 'L', 'L', 'R', 'L', 'EN', 'L', 'L', 'L', 'L']), ('number inside brackets in RTL context', [['R', 'ON', 'EN', 'ON'], [[1, 3]], 0, 'L'], ['R', 'R', 'EN', 'R']), ('nested pair in RTL embedding', [['L', 'ON', 'ON', 'L', 'ON', 'R', 'ON'], [[1, 6], [2, 4]], 1, 'R'], ['L', 'R', 'R', 'L', 'R', 'R', 'R']), ('control layout', [['L', 'ON', 'ON', 'R', 'ON', 'ON', 'R', 'R'], [[1, 5], [2, 4]], 1, 'L'], ['L', 'R', 'R', 'R', 'R', 'R', 'R', 'R']), ('control layout', [['R', 'R', 'AN', 'R', 'L', 'L', 'L', 'L', 'EN', 'L', 'ON', 'ON', 'ON'], [[10, 11]], 0, 'R'], ['R', 'R', 'AN', 'R', 'L', 'L', 'L', 'L', 'EN', 'L', 'ON', 'ON', 'ON'])], [('regression: embedding match test', [['EN', 'ON', 'ON', 'ON', 'ON', 'R', 'L', 'ON', 'L', 'R'], [[1, 7], [2, 4]], 0, 'R'], ['EN', 'L', 'ON', 'ON', 'ON', 'R', 'L', 'L', 'L', 'R']), ('regression: embedding match test', [['ON', 'ON', 'ON', 'AN', 'ON', 'ON', 'L', 'ON', 'ON', 'L', 'ON'], [[5, 7], [2, 8]], 0, 'R'], ['ON', 'ON', 'L', 'AN', 'ON', 'L', 'L', 'L', 'L', 'L', 'ON']), ('regression: embedding match test', [['L', 'ON', 'ON', 'L', 'ON', 'EN', 'ON', 'R', 'L'], [[1, 6], [2, 4]], 1, 'R'], ['L', 'R', 'R', 'L', 'R', 'EN', 'R', 'R', 'L']), ('partial-repair probe', [['R', 'ON', 'ON', 'L', 'R', 'ON', 'ON', 'ON'], [[1, 7], [2, 5]], 2, 'L'], ['R', 'L', 'L', 'L', 'R', 'L', 'ON', 'L']), ('nested pair in RTL embedding', [['L', 'ON', 'ON', 'L', 'ON', 'R', 'ON'], [[1, 6], [2, 4]], 1, 'R'], ['L', 'R', 'R', 'L', 'R', 'R', 'R']), ('nested pair uses updated outer bracket', [['R', 'ON', 'ON', 'R', 'ON', 'L', 'ON'], [[1, 6], [2, 4]], 0, 'L'], ['R', 'L', 'L', 'R', 'L', 'L', 'L']), ('control layout', [['R', 'ON', 'ON', 'AN', 'L', 'ON', 'ON', 'ON', 'R', 'L'], [[1, 7], [2, 5]], 1, 'R'], ['R', 'R', 'R', 'AN', 'L', 'R', 'ON', 'R', 'R', 'L']), ('control layout', [['R', 'R', 'EN', 'R', 'L', 'EN', 'ON', 'AN', 'ON'], [], 2, 'R'], ['R', 'R', 'EN', 'R', 'L', 'EN', 'ON', 'AN', 'ON'])], [('regression: embedding match test', [['R', 'AN', 'L', 'ON', 'L', 'R', 'L', 'L', 'ON', 'AN'], [[3, 8]], 1, 'R'], ['R', 'AN', 'L', 'R', 'L', 'R', 'L', 'L', 'R', 'AN']), ('regression: embedding match test', [['ON', 'ON', 'ON', 'R', 'ON', 'ON', 'L', 'ON'], [[1, 7], [2, 4]], 2, 'R'], ['ON', 'L', 'L', 'R', 'L', 'ON', 'L', 'L']), ('partial-repair probe', [['L', 'ON', 'ON', 'R', 'EN', 'ON', 'ON', 'ON', 'ON', 'L', 'R', 'ON'], [[8, 11]], 2, 'R'], ['L', 'ON', 'ON', 'R', 'EN', 'ON', 'ON', 'ON', 'L', 'L', 'R', 'L']), ('regression: embedding match test', [['EN', 'ON', 'ON', 'AN', 'L', 'ON', 'R', 'L', 'ON', 'R', 'R'], [[1, 8], [2, 5]], 2, 'R'], ['EN', 'L', 'L', 'AN', 'L', 'L', 'R', 'L', 'L', 'R', 'R']), ('nested pair in RTL embedding', [['L', 'ON', 'ON', 'L', 'ON', 'R', 'ON'], [[1, 6], [2, 4]], 1, 'R'], ['L', 'R', 'R', 'L', 'R', 'R', 'R']), ('nested pair uses updated outer bracket', [['R', 'ON', 'ON', 'R', 'ON', 'L', 'ON'], [[1, 6], [2, 4]], 0, 'L'], ['R', 'L', 'L', 'R', 'L', 'L', 'L']), ('control layout', [['R', 'AN', 'R', 'ON', 'ON', 'ON', 'ON', 'ON', 'L', 'R', 'R', 'R'], [[4, 6]], 2, 'R'], ['R', 'AN', 'R', 'ON', 'ON', 'ON', 'ON', 'ON', 'L', 'R', 'R', 'R']), ('control layout', [['ON', 'EN', 'R'], [], 2, 'R'], ['ON', 'EN', 'R'])], [('regression: embedding match test', [['R', 'ON', 'ON', 'AN', 'L', 'ON', 'L', 'ON', 'ON', 'R'], [[1, 8], [2, 5]], 0, 'L'], ['R', 'L', 'L', 'AN', 'L', 'L', 'L', 'ON', 'L', 'R']), ('regression: embedding match test', [['R', 'ON', 'ON', 'R', 'ON', 'L', 'ON', 'L'], [[1, 6], [2, 4]], 2, 'R'], ['R', 'L', 'L', 'R', 'L', 'L', 'L', 'L']), ('partial-repair probe', [['R', 'ON', 'ON', 'L', 'R', 'ON', 'ON', 'ON'], [[1, 7], [2, 5]], 0, 'R'], ['R', 'L', 'L', 'L', 'R', 'L', 'ON', 'L']), ('partial-repair probe', [['ON', 'L', 'R', 'ON', 'ON', 'L', 'L', 'R', 'R', 'ON', 'R', 'L'], [[0, 4]], 2, 'R'], ['L', 'L', 'R', 'ON', 'L', 'L', 'L', 'R', 'R', 'ON', 'R', 'L']), ('nested pair in RTL embedding', [['L', 'ON', 'ON', 'L', 'ON', 'R', 'ON'], [[1, 6], [2, 4]], 1, 'R'], ['L', 'R', 'R', 'L', 'R', 'R', 'R']), ('nested pair uses updated outer bracket', [['R', 'ON', 'ON', 'R', 'ON', 'L', 'ON'], [[1, 6], [2, 4]], 0, 'L'], ['R', 'L', 'L', 'R', 'L', 'L', 'L']), ('control layout', [['L', 'AN', 'L', 'ON'], [], 0, 'L'], ['L', 'AN', 'L', 'ON']), ('control layout', [['ON', 'R', 'R', 'AN', 'L', 'AN', 'EN', 'ON'], [], 2, 'L'], ['ON', 'R', 'R', 'AN', 'L', 'AN', 'EN', 'ON'])], [('regression: embedding match test', [['R', 'AN', 'L', 'ON', 'L', 'R', 'L', 'L', 'ON', 'AN'], [[3, 8]], 1, 'R'], ['R', 'AN', 'L', 'R', 'L', 'R', 'L', 'L', 'R', 'AN']), ('regression: embedding match test', [['EN', 'ON', 'ON', 'AN', 'L', 'ON', 'R', 'L', 'ON', 'R', 'R'], [[1, 8], [2, 5]], 2, 'R'], ['EN', 'L', 'L', 'AN', 'L', 'L', 'R', 'L', 'L', 'R', 'R']), ('regression: embedding match test', [['L', 'ON', 'R', 'ON', 'AN', 'L', 'ON', 'L', 'ON', 'EN', 'L', 'AN'], [[3, 6]], 2, 'R'], ['L', 'ON', 'R', 'L', 'AN', 'L', 'L', 'L', 'ON', 'EN', 'L', 'AN']), ('regression: embedding match test', [['R', 'ON', 'ON', 'R', 'R', 'ON', 'L', 'L', 'ON', 'L'], [[1, 8], [2, 5]], 2, 'R'], ['R', 'L', 'L', 'R', 'R', 'L', 'L', 'L', 'L', 'L']), ('nested pair in RTL embedding', [['L', 'ON', 'ON', 'L', 'ON', 'R', 'ON'], [[1, 6], [2, 4]], 1, 'R'], ['L', 'R', 'R', 'L', 'R', 'R', 'R']), ('number inside brackets in RTL context', [['R', 'ON', 'EN', 'ON'], [[1, 3]], 0, 'L'], ['R', 'R', 'EN', 'R']), ('control layout', [['R', 'L', 'L', 'ON', 'AN', 'ON', 'R', 'ON', 'ON', 'R', 'ON', 'R', 'L'], [], 0, 'R'], ['R', 'L', 'L', 'ON', 'AN', 'ON', 'R', 'ON', 'ON', 'R', 'ON', 'R', 'L']), ('control layout', [['ON', 'ON', 'R', 'L', 'R', 'EN', 'R', 'ON', 'ON', 'L', 'ON'], [], 1, 'R'], ['ON', 'ON', 'R', 'L', 'R', 'EN', 'R', 'ON', 'ON', 'L', 'ON'])]]\nfor label, args, expected in fixtures[N - 1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"9a57e385ff2135923b6f875444dc71ebb8e7daad9131298e2655c1491591b442","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    types, pairs, level, sos = x\n    t = list(types)\n    e = 'L' if level % 2 == 0 else 'R'\n    def dirof(c):\n        if c == 'L':\n            return 'L'\n        if c in ('R', 'EN', 'AN'):\n            return 'R'\n        return None\n    for o, c in sorted(pairs):\n        inside = [dirof(t[k]) for k in range(o + 1, c)]\n        inside = [d for d in inside if d]\n        if not inside:\n            continue\n        if inside[0] == e:\n            new = e\n        else:\n            ctx = sos\n            for k in range(o - 1, -1, -1):\n                d = dirof(t[k])\n                if d:\n                    ctx = d\n                    break\n            new = ctx\n        t[o] = new\n        t[c] = new\n    return t\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('nested pair uses updated outer bracket', [['R', 'ON', 'ON', 'R', 'ON', 'L', 'ON'], [[1, 6], [2, 4]], 0, 'L'], ['R', 'L', 'L', 'R', 'L', 'L', 'L']), ('regression: embedding match test', [['R', 'ON', 'ON', 'R', 'L', 'ON', 'ON', 'R', 'ON'], [[1, 8], [2, 5]], 0, 'R'], ['R', 'L', 'L', 'R', 'L', 'L', 'ON', 'R', 'L']), ('regression: embedding match test', [['ON', 'R', 'ON', 'L', 'ON', 'ON', 'L', 'ON', 'ON', 'R', 'R'], [[2, 4], [0, 5]], 2, 'R'], ['L', 'R', 'L', 'L', 'L', 'L', 'L', 'ON', 'ON', 'R', 'R']), ('regression: embedding match test', [['EN', 'ON', 'ON', 'R', 'ON', 'EN', 'L', 'ON', 'L', 'L'], [[1, 7], [2, 4]], 0, 'R'], ['EN', 'L', 'L', 'R', 'L', 'EN', 'L', 'L', 'L', 'L']), ('number inside brackets in RTL context', [['R', 'ON', 'EN', 'ON'], [[1, 3]], 0, 'L'], ['R', 'R', 'EN', 'R']), ('nested pair in RTL embedding', [['L', 'ON', 'ON', 'L', 'ON', 'R', 'ON'], [[1, 6], [2, 4]], 1, 'R'], ['L', 'R', 'R', 'L', 'R', 'R', 'R']), ('control layout', [['L', 'ON', 'ON', 'R', 'ON', 'ON', 'R', 'R'], [[1, 5], [2, 4]], 1, 'L'], ['L', 'R', 'R', 'R', 'R', 'R', 'R', 'R']), ('control layout', [['R', 'R', 'AN', 'R', 'L', 'L', 'L', 'L', 'EN', 'L', 'ON', 'ON', 'ON'], [[10, 11]], 0, 'R'], ['R', 'R', 'AN', 'R', 'L', 'L', 'L', 'L', 'EN', 'L', 'ON', 'ON', 'ON'])], [('regression: embedding match test', [['EN', 'ON', 'ON', 'ON', 'ON', 'R', 'L', 'ON', 'L', 'R'], [[1, 7], [2, 4]], 0, 'R'], ['EN', 'L', 'ON', 'ON', 'ON', 'R', 'L', 'L', 'L', 'R']), ('regression: embedding match test', [['ON', 'ON', 'ON', 'AN', 'ON', 'ON', 'L', 'ON', 'ON', 'L', 'ON'], [[5, 7], [2, 8]], 0, 'R'], ['ON', 'ON', 'L', 'AN', 'ON', 'L', 'L', 'L', 'L', 'L', 'ON']), ('regression: embedding match test', [['L', 'ON', 'ON', 'L', 'ON', 'EN', 'ON', 'R', 'L'], [[1, 6], [2, 4]], 1, 'R'], ['L', 'R', 'R', 'L', 'R', 'EN', 'R', 'R', 'L']), ('partial-repair probe', [['R', 'ON', 'ON', 'L', 'R', 'ON', 'ON', 'ON'], [[1, 7], [2, 5]], 2, 'L'], ['R', 'L', 'L', 'L', 'R', 'L', 'ON', 'L']), ('nested pair in RTL embedding', [['L', 'ON', 'ON', 'L', 'ON', 'R', 'ON'], [[1, 6], [2, 4]], 1, 'R'], ['L', 'R', 'R', 'L', 'R', 'R', 'R']), ('nested pair uses updated outer bracket', [['R', 'ON', 'ON', 'R', 'ON', 'L', 'ON'], [[1, 6], [2, 4]], 0, 'L'], ['R', 'L', 'L', 'R', 'L', 'L', 'L']), ('control layout', [['R', 'ON', 'ON', 'AN', 'L', 'ON', 'ON', 'ON', 'R', 'L'], [[1, 7], [2, 5]], 1, 'R'], ['R', 'R', 'R', 'AN', 'L', 'R', 'ON', 'R', 'R', 'L']), ('control layout', [['R', 'R', 'EN', 'R', 'L', 'EN', 'ON', 'AN', 'ON'], [], 2, 'R'], ['R', 'R', 'EN', 'R', 'L', 'EN', 'ON', 'AN', 'ON'])], [('regression: embedding match test', [['R', 'AN', 'L', 'ON', 'L', 'R', 'L', 'L', 'ON', 'AN'], [[3, 8]], 1, 'R'], ['R', 'AN', 'L', 'R', 'L', 'R', 'L', 'L', 'R', 'AN']), ('regression: embedding match test', [['ON', 'ON', 'ON', 'R', 'ON', 'ON', 'L', 'ON'], [[1, 7], [2, 4]], 2, 'R'], ['ON', 'L', 'L', 'R', 'L', 'ON', 'L', 'L']), ('partial-repair probe', [['L', 'ON', 'ON', 'R', 'EN', 'ON', 'ON', 'ON', 'ON', 'L', 'R', 'ON'], [[8, 11]], 2, 'R'], ['L', 'ON', 'ON', 'R', 'EN', 'ON', 'ON', 'ON', 'L', 'L', 'R', 'L']), ('regression: embedding match test', [['EN', 'ON', 'ON', 'AN', 'L', 'ON', 'R', 'L', 'ON', 'R', 'R'], [[1, 8], [2, 5]], 2, 'R'], ['EN', 'L', 'L', 'AN', 'L', 'L', 'R', 'L', 'L', 'R', 'R']), ('nested pair in RTL embedding', [['L', 'ON', 'ON', 'L', 'ON', 'R', 'ON'], [[1, 6], [2, 4]], 1, 'R'], ['L', 'R', 'R', 'L', 'R', 'R', 'R']), ('nested pair uses updated outer bracket', [['R', 'ON', 'ON', 'R', 'ON', 'L', 'ON'], [[1, 6], [2, 4]], 0, 'L'], ['R', 'L', 'L', 'R', 'L', 'L', 'L']), ('control layout', [['R', 'AN', 'R', 'ON', 'ON', 'ON', 'ON', 'ON', 'L', 'R', 'R', 'R'], [[4, 6]], 2, 'R'], ['R', 'AN', 'R', 'ON', 'ON', 'ON', 'ON', 'ON', 'L', 'R', 'R', 'R']), ('control layout', [['ON', 'EN', 'R'], [], 2, 'R'], ['ON', 'EN', 'R'])], [('regression: embedding match test', [['R', 'ON', 'ON', 'AN', 'L', 'ON', 'L', 'ON', 'ON', 'R'], [[1, 8], [2, 5]], 0, 'L'], ['R', 'L', 'L', 'AN', 'L', 'L', 'L', 'ON', 'L', 'R']), ('regression: embedding match test', [['R', 'ON', 'ON', 'R', 'ON', 'L', 'ON', 'L'], [[1, 6], [2, 4]], 2, 'R'], ['R', 'L', 'L', 'R', 'L', 'L', 'L', 'L']), ('partial-repair probe', [['R', 'ON', 'ON', 'L', 'R', 'ON', 'ON', 'ON'], [[1, 7], [2, 5]], 0, 'R'], ['R', 'L', 'L', 'L', 'R', 'L', 'ON', 'L']), ('partial-repair probe', [['ON', 'L', 'R', 'ON', 'ON', 'L', 'L', 'R', 'R', 'ON', 'R', 'L'], [[0, 4]], 2, 'R'], ['L', 'L', 'R', 'ON', 'L', 'L', 'L', 'R', 'R', 'ON', 'R', 'L']), ('nested pair in RTL embedding', [['L', 'ON', 'ON', 'L', 'ON', 'R', 'ON'], [[1, 6], [2, 4]], 1, 'R'], ['L', 'R', 'R', 'L', 'R', 'R', 'R']), ('nested pair uses updated outer bracket', [['R', 'ON', 'ON', 'R', 'ON', 'L', 'ON'], [[1, 6], [2, 4]], 0, 'L'], ['R', 'L', 'L', 'R', 'L', 'L', 'L']), ('control layout', [['L', 'AN', 'L', 'ON'], [], 0, 'L'], ['L', 'AN', 'L', 'ON']), ('control layout', [['ON', 'R', 'R', 'AN', 'L', 'AN', 'EN', 'ON'], [], 2, 'L'], ['ON', 'R', 'R', 'AN', 'L', 'AN', 'EN', 'ON'])], [('regression: embedding match test', [['R', 'AN', 'L', 'ON', 'L', 'R', 'L', 'L', 'ON', 'AN'], [[3, 8]], 1, 'R'], ['R', 'AN', 'L', 'R', 'L', 'R', 'L', 'L', 'R', 'AN']), ('regression: embedding match test', [['EN', 'ON', 'ON', 'AN', 'L', 'ON', 'R', 'L', 'ON', 'R', 'R'], [[1, 8], [2, 5]], 2, 'R'], ['EN', 'L', 'L', 'AN', 'L', 'L', 'R', 'L', 'L', 'R', 'R']), ('regression: embedding match test', [['L', 'ON', 'R', 'ON', 'AN', 'L', 'ON', 'L', 'ON', 'EN', 'L', 'AN'], [[3, 6]], 2, 'R'], ['L', 'ON', 'R', 'L', 'AN', 'L', 'L', 'L', 'ON', 'EN', 'L', 'AN']), ('regression: embedding match test', [['R', 'ON', 'ON', 'R', 'R', 'ON', 'L', 'L', 'ON', 'L'], [[1, 8], [2, 5]], 2, 'R'], ['R', 'L', 'L', 'R', 'R', 'L', 'L', 'L', 'L', 'L']), ('nested pair in RTL embedding', [['L', 'ON', 'ON', 'L', 'ON', 'R', 'ON'], [[1, 6], [2, 4]], 1, 'R'], ['L', 'R', 'R', 'L', 'R', 'R', 'R']), ('number inside brackets in RTL context', [['R', 'ON', 'EN', 'ON'], [[1, 3]], 0, 'L'], ['R', 'R', 'EN', 'R']), ('control layout', [['R', 'L', 'L', 'ON', 'AN', 'ON', 'R', 'ON', 'ON', 'R', 'ON', 'R', 'L'], [], 0, 'R'], ['R', 'L', 'L', 'ON', 'AN', 'ON', 'R', 'ON', 'ON', 'R', 'ON', 'R', 'L']), ('control layout', [['ON', 'ON', 'R', 'L', 'R', 'EN', 'R', 'ON', 'ON', 'L', 'ON'], [], 1, 'R'], ['ON', 'ON', 'R', 'L', 'R', 'EN', 'R', 'ON', 'ON', 'L', 'ON'])]]\nfor label, args, expected in fixtures[N - 1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"954f78ffa8ff6ea6e7d1c912b4d9f34afa38fbf9fc9b93c57785517e241df1f8","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    types, pairs, level, sos = x\n    t = list(types)\n    e = 'L' if level % 2 == 0 else 'R'\n    def dirof(c):\n        if c == 'L':\n            return 'L'\n        if c in ('R', 'EN', 'AN'):\n            return 'R'\n        return None\n    for o, c in sorted(pairs):\n        inside = [dirof(t[k]) for k in range(o + 1, c)]\n        inside = [d for d in inside if d]\n        if not inside:\n            continue\n        if e in inside:\n            new = e\n        else:\n            ctx = sos\n            for k in range(o - 1, -1, -1):\n                d = dirof(t[k])\n                if d:\n                    ctx = d\n                    break\n            new = ctx\n        t[o] = new\n        t[c] = new\n    return t\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('nested pair uses updated outer bracket', [['R', 'ON', 'ON', 'R', 'ON', 'L', 'ON'], [[1, 6], [2, 4]], 0, 'L'], ['R', 'L', 'L', 'R', 'L', 'L', 'L']), ('regression: embedding match test', [['R', 'ON', 'ON', 'R', 'L', 'ON', 'ON', 'R', 'ON'], [[1, 8], [2, 5]], 0, 'R'], ['R', 'L', 'L', 'R', 'L', 'L', 'ON', 'R', 'L']), ('regression: embedding match test', [['ON', 'R', 'ON', 'L', 'ON', 'ON', 'L', 'ON', 'ON', 'R', 'R'], [[2, 4], [0, 5]], 2, 'R'], ['L', 'R', 'L', 'L', 'L', 'L', 'L', 'ON', 'ON', 'R', 'R']), ('regression: embedding match test', [['EN', 'ON', 'ON', 'R', 'ON', 'EN', 'L', 'ON', 'L', 'L'], [[1, 7], [2, 4]], 0, 'R'], ['EN', 'L', 'L', 'R', 'L', 'EN', 'L', 'L', 'L', 'L']), ('number inside brackets in RTL context', [['R', 'ON', 'EN', 'ON'], [[1, 3]], 0, 'L'], ['R', 'R', 'EN', 'R']), ('nested pair in RTL embedding', [['L', 'ON', 'ON', 'L', 'ON', 'R', 'ON'], [[1, 6], [2, 4]], 1, 'R'], ['L', 'R', 'R', 'L', 'R', 'R', 'R']), ('control layout', [['L', 'ON', 'ON', 'R', 'ON', 'ON', 'R', 'R'], [[1, 5], [2, 4]], 1, 'L'], ['L', 'R', 'R', 'R', 'R', 'R', 'R', 'R']), ('control layout', [['R', 'R', 'AN', 'R', 'L', 'L', 'L', 'L', 'EN', 'L', 'ON', 'ON', 'ON'], [[10, 11]], 0, 'R'], ['R', 'R', 'AN', 'R', 'L', 'L', 'L', 'L', 'EN', 'L', 'ON', 'ON', 'ON'])], [('regression: embedding match test', [['EN', 'ON', 'ON', 'ON', 'ON', 'R', 'L', 'ON', 'L', 'R'], [[1, 7], [2, 4]], 0, 'R'], ['EN', 'L', 'ON', 'ON', 'ON', 'R', 'L', 'L', 'L', 'R']), ('regression: embedding match test', [['ON', 'ON', 'ON', 'AN', 'ON', 'ON', 'L', 'ON', 'ON', 'L', 'ON'], [[5, 7], [2, 8]], 0, 'R'], ['ON', 'ON', 'L', 'AN', 'ON', 'L', 'L', 'L', 'L', 'L', 'ON']), ('regression: embedding match test', [['L', 'ON', 'ON', 'L', 'ON', 'EN', 'ON', 'R', 'L'], [[1, 6], [2, 4]], 1, 'R'], ['L', 'R', 'R', 'L', 'R', 'EN', 'R', 'R', 'L']), ('partial-repair probe', [['R', 'ON', 'ON', 'L', 'R', 'ON', 'ON', 'ON'], [[1, 7], [2, 5]], 2, 'L'], ['R', 'L', 'L', 'L', 'R', 'L', 'ON', 'L']), ('nested pair in RTL embedding', [['L', 'ON', 'ON', 'L', 'ON', 'R', 'ON'], [[1, 6], [2, 4]], 1, 'R'], ['L', 'R', 'R', 'L', 'R', 'R', 'R']), ('nested pair uses updated outer bracket', [['R', 'ON', 'ON', 'R', 'ON', 'L', 'ON'], [[1, 6], [2, 4]], 0, 'L'], ['R', 'L', 'L', 'R', 'L', 'L', 'L']), ('control layout', [['R', 'ON', 'ON', 'AN', 'L', 'ON', 'ON', 'ON', 'R', 'L'], [[1, 7], [2, 5]], 1, 'R'], ['R', 'R', 'R', 'AN', 'L', 'R', 'ON', 'R', 'R', 'L']), ('control layout', [['R', 'R', 'EN', 'R', 'L', 'EN', 'ON', 'AN', 'ON'], [], 2, 'R'], ['R', 'R', 'EN', 'R', 'L', 'EN', 'ON', 'AN', 'ON'])], [('regression: embedding match test', [['R', 'AN', 'L', 'ON', 'L', 'R', 'L', 'L', 'ON', 'AN'], [[3, 8]], 1, 'R'], ['R', 'AN', 'L', 'R', 'L', 'R', 'L', 'L', 'R', 'AN']), ('regression: embedding match test', [['ON', 'ON', 'ON', 'R', 'ON', 'ON', 'L', 'ON'], [[1, 7], [2, 4]], 2, 'R'], ['ON', 'L', 'L', 'R', 'L', 'ON', 'L', 'L']), ('partial-repair probe', [['L', 'ON', 'ON', 'R', 'EN', 'ON', 'ON', 'ON', 'ON', 'L', 'R', 'ON'], [[8, 11]], 2, 'R'], ['L', 'ON', 'ON', 'R', 'EN', 'ON', 'ON', 'ON', 'L', 'L', 'R', 'L']), ('regression: embedding match test', [['EN', 'ON', 'ON', 'AN', 'L', 'ON', 'R', 'L', 'ON', 'R', 'R'], [[1, 8], [2, 5]], 2, 'R'], ['EN', 'L', 'L', 'AN', 'L', 'L', 'R', 'L', 'L', 'R', 'R']), ('nested pair in RTL embedding', [['L', 'ON', 'ON', 'L', 'ON', 'R', 'ON'], [[1, 6], [2, 4]], 1, 'R'], ['L', 'R', 'R', 'L', 'R', 'R', 'R']), ('nested pair uses updated outer bracket', [['R', 'ON', 'ON', 'R', 'ON', 'L', 'ON'], [[1, 6], [2, 4]], 0, 'L'], ['R', 'L', 'L', 'R', 'L', 'L', 'L']), ('control layout', [['R', 'AN', 'R', 'ON', 'ON', 'ON', 'ON', 'ON', 'L', 'R', 'R', 'R'], [[4, 6]], 2, 'R'], ['R', 'AN', 'R', 'ON', 'ON', 'ON', 'ON', 'ON', 'L', 'R', 'R', 'R']), ('control layout', [['ON', 'EN', 'R'], [], 2, 'R'], ['ON', 'EN', 'R'])], [('regression: embedding match test', [['R', 'ON', 'ON', 'AN', 'L', 'ON', 'L', 'ON', 'ON', 'R'], [[1, 8], [2, 5]], 0, 'L'], ['R', 'L', 'L', 'AN', 'L', 'L', 'L', 'ON', 'L', 'R']), ('regression: embedding match test', [['R', 'ON', 'ON', 'R', 'ON', 'L', 'ON', 'L'], [[1, 6], [2, 4]], 2, 'R'], ['R', 'L', 'L', 'R', 'L', 'L', 'L', 'L']), ('partial-repair probe', [['R', 'ON', 'ON', 'L', 'R', 'ON', 'ON', 'ON'], [[1, 7], [2, 5]], 0, 'R'], ['R', 'L', 'L', 'L', 'R', 'L', 'ON', 'L']), ('partial-repair probe', [['ON', 'L', 'R', 'ON', 'ON', 'L', 'L', 'R', 'R', 'ON', 'R', 'L'], [[0, 4]], 2, 'R'], ['L', 'L', 'R', 'ON', 'L', 'L', 'L', 'R', 'R', 'ON', 'R', 'L']), ('nested pair in RTL embedding', [['L', 'ON', 'ON', 'L', 'ON', 'R', 'ON'], [[1, 6], [2, 4]], 1, 'R'], ['L', 'R', 'R', 'L', 'R', 'R', 'R']), ('nested pair uses updated outer bracket', [['R', 'ON', 'ON', 'R', 'ON', 'L', 'ON'], [[1, 6], [2, 4]], 0, 'L'], ['R', 'L', 'L', 'R', 'L', 'L', 'L']), ('control layout', [['L', 'AN', 'L', 'ON'], [], 0, 'L'], ['L', 'AN', 'L', 'ON']), ('control layout', [['ON', 'R', 'R', 'AN', 'L', 'AN', 'EN', 'ON'], [], 2, 'L'], ['ON', 'R', 'R', 'AN', 'L', 'AN', 'EN', 'ON'])], [('regression: embedding match test', [['R', 'AN', 'L', 'ON', 'L', 'R', 'L', 'L', 'ON', 'AN'], [[3, 8]], 1, 'R'], ['R', 'AN', 'L', 'R', 'L', 'R', 'L', 'L', 'R', 'AN']), ('regression: embedding match test', [['EN', 'ON', 'ON', 'AN', 'L', 'ON', 'R', 'L', 'ON', 'R', 'R'], [[1, 8], [2, 5]], 2, 'R'], ['EN', 'L', 'L', 'AN', 'L', 'L', 'R', 'L', 'L', 'R', 'R']), ('regression: embedding match test', [['L', 'ON', 'R', 'ON', 'AN', 'L', 'ON', 'L', 'ON', 'EN', 'L', 'AN'], [[3, 6]], 2, 'R'], ['L', 'ON', 'R', 'L', 'AN', 'L', 'L', 'L', 'ON', 'EN', 'L', 'AN']), ('regression: embedding match test', [['R', 'ON', 'ON', 'R', 'R', 'ON', 'L', 'L', 'ON', 'L'], [[1, 8], [2, 5]], 2, 'R'], ['R', 'L', 'L', 'R', 'R', 'L', 'L', 'L', 'L', 'L']), ('nested pair in RTL embedding', [['L', 'ON', 'ON', 'L', 'ON', 'R', 'ON'], [[1, 6], [2, 4]], 1, 'R'], ['L', 'R', 'R', 'L', 'R', 'R', 'R']), ('number inside brackets in RTL context', [['R', 'ON', 'EN', 'ON'], [[1, 3]], 0, 'L'], ['R', 'R', 'EN', 'R']), ('control layout', [['R', 'L', 'L', 'ON', 'AN', 'ON', 'R', 'ON', 'ON', 'R', 'ON', 'R', 'L'], [], 0, 'R'], ['R', 'L', 'L', 'ON', 'AN', 'ON', 'R', 'ON', 'ON', 'R', 'ON', 'R', 'L']), ('control layout', [['ON', 'ON', 'R', 'L', 'R', 'EN', 'R', 'ON', 'ON', 'L', 'ON'], [], 1, 'R'], ['ON', 'ON', 'R', 'L', 'R', 'EN', 'R', 'ON', 'ON', 'L', 'ON'])]]\nfor label, args, expected in fixtures[N - 1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"A deterministic toy bidi model over stipulated class labels and integer levels; it is inspired by, but does not claim conformance to, any published algorithm. 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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-bidirectional-text-layout-bracket-resolution-embedding-match-test","generated_at":"2026-09-29T14:49:55.501344+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Mixed right-to-left and left-to-right text must resolve levels and visual order exactly, or words, numbers and carets land in the wrong place.","repair":"Resolve to the embedding direction if any inside strong type matches it.","root_cause":"Only the first strong type inside is compared with the embedding direction.","sha256":"ffb1ca720669d01bec1a3a1ba781c3422d0d50ba374ee0e5f2241bfdca9c773e","title":"Paired bracket direction: embedding match test · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.478,"exit_code":1,"observations":[{"actual":["R","R","R","R","R","L","R"],"check":"nested pair uses updated outer bracket","expected":["R","L","L","R","L","L","L"],"passed":false},{"actual":["R","R","R","R","L","R","ON","R","R"],"check":"regression: embedding match test","expected":["R","L","L","R","L","L","ON","R","L"],"passed":false},{"actual":["R","R","L","L","L","R","L","ON","ON","R","R"],"check":"regression: embedding match test","expected":["L","R","L","L","L","L","L","ON","ON","R","R"],"passed":false},{"actual":["EN","R","R","R","R","EN","L","R","L","L"],"check":"regression: embedding match test","expected":["EN","L","L","R","L","EN","L","L","L","L"],"passed":false},{"actual":["R","R","EN","R"],"check":"number inside brackets in RTL context","expected":["R","R","EN","R"],"passed":true},{"actual":["L","L","L","L","L","R","L"],"check":"nested pair in RTL embedding","expected":["L","R","R","L","R","R","R"],"passed":false},{"actual":["L","R","R","R","R","R","R","R"],"check":"control layout","expected":["L","R","R","R","R","R","R","R"],"passed":true},{"actual":["R","R","AN","R","L","L","L","L","EN","L","ON","ON","ON"],"check":"control layout","expected":["R","R","AN","R","L","L","L","L","EN","L","ON","ON","ON"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"nested pair uses updated outer bracket\", \"actual\": [\"R\", \"R\", \"R\", \"R\", \"R\", \"L\", \"R\"], \"expected\": [\"R\", \"L\", \"L\", \"R\", \"L\", \"L\", \"L\"], \"passed\": false}, {\"check\": \"regression: embedding match test\", \"actual\": [\"R\", \"R\", \"R\", \"R\", \"L\", \"R\", \"ON\", \"R\", \"R\"], \"expected\": [\"R\", \"L\", \"L\", \"R\", \"L\", \"L\", \"ON\", \"R\", \"L\"], \"passed\": false}, {\"check\": \"regression: embedding match test\", \"actual\": [\"R\", \"R\", \"L\", \"L\", \"L\", \"R\", \"L\", \"ON\", \"ON\", \"R\", \"R\"], \"expected\": [\"L\", \"R\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"ON\", \"R\", \"R\"], \"passed\": false}, {\"check\": \"regression: embedding match test\", \"actual\": [\"EN\", \"R\", \"R\", \"R\", \"R\", \"EN\", \"L\", \"R\", \"L\", \"L\"], \"expected\": [\"EN\", \"L\", \"L\", \"R\", \"L\", \"EN\", \"L\", \"L\", \"L\", \"L\"], \"passed\": false}, {\"check\": \"number inside brackets in RTL context\", \"actual\": [\"R\", \"R\", \"EN\", \"R\"], \"expected\": [\"R\", \"R\", \"EN\", \"R\"], \"passed\": true}, {\"check\": \"nested pair in RTL embedding\", \"actual\": [\"L\", \"L\", \"L\", \"L\", \"L\", \"R\", \"L\"], \"expected\": [\"L\", \"R\", \"R\", \"L\", \"R\", \"R\", \"R\"], \"passed\": false}, {\"check\": \"control layout\", \"actual\": [\"L\", \"R\", \"R\", \"R\", \"R\", \"R\", \"R\", \"R\"], \"expected\": [\"L\", \"R\", \"R\", \"R\", \"R\", \"R\", \"R\", \"R\"], \"passed\": true}, {\"check\": \"control layout\", \"actual\": [\"R\", \"R\", \"AN\", \"R\", \"L\", \"L\", \"L\", \"L\", \"EN\", \"L\", \"ON\", \"ON\", \"ON\"], \"expected\": [\"R\", \"R\", \"AN\", \"R\", \"L\", \"L\", \"L\", \"L\", \"EN\", \"L\", \"ON\", \"ON\", \"ON\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.857,"exit_code":1,"observations":[{"actual":["R","R","R","R","R","L","R"],"check":"nested pair uses updated outer bracket","expected":["R","L","L","R","L","L","L"],"passed":false},{"actual":["R","R","R","R","L","R","ON","R","R"],"check":"regression: embedding match test","expected":["R","L","L","R","L","L","ON","R","L"],"passed":false},{"actual":["R","R","L","L","L","R","L","ON","ON","R","R"],"check":"regression: embedding match test","expected":["L","R","L","L","L","L","L","ON","ON","R","R"],"passed":false},{"actual":["EN","R","R","R","R","EN","L","R","L","L"],"check":"regression: embedding match test","expected":["EN","L","L","R","L","EN","L","L","L","L"],"passed":false},{"actual":["R","R","EN","R"],"check":"number inside brackets in RTL context","expected":["R","R","EN","R"],"passed":true},{"actual":["L","L","L","L","L","R","L"],"check":"nested pair in RTL embedding","expected":["L","R","R","L","R","R","R"],"passed":false},{"actual":["L","R","R","R","R","R","R","R"],"check":"control layout","expected":["L","R","R","R","R","R","R","R"],"passed":true},{"actual":["R","R","AN","R","L","L","L","L","EN","L","ON","ON","ON"],"check":"control layout","expected":["R","R","AN","R","L","L","L","L","EN","L","ON","ON","ON"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"nested pair uses updated outer bracket\", \"actual\": [\"R\", \"R\", \"R\", \"R\", \"R\", \"L\", \"R\"], \"expected\": [\"R\", \"L\", \"L\", \"R\", \"L\", \"L\", \"L\"], \"passed\": false}, {\"check\": \"regression: embedding match test\", \"actual\": [\"R\", \"R\", \"R\", \"R\", \"L\", \"R\", \"ON\", \"R\", \"R\"], \"expected\": [\"R\", \"L\", \"L\", \"R\", \"L\", \"L\", \"ON\", \"R\", \"L\"], \"passed\": false}, {\"check\": \"regression: embedding match test\", \"actual\": [\"R\", \"R\", \"L\", \"L\", \"L\", \"R\", \"L\", \"ON\", \"ON\", \"R\", \"R\"], \"expected\": [\"L\", \"R\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"ON\", \"R\", \"R\"], \"passed\": false}, {\"check\": \"regression: embedding match test\", \"actual\": [\"EN\", \"R\", \"R\", \"R\", \"R\", \"EN\", \"L\", \"R\", \"L\", \"L\"], \"expected\": [\"EN\", \"L\", \"L\", \"R\", \"L\", \"EN\", \"L\", \"L\", \"L\", \"L\"], \"passed\": false}, {\"check\": \"number inside brackets in RTL context\", \"actual\": [\"R\", \"R\", \"EN\", \"R\"], \"expected\": [\"R\", \"R\", \"EN\", \"R\"], \"passed\": true}, {\"check\": \"nested pair in RTL embedding\", \"actual\": [\"L\", \"L\", \"L\", \"L\", \"L\", \"R\", \"L\"], \"expected\": [\"L\", \"R\", \"R\", \"L\", \"R\", \"R\", \"R\"], \"passed\": false}, {\"check\": \"control layout\", \"actual\": [\"L\", \"R\", \"R\", \"R\", \"R\", \"R\", \"R\", \"R\"], \"expected\": [\"L\", \"R\", \"R\", \"R\", \"R\", \"R\", \"R\", \"R\"], \"passed\": true}, {\"check\": \"control layout\", \"actual\": [\"R\", \"R\", \"AN\", \"R\", \"L\", \"L\", \"L\", \"L\", \"EN\", \"L\", \"ON\", \"ON\", \"ON\"], \"expected\": [\"R\", \"R\", \"AN\", \"R\", \"L\", \"L\", \"L\", \"L\", \"EN\", \"L\", \"ON\", \"ON\", \"ON\"], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.835,"exit_code":0,"observations":[{"actual":["R","L","L","R","L","L","L"],"check":"nested pair uses updated outer bracket","expected":["R","L","L","R","L","L","L"],"passed":true},{"actual":["R","L","L","R","L","L","ON","R","L"],"check":"regression: embedding match test","expected":["R","L","L","R","L","L","ON","R","L"],"passed":true},{"actual":["L","R","L","L","L","L","L","ON","ON","R","R"],"check":"regression: embedding match test","expected":["L","R","L","L","L","L","L","ON","ON","R","R"],"passed":true},{"actual":["EN","L","L","R","L","EN","L","L","L","L"],"check":"regression: embedding match test","expected":["EN","L","L","R","L","EN","L","L","L","L"],"passed":true},{"actual":["R","R","EN","R"],"check":"number inside brackets in RTL context","expected":["R","R","EN","R"],"passed":true},{"actual":["L","R","R","L","R","R","R"],"check":"nested pair in RTL embedding","expected":["L","R","R","L","R","R","R"],"passed":true},{"actual":["L","R","R","R","R","R","R","R"],"check":"control layout","expected":["L","R","R","R","R","R","R","R"],"passed":true},{"actual":["R","R","AN","R","L","L","L","L","EN","L","ON","ON","ON"],"check":"control layout","expected":["R","R","AN","R","L","L","L","L","EN","L","ON","ON","ON"],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"nested pair uses updated outer bracket\", \"actual\": [\"R\", \"L\", \"L\", \"R\", \"L\", \"L\", \"L\"], \"expected\": [\"R\", \"L\", \"L\", \"R\", \"L\", \"L\", \"L\"], \"passed\": true}, {\"check\": \"regression: embedding match test\", \"actual\": [\"R\", \"L\", \"L\", \"R\", \"L\", \"L\", \"ON\", \"R\", \"L\"], \"expected\": [\"R\", \"L\", \"L\", \"R\", \"L\", \"L\", \"ON\", \"R\", \"L\"], \"passed\": true}, {\"check\": \"regression: embedding match test\", \"actual\": [\"L\", \"R\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"ON\", \"R\", \"R\"], \"expected\": [\"L\", \"R\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"ON\", \"R\", \"R\"], \"passed\": true}, {\"check\": \"regression: embedding match test\", \"actual\": [\"EN\", \"L\", \"L\", \"R\", \"L\", \"EN\", \"L\", \"L\", \"L\", \"L\"], \"expected\": [\"EN\", \"L\", \"L\", \"R\", \"L\", \"EN\", \"L\", \"L\", \"L\", \"L\"], \"passed\": true}, {\"check\": \"number inside brackets in RTL context\", \"actual\": [\"R\", \"R\", \"EN\", \"R\"], \"expected\": [\"R\", \"R\", \"EN\", \"R\"], \"passed\": true}, {\"check\": \"nested pair in RTL embedding\", \"actual\": [\"L\", \"R\", \"R\", \"L\", \"R\", \"R\", \"R\"], \"expected\": [\"L\", \"R\", \"R\", \"L\", \"R\", \"R\", \"R\"], \"passed\": true}, {\"check\": \"control layout\", \"actual\": [\"L\", \"R\", \"R\", \"R\", \"R\", \"R\", \"R\", \"R\"], \"expected\": [\"L\", \"R\", \"R\", \"R\", \"R\", \"R\", \"R\", \"R\"], \"passed\": true}, {\"check\": \"control layout\", \"actual\": [\"R\", \"R\", \"AN\", \"R\", \"L\", \"L\", \"L\", \"L\", \"EN\", \"L\", \"ON\", \"ON\", \"ON\"], \"expected\": [\"R\", \"R\", \"AN\", \"R\", \"L\", \"L\", \"L\", \"L\", \"EN\", \"L\", \"ON\", \"ON\", \"ON\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}