viewof drivers = {
var out = [];
for (var i = 0; i < lasVegasLaps.laps.length; i++) {
var driver = lasVegasLaps.laps[i];
var total_time = 0;
var lap = 0;
while (total_time < race_time && lap < driver.Laps.length) {
if (driver.Laps[lap].LapTime != null) {
total_time += driver.Laps[lap].LapTime;
}
lap++;
}
var data = {};
if (lap > 0) {
lap--;
}
data.laps = driver.Laps[lap].Lap;
data.driver = driver;
data.time = total_time;
out.push(data);
}
out = out.sort((a, b) => b.laps - a.laps || a.time - b.time);
if (mutable lap != out[0].laps) {
mutable lap = out[0].laps;
}
var drivers = `<table>`;
for (var i = 0; i < out.length; i++) {
var driver = out[i].driver;
var driver_laps = out[i].laps - out[0].laps;
var driver_time = out[i].time - out[0].time;
var driver_back = `${driver_laps}L`;
if (driver_laps == 0) {
var driver_back = `-${driver_time.toFixed(3)}`;
}
drivers += `<tr><td width="20" align="right">${driver.Number}</td><td>${format_name(driver.FullName)}</td><td>${driver_back}</td></tr>`;
}
drivers += `</table>`
return html`${drivers}`;
}