      m_b_n = m__io->read_bits_int_be(3);
      m_p2 = m__io->read_bits_int_be(1);
      m_t_b = m__io->read_bits_int_be(7);
      m_not_used = m__io->read_bits_int_be(5);
      m_y_vel = m__io->read_bits_int_be(24);
      m_y_speedup = m__io->read_bits_int_be(5);
      m_y = m__io->read_bits_int_be(27);
  }
  
  glonass_t::string_2_t::~string_2_t() {
      _clean_up();
  }
 
</s> remove     m_z_vel = m__io->read_bits_int_be(24);
    m_z_speedup = m__io->read_bits_int_be(5);
    m_z = m__io->read_bits_int_be(27);
 </s> add     m_z_vel_sign = m__io->read_bits_int_be(1);
    m_z_vel_value = m__io->read_bits_int_be(23);
    m_z_accel_sign = m__io->read_bits_int_be(1);
    m_z_accel_value = m__io->read_bits_int_be(4);
    m_z_sign = m__io->read_bits_int_be(1);
    m_z_value = m__io->read_bits_int_be(26); </s> remove     m_x_vel = m__io->read_bits_int_be(24);
    m_x_speedup = m__io->read_bits_int_be(5);
    m_x = m__io->read_bits_int_be(27);
 </s> add     m_x_vel_sign = m__io->read_bits_int_be(1);
    m_x_vel_value = m__io->read_bits_int_be(23);
    m_x_accel_sign = m__io->read_bits_int_be(1);
    m_x_accel_value = m__io->read_bits_int_be(4);
    m_x_sign = m__io->read_bits_int_be(1);
    m_x_value = m__io->read_bits_int_be(26); </s> remove     m_gamma_n = m__io->read_bits_int_be(11);
 </s> add     m_gamma_n_sign = m__io->read_bits_int_be(1);
    m_gamma_n_value = m__io->read_bits_int_be(10); </s> remove     m_tau_n = m__io->read_bits_int_be(22);
    m_delta_tau_n = m__io->read_bits_int_be(5);
 </s> add     m_tau_n_sign = m__io->read_bits_int_be(1);
    m_tau_n_value = m__io->read_bits_int_be(21);
    m_delta_tau_n_sign = m__io->read_bits_int_be(1);
    m_delta_tau_n_value = m__io->read_bits_int_be(4);
    m_y_vel_sign = m__io->read_bits_int_be(1);
    m_y_vel_value = m__io->read_bits_int_be(23);
    m_y_accel_sign = m__io->read_bits_int_be(1);
    m_y_accel_value = m__io->read_bits_int_be(4);
    m_y_sign = m__io->read_bits_int_be(1);
    m_y_value = m__io->read_bits_int_be(26);
      m_b_n = m__io->read_bits_int_be(3);
      m_p2 = m__io->read_bits_int_be(1);
      m_t_b = m__io->read_bits_int_be(7);
      m_not_used = m__io->read_bits_int_be(5);
    m_y_vel_sign = m__io->read_bits_int_be(1);
    m_y_vel_value = m__io->read_bits_int_be(23);
    m_y_accel_sign = m__io->read_bits_int_be(1);
    m_y_accel_value = m__io->read_bits_int_be(4);
    m_y_sign = m__io->read_bits_int_be(1);
    m_y_value = m__io->read_bits_int_be(26);
    m_y_vel_sign = m__io->read_bits_int_be(1);
    m_y_vel_value = m__io->read_bits_int_be(23);
    m_y_accel_sign = m__io->read_bits_int_be(1);
    m_y_accel_value = m__io->read_bits_int_be(4);
    m_y_sign = m__io->read_bits_int_be(1);
    m_y_value = m__io->read_bits_int_be(26);
    m_y_vel_sign = m__io->read_bits_int_be(1);
    m_y_vel_value = m__io->read_bits_int_be(23);
    m_y_accel_sign = m__io->read_bits_int_be(1);
    m_y_accel_value = m__io->read_bits_int_be(4);
    m_y_sign = m__io->read_bits_int_be(1);
    m_y_value = m__io->read_bits_int_be(26);
  }
  
  glonass_t::string_2_t::~string_2_t() {
      _clean_up();
  }
keep keep keep keep replace replace replace keep keep keep keep keep
 Ubloxd: glonass parsing tests (#27125)

* add glonass kaitai parsing

* add kaita generated files

* remove glonass from build

* add string non immediate type

* fix kaitai bug

* cleanUp

* add patch file

* fix scons order

* make lookup const

* remove comments

* rename

* add to release files

* remove printf

* add signs

* add glonass parsing test

* finish up glonass kaitai tests

* move cereal back to master

* ignore test_runner

* sign is not two complement

* address comments
---------

Co-authored-by: Kurt Nistelberger <kurt.nistelberger@gmail.com> 
selfdrive/locationd/generated/glonass.cpp