    s.ctx_j["dirty"] = !getenv("CLEAN");
  
    s.inited = true;
  }
  
  void cloudlog_e(int levelnum, const char* filename, int lineno, const char* func,
                  const char* fmt, ...) {
 
</s> remove   cloudlog.bind_global(dongle_id=dongle_id, version=version, dirty=dirty, is_eon=True)
 </s> add   cloudlog.bind_global(dongle_id=dongle_id, version=version, dirty=dirty) </s> remove   crash.bind_extra(version=version, dirty=dirty, is_eon=True)
 </s> add   crash.bind_extra(version=version, dirty=dirty)
  // device type
  if (util::file_exists("/EON")) {
    cloudlog_bind_locked("device", "eon");
  } else if (util::file_exists("/TICI")) {
    cloudlog_bind_locked("device", "tici");
  } else {
    cloudlog_bind_locked("device", "pc");
  }

    s.ctx_j["dirty"] = !getenv("CLEAN");
  
  // device type
  if (util::file_exists("/EON")) {
    cloudlog_bind_locked("device", "eon");
  } else if (util::file_exists("/TICI")) {
    cloudlog_bind_locked("device", "tici");
  } else {
    cloudlog_bind_locked("device", "pc");
  }

    s.inited = true;
  }
  
  void cloudlog_e(int levelnum, const char* filename, int lineno, const char* func,
                  const char* fmt, ...) {
keep add keep keep keep keep keep
 add device type to clouglog ctx (#19890)

* add device type to clouglog ctx

* remove is_eon

* str 
selfdrive/common/swaglog.cc