+
+ {flairId && }
diff --git a/src/frontend/components/Standings/createStandings.ts b/src/frontend/components/Standings/createStandings.ts
index c82daae..298e1aa 100644
--- a/src/frontend/components/Standings/createStandings.ts
+++ b/src/frontend/components/Standings/createStandings.ts
@@ -14,6 +14,7 @@ export interface Standings {
carNum: string;
license: string;
rating: number;
+ flairId?: number;
};
fastestTime: number;
hasFastestTime: boolean;
@@ -110,6 +111,7 @@ export const createDriverStandings = (
carNum: driver.CarNumber,
license: driver.LicString,
rating: driver.IRating,
+ flairId: driver.FlairID,
},
fastestTime: result.FastestTime,
hasFastestTime: result.CarIdx === fastestDriverIdx,
diff --git a/src/frontend/components/Standings/hooks/useDriverPositions.tsx b/src/frontend/components/Standings/hooks/useDriverPositions.tsx
index 2f576de..b5ed449 100644
--- a/src/frontend/components/Standings/hooks/useDriverPositions.tsx
+++ b/src/frontend/components/Standings/hooks/useDriverPositions.tsx
@@ -40,6 +40,7 @@ export const useDrivers = () => {
carNumRaw: driver.CarNumberRaw,
license: driver.LicString,
rating: driver.IRating,
+ flairId: driver.FlairID,
carClass: {
id: driver.CarClassID,
color: driver.CarClassColor,
@@ -117,6 +118,7 @@ export const useDriverStandings = () => {
carNum: driver.carNum,
license: driver.license,
rating: driver.rating,
+ flairId: driver.flairId,
},
fastestTime: driverPos.bestLap,
hasFastestTime: false, // TODO
diff --git a/src/frontend/components/Standings/hooks/useRelativeSettings.ts b/src/frontend/components/Standings/hooks/useRelativeSettings.ts
index 7ab2966..465ae3a 100644
--- a/src/frontend/components/Standings/hooks/useRelativeSettings.ts
+++ b/src/frontend/components/Standings/hooks/useRelativeSettings.ts
@@ -5,4 +5,4 @@ export const useRelativeSettings = (): RelativeWidgetSettings['config'] => {
const { currentDashboard } = useDashboard();
const widget = currentDashboard?.widgets.find(w => w.id === 'relative')?.config;
return widget as RelativeWidgetSettings['config'];
-};
\ No newline at end of file
+};
\ No newline at end of file
diff --git a/src/frontend/components/Standings/hooks/useRelativeSettings.tsx b/src/frontend/components/Standings/hooks/useRelativeSettings.tsx
new file mode 100644
index 0000000..c9cf17f
--- /dev/null
+++ b/src/frontend/components/Standings/hooks/useRelativeSettings.tsx
@@ -0,0 +1,12 @@
+import { useDashboard } from '@irdashies/context';
+import { RelativeWidgetSettings } from '../../Settings/types';
+
+export const useRelativeSettings = () => {
+ const { currentDashboard } = useDashboard();
+
+ const relativeSettings = currentDashboard?.widgets.find(
+ (widget) => widget.id === 'relative',
+ )?.config;
+
+ return relativeSettings as RelativeWidgetSettings['config'];
+};
\ No newline at end of file
diff --git a/test-data/1752616787255/session.json b/test-data/1752616787255/session.json
new file mode 100644
index 0000000..243b4a1
--- /dev/null
+++ b/test-data/1752616787255/session.json
@@ -0,0 +1,4791 @@
+{
+ "WeekendInfo": {
+ "TrackName": "interlagos gp",
+ "TrackID": 212,
+ "TrackLength": "4.2226 km",
+ "TrackLengthOfficial": "4.31 km",
+ "TrackDisplayName": "Aut dromo Jos Carlos Pace",
+ "TrackDisplayShortName": "Interlagos",
+ "TrackConfigName": "Grand Prix",
+ "TrackCity": "S o Paulo",
+ "TrackState": "S o Paulo",
+ "TrackCountry": "Brazil",
+ "TrackAltitude": "782.37 m",
+ "TrackLatitude": "-23.704804 m",
+ "TrackLongitude": "-46.699672 m",
+ "TrackNorthOffset": "1.5860 rad",
+ "TrackNumTurns": 15,
+ "TrackPitSpeedLimit": "80.00 kph",
+ "TrackPaceSpeed": "22.35 kph",
+ "TrackNumPitStalls": 39,
+ "TrackType": "road course",
+ "TrackDirection": "neutral",
+ "TrackWeatherType": "Realistic",
+ "TrackSkies": "Dynamic",
+ "TrackSurfaceTemp": "21.98 C",
+ "TrackSurfaceTempCrew": "21.98 C",
+ "TrackAirTemp": "18.98 C",
+ "TrackAirPressure": "27.49 Hg",
+ "TrackAirDensity": "1.10 kg/m^3",
+ "TrackWindVel": "5.62 m/s",
+ "TrackWindDir": "1.18 rad",
+ "TrackRelativeHumidity": "95 %",
+ "TrackFogLevel": "0 %",
+ "TrackPrecipitation": "0 %",
+ "TrackCleanup": 1,
+ "TrackDynamicTrack": 1,
+ "TrackVersion": "2025.06.18.02",
+ "SeriesID": 539,
+ "SeasonID": 5598,
+ "SessionID": 280249311,
+ "SubSessionID": 78438586,
+ "LeagueID": 0,
+ "Official": 1,
+ "RaceWeek": 4,
+ "EventType": "Race",
+ "Category": "SportsCar",
+ "SimMode": "full",
+ "TeamRacing": 0,
+ "MinDrivers": 0,
+ "MaxDrivers": 1,
+ "DCRuleSet": "None",
+ "QualifierMustStartRace": 0,
+ "NumCarClasses": 3,
+ "NumCarTypes": 17,
+ "HeatRacing": 0,
+ "BuildType": "Release",
+ "BuildTarget": "Members",
+ "BuildVersion": "2025.07.02.02",
+ "RaceFarm": "US-East-OH",
+ "WeekendOptions": {
+ "NumStarters": 50,
+ "StartingGrid": "2x2 inline pole on left",
+ "QualifyScoring": "best lap",
+ "CourseCautions": "local",
+ "StandingStart": 0,
+ "ShortParadeLap": 0,
+ "Restarts": "double file lapped cars behind",
+ "WeatherType": "Realistic",
+ "Skies": "Dynamic",
+ "WindDirection": "N",
+ "WindSpeed": "3.22 km/h",
+ "WeatherTemp": "25.56 C",
+ "RelativeHumidity": "45 %",
+ "FogLevel": "0 %",
+ "TimeOfDay": "8:30 am",
+ "Date": "2025-07-19T00:00:00.000Z",
+ "EarthRotationSpeedupFactor": 1,
+ "Unofficial": 0,
+ "CommercialMode": "consumer",
+ "NightMode": "variable",
+ "IsFixedSetup": 1,
+ "StrictLapsChecking": "default",
+ "HasOpenRegistration": 0,
+ "HardcoreLevel": 0,
+ "NumJokerLaps": 0,
+ "IncidentLimit": 25,
+ "FastRepairsLimit": 0,
+ "GreenWhiteCheckeredLimit": 0
+ },
+ "TelemetryOptions": {
+ "TelemetryDiskFile": "C /Users/tarik/Documents/iRacing/telemetry/ferrari296gt3_interlagos gp 2025-07-16 09-58-20.ibt"
+ }
+ },
+ "SessionInfo": {
+ "CurrentSessionNum": 2,
+ "Sessions": [
+ {
+ "SessionNum": 0,
+ "SessionLaps": "unlimited",
+ "SessionTime": "180.0000 sec",
+ "SessionNumLapsToAvg": 0,
+ "SessionType": "Practice",
+ "SessionTrackRubberState": "moderate usage",
+ "SessionName": "PRACTICE",
+ "SessionSubType": null,
+ "SessionSkipped": 0,
+ "SessionRunGroupsUsed": 0,
+ "SessionEnforceTireCompoundChange": 0,
+ "ResultsPositions": [
+ {
+ "Position": 1,
+ "ClassPosition": 0,
+ "CarIdx": 10,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 2,
+ "ClassPosition": 1,
+ "CarIdx": 11,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0.288,
+ "Incidents": 2,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 3,
+ "ClassPosition": 0,
+ "CarIdx": 20,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 4,
+ "ClassPosition": 2,
+ "CarIdx": 12,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 5,
+ "ClassPosition": 1,
+ "CarIdx": 21,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 6,
+ "ClassPosition": 3,
+ "CarIdx": 13,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 7,
+ "ClassPosition": 2,
+ "CarIdx": 22,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 8,
+ "ClassPosition": 3,
+ "CarIdx": 23,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0.062,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 9,
+ "ClassPosition": 4,
+ "CarIdx": 24,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 10,
+ "ClassPosition": 5,
+ "CarIdx": 25,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 11,
+ "ClassPosition": 4,
+ "CarIdx": 14,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 12,
+ "ClassPosition": 5,
+ "CarIdx": 15,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 13,
+ "ClassPosition": 6,
+ "CarIdx": 26,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0.056,
+ "Incidents": 2,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 14,
+ "ClassPosition": 7,
+ "CarIdx": 27,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0.298,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 15,
+ "ClassPosition": 8,
+ "CarIdx": 28,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 16,
+ "ClassPosition": 9,
+ "CarIdx": 29,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 17,
+ "ClassPosition": 0,
+ "CarIdx": 1,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0.077,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 18,
+ "ClassPosition": 6,
+ "CarIdx": 16,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0.516,
+ "Incidents": 4,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 19,
+ "ClassPosition": 10,
+ "CarIdx": 30,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 20,
+ "ClassPosition": 7,
+ "CarIdx": 17,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 21,
+ "ClassPosition": 11,
+ "CarIdx": 31,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0.314,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 22,
+ "ClassPosition": 12,
+ "CarIdx": 32,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0.273,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 23,
+ "ClassPosition": 13,
+ "CarIdx": 33,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0.369,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 24,
+ "ClassPosition": 1,
+ "CarIdx": 2,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 25,
+ "ClassPosition": 8,
+ "CarIdx": 18,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 26,
+ "ClassPosition": 2,
+ "CarIdx": 3,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 27,
+ "ClassPosition": 14,
+ "CarIdx": 34,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0.33,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 28,
+ "ClassPosition": 9,
+ "CarIdx": 19,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0.113,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 29,
+ "ClassPosition": 3,
+ "CarIdx": 4,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0.272,
+ "Incidents": 1,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 30,
+ "ClassPosition": 4,
+ "CarIdx": 5,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0.342,
+ "Incidents": 3,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 31,
+ "ClassPosition": 5,
+ "CarIdx": 6,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0.391,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 32,
+ "ClassPosition": 15,
+ "CarIdx": 35,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 33,
+ "ClassPosition": 16,
+ "CarIdx": 36,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 34,
+ "ClassPosition": 17,
+ "CarIdx": 37,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 35,
+ "ClassPosition": 6,
+ "CarIdx": 7,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 36,
+ "ClassPosition": 18,
+ "CarIdx": 38,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 37,
+ "ClassPosition": 19,
+ "CarIdx": 39,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 38,
+ "ClassPosition": 7,
+ "CarIdx": 8,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 39,
+ "ClassPosition": 20,
+ "CarIdx": 40,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 40,
+ "ClassPosition": 21,
+ "CarIdx": 41,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 41,
+ "ClassPosition": 8,
+ "CarIdx": 9,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0.309,
+ "Incidents": 3,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ }
+ ],
+ "ResultsFastestLap": [
+ {
+ "CarIdx": 255,
+ "FastestLap": 0,
+ "FastestTime": -1
+ }
+ ],
+ "ResultsAverageLapTime": -1,
+ "ResultsNumCautionFlags": 0,
+ "ResultsNumCautionLaps": 0,
+ "ResultsNumLeadChanges": 0,
+ "ResultsLapsComplete": -1,
+ "ResultsOfficial": 1
+ },
+ {
+ "SessionNum": 1,
+ "SessionLaps": 2,
+ "SessionTime": "480.0000 sec",
+ "SessionNumLapsToAvg": 0,
+ "SessionType": "Lone Qualify",
+ "SessionTrackRubberState": "carry over",
+ "SessionName": "QUALIFY",
+ "SessionSubType": null,
+ "SessionSkipped": 0,
+ "SessionRunGroupsUsed": 0,
+ "SessionEnforceTireCompoundChange": 0,
+ "ResultsPositions": [
+ {
+ "Position": 1,
+ "ClassPosition": 0,
+ "CarIdx": 2,
+ "Lap": 2,
+ "Time": 95.6663,
+ "FastestLap": 2,
+ "FastestTime": 95.6663,
+ "LastTime": 95.6663,
+ "LapsLed": 0,
+ "LapsComplete": 2,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 3.795,
+ "Incidents": 4,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 2,
+ "ClassPosition": 1,
+ "CarIdx": 3,
+ "Lap": 2,
+ "Time": 95.8725,
+ "FastestLap": 2,
+ "FastestTime": 95.8725,
+ "LastTime": 95.8725,
+ "LapsLed": 0,
+ "LapsComplete": 2,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 3.212,
+ "Incidents": 1,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 3,
+ "ClassPosition": 0,
+ "CarIdx": 12,
+ "Lap": 1,
+ "Time": 96.662,
+ "FastestLap": 1,
+ "FastestTime": 96.662,
+ "LastTime": 96.662,
+ "LapsLed": 0,
+ "LapsComplete": 1,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 3.212,
+ "Incidents": 2,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 4,
+ "ClassPosition": 1,
+ "CarIdx": 14,
+ "Lap": 2,
+ "Time": 96.8177,
+ "FastestLap": 2,
+ "FastestTime": 96.8177,
+ "LastTime": 96.8177,
+ "LapsLed": 0,
+ "LapsComplete": 2,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 2.994,
+ "Incidents": 1,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 5,
+ "ClassPosition": 2,
+ "CarIdx": 10,
+ "Lap": 2,
+ "Time": 96.8659,
+ "FastestLap": 2,
+ "FastestTime": 96.8659,
+ "LastTime": 96.8659,
+ "LapsLed": 0,
+ "LapsComplete": 2,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 3.904,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 6,
+ "ClassPosition": 3,
+ "CarIdx": 15,
+ "Lap": 1,
+ "Time": 98.3878,
+ "FastestLap": 1,
+ "FastestTime": 98.3878,
+ "LastTime": 98.3878,
+ "LapsLed": 0,
+ "LapsComplete": 1,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 2.948,
+ "Incidents": 3,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 7,
+ "ClassPosition": 4,
+ "CarIdx": 19,
+ "Lap": 1,
+ "Time": 98.4199,
+ "FastestLap": 1,
+ "FastestTime": 98.4199,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 2,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 4.112,
+ "Incidents": 3,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 8,
+ "ClassPosition": 5,
+ "CarIdx": 16,
+ "Lap": 2,
+ "Time": 98.4823,
+ "FastestLap": 2,
+ "FastestTime": 98.4823,
+ "LastTime": 98.4823,
+ "LapsLed": 0,
+ "LapsComplete": 2,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 2.988,
+ "Incidents": 2,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 9,
+ "ClassPosition": 6,
+ "CarIdx": 11,
+ "Lap": 2,
+ "Time": 98.616,
+ "FastestLap": 2,
+ "FastestTime": 98.616,
+ "LastTime": 98.616,
+ "LapsLed": 0,
+ "LapsComplete": 2,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 3.968,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 10,
+ "ClassPosition": 2,
+ "CarIdx": 7,
+ "Lap": 1,
+ "Time": 99.6431,
+ "FastestLap": 1,
+ "FastestTime": 99.6431,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 2,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 3.04,
+ "Incidents": 2,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 11,
+ "ClassPosition": 0,
+ "CarIdx": 36,
+ "Lap": 1,
+ "Time": 102.424,
+ "FastestLap": 1,
+ "FastestTime": 102.424,
+ "LastTime": 102.424,
+ "LapsLed": 0,
+ "LapsComplete": 1,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 2.784,
+ "Incidents": 1,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 12,
+ "ClassPosition": 1,
+ "CarIdx": 23,
+ "Lap": 2,
+ "Time": 102.9543,
+ "FastestLap": 2,
+ "FastestTime": 102.9543,
+ "LastTime": 102.9543,
+ "LapsLed": 0,
+ "LapsComplete": 2,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 2.968,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 13,
+ "ClassPosition": 2,
+ "CarIdx": 22,
+ "Lap": 2,
+ "Time": 103.0657,
+ "FastestLap": 2,
+ "FastestTime": 103.0657,
+ "LastTime": 103.0657,
+ "LapsLed": 0,
+ "LapsComplete": 2,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 4.172,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 14,
+ "ClassPosition": 3,
+ "CarIdx": 21,
+ "Lap": 2,
+ "Time": 103.1475,
+ "FastestLap": 2,
+ "FastestTime": 103.1475,
+ "LastTime": 103.1475,
+ "LapsLed": 0,
+ "LapsComplete": 2,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 2.997,
+ "Incidents": 1,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 15,
+ "ClassPosition": 4,
+ "CarIdx": 27,
+ "Lap": 1,
+ "Time": 103.6535,
+ "FastestLap": 1,
+ "FastestTime": 103.6535,
+ "LastTime": 103.6535,
+ "LapsLed": 0,
+ "LapsComplete": 1,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 2.659,
+ "Incidents": 2,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 16,
+ "ClassPosition": 5,
+ "CarIdx": 31,
+ "Lap": 2,
+ "Time": 104.5092,
+ "FastestLap": 2,
+ "FastestTime": 104.5092,
+ "LastTime": 104.5092,
+ "LapsLed": 0,
+ "LapsComplete": 2,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 3.469,
+ "Incidents": 1,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 17,
+ "ClassPosition": 6,
+ "CarIdx": 28,
+ "Lap": 1,
+ "Time": 104.7203,
+ "FastestLap": 1,
+ "FastestTime": 104.7203,
+ "LastTime": 104.7203,
+ "LapsLed": 0,
+ "LapsComplete": 1,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 2.751,
+ "Incidents": 1,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 18,
+ "ClassPosition": 7,
+ "CarIdx": 34,
+ "Lap": 2,
+ "Time": 105.0928,
+ "FastestLap": 2,
+ "FastestTime": 105.0928,
+ "LastTime": 105.0928,
+ "LapsLed": 0,
+ "LapsComplete": 2,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 3.605,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 19,
+ "ClassPosition": 8,
+ "CarIdx": 41,
+ "Lap": 1,
+ "Time": 105.5422,
+ "FastestLap": 1,
+ "FastestTime": 105.5422,
+ "LastTime": 105.5422,
+ "LapsLed": 0,
+ "LapsComplete": 1,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 2.632,
+ "Incidents": 4,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 20,
+ "ClassPosition": 9,
+ "CarIdx": 35,
+ "Lap": 2,
+ "Time": 105.7885,
+ "FastestLap": 2,
+ "FastestTime": 105.7885,
+ "LastTime": 105.7885,
+ "LapsLed": 0,
+ "LapsComplete": 2,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 3.244,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 21,
+ "ClassPosition": 10,
+ "CarIdx": 37,
+ "Lap": 2,
+ "Time": 108.9492,
+ "FastestLap": 2,
+ "FastestTime": 108.9492,
+ "LastTime": 108.9492,
+ "LapsLed": 0,
+ "LapsComplete": 2,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 3.932,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 22,
+ "ClassPosition": 11,
+ "CarIdx": 24,
+ "Lap": 1,
+ "Time": 109.7977,
+ "FastestLap": 1,
+ "FastestTime": 109.7977,
+ "LastTime": 109.7977,
+ "LapsLed": 0,
+ "LapsComplete": 1,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 2.504,
+ "Incidents": 6,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 23,
+ "ClassPosition": 12,
+ "CarIdx": 20,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 1.536,
+ "Incidents": 4,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 24,
+ "ClassPosition": 7,
+ "CarIdx": 13,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 1.266,
+ "Incidents": 2,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 25,
+ "ClassPosition": 13,
+ "CarIdx": 25,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 1.28,
+ "Incidents": 2,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 26,
+ "ClassPosition": 14,
+ "CarIdx": 26,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 1.485,
+ "Incidents": 6,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 27,
+ "ClassPosition": 15,
+ "CarIdx": 29,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 28,
+ "ClassPosition": 3,
+ "CarIdx": 1,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 2,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 4.594,
+ "Incidents": 8,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 29,
+ "ClassPosition": 16,
+ "CarIdx": 30,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 30,
+ "ClassPosition": 8,
+ "CarIdx": 17,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 31,
+ "ClassPosition": 17,
+ "CarIdx": 32,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 2.402,
+ "Incidents": 1,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 32,
+ "ClassPosition": 18,
+ "CarIdx": 33,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0.962,
+ "Incidents": 4,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 33,
+ "ClassPosition": 9,
+ "CarIdx": 18,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0.27,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 34,
+ "ClassPosition": 4,
+ "CarIdx": 4,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 1,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 2.016,
+ "Incidents": 2,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 35,
+ "ClassPosition": 5,
+ "CarIdx": 5,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 1,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 2.474,
+ "Incidents": 9,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 36,
+ "ClassPosition": 6,
+ "CarIdx": 6,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 37,
+ "ClassPosition": 19,
+ "CarIdx": 38,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 2.01,
+ "Incidents": 3,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 38,
+ "ClassPosition": 20,
+ "CarIdx": 39,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 39,
+ "ClassPosition": 7,
+ "CarIdx": 8,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 2,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 3.34,
+ "Incidents": 7,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 40,
+ "ClassPosition": 21,
+ "CarIdx": 40,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 0,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 0,
+ "Incidents": 0,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ },
+ {
+ "Position": 41,
+ "ClassPosition": 8,
+ "CarIdx": 9,
+ "Lap": 0,
+ "Time": -1,
+ "FastestLap": -1,
+ "FastestTime": -1,
+ "LastTime": -1,
+ "LapsLed": 0,
+ "LapsComplete": 1,
+ "JokerLapsComplete": 0,
+ "LapsDriven": 3.168,
+ "Incidents": 9,
+ "ReasonOutId": 0,
+ "ReasonOutStr": "Running"
+ }
+ ],
+ "ResultsFastestLap": [
+ {
+ "CarIdx": 2,
+ "FastestLap": 2,
+ "FastestTime": 95.6663
+ }
+ ],
+ "ResultsAverageLapTime": -1,
+ "ResultsNumCautionFlags": 0,
+ "ResultsNumCautionLaps": 0,
+ "ResultsNumLeadChanges": 0,
+ "ResultsLapsComplete": -1,
+ "ResultsOfficial": 1
+ },
+ {
+ "SessionNum": 2,
+ "SessionLaps": "unlimited",
+ "SessionTime": "2100.0000 sec",
+ "SessionNumLapsToAvg": 0,
+ "SessionType": "Race",
+ "SessionTrackRubberState": "carry over",
+ "SessionName": "RACE",
+ "SessionSubType": null,
+ "SessionSkipped": 0,
+ "SessionRunGroupsUsed": 0,
+ "SessionEnforceTireCompoundChange": 0,
+ "ResultsPositions": null,
+ "ResultsFastestLap": [
+ {
+ "CarIdx": 255,
+ "FastestLap": 0,
+ "FastestTime": -1
+ }
+ ],
+ "ResultsAverageLapTime": -1,
+ "ResultsNumCautionFlags": 0,
+ "ResultsNumCautionLaps": 0,
+ "ResultsNumLeadChanges": 0,
+ "ResultsLapsComplete": -1,
+ "ResultsOfficial": 0
+ }
+ ]
+ },
+ "QualifyResultsInfo": {
+ "Results": [
+ {
+ "Position": 0,
+ "ClassPosition": 0,
+ "CarIdx": 2,
+ "FastestLap": 2,
+ "FastestTime": 95.6663
+ },
+ {
+ "Position": 1,
+ "ClassPosition": 1,
+ "CarIdx": 3,
+ "FastestLap": 2,
+ "FastestTime": 95.8725
+ },
+ {
+ "Position": 2,
+ "ClassPosition": 2,
+ "CarIdx": 7,
+ "FastestLap": 1,
+ "FastestTime": 99.6431
+ },
+ {
+ "Position": 3,
+ "ClassPosition": 3,
+ "CarIdx": 1,
+ "FastestLap": 0,
+ "FastestTime": -1
+ },
+ {
+ "Position": 4,
+ "ClassPosition": 4,
+ "CarIdx": 4,
+ "FastestLap": 0,
+ "FastestTime": -1
+ },
+ {
+ "Position": 5,
+ "ClassPosition": 5,
+ "CarIdx": 5,
+ "FastestLap": 0,
+ "FastestTime": -1
+ },
+ {
+ "Position": 6,
+ "ClassPosition": 6,
+ "CarIdx": 6,
+ "FastestLap": 0,
+ "FastestTime": -1
+ },
+ {
+ "Position": 7,
+ "ClassPosition": 7,
+ "CarIdx": 8,
+ "FastestLap": 0,
+ "FastestTime": -1
+ },
+ {
+ "Position": 8,
+ "ClassPosition": 8,
+ "CarIdx": 9,
+ "FastestLap": 0,
+ "FastestTime": -1
+ },
+ {
+ "Position": 9,
+ "ClassPosition": 0,
+ "CarIdx": 12,
+ "FastestLap": 1,
+ "FastestTime": 96.662
+ },
+ {
+ "Position": 10,
+ "ClassPosition": 1,
+ "CarIdx": 14,
+ "FastestLap": 2,
+ "FastestTime": 96.8177
+ },
+ {
+ "Position": 11,
+ "ClassPosition": 2,
+ "CarIdx": 10,
+ "FastestLap": 2,
+ "FastestTime": 96.8659
+ },
+ {
+ "Position": 12,
+ "ClassPosition": 3,
+ "CarIdx": 15,
+ "FastestLap": 1,
+ "FastestTime": 98.3878
+ },
+ {
+ "Position": 13,
+ "ClassPosition": 4,
+ "CarIdx": 19,
+ "FastestLap": 1,
+ "FastestTime": 98.4199
+ },
+ {
+ "Position": 14,
+ "ClassPosition": 5,
+ "CarIdx": 16,
+ "FastestLap": 2,
+ "FastestTime": 98.4823
+ },
+ {
+ "Position": 15,
+ "ClassPosition": 6,
+ "CarIdx": 11,
+ "FastestLap": 2,
+ "FastestTime": 98.616
+ },
+ {
+ "Position": 16,
+ "ClassPosition": 7,
+ "CarIdx": 13,
+ "FastestLap": 0,
+ "FastestTime": -1
+ },
+ {
+ "Position": 17,
+ "ClassPosition": 8,
+ "CarIdx": 18,
+ "FastestLap": 0,
+ "FastestTime": -1
+ },
+ {
+ "Position": 18,
+ "ClassPosition": 9,
+ "CarIdx": 17,
+ "FastestLap": 0,
+ "FastestTime": -1
+ },
+ {
+ "Position": 19,
+ "ClassPosition": 0,
+ "CarIdx": 36,
+ "FastestLap": 1,
+ "FastestTime": 102.424
+ },
+ {
+ "Position": 20,
+ "ClassPosition": 1,
+ "CarIdx": 23,
+ "FastestLap": 2,
+ "FastestTime": 102.9543
+ },
+ {
+ "Position": 21,
+ "ClassPosition": 2,
+ "CarIdx": 22,
+ "FastestLap": 2,
+ "FastestTime": 103.0657
+ },
+ {
+ "Position": 22,
+ "ClassPosition": 3,
+ "CarIdx": 21,
+ "FastestLap": 2,
+ "FastestTime": 103.1475
+ },
+ {
+ "Position": 23,
+ "ClassPosition": 4,
+ "CarIdx": 27,
+ "FastestLap": 1,
+ "FastestTime": 103.6535
+ },
+ {
+ "Position": 24,
+ "ClassPosition": 5,
+ "CarIdx": 31,
+ "FastestLap": 2,
+ "FastestTime": 104.5092
+ },
+ {
+ "Position": 25,
+ "ClassPosition": 6,
+ "CarIdx": 28,
+ "FastestLap": 1,
+ "FastestTime": 104.7203
+ },
+ {
+ "Position": 26,
+ "ClassPosition": 7,
+ "CarIdx": 34,
+ "FastestLap": 2,
+ "FastestTime": 105.0928
+ },
+ {
+ "Position": 27,
+ "ClassPosition": 8,
+ "CarIdx": 41,
+ "FastestLap": 1,
+ "FastestTime": 105.5422
+ },
+ {
+ "Position": 28,
+ "ClassPosition": 9,
+ "CarIdx": 35,
+ "FastestLap": 2,
+ "FastestTime": 105.7885
+ },
+ {
+ "Position": 29,
+ "ClassPosition": 10,
+ "CarIdx": 37,
+ "FastestLap": 2,
+ "FastestTime": 108.9492
+ },
+ {
+ "Position": 30,
+ "ClassPosition": 11,
+ "CarIdx": 24,
+ "FastestLap": 1,
+ "FastestTime": 109.7977
+ },
+ {
+ "Position": 31,
+ "ClassPosition": 12,
+ "CarIdx": 20,
+ "FastestLap": 0,
+ "FastestTime": -1
+ },
+ {
+ "Position": 32,
+ "ClassPosition": 13,
+ "CarIdx": 25,
+ "FastestLap": 0,
+ "FastestTime": -1
+ },
+ {
+ "Position": 33,
+ "ClassPosition": 14,
+ "CarIdx": 26,
+ "FastestLap": 0,
+ "FastestTime": -1
+ },
+ {
+ "Position": 34,
+ "ClassPosition": 15,
+ "CarIdx": 29,
+ "FastestLap": 0,
+ "FastestTime": -1
+ },
+ {
+ "Position": 35,
+ "ClassPosition": 16,
+ "CarIdx": 30,
+ "FastestLap": 0,
+ "FastestTime": -1
+ },
+ {
+ "Position": 36,
+ "ClassPosition": 17,
+ "CarIdx": 32,
+ "FastestLap": 0,
+ "FastestTime": -1
+ },
+ {
+ "Position": 37,
+ "ClassPosition": 18,
+ "CarIdx": 33,
+ "FastestLap": 0,
+ "FastestTime": -1
+ },
+ {
+ "Position": 38,
+ "ClassPosition": 19,
+ "CarIdx": 38,
+ "FastestLap": 0,
+ "FastestTime": -1
+ },
+ {
+ "Position": 39,
+ "ClassPosition": 20,
+ "CarIdx": 39,
+ "FastestLap": 0,
+ "FastestTime": -1
+ },
+ {
+ "Position": 40,
+ "ClassPosition": 21,
+ "CarIdx": 40,
+ "FastestLap": 0,
+ "FastestTime": -1
+ }
+ ]
+ },
+ "CameraInfo": {
+ "Groups": [
+ {
+ "GroupNum": 1,
+ "GroupName": "Nose",
+ "Cameras": [
+ {
+ "CameraNum": 1,
+ "CameraName": "CamNose"
+ }
+ ]
+ },
+ {
+ "GroupNum": 2,
+ "GroupName": "Gearbox",
+ "Cameras": [
+ {
+ "CameraNum": 1,
+ "CameraName": "CamGearbox"
+ }
+ ]
+ },
+ {
+ "GroupNum": 3,
+ "GroupName": "Roll Bar",
+ "Cameras": [
+ {
+ "CameraNum": 1,
+ "CameraName": "CamRoll Bar"
+ }
+ ]
+ },
+ {
+ "GroupNum": 4,
+ "GroupName": "LF Susp",
+ "Cameras": [
+ {
+ "CameraNum": 1,
+ "CameraName": "CamLF Susp"
+ }
+ ]
+ },
+ {
+ "GroupNum": 5,
+ "GroupName": "LR Susp",
+ "Cameras": [
+ {
+ "CameraNum": 1,
+ "CameraName": "CamLR Susp"
+ }
+ ]
+ },
+ {
+ "GroupNum": 6,
+ "GroupName": "Gyro",
+ "Cameras": [
+ {
+ "CameraNum": 1,
+ "CameraName": "CamGyro"
+ }
+ ]
+ },
+ {
+ "GroupNum": 7,
+ "GroupName": "RF Susp",
+ "Cameras": [
+ {
+ "CameraNum": 1,
+ "CameraName": "CamRF Susp"
+ }
+ ]
+ },
+ {
+ "GroupNum": 8,
+ "GroupName": "RR Susp",
+ "Cameras": [
+ {
+ "CameraNum": 1,
+ "CameraName": "CamRR Susp"
+ }
+ ]
+ },
+ {
+ "GroupNum": 9,
+ "GroupName": "Cockpit",
+ "Cameras": [
+ {
+ "CameraNum": 1,
+ "CameraName": "CamCockpit"
+ }
+ ]
+ },
+ {
+ "GroupNum": 10,
+ "GroupName": "Blimp",
+ "Cameras": [
+ {
+ "CameraNum": 1,
+ "CameraName": "CamBlimp_00"
+ },
+ {
+ "CameraNum": 2,
+ "CameraName": "CamBlimp_01"
+ }
+ ]
+ },
+ {
+ "GroupNum": 11,
+ "GroupName": "Chopper",
+ "Cameras": [
+ {
+ "CameraNum": 1,
+ "CameraName": "CamChopper"
+ }
+ ]
+ },
+ {
+ "GroupNum": 12,
+ "GroupName": "Chase",
+ "Cameras": [
+ {
+ "CameraNum": 1,
+ "CameraName": "CamChase"
+ }
+ ]
+ },
+ {
+ "GroupNum": 13,
+ "GroupName": "Far Chase",
+ "Cameras": [
+ {
+ "CameraNum": 1,
+ "CameraName": "CamFar Chase"
+ }
+ ]
+ },
+ {
+ "GroupNum": 14,
+ "GroupName": "Rear Chase",
+ "Cameras": [
+ {
+ "CameraNum": 1,
+ "CameraName": "CamRear Chase"
+ }
+ ]
+ },
+ {
+ "GroupNum": 15,
+ "GroupName": "Pit Lane",
+ "Cameras": [
+ {
+ "CameraNum": 1,
+ "CameraName": "CamPit Lane"
+ }
+ ]
+ },
+ {
+ "GroupNum": 16,
+ "GroupName": "Pit Lane 2",
+ "Cameras": [
+ {
+ "CameraNum": 1,
+ "CameraName": "CamPit Lane 2"
+ }
+ ]
+ },
+ {
+ "GroupNum": 17,
+ "GroupName": "Scenic0",
+ "Cameras": [
+ {
+ "CameraNum": 1,
+ "CameraName": "Scenic_00"
+ },
+ {
+ "CameraNum": 2,
+ "CameraName": "Scenic_01"
+ },
+ {
+ "CameraNum": 3,
+ "CameraName": "Scenic_02"
+ },
+ {
+ "CameraNum": 4,
+ "CameraName": "Scenic_03"
+ },
+ {
+ "CameraNum": 5,
+ "CameraName": "Scenic_04"
+ },
+ {
+ "CameraNum": 6,
+ "CameraName": "Scenic_05"
+ },
+ {
+ "CameraNum": 7,
+ "CameraName": "Scenic_06"
+ },
+ {
+ "CameraNum": 8,
+ "CameraName": "Scenic_07"
+ },
+ {
+ "CameraNum": 9,
+ "CameraName": "Scenic_08"
+ },
+ {
+ "CameraNum": 10,
+ "CameraName": "Scenic_09"
+ },
+ {
+ "CameraNum": 11,
+ "CameraName": "Scenic_10"
+ }
+ ]
+ },
+ {
+ "GroupNum": 18,
+ "GroupName": "Scenic",
+ "IsScenic": true,
+ "Cameras": [
+ {
+ "CameraNum": 1,
+ "CameraName": "CamScenic_00"
+ },
+ {
+ "CameraNum": 2,
+ "CameraName": "CamScenic_01"
+ },
+ {
+ "CameraNum": 3,
+ "CameraName": "CamScenic_02"
+ },
+ {
+ "CameraNum": 4,
+ "CameraName": "CamScenic_03"
+ },
+ {
+ "CameraNum": 5,
+ "CameraName": "CamScenic_04"
+ },
+ {
+ "CameraNum": 6,
+ "CameraName": "CamScenic_05"
+ },
+ {
+ "CameraNum": 7,
+ "CameraName": "CamScenic_06"
+ },
+ {
+ "CameraNum": 8,
+ "CameraName": "CamScenic_07"
+ },
+ {
+ "CameraNum": 9,
+ "CameraName": "CamScenic_08"
+ },
+ {
+ "CameraNum": 10,
+ "CameraName": "CamScenic_09"
+ }
+ ]
+ },
+ {
+ "GroupNum": 19,
+ "GroupName": "TV1",
+ "Cameras": [
+ {
+ "CameraNum": 1,
+ "CameraName": "CamTV1_00"
+ },
+ {
+ "CameraNum": 2,
+ "CameraName": "CamTV1_01"
+ },
+ {
+ "CameraNum": 3,
+ "CameraName": "CamTV1_02"
+ },
+ {
+ "CameraNum": 4,
+ "CameraName": "CamTV1_03"
+ },
+ {
+ "CameraNum": 5,
+ "CameraName": "CamTV1_09"
+ },
+ {
+ "CameraNum": 6,
+ "CameraName": "CamTV1_04"
+ },
+ {
+ "CameraNum": 7,
+ "CameraName": "CamTV1_05"
+ },
+ {
+ "CameraNum": 8,
+ "CameraName": "CamTV1_06"
+ },
+ {
+ "CameraNum": 9,
+ "CameraName": "CamTV1_07"
+ },
+ {
+ "CameraNum": 10,
+ "CameraName": "CamTV1_08"
+ }
+ ]
+ },
+ {
+ "GroupNum": 20,
+ "GroupName": "TV2",
+ "Cameras": [
+ {
+ "CameraNum": 1,
+ "CameraName": "CamTV2_00"
+ },
+ {
+ "CameraNum": 2,
+ "CameraName": "CamTV2_01"
+ },
+ {
+ "CameraNum": 3,
+ "CameraName": "CamTV2_02"
+ },
+ {
+ "CameraNum": 4,
+ "CameraName": "CamTV2_03"
+ },
+ {
+ "CameraNum": 5,
+ "CameraName": "CamTV2_04"
+ },
+ {
+ "CameraNum": 6,
+ "CameraName": "CamTV2_05"
+ },
+ {
+ "CameraNum": 7,
+ "CameraName": "CamTV2_06"
+ },
+ {
+ "CameraNum": 8,
+ "CameraName": "CamTV2_07"
+ },
+ {
+ "CameraNum": 9,
+ "CameraName": "CamTV2_08"
+ }
+ ]
+ },
+ {
+ "GroupNum": 21,
+ "GroupName": "TV3",
+ "Cameras": [
+ {
+ "CameraNum": 1,
+ "CameraName": "CamTV3_00"
+ },
+ {
+ "CameraNum": 2,
+ "CameraName": "CamTV3_01"
+ },
+ {
+ "CameraNum": 3,
+ "CameraName": "CamTV3_02"
+ },
+ {
+ "CameraNum": 4,
+ "CameraName": "CamTV3_03"
+ },
+ {
+ "CameraNum": 5,
+ "CameraName": "CamTV3_04"
+ },
+ {
+ "CameraNum": 6,
+ "CameraName": "CamTV3_05"
+ },
+ {
+ "CameraNum": 7,
+ "CameraName": "CamTV3_06"
+ },
+ {
+ "CameraNum": 8,
+ "CameraName": "CamTV3_07"
+ },
+ {
+ "CameraNum": 9,
+ "CameraName": "CamTV3_09"
+ }
+ ]
+ }
+ ]
+ },
+ "RadioInfo": {
+ "SelectedRadioNum": 0,
+ "Radios": [
+ {
+ "RadioNum": 0,
+ "HopCount": 1,
+ "NumFrequencies": 5,
+ "TunedToFrequencyNum": 1,
+ "ScanningIsOn": 1,
+ "Frequencies": [
+ {
+ "FrequencyNum": 0,
+ "FrequencyName": "@ALLTEAMS",
+ "Priority": 12,
+ "CarIdx": -1,
+ "EntryIdx": -1,
+ "ClubID": 0,
+ "CanScan": 1,
+ "CanSquawk": 1,
+ "Muted": 0,
+ "IsMutable": 1,
+ "IsDeletable": 0
+ },
+ {
+ "FrequencyNum": 1,
+ "FrequencyName": "@DRIVERS",
+ "Priority": 15,
+ "CarIdx": -1,
+ "EntryIdx": -1,
+ "ClubID": 0,
+ "CanScan": 1,
+ "CanSquawk": 1,
+ "Muted": 0,
+ "IsMutable": 1,
+ "IsDeletable": 0
+ },
+ {
+ "FrequencyNum": 2,
+ "FrequencyName": "@TEAM",
+ "Priority": 60,
+ "CarIdx": 37,
+ "EntryIdx": -1,
+ "ClubID": 0,
+ "CanScan": 1,
+ "CanSquawk": 1,
+ "Muted": 0,
+ "IsMutable": 0,
+ "IsDeletable": 0
+ },
+ {
+ "FrequencyNum": 3,
+ "FrequencyName": "@RACECONTROL",
+ "Priority": 80,
+ "CarIdx": -1,
+ "EntryIdx": -1,
+ "ClubID": 0,
+ "CanScan": 1,
+ "CanSquawk": 0,
+ "Muted": 0,
+ "IsMutable": 0,
+ "IsDeletable": 0
+ },
+ {
+ "FrequencyNum": 4,
+ "FrequencyName": "@PRIVATE",
+ "Priority": 70,
+ "CarIdx": -1,
+ "EntryIdx": 37,
+ "ClubID": 0,
+ "CanScan": 1,
+ "CanSquawk": 1,
+ "Muted": 0,
+ "IsMutable": 0,
+ "IsDeletable": 0
+ }
+ ]
+ }
+ ]
+ },
+ "DriverInfo": {
+ "DriverCarIdx": 37,
+ "DriverUserID": 968989,
+ "PaceCarIdx": 0,
+ "DriverHeadPosX": 0.043,
+ "DriverHeadPosY": 0.325,
+ "DriverHeadPosZ": 0.535,
+ "DriverCarIsElectric": 0,
+ "DriverCarIdleRPM": 2950,
+ "DriverCarRedLine": 8000,
+ "DriverCarEngCylinderCount": 6,
+ "DriverCarFuelKgPerLtr": 0.75,
+ "DriverCarFuelMaxLtr": 104,
+ "DriverCarMaxFuelPct": 0.5,
+ "DriverCarGearNumForward": 6,
+ "DriverCarGearNeutral": 1,
+ "DriverCarGearReverse": 1,
+ "DriverCarSLFirstRPM": 6000,
+ "DriverCarSLShiftRPM": 7300,
+ "DriverCarSLLastRPM": 7500,
+ "DriverCarSLBlinkRPM": 7900,
+ "DriverCarVersion": "2025.07.02.02",
+ "DriverPitTrkPct": 0.018902,
+ "DriverCarEstLapTime": 89.3673,
+ "DriverSetupName": "fixed.sto",
+ "DriverSetupIsModified": 1,
+ "DriverSetupLoadTypeName": "fixed",
+ "DriverSetupPassedTech": 1,
+ "DriverIncidentCount": 0,
+ "DriverBrakeCurvingFactor": 0.001,
+ "DriverTires": [
+ {
+ "TireIndex": 0,
+ "TireCompoundType": "Hard"
+ },
+ {
+ "TireIndex": 1,
+ "TireCompoundType": "Wet"
+ }
+ ],
+ "Drivers": [
+ {
+ "CarIdx": 0,
+ "UserName": "Pace Car",
+ "AbbrevName": null,
+ "Initials": null,
+ "UserID": -1,
+ "TeamID": 0,
+ "TeamName": "Pace Car",
+ "CarNumber": "0",
+ "CarNumberRaw": 0,
+ "CarPath": "safety pcporsche911cup",
+ "CarClassID": 11,
+ "CarID": 108,
+ "CarIsPaceCar": 1,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "safety pcporsche911cup",
+ "CarScreenNameShort": "safety pcporsche911cup",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": null,
+ "CarClassRelSpeed": 0,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "1.000 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 0,
+ "CarClassEstLapTime": 95.7478,
+ "IRating": 0,
+ "LicLevel": 1,
+ "LicSubLevel": 0,
+ "LicString": "R 0.00",
+ "LicColor": 16777215,
+ "IsSpectator": 0,
+ "CarDesignStr": "0,ffffff,ffffff,ffffff",
+ "HelmetDesignStr": "0,ffffff,ffffff,ffffff",
+ "SuitDesignStr": "0,ffffff,ffffff,ffffff",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,ffffff,ffffff",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "-none-",
+ "FlairID": 0,
+ "DivisionName": "Division 1",
+ "DivisionID": 0,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 1,
+ "UserName": "Théo Bardet",
+ "AbbrevName": "Bardet, T",
+ "Initials": "TB",
+ "UserID": 833104,
+ "TeamID": 0,
+ "TeamName": "Théo Bardet",
+ "CarNumber": "17",
+ "CarNumberRaw": 17,
+ "CarPath": "porsche963gtp",
+ "CarClassID": 4029,
+ "CarID": 174,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Porsche 963 GTP",
+ "CarScreenNameShort": "Porsche 963",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "GTP",
+ "CarClassRelSpeed": 179,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16767577,
+ "CarClassEstLapTime": 81.4249,
+ "IRating": 1743,
+ "LicLevel": 17,
+ "LicSubLevel": 160,
+ "LicString": "A 1.60",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "3,ff0000,00ff00,0000ff",
+ "HelmetDesignStr": "0,372a75,f1732e,faff00",
+ "SuitDesignStr": "6,7f07c9,fffb00,fff500",
+ "BodyType": 1,
+ "FaceType": 8,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "France",
+ "FlairID": 71,
+ "DivisionName": "Division 5",
+ "DivisionID": 4,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 2,
+ "UserName": "Ethan Rauscher",
+ "AbbrevName": "Rauscher, E",
+ "Initials": "ER",
+ "UserID": 1216093,
+ "TeamID": 0,
+ "TeamName": "Ethan Rauscher",
+ "CarNumber": "24",
+ "CarNumberRaw": 24,
+ "CarPath": "porsche963gtp",
+ "CarClassID": 4029,
+ "CarID": 174,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Porsche 963 GTP",
+ "CarScreenNameShort": "Porsche 963",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "GTP",
+ "CarClassRelSpeed": 179,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16767577,
+ "CarClassEstLapTime": 81.4249,
+ "IRating": 1535,
+ "LicLevel": 20,
+ "LicSubLevel": 472,
+ "LicString": "A 4.72",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "2,ff0000,00ff00,0000ff",
+ "HelmetDesignStr": "36,000031,f7ff36,ffffff",
+ "SuitDesignStr": "32,000000,000000,000000",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "United States",
+ "FlairID": 223,
+ "DivisionName": "Division 9",
+ "DivisionID": 8,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 3,
+ "UserName": "Joshua D Sutherland",
+ "AbbrevName": "Sutherland, J",
+ "Initials": "JS",
+ "UserID": 612076,
+ "TeamID": 0,
+ "TeamName": "Joshua D Sutherland",
+ "CarNumber": "26",
+ "CarNumberRaw": 26,
+ "CarPath": "cadillacvseriesrgtp",
+ "CarClassID": 4029,
+ "CarID": 168,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Cadillac V-Series.R",
+ "CarScreenNameShort": "Cadillac V-Series.R",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "GTP",
+ "CarClassRelSpeed": 179,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16767577,
+ "CarClassEstLapTime": 81.7844,
+ "IRating": 1521,
+ "LicLevel": 18,
+ "LicSubLevel": 225,
+ "LicString": "A 2.25",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "3,ff0000,00ff00,0000ff",
+ "HelmetDesignStr": "2,fc0706,ffffff,111111",
+ "SuitDesignStr": "1,000000,ffffff,111111",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "United States",
+ "FlairID": 223,
+ "DivisionName": "Division 7",
+ "DivisionID": 6,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 4,
+ "UserName": "Hmud Ayed",
+ "AbbrevName": "Ayed, H",
+ "Initials": "HA",
+ "UserID": 1153359,
+ "TeamID": 0,
+ "TeamName": "Hmud Ayed",
+ "CarNumber": "29",
+ "CarNumberRaw": 29,
+ "CarPath": "ferrari499p",
+ "CarClassID": 4029,
+ "CarID": 196,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Ferrari 499P",
+ "CarScreenNameShort": "Ferrari 499P",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "GTP",
+ "CarClassRelSpeed": 179,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16767577,
+ "CarClassEstLapTime": 81.0358,
+ "IRating": 1451,
+ "LicLevel": 17,
+ "LicSubLevel": 178,
+ "LicString": "A 1.78",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "1,ff0000,00ff00,0000ff",
+ "HelmetDesignStr": "1,0a0a0a,f26522,00aeef",
+ "SuitDesignStr": "1,0a0a0a,f26522,00aeef",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "Saudi Arabia",
+ "FlairID": 185,
+ "DivisionName": "Division 7",
+ "DivisionID": 6,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 5,
+ "UserName": "Felipe Fernandes9",
+ "AbbrevName": "Fernandes9, F",
+ "Initials": "FF",
+ "UserID": 1153536,
+ "TeamID": 0,
+ "TeamName": "Felipe Fernandes9",
+ "CarNumber": "30",
+ "CarNumberRaw": 30,
+ "CarPath": "bmwlmdh",
+ "CarClassID": 4029,
+ "CarID": 159,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "BMW M Hybrid V8",
+ "CarScreenNameShort": "BMW M Hybrid V8",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "GTP",
+ "CarClassRelSpeed": 179,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16767577,
+ "CarClassEstLapTime": 81.4799,
+ "IRating": 1370,
+ "LicLevel": 19,
+ "LicSubLevel": 336,
+ "LicString": "A 3.36",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "1,ff0000,00ff00,0000ff",
+ "HelmetDesignStr": "42,b4d511,3d8c13,0a4fff",
+ "SuitDesignStr": "2,575757,000000,000000",
+ "BodyType": 1,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,000000,ffffff",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "Brazil",
+ "FlairID": 31,
+ "DivisionName": "Division 8",
+ "DivisionID": 7,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 6,
+ "UserName": "Cody J Deering",
+ "AbbrevName": "Deering, C",
+ "Initials": "CD",
+ "UserID": 981884,
+ "TeamID": 0,
+ "TeamName": "Cody J Deering",
+ "CarNumber": "31",
+ "CarNumberRaw": 31,
+ "CarPath": "cadillacvseriesrgtp",
+ "CarClassID": 4029,
+ "CarID": 168,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Cadillac V-Series.R",
+ "CarScreenNameShort": "Cadillac V-Series.R",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "GTP",
+ "CarClassRelSpeed": 179,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16767577,
+ "CarClassEstLapTime": 81.7844,
+ "IRating": 1369,
+ "LicLevel": 19,
+ "LicSubLevel": 362,
+ "LicString": "A 3.62",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "14,111111,ffffff,f06e34",
+ "HelmetDesignStr": "56,111111,ffffff,c4ff00",
+ "SuitDesignStr": "25,111111,ffffff,c8f807",
+ "BodyType": 0,
+ "FaceType": 4,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "United States",
+ "FlairID": 223,
+ "DivisionName": "Division 6",
+ "DivisionID": 5,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 7,
+ "UserName": "Patrice Mas",
+ "AbbrevName": "Mas, P",
+ "Initials": "PM",
+ "UserID": 762583,
+ "TeamID": 0,
+ "TeamName": "Patrice Mas",
+ "CarNumber": "35",
+ "CarNumberRaw": 35,
+ "CarPath": "porsche963gtp",
+ "CarClassID": 4029,
+ "CarID": 174,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Porsche 963 GTP",
+ "CarScreenNameShort": "Porsche 963",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "GTP",
+ "CarClassRelSpeed": 179,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16767577,
+ "CarClassEstLapTime": 81.4249,
+ "IRating": 1260,
+ "LicLevel": 17,
+ "LicSubLevel": 175,
+ "LicString": "A 1.75",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "1,ff0000,00ff00,0000ff",
+ "HelmetDesignStr": "48,f00000,ffffff,a91919",
+ "SuitDesignStr": "25,e00202,ffffff,832121",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,777777,ffffff,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "France",
+ "FlairID": 71,
+ "DivisionName": "Division 7",
+ "DivisionID": 6,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 8,
+ "UserName": "Anderson Garcia2",
+ "AbbrevName": "Garcia2, A",
+ "Initials": "AG",
+ "UserID": 1191928,
+ "TeamID": 0,
+ "TeamName": "Anderson Garcia2",
+ "CarNumber": "38",
+ "CarNumberRaw": 38,
+ "CarPath": "cadillacvseriesrgtp",
+ "CarClassID": 4029,
+ "CarID": 168,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Cadillac V-Series.R",
+ "CarScreenNameShort": "Cadillac V-Series.R",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "GTP",
+ "CarClassRelSpeed": 179,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16767577,
+ "CarClassEstLapTime": 81.7844,
+ "IRating": 1150,
+ "LicLevel": 17,
+ "LicSubLevel": 162,
+ "LicString": "A 1.62",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "1,ff0000,00ff00,0000ff;e9ec09",
+ "HelmetDesignStr": "1,3f2eda,f0f4e9,3d4cd8",
+ "SuitDesignStr": "22,ededef,022a79,0f0273",
+ "BodyType": 1,
+ "FaceType": 6,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,1f0909,0e0101,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "Brazil",
+ "FlairID": 31,
+ "DivisionName": "Division 7",
+ "DivisionID": 6,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 9,
+ "UserName": "Bill Gillean",
+ "AbbrevName": "Gillean, B",
+ "Initials": "BG",
+ "UserID": 967848,
+ "TeamID": 0,
+ "TeamName": "Bill Gillean",
+ "CarNumber": "41",
+ "CarNumberRaw": 41,
+ "CarPath": "porsche963gtp",
+ "CarClassID": 4029,
+ "CarID": 174,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Porsche 963 GTP",
+ "CarScreenNameShort": "Porsche 963",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "GTP",
+ "CarClassRelSpeed": 179,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16767577,
+ "CarClassEstLapTime": 81.4249,
+ "IRating": 871,
+ "LicLevel": 18,
+ "LicSubLevel": 275,
+ "LicString": "A 2.75",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "18,2a3795,00f7ff,a8a8a8",
+ "HelmetDesignStr": "55,2a3795,00f7ff,a8a8a8",
+ "SuitDesignStr": "29,2a3795,00f7ff,a8a8a8",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "Brazil",
+ "FlairID": 31,
+ "DivisionName": "Division 7",
+ "DivisionID": 6,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 10,
+ "UserName": "Lourens Verbeek",
+ "AbbrevName": "Verbeek, L",
+ "Initials": "LV",
+ "UserID": 1058008,
+ "TeamID": 0,
+ "TeamName": "Lourens Verbeek",
+ "CarNumber": "1",
+ "CarNumberRaw": 1,
+ "CarPath": "dallarap217",
+ "CarClassID": 2523,
+ "CarID": 128,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Dallara P217 LMP2",
+ "CarScreenNameShort": "Dallara P217 LMP2",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "Dallara P217",
+ "CarClassRelSpeed": 150,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.680 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 3395327,
+ "CarClassEstLapTime": 83.2432,
+ "IRating": 2423,
+ "LicLevel": 19,
+ "LicSubLevel": 316,
+ "LicString": "A 3.16",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "4,ff0000,ffffff,1c00ff",
+ "HelmetDesignStr": "20,ff0000,ffffff,1c00ff",
+ "SuitDesignStr": "31,9105ff,000000,ffffff",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "Netherlands",
+ "FlairID": 146,
+ "DivisionName": "Division 3",
+ "DivisionID": 2,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 11,
+ "UserName": "Victor S Nascimento",
+ "AbbrevName": "Nascimento, V",
+ "Initials": "VN",
+ "UserID": 684481,
+ "TeamID": 0,
+ "TeamName": "Victor S Nascimento",
+ "CarNumber": "2",
+ "CarNumberRaw": 2,
+ "CarPath": "dallarap217",
+ "CarClassID": 2523,
+ "CarID": 128,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Dallara P217 LMP2",
+ "CarScreenNameShort": "Dallara P217 LMP2",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "Dallara P217",
+ "CarClassRelSpeed": 150,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.680 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 3395327,
+ "CarClassEstLapTime": 83.2432,
+ "IRating": 2278,
+ "LicLevel": 20,
+ "LicSubLevel": 469,
+ "LicString": "A 4.69",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "8,000000,000000,000000",
+ "HelmetDesignStr": "18,000000,000000,000000",
+ "SuitDesignStr": "1,000000,000000,ffffff",
+ "BodyType": 1,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "Brazil",
+ "FlairID": 31,
+ "DivisionName": "Division 4",
+ "DivisionID": 3,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 12,
+ "UserName": "Aden Myburgh3",
+ "AbbrevName": "Myburgh3, A",
+ "Initials": "AM",
+ "UserID": 1017811,
+ "TeamID": 0,
+ "TeamName": "Aden Myburgh3",
+ "CarNumber": "4",
+ "CarNumberRaw": 4,
+ "CarPath": "dallarap217",
+ "CarClassID": 2523,
+ "CarID": 128,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Dallara P217 LMP2",
+ "CarScreenNameShort": "Dallara P217 LMP2",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "Dallara P217",
+ "CarClassRelSpeed": 150,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.680 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 3395327,
+ "CarClassEstLapTime": 83.2432,
+ "IRating": 2177,
+ "LicLevel": 20,
+ "LicSubLevel": 457,
+ "LicString": "A 4.57",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "5,6a0000,000000,ff0000;000000",
+ "HelmetDesignStr": "1,ffffff,111111,f06e34",
+ "SuitDesignStr": "6,000000,ff0000,000000",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,ff0000,ff6a6a",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "South Africa",
+ "FlairID": 195,
+ "DivisionName": "Division 4",
+ "DivisionID": 3,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 13,
+ "UserName": "Héctor Pérez3",
+ "AbbrevName": "Pérez3, H",
+ "Initials": "HP",
+ "UserID": 1065668,
+ "TeamID": 0,
+ "TeamName": "Héctor Pérez3",
+ "CarNumber": "6",
+ "CarNumberRaw": 6,
+ "CarPath": "dallarap217",
+ "CarClassID": 2523,
+ "CarID": 128,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Dallara P217 LMP2",
+ "CarScreenNameShort": "Dallara P217 LMP2",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "Dallara P217",
+ "CarClassRelSpeed": 150,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.680 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 3395327,
+ "CarClassEstLapTime": 83.2432,
+ "IRating": 2064,
+ "LicLevel": 20,
+ "LicSubLevel": 403,
+ "LicString": "A 4.03",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "16,c334ed,eff407,000000",
+ "HelmetDesignStr": "32,c334ed,eff407,000000",
+ "SuitDesignStr": "1,eeebe8,ffffff,000000",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "Spain",
+ "FlairID": 198,
+ "DivisionName": "Division 5",
+ "DivisionID": 4,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 14,
+ "UserName": "CJ Jennings",
+ "AbbrevName": "Jennings, C",
+ "Initials": "CJ",
+ "UserID": 1052893,
+ "TeamID": 0,
+ "TeamName": "CJ Jennings",
+ "CarNumber": "11",
+ "CarNumberRaw": 11,
+ "CarPath": "dallarap217",
+ "CarClassID": 2523,
+ "CarID": 128,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Dallara P217 LMP2",
+ "CarScreenNameShort": "Dallara P217 LMP2",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "Dallara P217",
+ "CarClassRelSpeed": 150,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.680 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 3395327,
+ "CarClassEstLapTime": 83.2432,
+ "IRating": 1958,
+ "LicLevel": 18,
+ "LicSubLevel": 245,
+ "LicString": "A 2.45",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "19,490684,ffffff,000000",
+ "HelmetDesignStr": "56,490684,ffffff,000000",
+ "SuitDesignStr": "20,4a0c87,000000,ffffff",
+ "BodyType": 0,
+ "FaceType": 8,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "United States",
+ "FlairID": 223,
+ "DivisionName": "Division 4",
+ "DivisionID": 3,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 15,
+ "UserName": "Michael Donovan5",
+ "AbbrevName": "Donovan5, M",
+ "Initials": "MD",
+ "UserID": 1160834,
+ "TeamID": 0,
+ "TeamName": "Michael Donovan5",
+ "CarNumber": "12",
+ "CarNumberRaw": 12,
+ "CarPath": "dallarap217",
+ "CarClassID": 2523,
+ "CarID": 128,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Dallara P217 LMP2",
+ "CarScreenNameShort": "Dallara P217 LMP2",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "Dallara P217",
+ "CarClassRelSpeed": 150,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.680 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 3395327,
+ "CarClassEstLapTime": 83.2432,
+ "IRating": 1942,
+ "LicLevel": 18,
+ "LicSubLevel": 247,
+ "LicString": "A 2.47",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "20,000000,e300cc,000000",
+ "HelmetDesignStr": "9,000000,e300cc,000000",
+ "SuitDesignStr": "1,2a3795,ed2129,ffffff",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "United States",
+ "FlairID": 223,
+ "DivisionName": "Division 5",
+ "DivisionID": 4,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 16,
+ "UserName": "Ethan Konicek",
+ "AbbrevName": "Konicek, E",
+ "Initials": "EK",
+ "UserID": 1081274,
+ "TeamID": 0,
+ "TeamName": "Ethan Konicek",
+ "CarNumber": "18",
+ "CarNumberRaw": 18,
+ "CarPath": "dallarap217",
+ "CarClassID": 2523,
+ "CarID": 128,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Dallara P217 LMP2",
+ "CarScreenNameShort": "Dallara P217 LMP2",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "Dallara P217",
+ "CarClassRelSpeed": 150,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.680 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 3395327,
+ "CarClassEstLapTime": 83.2432,
+ "IRating": 1687,
+ "LicLevel": 19,
+ "LicSubLevel": 356,
+ "LicString": "A 3.56",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "10,e60505,000000,717171,000000",
+ "HelmetDesignStr": "9,e60505,000000,717171",
+ "SuitDesignStr": "18,ff0000,000000,8d8d8d",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "Kazakhstan",
+ "FlairID": 107,
+ "DivisionName": "Division 5",
+ "DivisionID": 4,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 17,
+ "UserName": "Adrian Rutkowski3",
+ "AbbrevName": "Rutkowski3, A",
+ "Initials": "AR",
+ "UserID": 649119,
+ "TeamID": 0,
+ "TeamName": "Adrian Rutkowski3",
+ "CarNumber": "20",
+ "CarNumberRaw": 20,
+ "CarPath": "dallarap217",
+ "CarClassID": 2523,
+ "CarID": 128,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Dallara P217 LMP2",
+ "CarScreenNameShort": "Dallara P217 LMP2",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "Dallara P217",
+ "CarClassRelSpeed": 150,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.680 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 3395327,
+ "CarClassEstLapTime": 83.2432,
+ "IRating": 1628,
+ "LicLevel": 19,
+ "LicSubLevel": 347,
+ "LicString": "A 3.47",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "15,391c83,111111,ccff00",
+ "HelmetDesignStr": "1,391c83,111111,ccff00",
+ "SuitDesignStr": "1,391c83,111111,ccff00",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "Poland",
+ "FlairID": 167,
+ "DivisionName": "Division 5",
+ "DivisionID": 4,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 18,
+ "UserName": "Guillermo Pérez",
+ "AbbrevName": "Pérez, G",
+ "Initials": "GP",
+ "UserID": 975467,
+ "TeamID": 0,
+ "TeamName": "Guillermo Pérez",
+ "CarNumber": "25",
+ "CarNumberRaw": 25,
+ "CarPath": "dallarap217",
+ "CarClassID": 2523,
+ "CarID": 128,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Dallara P217 LMP2",
+ "CarScreenNameShort": "Dallara P217 LMP2",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "Dallara P217",
+ "CarClassRelSpeed": 150,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.680 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 3395327,
+ "CarClassEstLapTime": 83.2432,
+ "IRating": 1534,
+ "LicLevel": 19,
+ "LicSubLevel": 330,
+ "LicString": "A 3.30",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "13,ffffff,1f8227,b71c1c",
+ "HelmetDesignStr": "28,ffffff,1f8227,b71c1c",
+ "SuitDesignStr": "1,111111,03bbbd,184252",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "Mexico",
+ "FlairID": 134,
+ "DivisionName": "Division 8",
+ "DivisionID": 7,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 19,
+ "UserName": "Shaun Odell",
+ "AbbrevName": "Odell, S",
+ "Initials": "SO",
+ "UserID": 1207580,
+ "TeamID": 0,
+ "TeamName": "Shaun Odell",
+ "CarNumber": "28",
+ "CarNumberRaw": 28,
+ "CarPath": "dallarap217",
+ "CarClassID": 2523,
+ "CarID": 128,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Dallara P217 LMP2",
+ "CarScreenNameShort": "Dallara P217 LMP2",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "Dallara P217",
+ "CarClassRelSpeed": 150,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.680 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 3395327,
+ "CarClassEstLapTime": 83.2432,
+ "IRating": 1489,
+ "LicLevel": 17,
+ "LicSubLevel": 138,
+ "LicString": "A 1.38",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "1,ffffff,85b1ff,ff5555",
+ "HelmetDesignStr": "48,006bc2,ffcf00,52f5ff",
+ "SuitDesignStr": "35,000000,ffffff,000000",
+ "BodyType": 0,
+ "FaceType": 4,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "United States",
+ "FlairID": 223,
+ "DivisionName": "Division 5",
+ "DivisionID": 4,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 20,
+ "UserName": "Murilo Szczypior",
+ "AbbrevName": "Szczypior, M",
+ "Initials": "MS",
+ "UserID": 1175510,
+ "TeamID": 0,
+ "TeamName": "Murilo Szczypior",
+ "CarNumber": "3",
+ "CarNumberRaw": 3,
+ "CarPath": "mclaren720sgt3",
+ "CarClassID": 4011,
+ "CarID": 188,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "McLaren 720S GT3 EVO",
+ "CarScreenNameShort": "McLaren 720S GT3 EVO",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "IMSA23",
+ "CarClassRelSpeed": 52,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16734344,
+ "CarClassEstLapTime": 89.0997,
+ "IRating": 2213,
+ "LicLevel": 18,
+ "LicSubLevel": 237,
+ "LicString": "A 2.37",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "24,75d417,d8f111,000000",
+ "HelmetDesignStr": "68,75d417,d8f111,000000",
+ "SuitDesignStr": "5,adec0e,080808,ecefe8",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "Brazil",
+ "FlairID": 31,
+ "DivisionName": "Division 3",
+ "DivisionID": 2,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 21,
+ "UserName": "Bruno Lazzarotto",
+ "AbbrevName": "Lazzarotto, B",
+ "Initials": "BL",
+ "UserID": 1031136,
+ "TeamID": 0,
+ "TeamName": "Bruno Lazzarotto",
+ "CarNumber": "5",
+ "CarNumberRaw": 5,
+ "CarPath": "ferrari296gt3",
+ "CarClassID": 4011,
+ "CarID": 173,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Ferrari 296 GT3",
+ "CarScreenNameShort": "Ferrari 296 GT3",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "IMSA23",
+ "CarClassRelSpeed": 52,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16734344,
+ "CarClassEstLapTime": 89.3673,
+ "IRating": 2155,
+ "LicLevel": 18,
+ "LicSubLevel": 224,
+ "LicString": "A 2.24",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "0,2a3795,ed2129,ffffff,232222",
+ "HelmetDesignStr": "0,111111,184252,bd0904",
+ "SuitDesignStr": "1,111111,184252,f90c0c",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "Brazil",
+ "FlairID": 31,
+ "DivisionName": "Division 3",
+ "DivisionID": 2,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 22,
+ "UserName": "Christian Clifford",
+ "AbbrevName": "Clifford, C",
+ "Initials": "CC",
+ "UserID": 982239,
+ "TeamID": 0,
+ "TeamName": "Christian Clifford",
+ "CarNumber": "7",
+ "CarNumberRaw": 7,
+ "CarPath": "porsche992rgt3",
+ "CarClassID": 4011,
+ "CarID": 169,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Porsche 911 GT3 R (992)",
+ "CarScreenNameShort": "Porsche 911 GT3 R (992)",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "IMSA23",
+ "CarClassRelSpeed": 52,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16734344,
+ "CarClassEstLapTime": 90.4585,
+ "IRating": 2019,
+ "LicLevel": 19,
+ "LicSubLevel": 348,
+ "LicString": "A 3.48",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "22,e1b0c2,eeeeee,010c56,aca9a3",
+ "HelmetDesignStr": "27,010c56,e1b0c2,eeeeee",
+ "SuitDesignStr": "30,e1b0c2,010c56,eeeeee",
+ "BodyType": 0,
+ "FaceType": 4,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "14,4,000000,d8b5be,ffffff",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "United States",
+ "FlairID": 223,
+ "DivisionName": "Division 4",
+ "DivisionID": 3,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 23,
+ "UserName": "Franklin Akutsu",
+ "AbbrevName": "Akutsu, F",
+ "Initials": "FA",
+ "UserID": 1116951,
+ "TeamID": 0,
+ "TeamName": "Franklin Akutsu",
+ "CarNumber": "8",
+ "CarNumberRaw": 8,
+ "CarPath": "ferrari296gt3",
+ "CarClassID": 4011,
+ "CarID": 173,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Ferrari 296 GT3",
+ "CarScreenNameShort": "Ferrari 296 GT3",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "IMSA23",
+ "CarClassRelSpeed": 52,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16734344,
+ "CarClassEstLapTime": 89.3673,
+ "IRating": 2007,
+ "LicLevel": 18,
+ "LicSubLevel": 223,
+ "LicString": "A 2.23",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "2,ff0000,00ff00,0000ff,000000",
+ "HelmetDesignStr": "64,ffffff,ffffff,4e4e4e",
+ "SuitDesignStr": "3,ffffff,4e4e4e,4e4e4e",
+ "BodyType": 1,
+ "FaceType": 4,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,000000,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "Brazil",
+ "FlairID": 31,
+ "DivisionName": "Division 4",
+ "DivisionID": 3,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 24,
+ "UserName": "Lukas Kern",
+ "AbbrevName": "Kern, L",
+ "Initials": "LK",
+ "UserID": 1091420,
+ "TeamID": 0,
+ "TeamName": "Lukas Kern",
+ "CarNumber": "9",
+ "CarNumberRaw": 9,
+ "CarPath": "porsche992rgt3",
+ "CarClassID": 4011,
+ "CarID": 169,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Porsche 911 GT3 R (992)",
+ "CarScreenNameShort": "Porsche 911 GT3 R (992)",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "IMSA23",
+ "CarClassRelSpeed": 52,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16734344,
+ "CarClassEstLapTime": 90.4585,
+ "IRating": 1972,
+ "LicLevel": 18,
+ "LicSubLevel": 238,
+ "LicString": "A 2.38",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "18,000765,bdff00,000765.bdff00",
+ "HelmetDesignStr": "56,000765,bdff00,ff0000",
+ "SuitDesignStr": "22,000765,bdff00,ff0000",
+ "BodyType": 1,
+ "FaceType": 4,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 198,
+ "CarSponsor_2": 46,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "Germany",
+ "FlairID": 77,
+ "DivisionName": "Division 4",
+ "DivisionID": 3,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 25,
+ "UserName": "Benjamin Crovari",
+ "AbbrevName": "Crovari, B",
+ "Initials": "BC",
+ "UserID": 285783,
+ "TeamID": 0,
+ "TeamName": "Benjamin Crovari",
+ "CarNumber": "10",
+ "CarNumberRaw": 10,
+ "CarPath": "mclaren720sgt3",
+ "CarClassID": 4011,
+ "CarID": 188,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "McLaren 720S GT3 EVO",
+ "CarScreenNameShort": "McLaren 720S GT3 EVO",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "IMSA23",
+ "CarClassRelSpeed": 52,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16734344,
+ "CarClassEstLapTime": 89.0997,
+ "IRating": 1965,
+ "LicLevel": 18,
+ "LicSubLevel": 248,
+ "LicString": "A 2.48",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "15,ffffff,ffffff,ffffff,e5ff00",
+ "HelmetDesignStr": "49,ffffff,ffffff,ffffff",
+ "SuitDesignStr": "15,2e3af1,ffffff,18211c",
+ "BodyType": 0,
+ "FaceType": 10,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "11,2,ffffff,000000,ffffff",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "Chile",
+ "FlairID": 44,
+ "DivisionName": "Division 4",
+ "DivisionID": 3,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 26,
+ "UserName": "Hugo Alexandre Lopes",
+ "AbbrevName": "Lopes, H",
+ "Initials": "HL",
+ "UserID": 1233799,
+ "TeamID": 0,
+ "TeamName": "Hugo Alexandre Lopes",
+ "CarNumber": "13",
+ "CarNumberRaw": 13,
+ "CarPath": "ferrari296gt3",
+ "CarClassID": 4011,
+ "CarID": 173,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Ferrari 296 GT3",
+ "CarScreenNameShort": "Ferrari 296 GT3",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "IMSA23",
+ "CarClassRelSpeed": 52,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16734344,
+ "CarClassEstLapTime": 89.3673,
+ "IRating": 1864,
+ "LicLevel": 20,
+ "LicSubLevel": 408,
+ "LicString": "A 4.08",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "1,ff0000,00ff00,0000ff",
+ "HelmetDesignStr": "25,000000,fc0000,ffffff",
+ "SuitDesignStr": "1,000000,ffffff,fc0000",
+ "BodyType": 0,
+ "FaceType": 2,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "Portugal",
+ "FlairID": 168,
+ "DivisionName": "Division 7",
+ "DivisionID": 6,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 27,
+ "UserName": "Edgars Pojasnikovs",
+ "AbbrevName": "Pojasnikovs, E",
+ "Initials": "EP",
+ "UserID": 1131042,
+ "TeamID": 0,
+ "TeamName": "Edgars Pojasnikovs",
+ "CarNumber": "14",
+ "CarNumberRaw": 14,
+ "CarPath": "ferrari296gt3",
+ "CarClassID": 4011,
+ "CarID": 173,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Ferrari 296 GT3",
+ "CarScreenNameShort": "Ferrari 296 GT3",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "IMSA23",
+ "CarClassRelSpeed": 52,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16734344,
+ "CarClassEstLapTime": 89.3673,
+ "IRating": 1786,
+ "LicLevel": 18,
+ "LicSubLevel": 268,
+ "LicString": "A 2.68",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "20,ffed00,ff0000,000000",
+ "HelmetDesignStr": "1,000000,ffe100,000000",
+ "SuitDesignStr": "12,ffe100,000000,ffe100",
+ "BodyType": 1,
+ "FaceType": 8,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "Latvia",
+ "FlairID": 113,
+ "DivisionName": "Division 5",
+ "DivisionID": 4,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 28,
+ "UserName": "Heitor Mancini",
+ "AbbrevName": "Mancini, H",
+ "Initials": "HM",
+ "UserID": 1015217,
+ "TeamID": 0,
+ "TeamName": "Heitor Mancini",
+ "CarNumber": "15",
+ "CarNumberRaw": 15,
+ "CarPath": "mercedesamgevogt3",
+ "CarClassID": 4011,
+ "CarID": 156,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Mercedes-AMG GT3 2020",
+ "CarScreenNameShort": "Mercedes GT3 2020",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "IMSA23",
+ "CarClassRelSpeed": 52,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16734344,
+ "CarClassEstLapTime": 90.2412,
+ "IRating": 1753,
+ "LicLevel": 18,
+ "LicSubLevel": 233,
+ "LicString": "A 2.33",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "23,031298,d7f67f,ffc700",
+ "HelmetDesignStr": "28,031298,d7f67f,ffc700",
+ "SuitDesignStr": "34,0c31f5,ffbf00,000000",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "37,4,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "Brazil",
+ "FlairID": 31,
+ "DivisionName": "Division 4",
+ "DivisionID": 3,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 29,
+ "UserName": "Wesley Johnson5",
+ "AbbrevName": "Johnson5, W",
+ "Initials": "WJ",
+ "UserID": 292881,
+ "TeamID": 0,
+ "TeamName": "Wesley Johnson5",
+ "CarNumber": "16",
+ "CarNumberRaw": 16,
+ "CarPath": "acuransxevo22gt3",
+ "CarClassID": 4011,
+ "CarID": 194,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Acura NSX GT3 EVO 22",
+ "CarScreenNameShort": "Acura NSX GT3 EVO 22",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "IMSA23",
+ "CarClassRelSpeed": 52,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16734344,
+ "CarClassEstLapTime": 88.5465,
+ "IRating": 1751,
+ "LicLevel": 20,
+ "LicSubLevel": 447,
+ "LicString": "A 4.47",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "17,42ff00,ffffff,000000",
+ "HelmetDesignStr": "8,42ff00,ffffff,000000",
+ "SuitDesignStr": "30,000000,33ff00,000000",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "United States",
+ "FlairID": 223,
+ "DivisionName": "Division 5",
+ "DivisionID": 4,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 30,
+ "UserName": "Blake Hart",
+ "AbbrevName": "Hart, B",
+ "Initials": "BH",
+ "UserID": 18777,
+ "TeamID": 0,
+ "TeamName": "Blake Hart",
+ "CarNumber": "19",
+ "CarNumberRaw": 19,
+ "CarPath": "ferrari296gt3",
+ "CarClassID": 4011,
+ "CarID": 173,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Ferrari 296 GT3",
+ "CarScreenNameShort": "Ferrari 296 GT3",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "IMSA23",
+ "CarClassRelSpeed": 52,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16734344,
+ "CarClassEstLapTime": 89.3673,
+ "IRating": 1629,
+ "LicLevel": 18,
+ "LicSubLevel": 226,
+ "LicString": "A 2.26",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "21,fd3f05,031adc,ffffff",
+ "HelmetDesignStr": "49,fd3f05,031adc,ffffff",
+ "SuitDesignStr": "17,e43500,031adc,ffffff",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "United States",
+ "FlairID": 223,
+ "DivisionName": "Division 5",
+ "DivisionID": 4,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 31,
+ "UserName": "Luis M Ferreira",
+ "AbbrevName": "Ferreira, L",
+ "Initials": "LF",
+ "UserID": 1097598,
+ "TeamID": 0,
+ "TeamName": "Luis M Ferreira",
+ "CarNumber": "21",
+ "CarNumberRaw": 21,
+ "CarPath": "mclaren720sgt3",
+ "CarClassID": 4011,
+ "CarID": 188,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "McLaren 720S GT3 EVO",
+ "CarScreenNameShort": "McLaren 720S GT3 EVO",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "IMSA23",
+ "CarClassRelSpeed": 52,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16734344,
+ "CarClassEstLapTime": 89.0997,
+ "IRating": 1611,
+ "LicLevel": 18,
+ "LicSubLevel": 229,
+ "LicString": "A 2.29",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "7,000000,000000,111111;ff0000",
+ "HelmetDesignStr": "1,000000,000000,111111",
+ "SuitDesignStr": "1,000000,000000,111111",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "33,1,ff0000,060600,d1ff05",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "Portugal",
+ "FlairID": 168,
+ "DivisionName": "Division 7",
+ "DivisionID": 6,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 32,
+ "UserName": "Mirko Mastrangelo",
+ "AbbrevName": "Mastrangelo, M",
+ "Initials": "MM",
+ "UserID": 1188732,
+ "TeamID": 0,
+ "TeamName": "Mirko Mastrangelo",
+ "CarNumber": "22",
+ "CarNumberRaw": 22,
+ "CarPath": "mclaren720sgt3",
+ "CarClassID": 4011,
+ "CarID": 188,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "McLaren 720S GT3 EVO",
+ "CarScreenNameShort": "McLaren 720S GT3 EVO",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "IMSA23",
+ "CarClassRelSpeed": 52,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16734344,
+ "CarClassEstLapTime": 89.0997,
+ "IRating": 1585,
+ "LicLevel": 20,
+ "LicSubLevel": 422,
+ "LicString": "A 4.22",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "3,ff0000,00ff00,0000ff,000000",
+ "HelmetDesignStr": "56,dbff00,006eff,000000",
+ "SuitDesignStr": "33,000000,0342ff,d4ff00",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "53,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "Italy",
+ "FlairID": 101,
+ "DivisionName": "Division 6",
+ "DivisionID": 5,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 33,
+ "UserName": "Edison Toole",
+ "AbbrevName": "Toole, E",
+ "Initials": "ET",
+ "UserID": 750771,
+ "TeamID": 0,
+ "TeamName": "Edison Toole",
+ "CarNumber": "23",
+ "CarNumberRaw": 23,
+ "CarPath": "porsche992rgt3",
+ "CarClassID": 4011,
+ "CarID": 169,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Porsche 911 GT3 R (992)",
+ "CarScreenNameShort": "Porsche 911 GT3 R (992)",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "IMSA23",
+ "CarClassRelSpeed": 52,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16734344,
+ "CarClassEstLapTime": 90.4585,
+ "IRating": 1546,
+ "LicLevel": 17,
+ "LicSubLevel": 146,
+ "LicString": "A 1.46",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "1,ff0000,00ff00,0000ff;52f23b",
+ "HelmetDesignStr": "19,000000,ff0000,fffc00",
+ "SuitDesignStr": "35,000000,ff0000,e0b600",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "United States",
+ "FlairID": 223,
+ "DivisionName": "Division 6",
+ "DivisionID": 5,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 34,
+ "UserName": "Paul Hilliard",
+ "AbbrevName": "Hilliard, P",
+ "Initials": "PH",
+ "UserID": 1204802,
+ "TeamID": 0,
+ "TeamName": "Paul Hilliard",
+ "CarNumber": "27",
+ "CarNumberRaw": 27,
+ "CarPath": "porsche992rgt3",
+ "CarClassID": 4011,
+ "CarID": 169,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Porsche 911 GT3 R (992)",
+ "CarScreenNameShort": "Porsche 911 GT3 R (992)",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "IMSA23",
+ "CarClassRelSpeed": 52,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16734344,
+ "CarClassEstLapTime": 90.4585,
+ "IRating": 1490,
+ "LicLevel": 19,
+ "LicSubLevel": 379,
+ "LicString": "A 3.79",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "3,097e76,01422a,00f9d3;000000",
+ "HelmetDesignStr": "57,a19b37,000000,37ff00",
+ "SuitDesignStr": "1,000000,1eda00,ed8900",
+ "BodyType": 0,
+ "FaceType": 8,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "United States",
+ "FlairID": 223,
+ "DivisionName": "Division 7",
+ "DivisionID": 6,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 35,
+ "UserName": "Andrew Merelman",
+ "AbbrevName": "Merelman, A",
+ "Initials": "AM",
+ "UserID": 1099804,
+ "TeamID": 0,
+ "TeamName": "Andrew Merelman",
+ "CarNumber": "32",
+ "CarNumberRaw": 32,
+ "CarPath": "mercedesamgevogt3",
+ "CarClassID": 4011,
+ "CarID": 156,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Mercedes-AMG GT3 2020",
+ "CarScreenNameShort": "Mercedes GT3 2020",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "IMSA23",
+ "CarClassRelSpeed": 52,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16734344,
+ "CarClassEstLapTime": 90.2412,
+ "IRating": 1349,
+ "LicLevel": 18,
+ "LicSubLevel": 200,
+ "LicString": "A 2.00",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "24,000000,eeeeee,00bbff",
+ "HelmetDesignStr": "28,000000,eeeeee,00bbff",
+ "SuitDesignStr": "26,000000,eeeeee,00bbff",
+ "BodyType": 1,
+ "FaceType": 6,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "United States",
+ "FlairID": 223,
+ "DivisionName": "Division 8",
+ "DivisionID": 7,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 36,
+ "UserName": "Aliffer Sarmento",
+ "AbbrevName": "Sarmento, A",
+ "Initials": "AS",
+ "UserID": 1050092,
+ "TeamID": 0,
+ "TeamName": "Aliffer Sarmento",
+ "CarNumber": "33",
+ "CarNumberRaw": 33,
+ "CarPath": "porsche992rgt3",
+ "CarClassID": 4011,
+ "CarID": 169,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Porsche 911 GT3 R (992)",
+ "CarScreenNameShort": "Porsche 911 GT3 R (992)",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "IMSA23",
+ "CarClassRelSpeed": 52,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16734344,
+ "CarClassEstLapTime": 90.4585,
+ "IRating": 1348,
+ "LicLevel": 17,
+ "LicSubLevel": 174,
+ "LicString": "A 1.74",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "8,000000,540097,fdfdfd",
+ "HelmetDesignStr": "59,ffffff,9e00ff,000000",
+ "SuitDesignStr": "34,000000,ad00ff,f7f7f7",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 46,
+ "CarSponsor_2": 332,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "Brazil",
+ "FlairID": 31,
+ "DivisionName": "Division 6",
+ "DivisionID": 5,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 37,
+ "UserName": "Tarik Alani",
+ "AbbrevName": "Alani, T",
+ "Initials": "TA",
+ "UserID": 968989,
+ "TeamID": 0,
+ "TeamName": "Tarik Alani",
+ "CarNumber": "34",
+ "CarNumberRaw": 34,
+ "CarPath": "ferrari296gt3",
+ "CarClassID": 4011,
+ "CarID": 173,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Ferrari 296 GT3",
+ "CarScreenNameShort": "Ferrari 296 GT3",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "IMSA23",
+ "CarClassRelSpeed": 52,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16734344,
+ "CarClassEstLapTime": 89.3673,
+ "IRating": 1324,
+ "LicLevel": 18,
+ "LicSubLevel": 207,
+ "LicString": "A 2.07",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "7,000000,ffffff,00107c",
+ "HelmetDesignStr": "7,000000,ffffff,00107c",
+ "SuitDesignStr": "30,000000,ffffff,00015d",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "New Zealand",
+ "FlairID": 149,
+ "DivisionName": "Division 5",
+ "DivisionID": 4,
+ "CurDriverIncidentCount": 0,
+ "TeamIncidentCount": 0
+ },
+ {
+ "CarIdx": 38,
+ "UserName": "Fabio Ruhe",
+ "AbbrevName": "Ruhe, F",
+ "Initials": "FR",
+ "UserID": 969634,
+ "TeamID": 0,
+ "TeamName": "Fabio Ruhe",
+ "CarNumber": "36",
+ "CarNumberRaw": 36,
+ "CarPath": "mclaren720sgt3",
+ "CarClassID": 4011,
+ "CarID": 188,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "McLaren 720S GT3 EVO",
+ "CarScreenNameShort": "McLaren 720S GT3 EVO",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "IMSA23",
+ "CarClassRelSpeed": 52,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16734344,
+ "CarClassEstLapTime": 89.0997,
+ "IRating": 1229,
+ "LicLevel": 19,
+ "LicSubLevel": 344,
+ "LicString": "A 3.44",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "23,01972b,01972b,ffffff",
+ "HelmetDesignStr": "1,01972b,01972b,ffffff",
+ "SuitDesignStr": "1,01972b,01972b,ffffff",
+ "BodyType": 0,
+ "FaceType": 4,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "Brazil",
+ "FlairID": 31,
+ "DivisionName": "Division 10",
+ "DivisionID": 9,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 39,
+ "UserName": "Garrett Bainbridge",
+ "AbbrevName": "Bainbridge, G",
+ "Initials": "GB",
+ "UserID": 912764,
+ "TeamID": 0,
+ "TeamName": "Garrett Bainbridge",
+ "CarNumber": "37",
+ "CarNumberRaw": 37,
+ "CarPath": "bmwm4gt3",
+ "CarClassID": 4011,
+ "CarID": 132,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "BMW M4 GT3",
+ "CarScreenNameShort": "BMW M4 GT3",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "IMSA23",
+ "CarClassRelSpeed": 52,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16734344,
+ "CarClassEstLapTime": 89.5706,
+ "IRating": 1197,
+ "LicLevel": 19,
+ "LicSubLevel": 320,
+ "LicString": "A 3.20",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "16,000000,dcee0d,33ad15",
+ "HelmetDesignStr": "10,000000,dcee0d,33ad15",
+ "SuitDesignStr": "3,33ad15,000000,dcee0d",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "United States",
+ "FlairID": 223,
+ "DivisionName": "Division 9",
+ "DivisionID": 8,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 40,
+ "UserName": "Derek Dennis",
+ "AbbrevName": "Dennis, D",
+ "Initials": "DD",
+ "UserID": 439328,
+ "TeamID": 0,
+ "TeamName": "Derek Dennis",
+ "CarNumber": "39",
+ "CarNumberRaw": 39,
+ "CarPath": "chevyvettez06rgt3",
+ "CarClassID": 4011,
+ "CarID": 184,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Chevrolet Corvette Z06 GT3.R",
+ "CarScreenNameShort": "Corvette GT3.R",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "IMSA23",
+ "CarClassRelSpeed": 52,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16734344,
+ "CarClassEstLapTime": 90.0175,
+ "IRating": 1149,
+ "LicLevel": 20,
+ "LicSubLevel": 461,
+ "LicString": "A 4.61",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "0,2a3795,ed2129,ffffff",
+ "HelmetDesignStr": "57,fffdfd,000000,ff1300",
+ "SuitDesignStr": "28,f1732e,ffffff,a3a1aa",
+ "BodyType": 0,
+ "FaceType": 0,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "United States",
+ "FlairID": 223,
+ "DivisionName": "Division 8",
+ "DivisionID": 7,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ },
+ {
+ "CarIdx": 41,
+ "UserName": "Daniel Buhler",
+ "AbbrevName": "Buhler, D",
+ "Initials": "DB",
+ "UserID": 636976,
+ "TeamID": 0,
+ "TeamName": "Daniel Buhler",
+ "CarNumber": "40",
+ "CarNumberRaw": 40,
+ "CarPath": "ferrari296gt3",
+ "CarClassID": 4011,
+ "CarID": 173,
+ "CarIsPaceCar": 0,
+ "CarIsAI": 0,
+ "CarIsElectric": 0,
+ "CarScreenName": "Ferrari 296 GT3",
+ "CarScreenNameShort": "Ferrari 296 GT3",
+ "CarCfg": -1,
+ "CarCfgName": null,
+ "CarCfgCustomPaintExt": null,
+ "CarClassShortName": "IMSA23",
+ "CarClassRelSpeed": 52,
+ "CarClassLicenseLevel": 0,
+ "CarClassMaxFuelPct": "0.500 %",
+ "CarClassWeightPenalty": "0.000 kg",
+ "CarClassPowerAdjust": "0.000 %",
+ "CarClassDryTireSetLimit": "0 %",
+ "CarClassColor": 16734344,
+ "CarClassEstLapTime": 89.3673,
+ "IRating": 1064,
+ "LicLevel": 17,
+ "LicSubLevel": 169,
+ "LicString": "A 1.69",
+ "LicColor": 87003,
+ "IsSpectator": 0,
+ "CarDesignStr": "0,d90000,ffffff,111111",
+ "HelmetDesignStr": "11,ff0202,ffffff,1b46b1",
+ "SuitDesignStr": "12,d90000,2413c2,ffffff",
+ "BodyType": 1,
+ "FaceType": 11,
+ "HelmetType": 0,
+ "CarNumberDesignStr": "0,0,ffffff,777777,000000",
+ "CarSponsor_1": 0,
+ "CarSponsor_2": 0,
+ "ClubName": "None",
+ "ClubID": 0,
+ "FlairName": "Thailand",
+ "FlairID": 208,
+ "DivisionName": "Division 7",
+ "DivisionID": 6,
+ "CurDriverIncidentCount": -1,
+ "TeamIncidentCount": -1
+ }
+ ]
+ },
+ "SplitTimeInfo": {
+ "Sectors": [
+ {
+ "SectorNum": 0,
+ "SectorStartPct": 0
+ },
+ {
+ "SectorNum": 1,
+ "SectorStartPct": 0.278071
+ },
+ {
+ "SectorNum": 2,
+ "SectorStartPct": 0.431505
+ },
+ {
+ "SectorNum": 3,
+ "SectorStartPct": 0.609232
+ },
+ {
+ "SectorNum": 4,
+ "SectorStartPct": 0.725358
+ }
+ ]
+ },
+ "CarSetup": {
+ "UpdateCount": 15,
+ "TiresAero": {
+ "TireType": {
+ "TireType": "Dry"
+ },
+ "LeftFront": {
+ "StartingPressure": "159 kPa",
+ "LastHotPressure": "159 kPa",
+ "LastTempsOMI": "35C, 35C, 35C",
+ "TreadRemaining": "100%, 100%, 100%"
+ },
+ "LeftRear": {
+ "StartingPressure": "159 kPa",
+ "LastHotPressure": "159 kPa",
+ "LastTempsOMI": "35C, 35C, 35C",
+ "TreadRemaining": "100%, 100%, 100%"
+ },
+ "RightFront": {
+ "StartingPressure": "159 kPa",
+ "LastHotPressure": "159 kPa",
+ "LastTempsIMO": "35C, 35C, 35C",
+ "TreadRemaining": "100%, 100%, 100%"
+ },
+ "RightRear": {
+ "StartingPressure": "159 kPa",
+ "LastHotPressure": "159 kPa",
+ "LastTempsIMO": "35C, 35C, 35C",
+ "TreadRemaining": "100%, 100%, 100%"
+ },
+ "AeroBalanceCalc": {
+ "FrontRhAtSpeed": "49 mm",
+ "RearRhAtSpeed": "53 mm",
+ "RearWingAngle": "10 degrees",
+ "FrontDownforce": "41.6%"
+ }
+ },
+ "Chassis": {
+ "FrontBrakesLights": {
+ "ArbBlades": "60 degrees",
+ "ArbOptions": "Large",
+ "TotalToeIn": "-3.1 mm",
+ "FrontMasterCyl": "17.8 mm",
+ "RearMasterCyl": "19.1 mm",
+ "BrakePads": "Medium friction",
+ "EnduranceLights": "Fitted",
+ "NightLedStripColor": "Red",
+ "CenterFrontSplitterHeight": "50.5 mm"
+ },
+ "LeftFront": {
+ "CornerWeight": "3367 N",
+ "RideHeight": "53.5 mm",
+ "BumpRubberGap": "10 mm",
+ "SpringRate": "190 N/mm",
+ "Camber": "-4.0 deg"
+ },
+ "LeftRear": {
+ "CornerWeight": "3812 N",
+ "RideHeight": "62.8 mm",
+ "BumpRubberGap": "40 mm",
+ "SpringRate": "200 N/mm",
+ "Camber": "-3.3 deg",
+ "ToeIn": "+1.6 mm"
+ },
+ "Rear": {
+ "FuelLevel": "52.0 L",
+ "ArbBlades": "15 degrees",
+ "ArbOptions": "Large",
+ "RearWingAngle": "10 degrees"
+ },
+ "InCarAdjustments": {
+ "BrakePressureBias": "48.1%",
+ "AbsSetting": "4 (ABS)",
+ "TcSetting": "4 (TC1+TC2)",
+ "ThrottleShapeSetting": "1 (PED)",
+ "DashDisplayPage": "Race",
+ "FWtdist": "46.9%",
+ "CrossWeight": "50.0%"
+ },
+ "RightFront": {
+ "CornerWeight": "3367 N",
+ "RideHeight": "53.5 mm",
+ "BumpRubberGap": "10 mm",
+ "SpringRate": "190 N/mm",
+ "Camber": "-4.0 deg"
+ },
+ "RightRear": {
+ "CornerWeight": "3812 N",
+ "RideHeight": "62.8 mm",
+ "BumpRubberGap": "40 mm",
+ "SpringRate": "200 N/mm",
+ "Camber": "-3.3 deg",
+ "ToeIn": "+1.6 mm"
+ },
+ "GearsDifferential": {
+ "GearStack": "FIA",
+ "FrictionFaces": 10,
+ "DiffPreload": "100 Nm"
+ }
+ },
+ "Dampers": {
+ "FrontDampers": {
+ "LowSpeedCompressionDamping": "6 clicks",
+ "HighSpeedCompressionDamping": "6 clicks",
+ "LowSpeedReboundDamping": "6 clicks",
+ "HighSpeedReboundDamping": "6 clicks"
+ },
+ "RearDampers": {
+ "LowSpeedCompressionDamping": "6 clicks",
+ "HighSpeedCompressionDamping": "6 clicks",
+ "LowSpeedReboundDamping": "6 clicks",
+ "HighSpeedReboundDamping": "6 clicks"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/test-data/1752616787255/telemetry.json b/test-data/1752616787255/telemetry.json
new file mode 100644
index 0000000..304646f
--- /dev/null
+++ b/test-data/1752616787255/telemetry.json
@@ -0,0 +1,5423 @@
+{
+ "SessionTime": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SessionTime",
+ "description": "Seconds since session start",
+ "unit": "s",
+ "varType": 5,
+ "value": [
+ 164.4666666671864
+ ]
+ },
+ "SessionTick": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SessionTick",
+ "description": "Current update number",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 74625
+ ]
+ },
+ "SessionNum": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SessionNum",
+ "description": "Session number",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 2
+ ]
+ },
+ "SessionState": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SessionState",
+ "description": "Session state",
+ "unit": "irsdk_SessionState",
+ "varType": 2,
+ "value": [
+ 3
+ ]
+ },
+ "SessionUniqueID": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SessionUniqueID",
+ "description": "Session ID",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 3
+ ]
+ },
+ "SessionFlags": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SessionFlags",
+ "description": "Session flags",
+ "unit": "irsdk_Flags",
+ "varType": 3,
+ "value": [
+ 537133568
+ ]
+ },
+ "SessionTimeRemain": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SessionTimeRemain",
+ "description": "Seconds left till session ends",
+ "unit": "s",
+ "varType": 5,
+ "value": [
+ -1
+ ]
+ },
+ "SessionLapsRemain": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SessionLapsRemain",
+ "description": "Old laps left till session ends use SessionLapsRemainEx",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 32767
+ ]
+ },
+ "SessionLapsRemainEx": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SessionLapsRemainEx",
+ "description": "New improved laps left till session ends",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 32767
+ ]
+ },
+ "SessionTimeTotal": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SessionTimeTotal",
+ "description": "Total number of seconds in session",
+ "unit": "s",
+ "varType": 5,
+ "value": [
+ 2100
+ ]
+ },
+ "SessionLapsTotal": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SessionLapsTotal",
+ "description": "Total number of laps in session",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 32767
+ ]
+ },
+ "SessionJokerLapsRemain": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SessionJokerLapsRemain",
+ "description": "Joker laps remaining to be taken",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 0
+ ]
+ },
+ "SessionOnJokerLap": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SessionOnJokerLap",
+ "description": "Player is currently completing a joker lap",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "SessionTimeOfDay": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SessionTimeOfDay",
+ "description": "Time of day in seconds",
+ "unit": "s",
+ "varType": 4,
+ "value": [
+ 32864
+ ]
+ },
+ "RadioTransmitCarIdx": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RadioTransmitCarIdx",
+ "description": "The car index of the current person speaking on the radio",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ -1
+ ]
+ },
+ "RadioTransmitRadioIdx": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RadioTransmitRadioIdx",
+ "description": "The radio index of the current person speaking on the radio",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 0
+ ]
+ },
+ "RadioTransmitFrequencyIdx": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RadioTransmitFrequencyIdx",
+ "description": "The frequency index of the current person speaking on the radio",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "DisplayUnits": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "DisplayUnits",
+ "description": "Default units for the user interface 0 = english 1 = metric",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "DriverMarker": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "DriverMarker",
+ "description": "Driver activated flag",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "PushToTalk": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PushToTalk",
+ "description": "Push to talk button state",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "PushToPass": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PushToPass",
+ "description": "Push to pass button state",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "ManualBoost": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "ManualBoost",
+ "description": "Hybrid manual boost state",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "ManualNoBoost": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "ManualNoBoost",
+ "description": "Hybrid manual no boost state",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "IsOnTrack": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "IsOnTrack",
+ "description": "1=Car on track physics running with player in car",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ true
+ ]
+ },
+ "IsReplayPlaying": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "IsReplayPlaying",
+ "description": "0=replay not playing 1=replay playing",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "ReplayFrameNum": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "ReplayFrameNum",
+ "description": "Integer replay frame number (60 per second)",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 0
+ ]
+ },
+ "ReplayFrameNumEnd": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "ReplayFrameNumEnd",
+ "description": "Integer replay frame number from end of tape",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 42598
+ ]
+ },
+ "IsDiskLoggingEnabled": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "IsDiskLoggingEnabled",
+ "description": "0=disk based telemetry turned off 1=turned on",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ true
+ ]
+ },
+ "IsDiskLoggingActive": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "IsDiskLoggingActive",
+ "description": "0=disk based telemetry file not being written 1=being written",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ true
+ ]
+ },
+ "FrameRate": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "FrameRate",
+ "description": "Average frames per second",
+ "unit": "fps",
+ "varType": 4,
+ "value": [
+ 38.215877532958984
+ ]
+ },
+ "CpuUsageFG": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "CpuUsageFG",
+ "description": "Percent of available tim fg thread took with a 1 sec avg",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 1.4918196201324463
+ ]
+ },
+ "GpuUsage": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "GpuUsage",
+ "description": "Percent of available tim gpu took with a 1 sec avg",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 1.3976901769638062
+ ]
+ },
+ "ChanAvgLatency": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "ChanAvgLatency",
+ "description": "Communications average latency",
+ "unit": "s",
+ "varType": 4,
+ "value": [
+ 0.22681784629821777
+ ]
+ },
+ "ChanLatency": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "ChanLatency",
+ "description": "Communications latency",
+ "unit": "s",
+ "varType": 4,
+ "value": [
+ 0.20000000298023224
+ ]
+ },
+ "ChanQuality": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "ChanQuality",
+ "description": "Communications quality",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.998978316783905
+ ]
+ },
+ "ChanPartnerQuality": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "ChanPartnerQuality",
+ "description": "Partner communications quality",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 1
+ ]
+ },
+ "CpuUsageBG": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "CpuUsageBG",
+ "description": "Percent of available tim bg thread took with a 1 sec avg",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.5510022640228271
+ ]
+ },
+ "ChanClockSkew": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "ChanClockSkew",
+ "description": "Communications server clock skew",
+ "unit": "s",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "MemPageFaultSec": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "MemPageFaultSec",
+ "description": "Memory page faults per second",
+ "unit": "",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "MemSoftPageFaultSec": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "MemSoftPageFaultSec",
+ "description": "Memory soft page faults per second",
+ "unit": "",
+ "varType": 4,
+ "value": [
+ 18231
+ ]
+ },
+ "PlayerCarPosition": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PlayerCarPosition",
+ "description": "Players position in race",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 0
+ ]
+ },
+ "PlayerCarClassPosition": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PlayerCarClassPosition",
+ "description": "Players class position in race",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 0
+ ]
+ },
+ "PlayerCarClass": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PlayerCarClass",
+ "description": "Player car class id",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 4011
+ ]
+ },
+ "PlayerTrackSurface": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PlayerTrackSurface",
+ "description": "Players car track surface type",
+ "unit": "irsdk_TrkLoc",
+ "varType": 2,
+ "value": [
+ 3
+ ]
+ },
+ "PlayerTrackSurfaceMaterial": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PlayerTrackSurfaceMaterial",
+ "description": "Players car track surface material type",
+ "unit": "irsdk_TrkSurf",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "PlayerCarIdx": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PlayerCarIdx",
+ "description": "Players carIdx",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 37
+ ]
+ },
+ "PlayerCarTeamIncidentCount": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PlayerCarTeamIncidentCount",
+ "description": "Players team incident count for this session",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 0
+ ]
+ },
+ "PlayerCarMyIncidentCount": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PlayerCarMyIncidentCount",
+ "description": "Players own incident count for this session",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 0
+ ]
+ },
+ "PlayerCarDriverIncidentCount": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PlayerCarDriverIncidentCount",
+ "description": "Teams current drivers incident count for this session",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 0
+ ]
+ },
+ "PlayerCarWeightPenalty": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PlayerCarWeightPenalty",
+ "description": "Players weight penalty",
+ "unit": "kg",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "PlayerCarPowerAdjust": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PlayerCarPowerAdjust",
+ "description": "Players power adjust",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "PlayerCarDryTireSetLimit": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PlayerCarDryTireSetLimit",
+ "description": "Players dry tire set limit",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 0
+ ]
+ },
+ "PlayerCarTowTime": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PlayerCarTowTime",
+ "description": "Players car is being towed if time is greater than zero",
+ "unit": "s",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "PlayerCarInPitStall": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PlayerCarInPitStall",
+ "description": "Players car is properly in their pitstall",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "PlayerCarPitSvStatus": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PlayerCarPitSvStatus",
+ "description": "Players car pit service status bits",
+ "unit": "irsdk_PitSvStatus",
+ "varType": 2,
+ "value": [
+ 0
+ ]
+ },
+ "PlayerTireCompound": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PlayerTireCompound",
+ "description": "Players car current tire compound",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 0
+ ]
+ },
+ "PlayerFastRepairsUsed": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PlayerFastRepairsUsed",
+ "description": "Players car number of fast repairs used",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 0
+ ]
+ },
+ "CarIdxLap": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxLap",
+ "description": "Laps started by car index",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ -1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ -1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1
+ ]
+ },
+ "CarIdxLapCompleted": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxLapCompleted",
+ "description": "Laps completed by car index",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1
+ ]
+ },
+ "CarIdxLapDistPct": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxLapDistPct",
+ "description": "Percentage distance around lap by car index",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.6157527565956116,
+ 0.5998480916023254,
+ 0.6096497178077698,
+ 0.606037974357605,
+ 0.5923144817352295,
+ 0.5922114253044128,
+ 0.5727160573005676,
+ 0.5982801914215088,
+ 0.5848683714866638,
+ 0.568743884563446,
+ 0.5011778473854065,
+ 0.48939138650894165,
+ 0.05211706459522247,
+ 0.48205462098121643,
+ 0.5037395358085632,
+ 0.495958149433136,
+ 0.4917910397052765,
+ -1,
+ 0.46847108006477356,
+ 0.4964464604854584,
+ 0.43347659707069397,
+ 0.45296210050582886,
+ 0.44972822070121765,
+ 0.4707780182361603,
+ 0.43348759412765503,
+ 0.43159180879592896,
+ 0.4315689504146576,
+ 0.44264230132102966,
+ 0.4394476115703583,
+ -1,
+ 0.42966118454933167,
+ 0.44526800513267517,
+ 0.42978402972221375,
+ 0.42790675163269043,
+ 0.44091856479644775,
+ 0.43590623140335083,
+ 0.46071040630340576,
+ 0.4353986382484436,
+ 0.42590898275375366,
+ 0.4259645938873291,
+ 0.4240149259567261,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1
+ ]
+ },
+ "CarIdxTrackSurface": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxTrackSurface",
+ "description": "Track surface type by car index",
+ "unit": "irsdk_TrkLoc",
+ "varType": 2,
+ "value": [
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 1,
+ 3,
+ 3,
+ 3,
+ 3,
+ -1,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ -1,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1
+ ]
+ },
+ "CarIdxTrackSurfaceMaterial": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxTrackSurfaceMaterial",
+ "description": "Track surface material type by car index",
+ "unit": "irsdk_TrkSurf",
+ "varType": 2,
+ "value": [
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 5,
+ 1,
+ 1,
+ 1,
+ 1,
+ -1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ -1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1
+ ]
+ },
+ "CarIdxOnPitRoad": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxOnPitRoad",
+ "description": "On pit road between the cones by car index",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ]
+ },
+ "CarIdxPosition": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxPosition",
+ "description": "Cars position in race by car index",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ]
+ },
+ "CarIdxClassPosition": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxClassPosition",
+ "description": "Cars class position in race by car index",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ]
+ },
+ "CarIdxClass": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxClass",
+ "description": "Cars class id by car index",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 11,
+ 4029,
+ 4029,
+ 4029,
+ 4029,
+ 4029,
+ 4029,
+ 4029,
+ 4029,
+ 4029,
+ 2523,
+ 2523,
+ 2523,
+ 2523,
+ 2523,
+ 2523,
+ 2523,
+ 2523,
+ 2523,
+ 2523,
+ 4011,
+ 4011,
+ 4011,
+ 4011,
+ 4011,
+ 4011,
+ 4011,
+ 4011,
+ 4011,
+ 4011,
+ 4011,
+ 4011,
+ 4011,
+ 4011,
+ 4011,
+ 4011,
+ 4011,
+ 4011,
+ 4011,
+ 4011,
+ 4011,
+ 4011,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ 4011
+ ]
+ },
+ "CarIdxF2Time": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxF2Time",
+ "description": "Race time behind leader or fastest lap time otherwise",
+ "unit": "s",
+ "varType": 4,
+ "value": [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ]
+ },
+ "CarIdxEstTime": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxEstTime",
+ "description": "Estimated time to reach current location on track",
+ "unit": "s",
+ "varType": 4,
+ "value": [
+ 59.71072769165039,
+ 49.419471740722656,
+ 50.28829574584961,
+ 50.151512145996094,
+ 48.6306037902832,
+ 48.67388153076172,
+ 46.23629379272461,
+ 49.270263671875,
+ 47.93666458129883,
+ 45.52106475830078,
+ 38.35770797729492,
+ 37.323699951171875,
+ 2.924497604370117,
+ 36.65300369262695,
+ 38.57279586791992,
+ 37.910648345947266,
+ 37.54115676879883,
+ 0,
+ 35.54023742675781,
+ 37.95301818847656,
+ 35.6782112121582,
+ 37.141326904296875,
+ 37.352542877197266,
+ 38.58738327026367,
+ 36.20934295654297,
+ 35.544837951660156,
+ 35.64521408081055,
+ 36.4227180480957,
+ 36.563636779785156,
+ 0,
+ 35.509796142578125,
+ 36.503639221191406,
+ 35.416507720947266,
+ 35.8101806640625,
+ 36.73476028442383,
+ 36.31155776977539,
+ 38.19721603393555,
+ 35.91572189331055,
+ 35.140052795410156,
+ 35.315162658691406,
+ 35.33525466918945,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ]
+ },
+ "CarIdxLastLapTime": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxLastLapTime",
+ "description": "Cars last lap time",
+ "unit": "s",
+ "varType": 4,
+ "value": [
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1
+ ]
+ },
+ "CarIdxBestLapTime": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxBestLapTime",
+ "description": "Cars best lap time",
+ "unit": "s",
+ "varType": 4,
+ "value": [
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1
+ ]
+ },
+ "CarIdxBestLapNum": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxBestLapNum",
+ "description": "Cars best lap number",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1
+ ]
+ },
+ "CarIdxTireCompound": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxTireCompound",
+ "description": "Cars current tire compound",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ -1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 1,
+ 1,
+ 0,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 0,
+ 0,
+ 0,
+ -1,
+ 1,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 0,
+ 0,
+ 1,
+ 1,
+ -1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 1,
+ 0,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1
+ ]
+ },
+ "CarIdxQualTireCompound": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxQualTireCompound",
+ "description": "Cars Qual tire compound",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ -1,
+ -1,
+ 1,
+ 0,
+ -1,
+ -1,
+ -1,
+ 1,
+ -1,
+ -1,
+ 1,
+ 1,
+ 1,
+ -1,
+ 1,
+ 1,
+ 1,
+ -1,
+ -1,
+ 1,
+ -1,
+ 1,
+ 1,
+ 1,
+ 0,
+ -1,
+ -1,
+ 1,
+ 1,
+ -1,
+ -1,
+ 1,
+ -1,
+ -1,
+ 1,
+ 1,
+ 1,
+ 0,
+ -1,
+ -1,
+ -1,
+ 1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1
+ ]
+ },
+ "CarIdxQualTireCompoundLocked": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxQualTireCompoundLocked",
+ "description": "Cars Qual tire compound is locked-in",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ]
+ },
+ "CarIdxFastRepairsUsed": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxFastRepairsUsed",
+ "description": "How many fast repairs each car has used",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ]
+ },
+ "CarIdxSessionFlags": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxSessionFlags",
+ "description": "Session flags for each player",
+ "unit": "irsdk_Flags",
+ "varType": 3,
+ "value": [
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 0,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 0,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 262144,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ]
+ },
+ "PaceMode": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PaceMode",
+ "description": "Are we pacing or not",
+ "unit": "irsdk_PaceMode",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "CarIdxPaceLine": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxPaceLine",
+ "description": "What line cars are pacing in or -1 if not pacing",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ -1,
+ 1,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 1,
+ -1,
+ 0,
+ 0,
+ 0,
+ 0,
+ -1,
+ 1,
+ 1,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 1,
+ 1,
+ 1,
+ -1,
+ 1,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 1,
+ 1,
+ 0,
+ 1,
+ 0,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1
+ ]
+ },
+ "CarIdxPaceRow": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxPaceRow",
+ "description": "What row cars are pacing in or -1 if not pacing",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ -1,
+ 1,
+ 0,
+ 0,
+ 2,
+ 2,
+ 3,
+ 1,
+ 3,
+ 4,
+ 4,
+ 6,
+ -1,
+ 8,
+ 5,
+ 6,
+ 7,
+ -1,
+ 7,
+ 5,
+ 13,
+ 10,
+ 9,
+ 9,
+ 14,
+ 15,
+ 14,
+ 10,
+ 11,
+ -1,
+ 15,
+ 11,
+ 16,
+ 16,
+ 12,
+ 13,
+ 8,
+ 12,
+ 17,
+ 17,
+ 18,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1
+ ]
+ },
+ "CarIdxPaceFlags": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxPaceFlags",
+ "description": "Pacing status flags for each car",
+ "unit": "irsdk_PaceFlags",
+ "varType": 3,
+ "value": [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ]
+ },
+ "OnPitRoad": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "OnPitRoad",
+ "description": "Is the player car on pit road between the cones",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "CarIdxSteer": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxSteer",
+ "description": "Steering wheel angle by car index",
+ "unit": "rad",
+ "varType": 4,
+ "value": [
+ -0.4360554814338684,
+ -0.19337686896324158,
+ -0.21748945116996765,
+ 1.4462215900421143,
+ 0.07923811674118042,
+ -0.03902451694011688,
+ 1.4601343870162964,
+ -0.3705190420150757,
+ 1.9216386079788208,
+ 1.9287176132202148,
+ -1.2088749408721924,
+ -0.8465180993080139,
+ 7.416278435812274e-8,
+ -0.5722006559371948,
+ -1.1515082120895386,
+ -0.7419734001159668,
+ -0.6626843214035034,
+ 0,
+ -0.930095911026001,
+ -0.554693877696991,
+ 3.942514581467549e-7,
+ -0.1635221242904663,
+ -0.11784632503986359,
+ -0.6841662526130676,
+ 9.827892881730804e-7,
+ 2.892645678542749e-9,
+ -1.628763968142266e-8,
+ -0.08295974135398865,
+ -0.039602603763341904,
+ 0,
+ -1.916322656114744e-9,
+ -0.12597393989562988,
+ -1.2323391196389366e-8,
+ 6.012557918211314e-8,
+ 0.10938061028718948,
+ 0.0500321127474308,
+ -0.5271873474121094,
+ -0.27562180161476135,
+ 1.125327031559209e-8,
+ -0.0000015809823707968462,
+ -9.509267151486256e-9,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ]
+ },
+ "CarIdxRPM": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxRPM",
+ "description": "Engine rpm by car index",
+ "unit": "revs/min",
+ "varType": 4,
+ "value": [
+ 3522.619873046875,
+ 5972.58544921875,
+ 5387.0888671875,
+ 5008.46728515625,
+ 5162.4833984375,
+ 5406.0595703125,
+ 3828.365478515625,
+ 6709.82861328125,
+ 5455.5703125,
+ 3569.759765625,
+ 4557.52099609375,
+ 3313.8291015625,
+ 2399.28369140625,
+ 4921.58984375,
+ 3212.375244140625,
+ 4789.2060546875,
+ 4846.22509765625,
+ -1,
+ 3292.23681640625,
+ 5218.119140625,
+ 1804.4576416015625,
+ 4810.54736328125,
+ 5905.974609375,
+ 2999.892578125,
+ 1746.029052734375,
+ 1804.4576416015625,
+ 2945.823486328125,
+ 2327.35546875,
+ 4023.970703125,
+ -1,
+ 2945.823486328125,
+ 2972.830078125,
+ 1804.45751953125,
+ 1746.029052734375,
+ 2483.143310546875,
+ 1475.47021484375,
+ 5390.88037109375,
+ 3164.09033203125,
+ 1804.4576416015625,
+ 1478.214599609375,
+ 1947.0867919921875,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1
+ ]
+ },
+ "CarIdxGear": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxGear",
+ "description": "-1=reverse 0=neutral 1..n=current gear by car index",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 4,
+ 2,
+ 2,
+ 2,
+ 1,
+ 2,
+ 2,
+ 1,
+ 2,
+ 2,
+ 1,
+ 1,
+ 1,
+ 1,
+ 2,
+ 1,
+ 1,
+ -1,
+ 2,
+ 1,
+ 1,
+ 1,
+ 1,
+ 2,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ -1,
+ 0,
+ 1,
+ 1,
+ 0,
+ 1,
+ 1,
+ 2,
+ 1,
+ 0,
+ 1,
+ 1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1
+ ]
+ },
+ "SteeringWheelAngle": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SteeringWheelAngle",
+ "description": "Steering wheel angle",
+ "unit": "rad",
+ "varType": 4,
+ "value": [
+ -0.27562180161476135
+ ]
+ },
+ "Throttle": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "Throttle",
+ "description": "0=off throttle to 1=full throttle",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.3383477032184601
+ ]
+ },
+ "Brake": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "Brake",
+ "description": "0=brake released to 1=max pedal force",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "Clutch": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "Clutch",
+ "description": "0=disengaged to 1=fully engaged",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.2969607710838318
+ ]
+ },
+ "Gear": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "Gear",
+ "description": "-1=reverse 0=neutral 1..n=current gear",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "RPM": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RPM",
+ "description": "Engine rpm",
+ "unit": "revs/min",
+ "varType": 4,
+ "value": [
+ 3164.09033203125
+ ]
+ },
+ "PlayerCarSLFirstRPM": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PlayerCarSLFirstRPM",
+ "description": "Shift light first light rpm",
+ "unit": "revs/min",
+ "varType": 4,
+ "value": [
+ 6000
+ ]
+ },
+ "PlayerCarSLShiftRPM": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PlayerCarSLShiftRPM",
+ "description": "Shift light shift rpm",
+ "unit": "revs/min",
+ "varType": 4,
+ "value": [
+ 7300
+ ]
+ },
+ "PlayerCarSLLastRPM": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PlayerCarSLLastRPM",
+ "description": "Shift light last light rpm",
+ "unit": "revs/min",
+ "varType": 4,
+ "value": [
+ 7500
+ ]
+ },
+ "PlayerCarSLBlinkRPM": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PlayerCarSLBlinkRPM",
+ "description": "Shift light blink rpm",
+ "unit": "revs/min",
+ "varType": 4,
+ "value": [
+ 7900
+ ]
+ },
+ "Lap": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "Lap",
+ "description": "Laps started count",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 0
+ ]
+ },
+ "LapCompleted": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapCompleted",
+ "description": "Laps completed count",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ -1
+ ]
+ },
+ "LapDist": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapDist",
+ "description": "Meters traveled from S/F this lap",
+ "unit": "m",
+ "varType": 4,
+ "value": [
+ 1838.512451171875
+ ]
+ },
+ "LapDistPct": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapDistPct",
+ "description": "Percentage distance around lap",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.4353986382484436
+ ]
+ },
+ "RaceLaps": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RaceLaps",
+ "description": "Laps completed in race",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 0
+ ]
+ },
+ "CarDistAhead": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "CarDistAhead",
+ "description": "Distance to first car in front of player in meters",
+ "unit": "m",
+ "varType": 4,
+ "value": [
+ 2.143310546875
+ ]
+ },
+ "CarDistBehind": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "CarDistBehind",
+ "description": "Distance to first car behind player in meters",
+ "unit": "m",
+ "varType": 4,
+ "value": [
+ 8.069580078125
+ ]
+ },
+ "LapBestLap": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapBestLap",
+ "description": "Players best lap number",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 0
+ ]
+ },
+ "LapBestLapTime": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapBestLapTime",
+ "description": "Players best lap time",
+ "unit": "s",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "LapLastLapTime": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapLastLapTime",
+ "description": "Players last lap time",
+ "unit": "s",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "LapCurrentLapTime": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapCurrentLapTime",
+ "description": "Estimate of players current lap time as shown in F3 box",
+ "unit": "s",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "LapLasNLapSeq": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapLasNLapSeq",
+ "description": "Player num consecutive clean laps completed for N average",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 0
+ ]
+ },
+ "LapLastNLapTime": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapLastNLapTime",
+ "description": "Player last N average lap time",
+ "unit": "s",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "LapBestNLapLap": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapBestNLapLap",
+ "description": "Player last lap in best N average lap time",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 0
+ ]
+ },
+ "LapBestNLapTime": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapBestNLapTime",
+ "description": "Player best N average lap time",
+ "unit": "s",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "LapDeltaToBestLap": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapDeltaToBestLap",
+ "description": "Delta time for best lap",
+ "unit": "s",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "LapDeltaToBestLap_DD": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapDeltaToBestLap_DD",
+ "description": "Rate of change of delta time for best lap",
+ "unit": "s/s",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "LapDeltaToBestLap_OK": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapDeltaToBestLap_OK",
+ "description": "Delta time for best lap is valid",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "LapDeltaToOptimalLap": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapDeltaToOptimalLap",
+ "description": "Delta time for optimal lap",
+ "unit": "s",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "LapDeltaToOptimalLap_DD": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapDeltaToOptimalLap_DD",
+ "description": "Rate of change of delta time for optimal lap",
+ "unit": "s/s",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "LapDeltaToOptimalLap_OK": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapDeltaToOptimalLap_OK",
+ "description": "Delta time for optimal lap is valid",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "LapDeltaToSessionBestLap": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapDeltaToSessionBestLap",
+ "description": "Delta time for session best lap",
+ "unit": "s",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "LapDeltaToSessionBestLap_DD": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapDeltaToSessionBestLap_DD",
+ "description": "Rate of change of delta time for session best lap",
+ "unit": "s/s",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "LapDeltaToSessionBestLap_OK": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapDeltaToSessionBestLap_OK",
+ "description": "Delta time for session best lap is valid",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "LapDeltaToSessionOptimalLap": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapDeltaToSessionOptimalLap",
+ "description": "Delta time for session optimal lap",
+ "unit": "s",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "LapDeltaToSessionOptimalLap_DD": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapDeltaToSessionOptimalLap_DD",
+ "description": "Rate of change of delta time for session optimal lap",
+ "unit": "s/s",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "LapDeltaToSessionOptimalLap_OK": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapDeltaToSessionOptimalLap_OK",
+ "description": "Delta time for session optimal lap is valid",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "LapDeltaToSessionLastlLap": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapDeltaToSessionLastlLap",
+ "description": "Delta time for session last lap",
+ "unit": "s",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "LapDeltaToSessionLastlLap_DD": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapDeltaToSessionLastlLap_DD",
+ "description": "Rate of change of delta time for session last lap",
+ "unit": "s/s",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "LapDeltaToSessionLastlLap_OK": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LapDeltaToSessionLastlLap_OK",
+ "description": "Delta time for session last lap is valid",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "Speed": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "Speed",
+ "description": "GPS vehicle speed",
+ "unit": "m/s",
+ "varType": 4,
+ "value": [
+ 0.21389096975326538
+ ]
+ },
+ "Yaw": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "Yaw",
+ "description": "Yaw orientation",
+ "unit": "rad",
+ "varType": 4,
+ "value": [
+ -2.1715786457061768
+ ]
+ },
+ "YawNorth": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "YawNorth",
+ "description": "Yaw orientation relative to north",
+ "unit": "rad",
+ "varType": 4,
+ "value": [
+ 3.757598876953125
+ ]
+ },
+ "Pitch": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "Pitch",
+ "description": "Pitch orientation",
+ "unit": "rad",
+ "varType": 4,
+ "value": [
+ -0.05754435807466507
+ ]
+ },
+ "Roll": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "Roll",
+ "description": "Roll orientation",
+ "unit": "rad",
+ "varType": 4,
+ "value": [
+ 0.0064175985753536224
+ ]
+ },
+ "EnterExitReset": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "EnterExitReset",
+ "description": "Indicate action the reset key will take 0 enter 1 exit 2 reset",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "TrackTemp": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "TrackTemp",
+ "description": "Deprecated set to TrackTempCrew",
+ "unit": "C",
+ "varType": 4,
+ "value": [
+ 17.22222900390625
+ ]
+ },
+ "TrackTempCrew": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "TrackTempCrew",
+ "description": "Temperature of track measured by crew around track",
+ "unit": "C",
+ "varType": 4,
+ "value": [
+ 17.22222900390625
+ ]
+ },
+ "AirTemp": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "AirTemp",
+ "description": "Temperature of air at start/finish line",
+ "unit": "C",
+ "varType": 4,
+ "value": [
+ 19.01333236694336
+ ]
+ },
+ "TrackWetness": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "TrackWetness",
+ "description": "How wet is the average track surface",
+ "unit": "irsdk_TrackWetness",
+ "varType": 2,
+ "value": [
+ 3
+ ]
+ },
+ "Skies": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "Skies",
+ "description": "Skies (0=clear/1=p cloudy/2=m cloudy/3=overcast)",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 3
+ ]
+ },
+ "AirDensity": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "AirDensity",
+ "description": "Density of air at start/finish line",
+ "unit": "kg/m^3",
+ "varType": 4,
+ "value": [
+ 1.0999425649642944
+ ]
+ },
+ "AirPressure": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "AirPressure",
+ "description": "Pressure of air at start/finish line",
+ "unit": "Pa",
+ "varType": 4,
+ "value": [
+ 93034.453125
+ ]
+ },
+ "WindVel": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "WindVel",
+ "description": "Wind velocity at start/finish line",
+ "unit": "m/s",
+ "varType": 4,
+ "value": [
+ 4.648459434509277
+ ]
+ },
+ "WindDir": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "WindDir",
+ "description": "Wind direction at start/finish line",
+ "unit": "rad",
+ "varType": 4,
+ "value": [
+ 0.5065906047821045
+ ]
+ },
+ "RelativeHumidity": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RelativeHumidity",
+ "description": "Relative Humidity at start/finish line",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.949999988079071
+ ]
+ },
+ "FogLevel": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "FogLevel",
+ "description": "Fog level at start/finish line",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "Precipitation": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "Precipitation",
+ "description": "Precipitation at start/finish line",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "SolarAltitude": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SolarAltitude",
+ "description": "Sun angle above horizon in radians",
+ "unit": "rad",
+ "varType": 4,
+ "value": [
+ 0.46321797370910645
+ ]
+ },
+ "SolarAzimuth": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SolarAzimuth",
+ "description": "Sun angle clockwise from north in radians",
+ "unit": "rad",
+ "varType": 4,
+ "value": [
+ 0.8542160391807556
+ ]
+ },
+ "WeatherDeclaredWet": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "WeatherDeclaredWet",
+ "description": "The steward says rain tires can be used",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ true
+ ]
+ },
+ "SteeringFFBEnabled": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SteeringFFBEnabled",
+ "description": "Force feedback is enabled",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ true
+ ]
+ },
+ "DCLapStatus": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "DCLapStatus",
+ "description": "Status of driver change lap requirements",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 2
+ ]
+ },
+ "DCDriversSoFar": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "DCDriversSoFar",
+ "description": "Number of team drivers who have run a stint",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "OkToReloadTextures": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "OkToReloadTextures",
+ "description": "True if it is ok to reload car textures at this time",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ true
+ ]
+ },
+ "LoadNumTextures": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LoadNumTextures",
+ "description": "True if the car_num texture will be loaded",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "CarLeftRight": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "CarLeftRight",
+ "description": "Notify if car is to the left or right of driver",
+ "unit": "irsdk_CarLeftRight",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "PitsOpen": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PitsOpen",
+ "description": "True if pit stop is allowed for the current player",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ true
+ ]
+ },
+ "VidCapEnabled": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "VidCapEnabled",
+ "description": "True if video capture system is enabled",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "VidCapActive": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "VidCapActive",
+ "description": "True if video currently being captured",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "PitRepairLeft": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PitRepairLeft",
+ "description": "Time left for mandatory pit repairs if repairs are active",
+ "unit": "s",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "PitOptRepairLeft": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PitOptRepairLeft",
+ "description": "Time left for optional repairs if repairs are active",
+ "unit": "s",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "PitstopActive": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PitstopActive",
+ "description": "Is the player getting pit stop service",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "FastRepairUsed": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "FastRepairUsed",
+ "description": "How many fast repairs used so far",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 0
+ ]
+ },
+ "FastRepairAvailable": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "FastRepairAvailable",
+ "description": "How many fast repairs left 255 is unlimited",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 0
+ ]
+ },
+ "LFTiresUsed": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LFTiresUsed",
+ "description": "How many left front tires used so far",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "RFTiresUsed": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RFTiresUsed",
+ "description": "How many right front tires used so far",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "LRTiresUsed": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LRTiresUsed",
+ "description": "How many left rear tires used so far",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "RRTiresUsed": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RRTiresUsed",
+ "description": "How many right rear tires used so far",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "LeftTireSetsUsed": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LeftTireSetsUsed",
+ "description": "How many left tire sets used so far",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "RightTireSetsUsed": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RightTireSetsUsed",
+ "description": "How many right tire sets used so far",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "FrontTireSetsUsed": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "FrontTireSetsUsed",
+ "description": "How many front tire sets used so far",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "RearTireSetsUsed": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RearTireSetsUsed",
+ "description": "How many rear tire sets used so far",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "TireSetsUsed": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "TireSetsUsed",
+ "description": "How many tire sets used so far",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "LFTiresAvailable": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LFTiresAvailable",
+ "description": "How many left front tires are remaining 255 is unlimited",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "RFTiresAvailable": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RFTiresAvailable",
+ "description": "How many right front tires are remaining 255 is unlimited",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "LRTiresAvailable": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LRTiresAvailable",
+ "description": "How many left rear tires are remaining 255 is unlimited",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "RRTiresAvailable": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RRTiresAvailable",
+ "description": "How many right rear tires are remaining 255 is unlimited",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "LeftTireSetsAvailable": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LeftTireSetsAvailable",
+ "description": "How many left tire sets are remaining 255 is unlimited",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "RightTireSetsAvailable": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RightTireSetsAvailable",
+ "description": "How many right tire sets are remaining 255 is unlimited",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "FrontTireSetsAvailable": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "FrontTireSetsAvailable",
+ "description": "How many front tire sets are remaining 255 is unlimited",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "RearTireSetsAvailable": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RearTireSetsAvailable",
+ "description": "How many rear tire sets are remaining 255 is unlimited",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "TireSetsAvailable": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "TireSetsAvailable",
+ "description": "How many tire sets are remaining 255 is unlimited",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "CamCarIdx": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "CamCarIdx",
+ "description": "Active camera's focus car index",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 37
+ ]
+ },
+ "CamCameraNumber": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "CamCameraNumber",
+ "description": "Active camera number",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "CamGroupNumber": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "CamGroupNumber",
+ "description": "Active camera group number",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 9
+ ]
+ },
+ "CamCameraState": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "CamCameraState",
+ "description": "State of camera system",
+ "unit": "irsdk_CameraState",
+ "varType": 3,
+ "value": [
+ 80
+ ]
+ },
+ "IsOnTrackCar": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "IsOnTrackCar",
+ "description": "1=Car on track physics running",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ true
+ ]
+ },
+ "IsInGarage": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "IsInGarage",
+ "description": "1=Car in garage physics running",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "SteeringWheelAngleMax": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SteeringWheelAngleMax",
+ "description": "Steering wheel max angle",
+ "unit": "rad",
+ "varType": 4,
+ "value": [
+ 7.866819858551025
+ ]
+ },
+ "ShiftPowerPct": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "ShiftPowerPct",
+ "description": "Friction torque applied to gears when shifting or grinding",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "ShiftGrindRPM": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "ShiftGrindRPM",
+ "description": "RPM of shifter grinding noise",
+ "unit": "RPM",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "ThrottleRaw": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "ThrottleRaw",
+ "description": "Raw throttle input 0=off throttle to 1=full throttle",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.3383477032184601
+ ]
+ },
+ "BrakeRaw": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "BrakeRaw",
+ "description": "Raw brake input 0=brake released to 1=max pedal force",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "ClutchRaw": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "ClutchRaw",
+ "description": "Raw clutch input 0=disengaged to 1=fully engaged",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 1
+ ]
+ },
+ "HandbrakeRaw": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "HandbrakeRaw",
+ "description": "Raw handbrake input 0=handbrake released to 1=max force",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "BrakeABSactive": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "BrakeABSactive",
+ "description": "true if abs is currently reducing brake force pressure",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "EngineWarnings": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "EngineWarnings",
+ "description": "Bitfield for warning lights",
+ "unit": "irsdk_EngineWarnings",
+ "varType": 3,
+ "value": [
+ 0
+ ]
+ },
+ "FuelLevelPct": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "FuelLevelPct",
+ "description": "Percent fuel remaining",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.4988507926464081
+ ]
+ },
+ "PitSvFlags": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PitSvFlags",
+ "description": "Bitfield of pit service checkboxes",
+ "unit": "irsdk_PitSvFlags",
+ "varType": 3,
+ "value": [
+ 48
+ ]
+ },
+ "PitSvLFP": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PitSvLFP",
+ "description": "Pit service left front tire pressure",
+ "unit": "kPa",
+ "varType": 4,
+ "value": [
+ 158.57901000976562
+ ]
+ },
+ "PitSvRFP": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PitSvRFP",
+ "description": "Pit service right front tire pressure",
+ "unit": "kPa",
+ "varType": 4,
+ "value": [
+ 158.57901000976562
+ ]
+ },
+ "PitSvLRP": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PitSvLRP",
+ "description": "Pit service left rear tire pressure",
+ "unit": "kPa",
+ "varType": 4,
+ "value": [
+ 158.57901000976562
+ ]
+ },
+ "PitSvRRP": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PitSvRRP",
+ "description": "Pit service right rear tire pressure",
+ "unit": "kPa",
+ "varType": 4,
+ "value": [
+ 158.57901000976562
+ ]
+ },
+ "PitSvFuel": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PitSvFuel",
+ "description": "Pit service fuel add amount",
+ "unit": "l or kWh",
+ "varType": 4,
+ "value": [
+ 52
+ ]
+ },
+ "PitSvTireCompound": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PitSvTireCompound",
+ "description": "Pit service pending tire compound",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 0
+ ]
+ },
+ "CarIdxP2P_Status": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxP2P_Status",
+ "description": "Push2Pass active or not",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ]
+ },
+ "CarIdxP2P_Count": {
+ "countAsTime": false,
+ "length": 64,
+ "name": "CarIdxP2P_Count",
+ "description": "Push2Pass count of usage (or remaining in Race)",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1,
+ -1
+ ]
+ },
+ "P2P_Status": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "P2P_Status",
+ "description": "Push2Pass active or not on your car",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "P2P_Count": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "P2P_Count",
+ "description": "Push2Pass count of usage (or remaining in Race) on your car",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 0
+ ]
+ },
+ "SteeringWheelPctTorque": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SteeringWheelPctTorque",
+ "description": "Force feedback % max torque on steering shaft unsigned",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.1073838397860527
+ ]
+ },
+ "SteeringWheelPctTorqueSign": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SteeringWheelPctTorqueSign",
+ "description": "Force feedback % max torque on steering shaft signed",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.1073838397860527
+ ]
+ },
+ "SteeringWheelPctTorqueSignStops": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SteeringWheelPctTorqueSignStops",
+ "description": "Force feedback % max torque on steering shaft signed stops",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.03744460642337799
+ ]
+ },
+ "SteeringWheelPctIntensity": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SteeringWheelPctIntensity",
+ "description": "Force feedback % max intensity",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.5
+ ]
+ },
+ "SteeringWheelPctSmoothing": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SteeringWheelPctSmoothing",
+ "description": "Force feedback % max smoothing",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "SteeringWheelPctDamper": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SteeringWheelPctDamper",
+ "description": "Force feedback % max damping",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "SteeringWheelLimiter": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SteeringWheelLimiter",
+ "description": "Force feedback limiter strength limits impacts and oscillation",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "SteeringWheelMaxForceNm": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SteeringWheelMaxForceNm",
+ "description": "Value of strength or max force slider in Nm for FFB",
+ "unit": "N*m",
+ "varType": 4,
+ "value": [
+ 41.10961151123047
+ ]
+ },
+ "SteeringWheelPeakForceNm": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SteeringWheelPeakForceNm",
+ "description": "Peak torque mapping to direct input units for FFB",
+ "unit": "N*m",
+ "varType": 4,
+ "value": [
+ -1
+ ]
+ },
+ "SteeringWheelUseLinear": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SteeringWheelUseLinear",
+ "description": "True if steering wheel force is using linear mode",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ true
+ ]
+ },
+ "ShiftIndicatorPct": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "ShiftIndicatorPct",
+ "description": "DEPRECATED use DriverCarSLBlinkRPM instead",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "ReplayPlaySpeed": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "ReplayPlaySpeed",
+ "description": "Replay playback speed",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ 1
+ ]
+ },
+ "ReplayPlaySlowMotion": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "ReplayPlaySlowMotion",
+ "description": "0=not slow motion 1=replay is in slow motion",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "ReplaySessionTime": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "ReplaySessionTime",
+ "description": "Seconds since replay session start",
+ "unit": "s",
+ "varType": 5,
+ "value": [
+ 0
+ ]
+ },
+ "ReplaySessionNum": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "ReplaySessionNum",
+ "description": "Replay session number",
+ "unit": "",
+ "varType": 2,
+ "value": [
+ -1
+ ]
+ },
+ "TireLF_RumblePitch": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "TireLF_RumblePitch",
+ "description": "Players LF Tire Sound rumblestrip pitch",
+ "unit": "Hz",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "TireRF_RumblePitch": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "TireRF_RumblePitch",
+ "description": "Players RF Tire Sound rumblestrip pitch",
+ "unit": "Hz",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "TireLR_RumblePitch": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "TireLR_RumblePitch",
+ "description": "Players LR Tire Sound rumblestrip pitch",
+ "unit": "Hz",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "TireRR_RumblePitch": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "TireRR_RumblePitch",
+ "description": "Players RR Tire Sound rumblestrip pitch",
+ "unit": "Hz",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "IsGarageVisible": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "IsGarageVisible",
+ "description": "1=Garage screen is visible",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "SteeringWheelTorque_ST": {
+ "countAsTime": true,
+ "length": 6,
+ "name": "SteeringWheelTorque_ST",
+ "description": "Output torque on steering shaft at 360 Hz",
+ "unit": "N*m",
+ "varType": 4,
+ "value": [
+ 4.184950828552246,
+ 4.214134216308594,
+ 4.2912397384643555,
+ 4.3538737297058105,
+ 4.395411968231201,
+ 4.414507865905762
+ ]
+ },
+ "SteeringWheelTorque": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "SteeringWheelTorque",
+ "description": "Output torque on steering shaft",
+ "unit": "N*m",
+ "varType": 4,
+ "value": [
+ 4.414507865905762
+ ]
+ },
+ "VelocityZ_ST": {
+ "countAsTime": true,
+ "length": 6,
+ "name": "VelocityZ_ST",
+ "description": "Z velocity",
+ "unit": "m/s at 360 Hz",
+ "varType": 4,
+ "value": [
+ 0.006493896245956421,
+ 0.0063067954033613205,
+ 0.0061207180842757225,
+ 0.005937468260526657,
+ 0.005753867328166962,
+ 0.0055713774636387825
+ ]
+ },
+ "VelocityY_ST": {
+ "countAsTime": true,
+ "length": 6,
+ "name": "VelocityY_ST",
+ "description": "Y velocity",
+ "unit": "m/s at 360 Hz",
+ "varType": 4,
+ "value": [
+ -0.007246164605021477,
+ -0.007057185750454664,
+ -0.006848372984677553,
+ -0.006627339869737625,
+ -0.006395908538252115,
+ -0.006155774462968111
+ ]
+ },
+ "VelocityX_ST": {
+ "countAsTime": true,
+ "length": 6,
+ "name": "VelocityX_ST",
+ "description": "X velocity",
+ "unit": "m/s at 360 Hz",
+ "varType": 4,
+ "value": [
+ 0.19722549617290497,
+ 0.20032425224781036,
+ 0.20355932414531708,
+ 0.2069036215543747,
+ 0.21032236516475677,
+ 0.21380236744880676
+ ]
+ },
+ "VelocityZ": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "VelocityZ",
+ "description": "Z velocity",
+ "unit": "m/s",
+ "varType": 4,
+ "value": [
+ 0.0055713774636387825
+ ]
+ },
+ "VelocityY": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "VelocityY",
+ "description": "Y velocity",
+ "unit": "m/s",
+ "varType": 4,
+ "value": [
+ -0.006155774462968111
+ ]
+ },
+ "VelocityX": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "VelocityX",
+ "description": "X velocity",
+ "unit": "m/s",
+ "varType": 4,
+ "value": [
+ 0.21380236744880676
+ ]
+ },
+ "YawRate_ST": {
+ "countAsTime": true,
+ "length": 6,
+ "name": "YawRate_ST",
+ "description": "Yaw rate at 360 Hz",
+ "unit": "rad/s",
+ "varType": 4,
+ "value": [
+ -0.0006367102614603937,
+ -0.000710119609721005,
+ -0.000778103421907872,
+ -0.0008467169245705009,
+ -0.0009150569676421583,
+ -0.0009924096520990133
+ ]
+ },
+ "PitchRate_ST": {
+ "countAsTime": true,
+ "length": 6,
+ "name": "PitchRate_ST",
+ "description": "Pitch rate at 360 Hz",
+ "unit": "rad/s",
+ "varType": 4,
+ "value": [
+ -0.00487911282107234,
+ -0.005045129451900721,
+ -0.005113071296364069,
+ -0.005172543227672577,
+ -0.005219677928835154,
+ -0.005261560436338186
+ ]
+ },
+ "RollRate_ST": {
+ "countAsTime": true,
+ "length": 6,
+ "name": "RollRate_ST",
+ "description": "Roll rate at 360 Hz",
+ "unit": "rad/s",
+ "varType": 4,
+ "value": [
+ 0.003030817024409771,
+ 0.0030721276998519897,
+ 0.0031098290346562862,
+ 0.003123379312455654,
+ 0.0031107303220778704,
+ 0.0030806015711277723
+ ]
+ },
+ "YawRate": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "YawRate",
+ "description": "Yaw rate",
+ "unit": "rad/s",
+ "varType": 4,
+ "value": [
+ -0.0009924096520990133
+ ]
+ },
+ "PitchRate": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "PitchRate",
+ "description": "Pitch rate",
+ "unit": "rad/s",
+ "varType": 4,
+ "value": [
+ -0.005261560436338186
+ ]
+ },
+ "RollRate": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RollRate",
+ "description": "Roll rate",
+ "unit": "rad/s",
+ "varType": 4,
+ "value": [
+ 0.0030806015711277723
+ ]
+ },
+ "VertAccel_ST": {
+ "countAsTime": true,
+ "length": 6,
+ "name": "VertAccel_ST",
+ "description": "Vertical acceleration (including gravity) at 360 Hz",
+ "unit": "m/s^2",
+ "varType": 4,
+ "value": [
+ 9.714908599853516,
+ 9.723861694335938,
+ 9.724249839782715,
+ 9.725290298461914,
+ 9.725181579589844,
+ 9.725602149963379
+ ]
+ },
+ "LatAccel_ST": {
+ "countAsTime": true,
+ "length": 6,
+ "name": "LatAccel_ST",
+ "description": "Lateral acceleration (including gravity) at 360 Hz",
+ "unit": "m/s^2",
+ "varType": 4,
+ "value": [
+ 0.1274350881576538,
+ 0.1303693950176239,
+ 0.13757652044296265,
+ 0.1420455276966095,
+ 0.14585936069488525,
+ 0.14906036853790283
+ ]
+ },
+ "LongAccel_ST": {
+ "countAsTime": true,
+ "length": 6,
+ "name": "LongAccel_ST",
+ "description": "Longitudinal acceleration (including gravity) at 360 Hz",
+ "unit": "m/s^2",
+ "varType": 4,
+ "value": [
+ 1.5919504165649414,
+ 1.6789634227752686,
+ 1.7281699180603027,
+ 1.767625331878662,
+ 1.7945760488510132,
+ 1.8167699575424194
+ ]
+ },
+ "VertAccel": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "VertAccel",
+ "description": "Vertical acceleration (including gravity)",
+ "unit": "m/s^2",
+ "varType": 4,
+ "value": [
+ 9.725602149963379
+ ]
+ },
+ "LatAccel": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LatAccel",
+ "description": "Lateral acceleration (including gravity)",
+ "unit": "m/s^2",
+ "varType": 4,
+ "value": [
+ 0.14906036853790283
+ ]
+ },
+ "LongAccel": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LongAccel",
+ "description": "Longitudinal acceleration (including gravity)",
+ "unit": "m/s^2",
+ "varType": 4,
+ "value": [
+ 1.8167699575424194
+ ]
+ },
+ "dcStarter": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dcStarter",
+ "description": "In car trigger car starter",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "dcPitSpeedLimiterToggle": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dcPitSpeedLimiterToggle",
+ "description": "Track if pit speed limiter system is enabled",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "dcTractionControlToggle": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dcTractionControlToggle",
+ "description": "In car traction control active",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "dcHeadlightFlash": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dcHeadlightFlash",
+ "description": "In car headlight flash control active",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "dcLowFuelAccept": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dcLowFuelAccept",
+ "description": "In car low fuel accept",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "dpRFTireChange": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dpRFTireChange",
+ "description": "Pitstop rf tire change request",
+ "unit": "",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "dpLFTireChange": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dpLFTireChange",
+ "description": "Pitstop lf tire change request",
+ "unit": "",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "dpRRTireChange": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dpRRTireChange",
+ "description": "Pitstop rr tire change request",
+ "unit": "",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "dpLRTireChange": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dpLRTireChange",
+ "description": "Pitstop lr tire change request",
+ "unit": "",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "dpFuelFill": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dpFuelFill",
+ "description": "Pitstop fuel fill flag",
+ "unit": "",
+ "varType": 4,
+ "value": [
+ 1
+ ]
+ },
+ "dpFuelAutoFillEnabled": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dpFuelAutoFillEnabled",
+ "description": "Pitstop auto fill fuel system enabled",
+ "unit": "",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "dpFuelAutoFillActive": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dpFuelAutoFillActive",
+ "description": "Pitstop auto fill fuel next stop flag",
+ "unit": "",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "dpWindshieldTearoff": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dpWindshieldTearoff",
+ "description": "Pitstop windshield tearoff",
+ "unit": "",
+ "varType": 4,
+ "value": [
+ 1
+ ]
+ },
+ "dpFuelAddKg": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dpFuelAddKg",
+ "description": "Pitstop fuel add amount",
+ "unit": "kg",
+ "varType": 4,
+ "value": [
+ 52
+ ]
+ },
+ "dpFastRepair": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dpFastRepair",
+ "description": "Pitstop fast repair set",
+ "unit": "",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "dcDashPage": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dcDashPage",
+ "description": "In car dash display page adjustment",
+ "unit": "",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "dcDashPage2": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dcDashPage2",
+ "description": "In car second dash display page adjustment",
+ "unit": "",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "dcBrakeBias": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dcBrakeBias",
+ "description": "In car brake bias adjustment",
+ "unit": "",
+ "varType": 4,
+ "value": [
+ 48.10425567626953
+ ]
+ },
+ "dpLFTireColdPress": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dpLFTireColdPress",
+ "description": "Pitstop lf tire cold pressure adjustment",
+ "unit": "Pa",
+ "varType": 4,
+ "value": [
+ 158.57899475097656
+ ]
+ },
+ "dpRFTireColdPress": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dpRFTireColdPress",
+ "description": "Pitstop rf cold tire pressure adjustment",
+ "unit": "Pa",
+ "varType": 4,
+ "value": [
+ 158.57899475097656
+ ]
+ },
+ "dpLRTireColdPress": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dpLRTireColdPress",
+ "description": "Pitstop lr tire cold pressure adjustment",
+ "unit": "Pa",
+ "varType": 4,
+ "value": [
+ 158.57899475097656
+ ]
+ },
+ "dpRRTireColdPress": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dpRRTireColdPress",
+ "description": "Pitstop rr cold tire pressure adjustment",
+ "unit": "Pa",
+ "varType": 4,
+ "value": [
+ 158.57899475097656
+ ]
+ },
+ "dcTractionControl": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dcTractionControl",
+ "description": "In car traction control adjustment",
+ "unit": "",
+ "varType": 4,
+ "value": [
+ 4
+ ]
+ },
+ "dcABS": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dcABS",
+ "description": "In car abs adjustment",
+ "unit": "",
+ "varType": 4,
+ "value": [
+ 4
+ ]
+ },
+ "dcThrottleShape": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dcThrottleShape",
+ "description": "In car throttle shape adjustment",
+ "unit": "",
+ "varType": 4,
+ "value": [
+ 1
+ ]
+ },
+ "dcToggleWindshieldWipers": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dcToggleWindshieldWipers",
+ "description": "In car turn wipers on or off",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "dcTriggerWindshieldWipers": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "dcTriggerWindshieldWipers",
+ "description": "In car momentarily turn on wipers",
+ "unit": "",
+ "varType": 1,
+ "value": [
+ false
+ ]
+ },
+ "RFbrakeLinePress": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RFbrakeLinePress",
+ "description": "RF brake line pressure",
+ "unit": "bar",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "RFcoldPressure": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RFcoldPressure",
+ "description": "RF tire cold pressure as set in the garage",
+ "unit": "kPa",
+ "varType": 4,
+ "value": [
+ 158.57901000976562
+ ]
+ },
+ "RFtempCL": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RFtempCL",
+ "description": "RF tire left carcass temperature",
+ "unit": "C",
+ "varType": 4,
+ "value": [
+ 67.58041381835938
+ ]
+ },
+ "RFtempCM": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RFtempCM",
+ "description": "RF tire middle carcass temperature",
+ "unit": "C",
+ "varType": 4,
+ "value": [
+ 64.03765869140625
+ ]
+ },
+ "RFtempCR": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RFtempCR",
+ "description": "RF tire right carcass temperature",
+ "unit": "C",
+ "varType": 4,
+ "value": [
+ 57.04473876953125
+ ]
+ },
+ "RFwearL": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RFwearL",
+ "description": "RF tire left percent tread remaining",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.9737342596054077
+ ]
+ },
+ "RFwearM": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RFwearM",
+ "description": "RF tire middle percent tread remaining",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.9733490347862244
+ ]
+ },
+ "RFwearR": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RFwearR",
+ "description": "RF tire right percent tread remaining",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.99355149269104
+ ]
+ },
+ "LFbrakeLinePress": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LFbrakeLinePress",
+ "description": "LF brake line pressure",
+ "unit": "bar",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "LFcoldPressure": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LFcoldPressure",
+ "description": "LF tire cold pressure as set in the garage",
+ "unit": "kPa",
+ "varType": 4,
+ "value": [
+ 158.57901000976562
+ ]
+ },
+ "LFtempCL": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LFtempCL",
+ "description": "LF tire left carcass temperature",
+ "unit": "C",
+ "varType": 4,
+ "value": [
+ 48.167083740234375
+ ]
+ },
+ "LFtempCM": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LFtempCM",
+ "description": "LF tire middle carcass temperature",
+ "unit": "C",
+ "varType": 4,
+ "value": [
+ 58.27838134765625
+ ]
+ },
+ "LFtempCR": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LFtempCR",
+ "description": "LF tire right carcass temperature",
+ "unit": "C",
+ "varType": 4,
+ "value": [
+ 61.5562744140625
+ ]
+ },
+ "LFwearL": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LFwearL",
+ "description": "LF tire left percent tread remaining",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.9974302053451538
+ ]
+ },
+ "LFwearM": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LFwearM",
+ "description": "LF tire middle percent tread remaining",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.976250410079956
+ ]
+ },
+ "LFwearR": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LFwearR",
+ "description": "LF tire right percent tread remaining",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.9759439826011658
+ ]
+ },
+ "FuelUsePerHour": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "FuelUsePerHour",
+ "description": "Engine fuel used instantaneous",
+ "unit": "kg/h",
+ "varType": 4,
+ "value": [
+ 44.64491653442383
+ ]
+ },
+ "Voltage": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "Voltage",
+ "description": "Engine voltage",
+ "unit": "V",
+ "varType": 4,
+ "value": [
+ 14.5
+ ]
+ },
+ "WaterTemp": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "WaterTemp",
+ "description": "Engine coolant temp",
+ "unit": "C",
+ "varType": 4,
+ "value": [
+ 78.14173126220703
+ ]
+ },
+ "WaterLevel": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "WaterLevel",
+ "description": "Engine coolant level",
+ "unit": "l",
+ "varType": 4,
+ "value": [
+ 13
+ ]
+ },
+ "FuelPress": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "FuelPress",
+ "description": "Engine fuel pressure",
+ "unit": "bar",
+ "varType": 4,
+ "value": [
+ 7.900000095367432
+ ]
+ },
+ "OilTemp": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "OilTemp",
+ "description": "Engine oil temperature",
+ "unit": "C",
+ "varType": 4,
+ "value": [
+ 84.71864318847656
+ ]
+ },
+ "OilPress": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "OilPress",
+ "description": "Engine oil pressure",
+ "unit": "bar",
+ "varType": 4,
+ "value": [
+ 4.291805744171143
+ ]
+ },
+ "OilLevel": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "OilLevel",
+ "description": "Engine oil level",
+ "unit": "l",
+ "varType": 4,
+ "value": [
+ 9
+ ]
+ },
+ "ManifoldPress": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "ManifoldPress",
+ "description": "Engine manifold pressure",
+ "unit": "bar",
+ "varType": 4,
+ "value": [
+ 0.7795017957687378
+ ]
+ },
+ "FuelLevel": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "FuelLevel",
+ "description": "Liters of fuel remaining",
+ "unit": "l",
+ "varType": 4,
+ "value": [
+ 51.8804817199707
+ ]
+ },
+ "Engine0_RPM": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "Engine0_RPM",
+ "description": "Engine0Engine rpm",
+ "unit": "revs/min",
+ "varType": 4,
+ "value": [
+ 3164.091552734375
+ ]
+ },
+ "RRbrakeLinePress": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RRbrakeLinePress",
+ "description": "RR brake line pressure",
+ "unit": "bar",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "RRcoldPressure": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RRcoldPressure",
+ "description": "RR tire cold pressure as set in the garage",
+ "unit": "kPa",
+ "varType": 4,
+ "value": [
+ 158.57901000976562
+ ]
+ },
+ "RRtempCL": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RRtempCL",
+ "description": "RR tire left carcass temperature",
+ "unit": "C",
+ "varType": 4,
+ "value": [
+ 60.6326904296875
+ ]
+ },
+ "RRtempCM": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RRtempCM",
+ "description": "RR tire middle carcass temperature",
+ "unit": "C",
+ "varType": 4,
+ "value": [
+ 57.805908203125
+ ]
+ },
+ "RRtempCR": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RRtempCR",
+ "description": "RR tire right carcass temperature",
+ "unit": "C",
+ "varType": 4,
+ "value": [
+ 53.768341064453125
+ ]
+ },
+ "RRwearL": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RRwearL",
+ "description": "RR tire left percent tread remaining",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.9894644618034363
+ ]
+ },
+ "RRwearM": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RRwearM",
+ "description": "RR tire middle percent tread remaining",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.9892746210098267
+ ]
+ },
+ "RRwearR": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RRwearR",
+ "description": "RR tire right percent tread remaining",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.9937880635261536
+ ]
+ },
+ "LRbrakeLinePress": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LRbrakeLinePress",
+ "description": "LR brake line pressure",
+ "unit": "bar",
+ "varType": 4,
+ "value": [
+ 0
+ ]
+ },
+ "LRcoldPressure": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LRcoldPressure",
+ "description": "LR tire cold pressure as set in the garage",
+ "unit": "kPa",
+ "varType": 4,
+ "value": [
+ 158.57901000976562
+ ]
+ },
+ "LRtempCL": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LRtempCL",
+ "description": "LR tire left carcass temperature",
+ "unit": "C",
+ "varType": 4,
+ "value": [
+ 46.224395751953125
+ ]
+ },
+ "LRtempCM": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LRtempCM",
+ "description": "LR tire middle carcass temperature",
+ "unit": "C",
+ "varType": 4,
+ "value": [
+ 52.473297119140625
+ ]
+ },
+ "LRtempCR": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LRtempCR",
+ "description": "LR tire right carcass temperature",
+ "unit": "C",
+ "varType": 4,
+ "value": [
+ 55.096160888671875
+ ]
+ },
+ "LRwearL": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LRwearL",
+ "description": "LR tire left percent tread remaining",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.9973198175430298
+ ]
+ },
+ "LRwearM": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LRwearM",
+ "description": "LR tire middle percent tread remaining",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.9908255338668823
+ ]
+ },
+ "LRwearR": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LRwearR",
+ "description": "LR tire right percent tread remaining",
+ "unit": "%",
+ "varType": 4,
+ "value": [
+ 0.9907817840576172
+ ]
+ },
+ "LRshockDefl": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LRshockDefl",
+ "description": "LR shock deflection",
+ "unit": "m",
+ "varType": 4,
+ "value": [
+ 0.048880159854888916
+ ]
+ },
+ "LRshockDefl_ST": {
+ "countAsTime": true,
+ "length": 6,
+ "name": "LRshockDefl_ST",
+ "description": "LR shock deflection at 360 Hz",
+ "unit": "m",
+ "varType": 4,
+ "value": [
+ 0.0489363968372345,
+ 0.048925697803497314,
+ 0.048914581537246704,
+ 0.04890322685241699,
+ 0.0488915741443634,
+ 0.048880159854888916
+ ]
+ },
+ "LRshockVel": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LRshockVel",
+ "description": "LR shock velocity",
+ "unit": "m/s",
+ "varType": 4,
+ "value": [
+ -0.003934852313250303
+ ]
+ },
+ "LRshockVel_ST": {
+ "countAsTime": true,
+ "length": 6,
+ "name": "LRshockVel_ST",
+ "description": "LR shock velocity at 360 Hz",
+ "unit": "m/s",
+ "varType": 4,
+ "value": [
+ -0.003934259992092848,
+ -0.00395496329292655,
+ -0.004060510080307722,
+ -0.004157243296504021,
+ -0.0041541350074112415,
+ -0.003934852313250303
+ ]
+ },
+ "RRshockDefl": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RRshockDefl",
+ "description": "RR shock deflection",
+ "unit": "m",
+ "varType": 4,
+ "value": [
+ 0.04906588792800903
+ ]
+ },
+ "RRshockDefl_ST": {
+ "countAsTime": true,
+ "length": 6,
+ "name": "RRshockDefl_ST",
+ "description": "RR shock deflection at 360 Hz",
+ "unit": "m",
+ "varType": 4,
+ "value": [
+ 0.04908400774002075,
+ 0.049080491065979004,
+ 0.04907670617103577,
+ 0.049072712659835815,
+ 0.049068957567214966,
+ 0.04906588792800903
+ ]
+ },
+ "RRshockVel": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RRshockVel",
+ "description": "RR shock velocity",
+ "unit": "m/s",
+ "varType": 4,
+ "value": [
+ -0.0009919797303155065
+ ]
+ },
+ "RRshockVel_ST": {
+ "countAsTime": true,
+ "length": 6,
+ "name": "RRshockVel_ST",
+ "description": "RR shock velocity at 360 Hz",
+ "unit": "m/s",
+ "varType": 4,
+ "value": [
+ -0.0012405874440446496,
+ -0.0013344705803319812,
+ -0.0014267974765971303,
+ -0.001405911287292838,
+ -0.001236040610820055,
+ -0.0009919797303155065
+ ]
+ },
+ "LFshockDefl": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LFshockDefl",
+ "description": "LF shock deflection",
+ "unit": "m",
+ "varType": 4,
+ "value": [
+ 0.04764890670776367
+ ]
+ },
+ "LFshockDefl_ST": {
+ "countAsTime": true,
+ "length": 6,
+ "name": "LFshockDefl_ST",
+ "description": "LF shock deflection at 360 Hz",
+ "unit": "m",
+ "varType": 4,
+ "value": [
+ 0.047780841588974,
+ 0.047753602266311646,
+ 0.04772692918777466,
+ 0.04770061373710632,
+ 0.04767462611198425,
+ 0.04764890670776367
+ ]
+ },
+ "LFshockVel": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "LFshockVel",
+ "description": "LF shock velocity",
+ "unit": "m/s",
+ "varType": 4,
+ "value": [
+ -0.009211170487105846
+ ]
+ },
+ "LFshockVel_ST": {
+ "countAsTime": true,
+ "length": 6,
+ "name": "LFshockVel_ST",
+ "description": "LF shock velocity at 360 Hz",
+ "unit": "m/s",
+ "varType": 4,
+ "value": [
+ -0.009732718579471111,
+ -0.00964313093572855,
+ -0.009506264701485634,
+ -0.009412686340510845,
+ -0.009292279370129108,
+ -0.009211170487105846
+ ]
+ },
+ "RFshockDefl": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RFshockDefl",
+ "description": "RF shock deflection",
+ "unit": "m",
+ "varType": 4,
+ "value": [
+ 0.047554850578308105
+ ]
+ },
+ "RFshockDefl_ST": {
+ "countAsTime": true,
+ "length": 6,
+ "name": "RFshockDefl_ST",
+ "description": "RF shock deflection at 360 Hz",
+ "unit": "m",
+ "varType": 4,
+ "value": [
+ 0.047648727893829346,
+ 0.047629207372665405,
+ 0.04761004447937012,
+ 0.04759126901626587,
+ 0.04757291078567505,
+ 0.047554850578308105
+ ]
+ },
+ "RFshockVel": {
+ "countAsTime": false,
+ "length": 1,
+ "name": "RFshockVel",
+ "description": "RF shock velocity",
+ "unit": "m/s",
+ "varType": 4,
+ "value": [
+ -0.006468473467975855
+ ]
+ },
+ "RFshockVel_ST": {
+ "countAsTime": true,
+ "length": 6,
+ "name": "RFshockVel_ST",
+ "description": "RF shock velocity at 360 Hz",
+ "unit": "m/s",
+ "varType": 4,
+ "value": [
+ -0.0070065101608633995,
+ -0.006984491366893053,
+ -0.006851166021078825,
+ -0.006703393999487162,
+ -0.006570478901267052,
+ -0.006468473467975855
+ ]
+ }
+}
\ No newline at end of file
diff --git a/tools/download-track-svgs.ts b/tools/download-track-svgs.ts
new file mode 100644
index 0000000..832e3ad
--- /dev/null
+++ b/tools/download-track-svgs.ts
@@ -0,0 +1,46 @@
+import { readFileSync, existsSync, mkdirSync, writeFileSync } from 'fs';
+
+interface TrackAsset {
+ track_id: string;
+ track_map: string;
+ track_map_layers: Record;
+}
+
+export const downloadTrackSvgs = async () => {
+ const tracks = readFileSync('./asset-data/tracks.json', 'utf8');
+ const cookie = readFileSync('./asset-data/cookie-jar.txt', 'utf8');
+
+ const allTracks: Record = JSON.parse(tracks);
+
+ Object.values(allTracks).forEach(async (track) => {
+ await downloadTrackSvgs(track);
+ });
+
+ async function downloadTrackSvgs(track: TrackAsset) {
+ for (const [, layer] of Object.entries(track.track_map_layers)) {
+ try {
+ console.log(`Downloading ${layer} for track ${track.track_id}`);
+ const response = await fetch(`${track.track_map}${layer}`, {
+ headers: {
+ cookie,
+ },
+ });
+
+ if (!response.ok) {
+ console.log(await response.text());
+ throw new Error('Failed to get track svgs');
+ }
+
+ const data = await response.text();
+
+ if (!existsSync(`./asset-data/${track.track_id}`)) {
+ mkdirSync(`./asset-data/${track.track_id}`, { recursive: true });
+ }
+
+ writeFileSync(`./asset-data/${track.track_id}/${layer}`, data, 'utf8');
+ } catch (error) {
+ console.error(error);
+ }
+ }
+ }
+};
diff --git a/tools/get-flairs.ts b/tools/get-flairs.ts
new file mode 100644
index 0000000..8830ec3
--- /dev/null
+++ b/tools/get-flairs.ts
@@ -0,0 +1,39 @@
+import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'fs';
+
+export const getFlairs = async () => {
+ const cookie = readFileSync('asset-data/cookie-jar.txt', 'utf8');
+ try {
+ const response = await fetch(
+ 'https://members-ng.iracing.com/data/lookup/flairs',
+ {
+ headers: {
+ cookie,
+ },
+ }
+ );
+
+ if (!response.ok) {
+ console.log(await response.text());
+ throw new Error('Failed to get flairs');
+ }
+
+ const data = await response.json();
+ console.log(data);
+
+ const trackResponse = await fetch(data.link);
+
+ if (!trackResponse.ok) {
+ console.log(await trackResponse.text());
+ throw new Error('Failed to get flairs');
+ }
+
+ const trackData = await trackResponse.text();
+ if (!existsSync('asset-data')) {
+ mkdirSync('asset-data');
+ }
+
+ writeFileSync('asset-data/flairs.json', trackData, 'utf8');
+ } catch (error) {
+ console.error(error);
+ }
+};
diff --git a/tools/get-tracks-info.ts b/tools/get-tracks-info.ts
new file mode 100644
index 0000000..83569c9
--- /dev/null
+++ b/tools/get-tracks-info.ts
@@ -0,0 +1,39 @@
+import fs, { existsSync, mkdirSync } from 'fs';
+
+export const getTracksInfo = async () => {
+ const cookie = fs.readFileSync('./asset-data/cookie-jar.txt', 'utf8');
+
+ try {
+ const response = await fetch(
+ 'https://members-ng.iracing.com/data/track/get',
+ {
+ headers: {
+ cookie,
+ },
+ }
+ );
+
+ if (!response.ok) {
+ console.log(await response.text());
+ throw new Error('Failed to get tracks');
+ }
+
+ const data = await response.json();
+ console.log(data);
+
+ const trackResponse = await fetch(data.link);
+
+ if (!trackResponse.ok) {
+ console.log(await trackResponse.text());
+ throw new Error('Failed to get tracks');
+ }
+
+ const trackData = await trackResponse.text();
+ if (!existsSync('./asset-data')) {
+ mkdirSync('./asset-data');
+ }
+ fs.writeFileSync('./asset-data/track-info.json', trackData, 'utf8');
+ } catch (error) {
+ console.error(error);
+ }
+};
diff --git a/tools/get-tracks.ts b/tools/get-tracks.ts
new file mode 100644
index 0000000..5a544a2
--- /dev/null
+++ b/tools/get-tracks.ts
@@ -0,0 +1,39 @@
+import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'fs';
+
+export const getTracks = async () => {
+ const cookie = readFileSync('asset-data/cookie-jar.txt', 'utf8');
+ try {
+ const response = await fetch(
+ 'https://members-ng.iracing.com/data/track/assets',
+ {
+ headers: {
+ cookie,
+ },
+ }
+ );
+
+ if (!response.ok) {
+ console.log(await response.text());
+ throw new Error('Failed to get tracks');
+ }
+
+ const data = await response.json();
+ console.log(data);
+
+ const trackResponse = await fetch(data.link);
+
+ if (!trackResponse.ok) {
+ console.log(await trackResponse.text());
+ throw new Error('Failed to get tracks');
+ }
+
+ const trackData = await trackResponse.text();
+ if (!existsSync('asset-data')) {
+ mkdirSync('asset-data');
+ }
+
+ writeFileSync('asset-data/tracks.json', trackData, 'utf8');
+ } catch (error) {
+ console.error(error);
+ }
+};
diff --git a/tools/index.ts b/tools/index.ts
index 9742717..d31455a 100644
--- a/tools/index.ts
+++ b/tools/index.ts
@@ -1,20 +1,17 @@
-import { syncTrackAssets } from '@iracing-data/sync-track-assets';
+import { downloadTrackSvgs } from './download-track-svgs';
import { generateTrackJson } from './generate-paths-json';
-
-import * as dotenv from 'dotenv';
-dotenv.config();
+import { getFlairs } from './get-flairs';
+import { getTracks } from './get-tracks';
+import { getTracksInfo } from './get-tracks-info';
+import { login } from './login';
const main = async () => {
- await syncTrackAssets({
- outputDir: './asset-data',
- writeFullAssets: true,
- writeFullInfo: true,
- includeSVGs: true,
- });
-
- console.log('Generating track JSON.');
+ await login();
+ await getFlairs();
+ await getTracks();
+ await getTracksInfo();
+ await downloadTrackSvgs();
generateTrackJson();
- console.log('Done!');
};
main();
diff --git a/tools/login.ts b/tools/login.ts
new file mode 100644
index 0000000..3cbeaba
--- /dev/null
+++ b/tools/login.ts
@@ -0,0 +1,52 @@
+import crypto from 'crypto';
+import fs from 'fs';
+import 'dotenv/config';
+
+export const login = async () => {
+ const username = process.env.IRACING_USERNAME;
+ const password = process.env.IRACING_PASSWORD;
+
+ if (!username || !password) {
+ throw new Error(
+ 'Please provide IRACING_USERNAME and IRACING_PASSWORD environment variables.'
+ );
+ }
+
+ const hashPassword = crypto
+ .createHash('sha256')
+ .update(password + username.toLowerCase())
+ .digest('base64');
+
+ try {
+ const response = await fetch('https://members-ng.iracing.com/auth', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ body: JSON.stringify({
+ email: username,
+ password: hashPassword,
+ }),
+ });
+
+ if (response.ok) {
+ const setCookieHeader = response.headers.getSetCookie();
+ if (setCookieHeader) {
+ // concat multiple cookies
+ const setCookie = setCookieHeader.join('; ');
+
+ // Save the cookie to the cookie-jar.txt file
+ fs.mkdirSync('./asset-data', { recursive: true });
+ fs.writeFileSync('./asset-data/cookie-jar.txt', setCookie, 'utf8');
+ console.log('Cookie saved to cookie-jar.txt');
+ }
+
+ const data = await response.text();
+ console.log(data);
+ } else {
+ throw new Error('Failed to login');
+ }
+ } catch (error) {
+ console.error(error);
+ }
+};