            data_socket.send(bts, copy=False)
  
        data_socket.send_pyobj((cookie, typ, msg.logMonoTime, route_time), flags=zmq.SNDMORE)
        data_socket.send(smsg.to_bytes(), copy=False)
  
    def _process_commands(self, cmd, route, pub_types):
      seek_to = None
 
</s> remove           data_socket.send_pyobj((cookie, VIPC_TYP, msg.logMonoTime, route_time, extra), flags=zmq.SNDMORE)
 </s> add           data_socket.send_pyobj((cookie, VIPC_RGB, msg.logMonoTime, route_time, extra), flags=zmq.SNDMORE) </s> remove VIPC_TYP = "vipc"
 </s> add VIPC_RGB = "rgb"
VIPC_YUV = "yuv" </s> remove QCOM_REPLAY = arch == "aarch64" and os.getenv("QCOM_REPLAY") is not None
 </s> add  </s> remove         if typ == VIPC_TYP and (not no_visionipc):
          if vipc_server is None:
            vipc_server = _get_vipc_server(len(msg_bytes))

          i, sof, eof = extra[0]
          vipc_server.send(VisionStreamType.VISION_STREAM_RGB_BACK, msg_bytes, i, sof, eof)
        if typ != VIPC_TYP:
 </s> add         if typ in [VIPC_RGB, VIPC_YUV]:
          if not no_visionipc:
            if vipc_server is None:
              vipc_server = _get_vipc_server(len(msg_bytes))

            i, sof, eof = extra[0]
            stream = VisionStreamType.VISION_STREAM_RGB_BACK if typ == VIPC_RGB else VisionStreamType.VISION_STREAM_YUV_BACK
            vipc_server.send(stream, msg_bytes, i, sof, eof)
        else:
          img_yuv = self._frame_reader.get(frame_id, pix_fmt="yuv420p")
          if img_yuv is not None:
            data_socket.send_pyobj((cookie, VIPC_YUV, msg.logMonoTime, route_time, extra), flags=zmq.SNDMORE)
            data_socket.send(img_yuv.flatten().tobytes(), copy=False)

            data_socket.send(bts, copy=False)
  
          img_yuv = self._frame_reader.get(frame_id, pix_fmt="yuv420p")
          if img_yuv is not None:
            data_socket.send_pyobj((cookie, VIPC_YUV, msg.logMonoTime, route_time, extra), flags=zmq.SNDMORE)
            data_socket.send(img_yuv.flatten().tobytes(), copy=False)

        data_socket.send_pyobj((cookie, typ, msg.logMonoTime, route_time), flags=zmq.SNDMORE)
        data_socket.send(smsg.to_bytes(), copy=False)
  
    def _process_commands(self, cmd, route, pub_types):
      seek_to = None
keep add keep keep keep keep keep
 fix up model tests + tools (#21071)

* unlogger: send yuv stream

* fix up model test tools

* fix unlogger

* rename model replay

* bump cereal

* test in actions

* no ci for now 
tools/replay/unlogger.py