@ -163,13 +163,17 @@ def internal_source_zst(sr: SegmentRange, mode: ReadMode, file_ext: str = "zst") 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  return  internal_source ( sr ,  mode ,  file_ext )   
					 
					 
					 
					  return  internal_source ( sr ,  mode ,  file_ext )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					def  openpilotci_source ( sr :  SegmentRange ,  mode :  ReadMode )  - >  LogPaths :  
					 
					 
					 
					def  openpilotci_source ( sr :  SegmentRange ,  mode :  ReadMode ,  file_ext :  str  =  " bz2 " )  - >  LogPaths :  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					  rlog_paths  =  [ get_url ( sr . route_name ,  seg ,  " rlog " )  for  seg  in  sr . seg_idxs ]   
					 
					 
					 
					  rlog_paths  =  [ get_url ( sr . route_name ,  seg ,  f " rlog. { file_ext }  " )  for  seg  in  sr . seg_idxs ]   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					  qlog_paths  =  [ get_url ( sr . route_name ,  seg ,  " qlog " )  for  seg  in  sr . seg_idxs ]   
					 
					 
					 
					  qlog_paths  =  [ get_url ( sr . route_name ,  seg ,  f " qlog. { file_ext }  " )  for  seg  in  sr . seg_idxs ]   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  return  apply_strategy ( mode ,  rlog_paths ,  qlog_paths )   
					 
					 
					 
					  return  apply_strategy ( mode ,  rlog_paths ,  qlog_paths )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					def  openpilotci_source_zst ( sr :  SegmentRange ,  mode :  ReadMode )  - >  LogPaths :  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  return  openpilotci_source ( sr ,  mode ,  " zst " )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					def  comma_car_segments_source ( sr :  SegmentRange ,  mode = ReadMode . RLOG )  - >  LogPaths :  
					 
					 
					 
					def  comma_car_segments_source ( sr :  SegmentRange ,  mode = ReadMode . RLOG )  - >  LogPaths :  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  return  [ get_comma_segments_url ( sr . route_name ,  seg )  for  seg  in  sr . seg_idxs ]   
					 
					 
					 
					  return  [ get_comma_segments_url ( sr . route_name ,  seg )  for  seg  in  sr . seg_idxs ]   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -201,7 +205,8 @@ def auto_source(sr: SegmentRange, mode=ReadMode.RLOG) -> LogPaths: 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  if  mode  ==  ReadMode . SANITIZED :   
					 
					 
					 
					  if  mode  ==  ReadMode . SANITIZED :   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    return  comma_car_segments_source ( sr ,  mode )   
					 
					 
					 
					    return  comma_car_segments_source ( sr ,  mode )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  SOURCES :  list [ Source ]  =  [ internal_source ,  internal_source_zst ,  openpilotci_source ,  comma_api_source ,  comma_car_segments_source ,  testing_closet_source , ]   
					 
					 
					 
					  SOURCES :  list [ Source ]  =  [ internal_source ,  internal_source_zst ,  openpilotci_source ,  openpilotci_source_zst ,   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					                           comma_api_source ,  comma_car_segments_source ,  testing_closet_source , ]   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  exceptions  =  { }   
					 
					 
					 
					  exceptions  =  { }   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  # for automatic fallback modes, auto_source needs to first check if rlogs exist for any source   
					 
					 
					 
					  # for automatic fallback modes, auto_source needs to first check if rlogs exist for any source