docs: def _update_zone_bypass_status(self, message=None, status=None, zone=None):
          """
          Uses the provided message to update the zone bypass state.
  
          :param message: message to use to update
          :type message: :py:class:`~alarmdecoder.messages.Message`
          :param status: bypass status, overrides message bits.
          :type status: bool
          :param zone: zone associated with bypass event
          :type zone: int
  
          :returns: dictionary {Zone:True|False,...}
             Zone can be None if LRR CID Bypass checking is disabled
             or we do not know what zones but know something is bypassed.
          """
          bypass_status = status
          if isinstance(message, Message):
              bypass_status = message.zone_bypassed
  
          if bypass_status is None:
              return
  
          old_bypass_status = self._bypass_status.get(zone, None)
  
          if bypass_status != old_bypass_status:
              if bypass_status == False and zone is None:
                  self._bypass_status = {}
              else:
                  self._bypass_status[zone] = bypass_status
  
              if old_bypass_status is not None or message is None or (old_bypass_status is None and bypass_status is True):
                  self.on_bypass(status=bypass_status, zone=zone)
  
          return bypass_status