  
  import numpy as np
  import sympy as sp
  
  from rednose.helpers.ekf_sym import EKF_sym, gen_code
  from selfdrive.locationd.models.constants import ObservationKind
  from selfdrive.locationd.models.gnss_helpers import parse_pr, parse_prr
  
  
  class States():
 
</s> remove import sympy as sp
 </s> add  </s> remove   from rednose.helpers.ekf_sym_pyx import EKF_sym  # pylint: disable=no-name-in-module, import-error
 </s> add   from rednose.helpers.ekf_sym_pyx import EKF_sym_pyx  # pylint: disable=no-name-in-module, import-error </s> remove     self.filter = EKF_sym(generated_dir, self.name, self.Q, self.x_initial, self.P_initial, self.dim_state,
                          self.dim_state, maha_test_kinds=self.maha_test_kinds)
 </s> add     filter_cls = EKF_sym_pyx if cython else EKF_sym
    self.filter = filter_cls(generated_dir, self.name, self.Q, self.x_initial, self.P_initial, self.dim_state,
                             self.dim_state, maha_test_kinds=self.maha_test_kinds) </s> remove   def __init__(self, generated_dir):
 </s> add   def __init__(self, generated_dir, cython=False):
  
  import numpy as np
  import sympy as sp
  

  from selfdrive.locationd.models.constants import ObservationKind
  from selfdrive.locationd.models.gnss_helpers import parse_pr, parse_prr
  
  
  class States():
keep keep keep keep replace keep keep keep keep keep
 Update rednose: use EKF_sym_pyx (#24978)

* Update rednose

* Update rednose

* cleanup 
selfdrive/locationd/models/gnss_kf.py