  #include <QPainter>
  #include <QPixmapCache>
  
  #include "selfdrive/ui/qt/util.h"
  
  // SegmentTree
  
  void SegmentTree::build(const QVector<QPointF> &arr) {
 
</s> remove       case 2: return QString::number(id.address, 16);;
      case 3: return can_data.freq;
 </s> add       case 2: return QString::number(id.address, 16);
      case 3: return getFreq(can_data); </s> remove   uint32_t freq = 0;
 </s> add   double freq = 0;
#include <QToolTip>
  #include <QPainter>
  #include <QPixmapCache>
#include <QToolTip>
  
  #include "selfdrive/ui/qt/util.h"
  
  // SegmentTree
  
  void SegmentTree::build(const QVector<QPointF> &arr) {
keep add keep keep keep keep keep keep
 cabana: some improvements to messages view (#27935)

* improve messageswidget

* remove double semicolon 
tools/cabana/util.cc