Merge "Fix bitmask arithmetic to match up with decoding."
diff --git a/car-lib/src/android/car/hardware/CarDiagnosticEvent.java b/car-lib/src/android/car/hardware/CarDiagnosticEvent.java
index b970b23..303ad53 100644
--- a/car-lib/src/android/car/hardware/CarDiagnosticEvent.java
+++ b/car-lib/src/android/car/hardware/CarDiagnosticEvent.java
@@ -21,8 +21,10 @@
import android.car.annotation.FutureFeature;
import android.os.Parcel;
import android.os.Parcelable;
+import android.util.JsonWriter;
import android.util.SparseArray;
import android.util.SparseIntArray;
+import java.io.IOException;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Objects;
@@ -78,7 +80,7 @@
int value = in.readInt();
intValues.put(key, value);
}
- dtc = (String)in.readValue(String.class.getClassLoader());
+ dtc = (String) in.readValue(String.class.getClassLoader());
// version 1 up to here
}
@@ -106,6 +108,48 @@
dest.writeValue(dtc);
}
+ public void writeToJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.beginObject();
+
+ jsonWriter.name("type");
+ switch (frameType) {
+ case CarDiagnosticManager.FRAME_TYPE_FLAG_LIVE:
+ jsonWriter.value("live");
+ break;
+ case CarDiagnosticManager.FRAME_TYPE_FLAG_FREEZE:
+ jsonWriter.value("freeze");
+ break;
+ default:
+ throw new IllegalStateException("unknown frameType " + frameType);
+ }
+
+ jsonWriter.name("timestamp").value(timestamp);
+
+ jsonWriter.name("intValues").beginArray();
+ for (int i = 0; i < intValues.size(); ++i) {
+ jsonWriter.beginObject();
+ jsonWriter.name("id").value(intValues.keyAt(i));
+ jsonWriter.name("value").value(intValues.valueAt(i));
+ jsonWriter.endObject();
+ }
+ jsonWriter.endArray();
+
+ jsonWriter.name("floatValues").beginArray();
+ for (int i = 0; i < floatValues.size(); ++i) {
+ jsonWriter.beginObject();
+ jsonWriter.name("id").value(floatValues.keyAt(i));
+ jsonWriter.name("value").value(floatValues.valueAt(i));
+ jsonWriter.endObject();
+ }
+ jsonWriter.endArray();
+
+ if (dtc != null) {
+ jsonWriter.name("stringValue").value(dtc);
+ }
+
+ jsonWriter.endObject();
+ }
+
public static final Parcelable.Creator<CarDiagnosticEvent> CREATOR =
new Parcelable.Creator<CarDiagnosticEvent>() {
public CarDiagnosticEvent createFromParcel(Parcel in) {
@@ -176,18 +220,19 @@
/**
* Returns a copy of this CarDiagnosticEvent with all vendor-specific sensors removed.
+ *
* @hide
*/
public CarDiagnosticEvent withVendorSensorsRemoved() {
SparseIntArray newIntValues = intValues.clone();
SparseArray<Float> newFloatValues = floatValues.clone();
- for(int i = 0; i < intValues.size(); ++i) {
+ for (int i = 0; i < intValues.size(); ++i) {
int key = intValues.keyAt(i);
if (key >= CarDiagnosticSensorIndices.Obd2IntegerSensorIndex.LAST_SYSTEM) {
newIntValues.delete(key);
}
}
- for(int i = 0; i < floatValues.size(); ++i) {
+ for (int i = 0; i < floatValues.size(); ++i) {
int key = floatValues.keyAt(i);
if (key >= CarDiagnosticSensorIndices.Obd2FloatSensorIndex.LAST_SYSTEM) {
newFloatValues.delete(key);
@@ -244,11 +289,13 @@
floatValues.toString());
}
- public int getSystemIntegerSensor(@CarDiagnosticSensorIndices.IntegerSensorIndex int sensor, int defaultValue) {
+ public int getSystemIntegerSensor(
+ @CarDiagnosticSensorIndices.IntegerSensorIndex int sensor, int defaultValue) {
return intValues.get(sensor, defaultValue);
}
- public float getSystemFloatSensor(@CarDiagnosticSensorIndices.FloatSensorIndex int sensor, float defaultValue) {
+ public float getSystemFloatSensor(
+ @CarDiagnosticSensorIndices.FloatSensorIndex int sensor, float defaultValue) {
return floatValues.get(sensor, defaultValue);
}
@@ -260,33 +307,35 @@
return floatValues.get(sensor, defaultValue);
}
- public @Nullable Integer getSystemIntegerSensor(@CarDiagnosticSensorIndices.IntegerSensorIndex int sensor) {
+ public @Nullable Integer getSystemIntegerSensor(
+ @CarDiagnosticSensorIndices.IntegerSensorIndex int sensor) {
int index = intValues.indexOfKey(sensor);
- if(index < 0) return null;
+ if (index < 0) return null;
return intValues.valueAt(index);
}
- public @Nullable Float getSystemFloatSensor(@CarDiagnosticSensorIndices.FloatSensorIndex int sensor) {
+ public @Nullable Float getSystemFloatSensor(
+ @CarDiagnosticSensorIndices.FloatSensorIndex int sensor) {
int index = floatValues.indexOfKey(sensor);
- if(index < 0) return null;
+ if (index < 0) return null;
return floatValues.valueAt(index);
}
public @Nullable Integer getVendorIntegerSensor(int sensor) {
int index = intValues.indexOfKey(sensor);
- if(index < 0) return null;
+ if (index < 0) return null;
return intValues.valueAt(index);
}
public @Nullable Float getVendorFloatSensor(int sensor) {
int index = floatValues.indexOfKey(sensor);
- if(index < 0) return null;
+ if (index < 0) return null;
return floatValues.valueAt(index);
}
/**
- * Represents possible states of the fuel system;
- * see {@link CarDiagnosticSensorIndices.Obd2IntegerSensorIndex#FUEL_SYSTEM_STATUS}
+ * Represents possible states of the fuel system; see {@link
+ * CarDiagnosticSensorIndices.Obd2IntegerSensorIndex#FUEL_SYSTEM_STATUS}
*/
public static final class FuelSystemStatus {
private FuelSystemStatus() {}
@@ -309,8 +358,8 @@
}
/**
- * Represents possible states of the secondary air system;
- * see {@link CarDiagnosticSensorIndices.Obd2IntegerSensorIndex#COMMANDED_SECONDARY_AIR_STATUS}
+ * Represents possible states of the secondary air system; see {@link
+ * CarDiagnosticSensorIndices.Obd2IntegerSensorIndex#COMMANDED_SECONDARY_AIR_STATUS}
*/
public static final class SecondaryAirStatus {
private SecondaryAirStatus() {}
@@ -331,8 +380,8 @@
}
/**
- * Represents possible types of fuel;
- * see {@link CarDiagnosticSensorIndices.Obd2IntegerSensorIndex#FUEL_TYPE}
+ * Represents possible types of fuel; see {@link
+ * CarDiagnosticSensorIndices.Obd2IntegerSensorIndex#FUEL_TYPE}
*/
public static final class FuelType {
private FuelType() {}
@@ -393,9 +442,9 @@
}
/**
- * Represents possible states of the ignition monitors on the vehicle;
- * see {@link CarDiagnosticSensorIndices.Obd2IntegerSensorIndex#IGNITION_MONITORS_SUPPORTED}
- * see {@link CarDiagnosticSensorIndices.Obd2IntegerSensorIndex#IGNITION_SPECIFIC_MONITORS}
+ * Represents possible states of the ignition monitors on the vehicle; see {@link
+ * CarDiagnosticSensorIndices.Obd2IntegerSensorIndex#IGNITION_MONITORS_SUPPORTED} see {@link
+ * CarDiagnosticSensorIndices.Obd2IntegerSensorIndex#IGNITION_SPECIFIC_MONITORS}
*/
public static final class IgnitionMonitors {
public static final class IgnitionMonitor {
@@ -407,26 +456,16 @@
this.incomplete = incomplete;
}
- public static final class Builder {
- private int mAvailableBitmask;
- private int mIncompleteBitmask;
+ public static final class Decoder {
+ private final int mAvailableBitmask;
+ private final int mIncompleteBitmask;
- Builder() {
- mAvailableBitmask = 0;
- mIncompleteBitmask = 0;
+ Decoder(int availableBitmask, int incompleteBitmask) {
+ mAvailableBitmask = availableBitmask;
+ mIncompleteBitmask = incompleteBitmask;
}
- public Builder withAvailableBitmask(int bitmask) {
- mAvailableBitmask = bitmask;
- return this;
- }
-
- public Builder withIncompleteBitmask(int bitmask) {
- mIncompleteBitmask = bitmask;
- return this;
- }
-
- public IgnitionMonitor buildForValue(int value) {
+ public IgnitionMonitor fromValue(int value) {
boolean available = (0 != (value & mAvailableBitmask));
boolean incomplete = (0 != (value & mIncompleteBitmask));
@@ -449,36 +488,29 @@
static final int MISFIRE_AVAILABLE = 0x1 << 4;
static final int MISFIRE_INCOMPLETE = 0x1 << 5;
- static final IgnitionMonitor.Builder COMPONENTS_BUILDER =
- new IgnitionMonitor.Builder()
- .withAvailableBitmask(COMPONENTS_AVAILABLE)
- .withIncompleteBitmask(COMPONENTS_INCOMPLETE);
+ static final IgnitionMonitor.Decoder COMPONENTS_DECODER =
+ new IgnitionMonitor.Decoder(COMPONENTS_AVAILABLE, COMPONENTS_INCOMPLETE);
- static final IgnitionMonitor.Builder FUEL_SYSTEM_BUILDER =
- new IgnitionMonitor.Builder()
- .withAvailableBitmask(FUEL_SYSTEM_AVAILABLE)
- .withIncompleteBitmask(FUEL_SYSTEM_INCOMPLETE);
+ static final IgnitionMonitor.Decoder FUEL_SYSTEM_DECODER =
+ new IgnitionMonitor.Decoder(FUEL_SYSTEM_AVAILABLE, FUEL_SYSTEM_INCOMPLETE);
- static final IgnitionMonitor.Builder MISFIRE_BUILDER =
- new IgnitionMonitor.Builder()
- .withAvailableBitmask(MISFIRE_AVAILABLE)
- .withIncompleteBitmask(MISFIRE_INCOMPLETE);
+ static final IgnitionMonitor.Decoder MISFIRE_DECODER =
+ new IgnitionMonitor.Decoder(MISFIRE_AVAILABLE, MISFIRE_INCOMPLETE);
CommonIgnitionMonitors(int bitmask) {
- components = COMPONENTS_BUILDER.buildForValue(bitmask);
- fuelSystem = FUEL_SYSTEM_BUILDER.buildForValue(bitmask);
- misfire = MISFIRE_BUILDER.buildForValue(bitmask);
+ components = COMPONENTS_DECODER.fromValue(bitmask);
+ fuelSystem = FUEL_SYSTEM_DECODER.fromValue(bitmask);
+ misfire = MISFIRE_DECODER.fromValue(bitmask);
}
public @Nullable SparkIgnitionMonitors asSparkIgnitionMonitors() {
- if (this instanceof SparkIgnitionMonitors)
- return (SparkIgnitionMonitors)this;
+ if (this instanceof SparkIgnitionMonitors) return (SparkIgnitionMonitors) this;
return null;
}
public @Nullable CompressionIgnitionMonitors asCompressionIgnitionMonitors() {
if (this instanceof CompressionIgnitionMonitors)
- return (CompressionIgnitionMonitors)this;
+ return (CompressionIgnitionMonitors) this;
return null;
}
}
@@ -517,56 +549,45 @@
static final int CATALYST_AVAILABLE = 0x1 << 20;
static final int CATALYST_INCOMPLETE = 0x1 << 21;
- static final IgnitionMonitor.Builder EGR_BUILDER =
- new IgnitionMonitor.Builder()
- .withAvailableBitmask(EGR_AVAILABLE)
- .withIncompleteBitmask(EGR_INCOMPLETE);
+ static final IgnitionMonitor.Decoder EGR_DECODER =
+ new IgnitionMonitor.Decoder(EGR_AVAILABLE, EGR_INCOMPLETE);
- static final IgnitionMonitor.Builder OXYGEN_SENSOR_HEATER_BUILDER =
- new IgnitionMonitor.Builder()
- .withAvailableBitmask(OXYGEN_SENSOR_HEATER_AVAILABLE)
- .withIncompleteBitmask(OXYGEN_SENSOR_HEATER_INCOMPLETE);
+ static final IgnitionMonitor.Decoder OXYGEN_SENSOR_HEATER_DECODER =
+ new IgnitionMonitor.Decoder(OXYGEN_SENSOR_HEATER_AVAILABLE,
+ OXYGEN_SENSOR_HEATER_INCOMPLETE);
- static final IgnitionMonitor.Builder OXYGEN_SENSOR_BUILDER =
- new IgnitionMonitor.Builder()
- .withAvailableBitmask(OXYGEN_SENSOR_AVAILABLE)
- .withIncompleteBitmask(OXYGEN_SENSOR_INCOMPLETE);
+ static final IgnitionMonitor.Decoder OXYGEN_SENSOR_DECODER =
+ new IgnitionMonitor.Decoder(OXYGEN_SENSOR_AVAILABLE, OXYGEN_SENSOR_INCOMPLETE);
- static final IgnitionMonitor.Builder AC_REFRIGERANT_BUILDER =
- new IgnitionMonitor.Builder()
- .withAvailableBitmask(AC_REFRIGERANT_AVAILABLE)
- .withIncompleteBitmask(AC_REFRIGERANT_INCOMPLETE);
+ static final IgnitionMonitor.Decoder AC_REFRIGERANT_DECODER =
+ new IgnitionMonitor.Decoder(AC_REFRIGERANT_AVAILABLE,
+ AC_REFRIGERANT_INCOMPLETE);
- static final IgnitionMonitor.Builder SECONDARY_AIR_SYSTEM_BUILDER =
- new IgnitionMonitor.Builder()
- .withAvailableBitmask(SECONDARY_AIR_SYSTEM_AVAILABLE)
- .withIncompleteBitmask(SECONDARY_AIR_SYSTEM_INCOMPLETE);
+ static final IgnitionMonitor.Decoder SECONDARY_AIR_SYSTEM_DECODER =
+ new IgnitionMonitor.Decoder(SECONDARY_AIR_SYSTEM_AVAILABLE,
+ SECONDARY_AIR_SYSTEM_INCOMPLETE);
- static final IgnitionMonitor.Builder EVAPORATIVE_SYSTEM_BUILDER =
- new IgnitionMonitor.Builder()
- .withAvailableBitmask(EVAPORATIVE_SYSTEM_AVAILABLE)
- .withIncompleteBitmask(EVAPORATIVE_SYSTEM_INCOMPLETE);
+ static final IgnitionMonitor.Decoder EVAPORATIVE_SYSTEM_DECODER =
+ new IgnitionMonitor.Decoder(EVAPORATIVE_SYSTEM_AVAILABLE,
+ EVAPORATIVE_SYSTEM_INCOMPLETE);
- static final IgnitionMonitor.Builder HEATED_CATALYST_BUILDER =
- new IgnitionMonitor.Builder()
- .withAvailableBitmask(HEATED_CATALYST_AVAILABLE)
- .withIncompleteBitmask(HEATED_CATALYST_INCOMPLETE);
+ static final IgnitionMonitor.Decoder HEATED_CATALYST_DECODER =
+ new IgnitionMonitor.Decoder(HEATED_CATALYST_AVAILABLE,
+ HEATED_CATALYST_INCOMPLETE);
- static final IgnitionMonitor.Builder CATALYST_BUILDER =
- new IgnitionMonitor.Builder()
- .withAvailableBitmask(CATALYST_AVAILABLE)
- .withIncompleteBitmask(CATALYST_INCOMPLETE);
+ static final IgnitionMonitor.Decoder CATALYST_DECODER =
+ new IgnitionMonitor.Decoder(CATALYST_AVAILABLE, CATALYST_INCOMPLETE);
SparkIgnitionMonitors(int bitmask) {
super(bitmask);
- EGR = EGR_BUILDER.buildForValue(bitmask);
- oxygenSensorHeater = OXYGEN_SENSOR_HEATER_BUILDER.buildForValue(bitmask);
- oxygenSensor = OXYGEN_SENSOR_BUILDER.buildForValue(bitmask);
- ACRefrigerant = AC_REFRIGERANT_BUILDER.buildForValue(bitmask);
- secondaryAirSystem = SECONDARY_AIR_SYSTEM_BUILDER.buildForValue(bitmask);
- evaporativeSystem = EVAPORATIVE_SYSTEM_BUILDER.buildForValue(bitmask);
- heatedCatalyst = HEATED_CATALYST_BUILDER.buildForValue(bitmask);
- catalyst = CATALYST_BUILDER.buildForValue(bitmask);
+ EGR = EGR_DECODER.fromValue(bitmask);
+ oxygenSensorHeater = OXYGEN_SENSOR_HEATER_DECODER.fromValue(bitmask);
+ oxygenSensor = OXYGEN_SENSOR_DECODER.fromValue(bitmask);
+ ACRefrigerant = AC_REFRIGERANT_DECODER.fromValue(bitmask);
+ secondaryAirSystem = SECONDARY_AIR_SYSTEM_DECODER.fromValue(bitmask);
+ evaporativeSystem = EVAPORATIVE_SYSTEM_DECODER.fromValue(bitmask);
+ heatedCatalyst = HEATED_CATALYST_DECODER.fromValue(bitmask);
+ catalyst = CATALYST_DECODER.fromValue(bitmask);
}
}
@@ -596,69 +617,66 @@
static final int NMHC_CATALYST_AVAILABLE = 0x1 << 16;
static final int NMHC_CATALYST_INCOMPLETE = 0x1 << 17;
- static final IgnitionMonitor.Builder EGR_OR_VVT_BUILDER =
- new IgnitionMonitor.Builder()
- .withAvailableBitmask(EGR_OR_VVT_AVAILABLE)
- .withIncompleteBitmask(EGR_OR_VVT_INCOMPLETE);
+ static final IgnitionMonitor.Decoder EGR_OR_VVT_DECODER =
+ new IgnitionMonitor.Decoder(EGR_OR_VVT_AVAILABLE, EGR_OR_VVT_INCOMPLETE);
- static final IgnitionMonitor.Builder PM_FILTER_BUILDER =
- new IgnitionMonitor.Builder()
- .withAvailableBitmask(PM_FILTER_AVAILABLE)
- .withIncompleteBitmask(PM_FILTER_INCOMPLETE);
+ static final IgnitionMonitor.Decoder PM_FILTER_DECODER =
+ new IgnitionMonitor.Decoder(PM_FILTER_AVAILABLE, PM_FILTER_INCOMPLETE);
- static final IgnitionMonitor.Builder EXHAUST_GAS_SENSOR_BUILDER =
- new IgnitionMonitor.Builder()
- .withAvailableBitmask(EXHAUST_GAS_SENSOR_AVAILABLE)
- .withIncompleteBitmask(EXHAUST_GAS_SENSOR_INCOMPLETE);
+ static final IgnitionMonitor.Decoder EXHAUST_GAS_SENSOR_DECODER =
+ new IgnitionMonitor.Decoder(EXHAUST_GAS_SENSOR_AVAILABLE,
+ EXHAUST_GAS_SENSOR_INCOMPLETE);
- static final IgnitionMonitor.Builder BOOST_PRESSURE_BUILDER =
- new IgnitionMonitor.Builder()
- .withAvailableBitmask(BOOST_PRESSURE_AVAILABLE)
- .withIncompleteBitmask(BOOST_PRESSURE_INCOMPLETE);
+ static final IgnitionMonitor.Decoder BOOST_PRESSURE_DECODER =
+ new IgnitionMonitor.Decoder(BOOST_PRESSURE_AVAILABLE,
+ BOOST_PRESSURE_INCOMPLETE);
- static final IgnitionMonitor.Builder NOx_SCR_BUILDER =
- new IgnitionMonitor.Builder()
- .withAvailableBitmask(NOx_SCR_AVAILABLE)
- .withIncompleteBitmask(NOx_SCR_INCOMPLETE);
+ static final IgnitionMonitor.Decoder NOx_SCR_DECODER =
+ new IgnitionMonitor.Decoder(NOx_SCR_AVAILABLE, NOx_SCR_INCOMPLETE);
- static final IgnitionMonitor.Builder NMHC_CATALYST_BUILDER =
- new IgnitionMonitor.Builder()
- .withAvailableBitmask(NMHC_CATALYST_AVAILABLE)
- .withIncompleteBitmask(NMHC_CATALYST_INCOMPLETE);
+ static final IgnitionMonitor.Decoder NMHC_CATALYST_DECODER =
+ new IgnitionMonitor.Decoder(NMHC_CATALYST_AVAILABLE, NMHC_CATALYST_INCOMPLETE);
CompressionIgnitionMonitors(int bitmask) {
super(bitmask);
- EGROrVVT = EGR_OR_VVT_BUILDER.buildForValue(bitmask);
- PMFilter = PM_FILTER_BUILDER.buildForValue(bitmask);
- exhaustGasSensor = EXHAUST_GAS_SENSOR_BUILDER.buildForValue(bitmask);
- boostPressure = BOOST_PRESSURE_BUILDER.buildForValue(bitmask);
- NOxSCR = NOx_SCR_BUILDER.buildForValue(bitmask);
- NMHCCatalyst = NMHC_CATALYST_BUILDER.buildForValue(bitmask);
+ EGROrVVT = EGR_OR_VVT_DECODER.fromValue(bitmask);
+ PMFilter = PM_FILTER_DECODER.fromValue(bitmask);
+ exhaustGasSensor = EXHAUST_GAS_SENSOR_DECODER.fromValue(bitmask);
+ boostPressure = BOOST_PRESSURE_DECODER.fromValue(bitmask);
+ NOxSCR = NOx_SCR_DECODER.fromValue(bitmask);
+ NMHCCatalyst = NMHC_CATALYST_DECODER.fromValue(bitmask);
}
}
}
public @Nullable @FuelSystemStatus.Status Integer getFuelSystemStatus() {
- return getSystemIntegerSensor(CarDiagnosticSensorIndices.Obd2IntegerSensorIndex.FUEL_SYSTEM_STATUS);
+ return getSystemIntegerSensor(
+ CarDiagnosticSensorIndices.Obd2IntegerSensorIndex.FUEL_SYSTEM_STATUS);
}
public @Nullable @SecondaryAirStatus.Status Integer getSecondaryAirStatus() {
- return getSystemIntegerSensor(CarDiagnosticSensorIndices.Obd2IntegerSensorIndex.COMMANDED_SECONDARY_AIR_STATUS);
+ return getSystemIntegerSensor(
+ CarDiagnosticSensorIndices.Obd2IntegerSensorIndex.COMMANDED_SECONDARY_AIR_STATUS);
}
public @Nullable IgnitionMonitors.CommonIgnitionMonitors getIgnitionMonitors() {
- Integer ignitionMonitorsType = getSystemIntegerSensor(
- CarDiagnosticSensorIndices.Obd2IntegerSensorIndex.IGNITION_MONITORS_SUPPORTED);
- Integer ignitionMonitorsBitmask = getSystemIntegerSensor(
- CarDiagnosticSensorIndices.Obd2IntegerSensorIndex.IGNITION_SPECIFIC_MONITORS);
+ Integer ignitionMonitorsType =
+ getSystemIntegerSensor(
+ CarDiagnosticSensorIndices.Obd2IntegerSensorIndex
+ .IGNITION_MONITORS_SUPPORTED);
+ Integer ignitionMonitorsBitmask =
+ getSystemIntegerSensor(
+ CarDiagnosticSensorIndices.Obd2IntegerSensorIndex
+ .IGNITION_SPECIFIC_MONITORS);
if (null == ignitionMonitorsType) return null;
if (null == ignitionMonitorsBitmask) return null;
switch (ignitionMonitorsType) {
- case 0: return new IgnitionMonitors.SparkIgnitionMonitors(
- ignitionMonitorsBitmask);
- case 1: return new IgnitionMonitors.CompressionIgnitionMonitors(
- ignitionMonitorsBitmask);
- default: return null;
+ case 0:
+ return new IgnitionMonitors.SparkIgnitionMonitors(ignitionMonitorsBitmask);
+ case 1:
+ return new IgnitionMonitors.CompressionIgnitionMonitors(ignitionMonitorsBitmask);
+ default:
+ return null;
}
}
diff --git a/evs/app/EvsStateControl.cpp b/evs/app/EvsStateControl.cpp
index abed1e5..ec29e39 100644
--- a/evs/app/EvsStateControl.cpp
+++ b/evs/app/EvsStateControl.cpp
@@ -21,7 +21,7 @@
#include <stdio.h>
#include <string.h>
-#include <android/log.h>
+#include <log/log.h>
// TODO: Seems like it'd be nice if the Vehicle HAL provided such helpers (but how & where?)
diff --git a/obd2-lib/src/com/android/car/obd2/Obd2LiveFrameGenerator.java b/obd2-lib/src/com/android/car/obd2/Obd2LiveFrameGenerator.java
index 3fffd22..26f408f 100644
--- a/obd2-lib/src/com/android/car/obd2/Obd2LiveFrameGenerator.java
+++ b/obd2-lib/src/com/android/car/obd2/Obd2LiveFrameGenerator.java
@@ -27,7 +27,7 @@
import java.util.Set;
public class Obd2LiveFrameGenerator {
- public static final int FRAME_TYPE_LIVE = 1;
+ public static final String FRAME_TYPE_LIVE = "live";
public static final String TAG = Obd2LiveFrameGenerator.class.getSimpleName();
private final Obd2Connection mConnection;
diff --git a/tests/EmbeddedKitchenSinkApp/res/drawable/ic_voice_assistant_mic.xml b/tests/EmbeddedKitchenSinkApp/res/drawable/ic_voice_assistant_mic.xml
new file mode 100644
index 0000000..0468870
--- /dev/null
+++ b/tests/EmbeddedKitchenSinkApp/res/drawable/ic_voice_assistant_mic.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (c) 2017, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+*/
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
+ <path
+ android:fillColor="#000000"
+ android:pathData="M12 14c1.66 0 2.99-1.34 2.99-3L15 5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3
+3 3zm5.3-3c0 3-2.54 5.1-5.3 5.1S6.7 14 6.7 11H5c0 3.41 2.72 6.23 6
+6.72V21h2v-3.28c3.28-.48 6-3.3 6-6.72h-1.7z" />
+ <path
+ android:pathData="M0 0h24v24H0z" />
+</vector>
diff --git a/tests/EmbeddedKitchenSinkApp/res/layout/kitchen_content.xml b/tests/EmbeddedKitchenSinkApp/res/layout/kitchen_content.xml
index 53a3042..14c3ef7 100644
--- a/tests/EmbeddedKitchenSinkApp/res/layout/kitchen_content.xml
+++ b/tests/EmbeddedKitchenSinkApp/res/layout/kitchen_content.xml
@@ -6,4 +6,10 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingStart="56dp"
- android:paddingTop="@dimen/lens_header_height" />
\ No newline at end of file
+ android:paddingTop="@dimen/lens_header_height">
+ <ImageView
+ android:id="@+id/voice_button"
+ android:layout_gravity="center"
+ android:src="@drawable/ic_voice_assistant_mic"
+ style="@style/OverviewButton"/>
+</FrameLayout>
\ No newline at end of file
diff --git a/tests/EmbeddedKitchenSinkApp/res/values/colors.xml b/tests/EmbeddedKitchenSinkApp/res/values/colors.xml
new file mode 100644
index 0000000..9a1ed89
--- /dev/null
+++ b/tests/EmbeddedKitchenSinkApp/res/values/colors.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (c) 2017, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+*/
+-->
+<resources>
+ <color name="car_button_tint">#fffafafa</color>
+</resources>
\ No newline at end of file
diff --git a/tests/EmbeddedKitchenSinkApp/res/values/dimens.xml b/tests/EmbeddedKitchenSinkApp/res/values/dimens.xml
index e5b2ece..5057d18 100644
--- a/tests/EmbeddedKitchenSinkApp/res/values/dimens.xml
+++ b/tests/EmbeddedKitchenSinkApp/res/values/dimens.xml
@@ -23,4 +23,5 @@
<dimen name="rvcTvHeight">80dp</dimen>
<dimen name="radioInfoMargin">5dp</dimen>
<dimen name="sensorInfoMargin">5dp</dimen>
+ <dimen name="overview_icon_size">72dp</dimen>
</resources>
diff --git a/tests/EmbeddedKitchenSinkApp/res/values/strings.xml b/tests/EmbeddedKitchenSinkApp/res/values/strings.xml
index a3f45a0..e9214d9 100644
--- a/tests/EmbeddedKitchenSinkApp/res/values/strings.xml
+++ b/tests/EmbeddedKitchenSinkApp/res/values/strings.xml
@@ -237,4 +237,7 @@
<string name="usb_pref_delete_yes">Yes</string>
<string name="usb_pref_delete_cancel">Cancel</string>
<string name="usb_resolving_handlers">Getting supported handlers</string>
+
+ <!-- Action to start assistant activity -->
+ <string name="assistant_activity_action" translatable="false">"com.google.android.demandspace.START"</string>
</resources>
diff --git a/tests/EmbeddedKitchenSinkApp/res/values/styles.xml b/tests/EmbeddedKitchenSinkApp/res/values/styles.xml
new file mode 100644
index 0000000..75cdb36
--- /dev/null
+++ b/tests/EmbeddedKitchenSinkApp/res/values/styles.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (c) 2017, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+*/
+-->
+<resources>
+ <style name="OverviewButton">
+ <item name="android:layout_width">@dimen/overview_icon_size</item>
+ <item name="android:layout_height">@dimen/overview_icon_size</item>
+ <item name="android:padding">6dp</item>
+ <item name="android:background">?android:attr/selectableItemBackgroundBorderless</item>
+ <item name="android:tint">@color/car_button_tint</item>
+ <item name="android:scaleType">fitCenter</item>
+ <item name="android:clickable">true</item>
+ </style>
+</resources>
\ No newline at end of file
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/KitchenSinkActivity.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/KitchenSinkActivity.java
index 98bfc21..11e5841 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/KitchenSinkActivity.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/KitchenSinkActivity.java
@@ -27,11 +27,14 @@
import android.support.car.hardware.CarSensorManager;
import android.support.v4.app.Fragment;
import android.util.Log;
+import android.view.HapticFeedbackConstants;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.Toast;
import com.android.car.app.CarDrawerActivity;
import com.android.car.app.CarDrawerAdapter;
import com.android.car.app.DrawerItemViewHolder;
-
import com.google.android.car.kitchensink.audio.AudioTestFragment;
import com.google.android.car.kitchensink.bluetooth.BluetoothHeadsetFragment;
import com.google.android.car.kitchensink.bluetooth.MapMceTestFragment;
@@ -84,6 +87,7 @@
private OrientationTestFragment mOrientationFragment;
private MapMceTestFragment mMapMceTestFragment;
private BluetoothHeadsetFragment mBluetoothHeadsetFragement;
+ private ImageView mMic;
private final CarSensorManager.OnSensorChangedListener mListener = (manager, event) -> {
switch (event.sensorType) {
@@ -102,6 +106,22 @@
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setMainContent(R.layout.kitchen_content);
+ mMic = (ImageView) findViewById(R.id.voice_button);
+ mMic.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ v.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);
+ Intent intent = new Intent();
+ intent.setAction(
+ KitchenSinkActivity.this.getString(R.string.assistant_activity_action));
+ if (intent.resolveActivity(getPackageManager()) != null) {
+ startActivity(intent);
+ } else {
+ Toast.makeText(KitchenSinkActivity.this,
+ "Assistant app is not available.", Toast.LENGTH_SHORT).show();
+ }
+ }
+ });
// Connection to Car Service does not work for non-automotive yet.
if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE)) {
diff --git a/tests/carservice_test/src/com/android/car/test/CarDiagnosticManagerTest.java b/tests/carservice_test/src/com/android/car/test/CarDiagnosticManagerTest.java
index 6562542..583c36a 100644
--- a/tests/carservice_test/src/com/android/car/test/CarDiagnosticManagerTest.java
+++ b/tests/carservice_test/src/com/android/car/test/CarDiagnosticManagerTest.java
@@ -33,11 +33,16 @@
import android.hardware.automotive.vehicle.V2_1.VehicleProperty;
import android.os.SystemClock;
import android.test.suitebuilder.annotation.MediumTest;
+import android.util.JsonReader;
+import android.util.JsonWriter;
import android.util.Log;
import com.android.car.internal.FeatureConfiguration;
import com.android.car.vehiclehal.DiagnosticEventBuilder;
+import com.android.car.vehiclehal.DiagnosticJson;
import com.android.car.vehiclehal.VehiclePropValueBuilder;
import com.android.car.vehiclehal.test.MockedVehicleHal.VehicleHalPropertyHandler;
+import java.io.StringReader;
+import java.io.StringWriter;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
@@ -532,6 +537,59 @@
assertEquals(FuelType.BIFUEL_RUNNING_LPG, liveFrame.getFuelType().intValue());
}
+ public void testDiagnosticJson() throws Exception {
+ if (!isFeatureEnabled()) {
+ Log.i(TAG, "skipping testDiagnosticJson as diagnostics API is not enabled");
+ return;
+ }
+
+ Listener listener = new Listener();
+ mCarDiagnosticManager.registerListener(
+ listener,
+ CarDiagnosticManager.FRAME_TYPE_FLAG_LIVE,
+ android.car.hardware.CarSensorManager.SENSOR_RATE_NORMAL);
+
+ mLiveFrameEventBuilder.addIntSensor(Obd2IntegerSensorIndex.ENGINE_OIL_TEMPERATURE, 74);
+ mLiveFrameEventBuilder.addFloatSensor(Obd2FloatSensorIndex.OXYGEN_SENSOR1_VOLTAGE, 0.125f);
+
+ long timestamp = SystemClock.elapsedRealtimeNanos();
+ getMockedVehicleHal().injectEvent(mLiveFrameEventBuilder.build(timestamp));
+
+ assertTrue(listener.waitForEvent(timestamp));
+
+ CarDiagnosticEvent liveFrame = listener.getLastEvent();
+ assertNotNull(liveFrame);
+
+ assertEquals(
+ 74,
+ liveFrame
+ .getSystemIntegerSensor(Obd2IntegerSensorIndex.ENGINE_OIL_TEMPERATURE)
+ .intValue());
+ assertEquals(
+ 0.125f,
+ liveFrame.getSystemFloatSensor(Obd2FloatSensorIndex.OXYGEN_SENSOR1_VOLTAGE));
+
+ StringWriter stringWriter = new StringWriter();
+ JsonWriter jsonWriter = new JsonWriter(stringWriter);
+
+ liveFrame.writeToJson(jsonWriter);
+ jsonWriter.flush();
+
+ StringReader stringReader = new StringReader(stringWriter.toString());
+ JsonReader jsonReader = new JsonReader(stringReader);
+ DiagnosticJson diagnosticJson = DiagnosticJson.build(jsonReader);
+
+ assertEquals(
+ 74,
+ diagnosticJson
+ .intValues
+ .get(Obd2IntegerSensorIndex.ENGINE_OIL_TEMPERATURE)
+ .intValue());
+ assertEquals(
+ 0.125f,
+ diagnosticJson.floatValues.get(Obd2FloatSensorIndex.OXYGEN_SENSOR1_VOLTAGE));
+ }
+
public void testMultipleListeners() throws Exception {
if (!isFeatureEnabled()) {
Log.i(TAG, "skipping testMultipleListeners as diagnostics API is not enabled");
diff --git a/tools/bootanalyze/Android.mk b/tools/bootanalyze/Android.mk
new file mode 100644
index 0000000..5df0dd8
--- /dev/null
+++ b/tools/bootanalyze/Android.mk
@@ -0,0 +1,20 @@
+# Copyright (C) 2017 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#
+
+LOCAL_PATH := $(call my-dir)
+
+# Include the sub-makefiles
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tools/emulator/VehicleHalProto_pb2.py b/tools/emulator/VehicleHalProto_pb2.py
index aaad547..f972126 100644
--- a/tools/emulator/VehicleHalProto_pb2.py
+++ b/tools/emulator/VehicleHalProto_pb2.py
@@ -1,20 +1,28 @@
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: VehicleHalProto.proto
+import sys
+_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
+from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)
+_sym_db = _symbol_database.Default()
+
DESCRIPTOR = _descriptor.FileDescriptor(
name='VehicleHalProto.proto',
package='emulator',
- serialized_pb='\n\x15VehicleHalProto.proto\x12\x08\x65mulator\"\xba\x01\n\x11VehicleAreaConfig\x12\x0f\n\x07\x61rea_id\x18\x01 \x02(\x05\x12\x17\n\x0fmin_int32_value\x18\x02 \x01(\x11\x12\x17\n\x0fmax_int32_value\x18\x03 \x01(\x11\x12\x17\n\x0fmin_int64_value\x18\x04 \x01(\x12\x12\x17\n\x0fmax_int64_value\x18\x05 \x01(\x12\x12\x17\n\x0fmin_float_value\x18\x06 \x01(\x02\x12\x17\n\x0fmax_float_value\x18\x07 \x01(\x02\"\x9b\x02\n\x11VehiclePropConfig\x12\x0c\n\x04prop\x18\x01 \x02(\x05\x12\x0e\n\x06\x61\x63\x63\x65ss\x18\x02 \x01(\x05\x12\x13\n\x0b\x63hange_mode\x18\x03 \x01(\x05\x12\x12\n\nvalue_type\x18\x04 \x01(\x05\x12\x17\n\x0fsupported_areas\x18\x05 \x01(\x05\x12\x31\n\x0c\x61rea_configs\x18\x06 \x03(\x0b\x32\x1b.emulator.VehicleAreaConfig\x12\x14\n\x0c\x63onfig_flags\x18\x07 \x01(\x05\x12\x14\n\x0c\x63onfig_array\x18\x08 \x03(\x05\x12\x15\n\rconfig_string\x18\t \x01(\t\x12\x17\n\x0fmin_sample_rate\x18\n \x01(\x02\x12\x17\n\x0fmax_sample_rate\x18\x0b \x01(\x02\"\xc5\x01\n\x10VehiclePropValue\x12\x0c\n\x04prop\x18\x01 \x02(\x05\x12\x12\n\nvalue_type\x18\x02 \x01(\x05\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\x12\x0f\n\x07\x61rea_id\x18\x04 \x01(\x05\x12\x14\n\x0cint32_values\x18\x05 \x03(\x11\x12\x14\n\x0cint64_values\x18\x06 \x03(\x12\x12\x14\n\x0c\x66loat_values\x18\x07 \x03(\x02\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\x12\x13\n\x0b\x62ytes_value\x18\t \x01(\x0c\"/\n\x0eVehiclePropGet\x12\x0c\n\x04prop\x18\x01 \x02(\x05\x12\x0f\n\x07\x61rea_id\x18\x02 \x01(\x05\"\xd8\x01\n\x0f\x45mulatorMessage\x12#\n\x08msg_type\x18\x01 \x02(\x0e\x32\x11.emulator.MsgType\x12 \n\x06status\x18\x02 \x01(\x0e\x32\x10.emulator.Status\x12&\n\x04prop\x18\x03 \x03(\x0b\x32\x18.emulator.VehiclePropGet\x12+\n\x06\x63onfig\x18\x04 \x03(\x0b\x32\x1b.emulator.VehiclePropConfig\x12)\n\x05value\x18\x05 \x03(\x0b\x32\x1a.emulator.VehiclePropValue*\x8a\x02\n\x07MsgType\x12\x12\n\x0eGET_CONFIG_CMD\x10\x00\x12\x13\n\x0fGET_CONFIG_RESP\x10\x01\x12\x16\n\x12GET_CONFIG_ALL_CMD\x10\x02\x12\x17\n\x13GET_CONFIG_ALL_RESP\x10\x03\x12\x14\n\x10GET_PROPERTY_CMD\x10\x04\x12\x15\n\x11GET_PROPERTY_RESP\x10\x05\x12\x18\n\x14GET_PROPERTY_ALL_CMD\x10\x06\x12\x19\n\x15GET_PROPERTY_ALL_RESP\x10\x07\x12\x14\n\x10SET_PROPERTY_CMD\x10\x08\x12\x15\n\x11SET_PROPERTY_RESP\x10\t\x12\x16\n\x12SET_PROPERTY_ASYNC\x10\n*\xfb\x01\n\x06Status\x12\r\n\tRESULT_OK\x10\x00\x12\x11\n\rERROR_UNKNOWN\x10\x01\x12\x1b\n\x17\x45RROR_UNIMPLEMENTED_CMD\x10\x02\x12\x1a\n\x16\x45RROR_INVALID_PROPERTY\x10\x03\x12\x19\n\x15\x45RROR_INVALID_AREA_ID\x10\x04\x12 \n\x1c\x45RROR_PROPERTY_UNINITIALIZED\x10\x05\x12\x1d\n\x19\x45RROR_WRITE_ONLY_PROPERTY\x10\x06\x12\x1d\n\x19\x45RROR_MEMORY_ALLOC_FAILED\x10\x07\x12\x1b\n\x17\x45RROR_INVALID_OPERATION\x10\x08\x42\x02H\x03')
+ syntax='proto2',
+ serialized_pb=_b('\n\x15VehicleHalProto.proto\x12\x08\x65mulator\"\xba\x01\n\x11VehicleAreaConfig\x12\x0f\n\x07\x61rea_id\x18\x01 \x02(\x05\x12\x17\n\x0fmin_int32_value\x18\x02 \x01(\x11\x12\x17\n\x0fmax_int32_value\x18\x03 \x01(\x11\x12\x17\n\x0fmin_int64_value\x18\x04 \x01(\x12\x12\x17\n\x0fmax_int64_value\x18\x05 \x01(\x12\x12\x17\n\x0fmin_float_value\x18\x06 \x01(\x02\x12\x17\n\x0fmax_float_value\x18\x07 \x01(\x02\"\x9b\x02\n\x11VehiclePropConfig\x12\x0c\n\x04prop\x18\x01 \x02(\x05\x12\x0e\n\x06\x61\x63\x63\x65ss\x18\x02 \x01(\x05\x12\x13\n\x0b\x63hange_mode\x18\x03 \x01(\x05\x12\x12\n\nvalue_type\x18\x04 \x01(\x05\x12\x17\n\x0fsupported_areas\x18\x05 \x01(\x05\x12\x31\n\x0c\x61rea_configs\x18\x06 \x03(\x0b\x32\x1b.emulator.VehicleAreaConfig\x12\x14\n\x0c\x63onfig_flags\x18\x07 \x01(\x05\x12\x14\n\x0c\x63onfig_array\x18\x08 \x03(\x05\x12\x15\n\rconfig_string\x18\t \x01(\t\x12\x17\n\x0fmin_sample_rate\x18\n \x01(\x02\x12\x17\n\x0fmax_sample_rate\x18\x0b \x01(\x02\"\xc5\x01\n\x10VehiclePropValue\x12\x0c\n\x04prop\x18\x01 \x02(\x05\x12\x12\n\nvalue_type\x18\x02 \x01(\x05\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\x12\x0f\n\x07\x61rea_id\x18\x04 \x01(\x05\x12\x14\n\x0cint32_values\x18\x05 \x03(\x11\x12\x14\n\x0cint64_values\x18\x06 \x03(\x12\x12\x14\n\x0c\x66loat_values\x18\x07 \x03(\x02\x12\x14\n\x0cstring_value\x18\x08 \x01(\t\x12\x13\n\x0b\x62ytes_value\x18\t \x01(\x0c\"/\n\x0eVehiclePropGet\x12\x0c\n\x04prop\x18\x01 \x02(\x05\x12\x0f\n\x07\x61rea_id\x18\x02 \x01(\x05\"\xd8\x01\n\x0f\x45mulatorMessage\x12#\n\x08msg_type\x18\x01 \x02(\x0e\x32\x11.emulator.MsgType\x12 \n\x06status\x18\x02 \x01(\x0e\x32\x10.emulator.Status\x12&\n\x04prop\x18\x03 \x03(\x0b\x32\x18.emulator.VehiclePropGet\x12+\n\x06\x63onfig\x18\x04 \x03(\x0b\x32\x1b.emulator.VehiclePropConfig\x12)\n\x05value\x18\x05 \x03(\x0b\x32\x1a.emulator.VehiclePropValue*\x8a\x02\n\x07MsgType\x12\x12\n\x0eGET_CONFIG_CMD\x10\x00\x12\x13\n\x0fGET_CONFIG_RESP\x10\x01\x12\x16\n\x12GET_CONFIG_ALL_CMD\x10\x02\x12\x17\n\x13GET_CONFIG_ALL_RESP\x10\x03\x12\x14\n\x10GET_PROPERTY_CMD\x10\x04\x12\x15\n\x11GET_PROPERTY_RESP\x10\x05\x12\x18\n\x14GET_PROPERTY_ALL_CMD\x10\x06\x12\x19\n\x15GET_PROPERTY_ALL_RESP\x10\x07\x12\x14\n\x10SET_PROPERTY_CMD\x10\x08\x12\x15\n\x11SET_PROPERTY_RESP\x10\t\x12\x16\n\x12SET_PROPERTY_ASYNC\x10\n*\xfb\x01\n\x06Status\x12\r\n\tRESULT_OK\x10\x00\x12\x11\n\rERROR_UNKNOWN\x10\x01\x12\x1b\n\x17\x45RROR_UNIMPLEMENTED_CMD\x10\x02\x12\x1a\n\x16\x45RROR_INVALID_PROPERTY\x10\x03\x12\x19\n\x15\x45RROR_INVALID_AREA_ID\x10\x04\x12 \n\x1c\x45RROR_PROPERTY_UNINITIALIZED\x10\x05\x12\x1d\n\x19\x45RROR_WRITE_ONLY_PROPERTY\x10\x06\x12\x1d\n\x19\x45RROR_MEMORY_ALLOC_FAILED\x10\x07\x12\x1b\n\x17\x45RROR_INVALID_OPERATION\x10\x08\x42\x02H\x03')
+)
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
_MSGTYPE = _descriptor.EnumDescriptor(
name='MsgType',
@@ -72,6 +80,7 @@
serialized_start=979,
serialized_end=1245,
)
+_sym_db.RegisterEnumDescriptor(_MSGTYPE)
MsgType = enum_type_wrapper.EnumTypeWrapper(_MSGTYPE)
_STATUS = _descriptor.EnumDescriptor(
@@ -122,6 +131,7 @@
serialized_start=1248,
serialized_end=1499,
)
+_sym_db.RegisterEnumDescriptor(_STATUS)
Status = enum_type_wrapper.EnumTypeWrapper(_STATUS)
GET_CONFIG_CMD = 0
@@ -192,14 +202,14 @@
_descriptor.FieldDescriptor(
name='min_float_value', full_name='emulator.VehicleAreaConfig.min_float_value', index=5,
number=6, type=2, cpp_type=6, label=1,
- has_default_value=False, default_value=0,
+ has_default_value=False, default_value=float(0),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='max_float_value', full_name='emulator.VehicleAreaConfig.max_float_value', index=6,
number=7, type=2, cpp_type=6, label=1,
- has_default_value=False, default_value=0,
+ has_default_value=False, default_value=float(0),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
@@ -211,7 +221,10 @@
],
options=None,
is_extendable=False,
+ syntax='proto2',
extension_ranges=[],
+ oneofs=[
+ ],
serialized_start=36,
serialized_end=222,
)
@@ -283,21 +296,21 @@
_descriptor.FieldDescriptor(
name='config_string', full_name='emulator.VehiclePropConfig.config_string', index=8,
number=9, type=9, cpp_type=9, label=1,
- has_default_value=False, default_value=unicode("", "utf-8"),
+ has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='min_sample_rate', full_name='emulator.VehiclePropConfig.min_sample_rate', index=9,
number=10, type=2, cpp_type=6, label=1,
- has_default_value=False, default_value=0,
+ has_default_value=False, default_value=float(0),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='max_sample_rate', full_name='emulator.VehiclePropConfig.max_sample_rate', index=10,
number=11, type=2, cpp_type=6, label=1,
- has_default_value=False, default_value=0,
+ has_default_value=False, default_value=float(0),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
@@ -309,7 +322,10 @@
],
options=None,
is_extendable=False,
+ syntax='proto2',
extension_ranges=[],
+ oneofs=[
+ ],
serialized_start=225,
serialized_end=508,
)
@@ -374,14 +390,14 @@
_descriptor.FieldDescriptor(
name='string_value', full_name='emulator.VehiclePropValue.string_value', index=7,
number=8, type=9, cpp_type=9, label=1,
- has_default_value=False, default_value=unicode("", "utf-8"),
+ has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
_descriptor.FieldDescriptor(
name='bytes_value', full_name='emulator.VehiclePropValue.bytes_value', index=8,
number=9, type=12, cpp_type=9, label=1,
- has_default_value=False, default_value="",
+ has_default_value=False, default_value=_b(""),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None),
@@ -393,7 +409,10 @@
],
options=None,
is_extendable=False,
+ syntax='proto2',
extension_ranges=[],
+ oneofs=[
+ ],
serialized_start=511,
serialized_end=708,
)
@@ -428,7 +447,10 @@
],
options=None,
is_extendable=False,
+ syntax='proto2',
extension_ranges=[],
+ oneofs=[
+ ],
serialized_start=710,
serialized_end=757,
)
@@ -484,7 +506,10 @@
],
options=None,
is_extendable=False,
+ syntax='proto2',
extension_ranges=[],
+ oneofs=[
+ ],
serialized_start=760,
serialized_end=976,
)
@@ -500,38 +525,45 @@
DESCRIPTOR.message_types_by_name['VehiclePropValue'] = _VEHICLEPROPVALUE
DESCRIPTOR.message_types_by_name['VehiclePropGet'] = _VEHICLEPROPGET
DESCRIPTOR.message_types_by_name['EmulatorMessage'] = _EMULATORMESSAGE
+DESCRIPTOR.enum_types_by_name['MsgType'] = _MSGTYPE
+DESCRIPTOR.enum_types_by_name['Status'] = _STATUS
-class VehicleAreaConfig(_message.Message):
- __metaclass__ = _reflection.GeneratedProtocolMessageType
- DESCRIPTOR = _VEHICLEAREACONFIG
-
+VehicleAreaConfig = _reflection.GeneratedProtocolMessageType('VehicleAreaConfig', (_message.Message,), dict(
+ DESCRIPTOR = _VEHICLEAREACONFIG,
+ __module__ = 'VehicleHalProto_pb2'
# @@protoc_insertion_point(class_scope:emulator.VehicleAreaConfig)
+ ))
+_sym_db.RegisterMessage(VehicleAreaConfig)
-class VehiclePropConfig(_message.Message):
- __metaclass__ = _reflection.GeneratedProtocolMessageType
- DESCRIPTOR = _VEHICLEPROPCONFIG
-
+VehiclePropConfig = _reflection.GeneratedProtocolMessageType('VehiclePropConfig', (_message.Message,), dict(
+ DESCRIPTOR = _VEHICLEPROPCONFIG,
+ __module__ = 'VehicleHalProto_pb2'
# @@protoc_insertion_point(class_scope:emulator.VehiclePropConfig)
+ ))
+_sym_db.RegisterMessage(VehiclePropConfig)
-class VehiclePropValue(_message.Message):
- __metaclass__ = _reflection.GeneratedProtocolMessageType
- DESCRIPTOR = _VEHICLEPROPVALUE
-
+VehiclePropValue = _reflection.GeneratedProtocolMessageType('VehiclePropValue', (_message.Message,), dict(
+ DESCRIPTOR = _VEHICLEPROPVALUE,
+ __module__ = 'VehicleHalProto_pb2'
# @@protoc_insertion_point(class_scope:emulator.VehiclePropValue)
+ ))
+_sym_db.RegisterMessage(VehiclePropValue)
-class VehiclePropGet(_message.Message):
- __metaclass__ = _reflection.GeneratedProtocolMessageType
- DESCRIPTOR = _VEHICLEPROPGET
-
+VehiclePropGet = _reflection.GeneratedProtocolMessageType('VehiclePropGet', (_message.Message,), dict(
+ DESCRIPTOR = _VEHICLEPROPGET,
+ __module__ = 'VehicleHalProto_pb2'
# @@protoc_insertion_point(class_scope:emulator.VehiclePropGet)
+ ))
+_sym_db.RegisterMessage(VehiclePropGet)
-class EmulatorMessage(_message.Message):
- __metaclass__ = _reflection.GeneratedProtocolMessageType
- DESCRIPTOR = _EMULATORMESSAGE
-
+EmulatorMessage = _reflection.GeneratedProtocolMessageType('EmulatorMessage', (_message.Message,), dict(
+ DESCRIPTOR = _EMULATORMESSAGE,
+ __module__ = 'VehicleHalProto_pb2'
# @@protoc_insertion_point(class_scope:emulator.EmulatorMessage)
+ ))
+_sym_db.RegisterMessage(EmulatorMessage)
DESCRIPTOR.has_options = True
-DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), 'H\003')
+DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('H\003'))
# @@protoc_insertion_point(module_scope)
diff --git a/tools/emulator/diagjson.example b/tools/emulator/diagjson.example
index ea512a7..02f0e68 100644
--- a/tools/emulator/diagjson.example
+++ b/tools/emulator/diagjson.example
@@ -1 +1 @@
-[{"type":1,"timestamp":72375175786629,"intValues":[{"id":3,"value":2},{"id":5,"value":64},{"id":12,"value":3080},{"id":13,"value":0},{"id":31,"value":18}],"floatValues":[{"id":4,"value":42.22222},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":31.764706}]},{"type":1,"timestamp":72377177593287,"intValues":[{"id":3,"value":2},{"id":5,"value":64},{"id":12,"value":3084},{"id":13,"value":0},{"id":31,"value":20}],"floatValues":[{"id":4,"value":42.22222},{"id":70,"value":21.960785},{"id":6,"value":216.40625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72379176544788,"intValues":[{"id":3,"value":2},{"id":5,"value":64},{"id":12,"value":3078},{"id":13,"value":0},{"id":31,"value":22}],"floatValues":[{"id":4,"value":41.77778},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":31.764706}]},{"type":1,"timestamp":72381179373780,"intValues":[{"id":3,"value":2},{"id":5,"value":64},{"id":12,"value":2873},{"id":13,"value":0},{"id":31,"value":24}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":21.960785},{"id":6,"value":207.03125},{"id":47,"value":31.764706}]},{"type":1,"timestamp":72383179413967,"intValues":[{"id":3,"value":2},{"id":5,"value":65},{"id":12,"value":3078},{"id":13,"value":0},{"id":31,"value":26}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":31.764706}]},{"type":1,"timestamp":72385179454210,"intValues":[{"id":3,"value":2},{"id":5,"value":65},{"id":12,"value":2869},{"id":13,"value":0},{"id":31,"value":28}],"floatValues":[{"id":4,"value":41.333332},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":31.764706}]},{"type":1,"timestamp":72387176856679,"intValues":[{"id":3,"value":2},{"id":5,"value":66},{"id":12,"value":3090},{"id":13,"value":0},{"id":31,"value":30}],"floatValues":[{"id":4,"value":52.0},{"id":70,"value":21.960785},{"id":6,"value":230.46875},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72389180204642,"intValues":[{"id":3,"value":2},{"id":5,"value":66},{"id":12,"value":4110},{"id":13,"value":1},{"id":31,"value":32}],"floatValues":[{"id":4,"value":68.44444},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":34.11765}]},{"type":1,"timestamp":72391178997905,"intValues":[{"id":3,"value":2},{"id":5,"value":66},{"id":12,"value":3633},{"id":13,"value":5},{"id":31,"value":34}],"floatValues":[{"id":4,"value":51.11111},{"id":70,"value":21.960785},{"id":6,"value":223.4375},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72393179466175,"intValues":[{"id":3,"value":2},{"id":5,"value":67},{"id":12,"value":3135},{"id":13,"value":4},{"id":31,"value":36}],"floatValues":[{"id":4,"value":50.666668},{"id":70,"value":21.960785},{"id":6,"value":230.46875},{"id":47,"value":32.941177}]},{"type":1,"timestamp":72395177442840,"intValues":[{"id":3,"value":2},{"id":5,"value":67},{"id":12,"value":3125},{"id":13,"value":0},{"id":31,"value":38}],"floatValues":[{"id":4,"value":48.444443},{"id":70,"value":21.960785},{"id":6,"value":228.125},{"id":47,"value":27.450981}]},{"type":1,"timestamp":72397179771686,"intValues":[{"id":3,"value":2},{"id":5,"value":68},{"id":12,"value":2857},{"id":13,"value":0},{"id":31,"value":40}],"floatValues":[{"id":4,"value":55.555557},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":26.27451}]},{"type":1,"timestamp":72399177882285,"intValues":[{"id":3,"value":2},{"id":5,"value":68},{"id":12,"value":4899},{"id":13,"value":6},{"id":31,"value":42}],"floatValues":[{"id":4,"value":82.666664},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":17.254902}]},{"type":1,"timestamp":72401178271883,"intValues":[{"id":3,"value":2},{"id":5,"value":68},{"id":12,"value":8483},{"id":13,"value":17},{"id":31,"value":44}],"floatValues":[{"id":4,"value":45.333332},{"id":70,"value":21.960785},{"id":6,"value":237.5},{"id":47,"value":32.941177}]},{"type":1,"timestamp":72403179389890,"intValues":[{"id":3,"value":2},{"id":5,"value":69},{"id":12,"value":5158},{"id":13,"value":18},{"id":31,"value":46}],"floatValues":[{"id":4,"value":28.0},{"id":70,"value":21.960785},{"id":6,"value":188.28125},{"id":47,"value":34.11765}]},{"type":1,"timestamp":72405178339774,"intValues":[{"id":3,"value":2},{"id":5,"value":69},{"id":12,"value":6184},{"id":13,"value":20},{"id":31,"value":48}],"floatValues":[{"id":4,"value":36.0},{"id":70,"value":21.960785},{"id":6,"value":216.40625},{"id":47,"value":34.11765}]},{"type":1,"timestamp":72407178346527,"intValues":[{"id":3,"value":2},{"id":5,"value":70},{"id":12,"value":6207},{"id":13,"value":21},{"id":31,"value":50}],"floatValues":[{"id":4,"value":31.11111},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72409177960280,"intValues":[{"id":3,"value":2},{"id":5,"value":70},{"id":12,"value":5409},{"id":13,"value":19},{"id":31,"value":52}],"floatValues":[{"id":4,"value":28.88889},{"id":70,"value":21.960785},{"id":6,"value":192.96875},{"id":47,"value":36.47059}]},{"type":1,"timestamp":72411176941375,"intValues":[{"id":3,"value":2},{"id":5,"value":71},{"id":12,"value":5653},{"id":13,"value":18},{"id":31,"value":54}],"floatValues":[{"id":4,"value":92.888885},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":24.705883}]},{"type":1,"timestamp":72413177348486,"intValues":[{"id":3,"value":2},{"id":5,"value":71},{"id":12,"value":7988},{"id":13,"value":26},{"id":31,"value":56}],"floatValues":[{"id":4,"value":31.555555},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":32.941177}]},{"type":1,"timestamp":72415176509329,"intValues":[{"id":3,"value":2},{"id":5,"value":72},{"id":12,"value":4134},{"id":13,"value":21},{"id":31,"value":58}],"floatValues":[{"id":4,"value":33.333332},{"id":70,"value":21.960785},{"id":6,"value":176.5625},{"id":47,"value":32.941177}]},{"type":1,"timestamp":72417178548720,"intValues":[{"id":3,"value":2},{"id":5,"value":72},{"id":12,"value":3109},{"id":13,"value":14},{"id":31,"value":60}],"floatValues":[{"id":4,"value":49.333332},{"id":70,"value":21.960785},{"id":6,"value":192.96875},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72419178377617,"intValues":[{"id":3,"value":2},{"id":5,"value":73},{"id":12,"value":3635},{"id":13,"value":16},{"id":31,"value":62}],"floatValues":[{"id":4,"value":44.88889},{"id":70,"value":21.960785},{"id":6,"value":223.4375},{"id":47,"value":28.62745}]},{"type":1,"timestamp":72421177803572,"intValues":[{"id":3,"value":2},{"id":5,"value":73},{"id":12,"value":3619},{"id":13,"value":11},{"id":31,"value":64}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":228.125},{"id":47,"value":34.11765}]},{"type":1,"timestamp":72423176710009,"intValues":[{"id":3,"value":2},{"id":5,"value":74},{"id":12,"value":4637},{"id":13,"value":10},{"id":31,"value":66}],"floatValues":[{"id":4,"value":36.0},{"id":70,"value":21.960785},{"id":6,"value":216.40625},{"id":47,"value":35.686275}]},{"type":1,"timestamp":72425176560994,"intValues":[{"id":3,"value":2},{"id":5,"value":74},{"id":12,"value":7199},{"id":13,"value":15},{"id":31,"value":68}],"floatValues":[{"id":4,"value":36.0},{"id":70,"value":21.960785},{"id":6,"value":228.125},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72427175927486,"intValues":[{"id":3,"value":2},{"id":5,"value":75},{"id":12,"value":3894},{"id":13,"value":11},{"id":31,"value":70}],"floatValues":[{"id":4,"value":47.555557},{"id":70,"value":21.960785},{"id":6,"value":211.71875},{"id":47,"value":24.705883}]},{"type":1,"timestamp":72429178132978,"intValues":[{"id":3,"value":2},{"id":5,"value":75},{"id":12,"value":3108},{"id":13,"value":1},{"id":31,"value":72}],"floatValues":[{"id":4,"value":48.0},{"id":70,"value":21.960785},{"id":6,"value":218.75},{"id":47,"value":27.450981}]},{"type":1,"timestamp":72431177381669,"intValues":[{"id":3,"value":2},{"id":5,"value":75},{"id":12,"value":3087},{"id":13,"value":0},{"id":31,"value":74}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":216.40625},{"id":47,"value":27.450981}]},{"type":1,"timestamp":72433178039132,"intValues":[{"id":3,"value":2},{"id":5,"value":76},{"id":12,"value":3091},{"id":13,"value":0},{"id":31,"value":76}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72435178023153,"intValues":[{"id":3,"value":2},{"id":5,"value":76},{"id":12,"value":3090},{"id":13,"value":0},{"id":31,"value":78}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":216.40625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72437177860993,"intValues":[{"id":3,"value":2},{"id":5,"value":77},{"id":12,"value":3083},{"id":13,"value":0},{"id":31,"value":80}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72439177936939,"intValues":[{"id":3,"value":2},{"id":5,"value":77},{"id":12,"value":3080},{"id":13,"value":0},{"id":31,"value":82}],"floatValues":[{"id":4,"value":45.333332},{"id":70,"value":21.960785},{"id":6,"value":211.71875},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72441178444751,"intValues":[{"id":3,"value":2},{"id":5,"value":77},{"id":12,"value":3078},{"id":13,"value":0},{"id":31,"value":84}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":216.40625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72443176930748,"intValues":[{"id":3,"value":2},{"id":5,"value":78},{"id":12,"value":3077},{"id":13,"value":0},{"id":31,"value":86}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":211.71875},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72445178255526,"intValues":[{"id":3,"value":2},{"id":5,"value":78},{"id":12,"value":3078},{"id":13,"value":0},{"id":31,"value":88}],"floatValues":[{"id":4,"value":46.22222},{"id":70,"value":21.960785},{"id":6,"value":211.71875},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72447175742708,"intValues":[{"id":3,"value":2},{"id":5,"value":78},{"id":12,"value":3082},{"id":13,"value":0},{"id":31,"value":90}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":31.37255}]},{"type":1,"timestamp":72449178336056,"intValues":[{"id":3,"value":2},{"id":5,"value":79},{"id":12,"value":3076},{"id":13,"value":0},{"id":31,"value":92}],"floatValues":[{"id":4,"value":45.333332},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72451176649982,"intValues":[{"id":3,"value":2},{"id":5,"value":79},{"id":12,"value":3080},{"id":13,"value":0},{"id":31,"value":94}],"floatValues":[{"id":4,"value":46.22222},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":30.588236}]},{"type":1,"timestamp":72453177388904,"intValues":[{"id":3,"value":2},{"id":5,"value":79},{"id":12,"value":2879},{"id":13,"value":0},{"id":31,"value":96}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72455178049520,"intValues":[{"id":3,"value":2},{"id":5,"value":79},{"id":12,"value":3076},{"id":13,"value":0},{"id":31,"value":98}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":204.6875},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72457178189969,"intValues":[{"id":3,"value":2},{"id":5,"value":80},{"id":12,"value":3082},{"id":13,"value":0},{"id":31,"value":100}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72459177706926,"intValues":[{"id":3,"value":2},{"id":5,"value":80},{"id":12,"value":2877},{"id":13,"value":0},{"id":31,"value":102}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":204.6875},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72461176388948,"intValues":[{"id":3,"value":2},{"id":5,"value":80},{"id":12,"value":3076},{"id":13,"value":0},{"id":31,"value":104}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":207.03125},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72463178194570,"intValues":[{"id":3,"value":2},{"id":5,"value":81},{"id":12,"value":3077},{"id":13,"value":0},{"id":31,"value":106}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":211.71875},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72465178204165,"intValues":[{"id":3,"value":2},{"id":5,"value":81},{"id":12,"value":3072},{"id":13,"value":0},{"id":31,"value":108}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":204.6875},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72467178005994,"intValues":[{"id":3,"value":2},{"id":5,"value":81},{"id":12,"value":3082},{"id":13,"value":0},{"id":31,"value":110}],"floatValues":[{"id":4,"value":46.22222},{"id":70,"value":21.960785},{"id":6,"value":207.03125},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72469178443939,"intValues":[{"id":3,"value":2},{"id":5,"value":82},{"id":12,"value":2879},{"id":13,"value":0},{"id":31,"value":112}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72471176771874,"intValues":[{"id":3,"value":2},{"id":5,"value":82},{"id":12,"value":3080},{"id":13,"value":0},{"id":31,"value":114}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72473179942657,"intValues":[{"id":3,"value":2},{"id":5,"value":82},{"id":12,"value":3077},{"id":13,"value":0},{"id":31,"value":116}],"floatValues":[{"id":4,"value":46.22222},{"id":70,"value":21.960785},{"id":6,"value":204.6875},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72475177449291,"intValues":[{"id":3,"value":2},{"id":5,"value":82},{"id":12,"value":2877},{"id":13,"value":0},{"id":31,"value":118}],"floatValues":[{"id":4,"value":46.22222},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72477179209812,"intValues":[{"id":3,"value":2},{"id":5,"value":83},{"id":12,"value":3079},{"id":13,"value":0},{"id":31,"value":120}],"floatValues":[{"id":4,"value":46.22222},{"id":70,"value":21.960785},{"id":6,"value":204.6875},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72479178421641,"intValues":[{"id":3,"value":2},{"id":5,"value":83},{"id":12,"value":3073},{"id":13,"value":0},{"id":31,"value":122}],"floatValues":[{"id":4,"value":46.22222},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":31.764706}]},{"type":1,"timestamp":72481179539631,"intValues":[{"id":3,"value":2},{"id":5,"value":83},{"id":12,"value":3078},{"id":13,"value":0},{"id":31,"value":124}],"floatValues":[{"id":4,"value":46.666668},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72483178480110,"intValues":[{"id":3,"value":2},{"id":5,"value":83},{"id":12,"value":3082},{"id":13,"value":0},{"id":31,"value":126}],"floatValues":[{"id":4,"value":46.22222},{"id":70,"value":21.960785},{"id":6,"value":204.6875},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72485180096548,"intValues":[{"id":3,"value":2},{"id":5,"value":84},{"id":12,"value":3073},{"id":13,"value":0},{"id":31,"value":128}],"floatValues":[{"id":4,"value":46.22222},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72487178424406,"intValues":[{"id":3,"value":2},{"id":5,"value":84},{"id":12,"value":3075},{"id":13,"value":0},{"id":31,"value":130}],"floatValues":[{"id":4,"value":47.11111},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72489180054622,"intValues":[{"id":3,"value":2},{"id":5,"value":84},{"id":12,"value":3081},{"id":13,"value":0},{"id":31,"value":132}],"floatValues":[{"id":4,"value":46.22222},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72491179557027,"intValues":[{"id":3,"value":2},{"id":5,"value":85},{"id":12,"value":2878},{"id":13,"value":0},{"id":31,"value":134}],"floatValues":[{"id":4,"value":46.22222},{"id":70,"value":21.960785},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72493177727317,"intValues":[{"id":3,"value":2},{"id":5,"value":85},{"id":12,"value":3082},{"id":13,"value":0},{"id":31,"value":136}],"floatValues":[{"id":4,"value":46.666668},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":31.764706}]},{"type":1,"timestamp":72495177794472,"intValues":[{"id":3,"value":2},{"id":5,"value":85},{"id":12,"value":2879},{"id":13,"value":0},{"id":31,"value":138}],"floatValues":[{"id":4,"value":46.666668},{"id":70,"value":21.960785},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72497177210035,"intValues":[{"id":3,"value":2},{"id":5,"value":85},{"id":12,"value":3074},{"id":13,"value":0},{"id":31,"value":140}],"floatValues":[{"id":4,"value":47.11111},{"id":70,"value":21.960785},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72499180474808,"intValues":[{"id":3,"value":2},{"id":5,"value":86},{"id":12,"value":3085},{"id":13,"value":0},{"id":31,"value":142}],"floatValues":[{"id":4,"value":46.666668},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72501178578880,"intValues":[{"id":3,"value":2},{"id":5,"value":86},{"id":12,"value":3072},{"id":13,"value":0},{"id":31,"value":144}],"floatValues":[{"id":4,"value":47.11111},{"id":70,"value":21.960785},{"id":6,"value":188.28125},{"id":47,"value":27.450981}]},{"type":1,"timestamp":72503179731578,"intValues":[{"id":3,"value":2},{"id":5,"value":86},{"id":12,"value":7177},{"id":13,"value":11},{"id":31,"value":146}],"floatValues":[{"id":4,"value":49.77778},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":22.745098}]},{"type":1,"timestamp":72505177292755,"intValues":[{"id":3,"value":2},{"id":5,"value":86},{"id":12,"value":4126},{"id":13,"value":15},{"id":31,"value":148}],"floatValues":[{"id":4,"value":41.333332},{"id":70,"value":21.960785},{"id":6,"value":192.96875},{"id":47,"value":22.745098}]},{"type":1,"timestamp":72507176773477,"intValues":[{"id":3,"value":2},{"id":5,"value":86},{"id":12,"value":6438},{"id":13,"value":20},{"id":31,"value":150}],"floatValues":[{"id":4,"value":77.333336},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":22.745098}]},{"type":1,"timestamp":72509177195082,"intValues":[{"id":3,"value":2},{"id":5,"value":86},{"id":12,"value":8746},{"id":13,"value":30},{"id":31,"value":152}],"floatValues":[{"id":4,"value":112.888885},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":8.627451}]},{"type":1,"timestamp":72511175989969,"intValues":[{"id":3,"value":2},{"id":5,"value":86},{"id":12,"value":14082},{"id":13,"value":44},{"id":31,"value":154}],"floatValues":[{"id":4,"value":103.111115},{"id":70,"value":21.960785},{"id":6,"value":211.71875},{"id":47,"value":20.784313}]},{"type":1,"timestamp":72513179658544,"intValues":[{"id":3,"value":2},{"id":5,"value":86},{"id":12,"value":15639},{"id":13,"value":54},{"id":31,"value":156}],"floatValues":[{"id":4,"value":73.333336},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":26.27451}]},{"type":1,"timestamp":72515179414407,"intValues":[{"id":3,"value":2},{"id":5,"value":85},{"id":12,"value":10268},{"id":13,"value":59},{"id":31,"value":158}],"floatValues":[{"id":4,"value":63.555557},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72517176297337,"intValues":[{"id":3,"value":2},{"id":5,"value":85},{"id":12,"value":5928},{"id":13,"value":60},{"id":31,"value":160}],"floatValues":[{"id":4,"value":24.0},{"id":70,"value":21.960785},{"id":6,"value":146.09375},{"id":47,"value":34.901962}]},{"type":1,"timestamp":72519176826185,"intValues":[{"id":3,"value":2},{"id":5,"value":85},{"id":12,"value":6418},{"id":13,"value":58},{"id":31,"value":162}],"floatValues":[{"id":4,"value":59.555557},{"id":70,"value":21.960785},{"id":6,"value":188.28125},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72521179790904,"intValues":[{"id":3,"value":2},{"id":5,"value":85},{"id":12,"value":6179},{"id":13,"value":59},{"id":31,"value":164}],"floatValues":[{"id":4,"value":34.22222},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":34.11765}]},{"type":1,"timestamp":72523180627127,"intValues":[{"id":3,"value":2},{"id":5,"value":85},{"id":12,"value":7483},{"id":13,"value":59},{"id":31,"value":166}],"floatValues":[{"id":4,"value":99.55556},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":28.62745}]},{"type":1,"timestamp":72525177789023,"intValues":[{"id":3,"value":2},{"id":5,"value":86},{"id":12,"value":6660},{"id":13,"value":63},{"id":31,"value":168}],"floatValues":[{"id":4,"value":96.888885},{"id":70,"value":21.960785},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72527175560417,"intValues":[{"id":3,"value":2},{"id":5,"value":86},{"id":12,"value":8460},{"id":13,"value":66},{"id":31,"value":170}],"floatValues":[{"id":4,"value":54.666668},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72529179499137,"intValues":[{"id":3,"value":2},{"id":5,"value":86},{"id":12,"value":5431},{"id":13,"value":56},{"id":31,"value":172}],"floatValues":[{"id":4,"value":20.0},{"id":70,"value":21.960785},{"id":6,"value":167.1875},{"id":47,"value":31.764706}]},{"type":1,"timestamp":72531178292369,"intValues":[{"id":3,"value":4},{"id":5,"value":86},{"id":12,"value":4868},{"id":13,"value":48},{"id":31,"value":174}],"floatValues":[{"id":4,"value":15.111111},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72533178253439,"intValues":[{"id":3,"value":4},{"id":5,"value":87},{"id":12,"value":7195},{"id":13,"value":47},{"id":31,"value":176}],"floatValues":[{"id":4,"value":83.55556},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72535179199711,"intValues":[{"id":3,"value":2},{"id":5,"value":87},{"id":12,"value":6423},{"id":13,"value":48},{"id":31,"value":178}],"floatValues":[{"id":4,"value":104.0},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":26.27451}]},{"type":1,"timestamp":72537177243028,"intValues":[{"id":3,"value":2},{"id":5,"value":87},{"id":12,"value":11582},{"id":13,"value":55},{"id":31,"value":180}],"floatValues":[{"id":4,"value":112.888885},{"id":70,"value":21.960785},{"id":6,"value":216.40625},{"id":47,"value":22.745098}]},{"type":1,"timestamp":72539180216273,"intValues":[{"id":3,"value":2},{"id":5,"value":87},{"id":12,"value":13336},{"id":13,"value":67},{"id":31,"value":182}],"floatValues":[{"id":4,"value":113.333336},{"id":70,"value":21.960785},{"id":6,"value":216.40625},{"id":47,"value":26.27451}]},{"type":1,"timestamp":72541176144311,"intValues":[{"id":3,"value":2},{"id":5,"value":87},{"id":12,"value":12304},{"id":13,"value":73},{"id":31,"value":184}],"floatValues":[{"id":4,"value":24.0},{"id":70,"value":21.960785},{"id":6,"value":174.21875},{"id":47,"value":24.705883}]},{"type":1,"timestamp":72543178195294,"intValues":[{"id":3,"value":2},{"id":5,"value":87},{"id":12,"value":6717},{"id":13,"value":68},{"id":31,"value":186}],"floatValues":[{"id":4,"value":20.88889},{"id":70,"value":21.960785},{"id":6,"value":181.25},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72545176834995,"intValues":[{"id":3,"value":4},{"id":5,"value":86},{"id":12,"value":4654},{"id":13,"value":47},{"id":31,"value":188}],"floatValues":[{"id":4,"value":20.444445},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72547177907339,"intValues":[{"id":3,"value":2},{"id":5,"value":86},{"id":12,"value":3330},{"id":13,"value":30},{"id":31,"value":190}],"floatValues":[{"id":4,"value":29.333334},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":34.901962}]},{"type":1,"timestamp":72549179735735,"intValues":[{"id":3,"value":2},{"id":5,"value":87},{"id":12,"value":3097},{"id":13,"value":13},{"id":31,"value":192}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":34.901962}]},{"type":1,"timestamp":72551181754526,"intValues":[{"id":3,"value":2},{"id":5,"value":87},{"id":12,"value":3088},{"id":13,"value":2},{"id":31,"value":194}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":34.11765}]},{"type":1,"timestamp":72553177986304,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":3075},{"id":13,"value":0},{"id":31,"value":196}],"floatValues":[{"id":4,"value":42.666668},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":26.27451}]},{"type":1,"timestamp":72555176967736,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":3072},{"id":13,"value":0},{"id":31,"value":198}],"floatValues":[{"id":4,"value":41.77778},{"id":70,"value":21.960785},{"id":6,"value":207.03125},{"id":47,"value":26.27451}]},{"type":1,"timestamp":72557177160577,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":3074},{"id":13,"value":0},{"id":31,"value":200}],"floatValues":[{"id":4,"value":41.77778},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72559179745844,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":2873},{"id":13,"value":0},{"id":31,"value":202}],"floatValues":[{"id":4,"value":42.22222},{"id":70,"value":21.960785},{"id":6,"value":204.6875},{"id":47,"value":33.333332}]},{"type":1,"timestamp":72561176203928,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":2878},{"id":13,"value":0},{"id":31,"value":204}],"floatValues":[{"id":4,"value":42.666668},{"id":70,"value":21.960785},{"id":6,"value":207.03125},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72563177799351,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":3072},{"id":13,"value":0},{"id":31,"value":206}],"floatValues":[{"id":4,"value":42.666668},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72565177953894,"intValues":[{"id":3,"value":2},{"id":5,"value":90},{"id":12,"value":2870},{"id":13,"value":0},{"id":31,"value":208}],"floatValues":[{"id":4,"value":42.666668},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72567176653777,"intValues":[{"id":3,"value":2},{"id":5,"value":90},{"id":12,"value":3075},{"id":13,"value":0},{"id":31,"value":210}],"floatValues":[{"id":4,"value":42.666668},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72569178043717,"intValues":[{"id":3,"value":2},{"id":5,"value":90},{"id":12,"value":2872},{"id":13,"value":0},{"id":31,"value":212}],"floatValues":[{"id":4,"value":43.11111},{"id":70,"value":21.960785},{"id":6,"value":204.6875},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72571178251056,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":3082},{"id":13,"value":0},{"id":31,"value":214}],"floatValues":[{"id":4,"value":43.11111},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72573176628436,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":3072},{"id":13,"value":0},{"id":31,"value":216}],"floatValues":[{"id":4,"value":43.11111},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72575177840420,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":2879},{"id":13,"value":0},{"id":31,"value":218}],"floatValues":[{"id":4,"value":43.11111},{"id":70,"value":21.960785},{"id":6,"value":204.6875},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72577176563646,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":3079},{"id":13,"value":0},{"id":31,"value":220}],"floatValues":[{"id":4,"value":43.555557},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72579179164504,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":2876},{"id":13,"value":0},{"id":31,"value":222}],"floatValues":[{"id":4,"value":43.11111},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72581177838286,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":3074},{"id":13,"value":0},{"id":31,"value":224}],"floatValues":[{"id":4,"value":43.555557},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72583178358480,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":3078},{"id":13,"value":0},{"id":31,"value":226}],"floatValues":[{"id":4,"value":43.555557},{"id":70,"value":21.960785},{"id":6,"value":207.03125},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72585177901670,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3074},{"id":13,"value":0},{"id":31,"value":228}],"floatValues":[{"id":4,"value":43.11111},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72587177734144,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3076},{"id":13,"value":0},{"id":31,"value":230}],"floatValues":[{"id":4,"value":43.555557},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72589179333460,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3080},{"id":13,"value":0},{"id":31,"value":232}],"floatValues":[{"id":4,"value":43.555557},{"id":70,"value":21.960785},{"id":6,"value":207.03125},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72591178129065,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":2878},{"id":13,"value":0},{"id":31,"value":234}],"floatValues":[{"id":4,"value":43.555557},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72593177596819,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3082},{"id":13,"value":0},{"id":31,"value":236}],"floatValues":[{"id":4,"value":43.555557},{"id":70,"value":21.960785},{"id":6,"value":204.6875},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72595178384378,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3076},{"id":13,"value":0},{"id":31,"value":238}],"floatValues":[{"id":4,"value":44.444443},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72597178056865,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3075},{"id":13,"value":0},{"id":31,"value":240}],"floatValues":[{"id":4,"value":43.555557},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72599179833740,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":2872},{"id":13,"value":0},{"id":31,"value":243}],"floatValues":[{"id":4,"value":43.555557},{"id":70,"value":21.960785},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72601176651309,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3077},{"id":13,"value":0},{"id":31,"value":244}],"floatValues":[{"id":4,"value":44.444443},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72603177566065,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3083},{"id":13,"value":0},{"id":31,"value":246}],"floatValues":[{"id":4,"value":44.0},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72605178128004,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3080},{"id":13,"value":0},{"id":31,"value":248}],"floatValues":[{"id":4,"value":44.0},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72607179599532,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3077},{"id":13,"value":0},{"id":31,"value":250}],"floatValues":[{"id":4,"value":44.0},{"id":70,"value":21.960785},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72609179437284,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3081},{"id":13,"value":0},{"id":31,"value":252}],"floatValues":[{"id":4,"value":44.0},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72611179630474,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3080},{"id":13,"value":0},{"id":31,"value":254}],"floatValues":[{"id":4,"value":44.0},{"id":70,"value":21.960785},{"id":6,"value":192.96875},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72613179774544,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":2879},{"id":13,"value":0},{"id":31,"value":256}],"floatValues":[{"id":4,"value":44.0},{"id":70,"value":21.960785},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72615178404973,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3073},{"id":13,"value":0},{"id":31,"value":258}],"floatValues":[{"id":4,"value":44.444443},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72617179059428,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":2879},{"id":13,"value":0},{"id":31,"value":260}],"floatValues":[{"id":4,"value":44.444443},{"id":70,"value":21.960785},{"id":6,"value":188.28125},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72619180105086,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3076},{"id":13,"value":0},{"id":31,"value":262}],"floatValues":[{"id":4,"value":44.444443},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72621179098902,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3104},{"id":13,"value":1},{"id":31,"value":264}],"floatValues":[{"id":4,"value":59.555557},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72623179359108,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":8255},{"id":13,"value":15},{"id":31,"value":266}],"floatValues":[{"id":4,"value":100.888885},{"id":70,"value":21.960785},{"id":6,"value":204.6875},{"id":47,"value":9.411765}]},{"type":1,"timestamp":72625179856484,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":11276},{"id":13,"value":33},{"id":31,"value":268}],"floatValues":[{"id":4,"value":99.55556},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":15.686275}]},{"type":1,"timestamp":72627176310119,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":15618},{"id":13,"value":50},{"id":31,"value":270}],"floatValues":[{"id":4,"value":90.666664},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":26.27451}]},{"type":1,"timestamp":72629177201984,"intValues":[{"id":3,"value":2},{"id":5,"value":90},{"id":12,"value":13109},{"id":13,"value":63},{"id":31,"value":272}],"floatValues":[{"id":4,"value":111.55556},{"id":70,"value":21.960785},{"id":6,"value":216.40625},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72631177723851,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":14343},{"id":13,"value":74},{"id":31,"value":274}],"floatValues":[{"id":4,"value":111.55556},{"id":70,"value":21.960785},{"id":6,"value":211.71875},{"id":47,"value":17.647058}]},{"type":1,"timestamp":72633179257550,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":15921},{"id":13,"value":83},{"id":31,"value":276}],"floatValues":[{"id":4,"value":21.777779},{"id":70,"value":21.960785},{"id":6,"value":192.96875},{"id":47,"value":9.803922}]},{"type":1,"timestamp":72635179273140,"intValues":[{"id":3,"value":2},{"id":5,"value":87},{"id":12,"value":4400},{"id":13,"value":55},{"id":31,"value":278}],"floatValues":[{"id":4,"value":34.666668},{"id":70,"value":21.960785},{"id":6,"value":183.59375},{"id":47,"value":26.27451}]},{"type":1,"timestamp":72637179409130,"intValues":[{"id":3,"value":2},{"id":5,"value":87},{"id":12,"value":3117},{"id":13,"value":32},{"id":31,"value":280}],"floatValues":[{"id":4,"value":30.666666},{"id":70,"value":21.960785},{"id":6,"value":183.59375},{"id":47,"value":28.62745}]},{"type":1,"timestamp":72639179800268,"intValues":[{"id":3,"value":2},{"id":5,"value":87},{"id":12,"value":3108},{"id":13,"value":26},{"id":31,"value":282}],"floatValues":[{"id":4,"value":29.333334},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":28.62745}]},{"type":1,"timestamp":72641179405070,"intValues":[{"id":3,"value":2},{"id":5,"value":87},{"id":12,"value":3106},{"id":13,"value":21},{"id":31,"value":284}],"floatValues":[{"id":4,"value":32.88889},{"id":70,"value":21.960785},{"id":6,"value":195.3125},{"id":47,"value":34.11765}]},{"type":1,"timestamp":72643179866403,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":4115},{"id":13,"value":17},{"id":31,"value":286}],"floatValues":[{"id":4,"value":111.111115},{"id":70,"value":21.960785},{"id":6,"value":207.03125},{"id":47,"value":17.254902}]},{"type":1,"timestamp":72645178430456,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":8991},{"id":13,"value":30},{"id":31,"value":288}],"floatValues":[{"id":4,"value":112.44444},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":26.27451}]},{"type":1,"timestamp":72647178451017,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":9513},{"id":13,"value":43},{"id":31,"value":290}],"floatValues":[{"id":4,"value":95.55556},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":28.62745}]},{"type":1,"timestamp":72649179500927,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":9518},{"id":13,"value":50},{"id":31,"value":292}],"floatValues":[{"id":4,"value":27.555555},{"id":70,"value":21.960785},{"id":6,"value":195.3125},{"id":47,"value":34.509804}]},{"type":1,"timestamp":72651179611409,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":6418},{"id":13,"value":49},{"id":31,"value":294}],"floatValues":[{"id":4,"value":19.555555},{"id":70,"value":21.960785},{"id":6,"value":178.90625},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72653178456810,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":5173},{"id":13,"value":40},{"id":31,"value":296}],"floatValues":[{"id":4,"value":20.88889},{"id":70,"value":21.960785},{"id":6,"value":188.28125},{"id":47,"value":34.11765}]},{"type":1,"timestamp":72655180014824,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":4112},{"id":13,"value":32},{"id":31,"value":298}],"floatValues":[{"id":4,"value":28.444445},{"id":70,"value":21.960785},{"id":6,"value":185.9375},{"id":47,"value":32.941177}]},{"type":1,"timestamp":72657180944053,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":8720},{"id":13,"value":37},{"id":31,"value":300}],"floatValues":[{"id":4,"value":113.333336},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":28.62745}]},{"type":1,"timestamp":72659179332880,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":16412},{"id":13,"value":52},{"id":31,"value":302}],"floatValues":[{"id":4,"value":109.333336},{"id":70,"value":21.960785},{"id":6,"value":216.40625},{"id":47,"value":12.54902}]},{"type":1,"timestamp":72661177765487,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":13828},{"id":13,"value":61},{"id":31,"value":304}],"floatValues":[{"id":4,"value":22.666666},{"id":70,"value":21.960785},{"id":6,"value":178.90625},{"id":47,"value":32.941177}]},{"type":1,"timestamp":72663177689968,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":6447},{"id":13,"value":61},{"id":31,"value":306}],"floatValues":[{"id":4,"value":28.88889},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":34.11765}]},{"type":1,"timestamp":72665177450571,"intValues":[{"id":3,"value":2},{"id":5,"value":87},{"id":12,"value":5657},{"id":13,"value":56},{"id":31,"value":308}],"floatValues":[{"id":4,"value":16.88889},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72667179692696,"intValues":[{"id":3,"value":4},{"id":5,"value":87},{"id":12,"value":4873},{"id":13,"value":48},{"id":31,"value":310}],"floatValues":[{"id":4,"value":19.11111},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":35.686275}]},{"type":1,"timestamp":72669179293955,"intValues":[{"id":3,"value":4},{"id":5,"value":87},{"id":12,"value":3613},{"id":13,"value":34},{"id":31,"value":312}],"floatValues":[{"id":4,"value":27.11111},{"id":70,"value":21.960785},{"id":6,"value":185.9375},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72671177593842,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":3131},{"id":13,"value":19},{"id":31,"value":314}],"floatValues":[{"id":4,"value":30.222221},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":36.862747}]},{"type":1,"timestamp":72673177057067,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":3844},{"id":13,"value":8},{"id":31,"value":316}],"floatValues":[{"id":4,"value":36.444443},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":34.901962}]},{"type":1,"timestamp":72675179630131,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":3080},{"id":13,"value":0},{"id":31,"value":318}],"floatValues":[{"id":4,"value":43.555557},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":28.62745}]},{"type":1,"timestamp":72677179714055,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":2866},{"id":13,"value":1},{"id":31,"value":320}],"floatValues":[{"id":4,"value":42.666668},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":32.941177}]},{"type":1,"timestamp":72679179288433,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":7457},{"id":13,"value":13},{"id":31,"value":322}],"floatValues":[{"id":4,"value":76.0},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":10.588236}]},{"type":1,"timestamp":72681176480810,"intValues":[{"id":3,"value":2},{"id":5,"value":90},{"id":12,"value":9272},{"id":13,"value":27},{"id":31,"value":324}],"floatValues":[{"id":4,"value":105.77778},{"id":70,"value":21.960785},{"id":6,"value":204.6875},{"id":47,"value":15.686275}]},{"type":1,"timestamp":72683179662780,"intValues":[{"id":3,"value":2},{"id":5,"value":90},{"id":12,"value":13585},{"id":13,"value":43},{"id":31,"value":326}],"floatValues":[{"id":4,"value":87.55556},{"id":70,"value":21.960785},{"id":6,"value":211.71875},{"id":47,"value":28.62745}]},{"type":1,"timestamp":72685177751997,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":11024},{"id":13,"value":53},{"id":31,"value":328}],"floatValues":[{"id":4,"value":42.666668},{"id":70,"value":21.960785},{"id":6,"value":190.625},{"id":47,"value":20.784313}]},{"type":1,"timestamp":72687177061206,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":6927},{"id":13,"value":51},{"id":31,"value":330}],"floatValues":[{"id":4,"value":18.222221},{"id":70,"value":21.960785},{"id":6,"value":155.46875},{"id":47,"value":28.62745}]},{"type":1,"timestamp":72689176965248,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":5148},{"id":13,"value":38},{"id":31,"value":332}],"floatValues":[{"id":4,"value":21.333334},{"id":70,"value":21.960785},{"id":6,"value":157.8125},{"id":47,"value":34.11765}]},{"type":1,"timestamp":72691180692310,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":3594},{"id":13,"value":29},{"id":31,"value":334}],"floatValues":[{"id":4,"value":26.222221},{"id":70,"value":21.960785},{"id":6,"value":139.0625},{"id":47,"value":26.27451}]},{"type":1,"timestamp":72693178299558,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":3350},{"id":13,"value":25},{"id":31,"value":336}],"floatValues":[{"id":4,"value":48.88889},{"id":70,"value":21.960785},{"id":6,"value":185.9375},{"id":47,"value":18.82353}]},{"type":1,"timestamp":72695178266771,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":8456},{"id":13,"value":34},{"id":31,"value":338}],"floatValues":[{"id":4,"value":79.55556},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":26.27451}]},{"type":1,"timestamp":72697178378315,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":6163},{"id":13,"value":40},{"id":31,"value":340}],"floatValues":[{"id":4,"value":30.666666},{"id":70,"value":21.960785},{"id":6,"value":185.9375},{"id":47,"value":36.47059}]},{"type":1,"timestamp":72699179440945,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":4886},{"id":13,"value":32},{"id":31,"value":342}],"floatValues":[{"id":4,"value":24.0},{"id":70,"value":21.960785},{"id":6,"value":188.28125},{"id":47,"value":30.588236}]},{"type":1,"timestamp":72701179783621,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":5130},{"id":13,"value":29},{"id":31,"value":344}],"floatValues":[{"id":4,"value":54.22222},{"id":70,"value":21.960785},{"id":6,"value":192.96875},{"id":47,"value":28.62745}]},{"type":1,"timestamp":72703178384562,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":9525},{"id":13,"value":38},{"id":31,"value":346}],"floatValues":[{"id":4,"value":112.888885},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":26.27451}]},{"type":1,"timestamp":72705179707825,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":10513},{"id":13,"value":49},{"id":31,"value":348}],"floatValues":[{"id":4,"value":99.55556},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72707177436366,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":8248},{"id":13,"value":54},{"id":31,"value":350}],"floatValues":[{"id":4,"value":76.888885},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":32.941177}]},{"type":1,"timestamp":72709176949975,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":8484},{"id":13,"value":59},{"id":31,"value":352}],"floatValues":[{"id":4,"value":59.11111},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72711179509943,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":5945},{"id":13,"value":61},{"id":31,"value":354}],"floatValues":[{"id":4,"value":74.22222},{"id":70,"value":22.352942},{"id":6,"value":211.71875},{"id":47,"value":32.941177}]},{"type":1,"timestamp":72713179908608,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":6197},{"id":13,"value":61},{"id":31,"value":356}],"floatValues":[{"id":4,"value":23.11111},{"id":70,"value":22.352942},{"id":6,"value":178.90625},{"id":47,"value":34.901962}]},{"type":1,"timestamp":72715178040463,"intValues":[{"id":3,"value":4},{"id":5,"value":89},{"id":12,"value":5904},{"id":13,"value":59},{"id":31,"value":358}],"floatValues":[{"id":4,"value":20.88889},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":34.901962}]},{"type":1,"timestamp":72717179826935,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":6154},{"id":13,"value":60},{"id":31,"value":360}],"floatValues":[{"id":4,"value":35.11111},{"id":70,"value":22.352942},{"id":6,"value":207.03125},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72719178168768,"intValues":[{"id":3,"value":2},{"id":5,"value":90},{"id":12,"value":5636},{"id":13,"value":59},{"id":31,"value":362}],"floatValues":[{"id":4,"value":16.88889},{"id":70,"value":22.352942},{"id":6,"value":181.25},{"id":47,"value":28.62745}]},{"type":1,"timestamp":72721179101986,"intValues":[{"id":3,"value":4},{"id":5,"value":90},{"id":12,"value":5411},{"id":13,"value":54},{"id":31,"value":364}],"floatValues":[{"id":4,"value":54.666668},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":24.705883}]},{"type":1,"timestamp":72723180021513,"intValues":[{"id":3,"value":2},{"id":5,"value":90},{"id":12,"value":5688},{"id":13,"value":55},{"id":31,"value":366}],"floatValues":[{"id":4,"value":24.444445},{"id":70,"value":22.352942},{"id":6,"value":195.3125},{"id":47,"value":32.941177}]},{"type":1,"timestamp":72725179738209,"intValues":[{"id":3,"value":2},{"id":5,"value":90},{"id":12,"value":5903},{"id":13,"value":55},{"id":31,"value":368}],"floatValues":[{"id":4,"value":48.88889},{"id":70,"value":22.352942},{"id":6,"value":211.71875},{"id":47,"value":26.27451}]},{"type":1,"timestamp":72727179292538,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":5162},{"id":13,"value":51},{"id":31,"value":370}],"floatValues":[{"id":4,"value":20.88889},{"id":70,"value":22.352942},{"id":6,"value":204.6875},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72729178027625,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":4124},{"id":13,"value":44},{"id":31,"value":372}],"floatValues":[{"id":4,"value":24.0},{"id":70,"value":22.352942},{"id":6,"value":188.28125},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72731178148147,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":3132},{"id":13,"value":37},{"id":31,"value":374}],"floatValues":[{"id":4,"value":23.555555},{"id":70,"value":22.352942},{"id":6,"value":181.25},{"id":47,"value":34.901962}]},{"type":1,"timestamp":72733176368495,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":3128},{"id":13,"value":24},{"id":31,"value":376}],"floatValues":[{"id":4,"value":28.0},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":34.901962}]},{"type":1,"timestamp":72735179502626,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":3089},{"id":13,"value":15},{"id":31,"value":378}],"floatValues":[{"id":4,"value":38.666668},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":39.607845}]},{"type":1,"timestamp":72737179297296,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":2869},{"id":13,"value":0},{"id":31,"value":380}],"floatValues":[{"id":4,"value":42.666668},{"id":70,"value":22.352942},{"id":6,"value":209.375},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72739177718891,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":2877},{"id":13,"value":0},{"id":31,"value":382}],"floatValues":[{"id":4,"value":39.555557},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":26.27451}]},{"type":1,"timestamp":72741177981830,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":2871},{"id":13,"value":0},{"id":31,"value":384}],"floatValues":[{"id":4,"value":39.11111},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":28.62745}]},{"type":1,"timestamp":72743176174851,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":2872},{"id":13,"value":0},{"id":31,"value":387}],"floatValues":[{"id":4,"value":39.11111},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72745329912826,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":2870},{"id":13,"value":0},{"id":31,"value":389}],"floatValues":[{"id":4,"value":39.11111},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72747355080893,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3073},{"id":13,"value":0},{"id":31,"value":391}],"floatValues":[{"id":4,"value":39.555557},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72749176618991,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3077},{"id":13,"value":0},{"id":31,"value":392}],"floatValues":[{"id":4,"value":39.555557},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72751176696798,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":2867},{"id":13,"value":0},{"id":31,"value":394}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72753176964078,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3072},{"id":13,"value":0},{"id":31,"value":396}],"floatValues":[{"id":4,"value":40.0},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72755178349568,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3078},{"id":13,"value":0},{"id":31,"value":398}],"floatValues":[{"id":4,"value":40.0},{"id":70,"value":22.352942},{"id":6,"value":204.6875},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72757178508591,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":2875},{"id":13,"value":0},{"id":31,"value":400}],"floatValues":[{"id":4,"value":40.0},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":30.588236}]},{"type":1,"timestamp":72759176500609,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3074},{"id":13,"value":0},{"id":31,"value":402}],"floatValues":[{"id":4,"value":40.0},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72761176683571,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":2878},{"id":13,"value":0},{"id":31,"value":404}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":195.3125},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72763178363414,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3081},{"id":13,"value":0},{"id":31,"value":406}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72765177437003,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3085},{"id":13,"value":0},{"id":31,"value":408}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72767178204902,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":2877},{"id":13,"value":0},{"id":31,"value":410}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":195.3125},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72769177266732,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3079},{"id":13,"value":0},{"id":31,"value":412}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72771176734323,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3082},{"id":13,"value":0},{"id":31,"value":414}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72773176997295,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3079},{"id":13,"value":0},{"id":31,"value":416}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72775176636900,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3077},{"id":13,"value":0},{"id":31,"value":418}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":204.6875},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72777176589987,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3076},{"id":13,"value":0},{"id":31,"value":420}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":192.96875},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72779178389314,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3075},{"id":13,"value":0},{"id":31,"value":422}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":195.3125},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72781178485901,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3080},{"id":13,"value":0},{"id":31,"value":424}],"floatValues":[{"id":4,"value":41.333332},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72783177805524,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3080},{"id":13,"value":0},{"id":31,"value":426}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":195.3125},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72785177696746,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3081},{"id":13,"value":0},{"id":31,"value":428}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72787177943035,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3085},{"id":13,"value":0},{"id":31,"value":430}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":192.96875},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72789177892167,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3900},{"id":13,"value":2},{"id":31,"value":432}],"floatValues":[{"id":4,"value":84.0},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":11.372549}]},{"type":1,"timestamp":72791176960551,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":6937},{"id":13,"value":15},{"id":31,"value":434}],"floatValues":[{"id":4,"value":73.333336},{"id":70,"value":22.352942},{"id":6,"value":207.03125},{"id":47,"value":17.254902}]},{"type":1,"timestamp":72793179080142,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":10253},{"id":13,"value":30},{"id":31,"value":436}],"floatValues":[{"id":4,"value":100.888885},{"id":70,"value":22.352942},{"id":6,"value":211.71875},{"id":47,"value":10.588236}]},{"type":1,"timestamp":72795177144042,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":14653},{"id":13,"value":46},{"id":31,"value":438}],"floatValues":[{"id":4,"value":104.0},{"id":70,"value":22.352942},{"id":6,"value":214.0625},{"id":47,"value":22.745098}]},{"type":1,"timestamp":72797177311878,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":17934},{"id":13,"value":59},{"id":31,"value":440}],"floatValues":[{"id":4,"value":55.555557},{"id":70,"value":22.352942},{"id":6,"value":209.375},{"id":47,"value":24.705883}]},{"type":1,"timestamp":72799176281873,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":8757},{"id":13,"value":62},{"id":31,"value":442}],"floatValues":[{"id":4,"value":28.444445},{"id":70,"value":22.352942},{"id":6,"value":190.625},{"id":47,"value":22.745098}]},{"type":1,"timestamp":72801179010275,"intValues":[{"id":3,"value":2},{"id":5,"value":90},{"id":12,"value":5642},{"id":13,"value":58},{"id":31,"value":444}],"floatValues":[{"id":4,"value":17.777779},{"id":70,"value":22.352942},{"id":6,"value":188.28125},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72803176720724,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":3630},{"id":13,"value":38},{"id":31,"value":446}],"floatValues":[{"id":4,"value":25.333334},{"id":70,"value":22.352942},{"id":6,"value":171.875},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72805176371184,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":3130},{"id":13,"value":27},{"id":31,"value":448}],"floatValues":[{"id":4,"value":25.777779},{"id":70,"value":22.352942},{"id":6,"value":178.90625},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72807176264873,"intValues":[{"id":3,"value":2},{"id":5,"value":90},{"id":12,"value":3091},{"id":13,"value":13},{"id":31,"value":450}],"floatValues":[{"id":4,"value":40.0},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":32.941177}]},{"type":1,"timestamp":72809177130217,"intValues":[{"id":3,"value":2},{"id":5,"value":90},{"id":12,"value":3340},{"id":13,"value":4},{"id":31,"value":452}],"floatValues":[{"id":4,"value":43.11111},{"id":70,"value":22.352942},{"id":6,"value":207.03125},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72811178240749,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":2874},{"id":13,"value":0},{"id":31,"value":454}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":30.19608}]},{"type":1,"timestamp":72813176674429,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":2877},{"id":13,"value":0},{"id":31,"value":456}],"floatValues":[{"id":4,"value":39.555557},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":27.450981}]},{"type":1,"timestamp":72815177036139,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3074},{"id":13,"value":0},{"id":31,"value":458}],"floatValues":[{"id":4,"value":39.11111},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72817178504749,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":2866},{"id":13,"value":0},{"id":31,"value":460}],"floatValues":[{"id":4,"value":39.555557},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72819175954203,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3072},{"id":13,"value":0},{"id":31,"value":462}],"floatValues":[{"id":4,"value":39.11111},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72821177378507,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":2873},{"id":13,"value":0},{"id":31,"value":464}],"floatValues":[{"id":4,"value":39.555557},{"id":70,"value":22.352942},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72823177069331,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3076},{"id":13,"value":0},{"id":31,"value":466}],"floatValues":[{"id":4,"value":40.0},{"id":70,"value":22.352942},{"id":6,"value":204.6875},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72825179501699,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3073},{"id":13,"value":0},{"id":31,"value":468}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":31.764706}]},{"type":1,"timestamp":72827176421710,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3074},{"id":13,"value":0},{"id":31,"value":470}],"floatValues":[{"id":4,"value":40.0},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72829176386701,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3074},{"id":13,"value":0},{"id":31,"value":472}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":204.6875},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72831176764503,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":2873},{"id":13,"value":0},{"id":31,"value":474}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72833177319130,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3074},{"id":13,"value":0},{"id":31,"value":476}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72835180519900,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3074},{"id":13,"value":0},{"id":31,"value":478}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":204.6875},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72837178223527,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":2879},{"id":13,"value":0},{"id":31,"value":480}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72839177312748,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3074},{"id":13,"value":0},{"id":31,"value":482}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72841177797843,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3079},{"id":13,"value":0},{"id":31,"value":484}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72843179579857,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3074},{"id":13,"value":0},{"id":31,"value":486}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72845180133072,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3077},{"id":13,"value":0},{"id":31,"value":488}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72847176774274,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3073},{"id":13,"value":0},{"id":31,"value":490}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72849177384942,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":2879},{"id":13,"value":0},{"id":31,"value":492}],"floatValues":[{"id":4,"value":41.333332},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72851178359655,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3080},{"id":13,"value":0},{"id":31,"value":494}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72853178455898,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3072},{"id":13,"value":0},{"id":31,"value":496}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":192.96875},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72855177993333,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3084},{"id":13,"value":0},{"id":31,"value":498}],"floatValues":[{"id":4,"value":41.333332},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":31.764706}]},{"type":1,"timestamp":72857177079489,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3072},{"id":13,"value":0},{"id":31,"value":500}],"floatValues":[{"id":4,"value":41.333332},{"id":70,"value":22.352942},{"id":6,"value":192.96875},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72859176801251,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":2878},{"id":13,"value":0},{"id":31,"value":502}],"floatValues":[{"id":4,"value":41.333332},{"id":70,"value":22.352942},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72861178465404,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3082},{"id":13,"value":0},{"id":31,"value":504}],"floatValues":[{"id":4,"value":41.333332},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72863179481995,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3073},{"id":13,"value":0},{"id":31,"value":506}],"floatValues":[{"id":4,"value":41.333332},{"id":70,"value":22.352942},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72865177785963,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3079},{"id":13,"value":0},{"id":31,"value":508}],"floatValues":[{"id":4,"value":41.77778},{"id":70,"value":22.352942},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72867176113089,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3075},{"id":13,"value":0},{"id":31,"value":510}],"floatValues":[{"id":4,"value":41.333332},{"id":70,"value":22.352942},{"id":6,"value":192.96875},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72869176834314,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":2874},{"id":13,"value":0},{"id":31,"value":512}],"floatValues":[{"id":4,"value":41.333332},{"id":70,"value":22.352942},{"id":6,"value":190.625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72871178569429,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3079},{"id":13,"value":0},{"id":31,"value":514}],"floatValues":[{"id":4,"value":41.333332},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72873176252437,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":2879},{"id":13,"value":0},{"id":31,"value":516}],"floatValues":[{"id":4,"value":42.22222},{"id":70,"value":22.352942},{"id":6,"value":192.96875},{"id":47,"value":31.764706}]},{"type":1,"timestamp":72875177079512,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":2872},{"id":13,"value":0},{"id":31,"value":518}],"floatValues":[{"id":4,"value":41.77778},{"id":70,"value":22.352942},{"id":6,"value":192.96875},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72877177740208,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3077},{"id":13,"value":0},{"id":31,"value":520}],"floatValues":[{"id":4,"value":41.77778},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72879180125173,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":2872},{"id":13,"value":0},{"id":31,"value":522}],"floatValues":[{"id":4,"value":41.77778},{"id":70,"value":22.352942},{"id":6,"value":190.625},{"id":47,"value":31.764706}]},{"type":1,"timestamp":72881178525713,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3079},{"id":13,"value":0},{"id":31,"value":524}],"floatValues":[{"id":4,"value":41.77778},{"id":70,"value":22.352942},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72883176875986,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":2875},{"id":13,"value":0},{"id":31,"value":526}],"floatValues":[{"id":4,"value":41.77778},{"id":70,"value":22.352942},{"id":6,"value":192.96875},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72885176324726,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":2879},{"id":13,"value":0},{"id":31,"value":528}],"floatValues":[{"id":4,"value":41.77778},{"id":70,"value":22.352942},{"id":6,"value":192.96875},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72887176793512,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3078},{"id":13,"value":0},{"id":31,"value":530}],"floatValues":[{"id":4,"value":42.22222},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":31.764706}]},{"type":1,"timestamp":72889177026044,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3077},{"id":13,"value":0},{"id":31,"value":532}],"floatValues":[{"id":4,"value":41.77778},{"id":70,"value":22.352942},{"id":6,"value":192.96875},{"id":47,"value":32.156864}]},{"type":1,"timestamp":72891177972355,"intValues":[{"id":3,"value":2},{"id":5,"value":95},{"id":12,"value":5426},{"id":13,"value":5},{"id":31,"value":534}],"floatValues":[{"id":4,"value":51.555557},{"id":70,"value":22.352942},{"id":6,"value":209.375},{"id":47,"value":22.745098}]},{"type":1,"timestamp":72893178557124,"intValues":[{"id":3,"value":2},{"id":5,"value":96},{"id":12,"value":9000},{"id":13,"value":18},{"id":31,"value":536}],"floatValues":[{"id":4,"value":66.22222},{"id":70,"value":22.352942},{"id":6,"value":204.6875},{"id":47,"value":27.450981}]},{"type":1,"timestamp":72895179323906,"intValues":[{"id":3,"value":2},{"id":5,"value":95},{"id":12,"value":7996},{"id":13,"value":24},{"id":31,"value":538}],"floatValues":[{"id":4,"value":53.333332},{"id":70,"value":22.352942},{"id":6,"value":204.6875},{"id":47,"value":18.82353}]},{"type":1,"timestamp":72897179514717,"intValues":[{"id":3,"value":2},{"id":5,"value":95},{"id":12,"value":6195},{"id":13,"value":29},{"id":31,"value":540}],"floatValues":[{"id":4,"value":109.333336},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":10.588236}]},{"type":1,"timestamp":72899178457633,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":12839},{"id":13,"value":40},{"id":31,"value":542}],"floatValues":[{"id":4,"value":61.77778},{"id":70,"value":22.352942},{"id":6,"value":204.6875},{"id":47,"value":23.529411}]},{"type":1,"timestamp":72901179477573,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":10757},{"id":13,"value":49},{"id":31,"value":544}],"floatValues":[{"id":4,"value":111.55556},{"id":70,"value":22.352942},{"id":6,"value":207.03125},{"id":47,"value":27.450981}]},{"type":1,"timestamp":72903179086670,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":12836},{"id":13,"value":61},{"id":31,"value":546}],"floatValues":[{"id":4,"value":85.77778},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":28.62745}]},{"type":1,"timestamp":72905177385416,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":10042},{"id":13,"value":65},{"id":31,"value":548}],"floatValues":[{"id":4,"value":34.22222},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":32.941177}]},{"type":1,"timestamp":72907178215527,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":9733},{"id":13,"value":66},{"id":31,"value":550}],"floatValues":[{"id":4,"value":111.55556},{"id":70,"value":22.352942},{"id":6,"value":216.40625},{"id":47,"value":26.27451}]},{"type":1,"timestamp":72909179246647,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":10302},{"id":13,"value":70},{"id":31,"value":552}],"floatValues":[{"id":4,"value":56.88889},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":27.450981}]},{"type":1,"timestamp":72911180048703,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":15104},{"id":13,"value":73},{"id":31,"value":554}],"floatValues":[{"id":4,"value":111.111115},{"id":70,"value":22.352942},{"id":6,"value":209.375},{"id":47,"value":19.215687}]},{"type":1,"timestamp":72913178558121,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":16423},{"id":13,"value":86},{"id":31,"value":556}],"floatValues":[{"id":4,"value":75.111115},{"id":70,"value":22.352942}]},{"type":1,"timestamp":72915176591525,"intValues":[],"floatValues":[]},{"type":1,"timestamp":72917180004744,"intValues":[],"floatValues":[]},{"type":1,"timestamp":72919178449026,"intValues":[],"floatValues":[]},{"type":1,"timestamp":72921179933335,"intValues":[],"floatValues":[]},{"type":1,"timestamp":72923179387974,"intValues":[],"floatValues":[]},{"type":1,"timestamp":72925179338880,"intValues":[],"floatValues":[]},{"type":1,"timestamp":72927176345108,"intValues":[],"floatValues":[]},{"type":1,"timestamp":72929179848799,"intValues":[],"floatValues":[]},{"type":1,"timestamp":72931179314858,"intValues":[],"floatValues":[]},{"type":1,"timestamp":72933180632674,"intValues":[],"floatValues":[]},{"type":1,"timestamp":72935179793063,"intValues":[],"floatValues":[]},{"type":1,"timestamp":72937178822539,"intValues":[],"floatValues":[]},{"type":1,"timestamp":72939177286298,"intValues":[],"floatValues":[]},{"type":1,"timestamp":72941177772999,"intValues":[],"floatValues":[]},{"type":1,"timestamp":72943177666251,"intValues":[],"floatValues":[]},{"type":1,"timestamp":72945180047718,"intValues":[],"floatValues":[]},{"type":1,"timestamp":72947179391597,"intValues":[],"floatValues":[]},{"type":1,"timestamp":72949176920841,"intValues":[],"floatValues":[]},{"type":1,"timestamp":72951177850208,"intValues":[],"floatValues":[]},{"type":1,"timestamp":72953176750100,"intValues":[],"floatValues":[]},{"type":1,"timestamp":72955175939724,"intValues":[],"floatValues":[]},{"type":1,"timestamp":72957177389603,"intValues":[],"floatValues":[]},{"type":1,"timestamp":72959178499462,"intValues":[],"floatValues":[]}]
+[{"type":"live","timestamp":72375175786629,"intValues":[{"id":3,"value":2},{"id":5,"value":64},{"id":12,"value":3080},{"id":13,"value":0},{"id":31,"value":18}],"floatValues":[{"id":4,"value":42.22222},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":31.764706}]},{"type":"live","timestamp":72377177593287,"intValues":[{"id":3,"value":2},{"id":5,"value":64},{"id":12,"value":3084},{"id":13,"value":0},{"id":31,"value":20}],"floatValues":[{"id":4,"value":42.22222},{"id":70,"value":21.960785},{"id":6,"value":216.40625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72379176544788,"intValues":[{"id":3,"value":2},{"id":5,"value":64},{"id":12,"value":3078},{"id":13,"value":0},{"id":31,"value":22}],"floatValues":[{"id":4,"value":41.77778},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":31.764706}]},{"type":"live","timestamp":72381179373780,"intValues":[{"id":3,"value":2},{"id":5,"value":64},{"id":12,"value":2873},{"id":13,"value":0},{"id":31,"value":24}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":21.960785},{"id":6,"value":207.03125},{"id":47,"value":31.764706}]},{"type":"live","timestamp":72383179413967,"intValues":[{"id":3,"value":2},{"id":5,"value":65},{"id":12,"value":3078},{"id":13,"value":0},{"id":31,"value":26}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":31.764706}]},{"type":"live","timestamp":72385179454210,"intValues":[{"id":3,"value":2},{"id":5,"value":65},{"id":12,"value":2869},{"id":13,"value":0},{"id":31,"value":28}],"floatValues":[{"id":4,"value":41.333332},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":31.764706}]},{"type":"live","timestamp":72387176856679,"intValues":[{"id":3,"value":2},{"id":5,"value":66},{"id":12,"value":3090},{"id":13,"value":0},{"id":31,"value":30}],"floatValues":[{"id":4,"value":52.0},{"id":70,"value":21.960785},{"id":6,"value":230.46875},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72389180204642,"intValues":[{"id":3,"value":2},{"id":5,"value":66},{"id":12,"value":4110},{"id":13,"value":1},{"id":31,"value":32}],"floatValues":[{"id":4,"value":68.44444},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":34.11765}]},{"type":"live","timestamp":72391178997905,"intValues":[{"id":3,"value":2},{"id":5,"value":66},{"id":12,"value":3633},{"id":13,"value":5},{"id":31,"value":34}],"floatValues":[{"id":4,"value":51.11111},{"id":70,"value":21.960785},{"id":6,"value":223.4375},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72393179466175,"intValues":[{"id":3,"value":2},{"id":5,"value":67},{"id":12,"value":3135},{"id":13,"value":4},{"id":31,"value":36}],"floatValues":[{"id":4,"value":50.666668},{"id":70,"value":21.960785},{"id":6,"value":230.46875},{"id":47,"value":32.941177}]},{"type":"live","timestamp":72395177442840,"intValues":[{"id":3,"value":2},{"id":5,"value":67},{"id":12,"value":3125},{"id":13,"value":0},{"id":31,"value":38}],"floatValues":[{"id":4,"value":48.444443},{"id":70,"value":21.960785},{"id":6,"value":228.125},{"id":47,"value":27.450981}]},{"type":"live","timestamp":72397179771686,"intValues":[{"id":3,"value":2},{"id":5,"value":68},{"id":12,"value":2857},{"id":13,"value":0},{"id":31,"value":40}],"floatValues":[{"id":4,"value":55.555557},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":26.27451}]},{"type":"live","timestamp":72399177882285,"intValues":[{"id":3,"value":2},{"id":5,"value":68},{"id":12,"value":4899},{"id":13,"value":6},{"id":31,"value":42}],"floatValues":[{"id":4,"value":82.666664},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":17.254902}]},{"type":"live","timestamp":72401178271883,"intValues":[{"id":3,"value":2},{"id":5,"value":68},{"id":12,"value":8483},{"id":13,"value":17},{"id":31,"value":44}],"floatValues":[{"id":4,"value":45.333332},{"id":70,"value":21.960785},{"id":6,"value":237.5},{"id":47,"value":32.941177}]},{"type":"live","timestamp":72403179389890,"intValues":[{"id":3,"value":2},{"id":5,"value":69},{"id":12,"value":5158},{"id":13,"value":18},{"id":31,"value":46}],"floatValues":[{"id":4,"value":28.0},{"id":70,"value":21.960785},{"id":6,"value":188.28125},{"id":47,"value":34.11765}]},{"type":"live","timestamp":72405178339774,"intValues":[{"id":3,"value":2},{"id":5,"value":69},{"id":12,"value":6184},{"id":13,"value":20},{"id":31,"value":48}],"floatValues":[{"id":4,"value":36.0},{"id":70,"value":21.960785},{"id":6,"value":216.40625},{"id":47,"value":34.11765}]},{"type":"live","timestamp":72407178346527,"intValues":[{"id":3,"value":2},{"id":5,"value":70},{"id":12,"value":6207},{"id":13,"value":21},{"id":31,"value":50}],"floatValues":[{"id":4,"value":31.11111},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72409177960280,"intValues":[{"id":3,"value":2},{"id":5,"value":70},{"id":12,"value":5409},{"id":13,"value":19},{"id":31,"value":52}],"floatValues":[{"id":4,"value":28.88889},{"id":70,"value":21.960785},{"id":6,"value":192.96875},{"id":47,"value":36.47059}]},{"type":"live","timestamp":72411176941375,"intValues":[{"id":3,"value":2},{"id":5,"value":71},{"id":12,"value":5653},{"id":13,"value":18},{"id":31,"value":54}],"floatValues":[{"id":4,"value":92.888885},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":24.705883}]},{"type":"live","timestamp":72413177348486,"intValues":[{"id":3,"value":2},{"id":5,"value":71},{"id":12,"value":7988},{"id":13,"value":26},{"id":31,"value":56}],"floatValues":[{"id":4,"value":31.555555},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":32.941177}]},{"type":"live","timestamp":72415176509329,"intValues":[{"id":3,"value":2},{"id":5,"value":72},{"id":12,"value":4134},{"id":13,"value":21},{"id":31,"value":58}],"floatValues":[{"id":4,"value":33.333332},{"id":70,"value":21.960785},{"id":6,"value":176.5625},{"id":47,"value":32.941177}]},{"type":"live","timestamp":72417178548720,"intValues":[{"id":3,"value":2},{"id":5,"value":72},{"id":12,"value":3109},{"id":13,"value":14},{"id":31,"value":60}],"floatValues":[{"id":4,"value":49.333332},{"id":70,"value":21.960785},{"id":6,"value":192.96875},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72419178377617,"intValues":[{"id":3,"value":2},{"id":5,"value":73},{"id":12,"value":3635},{"id":13,"value":16},{"id":31,"value":62}],"floatValues":[{"id":4,"value":44.88889},{"id":70,"value":21.960785},{"id":6,"value":223.4375},{"id":47,"value":28.62745}]},{"type":"live","timestamp":72421177803572,"intValues":[{"id":3,"value":2},{"id":5,"value":73},{"id":12,"value":3619},{"id":13,"value":11},{"id":31,"value":64}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":228.125},{"id":47,"value":34.11765}]},{"type":"live","timestamp":72423176710009,"intValues":[{"id":3,"value":2},{"id":5,"value":74},{"id":12,"value":4637},{"id":13,"value":10},{"id":31,"value":66}],"floatValues":[{"id":4,"value":36.0},{"id":70,"value":21.960785},{"id":6,"value":216.40625},{"id":47,"value":35.686275}]},{"type":"live","timestamp":72425176560994,"intValues":[{"id":3,"value":2},{"id":5,"value":74},{"id":12,"value":7199},{"id":13,"value":15},{"id":31,"value":68}],"floatValues":[{"id":4,"value":36.0},{"id":70,"value":21.960785},{"id":6,"value":228.125},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72427175927486,"intValues":[{"id":3,"value":2},{"id":5,"value":75},{"id":12,"value":3894},{"id":13,"value":11},{"id":31,"value":70}],"floatValues":[{"id":4,"value":47.555557},{"id":70,"value":21.960785},{"id":6,"value":211.71875},{"id":47,"value":24.705883}]},{"type":"live","timestamp":72429178132978,"intValues":[{"id":3,"value":2},{"id":5,"value":75},{"id":12,"value":3108},{"id":13,"value":1},{"id":31,"value":72}],"floatValues":[{"id":4,"value":48.0},{"id":70,"value":21.960785},{"id":6,"value":218.75},{"id":47,"value":27.450981}]},{"type":"live","timestamp":72431177381669,"intValues":[{"id":3,"value":2},{"id":5,"value":75},{"id":12,"value":3087},{"id":13,"value":0},{"id":31,"value":74}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":216.40625},{"id":47,"value":27.450981}]},{"type":"live","timestamp":72433178039132,"intValues":[{"id":3,"value":2},{"id":5,"value":76},{"id":12,"value":3091},{"id":13,"value":0},{"id":31,"value":76}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72435178023153,"intValues":[{"id":3,"value":2},{"id":5,"value":76},{"id":12,"value":3090},{"id":13,"value":0},{"id":31,"value":78}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":216.40625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72437177860993,"intValues":[{"id":3,"value":2},{"id":5,"value":77},{"id":12,"value":3083},{"id":13,"value":0},{"id":31,"value":80}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72439177936939,"intValues":[{"id":3,"value":2},{"id":5,"value":77},{"id":12,"value":3080},{"id":13,"value":0},{"id":31,"value":82}],"floatValues":[{"id":4,"value":45.333332},{"id":70,"value":21.960785},{"id":6,"value":211.71875},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72441178444751,"intValues":[{"id":3,"value":2},{"id":5,"value":77},{"id":12,"value":3078},{"id":13,"value":0},{"id":31,"value":84}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":216.40625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72443176930748,"intValues":[{"id":3,"value":2},{"id":5,"value":78},{"id":12,"value":3077},{"id":13,"value":0},{"id":31,"value":86}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":211.71875},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72445178255526,"intValues":[{"id":3,"value":2},{"id":5,"value":78},{"id":12,"value":3078},{"id":13,"value":0},{"id":31,"value":88}],"floatValues":[{"id":4,"value":46.22222},{"id":70,"value":21.960785},{"id":6,"value":211.71875},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72447175742708,"intValues":[{"id":3,"value":2},{"id":5,"value":78},{"id":12,"value":3082},{"id":13,"value":0},{"id":31,"value":90}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":31.37255}]},{"type":"live","timestamp":72449178336056,"intValues":[{"id":3,"value":2},{"id":5,"value":79},{"id":12,"value":3076},{"id":13,"value":0},{"id":31,"value":92}],"floatValues":[{"id":4,"value":45.333332},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72451176649982,"intValues":[{"id":3,"value":2},{"id":5,"value":79},{"id":12,"value":3080},{"id":13,"value":0},{"id":31,"value":94}],"floatValues":[{"id":4,"value":46.22222},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":30.588236}]},{"type":"live","timestamp":72453177388904,"intValues":[{"id":3,"value":2},{"id":5,"value":79},{"id":12,"value":2879},{"id":13,"value":0},{"id":31,"value":96}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72455178049520,"intValues":[{"id":3,"value":2},{"id":5,"value":79},{"id":12,"value":3076},{"id":13,"value":0},{"id":31,"value":98}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":204.6875},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72457178189969,"intValues":[{"id":3,"value":2},{"id":5,"value":80},{"id":12,"value":3082},{"id":13,"value":0},{"id":31,"value":100}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72459177706926,"intValues":[{"id":3,"value":2},{"id":5,"value":80},{"id":12,"value":2877},{"id":13,"value":0},{"id":31,"value":102}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":204.6875},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72461176388948,"intValues":[{"id":3,"value":2},{"id":5,"value":80},{"id":12,"value":3076},{"id":13,"value":0},{"id":31,"value":104}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":207.03125},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72463178194570,"intValues":[{"id":3,"value":2},{"id":5,"value":81},{"id":12,"value":3077},{"id":13,"value":0},{"id":31,"value":106}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":211.71875},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72465178204165,"intValues":[{"id":3,"value":2},{"id":5,"value":81},{"id":12,"value":3072},{"id":13,"value":0},{"id":31,"value":108}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":204.6875},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72467178005994,"intValues":[{"id":3,"value":2},{"id":5,"value":81},{"id":12,"value":3082},{"id":13,"value":0},{"id":31,"value":110}],"floatValues":[{"id":4,"value":46.22222},{"id":70,"value":21.960785},{"id":6,"value":207.03125},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72469178443939,"intValues":[{"id":3,"value":2},{"id":5,"value":82},{"id":12,"value":2879},{"id":13,"value":0},{"id":31,"value":112}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72471176771874,"intValues":[{"id":3,"value":2},{"id":5,"value":82},{"id":12,"value":3080},{"id":13,"value":0},{"id":31,"value":114}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72473179942657,"intValues":[{"id":3,"value":2},{"id":5,"value":82},{"id":12,"value":3077},{"id":13,"value":0},{"id":31,"value":116}],"floatValues":[{"id":4,"value":46.22222},{"id":70,"value":21.960785},{"id":6,"value":204.6875},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72475177449291,"intValues":[{"id":3,"value":2},{"id":5,"value":82},{"id":12,"value":2877},{"id":13,"value":0},{"id":31,"value":118}],"floatValues":[{"id":4,"value":46.22222},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72477179209812,"intValues":[{"id":3,"value":2},{"id":5,"value":83},{"id":12,"value":3079},{"id":13,"value":0},{"id":31,"value":120}],"floatValues":[{"id":4,"value":46.22222},{"id":70,"value":21.960785},{"id":6,"value":204.6875},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72479178421641,"intValues":[{"id":3,"value":2},{"id":5,"value":83},{"id":12,"value":3073},{"id":13,"value":0},{"id":31,"value":122}],"floatValues":[{"id":4,"value":46.22222},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":31.764706}]},{"type":"live","timestamp":72481179539631,"intValues":[{"id":3,"value":2},{"id":5,"value":83},{"id":12,"value":3078},{"id":13,"value":0},{"id":31,"value":124}],"floatValues":[{"id":4,"value":46.666668},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72483178480110,"intValues":[{"id":3,"value":2},{"id":5,"value":83},{"id":12,"value":3082},{"id":13,"value":0},{"id":31,"value":126}],"floatValues":[{"id":4,"value":46.22222},{"id":70,"value":21.960785},{"id":6,"value":204.6875},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72485180096548,"intValues":[{"id":3,"value":2},{"id":5,"value":84},{"id":12,"value":3073},{"id":13,"value":0},{"id":31,"value":128}],"floatValues":[{"id":4,"value":46.22222},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72487178424406,"intValues":[{"id":3,"value":2},{"id":5,"value":84},{"id":12,"value":3075},{"id":13,"value":0},{"id":31,"value":130}],"floatValues":[{"id":4,"value":47.11111},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72489180054622,"intValues":[{"id":3,"value":2},{"id":5,"value":84},{"id":12,"value":3081},{"id":13,"value":0},{"id":31,"value":132}],"floatValues":[{"id":4,"value":46.22222},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72491179557027,"intValues":[{"id":3,"value":2},{"id":5,"value":85},{"id":12,"value":2878},{"id":13,"value":0},{"id":31,"value":134}],"floatValues":[{"id":4,"value":46.22222},{"id":70,"value":21.960785},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72493177727317,"intValues":[{"id":3,"value":2},{"id":5,"value":85},{"id":12,"value":3082},{"id":13,"value":0},{"id":31,"value":136}],"floatValues":[{"id":4,"value":46.666668},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":31.764706}]},{"type":"live","timestamp":72495177794472,"intValues":[{"id":3,"value":2},{"id":5,"value":85},{"id":12,"value":2879},{"id":13,"value":0},{"id":31,"value":138}],"floatValues":[{"id":4,"value":46.666668},{"id":70,"value":21.960785},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72497177210035,"intValues":[{"id":3,"value":2},{"id":5,"value":85},{"id":12,"value":3074},{"id":13,"value":0},{"id":31,"value":140}],"floatValues":[{"id":4,"value":47.11111},{"id":70,"value":21.960785},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72499180474808,"intValues":[{"id":3,"value":2},{"id":5,"value":86},{"id":12,"value":3085},{"id":13,"value":0},{"id":31,"value":142}],"floatValues":[{"id":4,"value":46.666668},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72501178578880,"intValues":[{"id":3,"value":2},{"id":5,"value":86},{"id":12,"value":3072},{"id":13,"value":0},{"id":31,"value":144}],"floatValues":[{"id":4,"value":47.11111},{"id":70,"value":21.960785},{"id":6,"value":188.28125},{"id":47,"value":27.450981}]},{"type":"live","timestamp":72503179731578,"intValues":[{"id":3,"value":2},{"id":5,"value":86},{"id":12,"value":7177},{"id":13,"value":11},{"id":31,"value":146}],"floatValues":[{"id":4,"value":49.77778},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":22.745098}]},{"type":"live","timestamp":72505177292755,"intValues":[{"id":3,"value":2},{"id":5,"value":86},{"id":12,"value":4126},{"id":13,"value":15},{"id":31,"value":148}],"floatValues":[{"id":4,"value":41.333332},{"id":70,"value":21.960785},{"id":6,"value":192.96875},{"id":47,"value":22.745098}]},{"type":"live","timestamp":72507176773477,"intValues":[{"id":3,"value":2},{"id":5,"value":86},{"id":12,"value":6438},{"id":13,"value":20},{"id":31,"value":150}],"floatValues":[{"id":4,"value":77.333336},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":22.745098}]},{"type":"live","timestamp":72509177195082,"intValues":[{"id":3,"value":2},{"id":5,"value":86},{"id":12,"value":8746},{"id":13,"value":30},{"id":31,"value":152}],"floatValues":[{"id":4,"value":112.888885},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":8.627451}]},{"type":"live","timestamp":72511175989969,"intValues":[{"id":3,"value":2},{"id":5,"value":86},{"id":12,"value":14082},{"id":13,"value":44},{"id":31,"value":154}],"floatValues":[{"id":4,"value":103.111115},{"id":70,"value":21.960785},{"id":6,"value":211.71875},{"id":47,"value":20.784313}]},{"type":"live","timestamp":72513179658544,"intValues":[{"id":3,"value":2},{"id":5,"value":86},{"id":12,"value":15639},{"id":13,"value":54},{"id":31,"value":156}],"floatValues":[{"id":4,"value":73.333336},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":26.27451}]},{"type":"live","timestamp":72515179414407,"intValues":[{"id":3,"value":2},{"id":5,"value":85},{"id":12,"value":10268},{"id":13,"value":59},{"id":31,"value":158}],"floatValues":[{"id":4,"value":63.555557},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72517176297337,"intValues":[{"id":3,"value":2},{"id":5,"value":85},{"id":12,"value":5928},{"id":13,"value":60},{"id":31,"value":160}],"floatValues":[{"id":4,"value":24.0},{"id":70,"value":21.960785},{"id":6,"value":146.09375},{"id":47,"value":34.901962}]},{"type":"live","timestamp":72519176826185,"intValues":[{"id":3,"value":2},{"id":5,"value":85},{"id":12,"value":6418},{"id":13,"value":58},{"id":31,"value":162}],"floatValues":[{"id":4,"value":59.555557},{"id":70,"value":21.960785},{"id":6,"value":188.28125},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72521179790904,"intValues":[{"id":3,"value":2},{"id":5,"value":85},{"id":12,"value":6179},{"id":13,"value":59},{"id":31,"value":164}],"floatValues":[{"id":4,"value":34.22222},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":34.11765}]},{"type":"live","timestamp":72523180627127,"intValues":[{"id":3,"value":2},{"id":5,"value":85},{"id":12,"value":7483},{"id":13,"value":59},{"id":31,"value":166}],"floatValues":[{"id":4,"value":99.55556},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":28.62745}]},{"type":"live","timestamp":72525177789023,"intValues":[{"id":3,"value":2},{"id":5,"value":86},{"id":12,"value":6660},{"id":13,"value":63},{"id":31,"value":168}],"floatValues":[{"id":4,"value":96.888885},{"id":70,"value":21.960785},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72527175560417,"intValues":[{"id":3,"value":2},{"id":5,"value":86},{"id":12,"value":8460},{"id":13,"value":66},{"id":31,"value":170}],"floatValues":[{"id":4,"value":54.666668},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72529179499137,"intValues":[{"id":3,"value":2},{"id":5,"value":86},{"id":12,"value":5431},{"id":13,"value":56},{"id":31,"value":172}],"floatValues":[{"id":4,"value":20.0},{"id":70,"value":21.960785},{"id":6,"value":167.1875},{"id":47,"value":31.764706}]},{"type":"live","timestamp":72531178292369,"intValues":[{"id":3,"value":4},{"id":5,"value":86},{"id":12,"value":4868},{"id":13,"value":48},{"id":31,"value":174}],"floatValues":[{"id":4,"value":15.111111},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72533178253439,"intValues":[{"id":3,"value":4},{"id":5,"value":87},{"id":12,"value":7195},{"id":13,"value":47},{"id":31,"value":176}],"floatValues":[{"id":4,"value":83.55556},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72535179199711,"intValues":[{"id":3,"value":2},{"id":5,"value":87},{"id":12,"value":6423},{"id":13,"value":48},{"id":31,"value":178}],"floatValues":[{"id":4,"value":104.0},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":26.27451}]},{"type":"live","timestamp":72537177243028,"intValues":[{"id":3,"value":2},{"id":5,"value":87},{"id":12,"value":11582},{"id":13,"value":55},{"id":31,"value":180}],"floatValues":[{"id":4,"value":112.888885},{"id":70,"value":21.960785},{"id":6,"value":216.40625},{"id":47,"value":22.745098}]},{"type":"live","timestamp":72539180216273,"intValues":[{"id":3,"value":2},{"id":5,"value":87},{"id":12,"value":13336},{"id":13,"value":67},{"id":31,"value":182}],"floatValues":[{"id":4,"value":113.333336},{"id":70,"value":21.960785},{"id":6,"value":216.40625},{"id":47,"value":26.27451}]},{"type":"live","timestamp":72541176144311,"intValues":[{"id":3,"value":2},{"id":5,"value":87},{"id":12,"value":12304},{"id":13,"value":73},{"id":31,"value":184}],"floatValues":[{"id":4,"value":24.0},{"id":70,"value":21.960785},{"id":6,"value":174.21875},{"id":47,"value":24.705883}]},{"type":"live","timestamp":72543178195294,"intValues":[{"id":3,"value":2},{"id":5,"value":87},{"id":12,"value":6717},{"id":13,"value":68},{"id":31,"value":186}],"floatValues":[{"id":4,"value":20.88889},{"id":70,"value":21.960785},{"id":6,"value":181.25},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72545176834995,"intValues":[{"id":3,"value":4},{"id":5,"value":86},{"id":12,"value":4654},{"id":13,"value":47},{"id":31,"value":188}],"floatValues":[{"id":4,"value":20.444445},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72547177907339,"intValues":[{"id":3,"value":2},{"id":5,"value":86},{"id":12,"value":3330},{"id":13,"value":30},{"id":31,"value":190}],"floatValues":[{"id":4,"value":29.333334},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":34.901962}]},{"type":"live","timestamp":72549179735735,"intValues":[{"id":3,"value":2},{"id":5,"value":87},{"id":12,"value":3097},{"id":13,"value":13},{"id":31,"value":192}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":34.901962}]},{"type":"live","timestamp":72551181754526,"intValues":[{"id":3,"value":2},{"id":5,"value":87},{"id":12,"value":3088},{"id":13,"value":2},{"id":31,"value":194}],"floatValues":[{"id":4,"value":45.77778},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":34.11765}]},{"type":"live","timestamp":72553177986304,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":3075},{"id":13,"value":0},{"id":31,"value":196}],"floatValues":[{"id":4,"value":42.666668},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":26.27451}]},{"type":"live","timestamp":72555176967736,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":3072},{"id":13,"value":0},{"id":31,"value":198}],"floatValues":[{"id":4,"value":41.77778},{"id":70,"value":21.960785},{"id":6,"value":207.03125},{"id":47,"value":26.27451}]},{"type":"live","timestamp":72557177160577,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":3074},{"id":13,"value":0},{"id":31,"value":200}],"floatValues":[{"id":4,"value":41.77778},{"id":70,"value":21.960785},{"id":6,"value":214.0625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72559179745844,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":2873},{"id":13,"value":0},{"id":31,"value":202}],"floatValues":[{"id":4,"value":42.22222},{"id":70,"value":21.960785},{"id":6,"value":204.6875},{"id":47,"value":33.333332}]},{"type":"live","timestamp":72561176203928,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":2878},{"id":13,"value":0},{"id":31,"value":204}],"floatValues":[{"id":4,"value":42.666668},{"id":70,"value":21.960785},{"id":6,"value":207.03125},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72563177799351,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":3072},{"id":13,"value":0},{"id":31,"value":206}],"floatValues":[{"id":4,"value":42.666668},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72565177953894,"intValues":[{"id":3,"value":2},{"id":5,"value":90},{"id":12,"value":2870},{"id":13,"value":0},{"id":31,"value":208}],"floatValues":[{"id":4,"value":42.666668},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72567176653777,"intValues":[{"id":3,"value":2},{"id":5,"value":90},{"id":12,"value":3075},{"id":13,"value":0},{"id":31,"value":210}],"floatValues":[{"id":4,"value":42.666668},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72569178043717,"intValues":[{"id":3,"value":2},{"id":5,"value":90},{"id":12,"value":2872},{"id":13,"value":0},{"id":31,"value":212}],"floatValues":[{"id":4,"value":43.11111},{"id":70,"value":21.960785},{"id":6,"value":204.6875},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72571178251056,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":3082},{"id":13,"value":0},{"id":31,"value":214}],"floatValues":[{"id":4,"value":43.11111},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72573176628436,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":3072},{"id":13,"value":0},{"id":31,"value":216}],"floatValues":[{"id":4,"value":43.11111},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72575177840420,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":2879},{"id":13,"value":0},{"id":31,"value":218}],"floatValues":[{"id":4,"value":43.11111},{"id":70,"value":21.960785},{"id":6,"value":204.6875},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72577176563646,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":3079},{"id":13,"value":0},{"id":31,"value":220}],"floatValues":[{"id":4,"value":43.555557},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72579179164504,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":2876},{"id":13,"value":0},{"id":31,"value":222}],"floatValues":[{"id":4,"value":43.11111},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72581177838286,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":3074},{"id":13,"value":0},{"id":31,"value":224}],"floatValues":[{"id":4,"value":43.555557},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72583178358480,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":3078},{"id":13,"value":0},{"id":31,"value":226}],"floatValues":[{"id":4,"value":43.555557},{"id":70,"value":21.960785},{"id":6,"value":207.03125},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72585177901670,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3074},{"id":13,"value":0},{"id":31,"value":228}],"floatValues":[{"id":4,"value":43.11111},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72587177734144,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3076},{"id":13,"value":0},{"id":31,"value":230}],"floatValues":[{"id":4,"value":43.555557},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72589179333460,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3080},{"id":13,"value":0},{"id":31,"value":232}],"floatValues":[{"id":4,"value":43.555557},{"id":70,"value":21.960785},{"id":6,"value":207.03125},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72591178129065,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":2878},{"id":13,"value":0},{"id":31,"value":234}],"floatValues":[{"id":4,"value":43.555557},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72593177596819,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3082},{"id":13,"value":0},{"id":31,"value":236}],"floatValues":[{"id":4,"value":43.555557},{"id":70,"value":21.960785},{"id":6,"value":204.6875},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72595178384378,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3076},{"id":13,"value":0},{"id":31,"value":238}],"floatValues":[{"id":4,"value":44.444443},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72597178056865,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3075},{"id":13,"value":0},{"id":31,"value":240}],"floatValues":[{"id":4,"value":43.555557},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72599179833740,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":2872},{"id":13,"value":0},{"id":31,"value":243}],"floatValues":[{"id":4,"value":43.555557},{"id":70,"value":21.960785},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72601176651309,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3077},{"id":13,"value":0},{"id":31,"value":244}],"floatValues":[{"id":4,"value":44.444443},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72603177566065,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3083},{"id":13,"value":0},{"id":31,"value":246}],"floatValues":[{"id":4,"value":44.0},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72605178128004,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3080},{"id":13,"value":0},{"id":31,"value":248}],"floatValues":[{"id":4,"value":44.0},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72607179599532,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3077},{"id":13,"value":0},{"id":31,"value":250}],"floatValues":[{"id":4,"value":44.0},{"id":70,"value":21.960785},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72609179437284,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3081},{"id":13,"value":0},{"id":31,"value":252}],"floatValues":[{"id":4,"value":44.0},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72611179630474,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3080},{"id":13,"value":0},{"id":31,"value":254}],"floatValues":[{"id":4,"value":44.0},{"id":70,"value":21.960785},{"id":6,"value":192.96875},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72613179774544,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":2879},{"id":13,"value":0},{"id":31,"value":256}],"floatValues":[{"id":4,"value":44.0},{"id":70,"value":21.960785},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72615178404973,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3073},{"id":13,"value":0},{"id":31,"value":258}],"floatValues":[{"id":4,"value":44.444443},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72617179059428,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":2879},{"id":13,"value":0},{"id":31,"value":260}],"floatValues":[{"id":4,"value":44.444443},{"id":70,"value":21.960785},{"id":6,"value":188.28125},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72619180105086,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3076},{"id":13,"value":0},{"id":31,"value":262}],"floatValues":[{"id":4,"value":44.444443},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72621179098902,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3104},{"id":13,"value":1},{"id":31,"value":264}],"floatValues":[{"id":4,"value":59.555557},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72623179359108,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":8255},{"id":13,"value":15},{"id":31,"value":266}],"floatValues":[{"id":4,"value":100.888885},{"id":70,"value":21.960785},{"id":6,"value":204.6875},{"id":47,"value":9.411765}]},{"type":"live","timestamp":72625179856484,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":11276},{"id":13,"value":33},{"id":31,"value":268}],"floatValues":[{"id":4,"value":99.55556},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":15.686275}]},{"type":"live","timestamp":72627176310119,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":15618},{"id":13,"value":50},{"id":31,"value":270}],"floatValues":[{"id":4,"value":90.666664},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":26.27451}]},{"type":"live","timestamp":72629177201984,"intValues":[{"id":3,"value":2},{"id":5,"value":90},{"id":12,"value":13109},{"id":13,"value":63},{"id":31,"value":272}],"floatValues":[{"id":4,"value":111.55556},{"id":70,"value":21.960785},{"id":6,"value":216.40625},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72631177723851,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":14343},{"id":13,"value":74},{"id":31,"value":274}],"floatValues":[{"id":4,"value":111.55556},{"id":70,"value":21.960785},{"id":6,"value":211.71875},{"id":47,"value":17.647058}]},{"type":"live","timestamp":72633179257550,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":15921},{"id":13,"value":83},{"id":31,"value":276}],"floatValues":[{"id":4,"value":21.777779},{"id":70,"value":21.960785},{"id":6,"value":192.96875},{"id":47,"value":9.803922}]},{"type":"live","timestamp":72635179273140,"intValues":[{"id":3,"value":2},{"id":5,"value":87},{"id":12,"value":4400},{"id":13,"value":55},{"id":31,"value":278}],"floatValues":[{"id":4,"value":34.666668},{"id":70,"value":21.960785},{"id":6,"value":183.59375},{"id":47,"value":26.27451}]},{"type":"live","timestamp":72637179409130,"intValues":[{"id":3,"value":2},{"id":5,"value":87},{"id":12,"value":3117},{"id":13,"value":32},{"id":31,"value":280}],"floatValues":[{"id":4,"value":30.666666},{"id":70,"value":21.960785},{"id":6,"value":183.59375},{"id":47,"value":28.62745}]},{"type":"live","timestamp":72639179800268,"intValues":[{"id":3,"value":2},{"id":5,"value":87},{"id":12,"value":3108},{"id":13,"value":26},{"id":31,"value":282}],"floatValues":[{"id":4,"value":29.333334},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":28.62745}]},{"type":"live","timestamp":72641179405070,"intValues":[{"id":3,"value":2},{"id":5,"value":87},{"id":12,"value":3106},{"id":13,"value":21},{"id":31,"value":284}],"floatValues":[{"id":4,"value":32.88889},{"id":70,"value":21.960785},{"id":6,"value":195.3125},{"id":47,"value":34.11765}]},{"type":"live","timestamp":72643179866403,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":4115},{"id":13,"value":17},{"id":31,"value":286}],"floatValues":[{"id":4,"value":111.111115},{"id":70,"value":21.960785},{"id":6,"value":207.03125},{"id":47,"value":17.254902}]},{"type":"live","timestamp":72645178430456,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":8991},{"id":13,"value":30},{"id":31,"value":288}],"floatValues":[{"id":4,"value":112.44444},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":26.27451}]},{"type":"live","timestamp":72647178451017,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":9513},{"id":13,"value":43},{"id":31,"value":290}],"floatValues":[{"id":4,"value":95.55556},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":28.62745}]},{"type":"live","timestamp":72649179500927,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":9518},{"id":13,"value":50},{"id":31,"value":292}],"floatValues":[{"id":4,"value":27.555555},{"id":70,"value":21.960785},{"id":6,"value":195.3125},{"id":47,"value":34.509804}]},{"type":"live","timestamp":72651179611409,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":6418},{"id":13,"value":49},{"id":31,"value":294}],"floatValues":[{"id":4,"value":19.555555},{"id":70,"value":21.960785},{"id":6,"value":178.90625},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72653178456810,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":5173},{"id":13,"value":40},{"id":31,"value":296}],"floatValues":[{"id":4,"value":20.88889},{"id":70,"value":21.960785},{"id":6,"value":188.28125},{"id":47,"value":34.11765}]},{"type":"live","timestamp":72655180014824,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":4112},{"id":13,"value":32},{"id":31,"value":298}],"floatValues":[{"id":4,"value":28.444445},{"id":70,"value":21.960785},{"id":6,"value":185.9375},{"id":47,"value":32.941177}]},{"type":"live","timestamp":72657180944053,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":8720},{"id":13,"value":37},{"id":31,"value":300}],"floatValues":[{"id":4,"value":113.333336},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":28.62745}]},{"type":"live","timestamp":72659179332880,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":16412},{"id":13,"value":52},{"id":31,"value":302}],"floatValues":[{"id":4,"value":109.333336},{"id":70,"value":21.960785},{"id":6,"value":216.40625},{"id":47,"value":12.54902}]},{"type":"live","timestamp":72661177765487,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":13828},{"id":13,"value":61},{"id":31,"value":304}],"floatValues":[{"id":4,"value":22.666666},{"id":70,"value":21.960785},{"id":6,"value":178.90625},{"id":47,"value":32.941177}]},{"type":"live","timestamp":72663177689968,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":6447},{"id":13,"value":61},{"id":31,"value":306}],"floatValues":[{"id":4,"value":28.88889},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":34.11765}]},{"type":"live","timestamp":72665177450571,"intValues":[{"id":3,"value":2},{"id":5,"value":87},{"id":12,"value":5657},{"id":13,"value":56},{"id":31,"value":308}],"floatValues":[{"id":4,"value":16.88889},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72667179692696,"intValues":[{"id":3,"value":4},{"id":5,"value":87},{"id":12,"value":4873},{"id":13,"value":48},{"id":31,"value":310}],"floatValues":[{"id":4,"value":19.11111},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":35.686275}]},{"type":"live","timestamp":72669179293955,"intValues":[{"id":3,"value":4},{"id":5,"value":87},{"id":12,"value":3613},{"id":13,"value":34},{"id":31,"value":312}],"floatValues":[{"id":4,"value":27.11111},{"id":70,"value":21.960785},{"id":6,"value":185.9375},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72671177593842,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":3131},{"id":13,"value":19},{"id":31,"value":314}],"floatValues":[{"id":4,"value":30.222221},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":36.862747}]},{"type":"live","timestamp":72673177057067,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":3844},{"id":13,"value":8},{"id":31,"value":316}],"floatValues":[{"id":4,"value":36.444443},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":34.901962}]},{"type":"live","timestamp":72675179630131,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":3080},{"id":13,"value":0},{"id":31,"value":318}],"floatValues":[{"id":4,"value":43.555557},{"id":70,"value":21.960785},{"id":6,"value":209.375},{"id":47,"value":28.62745}]},{"type":"live","timestamp":72677179714055,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":2866},{"id":13,"value":1},{"id":31,"value":320}],"floatValues":[{"id":4,"value":42.666668},{"id":70,"value":21.960785},{"id":6,"value":197.65625},{"id":47,"value":32.941177}]},{"type":"live","timestamp":72679179288433,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":7457},{"id":13,"value":13},{"id":31,"value":322}],"floatValues":[{"id":4,"value":76.0},{"id":70,"value":21.960785},{"id":6,"value":200.0},{"id":47,"value":10.588236}]},{"type":"live","timestamp":72681176480810,"intValues":[{"id":3,"value":2},{"id":5,"value":90},{"id":12,"value":9272},{"id":13,"value":27},{"id":31,"value":324}],"floatValues":[{"id":4,"value":105.77778},{"id":70,"value":21.960785},{"id":6,"value":204.6875},{"id":47,"value":15.686275}]},{"type":"live","timestamp":72683179662780,"intValues":[{"id":3,"value":2},{"id":5,"value":90},{"id":12,"value":13585},{"id":13,"value":43},{"id":31,"value":326}],"floatValues":[{"id":4,"value":87.55556},{"id":70,"value":21.960785},{"id":6,"value":211.71875},{"id":47,"value":28.62745}]},{"type":"live","timestamp":72685177751997,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":11024},{"id":13,"value":53},{"id":31,"value":328}],"floatValues":[{"id":4,"value":42.666668},{"id":70,"value":21.960785},{"id":6,"value":190.625},{"id":47,"value":20.784313}]},{"type":"live","timestamp":72687177061206,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":6927},{"id":13,"value":51},{"id":31,"value":330}],"floatValues":[{"id":4,"value":18.222221},{"id":70,"value":21.960785},{"id":6,"value":155.46875},{"id":47,"value":28.62745}]},{"type":"live","timestamp":72689176965248,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":5148},{"id":13,"value":38},{"id":31,"value":332}],"floatValues":[{"id":4,"value":21.333334},{"id":70,"value":21.960785},{"id":6,"value":157.8125},{"id":47,"value":34.11765}]},{"type":"live","timestamp":72691180692310,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":3594},{"id":13,"value":29},{"id":31,"value":334}],"floatValues":[{"id":4,"value":26.222221},{"id":70,"value":21.960785},{"id":6,"value":139.0625},{"id":47,"value":26.27451}]},{"type":"live","timestamp":72693178299558,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":3350},{"id":13,"value":25},{"id":31,"value":336}],"floatValues":[{"id":4,"value":48.88889},{"id":70,"value":21.960785},{"id":6,"value":185.9375},{"id":47,"value":18.82353}]},{"type":"live","timestamp":72695178266771,"intValues":[{"id":3,"value":2},{"id":5,"value":88},{"id":12,"value":8456},{"id":13,"value":34},{"id":31,"value":338}],"floatValues":[{"id":4,"value":79.55556},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":26.27451}]},{"type":"live","timestamp":72697178378315,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":6163},{"id":13,"value":40},{"id":31,"value":340}],"floatValues":[{"id":4,"value":30.666666},{"id":70,"value":21.960785},{"id":6,"value":185.9375},{"id":47,"value":36.47059}]},{"type":"live","timestamp":72699179440945,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":4886},{"id":13,"value":32},{"id":31,"value":342}],"floatValues":[{"id":4,"value":24.0},{"id":70,"value":21.960785},{"id":6,"value":188.28125},{"id":47,"value":30.588236}]},{"type":"live","timestamp":72701179783621,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":5130},{"id":13,"value":29},{"id":31,"value":344}],"floatValues":[{"id":4,"value":54.22222},{"id":70,"value":21.960785},{"id":6,"value":192.96875},{"id":47,"value":28.62745}]},{"type":"live","timestamp":72703178384562,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":9525},{"id":13,"value":38},{"id":31,"value":346}],"floatValues":[{"id":4,"value":112.888885},{"id":70,"value":21.960785},{"id":6,"value":202.34375},{"id":47,"value":26.27451}]},{"type":"live","timestamp":72705179707825,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":10513},{"id":13,"value":49},{"id":31,"value":348}],"floatValues":[{"id":4,"value":99.55556},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72707177436366,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":8248},{"id":13,"value":54},{"id":31,"value":350}],"floatValues":[{"id":4,"value":76.888885},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":32.941177}]},{"type":"live","timestamp":72709176949975,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":8484},{"id":13,"value":59},{"id":31,"value":352}],"floatValues":[{"id":4,"value":59.11111},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72711179509943,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":5945},{"id":13,"value":61},{"id":31,"value":354}],"floatValues":[{"id":4,"value":74.22222},{"id":70,"value":22.352942},{"id":6,"value":211.71875},{"id":47,"value":32.941177}]},{"type":"live","timestamp":72713179908608,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":6197},{"id":13,"value":61},{"id":31,"value":356}],"floatValues":[{"id":4,"value":23.11111},{"id":70,"value":22.352942},{"id":6,"value":178.90625},{"id":47,"value":34.901962}]},{"type":"live","timestamp":72715178040463,"intValues":[{"id":3,"value":4},{"id":5,"value":89},{"id":12,"value":5904},{"id":13,"value":59},{"id":31,"value":358}],"floatValues":[{"id":4,"value":20.88889},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":34.901962}]},{"type":"live","timestamp":72717179826935,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":6154},{"id":13,"value":60},{"id":31,"value":360}],"floatValues":[{"id":4,"value":35.11111},{"id":70,"value":22.352942},{"id":6,"value":207.03125},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72719178168768,"intValues":[{"id":3,"value":2},{"id":5,"value":90},{"id":12,"value":5636},{"id":13,"value":59},{"id":31,"value":362}],"floatValues":[{"id":4,"value":16.88889},{"id":70,"value":22.352942},{"id":6,"value":181.25},{"id":47,"value":28.62745}]},{"type":"live","timestamp":72721179101986,"intValues":[{"id":3,"value":4},{"id":5,"value":90},{"id":12,"value":5411},{"id":13,"value":54},{"id":31,"value":364}],"floatValues":[{"id":4,"value":54.666668},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":24.705883}]},{"type":"live","timestamp":72723180021513,"intValues":[{"id":3,"value":2},{"id":5,"value":90},{"id":12,"value":5688},{"id":13,"value":55},{"id":31,"value":366}],"floatValues":[{"id":4,"value":24.444445},{"id":70,"value":22.352942},{"id":6,"value":195.3125},{"id":47,"value":32.941177}]},{"type":"live","timestamp":72725179738209,"intValues":[{"id":3,"value":2},{"id":5,"value":90},{"id":12,"value":5903},{"id":13,"value":55},{"id":31,"value":368}],"floatValues":[{"id":4,"value":48.88889},{"id":70,"value":22.352942},{"id":6,"value":211.71875},{"id":47,"value":26.27451}]},{"type":"live","timestamp":72727179292538,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":5162},{"id":13,"value":51},{"id":31,"value":370}],"floatValues":[{"id":4,"value":20.88889},{"id":70,"value":22.352942},{"id":6,"value":204.6875},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72729178027625,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":4124},{"id":13,"value":44},{"id":31,"value":372}],"floatValues":[{"id":4,"value":24.0},{"id":70,"value":22.352942},{"id":6,"value":188.28125},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72731178148147,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":3132},{"id":13,"value":37},{"id":31,"value":374}],"floatValues":[{"id":4,"value":23.555555},{"id":70,"value":22.352942},{"id":6,"value":181.25},{"id":47,"value":34.901962}]},{"type":"live","timestamp":72733176368495,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":3128},{"id":13,"value":24},{"id":31,"value":376}],"floatValues":[{"id":4,"value":28.0},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":34.901962}]},{"type":"live","timestamp":72735179502626,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":3089},{"id":13,"value":15},{"id":31,"value":378}],"floatValues":[{"id":4,"value":38.666668},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":39.607845}]},{"type":"live","timestamp":72737179297296,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":2869},{"id":13,"value":0},{"id":31,"value":380}],"floatValues":[{"id":4,"value":42.666668},{"id":70,"value":22.352942},{"id":6,"value":209.375},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72739177718891,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":2877},{"id":13,"value":0},{"id":31,"value":382}],"floatValues":[{"id":4,"value":39.555557},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":26.27451}]},{"type":"live","timestamp":72741177981830,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":2871},{"id":13,"value":0},{"id":31,"value":384}],"floatValues":[{"id":4,"value":39.11111},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":28.62745}]},{"type":"live","timestamp":72743176174851,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":2872},{"id":13,"value":0},{"id":31,"value":387}],"floatValues":[{"id":4,"value":39.11111},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72745329912826,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":2870},{"id":13,"value":0},{"id":31,"value":389}],"floatValues":[{"id":4,"value":39.11111},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72747355080893,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3073},{"id":13,"value":0},{"id":31,"value":391}],"floatValues":[{"id":4,"value":39.555557},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72749176618991,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3077},{"id":13,"value":0},{"id":31,"value":392}],"floatValues":[{"id":4,"value":39.555557},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72751176696798,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":2867},{"id":13,"value":0},{"id":31,"value":394}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72753176964078,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3072},{"id":13,"value":0},{"id":31,"value":396}],"floatValues":[{"id":4,"value":40.0},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72755178349568,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3078},{"id":13,"value":0},{"id":31,"value":398}],"floatValues":[{"id":4,"value":40.0},{"id":70,"value":22.352942},{"id":6,"value":204.6875},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72757178508591,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":2875},{"id":13,"value":0},{"id":31,"value":400}],"floatValues":[{"id":4,"value":40.0},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":30.588236}]},{"type":"live","timestamp":72759176500609,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3074},{"id":13,"value":0},{"id":31,"value":402}],"floatValues":[{"id":4,"value":40.0},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72761176683571,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":2878},{"id":13,"value":0},{"id":31,"value":404}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":195.3125},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72763178363414,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3081},{"id":13,"value":0},{"id":31,"value":406}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72765177437003,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3085},{"id":13,"value":0},{"id":31,"value":408}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72767178204902,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":2877},{"id":13,"value":0},{"id":31,"value":410}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":195.3125},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72769177266732,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3079},{"id":13,"value":0},{"id":31,"value":412}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72771176734323,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3082},{"id":13,"value":0},{"id":31,"value":414}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72773176997295,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3079},{"id":13,"value":0},{"id":31,"value":416}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72775176636900,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3077},{"id":13,"value":0},{"id":31,"value":418}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":204.6875},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72777176589987,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3076},{"id":13,"value":0},{"id":31,"value":420}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":192.96875},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72779178389314,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3075},{"id":13,"value":0},{"id":31,"value":422}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":195.3125},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72781178485901,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3080},{"id":13,"value":0},{"id":31,"value":424}],"floatValues":[{"id":4,"value":41.333332},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72783177805524,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3080},{"id":13,"value":0},{"id":31,"value":426}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":195.3125},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72785177696746,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3081},{"id":13,"value":0},{"id":31,"value":428}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72787177943035,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3085},{"id":13,"value":0},{"id":31,"value":430}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":192.96875},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72789177892167,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3900},{"id":13,"value":2},{"id":31,"value":432}],"floatValues":[{"id":4,"value":84.0},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":11.372549}]},{"type":"live","timestamp":72791176960551,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":6937},{"id":13,"value":15},{"id":31,"value":434}],"floatValues":[{"id":4,"value":73.333336},{"id":70,"value":22.352942},{"id":6,"value":207.03125},{"id":47,"value":17.254902}]},{"type":"live","timestamp":72793179080142,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":10253},{"id":13,"value":30},{"id":31,"value":436}],"floatValues":[{"id":4,"value":100.888885},{"id":70,"value":22.352942},{"id":6,"value":211.71875},{"id":47,"value":10.588236}]},{"type":"live","timestamp":72795177144042,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":14653},{"id":13,"value":46},{"id":31,"value":438}],"floatValues":[{"id":4,"value":104.0},{"id":70,"value":22.352942},{"id":6,"value":214.0625},{"id":47,"value":22.745098}]},{"type":"live","timestamp":72797177311878,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":17934},{"id":13,"value":59},{"id":31,"value":440}],"floatValues":[{"id":4,"value":55.555557},{"id":70,"value":22.352942},{"id":6,"value":209.375},{"id":47,"value":24.705883}]},{"type":"live","timestamp":72799176281873,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":8757},{"id":13,"value":62},{"id":31,"value":442}],"floatValues":[{"id":4,"value":28.444445},{"id":70,"value":22.352942},{"id":6,"value":190.625},{"id":47,"value":22.745098}]},{"type":"live","timestamp":72801179010275,"intValues":[{"id":3,"value":2},{"id":5,"value":90},{"id":12,"value":5642},{"id":13,"value":58},{"id":31,"value":444}],"floatValues":[{"id":4,"value":17.777779},{"id":70,"value":22.352942},{"id":6,"value":188.28125},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72803176720724,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":3630},{"id":13,"value":38},{"id":31,"value":446}],"floatValues":[{"id":4,"value":25.333334},{"id":70,"value":22.352942},{"id":6,"value":171.875},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72805176371184,"intValues":[{"id":3,"value":2},{"id":5,"value":89},{"id":12,"value":3130},{"id":13,"value":27},{"id":31,"value":448}],"floatValues":[{"id":4,"value":25.777779},{"id":70,"value":22.352942},{"id":6,"value":178.90625},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72807176264873,"intValues":[{"id":3,"value":2},{"id":5,"value":90},{"id":12,"value":3091},{"id":13,"value":13},{"id":31,"value":450}],"floatValues":[{"id":4,"value":40.0},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":32.941177}]},{"type":"live","timestamp":72809177130217,"intValues":[{"id":3,"value":2},{"id":5,"value":90},{"id":12,"value":3340},{"id":13,"value":4},{"id":31,"value":452}],"floatValues":[{"id":4,"value":43.11111},{"id":70,"value":22.352942},{"id":6,"value":207.03125},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72811178240749,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":2874},{"id":13,"value":0},{"id":31,"value":454}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":30.19608}]},{"type":"live","timestamp":72813176674429,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":2877},{"id":13,"value":0},{"id":31,"value":456}],"floatValues":[{"id":4,"value":39.555557},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":27.450981}]},{"type":"live","timestamp":72815177036139,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3074},{"id":13,"value":0},{"id":31,"value":458}],"floatValues":[{"id":4,"value":39.11111},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72817178504749,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":2866},{"id":13,"value":0},{"id":31,"value":460}],"floatValues":[{"id":4,"value":39.555557},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72819175954203,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":3072},{"id":13,"value":0},{"id":31,"value":462}],"floatValues":[{"id":4,"value":39.11111},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72821177378507,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":2873},{"id":13,"value":0},{"id":31,"value":464}],"floatValues":[{"id":4,"value":39.555557},{"id":70,"value":22.352942},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72823177069331,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3076},{"id":13,"value":0},{"id":31,"value":466}],"floatValues":[{"id":4,"value":40.0},{"id":70,"value":22.352942},{"id":6,"value":204.6875},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72825179501699,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3073},{"id":13,"value":0},{"id":31,"value":468}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":31.764706}]},{"type":"live","timestamp":72827176421710,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3074},{"id":13,"value":0},{"id":31,"value":470}],"floatValues":[{"id":4,"value":40.0},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72829176386701,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3074},{"id":13,"value":0},{"id":31,"value":472}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":204.6875},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72831176764503,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":2873},{"id":13,"value":0},{"id":31,"value":474}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72833177319130,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3074},{"id":13,"value":0},{"id":31,"value":476}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72835180519900,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":3074},{"id":13,"value":0},{"id":31,"value":478}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":204.6875},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72837178223527,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":2879},{"id":13,"value":0},{"id":31,"value":480}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72839177312748,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3074},{"id":13,"value":0},{"id":31,"value":482}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72841177797843,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3079},{"id":13,"value":0},{"id":31,"value":484}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72843179579857,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3074},{"id":13,"value":0},{"id":31,"value":486}],"floatValues":[{"id":4,"value":40.444443},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72845180133072,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3077},{"id":13,"value":0},{"id":31,"value":488}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72847176774274,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3073},{"id":13,"value":0},{"id":31,"value":490}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72849177384942,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":2879},{"id":13,"value":0},{"id":31,"value":492}],"floatValues":[{"id":4,"value":41.333332},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72851178359655,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3080},{"id":13,"value":0},{"id":31,"value":494}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72853178455898,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3072},{"id":13,"value":0},{"id":31,"value":496}],"floatValues":[{"id":4,"value":40.88889},{"id":70,"value":22.352942},{"id":6,"value":192.96875},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72855177993333,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3084},{"id":13,"value":0},{"id":31,"value":498}],"floatValues":[{"id":4,"value":41.333332},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":31.764706}]},{"type":"live","timestamp":72857177079489,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3072},{"id":13,"value":0},{"id":31,"value":500}],"floatValues":[{"id":4,"value":41.333332},{"id":70,"value":22.352942},{"id":6,"value":192.96875},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72859176801251,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":2878},{"id":13,"value":0},{"id":31,"value":502}],"floatValues":[{"id":4,"value":41.333332},{"id":70,"value":22.352942},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72861178465404,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3082},{"id":13,"value":0},{"id":31,"value":504}],"floatValues":[{"id":4,"value":41.333332},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72863179481995,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3073},{"id":13,"value":0},{"id":31,"value":506}],"floatValues":[{"id":4,"value":41.333332},{"id":70,"value":22.352942},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72865177785963,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3079},{"id":13,"value":0},{"id":31,"value":508}],"floatValues":[{"id":4,"value":41.77778},{"id":70,"value":22.352942},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72867176113089,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3075},{"id":13,"value":0},{"id":31,"value":510}],"floatValues":[{"id":4,"value":41.333332},{"id":70,"value":22.352942},{"id":6,"value":192.96875},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72869176834314,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":2874},{"id":13,"value":0},{"id":31,"value":512}],"floatValues":[{"id":4,"value":41.333332},{"id":70,"value":22.352942},{"id":6,"value":190.625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72871178569429,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3079},{"id":13,"value":0},{"id":31,"value":514}],"floatValues":[{"id":4,"value":41.333332},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72873176252437,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":2879},{"id":13,"value":0},{"id":31,"value":516}],"floatValues":[{"id":4,"value":42.22222},{"id":70,"value":22.352942},{"id":6,"value":192.96875},{"id":47,"value":31.764706}]},{"type":"live","timestamp":72875177079512,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":2872},{"id":13,"value":0},{"id":31,"value":518}],"floatValues":[{"id":4,"value":41.77778},{"id":70,"value":22.352942},{"id":6,"value":192.96875},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72877177740208,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3077},{"id":13,"value":0},{"id":31,"value":520}],"floatValues":[{"id":4,"value":41.77778},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72879180125173,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":2872},{"id":13,"value":0},{"id":31,"value":522}],"floatValues":[{"id":4,"value":41.77778},{"id":70,"value":22.352942},{"id":6,"value":190.625},{"id":47,"value":31.764706}]},{"type":"live","timestamp":72881178525713,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3079},{"id":13,"value":0},{"id":31,"value":524}],"floatValues":[{"id":4,"value":41.77778},{"id":70,"value":22.352942},{"id":6,"value":195.3125},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72883176875986,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":2875},{"id":13,"value":0},{"id":31,"value":526}],"floatValues":[{"id":4,"value":41.77778},{"id":70,"value":22.352942},{"id":6,"value":192.96875},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72885176324726,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":2879},{"id":13,"value":0},{"id":31,"value":528}],"floatValues":[{"id":4,"value":41.77778},{"id":70,"value":22.352942},{"id":6,"value":192.96875},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72887176793512,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3078},{"id":13,"value":0},{"id":31,"value":530}],"floatValues":[{"id":4,"value":42.22222},{"id":70,"value":22.352942},{"id":6,"value":197.65625},{"id":47,"value":31.764706}]},{"type":"live","timestamp":72889177026044,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":3077},{"id":13,"value":0},{"id":31,"value":532}],"floatValues":[{"id":4,"value":41.77778},{"id":70,"value":22.352942},{"id":6,"value":192.96875},{"id":47,"value":32.156864}]},{"type":"live","timestamp":72891177972355,"intValues":[{"id":3,"value":2},{"id":5,"value":95},{"id":12,"value":5426},{"id":13,"value":5},{"id":31,"value":534}],"floatValues":[{"id":4,"value":51.555557},{"id":70,"value":22.352942},{"id":6,"value":209.375},{"id":47,"value":22.745098}]},{"type":"live","timestamp":72893178557124,"intValues":[{"id":3,"value":2},{"id":5,"value":96},{"id":12,"value":9000},{"id":13,"value":18},{"id":31,"value":536}],"floatValues":[{"id":4,"value":66.22222},{"id":70,"value":22.352942},{"id":6,"value":204.6875},{"id":47,"value":27.450981}]},{"type":"live","timestamp":72895179323906,"intValues":[{"id":3,"value":2},{"id":5,"value":95},{"id":12,"value":7996},{"id":13,"value":24},{"id":31,"value":538}],"floatValues":[{"id":4,"value":53.333332},{"id":70,"value":22.352942},{"id":6,"value":204.6875},{"id":47,"value":18.82353}]},{"type":"live","timestamp":72897179514717,"intValues":[{"id":3,"value":2},{"id":5,"value":95},{"id":12,"value":6195},{"id":13,"value":29},{"id":31,"value":540}],"floatValues":[{"id":4,"value":109.333336},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":10.588236}]},{"type":"live","timestamp":72899178457633,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":12839},{"id":13,"value":40},{"id":31,"value":542}],"floatValues":[{"id":4,"value":61.77778},{"id":70,"value":22.352942},{"id":6,"value":204.6875},{"id":47,"value":23.529411}]},{"type":"live","timestamp":72901179477573,"intValues":[{"id":3,"value":2},{"id":5,"value":94},{"id":12,"value":10757},{"id":13,"value":49},{"id":31,"value":544}],"floatValues":[{"id":4,"value":111.55556},{"id":70,"value":22.352942},{"id":6,"value":207.03125},{"id":47,"value":27.450981}]},{"type":"live","timestamp":72903179086670,"intValues":[{"id":3,"value":2},{"id":5,"value":93},{"id":12,"value":12836},{"id":13,"value":61},{"id":31,"value":546}],"floatValues":[{"id":4,"value":85.77778},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":28.62745}]},{"type":"live","timestamp":72905177385416,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":10042},{"id":13,"value":65},{"id":31,"value":548}],"floatValues":[{"id":4,"value":34.22222},{"id":70,"value":22.352942},{"id":6,"value":200.0},{"id":47,"value":32.941177}]},{"type":"live","timestamp":72907178215527,"intValues":[{"id":3,"value":2},{"id":5,"value":92},{"id":12,"value":9733},{"id":13,"value":66},{"id":31,"value":550}],"floatValues":[{"id":4,"value":111.55556},{"id":70,"value":22.352942},{"id":6,"value":216.40625},{"id":47,"value":26.27451}]},{"type":"live","timestamp":72909179246647,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":10302},{"id":13,"value":70},{"id":31,"value":552}],"floatValues":[{"id":4,"value":56.88889},{"id":70,"value":22.352942},{"id":6,"value":202.34375},{"id":47,"value":27.450981}]},{"type":"live","timestamp":72911180048703,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":15104},{"id":13,"value":73},{"id":31,"value":554}],"floatValues":[{"id":4,"value":111.111115},{"id":70,"value":22.352942},{"id":6,"value":209.375},{"id":47,"value":19.215687}]},{"type":"live","timestamp":72913178558121,"intValues":[{"id":3,"value":2},{"id":5,"value":91},{"id":12,"value":16423},{"id":13,"value":86},{"id":31,"value":556}],"floatValues":[{"id":4,"value":75.111115},{"id":70,"value":22.352942}]},{"type":"live","timestamp":72915176591525,"intValues":[],"floatValues":[]},{"type":"live","timestamp":72917180004744,"intValues":[],"floatValues":[]},{"type":"live","timestamp":72919178449026,"intValues":[],"floatValues":[]},{"type":"live","timestamp":72921179933335,"intValues":[],"floatValues":[]},{"type":"live","timestamp":72923179387974,"intValues":[],"floatValues":[]},{"type":"live","timestamp":72925179338880,"intValues":[],"floatValues":[]},{"type":"live","timestamp":72927176345108,"intValues":[],"floatValues":[]},{"type":"live","timestamp":72929179848799,"intValues":[],"floatValues":[]},{"type":"live","timestamp":72931179314858,"intValues":[],"floatValues":[]},{"type":"live","timestamp":72933180632674,"intValues":[],"floatValues":[]},{"type":"live","timestamp":72935179793063,"intValues":[],"floatValues":[]},{"type":"live","timestamp":72937178822539,"intValues":[],"floatValues":[]},{"type":"live","timestamp":72939177286298,"intValues":[],"floatValues":[]},{"type":"live","timestamp":72941177772999,"intValues":[],"floatValues":[]},{"type":"live","timestamp":72943177666251,"intValues":[],"floatValues":[]},{"type":"live","timestamp":72945180047718,"intValues":[],"floatValues":[]},{"type":"live","timestamp":72947179391597,"intValues":[],"floatValues":[]},{"type":"live","timestamp":72949176920841,"intValues":[],"floatValues":[]},{"type":"live","timestamp":72951177850208,"intValues":[],"floatValues":[]},{"type":"live","timestamp":72953176750100,"intValues":[],"floatValues":[]},{"type":"live","timestamp":72955175939724,"intValues":[],"floatValues":[]},{"type":"live","timestamp":72957177389603,"intValues":[],"floatValues":[]},{"type":"live","timestamp":72959178499462,"intValues":[],"floatValues":[]}]
diff --git a/tools/emulator/diagnostic_injector.py b/tools/emulator/diagnostic_injector.py
index 0f3496b..f6369c5 100755
--- a/tools/emulator/diagnostic_injector.py
+++ b/tools/emulator/diagnostic_injector.py
@@ -58,7 +58,7 @@
self.liveFrameConfig = self.chat(
lambda hal: hal.getConfig(c.VEHICLE_PROPERTY_OBD2_LIVE_FRAME))
self.eventTypeData = {
- 1 : {
+ 'live' : {
'builder' : lambda: DiagnosticEventBuilder(self.liveFrameConfig),
'property' : c.VEHICLE_PROPERTY_OBD2_LIVE_FRAME
},
diff --git a/tools/emulator/vhal_const_generate.py b/tools/emulator/vhal_const_generate.py
new file mode 100755
index 0000000..dd9e3e6
--- /dev/null
+++ b/tools/emulator/vhal_const_generate.py
@@ -0,0 +1,113 @@
+#!/usr/bin/env python3.4
+#
+# Copyright (C) 2017 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# This script generates vhal_consts_x_y.py files for use in vhal_emulator
+# They are generated from corresponding data in Vehicle HAL types.hal files
+# To run, invoke at a shell by saying:
+# $ packages/services/Car/tools/emulator/vhal_const_generate.py
+# The script will automatically locate itself and the required HAL files and will write next
+# to itself vhal_consts_x.y.py for any version of Vehicle HAL that it knows about
+# Those files can then be used with vhal_emulator.py as per that script's documentation
+
+import datetime
+
+def printHeader(dest):
+ year = datetime.datetime.now().year
+ print("# Copyright (C) %s The Android Open Source Project" % year, file=dest)
+ print("#", file=dest)
+ print("# Licensed under the Apache License, Version 2.0 (the \"License\");", file=dest)
+ print("# you may not use this file except in compliance with the License.", file=dest)
+ print("# You may obtain a copy of the License at", file=dest)
+ print("#", file=dest)
+ print("# http://www.apache.org/licenses/LICENSE-2.0", file=dest)
+ print("#", file=dest)
+ print("# Unless required by applicable law or agreed to in writing, software", file=dest)
+ print("# distributed under the License is distributed on an \"AS IS\" BASIS,", file=dest)
+ print("# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", file=dest)
+ print("# See the License for the specific language governing permissions and", file=dest)
+ print("# limitations under the License.", file=dest)
+ print("#", file=dest)
+ print("# DO NOT EDIT MANUALLY", file=dest)
+ print("# This file was autogenerated by vhal_const_generate.py", file=dest)
+
+def printEnum(doc, name, prefix, dest, postprocess=lambda x: x):
+ enum_object = doc['enums'][name]
+ print("\n# %s" % name, file=dest)
+ for case in enum_object.cases:
+ print('%s%s = %s' % (prefix, case.name,
+ postprocess(case.value.resolve(enum_object, doc))),
+ file=dest)
+
+import os, os.path
+import sys
+
+script_directory = os.path.join(os.path.dirname(os.path.abspath(__file__)))
+parent_location = os.path.abspath(os.path.join(script_directory, '..'))
+sys.path.append(parent_location)
+
+from hidl_parser import parser
+
+android_build_top = os.environ.get("ANDROID_BUILD_TOP", None)
+if android_build_top is not None:
+ vhal_location = os.path.join(android_build_top, 'hardware','interfaces','automotive','vehicle')
+else:
+ vhal_location = os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)),
+ '..','..','..','..','..','hardware','interfaces','automotive','vehicle'
+ ))
+if not(os.path.exists(vhal_location) and os.path.isdir(vhal_location)):
+ print("Vehicle HAL was not found at %s. lunch may provide a correct environment, or files moved" % vhal_location)
+ sys.exit(1)
+
+vhal_20_file = os.path.join(vhal_location, '2.0', 'types.hal')
+vhal_21_file = os.path.join(vhal_location, '2.1', 'types.hal')
+
+print("Generating content from Vehicle HAL 2.0 (%s) and 2.1 (%s)" % (vhal_20_file, vhal_21_file))
+
+vhal_20_doc = parser.parse(vhal_20_file)
+vhal_21_doc = parser.parse(vhal_21_file)
+vhal_21_doc['enums']['VehiclePropertyGroup'] = vhal_20_doc['enums']['VehiclePropertyGroup']
+vhal_21_doc['enums']['VehiclePropertyType'] = vhal_20_doc['enums']['VehiclePropertyType']
+vhal_21_doc['enums']['VehicleArea'] = vhal_20_doc['enums']['VehicleArea']
+
+def generateHal20():
+ vhal_20_file = open(os.path.join(script_directory, 'vhal_consts_2_0.py'), 'w')
+
+ printHeader(vhal_20_file)
+ printEnum(vhal_20_doc, 'VehicleProperty', 'VEHICLE_PROPERTY_', vhal_20_file)
+ printEnum(vhal_20_doc, 'VehiclePropertyType', 'VEHICLE_VALUE_TYPE_', vhal_20_file, lambda x : hex(x))
+ printEnum(vhal_20_doc, 'VehicleAreaZone', 'VEHICLE_ZONE_', vhal_20_file, lambda x : hex(x))
+
+ print("\n# Create a container of value_type constants to be used by vhal_emulator", file=vhal_20_file)
+ print("class vhal_types_2_0:", file=vhal_20_file)
+ print(" TYPE_STRING = [VEHICLE_VALUE_TYPE_STRING]", file=vhal_20_file)
+ print(" TYPE_BYTES = [VEHICLE_VALUE_TYPE_BYTES]", file=vhal_20_file)
+ print(" TYPE_INT32 = [VEHICLE_VALUE_TYPE_BOOLEAN,", file=vhal_20_file)
+ print(" VEHICLE_VALUE_TYPE_INT32]", file=vhal_20_file)
+ print(" TYPE_INT64 = [VEHICLE_VALUE_TYPE_INT64]", file=vhal_20_file)
+ print(" TYPE_FLOAT = [VEHICLE_VALUE_TYPE_FLOAT]", file=vhal_20_file)
+ print(" TYPE_INT32S = [VEHICLE_VALUE_TYPE_INT32_VEC]", file=vhal_20_file)
+ print(" TYPE_FLOATS = [VEHICLE_VALUE_TYPE_FLOAT_VEC]", file=vhal_20_file)
+ print(" TYPE_COMPLEX = [VEHICLE_VALUE_TYPE_COMPLEX]", file=vhal_20_file)
+
+def generateHal21():
+ vhal_21_file = open(os.path.join(script_directory, 'vhal_consts_2_1.py'), 'w')
+ printHeader(vhal_21_file)
+ print('from vhal_consts_2_0 import *', file=vhal_21_file)
+ printEnum(vhal_21_doc, 'VehicleProperty', 'VEHICLE_PROPERTY_', vhal_21_file)
+
+generateHal20()
+generateHal21()
diff --git a/tools/emulator/vhal_consts_2_0.py b/tools/emulator/vhal_consts_2_0.py
index c33a198..8c7d037 100644
--- a/tools/emulator/vhal_consts_2_0.py
+++ b/tools/emulator/vhal_consts_2_0.py
@@ -1,10 +1,10 @@
-# Copyright 2017 Google Inc.
+# Copyright (C) 2017 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
-# http://www.apache.org/licenses/LICENSE-2.0
+# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
@@ -12,25 +12,11 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
+# DO NOT EDIT MANUALLY
+# This file was autogenerated by vhal_const_generate.py
-"""
- This file contains constants defined in hardware/interfaces/vehicle/2.0/types.hal
-
- Constants in this file are parsed from:
- out/soong/.intermediates/hardware/interfaces/automotive/vehicle/2.0/android.hardware.automotive.vehicle@2.0_genc++_headers/gen/android/hardware/automotive/vehicle/2.0/types.h
-
- Currently, there is no script to auto-generate this constants file. The file is generated by
- copying enum fields into an editor and running a macro to format it. The elements being used
- are shown in the following table:
-
- type.h file: this file:
- VehiclePropertyType enum --> VEHICLE_VALUE_TYPE_*
- VehicleProperty enum --> VEHICLE_PROPERTY_*
- VehicleAreaZone enum --> VEHICLE_ZONE_*
- VehiclePropertyType enum --> class vhal_types_2_0
-"""
-
-# Vehicle Property ID
+# VehicleProperty
+VEHICLE_PROPERTY_INVALID = 0
VEHICLE_PROPERTY_INFO_VIN = 286261504
VEHICLE_PROPERTY_INFO_MAKE = 286261505
VEHICLE_PROPERTY_INFO_MODEL = 286261506
@@ -80,7 +66,7 @@
VEHICLE_PROPERTY_AUDIO_EXT_ROUTING_HINT = 289474821
VEHICLE_PROPERTY_AUDIO_STREAM_STATE = 289474822
VEHICLE_PROPERTY_AUDIO_PARAMETERS = 286263559
-VEHICLE_PROPERTY_AP_POWER_STATE = 2560
+VEHICLE_PROPERTY_AP_POWER_STATE = 289475072
VEHICLE_PROPERTY_DISPLAY_BRIGHTNESS = 289409537
VEHICLE_PROPERTY_AP_POWER_BOOTUP_REASON = 289409538
VEHICLE_PROPERTY_HW_KEY_INPUT = 289475088
@@ -128,39 +114,37 @@
VEHICLE_PROPERTY_WINDOW_VENT_POS = 289409986
VEHICLE_PROPERTY_WINDOW_VENT_MOVE = 289409987
VEHICLE_PROPERTY_WINDOW_LOCK = 287312836
-VEHICLE_PROPERTY_VEHICLE_MAPS_DATA_SERVICE = 299895808
-VEHICLE_PROPERTY_OBD2_LIVE_FRAME = 299896064
-VEHICLE_PROPERTY_OBD2_FREEZE_FRAME = 299896065
-# Vehicle Value Type
-VEHICLE_VALUE_TYPE_STRING = 0x00100000
-VEHICLE_VALUE_TYPE_BOOLEAN = 0x00200000
-VEHICLE_VALUE_TYPE_INT32 = 0x00400000
-VEHICLE_VALUE_TYPE_INT32_VEC = 0x00410000
-VEHICLE_VALUE_TYPE_INT64 = 0x00500000
-VEHICLE_VALUE_TYPE_FLOAT = 0x00600000
-VEHICLE_VALUE_TYPE_FLOAT_VEC = 0x00610000
-VEHICLE_VALUE_TYPE_BYTES = 0x00700000
-VEHICLE_VALUE_TYPE_COMPLEX = 0x00E00000
+# VehiclePropertyType
+VEHICLE_VALUE_TYPE_STRING = 0x100000
+VEHICLE_VALUE_TYPE_BOOLEAN = 0x200000
+VEHICLE_VALUE_TYPE_INT32 = 0x400000
+VEHICLE_VALUE_TYPE_INT32_VEC = 0x410000
+VEHICLE_VALUE_TYPE_INT64 = 0x500000
+VEHICLE_VALUE_TYPE_FLOAT = 0x600000
+VEHICLE_VALUE_TYPE_FLOAT_VEC = 0x610000
+VEHICLE_VALUE_TYPE_BYTES = 0x700000
+VEHICLE_VALUE_TYPE_COMPLEX = 0xe00000
+VEHICLE_VALUE_TYPE_MASK = 0xff0000
-# Vehicle zone / area definitions
-VEHICLE_ZONE_ROW_1_LEFT = 0x00000001
-VEHICLE_ZONE_ROW_1_CENTER = 0x00000002
-VEHICLE_ZONE_ROW_1_RIGHT = 0x00000004
-VEHICLE_ZONE_ROW_1_ALL = 0x00000008
-VEHICLE_ZONE_ROW_2_LEFT = 0x00000010
-VEHICLE_ZONE_ROW_2_CENTER = 0x00000020
-VEHICLE_ZONE_ROW_2_RIGHT = 0x00000040
-VEHICLE_ZONE_ROW_2_ALL = 0x00000080
-VEHICLE_ZONE_ROW_3_LEFT = 0x00000100
-VEHICLE_ZONE_ROW_3_CENTER = 0x00000200
-VEHICLE_ZONE_ROW_3_RIGHT = 0x00000400
-VEHICLE_ZONE_ROW_3_ALL = 0x00000800
-VEHICLE_ZONE_ROW_4_LEFT = 0x00001000
-VEHICLE_ZONE_ROW_4_CENTER = 0x00002000
-VEHICLE_ZONE_ROW_4_RIGHT = 0x00004000
-VEHICLE_ZONE_ROW_4_ALL = 0x00008000
-VEHICLE_ZONE_ALL = 0x80000000
+# VehicleAreaZone
+VEHICLE_ZONE_ROW_1_LEFT = 0x1
+VEHICLE_ZONE_ROW_1_CENTER = 0x2
+VEHICLE_ZONE_ROW_1_RIGHT = 0x4
+VEHICLE_ZONE_ROW_1 = 0x8
+VEHICLE_ZONE_ROW_2_LEFT = 0x10
+VEHICLE_ZONE_ROW_2_CENTER = 0x20
+VEHICLE_ZONE_ROW_2_RIGHT = 0x40
+VEHICLE_ZONE_ROW_2 = 0x80
+VEHICLE_ZONE_ROW_3_LEFT = 0x100
+VEHICLE_ZONE_ROW_3_CENTER = 0x200
+VEHICLE_ZONE_ROW_3_RIGHT = 0x400
+VEHICLE_ZONE_ROW_3 = 0x800
+VEHICLE_ZONE_ROW_4_LEFT = 0x1000
+VEHICLE_ZONE_ROW_4_CENTER = 0x2000
+VEHICLE_ZONE_ROW_4_RIGHT = 0x4000
+VEHICLE_ZONE_ROW_4 = 0x8000
+VEHICLE_ZONE_WHOLE_CABIN = 0x80000000
# Create a container of value_type constants to be used by vhal_emulator
class vhal_types_2_0:
diff --git a/tools/emulator/vhal_consts_2_1.py b/tools/emulator/vhal_consts_2_1.py
new file mode 100644
index 0000000..72f48ef
--- /dev/null
+++ b/tools/emulator/vhal_consts_2_1.py
@@ -0,0 +1,25 @@
+# Copyright (C) 2017 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# DO NOT EDIT MANUALLY
+# This file was autogenerated by vhal_const_generate.py
+from vhal_consts_2_0 import *
+
+# VehicleProperty
+VEHICLE_PROPERTY_WHEEL_TICK = 291570438
+VEHICLE_PROPERTY_OBD2_LIVE_FRAME = 299896064
+VEHICLE_PROPERTY_OBD2_FREEZE_FRAME = 299896065
+VEHICLE_PROPERTY_OBD2_FREEZE_FRAME_INFO = 299896066
+VEHICLE_PROPERTY_OBD2_FREEZE_FRAME_CLEAR = 299896067
+VEHICLE_PROPERTY_VEHICLE_MAP_SERVICE = 299895808
diff --git a/tools/emulator/vhal_emulator.py b/tools/emulator/vhal_emulator.py
index 514c0d5..5fbdd74 100644
--- a/tools/emulator/vhal_emulator.py
+++ b/tools/emulator/vhal_emulator.py
@@ -34,21 +34,21 @@
# Get the response message to getConfig()
reply = v.rxMsg()
- print reply
+ print(reply)
# Set left temperature to 70 degrees
v.setProperty(c.VEHICLE_PROPERTY_HVAC_TEMPERATURE_SET, c.VEHICLE_ZONE_ROW_1_LEFT, 70)
# Get the response message to setProperty()
reply = v.rxMsg()
- print reply
+ print(reply)
# Get the left temperature value
v.getProperty(c.VEHICLE_PROPERTY_HVAC_TEMPERATURE_SET, c.VEHICLE_ZONE_ROW_1_LEFT)
# Get the response message to getProperty()
reply = v.rxMsg()
- print reply
+ print(reply)
NOTE: The rxMsg() is a blocking call, so it may be desirable to set up a separate RX thread
to handle any asynchronous messages coming from the device.
@@ -72,6 +72,8 @@
protoc -I=<proto_dir> --python_out=<out_dir> <proto_dir>/VehicleHalProto.proto
"""
+from __future__ import print_function
+
# Suppress .pyc files
import sys
sys.dont_write_bytecode = True
@@ -80,7 +82,9 @@
import struct
import subprocess
-# Generate the protobuf file from vendor/auto/embedded/lib/vehicle_hal:
+# Generate the protobuf file from hardware/interfaces/automotive/vehicle/2.0/default/impl/vhal_v2_0
+# It is recommended to use the protoc provided in: prebuilts/tools/common/m2/repository/com/google/protobuf/protoc/3.0.0
+# or a later version, in order to provide Python 3 compatibility
# protoc -I=proto --python_out=proto proto/VehicleHalProto.proto
import VehicleHalProto_pb2
@@ -123,7 +127,7 @@
"""
For debugging, print the protobuf message string in hex.
"""
- print "len = ", len(data), "str = ", ":".join("{:02x}".format(ord(d)) for d in data)
+ print("len = ", len(data), "str = ", ":".join("{:02x}".format(ord(d)) for d in data))
def openSocket(self):
"""
diff --git a/tools/emulator/vhal_emulator_test.py b/tools/emulator/vhal_emulator_test.py
index 325e0a8..b8a8a39 100644
--- a/tools/emulator/vhal_emulator_test.py
+++ b/tools/emulator/vhal_emulator_test.py
@@ -27,6 +27,8 @@
protoc -I=proto --python_out=proto proto/VehicleHalProto.proto
"""
+from __future__ import print_function
+
# Suppress .pyc files
import sys
sys.dont_write_bytecode = True
@@ -54,7 +56,7 @@
testValue = "test string"
elif valType in self._types.TYPE_BYTES:
# Generate array of integers counting from 0
- testValue = range(len(origValue))
+ testValue = list(range(len(origValue)))
elif valType == vhal_consts_2_0.VEHICLE_VALUE_TYPE_BOOLEAN:
testValue = origValue ^ 1
elif valType in self._types.TYPE_INT32:
@@ -216,7 +218,7 @@
newValue = self._getValueFromMsg(rxMsg)
if newValue != testValue:
self._log.error("testGetSet: set failed for propId=%d, area=%d", cfg.prop, area)
- print "testValue= ", testValue, "newValue= ", newValue
+ print("testValue= ", testValue, "newValue= ", newValue)
continue
# Reset the value to what it was before
@@ -287,4 +289,3 @@
if __name__ == '__main__':
v = VhalTest(vhal_consts_2_0.vhal_types_2_0)
v.runTests()
-
diff --git a/vehicle-hal-support-lib/src/com/android/car/vehiclehal/DiagnosticJson.java b/vehicle-hal-support-lib/src/com/android/car/vehiclehal/DiagnosticJson.java
index 25fdfdf..6936f22 100644
--- a/vehicle-hal-support-lib/src/com/android/car/vehiclehal/DiagnosticJson.java
+++ b/vehicle-hal-support-lib/src/com/android/car/vehiclehal/DiagnosticJson.java
@@ -26,14 +26,14 @@
import java.util.Optional;
public class DiagnosticJson {
- public final int type;
+ public final String type;
public final long timestamp;
public final SparseArray<Integer> intValues;
public final SparseArray<Float> floatValues;
public final String dtc;
DiagnosticJson(
- int type,
+ String type,
long timestamp,
SparseArray<Integer> intValues,
SparseArray<Float> floatValues,
@@ -81,7 +81,7 @@
}
}
- final WriteOnce<Integer> mType = new WriteOnce<>();
+ final WriteOnce<String> mType = new WriteOnce<>();
final WriteOnce<Long> mTimestamp = new WriteOnce<>();
final SparseArray<Integer> mIntValues = new SparseArray<>();
final SparseArray<Float> mFloatValues = new SparseArray<>();
@@ -119,12 +119,11 @@
Builder(JsonReader jsonReader) throws IOException {
jsonReader.beginObject();
- long timestamp = 0;
while (jsonReader.hasNext()) {
String name = jsonReader.nextName();
switch (name) {
case "type":
- mType.write(jsonReader.nextInt());
+ mType.write(jsonReader.nextString());
break;
case "timestamp":
mTimestamp.write(jsonReader.nextLong());
@@ -153,9 +152,9 @@
return new DiagnosticJson(
mType.get(), mTimestamp.get(), mIntValues, mFloatValues, mDtc.get(null));
}
+ }
- public static DiagnosticJson build(JsonReader jsonReader) throws IOException {
- return new Builder(jsonReader).build();
- }
+ public static DiagnosticJson build(JsonReader jsonReader) throws IOException {
+ return new Builder(jsonReader).build();
}
}
diff --git a/vehicle-hal-support-lib/src/com/android/car/vehiclehal/DiagnosticJsonReader.java b/vehicle-hal-support-lib/src/com/android/car/vehiclehal/DiagnosticJsonReader.java
index 526018c..5dd6a66 100644
--- a/vehicle-hal-support-lib/src/com/android/car/vehiclehal/DiagnosticJsonReader.java
+++ b/vehicle-hal-support-lib/src/com/android/car/vehiclehal/DiagnosticJsonReader.java
@@ -25,8 +25,8 @@
import java.io.IOException;
public class DiagnosticJsonReader {
- public static final int FRAME_TYPE_LIVE = 1;
- public static final int FRAME_TYPE_FREEZE = 2;
+ public static final String FRAME_TYPE_LIVE = "live";
+ public static final String FRAME_TYPE_FREEZE = "freeze";
private final DiagnosticEventBuilder mLiveFrameBuilder;
private final DiagnosticEventBuilder mFreezeFrameBuilder;
@@ -50,7 +50,7 @@
}
public VehiclePropValue build(JsonReader jsonReader) throws IOException {
- DiagnosticJson diagnosticJson = DiagnosticJson.Builder.build(jsonReader);
+ DiagnosticJson diagnosticJson = DiagnosticJson.build(jsonReader);
switch (diagnosticJson.type) {
case FRAME_TYPE_LIVE:
return diagnosticJson.build(mLiveFrameBuilder);