Skip to content

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
body {
font: 10px sans-serif;
}
#chart {
font: 10px sans-serif;
}
.noselect {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
#text_hour {
font-weight: 600;
text-decoration : underline;
}
rect {
fill: #F5F5F3;
fill-opacity: .125;
}
.axis path, .axis line {
fill: none;
stroke: lightgrey; /*color de la */
shape-rendering: crispEdges;
}
.label {
background-color: #D90000;
color: #FFFFFF;
width: auto;
}
rect.zoom {
stroke: steelblue;
fill-opacity: 0.5;
}
.linea {
fill: none;
stroke: steelblue;
stroke-width: 1.5px;
}
.brush .extent {
stroke: #0D0D0B;
fill-opacity: .125;
shape-rendering: crispEdges;
}
.dot {
}
</style>
</head>
<div id='chart' style="margin-left: 2%;"></div>
<body onLoad="displayGraphTime(1345150800000,1345150830000,750,1000)">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script>
// Creating path using D3 path data generators
var realTime = true; // uso esta varible para activar y desactivar el seteo de los domain del ejex, que es lo que hace q la grafica tenga el efecto de moverse
var realTimeEvent = true;
function displayGraphTime(startTime,endTime,transicionTime,updateTime) {
d3.json("rutas.json", function(json) { // funcion para leer archivos json
pathinfo_bus = {"lineas": [{ "linea": [{x:1345150800500, y:195},{x:1345150801000, y:200},{x:1345150801500, y:200},{x:1345150802000, y:200},{x:1345150802500, y:205}] }, { "linea": [{x:1345150803000, y:205},{x:1345150803500, y:210},{x:1345150804000, y:210},{x:1345150804500, y:210},{x:1345150805000, y:215}] }] };
pathinfo_flecha = {"lineas": [{ "linea": [{x:1345150802000, y:200},{x:1345150804500, y:210} ]},{ "linea": [{x:1345150800500, y:195},{x:1345150803000, y:205} ]} ]};
pathinfoEstimada = [];
pathinfo2 = json.lineas; // // json linea teorica
console.log(json);
estaciones = [{name : "Zona 0", km : 0}, {name : "Zona 1", km : 100}, {name : "Zona 2", km : 200}, {name : "Zona 3", km : 300},{name : "Zona 4", km : 400}];
startTime2 = startTime;
endTime2 = pathinfo2[0]['linea'][ pathinfo2[0]['linea'].length -1 ].x;
var margin = {top: 45, right: 20, bottom: 100, left: 70},
width = 1400 - margin.left - margin.right,
height = 740 - margin.top - margin.bottom;
var margin2 = {top: 675, right: 10, bottom: 20, left: 70},
height2 = 740 - margin2.top - margin2.bottom;
var x0 = d3.time.scale()
.domain([startTime, endTime]) // Compute the minimum and maximum date.
.range([0, width]),
x = x0.copy();
var xZoom = d3.time.scale()
.domain([startTime, endTime]) // Compute the minimum and maximum date.
.range([0, width]);
var x2 = d3.time.scale()
.domain([startTime2,endTime2])
.range([0, width]);
var y0 = d3.scale.linear()
.domain([0, 400]) // especifica los valores que va a tener y
.range([height, 0]) // tamano del eje
.nice(),
y = y0.copy();
var y2 = d3.scale.linear()
.domain([0, 400])
.range([height2, 0])
.nice();
var ejeX = d3.svg.axis()
.scale(x)
.ticks(10) // cantidad aproximada de divisiones en el eje
.tickSize(-height) // da el tamaño de cada rayita q representa un tick. el primer numero es el que representa el tick normal, el segundo numero las subdiviciones y el ultimo el tick con el numero mayor. estan con -height para q las lineas llegan hasta la parte de arriba de la grafica
.tickSubdivide(true) // define que cada tick se subdivida en la cantidad especificada
.orient("bottom");
var ejeXtop = d3.svg.axis()
.scale(x)
.ticks(10) // cantidad aproximada de divisiones en el eje
.tickSize(-height) // da el tamaño de cada rayita q representa un tick. el primer numero es el que representa el tick normal, el segundo numero las subdiviciones y el ultimo el tick con el numero mayor. estan con -height para q las lineas llegan hasta la parte de arriba de la grafica
.tickSubdivide(true) // define que cada tick se subdivida en la cantidad especificada
.orient("top");
var ejeX2 = d3.svg.axis()
.scale(x2)
.orient("bottom")
var ejeY = d3.svg.axis()
.scale(y)
.orient('left')
.ticks(0)
//.tickSubdivide(true)
.tickSize(-width);
var ejeYRight = d3.svg.axis()
.scale(y)
.orient('right')
//.ticks(0)
//.tickSubdivide(true)
.tickSize(-width);
// Specify the function for generating path data
var linea = d3.svg.line()
.x(function(d) {
return x(d.x);
})
.y(function(d) {
return y(d.y);
})
.interpolate("linear");
// "linear" for piecewise linear segments
var lineaTeorica = d3.svg.line()
.x(function(d) {
return x(d.x);
})
.y(function(d) {
return y(d.y);
})
// "linear" for piecewise linear segments
var lineaEstimada = d3.svg.line()
.x(function(d) {
return x(d.x);
})
.y(function(d) {
return y(d.y);
})
.interpolate("linear");
// "linear" for piecewise linear segments
var linea3 = d3.svg.line()
.x(function(d){
return x2(d.x);
})
.y(function(d) {
return y2(d.y);
})
.interpolate("linear");
// "linear" for piecewise linear segments
var zoomB = d3.behavior.zoom()
.scaleExtent([1, Infinity])
.x(x)
.y(y)
.on("zoom", zoom_panning);
var brush = d3.svg.brush()
.x(x2)
//.y(y2)
.on("brush", brush);
//selecciona el elemento donde va insertar la grafica
var divElem = d3.select("#chart");
var svg = divElem.append("svg:svg")
.attr("id", "svgArea")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom);
// Add the clip path. con esto se evita que la linea se salga de la grafica y demas q otras cosas q no se
svg.append("svg:clipPath")
.attr("id", "clip")
.append("svg:rect")
.attr("width", width)
.attr("height", height);
var focus = svg.append("svg:g")
.attr("id", "focus")
.attr("transform", "translate("+ margin.left + "," + margin.top + ")")
.call(zoomB)
.append("g")
.on("mousedown", mousedown)
.on("mouseup", function() { realTimeEvent=true; });
var context = svg.append("svg:g")
.attr("transform", "translate("+ margin2.left + "," + margin2.top + ")");
focus.append("rect")
.attr("id", "focus_rect")
.attr("width", width)
.attr("height", height);
focus.append("svg:clipPath")
.attr("id", "clip_text")
.append("svg:rect")
.attr("width", width)
.attr("height", height - 10)
.attr("transform", "translate(-100, 10)");
// crea la clase del eje x
focus.append("svg:g")
.attr("class", "x axis")
.attr("transform", "translate(0," + height + ")")
//.style("stroke", "lightgrey")
.call(ejeX);
focus.append("svg:g")
.attr("class", "x axis")
.attr("id", "ejeXtop")
//.attr("transform", "translate(0," + height + ")")
//.style("stroke", "lightgrey")
.call(ejeXtop);
// crea la clase del eje y
focus.append("svg:g")
.attr("class", "y axis")
//.attr("transform", "translate(" + width + ",0)")
.call(ejeY);
focus.append("svg:g")
.attr("class", "y axis")
.attr("id", "ejeYRight")
.attr("transform", "translate(" + width + ",0)")
.call(ejeYRight);
// creo el marker q es la punta de la flecha
focus.append("defs").append("marker")
.attr("id", "arrow")
.attr("viewBox", "0 -5 10 10")
.attr("refX", 10)
.attr("refY", 0)
.attr("markerWidth", 6)
.attr("markerHeight", 6)
.attr("orient", "auto")
.append("svg:path")
.attr("class", "arrow_path")
.attr("d", "M0,-5L10,0L0,5")
.style("stroke", "none")
.style("fill", "none");
focus.append("defs").append("marker")
.attr("id", "arrow_inverted")
.attr("viewBox", "0 -5 10 10")
.attr("refX", 10)
.attr("refY", 0)
.attr("markerWidth", 6)
.attr("markerHeight", 6)
.attr("orient", "auto")
.append("svg:path")
.attr("class", "arrow_path")
.attr("d", "m9,-5l-9,5l9,5")
.style("stroke", "none")
.style("fill", "none");
// Creating path using data in pathinfo and path data generator
// d3line.
focus.append("svg:path")
.attr("class", "linea_arrow")
.attr("id", "lineaArrow_")
.attr("clip-path", "url(#clip)")
.attr("marker-start", "url(#arrow_inverted)")
.attr("marker-end", "url(#arrow)")
.attr("d", linea(pathinfo_flecha["lineas"][0].linea))
.style("stroke", "none")
.style("stroke-width", "1.5px")
.style("fill", "none");
for (var i = 0; i < pathinfo_bus["lineas"].length; i++) {
focus.append("svg:path")
.attr("class", "linea_bus")
.attr("id", "lineaBus_"+i)
.attr("clip-path", "url(#clip)")
.attr("d", linea(pathinfo_bus["lineas"][i].linea))
.style("stroke", "none")
.style("stroke-width", "1.5px")
.style("fill", "none");
}
for (var i = 0; i < pathinfo2.length; i++) {
focus.append("svg:path")
.attr("class", "linea")
.attr("id", "linea_"+i)
.attr("clip-path", "url(#clip)")
.attr("d", linea(pathinfo2[i]['linea_real']));
focus.append("svg:path")
.attr("class", "lineaTeorica")
.attr("id", "lineaTeorica_"+i)
.attr("stroke-dasharray", "10,10")
.attr("clip-path", "url(#clip)")
.attr("d", lineaTeorica(pathinfo2[i]['linea']))
.style("stroke", function() {
return "hsl(" + Math.random() * 360 + ",100%,50%)";
})
.style("fill", "none");
}
focus.append("svg:path")
.attr("class", "lineaEstimada")
.attr("stroke-dasharray", "5, 5, 1, 5")
.attr("clip-path", "url(#clip)")
.attr("d", lineaEstimada(pathinfoEstimada))
.style("stroke", "green")
.style("fill", "none");
/*focus.selectAll(".dot")
.data(pathinfo2[0]['linea'].filter(function(d) { return d.label; }))
.enter().append("svg:rect")
.attr("class", "dot_rectangle")
.attr("clip-path", "url(#clip)")
.attr("x", lineaTeorica.x())
.attr("y", lineaTeorica.y())
.attr("width", "20")
.attr("height", "15")
.style("stroke", "green")
.style("fill", "none");*/
focus.selectAll(".dot")
.data(pathinfo2[0]['linea'].filter(function(d) { return d.label; }))
.enter().append("svg:text")
.attr("class", "dot")
.attr("clip-path", "url(#clip)")
.attr("x", lineaTeorica.x())
.attr("y", lineaTeorica.y())
.style("stroke","#008000")
.style("font-size","10")
.style("font-family","Arial")
.style("fill","#008000") //set the text color
.text(function(d) { return d.label; }) //enter the text string to display
for (var i = 0; i < estaciones.length; i++) {
focus.append("svg:text") //append a text object
.attr("class", "text_prueba")
.attr("id", "zona_"+i)
.attr("clip-path", "url(#clip_text)")
.attr("y",y(estaciones[i].km)) //set y=10
.attr('dx', '-4%')
.attr('km', estaciones[i].km)
.style("fill","black") //set the text color
.text(estaciones[i].name) //enter the text string to display
.on("click", onClickText);
};
var line_hour = focus.append("svg:g")
.attr("class", "line_hour");
focus.append("svg:clipPath")
.attr("id", "clip_hour")
.append("svg:rect")
.attr("width", width)
.attr("height", height)
.attr("transform", "translate(0, -25)");
line_hour.append("svg:line")
.attr("id", "line_with_hour")
.attr("clip-path", "url(#clip)")
.attr("x1", x(startTime))
.attr("y1", y(0))
.attr("x2", x(startTime))
.attr("y2", y(400))
.style("stroke", "#CA0000");
line_hour.append("svg:text") //append a text object
.attr("id", "text_hour")
.attr("clip-path", "url(#clip_hour)")
.attr("x",x(startTime))
.attr("y",y(400)) //set y=10
.attr('dx', '-2%')
.attr('dy', '-2%')
.text(hora()); //enter the text string to display
///////////////////////////////////////////////////////////////////////////////////////
context.append("svg:path")
.data([pathinfo2[0]['linea']])
.attr("class", "linea3")
.attr("d", linea3)
.style("stroke", "green")
.style("fill", "none");
context.append("svg:g")
.attr("class", "x axis")
.attr("transform", "translate(0," + height2 + ")")
.call(ejeX2);
context.append("svg:g")
.attr("class", "x brush")
.call(brush)
.selectAll("rect")
.attr("y", -6)
.attr("height", height2 + 7);
///////////////////////////////////////////////////////////////////////////codigo para redibujar/////////////////////////////////////////////
var t = 0;
var minX = 0;
var maxY = 0;
var minY = 0;
function brush() {
/**
/*esta funcion es parte del zoom-panning q representra una grafica pequena para navegar sobre ella
**/
x.domain(brush.empty() ? x2.domain() : brush.extent());
x0.domain(brush.empty() ? x2.domain() : brush.extent());
refresh();
}
function redraw() {
/**
/*esta es la funcion que me redibuja la grafica. la llamo en el setinterval q se ejecta cada segundo
**/
maxX = x0.domain()[1].getTime();
minX = x0.domain()[0].getTime();
var lastPosicion = pathinfo2[0]['linea_real'][ pathinfo2[0]['linea_real'].length -1 ].x;
if (lastPosicion > endTime - 29000) { // miro si la ultima posicion de pathinfo es menor al maximo del rango definido en este caso 195
minX += updateTime;
maxX += updateTime;
if (realTime == true && realTimeEvent == true) {
// seteo de nuevo el domain de x como primer parametro le mando la variable global y como ultimo le mando la ultima posicion del array con los datos pathinfo
var translate = zoomB.translate(),
scale = zoomB.scale();
// Set a new x-domain: offset by dx.
x0.domain([minX, maxX]);
// Set the zoom x-domain (this resets the domain at zoom scale=1).
zoomB.x(x.domain([minX, maxX]));
// Reset the domain relative to the current zoom offsets.
x.domain(x0.range().map(function(x) {
return (x - translate[0]) / scale;
}).map(x0.invert));
//console.log("max X: "+ maxX +" min X: "+ minX);
};
};
refresh();
}
var bool = true
function onClickText(){
var kmLabel = d3.select(this).attr("km"); // de esta forma obtengo el id del elemento actual
maxX = x0.domain()[1].getTime();
minX = x0.domain()[0].getTime();
console.log(kmLabel);
if(bool){
zoomB.y(y.domain([parseInt(kmLabel) - 50, parseInt(kmLabel) + 50]));
x0.domain([minX, maxX-15000]);
zoomB.x(x.domain([minX, maxX-15000]));
d3.selectAll('.linea_bus').style("stroke", "#040E7D");
d3.selectAll('.linea_arrow').style("stroke", "#00B75B");
d3.selectAll('.arrow_path').style("stroke", "#00B75B").style("fill", "#00B75B");
bool = false;
}else{
zoomB.y(y.domain([0, 400]));
x0.domain([minX, maxX+15000]);
zoomB.x(x.domain([minX, maxX+15000]));
d3.selectAll('.linea_bus').style("stroke", "none");
d3.selectAll('.linea_arrow').style("stroke", "none");
d3.selectAll('.arrow_path').style("stroke", "none").style("fill", "none");
bool = true;
}
refresh();
}
function mousedown() {
realTimeEvent=false; // desactivo el seteo del dominio en tiempo real mientras mantenga presionado click
if (d3.event.shiftKey) {
var e = this,
origin = d3.mouse(e),
rect = svg.append("rect").attr("class", "zoom");
var translate = zoomB.translate(),
scale = zoomB.scale();
d3.select("body").classed("noselect", true);
origin[0] = Math.max(0, Math.min(width, origin[0]));
origin[1] = Math.max(0, Math.min(height, origin[1]));
d3.select("#svgArea")
.on("mousemove", function() {
var m = d3.mouse(e);
m[0] = Math.max(0, Math.min(width, m[0]));
m[1] = Math.max(0, Math.min(height, m[1]));
rect.attr("x", Math.min(origin[0], m[0]))
.attr("y", Math.min(origin[1], m[1]))
.attr("width", Math.abs(m[0] - origin[0]))
.attr("height", Math.abs(m[1] - origin[1]))
.attr("transform", "translate("+ margin.left + "," + margin.top + ")");
})
.on("mouseup", function() {
realTimeEvent=true;
d3.select("body").classed("noselect", false);
var m = d3.mouse(e);
m[0] = Math.max(0, Math.min(width, m[0]));
m[1] = Math.max(0, Math.min(height, m[1]));
if (m[0] !== origin[0] && m[1] !== origin[1]) {
/* x0.domain([origin[0], m[0]].map(x0.invert).sort());
y0.domain([origin[1], m[1]].map(y0.invert).sort());*/
zoomB.x(x.domain([origin[0], m[0]].map(x.invert).sort()))
.y(y.domain([origin[1], m[1]].map(y.invert).sort()));
/*x.domain(x0.range().map(function(x) {
return (x - translate[0]) / scale;
}).map(x0.invert));
y.domain(y0.range().map(function(y) {
return (y - translate[0]) / scale;
}).map(y0.invert));*/
}
rect.remove();
refresh();
//despues del mauseup quito los eventos para q no se conserven despues de haber pintado el rectangulo
d3.select(this).on("mousemove", null);
d3.select(this).on("mouseup", null);
}, true);
d3.event.stopPropagation();
}
}
var t = 0;
var s = 0;
function zoom_panning(){
t = d3.event.translate;
s = d3.event.scale;
console.log("translate "+t+" scale "+s);
refresh();
}
function refresh() {
// refresca los ejes
svg.select(".y.axis")
.call(ejeY);
svg.select("#ejeYRight")
.call(ejeYRight);
svg.select(".x.axis")
.call(ejeX);
svg.select("#ejeXtop")
.call(ejeXtop);
svg.select("#lineaArrow_")
.attr("d", linea(pathinfo_flecha["lineas"][0].linea));
for (var i = 0; i < pathinfo_bus["lineas"].length; i++) {
svg.select("#lineaBus_"+i)
.attr("d", linea(pathinfo_bus["lineas"][i].linea));
}
for (var i = 0; i < pathinfo2.length; i++) {
// refresca las lineas
svg.select("#linea_"+i)
.attr("d", linea(pathinfo2[i]['linea_real']));
svg.select("#lineaTeorica_"+i)
.attr("d", lineaTeorica(pathinfo2[i]['linea']));
}
svg.select(".lineaEstimada")
.attr("d", lineaEstimada(pathinfoEstimada));
///////////////////////////////////////cod labels//////////////////////////////////////////////////
focus.selectAll(".dot")
.attr("x", lineaTeorica.x())
.attr("y", lineaTeorica.y());
//////////////////////////////////////////////////////////////////////////////////////////
for (var i = 0; i < estaciones.length; i++) {
svg.select("#zona_"+i)
.attr("y", y(estaciones[i].km));
};
svg.select("#line_with_hour")
.attr("x1", x(timeUnix2))
.attr("x2", x(timeUnix2));
svg.select("#text_hour")
.attr("x", x(timeUnix2))
.text(hora());
}
var timeUnix2 = parseInt(pathinfo2[0]['linea_real'][0]["x"]);
var cordY2 = parseInt(pathinfo2[0]['linea_real'][0]["y"]);
var cont = 0;
var cont2 = 0;
var cont3 = 0;
var cont4 = 0;
var estado = 0;
setInterval(function () {
if (cordY2 < 395 && estado == 0) {
if (cont < 2) {
cont += 1;
timeUnix2 += updateTime;
pathinfo2[0]['linea_real'].push({
x: timeUnix2,
y: cordY2
});
redraw();
cont2 = 0;
} else {
if (cont2 < 2) {
cont2 += 1;
timeUnix2 += updateTime;
cordY2 += 50;
pathinfoEstimada = [{x : 1345150802000, y : 10},{x : 1345150803000, y : 60},{x : 1345150804000, y : 110},{x : 1345150805000, y : 110},{x : 1345150806000, y : 110},{x : 1345150807000, y : 160},{x : 1345150808000, y : 210},{x : 1345150809000, y : 210},{x : 1345150810000, y : 210},{x : 1345150811000, y : 260},{x : 1345150812000, y : 310},{x : 1345150813000, y : 310},{x : 1345150814000, y : 310},{x : 1345150815000, y : 360},{x : 1345150816000, y : 410},{x : 1345150817000, y : 410},{x : 1345150818000, y : 410}];
pathinfo2[0]['linea_real'].push({
x: timeUnix2,
y: cordY2
});
redraw();
};
if (cont2 == 2) {
cont = 0;
};
};
} else {
estado = 1;
if (cont < 2) {
cont += 1;
timeUnix2 += updateTime;
pathinfo2[0]['linea_real'].push({
x: timeUnix2,
y: cordY2
});
redraw();
cont2 = 0;
} else {
if (cont2 < 2) {
cont2 += 1;
timeUnix2 += updateTime;
cordY2 = cordY2 - 50;
pathinfo2[0]['linea_real'].push({
x: timeUnix2,
y: cordY2
});
redraw();
};
if (cont2 == 2) {
cont = 0;
};
};
if (cordY2 == 5) {
estado = 0;
};
};
/*timeUnix2 += updateTime;
for (var i = 0; i < pathinfo2.length; i++) {
y2 = Math.round(Math.random()*400)
pathinfo2[i]['linea_real'].push({x : timeUnix2, y : y2});
}
redraw();*/
}, updateTime);
});
}
function hora(){
var fecha = new Date();
var hora = fecha.getHours();
var minuto = fecha.getMinutes();
var segundo = fecha.getSeconds();
var meridiano = " am"
if(hora > 12){hora -= 12; meridiano = " pm"}
if (hora < 10) {hora = "0" + hora}
if (minuto < 10) {minuto = "0" + minuto}
var horita = hora + ':' + minuto + ':' + segundo + meridiano;
return horita;
}
function stopRealtime(){
realTime=false;
}
function readyRealtime(){
realTime=true;
}
</script>
<form>
<!--<input id="boton" type="button" value="Comenzar" onClick="displayGraphTime(1345150800000,1345150830000,750,1000)">-->
<input id="btnStop" type="button" value="Stop" onClick="stopRealtime()">
<input id="btnReady" type="button" value="Ready" onClick="readyRealtime()">
</form>
</body>
</html>
{
"lineas": [
{
"linea": [
{
"x": "1345150800000",
"y": "0"
},
{
"x": "1345150801000",
"y": "0"
},
{
"x": "1345150802000",
"y": "0"
},
{
"x": "1345150803000",
"y": "50"
},
{
"x": "1345150804000",
"y": "100"
},
{
"x": "1345150805000",
"y": "100"
},
{
"x": "1345150806000",
"y": "100"
},
{
"x": "1345150807000",
"y": "150",
"label": "+0:23"
},
{
"x": "1345150808000",
"y": "200"
},
{
"x": "1345150809000",
"y": "200"
},
{
"x": "1345150810000",
"y": "200"
},
{
"x": "1345150811000",
"y": "250",
"label": "+0:23"
},
{
"x": "1345150812000",
"y": "300"
},
{
"x": "1345150813000",
"y": "300"
},
{
"x": "1345150814000",
"y": "300"
},
{
"x": "1345150815000",
"y": "350",
"label": "+0:24"
},
{
"x": "1345150816000",
"y": "400",
"label": "+0:27"
},
{
"x": "1345150817000",
"y": "400"
},
{
"x": "1345150818000",
"y": "400"
},
{
"x": "1345150819000",
"y": "350"
},
{
"x": "1345150820000",
"y": "300"
},
{
"x": "1345150821000",
"y": "300"
},
{
"x": "1345150822000",
"y": "300"
},
{
"x": "1345150823000",
"y": "250",
"label": "+0:22"
},
{
"x": "1345150824000",
"y": "200"
},
{
"x": "1345150825000",
"y": "200"
},
{
"x": "1345150826000",
"y": "200"
},
{
"x": "1345150827000",
"y": "150",
"label": "+0:28"
},
{
"x": "1345150828000",
"y": "100"
},
{
"x": "1345150829000",
"y": "100"
},
{
"x": "1345150830000",
"y": "100"
},
{
"x": "1345150831000",
"y": "50",
"label": "+0:28"
},
{
"x": "1345150832000",
"y": "0"
},
{
"x": "1345150833000",
"y": "0"
},
{
"x": "1345150834000",
"y": "0"
},
{
"x": "1345150835000",
"y": "50"
},
{
"x": "1345150836000",
"y": "100"
},
{
"x": "1345150837000",
"y": "100"
},
{
"x": "1345150838000",
"y": "100"
},
{
"x": "1345150839000",
"y": "150",
"label": "+0:29"
},
{
"x": "1345150840000",
"y": "200",
"label": "+0:30"
},
{
"x": "1345150841000",
"y": "200"
},
{
"x": "1345150842000",
"y": "200"
},
{
"x": "1345150843000",
"y": "250",
"label": "+0:34"
},
{
"x": "1345150844000",
"y": "300",
"label": "+0:35"
},
{
"x": "1345150845000",
"y": "300"
},
{
"x": "1345150846000",
"y": "300"
},
{
"x": "1345150847000",
"y": "350",
"label": "+0:39"
},
{
"x": "1345150848000",
"y": "400",
"label": "+0:40"
},
{
"x": "1345150849000",
"y": "400"
},
{
"x": "1345150850000",
"y": "400"
},
{
"x": "1345150851000",
"y": "350"
},
{
"x": "1345150852000",
"y": "300"
},
{
"x": "1345150853000",
"y": "300"
},
{
"x": "1345150854000",
"y": "300"
},
{
"x": "1345150855000",
"y": "250"
},
{
"x": "1345150856000",
"y": "200"
},
{
"x": "1345150857000",
"y": "200"
},
{
"x": "1345150858000",
"y": "200"
},
{
"x": "1345150859000",
"y": "150"
},
{
"x": "1345150860000",
"y": "100"
},
{
"x": "1345150861000",
"y": "100"
},
{
"x": "1345150862000",
"y": "100"
},
{
"x": "1345150863000",
"y": "50"
},
{
"x": "1345150864000",
"y": "0",
"label": "+0:41"
},
{
"x": "1345150865000",
"y": "0"
},
{
"x": "1345150866000",
"y": "0"
},
{
"x": "1345150867000",
"y": "50",
"label": "+0:45"
},
{
"x": "1345150868000",
"y": "100",
"label": "+0:46"
},
{
"x": "1345150869000",
"y": "100"
},
{
"x": "1345150870000",
"y": "100"
},
{
"x": "1345150871000",
"y": "150",
"label": "+0:50"
},
{
"x": "1345150872000",
"y": "200",
"label": "+0:51"
},
{
"x": "1345150873000",
"y": "200"
},
{
"x": "1345150874000",
"y": "200"
},
{
"x": "1345150875000",
"y": "250",
"label": "+0:55"
},
{
"x": "1345150876000",
"y": "300",
"label": "+0:56"
},
{
"x": "1345150877000",
"y": "300"
},
{
"x": "1345150878000",
"y": "300"
},
{
"x": "1345150879000",
"y": "350",
"label": "+0:60"
},
{
"x": "1345150880000",
"y": "400",
"label": "+0:61"
},
{
"x": "1345150881000",
"y": "400"
},
{
"x": "1345150882000",
"y": "400"
},
{
"x": "1345150883000",
"y": "350",
"label": "+0:62"
},
{
"x": "1345150884000",
"y": "300",
"label": "+0:62"
},
{
"x": "1345150885000",
"y": "300"
},
{
"x": "1345150886000",
"y": "300"
},
{
"x": "1345150887000",
"y": "250",
"label": "+0:62"
},
{
"x": "1345150888000",
"y": "200",
"label": "+0:62"
},
{
"x": "1345150889000",
"y": "200"
},
{
"x": "1345150890000",
"y": "200"
},
{
"x": "1345150891000",
"y": "150",
"label": "+0:62"
},
{
"x": "1345150892000",
"y": "100",
"label": "+0:62"
},
{
"x": "1345150893000",
"y": "100"
},
{
"x": "1345150894000",
"y": "100"
},
{
"x": "1345150895000",
"y": "50",
"label": "+0:62"
},
{
"x": "1345150896000",
"y": "0",
"label": "+0:62"
},
{
"x": "1345150897000",
"y": "0"
},
{
"x": "1345150898000",
"y": "0"
},
{
"x": "1345150899000",
"y": "50",
"label": "+0:66"
},
{
"x": "1345150900000",
"y": "100",
"label": "+0:67"
},
{
"x": "1345150901000",
"y": "100"
},
{
"x": "1345150902000",
"y": "100"
},
{
"x": "1345150903000",
"y": "150",
"label": "+0:71"
},
{
"x": "1345150904000",
"y": "200",
"label": "+0:72"
},
{
"x": "1345150905000",
"y": "200"
},
{
"x": "1345150906000",
"y": "200"
},
{
"x": "1345150907000",
"y": "250",
"label": "+0:76"
},
{
"x": "1345150908000",
"y": "300",
"label": "+0:77"
},
{
"x": "1345150909000",
"y": "300"
},
{
"x": "1345150910000",
"y": "300"
},
{
"x": "1345150911000",
"y": "350",
"label": "+0:81"
},
{
"x": "1345150912000",
"y": "400",
"label": "+0:82"
},
{
"x": "1345150913000",
"y": "400"
},
{
"x": "1345150914000",
"y": "400"
},
{
"x": "1345150915000",
"y": "350",
"label": "+0:83"
},
{
"x": "1345150916000",
"y": "300",
"label": "+0:83"
},
{
"x": "1345150917000",
"y": "300"
},
{
"x": "1345150918000",
"y": "300"
},
{
"x": "1345150919000",
"y": "250",
"label": "+0:83"
},
{
"x": "1345150920000",
"y": "200",
"label": "+0:83"
},
{
"x": "1345150921000",
"y": "200"
},
{
"x": "1345150922000",
"y": "200"
},
{
"x": "1345150923000",
"y": "150",
"label": "+0:83"
},
{
"x": "1345150924000",
"y": "100",
"label": "+0:83"
},
{
"x": "1345150925000",
"y": "100"
},
{
"x": "1345150926000",
"y": "100"
},
{
"x": "1345150927000",
"y": "50",
"label": "+0:83"
},
{
"x": "1345150928000",
"y": "0",
"label": "+0:83"
},
{
"x": "1345150929000",
"y": "0"
},
{
"x": "1345150930000",
"y": "0"
},
{
"x": "1345150931000",
"y": "50",
"label": "+0:87"
},
{
"x": "1345150932000",
"y": "100",
"label": "+0:88"
},
{
"x": "1345150933000",
"y": "100"
},
{
"x": "1345150934000",
"y": "100"
},
{
"x": "1345150935000",
"y": "150",
"label": "+0:92"
},
{
"x": "1345150936000",
"y": "200",
"label": "+0:93"
},
{
"x": "1345150937000",
"y": "200"
},
{
"x": "1345150938000",
"y": "200"
},
{
"x": "1345150939000",
"y": "250",
"label": "+0:97"
},
{
"x": "1345150940000",
"y": "300",
"label": "+0:98"
},
{
"x": "1345150941000",
"y": "300"
},
{
"x": "1345150942000",
"y": "300"
},
{
"x": "1345150943000",
"y": "350",
"label": "+0:102"
},
{
"x": "1345150944000",
"y": "400",
"label": "+0:103"
},
{
"x": "1345150945000",
"y": "400"
},
{
"x": "1345150946000",
"y": "400"
},
{
"x": "1345150947000",
"y": "350",
"label": "+0:104"
},
{
"x": "1345150948000",
"y": "300",
"label": "+0:104"
},
{
"x": "1345150949000",
"y": "300"
},
{
"x": "1345150950000",
"y": "300"
},
{
"x": "1345150951000",
"y": "250",
"label": "+0:104"
},
{
"x": "1345150952000",
"y": "200",
"label": "+0:104"
},
{
"x": "1345150953000",
"y": "200"
},
{
"x": "1345150954000",
"y": "200"
},
{
"x": "1345150955000",
"y": "150",
"label": "+0:104"
},
{
"x": "1345150956000",
"y": "100",
"label": "+0:104"
},
{
"x": "1345150957000",
"y": "100"
},
{
"x": "1345150958000",
"y": "100"
},
{
"x": "1345150959000",
"y": "50",
"label": "+0:104"
},
{
"x": "1345150960000",
"y": "0",
"label": "+0:104"
},
{
"x": "1345150961000",
"y": "0"
},
{
"x": "1345150962000",
"y": "0"
},
{
"x": "1345150963000",
"y": "50",
"label": "+0:108"
},
{
"x": "1345150964000",
"y": "100",
"label": "+0:109"
},
{
"x": "1345150965000",
"y": "100"
},
{
"x": "1345150966000",
"y": "100"
},
{
"x": "1345150967000",
"y": "150",
"label": "+0:113"
},
{
"x": "1345150968000",
"y": "200",
"label": "+0:114"
},
{
"x": "1345150969000",
"y": "200"
},
{
"x": "1345150970000",
"y": "200"
},
{
"x": "1345150971000",
"y": "250",
"label": "+0:118"
},
{
"x": "1345150972000",
"y": "300",
"label": "+0:119"
},
{
"x": "1345150973000",
"y": "300"
},
{
"x": "1345150974000",
"y": "300"
},
{
"x": "1345150975000",
"y": "350",
"label": "+0:123"
},
{
"x": "1345150976000",
"y": "400",
"label": "+0:124"
},
{
"x": "1345150977000",
"y": "400"
},
{
"x": "1345150978000",
"y": "400"
},
{
"x": "1345150979000",
"y": "350",
"label": "+0:125"
},
{
"x": "1345150980000",
"y": "300",
"label": "+0:125"
},
{
"x": "1345150981000",
"y": "300"
},
{
"x": "1345150982000",
"y": "300"
},
{
"x": "1345150983000",
"y": "250",
"label": "+0:125"
},
{
"x": "1345150984000",
"y": "200",
"label": "+0:125"
},
{
"x": "1345150985000",
"y": "200"
},
{
"x": "1345150986000",
"y": "200"
},
{
"x": "1345150987000",
"y": "150",
"label": "+0:125"
},
{
"x": "1345150988000",
"y": "100",
"label": "+0:125"
},
{
"x": "1345150989000",
"y": "100"
},
{
"x": "1345150990000",
"y": "100"
},
{
"x": "1345150991000",
"y": "50",
"label": "+0:125"
},
{
"x": "1345150992000",
"y": "0",
"label": "+0:125"
},
{
"x": "1345150993000",
"y": "0"
},
{
"x": "1345150994000",
"y": "0"
},
{
"x": "1345150995000",
"y": "50",
"label": "+0:129"
},
{
"x": "1345150996000",
"y": "100",
"label": "+0:130"
},
{
"x": "1345150997000",
"y": "100"
},
{
"x": "1345150998000",
"y": "100"
},
{
"x": "1345150999000",
"y": "150",
"label": "+0:134"
},
{
"x": "1345151000000",
"y": "200",
"label": "+0:135"
},
{
"x": "1345151001000",
"y": "200"
},
{
"x": "1345151002000",
"y": "200"
},
{
"x": "1345151003000",
"y": "250",
"label": "+0:139"
},
{
"x": "1345151004000",
"y": "300",
"label": "+0:140"
},
{
"x": "1345151005000",
"y": "300"
},
{
"x": "1345151006000",
"y": "300"
},
{
"x": "1345151007000",
"y": "350",
"label": "+0:144"
},
{
"x": "1345151008000",
"y": "400",
"label": "+0:145"
},
{
"x": "1345151009000",
"y": "400"
},
{
"x": "1345151010000",
"y": "400"
},
{
"x": "1345151011000",
"y": "350",
"label": "+0:146"
},
{
"x": "1345151012000",
"y": "300",
"label": "+0:146"
},
{
"x": "1345151013000",
"y": "300"
},
{
"x": "1345151014000",
"y": "300"
},
{
"x": "1345151015000",
"y": "250",
"label": "+0:146"
},
{
"x": "1345151016000",
"y": "200",
"label": "+0:146"
},
{
"x": "1345151017000",
"y": "200"
},
{
"x": "1345151018000",
"y": "200"
},
{
"x": "1345151019000",
"y": "150",
"label": "+0:146"
},
{
"x": "1345151020000",
"y": "100",
"label": "+0:146"
},
{
"x": "1345151021000",
"y": "100"
},
{
"x": "1345151022000",
"y": "100"
},
{
"x": "1345151023000",
"y": "50",
"label": "+0:146"
},
{
"x": "1345151024000",
"y": "0",
"label": "+0:146"
},
{
"x": "1345151025000",
"y": "0"
},
{
"x": "1345151026000",
"y": "0"
},
{
"x": "1345151027000",
"y": "50",
"label": "+0:150"
},
{
"x": "1345151028000",
"y": "100",
"label": "+0:151"
},
{
"x": "1345151029000",
"y": "100"
},
{
"x": "1345151030000",
"y": "100"
},
{
"x": "1345151031000",
"y": "150",
"label": "+0:155"
},
{
"x": "1345151032000",
"y": "200",
"label": "+0:156"
},
{
"x": "1345151033000",
"y": "200"
},
{
"x": "1345151034000",
"y": "200"
},
{
"x": "1345151035000",
"y": "250",
"label": "+0:160"
},
{
"x": "1345151036000",
"y": "300",
"label": "+0:161"
},
{
"x": "1345151037000",
"y": "300"
},
{
"x": "1345151038000",
"y": "300"
},
{
"x": "1345151039000",
"y": "350",
"label": "+0:165"
},
{
"x": "1345151040000",
"y": "400",
"label": "+0:166"
},
{
"x": "1345151041000",
"y": "400"
},
{
"x": "1345151042000",
"y": "400"
},
{
"x": "1345151043000",
"y": "350",
"label": "+0:167"
},
{
"x": "1345151044000",
"y": "300",
"label": "+0:167"
},
{
"x": "1345151045000",
"y": "300"
},
{
"x": "1345151046000",
"y": "300"
},
{
"x": "1345151047000",
"y": "250",
"label": "+0:167"
},
{
"x": "1345151048000",
"y": "200",
"label": "+0:167"
},
{
"x": "1345151049000",
"y": "200"
},
{
"x": "1345151050000",
"y": "200"
},
{
"x": "1345151051000",
"y": "150",
"label": "+0:167"
},
{
"x": "1345151052000",
"y": "100",
"label": "+0:167"
},
{
"x": "1345151053000",
"y": "100"
},
{
"x": "1345151054000",
"y": "100"
},
{
"x": "1345151055000",
"y": "50",
"label": "+0:167"
},
{
"x": "1345151056000",
"y": "0",
"label": "+0:167"
},
{
"x": "1345151057000",
"y": "0"
},
{
"x": "1345151058000",
"y": "0"
},
{
"x": "1345151059000",
"y": "50",
"label": "+0:171"
},
{
"x": "1345151060000",
"y": "100",
"label": "+0:172"
},
{
"x": "1345151061000",
"y": "100"
},
{
"x": "1345151062000",
"y": "100"
},
{
"x": "1345151063000",
"y": "150",
"label": "+0:176"
},
{
"x": "1345151064000",
"y": "200",
"label": "+0:177"
},
{
"x": "1345151065000",
"y": "200"
},
{
"x": "1345151066000",
"y": "200"
},
{
"x": "1345151067000",
"y": "250",
"label": "+0:181"
},
{
"x": "1345151068000",
"y": "300",
"label": "+0:182"
},
{
"x": "1345151069000",
"y": "300"
},
{
"x": "1345151070000",
"y": "300"
},
{
"x": "1345151071000",
"y": "350",
"label": "+0:186"
},
{
"x": "1345151072000",
"y": "400",
"label": "+0:187"
},
{
"x": "1345151073000",
"y": "400"
},
{
"x": "1345151074000",
"y": "400"
},
{
"x": "1345151075000",
"y": "350",
"label": "+0:188"
},
{
"x": "1345151076000",
"y": "300",
"label": "+0:188"
},
{
"x": "1345151077000",
"y": "300"
},
{
"x": "1345151078000",
"y": "300"
},
{
"x": "1345151079000",
"y": "250",
"label": "+0:188"
},
{
"x": "1345151080000",
"y": "200",
"label": "+0:188"
},
{
"x": "1345151081000",
"y": "200"
},
{
"x": "1345151082000",
"y": "200"
},
{
"x": "1345151083000",
"y": "150",
"label": "+0:188"
},
{
"x": "1345151084000",
"y": "100",
"label": "+0:188"
},
{
"x": "1345151085000",
"y": "100"
},
{
"x": "1345151086000",
"y": "100"
},
{
"x": "1345151087000",
"y": "50",
"label": "+0:188"
},
{
"x": "1345151088000",
"y": "0",
"label": "+0:188"
},
{
"x": "1345151089000",
"y": "0"
},
{
"x": "1345151090000",
"y": "0"
},
{
"x": "1345151091000",
"y": "50",
"label": "+0:192"
},
{
"x": "1345151092000",
"y": "100",
"label": "+0:193"
},
{
"x": "1345151093000",
"y": "100"
},
{
"x": "1345151094000",
"y": "100"
},
{
"x": "1345151095000",
"y": "150",
"label": "+0:197"
},
{
"x": "1345151096000",
"y": "200",
"label": "+0:198"
},
{
"x": "1345151097000",
"y": "200"
},
{
"x": "1345151098000",
"y": "200"
},
{
"x": "1345151099000",
"y": "250",
"label": "+0:282"
},
{
"x": "1345151100000",
"y": "300",
"label": "+0:283"
},
{
"x": "1345151101000",
"y": "300"
},
{
"x": "1345151102000",
"y": "300"
},
{
"x": "1345151103000",
"y": "350",
"label": "+0:287"
},
{
"x": "1345151104000",
"y": "400",
"label": "+0:288"
},
{
"x": "1345151105000",
"y": "400"
},
{
"x": "1345151106000",
"y": "400"
},
{
"x": "1345151107000",
"y": "350",
"label": "+0:289"
},
{
"x": "1345151108000",
"y": "300",
"label": "+0:289"
},
{
"x": "1345151109000",
"y": "300"
},
{
"x": "1345151110000",
"y": "300"
},
{
"x": "1345151111000",
"y": "250",
"label": "+0:289"
},
{
"x": "1345151112000",
"y": "200",
"label": "+0:289"
},
{
"x": "1345151113000",
"y": "200"
},
{
"x": "1345151114000",
"y": "200"
},
{
"x": "1345151115000",
"y": "150",
"label": "+0:289"
},
{
"x": "1345151116000",
"y": "100",
"label": "+0:289"
},
{
"x": "1345151117000",
"y": "100"
},
{
"x": "1345151118000",
"y": "100"
},
{
"x": "1345151119000",
"y": "50",
"label": "+0:289"
},
{
"x": "1345151120000",
"y": "0",
"label": "+0:289"
},
{
"x": "1345151121000",
"y": "0"
},
{
"x": "1345151122000",
"y": "0"
},
{
"x": "1345151123000",
"y": "50",
"label": "+0:213"
},
{
"x": "1345151124000",
"y": "100",
"label": "+0:214"
},
{
"x": "1345151125000",
"y": "100"
},
{
"x": "1345151126000",
"y": "100"
},
{
"x": "1345151127000",
"y": "150",
"label": "+0:218"
},
{
"x": "1345151128000",
"y": "200",
"label": "+0:219"
},
{
"x": "1345151129000",
"y": "200"
},
{
"x": "1345151130000",
"y": "200"
},
{
"x": "1345151131000",
"y": "250",
"label": "+0:223"
},
{
"x": "1345151132000",
"y": "300",
"label": "+0:224"
},
{
"x": "1345151133000",
"y": "300"
},
{
"x": "1345151134000",
"y": "300"
},
{
"x": "1345151135000",
"y": "350",
"label": "+0:228"
},
{
"x": "1345151136000",
"y": "400",
"label": "+0:229"
},
{
"x": "1345151137000",
"y": "400"
},
{
"x": "1345151138000",
"y": "400"
},
{
"x": "1345151139000",
"y": "350",
"label": "+0:230"
},
{
"x": "1345151140000",
"y": "300",
"label": "+0:230"
},
{
"x": "1345151141000",
"y": "300"
},
{
"x": "1345151142000",
"y": "300"
},
{
"x": "1345151143000",
"y": "250",
"label": "+0:230"
},
{
"x": "1345151144000",
"y": "200",
"label": "+0:230"
},
{
"x": "1345151145000",
"y": "200"
},
{
"x": "1345151146000",
"y": "200"
},
{
"x": "1345151147000",
"y": "150",
"label": "+0:230"
},
{
"x": "1345151148000",
"y": "100",
"label": "+0:230"
},
{
"x": "1345151149000",
"y": "100"
},
{
"x": "1345151150000",
"y": "100"
},
{
"x": "1345151151000",
"y": "50",
"label": "+0:230"
},
{
"x": "1345151152000",
"y": "0",
"label": "+0:230"
},
{
"x": "1345151153000",
"y": "0"
},
{
"x": "1345151154000",
"y": "0"
},
{
"x": "1345151155000",
"y": "50",
"label": "+0:234"
},
{
"x": "1345151156000",
"y": "100",
"label": "+0:235"
},
{
"x": "1345151157000",
"y": "100"
},
{
"x": "1345151158000",
"y": "100"
},
{
"x": "1345151159000",
"y": "150",
"label": "+0:239"
},
{
"x": "1345151160000",
"y": "200",
"label": "+0:240"
},
{
"x": "1345151161000",
"y": "200"
},
{
"x": "1345151162000",
"y": "200"
},
{
"x": "1345151163000",
"y": "250",
"label": "+0:244"
},
{
"x": "1345151164000",
"y": "300",
"label": "+0:245"
},
{
"x": "1345151165000",
"y": "300"
},
{
"x": "1345151166000",
"y": "300"
},
{
"x": "1345151167000",
"y": "350",
"label": "+0:249"
},
{
"x": "1345151168000",
"y": "400",
"label": "+0:250"
},
{
"x": "1345151169000",
"y": "400"
},
{
"x": "1345151170000",
"y": "400"
},
{
"x": "1345151171000",
"y": "350",
"label": "+0:251"
},
{
"x": "1345151172000",
"y": "300",
"label": "+0:251"
},
{
"x": "1345151173000",
"y": "300"
},
{
"x": "1345151174000",
"y": "300"
},
{
"x": "1345151175000",
"y": "250",
"label": "+0:251"
},
{
"x": "1345151176000",
"y": "200",
"label": "+0:251"
},
{
"x": "1345151177000",
"y": "200"
},
{
"x": "1345151178000",
"y": "200"
},
{
"x": "1345151179000",
"y": "150",
"label": "+0:251"
},
{
"x": "1345151180000",
"y": "100",
"label": "+0:251"
},
{
"x": "1345151181000",
"y": "100"
},
{
"x": "1345151182000",
"y": "100"
},
{
"x": "1345151183000",
"y": "50",
"label": "+0:251"
},
{
"x": "1345151184000",
"y": "0",
"label": "+0:251"
},
{
"x": "1345151185000",
"y": "0"
},
{
"x": "1345151186000",
"y": "0"
},
{
"x": "1345151187000",
"y": "50",
"label": "+0:255"
},
{
"x": "1345151188000",
"y": "100",
"label": "+0:256"
},
{
"x": "1345151189000",
"y": "100"
},
{
"x": "1345151190000",
"y": "100"
},
{
"x": "1345151191000",
"y": "150",
"label": "+0:260"
},
{
"x": "1345151192000",
"y": "200",
"label": "+0:261"
},
{
"x": "1345151193000",
"y": "200"
},
{
"x": "1345151194000",
"y": "200"
},
{
"x": "1345151195000",
"y": "250",
"label": "+0:265"
},
{
"x": "1345151196000",
"y": "300",
"label": "+0:266"
},
{
"x": "1345151197000",
"y": "300"
},
{
"x": "1345151198000",
"y": "300"
},
{
"x": "1345151199000",
"y": "350",
"label": "+0:270"
},
{
"x": "1345151200000",
"y": "400",
"label": "+0:271"
},
{
"x": "1345151201000",
"y": "400"
},
{
"x": "1345151202000",
"y": "400"
},
{
"x": "1345151203000",
"y": "350",
"label": "+0:272"
},
{
"x": "1345151204000",
"y": "300",
"label": "+0:272"
},
{
"x": "1345151205000",
"y": "300"
},
{
"x": "1345151206000",
"y": "300"
},
{
"x": "1345151207000",
"y": "250",
"label": "+0:272"
},
{
"x": "1345151208000",
"y": "200",
"label": "+0:272"
},
{
"x": "1345151209000",
"y": "200"
},
{
"x": "1345151210000",
"y": "200"
},
{
"x": "1345151211000",
"y": "150",
"label": "+0:272"
},
{
"x": "1345151212000",
"y": "100",
"label": "+0:272"
},
{
"x": "1345151213000",
"y": "100"
},
{
"x": "1345151214000",
"y": "100"
},
{
"x": "1345151215000",
"y": "50",
"label": "+0:272"
},
{
"x": "1345151216000",
"y": "0",
"label": "+0:272"
},
{
"x": "1345151217000",
"y": "0"
},
{
"x": "1345151218000",
"y": "0"
},
{
"x": "1345151219000",
"y": "50",
"label": "+0:276"
},
{
"x": "1345151220000",
"y": "100",
"label": "+0:277"
},
{
"x": "1345151221000",
"y": "100"
},
{
"x": "1345151222000",
"y": "100"
},
{
"x": "1345151223000",
"y": "150",
"label": "+0:281"
},
{
"x": "1345151224000",
"y": "200",
"label": "+0:282"
},
{
"x": "1345151225000",
"y": "200"
},
{
"x": "1345151226000",
"y": "200"
},
{
"x": "1345151227000",
"y": "250",
"label": "+0:286"
},
{
"x": "1345151228000",
"y": "300",
"label": "+0:287"
},
{
"x": "1345151229000",
"y": "300"
},
{
"x": "1345151230000",
"y": "300"
},
{
"x": "1345151231000",
"y": "350",
"label": "+0:291"
},
{
"x": "1345151232000",
"y": "400",
"label": "+0:292"
},
{
"x": "1345151233000",
"y": "400"
},
{
"x": "1345151234000",
"y": "400"
},
{
"x": "1345151235000",
"y": "350",
"label": "+0:293"
},
{
"x": "1345151236000",
"y": "300",
"label": "+0:293"
},
{
"x": "1345151237000",
"y": "300"
},
{
"x": "1345151238000",
"y": "300"
},
{
"x": "1345151239000",
"y": "250",
"label": "+0:293"
},
{
"x": "1345151240000",
"y": "200",
"label": "+0:293"
},
{
"x": "1345151241000",
"y": "200"
},
{
"x": "1345151242000",
"y": "200"
},
{
"x": "1345151243000",
"y": "150",
"label": "+0:293"
},
{
"x": "1345151244000",
"y": "100",
"label": "+0:293"
},
{
"x": "1345151245000",
"y": "100"
},
{
"x": "1345151246000",
"y": "100"
},
{
"x": "1345151247000",
"y": "50",
"label": "+0:293"
},
{
"x": "1345151248000",
"y": "0",
"label": "+0:293"
},
{
"x": "1345151249000",
"y": "0"
},
{
"x": "1345151250000",
"y": "0"
},
{
"x": "1345151251000",
"y": "50",
"label": "+0:297"
},
{
"x": "1345151252000",
"y": "100",
"label": "+0:298"
},
{
"x": "1345151253000",
"y": "100"
},
{
"x": "1345151254000",
"y": "100"
},
{
"x": "1345151255000",
"y": "150",
"label": "+0:302"
},
{
"x": "1345151256000",
"y": "200",
"label": "+0:303"
},
{
"x": "1345151257000",
"y": "200"
},
{
"x": "1345151258000",
"y": "200"
},
{
"x": "1345151259000",
"y": "250",
"label": "+0:307"
},
{
"x": "1345151260000",
"y": "300",
"label": "+0:308"
},
{
"x": "1345151261000",
"y": "300"
},
{
"x": "1345151262000",
"y": "300"
},
{
"x": "1345151263000",
"y": "350",
"label": "+0:312"
},
{
"x": "1345151264000",
"y": "400",
"label": "+0:313"
},
{
"x": "1345151265000",
"y": "400"
},
{
"x": "1345151266000",
"y": "400"
},
{
"x": "1345151267000",
"y": "350",
"label": "+0:314"
},
{
"x": "1345151268000",
"y": "300",
"label": "+0:314"
},
{
"x": "1345151269000",
"y": "300"
},
{
"x": "1345151270000",
"y": "300"
},
{
"x": "1345151271000",
"y": "250",
"label": "+0:314"
},
{
"x": "1345151272000",
"y": "200",
"label": "+0:314"
},
{
"x": "1345151273000",
"y": "200"
},
{
"x": "1345151274000",
"y": "200"
},
{
"x": "1345151275000",
"y": "150",
"label": "+0:314"
},
{
"x": "1345151276000",
"y": "100",
"label": "+0:314"
},
{
"x": "1345151277000",
"y": "100"
},
{
"x": "1345151278000",
"y": "100"
},
{
"x": "1345151279000",
"y": "50",
"label": "+0:314"
},
{
"x": "1345151280000",
"y": "0",
"label": "+0:314"
},
{
"x": "1345151281000",
"y": "0"
},
{
"x": "1345151282000",
"y": "0"
},
{
"x": "1345151283000",
"y": "50",
"label": "+0:318"
},
{
"x": "1345151284000",
"y": "100",
"label": "+0:319"
},
{
"x": "1345151285000",
"y": "100"
},
{
"x": "1345151286000",
"y": "100"
},
{
"x": "1345151287000",
"y": "150",
"label": "+0:323"
},
{
"x": "1345151288000",
"y": "200",
"label": "+0:324"
},
{
"x": "1345151289000",
"y": "200"
},
{
"x": "1345151290000",
"y": "200"
},
{
"x": "1345151291000",
"y": "250",
"label": "+0:328"
},
{
"x": "1345151292000",
"y": "300",
"label": "+0:329"
},
{
"x": "1345151293000",
"y": "300"
},
{
"x": "1345151294000",
"y": "300"
},
{
"x": "1345151295000",
"y": "350",
"label": "+0:333"
},
{
"x": "1345151296000",
"y": "400",
"label": "+0:334"
},
{
"x": "1345151297000",
"y": "400"
},
{
"x": "1345151298000",
"y": "400"
},
{
"x": "1345151299000",
"y": "350",
"label": "+0:335"
},
{
"x": "1345151300000",
"y": "300",
"label": "+0:335"
},
{
"x": "1345151301000",
"y": "300"
},
{
"x": "1345151302000",
"y": "300"
},
{
"x": "1345151303000",
"y": "250",