{"abstract":"Changing facet search replaces rather than appends the old page set is violated by the widget projection.","category":"Filter interfaces","checks":10,"contract":"A paged facet picker merges option identities, respects continuation state, and keeps selected off-page options visible in a dedicated selection summary. This example checks: Changing facet search replaces rather than appends the old page set.","evaluation_group":"s3-filter-interfaces-facet-pagination","failed_approach":"The attempted correction `list(d['page'])` still violates the explicit contract fixtures.","family":"s3-filter-interfaces-facet-pagination-replace-query","id":"FA-25131","implementations":{"attempt":{"sha256":"968acc2cd6d46d7504b978b656413f4ac2922212835ada7e34b228d956c3f2e9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'merge-order':(list(dict.fromkeys(d['old']+d['page']))), 'load-more':(d['cursor'] is not None and not d['loading']), 'off-page':([x for x in d['selected'] if x not in d['old']+d['page']]), 'end-marker':(d['cursor'] is None), 'replace-query':(list(d['page'])), 'visible-total':(len(set(d['old']+d['page'])))}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': None, 'loading': False, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': [], 'end-marker': True, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': '', 'loading': True, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': ['b', 'a'], 'visible-total': 2}), ({'old': [], 'page': [], 'selected': [], 'cursor': '', 'loading': True, 'changed': True}, {'merge-order': [], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': [], 'visible-total': 0}), ({'old': [], 'page': [], 'selected': ['z', 'b'], 'cursor': None, 'loading': True, 'changed': True}, {'merge-order': [], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': True, 'replace-query': [], 'visible-total': 0}), ({'old': [], 'page': [], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': True, 'changed': True}, {'merge-order': [], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': False, 'replace-query': [], 'visible-total': 0}), ({'old': [], 'page': ['a', 'c'], 'selected': [], 'cursor': '', 'loading': True, 'changed': True}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': None, 'loading': True, 'changed': True}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': True, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': True, 'changed': True}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': '', 'loading': True, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': None, 'loading': True, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': ['z'], 'end-marker': True, 'replace-query': [], 'visible-total': 2})], 2: [({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': None, 'loading': True, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': [], 'end-marker': True, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': None, 'loading': False, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': ['z'], 'end-marker': True, 'replace-query': ['b', 'a'], 'visible-total': 2}), ({'old': [], 'page': [], 'selected': ['z', 'b'], 'cursor': None, 'loading': True, 'changed': False}, {'merge-order': [], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': True, 'replace-query': [], 'visible-total': 0}), ({'old': [], 'page': [], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': True, 'changed': False}, {'merge-order': [], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': False, 'replace-query': [], 'visible-total': 0}), ({'old': [], 'page': ['a', 'c'], 'selected': [], 'cursor': '', 'loading': True, 'changed': False}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': None, 'loading': True, 'changed': False}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': True, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': True, 'changed': False}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': '', 'loading': True, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': ['b', 'a'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': None, 'loading': True, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': ['z'], 'end-marker': True, 'replace-query': ['b', 'a'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': True, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': ['z'], 'end-marker': False, 'replace-query': ['b', 'a'], 'visible-total': 2})], 3: [({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': '', 'loading': False, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': True, 'off-page': [], 'end-marker': False, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': '', 'loading': True, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': ['z'], 'end-marker': False, 'replace-query': ['b', 'a'], 'visible-total': 2}), ({'old': [], 'page': [], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': False, 'changed': True}, {'merge-order': [], 'load-more': True, 'off-page': ['z', 'b'], 'end-marker': False, 'replace-query': [], 'visible-total': 0}), ({'old': [], 'page': ['a', 'c'], 'selected': [], 'cursor': '', 'loading': False, 'changed': True}, {'merge-order': ['a', 'c'], 'load-more': True, 'off-page': [], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': None, 'loading': False, 'changed': True}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': True, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': False, 'changed': True}, {'merge-order': ['a', 'c'], 'load-more': True, 'off-page': ['z', 'b'], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': None, 'loading': False, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': ['z'], 'end-marker': True, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': False, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': True, 'off-page': ['z'], 'end-marker': False, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': [], 'cursor': '', 'loading': False, 'changed': True}, {'merge-order': ['b', 'a', 'c'], 'load-more': True, 'off-page': [], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 3}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': None, 'loading': False, 'changed': True}, {'merge-order': ['b', 'a', 'c'], 'load-more': False, 'off-page': ['z'], 'end-marker': True, 'replace-query': ['a', 'c'], 'visible-total': 3})], 4: [({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': '', 'loading': True, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': [], 'cursor': None, 'loading': False, 'changed': False}, {'merge-order': ['b', 'a', 'c'], 'load-more': False, 'off-page': [], 'end-marker': True, 'replace-query': ['b', 'a', 'c'], 'visible-total': 3}), ({'old': [], 'page': ['a', 'c'], 'selected': [], 'cursor': '', 'loading': False, 'changed': False}, {'merge-order': ['a', 'c'], 'load-more': True, 'off-page': [], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': None, 'loading': False, 'changed': False}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': True, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': False, 'changed': False}, {'merge-order': ['a', 'c'], 'load-more': True, 'off-page': ['z', 'b'], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': '', 'loading': False, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': True, 'off-page': [], 'end-marker': False, 'replace-query': ['b', 'a'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': None, 'loading': False, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': ['z'], 'end-marker': True, 'replace-query': ['b', 'a'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': False, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': True, 'off-page': ['z'], 'end-marker': False, 'replace-query': ['b', 'a'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': [], 'cursor': '', 'loading': False, 'changed': False}, {'merge-order': ['b', 'a', 'c'], 'load-more': True, 'off-page': [], 'end-marker': False, 'replace-query': ['b', 'a', 'c'], 'visible-total': 3}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': None, 'loading': False, 'changed': False}, {'merge-order': ['b', 'a', 'c'], 'load-more': False, 'off-page': ['z'], 'end-marker': True, 'replace-query': ['b', 'a', 'c'], 'visible-total': 3})], 5: [({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': 'next', 'loading': False, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': True, 'off-page': [], 'end-marker': False, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': [], 'cursor': '', 'loading': True, 'changed': False}, {'merge-order': ['b', 'a', 'c'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': ['b', 'a', 'c'], 'visible-total': 3}), ({'old': [], 'page': ['a', 'c'], 'selected': [], 'cursor': 'next', 'loading': True, 'changed': True}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': '', 'loading': True, 'changed': True}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': None, 'loading': True, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': [], 'end-marker': True, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': 'next', 'loading': True, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': '', 'loading': True, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': ['z'], 'end-marker': False, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': [], 'cursor': None, 'loading': True, 'changed': True}, {'merge-order': ['b', 'a', 'c'], 'load-more': False, 'off-page': [], 'end-marker': True, 'replace-query': ['a', 'c'], 'visible-total': 3}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': [], 'cursor': 'next', 'loading': True, 'changed': True}, {'merge-order': ['b', 'a', 'c'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 3}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': '', 'loading': True, 'changed': True}, {'merge-order': ['b', 'a', 'c'], 'load-more': False, 'off-page': ['z'], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 3})]}\nfor index, (data, expected) in enumerate(fixtures[N]):\n    check(\"contract fixture \" + str(index), solve(data), 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":"cbfdac88c9af95edadefe75e38155ede49d70a92b67b1806d611e4f3b147be77","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'merge-order':(list(dict.fromkeys(d['old']+d['page']))), 'load-more':(d['cursor'] is not None and not d['loading']), 'off-page':([x for x in d['selected'] if x not in d['old']+d['page']]), 'end-marker':(d['cursor'] is None), 'replace-query':(list(dict.fromkeys(d['old']+d['page']))), 'visible-total':(len(set(d['old']+d['page'])))}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': None, 'loading': False, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': [], 'end-marker': True, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': '', 'loading': True, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': ['b', 'a'], 'visible-total': 2}), ({'old': [], 'page': [], 'selected': [], 'cursor': '', 'loading': True, 'changed': True}, {'merge-order': [], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': [], 'visible-total': 0}), ({'old': [], 'page': [], 'selected': ['z', 'b'], 'cursor': None, 'loading': True, 'changed': True}, {'merge-order': [], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': True, 'replace-query': [], 'visible-total': 0}), ({'old': [], 'page': [], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': True, 'changed': True}, {'merge-order': [], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': False, 'replace-query': [], 'visible-total': 0}), ({'old': [], 'page': ['a', 'c'], 'selected': [], 'cursor': '', 'loading': True, 'changed': True}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': None, 'loading': True, 'changed': True}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': True, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': True, 'changed': True}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': '', 'loading': True, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': None, 'loading': True, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': ['z'], 'end-marker': True, 'replace-query': [], 'visible-total': 2})], 2: [({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': None, 'loading': True, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': [], 'end-marker': True, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': None, 'loading': False, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': ['z'], 'end-marker': True, 'replace-query': ['b', 'a'], 'visible-total': 2}), ({'old': [], 'page': [], 'selected': ['z', 'b'], 'cursor': None, 'loading': True, 'changed': False}, {'merge-order': [], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': True, 'replace-query': [], 'visible-total': 0}), ({'old': [], 'page': [], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': True, 'changed': False}, {'merge-order': [], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': False, 'replace-query': [], 'visible-total': 0}), ({'old': [], 'page': ['a', 'c'], 'selected': [], 'cursor': '', 'loading': True, 'changed': False}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': None, 'loading': True, 'changed': False}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': True, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': True, 'changed': False}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': '', 'loading': True, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': ['b', 'a'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': None, 'loading': True, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': ['z'], 'end-marker': True, 'replace-query': ['b', 'a'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': True, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': ['z'], 'end-marker': False, 'replace-query': ['b', 'a'], 'visible-total': 2})], 3: [({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': '', 'loading': False, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': True, 'off-page': [], 'end-marker': False, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': '', 'loading': True, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': ['z'], 'end-marker': False, 'replace-query': ['b', 'a'], 'visible-total': 2}), ({'old': [], 'page': [], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': False, 'changed': True}, {'merge-order': [], 'load-more': True, 'off-page': ['z', 'b'], 'end-marker': False, 'replace-query': [], 'visible-total': 0}), ({'old': [], 'page': ['a', 'c'], 'selected': [], 'cursor': '', 'loading': False, 'changed': True}, {'merge-order': ['a', 'c'], 'load-more': True, 'off-page': [], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': None, 'loading': False, 'changed': True}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': True, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': False, 'changed': True}, {'merge-order': ['a', 'c'], 'load-more': True, 'off-page': ['z', 'b'], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': None, 'loading': False, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': ['z'], 'end-marker': True, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': False, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': True, 'off-page': ['z'], 'end-marker': False, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': [], 'cursor': '', 'loading': False, 'changed': True}, {'merge-order': ['b', 'a', 'c'], 'load-more': True, 'off-page': [], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 3}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': None, 'loading': False, 'changed': True}, {'merge-order': ['b', 'a', 'c'], 'load-more': False, 'off-page': ['z'], 'end-marker': True, 'replace-query': ['a', 'c'], 'visible-total': 3})], 4: [({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': '', 'loading': True, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': [], 'cursor': None, 'loading': False, 'changed': False}, {'merge-order': ['b', 'a', 'c'], 'load-more': False, 'off-page': [], 'end-marker': True, 'replace-query': ['b', 'a', 'c'], 'visible-total': 3}), ({'old': [], 'page': ['a', 'c'], 'selected': [], 'cursor': '', 'loading': False, 'changed': False}, {'merge-order': ['a', 'c'], 'load-more': True, 'off-page': [], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': None, 'loading': False, 'changed': False}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': True, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': False, 'changed': False}, {'merge-order': ['a', 'c'], 'load-more': True, 'off-page': ['z', 'b'], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': '', 'loading': False, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': True, 'off-page': [], 'end-marker': False, 'replace-query': ['b', 'a'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': None, 'loading': False, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': ['z'], 'end-marker': True, 'replace-query': ['b', 'a'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': False, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': True, 'off-page': ['z'], 'end-marker': False, 'replace-query': ['b', 'a'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': [], 'cursor': '', 'loading': False, 'changed': False}, {'merge-order': ['b', 'a', 'c'], 'load-more': True, 'off-page': [], 'end-marker': False, 'replace-query': ['b', 'a', 'c'], 'visible-total': 3}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': None, 'loading': False, 'changed': False}, {'merge-order': ['b', 'a', 'c'], 'load-more': False, 'off-page': ['z'], 'end-marker': True, 'replace-query': ['b', 'a', 'c'], 'visible-total': 3})], 5: [({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': 'next', 'loading': False, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': True, 'off-page': [], 'end-marker': False, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': [], 'cursor': '', 'loading': True, 'changed': False}, {'merge-order': ['b', 'a', 'c'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': ['b', 'a', 'c'], 'visible-total': 3}), ({'old': [], 'page': ['a', 'c'], 'selected': [], 'cursor': 'next', 'loading': True, 'changed': True}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': '', 'loading': True, 'changed': True}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': None, 'loading': True, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': [], 'end-marker': True, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': 'next', 'loading': True, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': '', 'loading': True, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': ['z'], 'end-marker': False, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': [], 'cursor': None, 'loading': True, 'changed': True}, {'merge-order': ['b', 'a', 'c'], 'load-more': False, 'off-page': [], 'end-marker': True, 'replace-query': ['a', 'c'], 'visible-total': 3}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': [], 'cursor': 'next', 'loading': True, 'changed': True}, {'merge-order': ['b', 'a', 'c'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 3}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': '', 'loading': True, 'changed': True}, {'merge-order': ['b', 'a', 'c'], 'load-more': False, 'off-page': ['z'], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 3})]}\nfor index, (data, expected) in enumerate(fixtures[N]):\n    check(\"contract fixture \" + str(index), solve(data), 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":"db3f0057637977f3ce62d53367fcc1bb6203005b020ab0b192a65b760338e97b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'merge-order':(list(dict.fromkeys(d['old']+d['page']))), 'load-more':(d['cursor'] is not None and not d['loading']), 'off-page':([x for x in d['selected'] if x not in d['old']+d['page']]), 'end-marker':(d['cursor'] is None), 'replace-query':(list(d['page']) if d['changed'] else list(dict.fromkeys(d['old']+d['page']))), 'visible-total':(len(set(d['old']+d['page'])))}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': None, 'loading': False, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': [], 'end-marker': True, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': '', 'loading': True, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': ['b', 'a'], 'visible-total': 2}), ({'old': [], 'page': [], 'selected': [], 'cursor': '', 'loading': True, 'changed': True}, {'merge-order': [], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': [], 'visible-total': 0}), ({'old': [], 'page': [], 'selected': ['z', 'b'], 'cursor': None, 'loading': True, 'changed': True}, {'merge-order': [], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': True, 'replace-query': [], 'visible-total': 0}), ({'old': [], 'page': [], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': True, 'changed': True}, {'merge-order': [], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': False, 'replace-query': [], 'visible-total': 0}), ({'old': [], 'page': ['a', 'c'], 'selected': [], 'cursor': '', 'loading': True, 'changed': True}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': None, 'loading': True, 'changed': True}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': True, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': True, 'changed': True}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': '', 'loading': True, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': None, 'loading': True, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': ['z'], 'end-marker': True, 'replace-query': [], 'visible-total': 2})], 2: [({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': None, 'loading': True, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': [], 'end-marker': True, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': None, 'loading': False, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': ['z'], 'end-marker': True, 'replace-query': ['b', 'a'], 'visible-total': 2}), ({'old': [], 'page': [], 'selected': ['z', 'b'], 'cursor': None, 'loading': True, 'changed': False}, {'merge-order': [], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': True, 'replace-query': [], 'visible-total': 0}), ({'old': [], 'page': [], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': True, 'changed': False}, {'merge-order': [], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': False, 'replace-query': [], 'visible-total': 0}), ({'old': [], 'page': ['a', 'c'], 'selected': [], 'cursor': '', 'loading': True, 'changed': False}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': None, 'loading': True, 'changed': False}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': True, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': True, 'changed': False}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': '', 'loading': True, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': ['b', 'a'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': None, 'loading': True, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': ['z'], 'end-marker': True, 'replace-query': ['b', 'a'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': True, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': ['z'], 'end-marker': False, 'replace-query': ['b', 'a'], 'visible-total': 2})], 3: [({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': '', 'loading': False, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': True, 'off-page': [], 'end-marker': False, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': '', 'loading': True, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': ['z'], 'end-marker': False, 'replace-query': ['b', 'a'], 'visible-total': 2}), ({'old': [], 'page': [], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': False, 'changed': True}, {'merge-order': [], 'load-more': True, 'off-page': ['z', 'b'], 'end-marker': False, 'replace-query': [], 'visible-total': 0}), ({'old': [], 'page': ['a', 'c'], 'selected': [], 'cursor': '', 'loading': False, 'changed': True}, {'merge-order': ['a', 'c'], 'load-more': True, 'off-page': [], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': None, 'loading': False, 'changed': True}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': True, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': False, 'changed': True}, {'merge-order': ['a', 'c'], 'load-more': True, 'off-page': ['z', 'b'], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': None, 'loading': False, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': ['z'], 'end-marker': True, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': False, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': True, 'off-page': ['z'], 'end-marker': False, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': [], 'cursor': '', 'loading': False, 'changed': True}, {'merge-order': ['b', 'a', 'c'], 'load-more': True, 'off-page': [], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 3}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': None, 'loading': False, 'changed': True}, {'merge-order': ['b', 'a', 'c'], 'load-more': False, 'off-page': ['z'], 'end-marker': True, 'replace-query': ['a', 'c'], 'visible-total': 3})], 4: [({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': '', 'loading': True, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': [], 'cursor': None, 'loading': False, 'changed': False}, {'merge-order': ['b', 'a', 'c'], 'load-more': False, 'off-page': [], 'end-marker': True, 'replace-query': ['b', 'a', 'c'], 'visible-total': 3}), ({'old': [], 'page': ['a', 'c'], 'selected': [], 'cursor': '', 'loading': False, 'changed': False}, {'merge-order': ['a', 'c'], 'load-more': True, 'off-page': [], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': None, 'loading': False, 'changed': False}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': True, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': False, 'changed': False}, {'merge-order': ['a', 'c'], 'load-more': True, 'off-page': ['z', 'b'], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': '', 'loading': False, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': True, 'off-page': [], 'end-marker': False, 'replace-query': ['b', 'a'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': None, 'loading': False, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': ['z'], 'end-marker': True, 'replace-query': ['b', 'a'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': 'next', 'loading': False, 'changed': False}, {'merge-order': ['b', 'a'], 'load-more': True, 'off-page': ['z'], 'end-marker': False, 'replace-query': ['b', 'a'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': [], 'cursor': '', 'loading': False, 'changed': False}, {'merge-order': ['b', 'a', 'c'], 'load-more': True, 'off-page': [], 'end-marker': False, 'replace-query': ['b', 'a', 'c'], 'visible-total': 3}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': None, 'loading': False, 'changed': False}, {'merge-order': ['b', 'a', 'c'], 'load-more': False, 'off-page': ['z'], 'end-marker': True, 'replace-query': ['b', 'a', 'c'], 'visible-total': 3})], 5: [({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': 'next', 'loading': False, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': True, 'off-page': [], 'end-marker': False, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': [], 'cursor': '', 'loading': True, 'changed': False}, {'merge-order': ['b', 'a', 'c'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': ['b', 'a', 'c'], 'visible-total': 3}), ({'old': [], 'page': ['a', 'c'], 'selected': [], 'cursor': 'next', 'loading': True, 'changed': True}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': [], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': '', 'loading': True, 'changed': True}, {'merge-order': ['a', 'c'], 'load-more': False, 'off-page': ['z', 'b'], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': None, 'loading': True, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': [], 'end-marker': True, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': [], 'cursor': 'next', 'loading': True, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': [], 'selected': ['z', 'b'], 'cursor': '', 'loading': True, 'changed': True}, {'merge-order': ['b', 'a'], 'load-more': False, 'off-page': ['z'], 'end-marker': False, 'replace-query': [], 'visible-total': 2}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': [], 'cursor': None, 'loading': True, 'changed': True}, {'merge-order': ['b', 'a', 'c'], 'load-more': False, 'off-page': [], 'end-marker': True, 'replace-query': ['a', 'c'], 'visible-total': 3}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': [], 'cursor': 'next', 'loading': True, 'changed': True}, {'merge-order': ['b', 'a', 'c'], 'load-more': False, 'off-page': [], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 3}), ({'old': ['b', 'a'], 'page': ['a', 'c'], 'selected': ['z', 'b'], 'cursor': '', 'loading': True, 'changed': True}, {'merge-order': ['b', 'a', 'c'], 'load-more': False, 'off-page': ['z'], 'end-marker': False, 'replace-query': ['a', 'c'], 'visible-total': 3})]}\nfor index, (data, expected) in enumerate(fixtures[N]):\n    check(\"contract fixture \" + str(index), solve(data), 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":"Deterministic bounded UI-state model only; no browser, query engine, network, or production-standard conformance is claimed. 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":"s3-filter-interfaces-facet-pagination-replace-query","generated_at":"2026-09-29T14:41:03.881742+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Filter-widget state and serialization must preserve user constraints while the view changes.","repair":"Implement the declared replace-query projection: `list(d['page']) if d['changed'] else list(dict.fromkeys(d['old']+d['page']))`.","root_cause":"The replace-query decision uses `list(dict.fromkeys(d['old']+d['page']))` instead of the stipulated facet-pagination projection.","sha256":"158ea33db4bcfc23c9c543abcbb8b5034c95158286cdd34cc5b62419b4da11d6","title":"Changing facet search replaces rather than appends the old page set · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.626,"exit_code":1,"observations":[{"actual":{"end-marker":true,"load-more":false,"merge-order":["b","a"],"off-page":[],"replace-query":[],"visible-total":2},"check":"contract fixture 0","expected":{"end-marker":true,"load-more":false,"merge-order":["b","a"],"off-page":[],"replace-query":[],"visible-total":2},"passed":true},{"actual":{"end-marker":false,"load-more":false,"merge-order":["b","a"],"off-page":[],"replace-query":[],"visible-total":2},"check":"contract fixture 1","expected":{"end-marker":false,"load-more":false,"merge-order":["b","a"],"off-page":[],"replace-query":["b","a"],"visible-total":2},"passed":false},{"actual":{"end-marker":false,"load-more":false,"merge-order":[],"off-page":[],"replace-query":[],"visible-total":0},"check":"contract fixture 2","expected":{"end-marker":false,"load-more":false,"merge-order":[],"off-page":[],"replace-query":[],"visible-total":0},"passed":true},{"actual":{"end-marker":true,"load-more":false,"merge-order":[],"off-page":["z","b"],"replace-query":[],"visible-total":0},"check":"contract fixture 3","expected":{"end-marker":true,"load-more":false,"merge-order":[],"off-page":["z","b"],"replace-query":[],"visible-total":0},"passed":true},{"actual":{"end-marker":false,"load-more":false,"merge-order":[],"off-page":["z","b"],"replace-query":[],"visible-total":0},"check":"contract fixture 4","expected":{"end-marker":false,"load-more":false,"merge-order":[],"off-page":["z","b"],"replace-query":[],"visible-total":0},"passed":true},{"actual":{"end-marker":false,"load-more":false,"merge-order":["a","c"],"off-page":[],"replace-query":["a","c"],"visible-total":2},"check":"contract fixture 5","expected":{"end-marker":false,"load-more":false,"merge-order":["a","c"],"off-page":[],"replace-query":["a","c"],"visible-total":2},"passed":true},{"actual":{"end-marker":true,"load-more":false,"merge-order":["a","c"],"off-page":["z","b"],"replace-query":["a","c"],"visible-total":2},"check":"contract fixture 6","expected":{"end-marker":true,"load-more":false,"merge-order":["a","c"],"off-page":["z","b"],"replace-query":["a","c"],"visible-total":2},"passed":true},{"actual":{"end-marker":false,"load-more":false,"merge-order":["a","c"],"off-page":["z","b"],"replace-query":["a","c"],"visible-total":2},"check":"contract fixture 7","expected":{"end-marker":false,"load-more":false,"merge-order":["a","c"],"off-page":["z","b"],"replace-query":["a","c"],"visible-total":2},"passed":true},{"actual":{"end-marker":false,"load-more":false,"merge-order":["b","a"],"off-page":[],"replace-query":[],"visible-total":2},"check":"contract fixture 8","expected":{"end-marker":false,"load-more":false,"merge-order":["b","a"],"off-page":[],"replace-query":[],"visible-total":2},"passed":true},{"actual":{"end-marker":true,"load-more":false,"merge-order":["b","a"],"off-page":["z"],"replace-query":[],"visible-total":2},"check":"contract fixture 9","expected":{"end-marker":true,"load-more":false,"merge-order":["b","a"],"off-page":["z"],"replace-query":[],"visible-total":2},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"contract fixture 0\", \"actual\": {\"merge-order\": [\"b\", \"a\"], \"load-more\": false, \"off-page\": [], \"end-marker\": true, \"replace-query\": [], \"visible-total\": 2}, \"expected\": {\"merge-order\": [\"b\", \"a\"], \"load-more\": false, \"off-page\": [], \"end-marker\": true, \"replace-query\": [], \"visible-total\": 2}, \"passed\": true}, {\"check\": \"contract fixture 1\", \"actual\": {\"merge-order\": [\"b\", \"a\"], \"load-more\": false, \"off-page\": [], \"end-marker\": false, \"replace-query\": [], \"visible-total\": 2}, \"expected\": {\"merge-order\": [\"b\", \"a\"], \"load-more\": false, \"off-page\": [], \"end-marker\": false, \"replace-query\": [\"b\", \"a\"], \"visible-total\": 2}, \"passed\": false}, {\"check\": \"contract fixture 2\", \"actual\": {\"merge-order\": [], \"load-more\": false, \"off-page\": [], \"end-marker\": false, \"replace-query\": [], \"visible-total\": 0}, \"expected\": {\"merge-order\": [], \"load-more\": false, \"off-page\": [], \"end-marker\": false, \"replace-query\": [], \"visible-total\": 0}, \"passed\": true}, {\"check\": \"contract fixture 3\", \"actual\": {\"merge-order\": [], \"load-more\": false, \"off-page\": [\"z\", \"b\"], \"end-marker\": true, \"replace-query\": [], \"visible-total\": 0}, \"expected\": {\"merge-order\": [], \"load-more\": false, \"off-page\": [\"z\", \"b\"], \"end-marker\": true, \"replace-query\": [], \"visible-total\": 0}, \"passed\": true}, {\"check\": \"contract fixture 4\", \"actual\": {\"merge-order\": [], \"load-more\": false, \"off-page\": [\"z\", \"b\"], \"end-marker\": false, \"replace-query\": [], \"visible-total\": 0}, \"expected\": {\"merge-order\": [], \"load-more\": false, \"off-page\": [\"z\", \"b\"], \"end-marker\": false, \"replace-query\": [], \"visible-total\": 0}, \"passed\": true}, {\"check\": \"contract fixture 5\", \"actual\": {\"merge-order\": [\"a\", \"c\"], \"load-more\": false, \"off-page\": [], \"end-marker\": false, \"replace-query\": [\"a\", \"c\"], \"visible-total\": 2}, \"expected\": {\"merge-order\": [\"a\", \"c\"], \"load-more\": false, \"off-page\": [], \"end-marker\": false, \"replace-query\": [\"a\", \"c\"], \"visible-total\": 2}, \"passed\": true}, {\"check\": \"contract fixture 6\", \"actual\": {\"merge-order\": [\"a\", \"c\"], \"load-more\": false, \"off-page\": [\"z\", \"b\"], \"end-marker\": true, \"replace-query\": [\"a\", \"c\"], \"visible-total\": 2}, \"expected\": {\"merge-order\": [\"a\", \"c\"], \"load-more\": false, \"off-page\": [\"z\", \"b\"], \"end-marker\": true, \"replace-query\": [\"a\", \"c\"], \"visible-total\": 2}, \"passed\": true}, {\"check\": \"contract fixture 7\", \"actual\": {\"merge-order\": [\"a\", \"c\"], \"load-more\": false, \"off-page\": [\"z\", \"b\"], \"end-marker\": false, \"replace-query\": [\"a\", \"c\"], \"visible-total\": 2}, \"expected\": {\"merge-order\": [\"a\", \"c\"], \"load-more\": false, \"off-page\": [\"z\", \"b\"], \"end-marker\": false, \"replace-query\": [\"a\", \"c\"], \"visible-total\": 2}, \"passed\": true}, {\"check\": \"contract fixture 8\", \"actual\": {\"merge-order\": [\"b\", \"a\"], \"load-more\": false, \"off-page\": [], \"end-marker\": false, \"replace-query\": [], \"visible-total\": 2}, \"expected\": {\"merge-order\": [\"b\", \"a\"], \"load-more\": false, \"off-page\": [], \"end-marker\": false, \"replace-query\": [], \"visible-total\": 2}, \"passed\": true}, {\"check\": \"contract fixture 9\", \"actual\": {\"merge-order\": [\"b\", \"a\"], \"load-more\": false, \"off-page\": [\"z\"], \"end-marker\": true, \"replace-query\": [], \"visible-total\": 2}, \"expected\": {\"merge-order\": [\"b\", \"a\"], \"load-more\": false, \"off-page\": [\"z\"], \"end-marker\": true, \"replace-query\": [], \"visible-total\": 2}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.716,"exit_code":1,"observations":[{"actual":{"end-marker":true,"load-more":false,"merge-order":["b","a"],"off-page":[],"replace-query":["b","a"],"visible-total":2},"check":"contract fixture 0","expected":{"end-marker":true,"load-more":false,"merge-order":["b","a"],"off-page":[],"replace-query":[],"visible-total":2},"passed":false},{"actual":{"end-marker":false,"load-more":false,"merge-order":["b","a"],"off-page":[],"replace-query":["b","a"],"visible-total":2},"check":"contract fixture 1","expected":{"end-marker":false,"load-more":false,"merge-order":["b","a"],"off-page":[],"replace-query":["b","a"],"visible-total":2},"passed":true},{"actual":{"end-marker":false,"load-more":false,"merge-order":[],"off-page":[],"replace-query":[],"visible-total":0},"check":"contract fixture 2","expected":{"end-marker":false,"load-more":false,"merge-order":[],"off-page":[],"replace-query":[],"visible-total":0},"passed":true},{"actual":{"end-marker":true,"load-more":false,"merge-order":[],"off-page":["z","b"],"replace-query":[],"visible-total":0},"check":"contract fixture 3","expected":{"end-marker":true,"load-more":false,"merge-order":[],"off-page":["z","b"],"replace-query":[],"visible-total":0},"passed":true},{"actual":{"end-marker":false,"load-more":false,"merge-order":[],"off-page":["z","b"],"replace-query":[],"visible-total":0},"check":"contract fixture 4","expected":{"end-marker":false,"load-more":false,"merge-order":[],"off-page":["z","b"],"replace-query":[],"visible-total":0},"passed":true},{"actual":{"end-marker":false,"load-more":false,"merge-order":["a","c"],"off-page":[],"replace-query":["a","c"],"visible-total":2},"check":"contract fixture 5","expected":{"end-marker":false,"load-more":false,"merge-order":["a","c"],"off-page":[],"replace-query":["a","c"],"visible-total":2},"passed":true},{"actual":{"end-marker":true,"load-more":false,"merge-order":["a","c"],"off-page":["z","b"],"replace-query":["a","c"],"visible-total":2},"check":"contract fixture 6","expected":{"end-marker":true,"load-more":false,"merge-order":["a","c"],"off-page":["z","b"],"replace-query":["a","c"],"visible-total":2},"passed":true},{"actual":{"end-marker":false,"load-more":false,"merge-order":["a","c"],"off-page":["z","b"],"replace-query":["a","c"],"visible-total":2},"check":"contract fixture 7","expected":{"end-marker":false,"load-more":false,"merge-order":["a","c"],"off-page":["z","b"],"replace-query":["a","c"],"visible-total":2},"passed":true},{"actual":{"end-marker":false,"load-more":false,"merge-order":["b","a"],"off-page":[],"replace-query":["b","a"],"visible-total":2},"check":"contract fixture 8","expected":{"end-marker":false,"load-more":false,"merge-order":["b","a"],"off-page":[],"replace-query":[],"visible-total":2},"passed":false},{"actual":{"end-marker":true,"load-more":false,"merge-order":["b","a"],"off-page":["z"],"replace-query":["b","a"],"visible-total":2},"check":"contract fixture 9","expected":{"end-marker":true,"load-more":false,"merge-order":["b","a"],"off-page":["z"],"replace-query":[],"visible-total":2},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"contract fixture 0\", \"actual\": {\"merge-order\": [\"b\", \"a\"], \"load-more\": false, \"off-page\": [], \"end-marker\": true, \"replace-query\": [\"b\", \"a\"], \"visible-total\": 2}, \"expected\": {\"merge-order\": [\"b\", \"a\"], \"load-more\": false, \"off-page\": [], \"end-marker\": true, \"replace-query\": [], \"visible-total\": 2}, \"passed\": false}, {\"check\": \"contract fixture 1\", \"actual\": {\"merge-order\": [\"b\", \"a\"], \"load-more\": false, \"off-page\": [], \"end-marker\": false, \"replace-query\": [\"b\", \"a\"], \"visible-total\": 2}, \"expected\": {\"merge-order\": [\"b\", \"a\"], \"load-more\": false, \"off-page\": [], \"end-marker\": false, \"replace-query\": [\"b\", \"a\"], \"visible-total\": 2}, \"passed\": true}, {\"check\": \"contract fixture 2\", \"actual\": {\"merge-order\": [], \"load-more\": false, \"off-page\": [], \"end-marker\": false, \"replace-query\": [], \"visible-total\": 0}, \"expected\": {\"merge-order\": [], \"load-more\": false, \"off-page\": [], \"end-marker\": false, \"replace-query\": [], \"visible-total\": 0}, \"passed\": true}, {\"check\": \"contract fixture 3\", \"actual\": {\"merge-order\": [], \"load-more\": false, \"off-page\": [\"z\", \"b\"], \"end-marker\": true, \"replace-query\": [], \"visible-total\": 0}, \"expected\": {\"merge-order\": [], \"load-more\": false, \"off-page\": [\"z\", \"b\"], \"end-marker\": true, \"replace-query\": [], \"visible-total\": 0}, \"passed\": true}, {\"check\": \"contract fixture 4\", \"actual\": {\"merge-order\": [], \"load-more\": false, \"off-page\": [\"z\", \"b\"], \"end-marker\": false, \"replace-query\": [], \"visible-total\": 0}, \"expected\": {\"merge-order\": [], \"load-more\": false, \"off-page\": [\"z\", \"b\"], \"end-marker\": false, \"replace-query\": [], \"visible-total\": 0}, \"passed\": true}, {\"check\": \"contract fixture 5\", \"actual\": {\"merge-order\": [\"a\", \"c\"], \"load-more\": false, \"off-page\": [], \"end-marker\": false, \"replace-query\": [\"a\", \"c\"], \"visible-total\": 2}, \"expected\": {\"merge-order\": [\"a\", \"c\"], \"load-more\": false, \"off-page\": [], \"end-marker\": false, \"replace-query\": [\"a\", \"c\"], \"visible-total\": 2}, \"passed\": true}, {\"check\": \"contract fixture 6\", \"actual\": {\"merge-order\": [\"a\", \"c\"], \"load-more\": false, \"off-page\": [\"z\", \"b\"], \"end-marker\": true, \"replace-query\": [\"a\", \"c\"], \"visible-total\": 2}, \"expected\": {\"merge-order\": [\"a\", \"c\"], \"load-more\": false, \"off-page\": [\"z\", \"b\"], \"end-marker\": true, \"replace-query\": [\"a\", \"c\"], \"visible-total\": 2}, \"passed\": true}, {\"check\": \"contract fixture 7\", \"actual\": {\"merge-order\": [\"a\", \"c\"], \"load-more\": false, \"off-page\": [\"z\", \"b\"], \"end-marker\": false, \"replace-query\": [\"a\", \"c\"], \"visible-total\": 2}, \"expected\": {\"merge-order\": [\"a\", \"c\"], \"load-more\": false, \"off-page\": [\"z\", \"b\"], \"end-marker\": false, \"replace-query\": [\"a\", \"c\"], \"visible-total\": 2}, \"passed\": true}, {\"check\": \"contract fixture 8\", \"actual\": {\"merge-order\": [\"b\", \"a\"], \"load-more\": false, \"off-page\": [], \"end-marker\": false, \"replace-query\": [\"b\", \"a\"], \"visible-total\": 2}, \"expected\": {\"merge-order\": [\"b\", \"a\"], \"load-more\": false, \"off-page\": [], \"end-marker\": false, \"replace-query\": [], \"visible-total\": 2}, \"passed\": false}, {\"check\": \"contract fixture 9\", \"actual\": {\"merge-order\": [\"b\", \"a\"], \"load-more\": false, \"off-page\": [\"z\"], \"end-marker\": true, \"replace-query\": [\"b\", \"a\"], \"visible-total\": 2}, \"expected\": {\"merge-order\": [\"b\", \"a\"], \"load-more\": false, \"off-page\": [\"z\"], \"end-marker\": true, \"replace-query\": [], \"visible-total\": 2}, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.85,"exit_code":0,"observations":[{"actual":{"end-marker":true,"load-more":false,"merge-order":["b","a"],"off-page":[],"replace-query":[],"visible-total":2},"check":"contract fixture 0","expected":{"end-marker":true,"load-more":false,"merge-order":["b","a"],"off-page":[],"replace-query":[],"visible-total":2},"passed":true},{"actual":{"end-marker":false,"load-more":false,"merge-order":["b","a"],"off-page":[],"replace-query":["b","a"],"visible-total":2},"check":"contract fixture 1","expected":{"end-marker":false,"load-more":false,"merge-order":["b","a"],"off-page":[],"replace-query":["b","a"],"visible-total":2},"passed":true},{"actual":{"end-marker":false,"load-more":false,"merge-order":[],"off-page":[],"replace-query":[],"visible-total":0},"check":"contract fixture 2","expected":{"end-marker":false,"load-more":false,"merge-order":[],"off-page":[],"replace-query":[],"visible-total":0},"passed":true},{"actual":{"end-marker":true,"load-more":false,"merge-order":[],"off-page":["z","b"],"replace-query":[],"visible-total":0},"check":"contract fixture 3","expected":{"end-marker":true,"load-more":false,"merge-order":[],"off-page":["z","b"],"replace-query":[],"visible-total":0},"passed":true},{"actual":{"end-marker":false,"load-more":false,"merge-order":[],"off-page":["z","b"],"replace-query":[],"visible-total":0},"check":"contract fixture 4","expected":{"end-marker":false,"load-more":false,"merge-order":[],"off-page":["z","b"],"replace-query":[],"visible-total":0},"passed":true},{"actual":{"end-marker":false,"load-more":false,"merge-order":["a","c"],"off-page":[],"replace-query":["a","c"],"visible-total":2},"check":"contract fixture 5","expected":{"end-marker":false,"load-more":false,"merge-order":["a","c"],"off-page":[],"replace-query":["a","c"],"visible-total":2},"passed":true},{"actual":{"end-marker":true,"load-more":false,"merge-order":["a","c"],"off-page":["z","b"],"replace-query":["a","c"],"visible-total":2},"check":"contract fixture 6","expected":{"end-marker":true,"load-more":false,"merge-order":["a","c"],"off-page":["z","b"],"replace-query":["a","c"],"visible-total":2},"passed":true},{"actual":{"end-marker":false,"load-more":false,"merge-order":["a","c"],"off-page":["z","b"],"replace-query":["a","c"],"visible-total":2},"check":"contract fixture 7","expected":{"end-marker":false,"load-more":false,"merge-order":["a","c"],"off-page":["z","b"],"replace-query":["a","c"],"visible-total":2},"passed":true},{"actual":{"end-marker":false,"load-more":false,"merge-order":["b","a"],"off-page":[],"replace-query":[],"visible-total":2},"check":"contract fixture 8","expected":{"end-marker":false,"load-more":false,"merge-order":["b","a"],"off-page":[],"replace-query":[],"visible-total":2},"passed":true},{"actual":{"end-marker":true,"load-more":false,"merge-order":["b","a"],"off-page":["z"],"replace-query":[],"visible-total":2},"check":"contract fixture 9","expected":{"end-marker":true,"load-more":false,"merge-order":["b","a"],"off-page":["z"],"replace-query":[],"visible-total":2},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"contract fixture 0\", \"actual\": {\"merge-order\": [\"b\", \"a\"], \"load-more\": false, \"off-page\": [], \"end-marker\": true, \"replace-query\": [], \"visible-total\": 2}, \"expected\": {\"merge-order\": [\"b\", \"a\"], \"load-more\": false, \"off-page\": [], \"end-marker\": true, \"replace-query\": [], \"visible-total\": 2}, \"passed\": true}, {\"check\": \"contract fixture 1\", \"actual\": {\"merge-order\": [\"b\", \"a\"], \"load-more\": false, \"off-page\": [], \"end-marker\": false, \"replace-query\": [\"b\", \"a\"], \"visible-total\": 2}, \"expected\": {\"merge-order\": [\"b\", \"a\"], \"load-more\": false, \"off-page\": [], \"end-marker\": false, \"replace-query\": [\"b\", \"a\"], \"visible-total\": 2}, \"passed\": true}, {\"check\": \"contract fixture 2\", \"actual\": {\"merge-order\": [], \"load-more\": false, \"off-page\": [], \"end-marker\": false, \"replace-query\": [], \"visible-total\": 0}, \"expected\": {\"merge-order\": [], \"load-more\": false, \"off-page\": [], \"end-marker\": false, \"replace-query\": [], \"visible-total\": 0}, \"passed\": true}, {\"check\": \"contract fixture 3\", \"actual\": {\"merge-order\": [], \"load-more\": false, \"off-page\": [\"z\", \"b\"], \"end-marker\": true, \"replace-query\": [], \"visible-total\": 0}, \"expected\": {\"merge-order\": [], \"load-more\": false, \"off-page\": [\"z\", \"b\"], \"end-marker\": true, \"replace-query\": [], \"visible-total\": 0}, \"passed\": true}, {\"check\": \"contract fixture 4\", \"actual\": {\"merge-order\": [], \"load-more\": false, \"off-page\": [\"z\", \"b\"], \"end-marker\": false, \"replace-query\": [], \"visible-total\": 0}, \"expected\": {\"merge-order\": [], \"load-more\": false, \"off-page\": [\"z\", \"b\"], \"end-marker\": false, \"replace-query\": [], \"visible-total\": 0}, \"passed\": true}, {\"check\": \"contract fixture 5\", \"actual\": {\"merge-order\": [\"a\", \"c\"], \"load-more\": false, \"off-page\": [], \"end-marker\": false, \"replace-query\": [\"a\", \"c\"], \"visible-total\": 2}, \"expected\": {\"merge-order\": [\"a\", \"c\"], \"load-more\": false, \"off-page\": [], \"end-marker\": false, \"replace-query\": [\"a\", \"c\"], \"visible-total\": 2}, \"passed\": true}, {\"check\": \"contract fixture 6\", \"actual\": {\"merge-order\": [\"a\", \"c\"], \"load-more\": false, \"off-page\": [\"z\", \"b\"], \"end-marker\": true, \"replace-query\": [\"a\", \"c\"], \"visible-total\": 2}, \"expected\": {\"merge-order\": [\"a\", \"c\"], \"load-more\": false, \"off-page\": [\"z\", \"b\"], \"end-marker\": true, \"replace-query\": [\"a\", \"c\"], \"visible-total\": 2}, \"passed\": true}, {\"check\": \"contract fixture 7\", \"actual\": {\"merge-order\": [\"a\", \"c\"], \"load-more\": false, \"off-page\": [\"z\", \"b\"], \"end-marker\": false, \"replace-query\": [\"a\", \"c\"], \"visible-total\": 2}, \"expected\": {\"merge-order\": [\"a\", \"c\"], \"load-more\": false, \"off-page\": [\"z\", \"b\"], \"end-marker\": false, \"replace-query\": [\"a\", \"c\"], \"visible-total\": 2}, \"passed\": true}, {\"check\": \"contract fixture 8\", \"actual\": {\"merge-order\": [\"b\", \"a\"], \"load-more\": false, \"off-page\": [], \"end-marker\": false, \"replace-query\": [], \"visible-total\": 2}, \"expected\": {\"merge-order\": [\"b\", \"a\"], \"load-more\": false, \"off-page\": [], \"end-marker\": false, \"replace-query\": [], \"visible-total\": 2}, \"passed\": true}, {\"check\": \"contract fixture 9\", \"actual\": {\"merge-order\": [\"b\", \"a\"], \"load-more\": false, \"off-page\": [\"z\"], \"end-marker\": true, \"replace-query\": [], \"visible-total\": 2}, \"expected\": {\"merge-order\": [\"b\", \"a\"], \"load-more\": false, \"off-page\": [\"z\"], \"end-marker\": true, \"replace-query\": [], \"visible-total\": 2}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}