| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -62,8 +62,9 @@ void AbstractStream::updateLastMsgsTo(double sec) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  last_msgs.reserve(can_msgs.size()); | 
					 | 
					 | 
					 | 
					  last_msgs.reserve(can_msgs.size()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  double route_start_time = routeStartTime(); | 
					 | 
					 | 
					 | 
					  double route_start_time = routeStartTime(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  uint64_t last_ts = (sec + route_start_time) * 1e9; | 
					 | 
					 | 
					 | 
					  uint64_t last_ts = (sec + route_start_time) * 1e9; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  auto last = std::upper_bound(events()->rbegin(), events()->rend(), last_ts, [](uint64_t ts, auto &e) { return e->mono_time < ts; }); | 
					 | 
					 | 
					 | 
					  auto evs = events(); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  for (auto it = last; it != events()->rend(); ++it) { | 
					 | 
					 | 
					 | 
					  auto last = std::upper_bound(evs->rbegin(), evs->rend(), last_ts, [](uint64_t ts, auto &e) { return e->mono_time < ts; }); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  for (auto it = last; it != evs->rend(); ++it) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if ((*it)->which == cereal::Event::Which::CAN) { | 
					 | 
					 | 
					 | 
					    if ((*it)->which == cereal::Event::Which::CAN) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      for (const auto &c : (*it)->event.getCan()) { | 
					 | 
					 | 
					 | 
					      for (const auto &c : (*it)->event.getCan()) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        auto &m = last_msgs[{.source = c.getSrc(), .address = c.getAddress()}]; | 
					 | 
					 | 
					 | 
					        auto &m = last_msgs[{.source = c.getSrc(), .address = c.getAddress()}]; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |