      self.distance_traveled = 0
      self.last_functional_fan_frame = 0
      self.events_prev = []
      self.current_alert_types = [ET.PERMANENT]
      self.logged_comm_issue = False
      self.button_timers = {ButtonEvent.Type.decelCruise: 0, ButtonEvent.Type.accelCruise: 0}
      self.last_actuators = car.CarControl.Actuators.new_message()
  
      # TODO: no longer necessary, aside from process replay
      self.sm['liveParameters'].valid = True
 
</s> remove       can_timeout = None if os.environ.get('NO_CAN_TIMEOUT', False) else 100
 </s> add       can_timeout = None if os.environ.get('NO_CAN_TIMEOUT', False) else 20 </s> remove     config_realtime_process(4 if TICI else 3, Priority.CTRL_HIGH)
 </s> add     config_realtime_process(4, Priority.CTRL_HIGH) </s> remove     self.events.add_from_msg(CS.events)

 </s> add 
    self.logged_comm_issue = None
      self.distance_traveled = 0
      self.last_functional_fan_frame = 0
      self.events_prev = []
      self.current_alert_types = [ET.PERMANENT]
    self.logged_comm_issue = None
      self.button_timers = {ButtonEvent.Type.decelCruise: 0, ButtonEvent.Type.accelCruise: 0}
      self.last_actuators = car.CarControl.Actuators.new_message()
  
      # TODO: no longer necessary, aside from process replay
      self.sm['liveParameters'].valid = True
keep keep keep keep replace keep keep keep keep keep
 controlsd: better alert precedence for system malfunctions (#24366)

* controlsd: better alert precedence for system malfunctions

* down to 20

* move that

* check can flags

* update refs

* update refs 
selfdrive/controls/controlsd.py