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

N = 1
observations = []
def solve(mode, samples):
    fan_after = 0
    heat_run = 0
    ran = 0
    out = []
    for minute, call in enumerate(samples):
        if minute % 60 == 0:
            ran = 0
        if call == 'cool':
            fan = True
            fan_after = 2
            heat_run = 0
        elif call == 'heat':
            heat_run += 1
            fan = heat_run > 1
            fan_after = 3 if fan else 0
        else:
            heat_run = 0
            if fan_after > 0:
                fan_after -= 1
            fan = fan_after > 0
        if mode == 'on':
            fan = True
        elif mode == 'circ' and not fan and 20 - ran >= 60 - minute % 60:
            fan = True
        if fan:
            ran += 1
        out.append(fan)
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression: cool and heat purge',
   ['auto', ['cool', 'cool', None, None, None, 'heat', 'heat', 'heat', None, None, None, None]],
   [True, True, True, True, False, False, True, True, True, True, True, False]],
  ['regression: circulate fills hour',
   ['circ',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None]],
   [False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['regression: heat right after cool',
   ['auto', ['cool', 'heat', 'heat', None, None, None, None]],
   [True, False, True, True, True, True, False]],
  ['regression: short heat call',
   ['auto', ['heat', None, None, 'heat', 'heat', None, None, None, None]],
   [False, False, False, False, True, True, True, True, False]],
  ['regression: scenario 1',
   ['circ',
    [None,
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None]],
   [False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False]],
  ['control: scenario 2',
   ['on', [None, None, None, None, None, None, None, None, None, None, None, None]],
   [True, True, True, True, True, True, True, True, True, True, True, True]],
  ['control: scenario 3',
   ['on',
    [None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'heat',
     'heat',
     'cool',
     'cool',
     'cool',
     None,
     None,
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat']],
   [True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['control: scenario 4',
   ['on',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None]],
   [True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]]],
 [['regression: circulate fills hour',
   ['circ',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None]],
   [False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['regression: heat right after cool',
   ['auto', ['cool', 'heat', 'heat', None, None, None, None]],
   [True, False, True, True, True, True, False]],
  ['regression: cool and heat purge',
   ['auto', ['cool', 'cool', None, None, None, 'heat', 'heat', 'heat', None, None, None, None]],
   [True, True, True, True, False, False, True, True, True, True, True, False]],
  ['regression: short heat call',
   ['auto', ['heat', None, None, 'heat', 'heat', None, None, None, None]],
   [False, False, False, False, True, True, True, True, False]],
  ['control: scenario 1',
   ['on',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'heat',
     'heat',
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     None,
     None]],
   [True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['control: scenario 2',
   ['on',
    ['cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None]],
   [True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['control: scenario 3',
   ['on',
    [None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool']],
   [True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['regression: scenario 4',
   ['auto',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'heat',
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None]],
   [False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False]]],
 [['regression: heat right after cool',
   ['auto', ['cool', 'heat', 'heat', None, None, None, None]],
   [True, False, True, True, True, True, False]],
  ['regression: short heat call',
   ['auto', ['heat', None, None, 'heat', 'heat', None, None, None, None]],
   [False, False, False, False, True, True, True, True, False]],
  ['regression: cool and heat purge',
   ['auto', ['cool', 'cool', None, None, None, 'heat', 'heat', 'heat', None, None, None, None]],
   [True, True, True, True, False, False, True, True, True, True, True, False]],
  ['regression: circulate fills hour',
   ['circ',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None]],
   [False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['regression: scenario 1',
   ['auto',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None]],
   [False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['control: scenario 2',
   ['on',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'heat',
     'heat',
     'heat',
     None,
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None]],
   [True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['regression: scenario 3',
   ['auto',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool']],
   [False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['regression: scenario 4',
   ['circ',
    ['cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None]],
   [True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]]],
 [['regression: short heat call',
   ['auto', ['heat', None, None, 'heat', 'heat', None, None, None, None]],
   [False, False, False, False, True, True, True, True, False]],
  ['regression: scenario 1',
   ['circ',
    [None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'heat',
     'cool',
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None]],
   [False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    False,
    True,
    False,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False]],
  ['regression: cool and heat purge',
   ['auto', ['cool', 'cool', None, None, None, 'heat', 'heat', 'heat', None, None, None, None]],
   [True, True, True, True, False, False, True, True, True, True, True, False]],
  ['regression: circulate fills hour',
   ['circ',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None]],
   [False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['regression: heat right after cool',
   ['auto', ['cool', 'heat', 'heat', None, None, None, None]],
   [True, False, True, True, True, True, False]],
  ['regression: scenario 2',
   ['circ',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None]],
   [False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    False]],
  ['regression: scenario 3',
   ['circ',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None]],
   [False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False]],
  ['control: scenario 4',
   ['circ',
    ['cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'heat',
     'heat',
     'heat',
     'heat',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'heat',
     'heat',
     'cool']],
   [True,
    True,
    True,
    True,
    True,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    True,
    True]]],
 [['regression: scenario 4',
   ['auto',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'heat',
     'heat',
     'heat',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'heat',
     'heat',
     'heat',
     'heat',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     None,
     None]],
   [False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['regression: scenario 9',
   ['auto',
    [None,
     None,
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool']],
   [False,
    False,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['regression: cool and heat purge',
   ['auto', ['cool', 'cool', None, None, None, 'heat', 'heat', 'heat', None, None, None, None]],
   [True, True, True, True, False, False, True, True, True, True, True, False]],
  ['regression: circulate fills hour',
   ['circ',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None]],
   [False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['regression: heat right after cool',
   ['auto', ['cool', 'heat', 'heat', None, None, None, None]],
   [True, False, True, True, True, True, False]],
  ['regression: short heat call',
   ['auto', ['heat', None, None, 'heat', 'heat', None, None, None, None]],
   [False, False, False, False, True, True, True, True, False]],
  ['control: scenario 1',
   ['auto',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool']],
   [False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['control: scenario 2',
   ['auto', [None, None, None, None, None, None, None, None, None, None, None, None]],
   [False, False, False, False, False, False, False, False, False, False, False, False]]]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

meaning: Fixture-count band, not measured model difficulty

deps: stdlib

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

N = 1
observations = []
def solve(mode, samples):
    fan_after = 0
    heat_run = 0
    ran = 0
    out = []
    for minute, call in enumerate(samples):
        if minute % 60 == 0:
            ran = 0
        if call == 'cool':
            fan = True
            fan_after = 2
            heat_run = 0
        elif call == 'heat':
            heat_run += 1
            fan = heat_run > 1
            fan_after = 3 if fan else 0
        else:
            heat_run = 0
            fan = fan_after > 0
            fan_after = 0
        if mode == 'on':
            fan = True
        elif mode == 'circ' and not fan and 20 - ran >= 60 - minute % 60:
            fan = True
        if fan:
            ran += 1
        out.append(fan)
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression: cool and heat purge',
   ['auto', ['cool', 'cool', None, None, None, 'heat', 'heat', 'heat', None, None, None, None]],
   [True, True, True, True, False, False, True, True, True, True, True, False]],
  ['regression: circulate fills hour',
   ['circ',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None]],
   [False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['regression: heat right after cool',
   ['auto', ['cool', 'heat', 'heat', None, None, None, None]],
   [True, False, True, True, True, True, False]],
  ['regression: short heat call',
   ['auto', ['heat', None, None, 'heat', 'heat', None, None, None, None]],
   [False, False, False, False, True, True, True, True, False]],
  ['regression: scenario 1',
   ['circ',
    [None,
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None]],
   [False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False]],
  ['control: scenario 2',
   ['on', [None, None, None, None, None, None, None, None, None, None, None, None]],
   [True, True, True, True, True, True, True, True, True, True, True, True]],
  ['control: scenario 3',
   ['on',
    [None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'heat',
     'heat',
     'cool',
     'cool',
     'cool',
     None,
     None,
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat']],
   [True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['control: scenario 4',
   ['on',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None]],
   [True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]]],
 [['regression: circulate fills hour',
   ['circ',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None]],
   [False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['regression: heat right after cool',
   ['auto', ['cool', 'heat', 'heat', None, None, None, None]],
   [True, False, True, True, True, True, False]],
  ['regression: cool and heat purge',
   ['auto', ['cool', 'cool', None, None, None, 'heat', 'heat', 'heat', None, None, None, None]],
   [True, True, True, True, False, False, True, True, True, True, True, False]],
  ['regression: short heat call',
   ['auto', ['heat', None, None, 'heat', 'heat', None, None, None, None]],
   [False, False, False, False, True, True, True, True, False]],
  ['control: scenario 1',
   ['on',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'heat',
     'heat',
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     None,
     None]],
   [True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['control: scenario 2',
   ['on',
    ['cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None]],
   [True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['control: scenario 3',
   ['on',
    [None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool']],
   [True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['regression: scenario 4',
   ['auto',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'heat',
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None]],
   [False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False]]],
 [['regression: heat right after cool',
   ['auto', ['cool', 'heat', 'heat', None, None, None, None]],
   [True, False, True, True, True, True, False]],
  ['regression: short heat call',
   ['auto', ['heat', None, None, 'heat', 'heat', None, None, None, None]],
   [False, False, False, False, True, True, True, True, False]],
  ['regression: cool and heat purge',
   ['auto', ['cool', 'cool', None, None, None, 'heat', 'heat', 'heat', None, None, None, None]],
   [True, True, True, True, False, False, True, True, True, True, True, False]],
  ['regression: circulate fills hour',
   ['circ',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None]],
   [False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['regression: scenario 1',
   ['auto',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None]],
   [False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['control: scenario 2',
   ['on',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'heat',
     'heat',
     'heat',
     None,
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None]],
   [True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['regression: scenario 3',
   ['auto',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool']],
   [False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['regression: scenario 4',
   ['circ',
    ['cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None]],
   [True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]]],
 [['regression: short heat call',
   ['auto', ['heat', None, None, 'heat', 'heat', None, None, None, None]],
   [False, False, False, False, True, True, True, True, False]],
  ['regression: scenario 1',
   ['circ',
    [None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'heat',
     'cool',
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None]],
   [False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    False,
    True,
    False,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False]],
  ['regression: cool and heat purge',
   ['auto', ['cool', 'cool', None, None, None, 'heat', 'heat', 'heat', None, None, None, None]],
   [True, True, True, True, False, False, True, True, True, True, True, False]],
  ['regression: circulate fills hour',
   ['circ',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None]],
   [False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['regression: heat right after cool',
   ['auto', ['cool', 'heat', 'heat', None, None, None, None]],
   [True, False, True, True, True, True, False]],
  ['regression: scenario 2',
   ['circ',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None]],
   [False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    False]],
  ['regression: scenario 3',
   ['circ',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'heat',
     'heat',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None]],
   [False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False]],
  ['control: scenario 4',
   ['circ',
    ['cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'heat',
     'heat',
     'heat',
     'heat',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'heat',
     'heat',
     'cool']],
   [True,
    True,
    True,
    True,
    True,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    True,
    True]]],
 [['regression: scenario 4',
   ['auto',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'heat',
     'heat',
     'heat',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'heat',
     'heat',
     'heat',
     'heat',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     'heat',
     None,
     None]],
   [False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['regression: scenario 9',
   ['auto',
    [None,
     None,
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool']],
   [False,
    False,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['regression: cool and heat purge',
   ['auto', ['cool', 'cool', None, None, None, 'heat', 'heat', 'heat', None, None, None, None]],
   [True, True, True, True, False, False, True, True, True, True, True, False]],
  ['regression: circulate fills hour',
   ['circ',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None]],
   [False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['regression: heat right after cool',
   ['auto', ['cool', 'heat', 'heat', None, None, None, None]],
   [True, False, True, True, True, True, False]],
  ['regression: short heat call',
   ['auto', ['heat', None, None, 'heat', 'heat', None, None, None, None]],
   [False, False, False, False, True, True, True, True, False]],
  ['control: scenario 1',
   ['auto',
    [None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     None,
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool',
     'cool']],
   [False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    False,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True,
    True]],
  ['control: scenario 2',
   ['auto', [None, None, None, None, None, None, None, None, None, None, None, None]],
   [False, False, False, False, False, False, False, False, False, False, False, False]]]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

prompt:
The blower stops before the evaporator coil has been purged of cold air.

Thermostat G (blower) output per minute; samples are the equipment call per minute (None, heat or cool). Cooling runs the fan immediately and keeps it on 2 minutes after the call ends. Heating starts the fan only from the second minute of a heat call (heat exchanger warm-up) and, if the fan had started, keeps it on 3 minutes after the call. Fan mode on forces the fan on. Circulate mode ensures at least 20 fan minutes per clock hour (minutes 0-59, 60-119, ...), counting all fan minutes, by running the fan once the remaining minutes in the hour equal the remaining requirement. Return the fan state per minute.

split: open-access